Ace3Z commited on
Commit
2fe8727
Β·
verified Β·
1 Parent(s): f506320

docs: state the working layout and the pseudo-label taxonomy

Browse files

The reproduce commands mix paths from two repositories without saying so; show the
directory they assume and how to fetch a cohort without cloning 1.05 TB.

bach_cellvit CSVs carry PanNuke codes 1-5, which no file explained, and they are a
different taxonomy from the 4-class NuCLS-super one behind tail_metrics/.

Files changed (1) hide show
  1. DATA.md +23 -1
DATA.md CHANGED
@@ -268,11 +268,16 @@ below 1 % everywhere, so this is not a handful of pathological graphs.
268
  macro-mean, which runs 0.75–0.82 on the labelled cohorts.
269
 
270
  Contents: `tiles/` holds 109,904 224 px tile graphs with CellViT++ pseudo-labels (BACH 13,837,
271
- BRACS 95,670, BreakHis 397); `bach_cellvit/` holds 400 per-image pseudo-label CSVs (538,421
272
  cells, columns `centroid_x_px,centroid_y_px,cell_type,type_prob`) plus a summary JSON; and
273
  `paper_metrics/` holds the pooled edge-homophily and pseudo-label-gate results as JSON, plus
274
  `tail_metrics/<cohort>.json`, which is the artifact behind the table above: `nodes` is
275
  `n_nodes_total - n_isolated_total` and the two tail columns are the per-node fractions below
 
 
 
 
 
276
  0.3 and 0.5. Do not read `bach_cellvit/bach_fattail_cellvit.json` as the BACH row of that
277
  table; it is a different analysis (whole-image CellViT graphs, 538,421 cells) rather than the
278
  224 px tile graphs (439,533 nodes) the table is computed over.
@@ -374,6 +379,23 @@ The training, evaluation and analysis scripts referenced below live in
374
  [github.com/Ace3Z/GrapHist-V2](https://github.com/Ace3Z/GrapHist-V2). This repository ships
375
  the data they consume, plus the model and its loader.
376
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
377
  Run the `rebase_graph_paths.py` step first in every case.
378
 
379
  **Slide-level MIL subtyping**
 
268
  macro-mean, which runs 0.75–0.82 on the labelled cohorts.
269
 
270
  Contents: `tiles/` holds 109,904 224 px tile graphs with CellViT++ pseudo-labels (BACH 13,837,
271
+ BRACS 95,670, BreakHis 397); `bach_cellvit/pseudolabels/` holds 400 per-image pseudo-label CSVs (538,421
272
  cells, columns `centroid_x_px,centroid_y_px,cell_type,type_prob`) plus a summary JSON; and
273
  `paper_metrics/` holds the pooled edge-homophily and pseudo-label-gate results as JSON, plus
274
  `tail_metrics/<cohort>.json`, which is the artifact behind the table above: `nodes` is
275
  `n_nodes_total - n_isolated_total` and the two tail columns are the per-node fractions below
276
+ `cell_type` in those CSVs uses PanNuke's codes, with background dropped at inference:
277
+ 1 = Neoplastic, 2 = Inflammatory, 3 = Connective, 4 = Dead, 5 = Epithelial. Note this is a
278
+ different taxonomy from the 4-class one behind `tail_metrics/` and `pseudolabel_validation.json`,
279
+ which come from the NuCLS-super head; the two are separate analyses.
280
+
281
  0.3 and 0.5. Do not read `bach_cellvit/bach_fattail_cellvit.json` as the BACH row of that
282
  table; it is a different analysis (whole-image CellViT graphs, 538,421 cells) rather than the
283
  224 px tile graphs (439,533 nodes) the table is computed over.
 
379
  [github.com/Ace3Z/GrapHist-V2](https://github.com/Ace3Z/GrapHist-V2). This repository ships
380
  the data they consume, plus the model and its loader.
381
 
382
+ The commands assume both are in one working directory, the code repository with this
383
+ repository's contents beside it:
384
+
385
+ ```
386
+ GrapHist-V2/ <- git clone of the code repository
387
+ β”œβ”€β”€ src/ studies/ experiments/ modeling/ ...
388
+ β”œβ”€β”€ graphs/ <- from this repository
389
+ β”œβ”€β”€ embeddings/
390
+ β”œβ”€β”€ labels/
391
+ └── baselines/
392
+ ```
393
+
394
+ So `python modeling/rebase_graph_paths.py` runs the copy that ships here, while
395
+ `python src/train/generate_embs.py` runs the one from the code repository. Fetch what you need
396
+ with `hf_hub_download`, or `huggingface-cli download Ace3Z/graphist-v2 --include "graphs/bach/*"`
397
+ for a whole cohort; the repository is ~1.05 TB, so do not clone it.
398
+
399
  Run the `rebase_graph_paths.py` step first in every case.
400
 
401
  **Slide-level MIL subtyping**