Mammo-FM / OOD_CSV /README.md
shawn24's picture
Add OOD evaluation CSV metadata
acad091 verified
|
Raw History Blame Contribute Delete
5.89 kB
# OOD evaluation CSVs
Metadata and split files used for Mammo-FM out-of-distribution evaluation. No images or model checkpoints are stored here. Image paths are portable, dataset-relative PNG paths; local mount prefixes and raw-DICOM paths were removed where necessary.
## File inventory
| File | Row unit | Group unit | Split semantics |
|---|---:|---:|---|
| [`CMMD/merged_final_cmmd.csv`](./CMMD/merged_final_cmmd.csv) | 5,202 images | 1,775 patients | folds 1–3 train, 4 validation, 0 test |
| [`NL-Breast/nlbs_image_labels_v2.csv`](./NL-Breast/nlbs_image_labels_v2.csv) | 20,594 images | 4,515 patient/study groups | folds 1–3 train, 4 validation, 0 test |
| [`LUMINA/lumina_metadata.csv`](./LUMINA/lumina_metadata.csv) | 1,824 images | 250 splitting IDs | folds 1–3 train, 4 validation, 0 test; zero-shot uses all rows |
| [`RSNA/train_folds.csv`](./RSNA/train_folds.csv) | 54,706 images | 11,913 patients | folds 1–2 train, 3 validation, 0 test |
| [`VinDr/vindr_detection_v1_folds.csv`](./VinDr/vindr_detection_v1_folds.csv) | 20,486 annotation rows; 20,000 images | 5,000 patients | official `split`: 16,391 training rows and 4,095 test rows |
| [`VinDr/vindr_detection_v1_folds_abnormal.csv`](./VinDr/vindr_detection_v1_folds_abnormal.csv) | 19,514 annotation rows; 19,070 images | 4,985 patients | use official `split`: 15,610 training rows and 3,904 test rows |
ViNDr rows can repeat an image because one image may have multiple annotated findings. Reproducibility metadata and hashes are in [`SOURCE_MANIFEST.json`](./SOURCE_MANIFEST.json) and [`SHA256SUMS`](./SHA256SUMS).
## Dataset notes
### CMMD
`image_path` uses `cmmd_png/<patient_id>/<dicom_name_stem>.png`. The `mass` and `calcification` columns retain the source CSV's mass-only and calcification-only semantics; they are not general finding-presence flags. In particular, all 922 rows with `abnormality=['both']` have both columns set to zero. Folds are patient-disjoint.
Sources: [CMMD at TCIA](https://www.cancerimagingarchive.net/collection/cmmd/) · [CMMD PNGs](https://www.kaggle.com/datasets/shantanughosh/cmmd-mammography-png)
Suggested citation: Cui et al., “The Chinese Mammography Database (CMMD),” *Scientific Data* 8, 45 (2021), [doi:10.1038/s41597-021-00850-2](https://doi.org/10.1038/s41597-021-00850-2).
### NL-Breast v2
This is the grouped v2 CSV, not the older image-level split. `image_path` uses `NLBS_Data_png_v1/.../*.png`. Of the 4,515 disjoint `group_id` values, patient-folder groups cover 20,414 rows; the remaining 180 `No ID` rows are grouped into 44 studies using `StudyInstanceUID` during split creation.
The field named `cancer` is the source screening-directory label—652 `abnormal` and 19,942 `normal` images—not a pathology-confirmed cancer label. V2 excludes 6,394 images from the source `False Positive` directory.
Source: [NL-Breast Screening PNGs](https://www.kaggle.com/datasets/shantanughosh/nl-breast-screen-png)
### LUMINA
`image_full_path` uses `LUMINA_PNG_Mammo_FM/.../*.png`; the source directory name `Malign/` was normalized to `Malignant/`.
The 250 bare numeric `patient_id` values map to 468 class-qualified directories because 218 numeric IDs occur in both the benign and malignant namespaces. Split creation groups on the bare numeric ID, forcing matching numbers into the same fold. This is conservative over-grouping, not cross-split leakage. The class directory in `image_full_path` also reveals the target, so consumers should not use the path text as a model feature.
Source: [LUMINA Mammography PNGs](https://www.kaggle.com/datasets/shantanughosh/lumina-mammography-png)
### RSNA
Images map as `<patient_id>/<image_id>.png`. The published CSV is the clean fold file rather than a table enriched with model predictions or concepts. No patient crosses folds.
Source and citation instructions: [RSNA Screening Mammography Breast Cancer Detection](https://www.kaggle.com/competitions/rsna-breast-cancer-detection)
### ViNDr-Mammo classification and detection
The main CSV supports finding classification and detection. For current finding-classification evaluation, the official test split is held out and the official training patients are repartitioned into stratified 80% training and 20% validation sets using the configured target and random seed. The legacy `fold` column is therefore not authoritative for that loader.
For detection, preserve the CSV's exact row order. The detector consumes `.head(2254)`; those first 2,254 rows are exactly the non-`No Finding` bounding-box annotations, and all remaining rows are `No Finding`. Sorting the file changes detector behavior.
The abnormal-classification CSV excludes BI-RADS 3 images. `abnormal=0` corresponds to BI-RADS 1/2 and `abnormal=1` to BI-RADS 4/5. Use the official `split` column and ignore the legacy `split_new` column: `split_new` places one patient in both training and validation, whereas official `split` is patient-disjoint.
Source: [PhysioNet VinDr-Mammo v1.0.0](https://physionet.org/content/vindr-mammo/1.0.0/)
Suggested citation: Nguyen et al., “VinDr-Mammo: A large-scale benchmark dataset for computer-aided detection and diagnosis in full-field digital mammography,” *Scientific Data* 10, 277 (2023), [doi:10.1038/s41597-023-02100-7](https://doi.org/10.1038/s41597-023-02100-7).
## License and use
These CSVs are derivative evaluation metadata and do not relicense the underlying datasets. Obtain each dataset through its official distribution channel and comply with its citation, access, and license terms. In particular, follow the RSNA competition rules and the [PhysioNet Restricted Health Data License](https://physionet.org/content/vindr-mammo/view-license/1.0.0/) for ViNDr-Mammo. The Mammo-FM model-repository license does not supersede source-dataset terms.
These files are intended for research evaluation, not clinical use.