Skip to content

CT-RATE

Modality: CT | Format: NIfTI | Dim: 3D | Labels: 18 findings

Overview

CT-RATE is a large-scale chest CT dataset containing 50,188 non-contrast chest CT volumes from 21,304 unique patients, paired with radiology reports and NLP-extracted labels for 18 pathological findings. It is one of the largest publicly available chest CT datasets with structured labels.

Download

Available on HuggingFace: ibrahimhamamci/CT-RATE. Requires HuggingFace account.

Expected layout

CT-RATE/dataset/
  train_fixed/
    train_predicted_labels.csv
    train_metadata.csv
    <volume_id>/
      <volume_id>.nii.gz

Label columns

Column Description
arterial_wall_calcification Arterial wall calcification
atelectasis Atelectasis
bronchiectasis Bronchiectasis
cardiomegaly Cardiomegaly
consolidation Consolidation
coronary_artery_wall_calcification Coronary artery calcification
emphysema Emphysema
hiatal_hernia Hiatal hernia
interlobular_septal_thickening Interlobular septal thickening
lung_nodule Lung nodule
lung_opacity Lung opacity
lymphadenopathy Lymphadenopathy
medical_material Medical material / device
mosaic_attenuation_pattern Mosaic attenuation pattern
peribronchial_thickening Peribronchial thickening
pericardial_effusion Pericardial effusion
pleural_effusion Pleural effusion
pulmonary_fibrotic_sequela Pulmonary fibrotic sequela

Constructor arguments

Argument Type Required Default Description
base_image_dir str Yes None train_fixed/ (or validation_fixed/) — root containing the two-level volume hierarchy <train_X>/<train_X_Y>/<volume>.nii.gz (e.g. /data/CT-RATE/dataset/train_fixed/)
csv_path str No auto train_predicted_labels.csv; auto-discovered
view_position_csv_path str No auto train_metadata.csv; auto-discovered
hu_window tuple[float,float]\|None No (-1000, 1000) HU clip range

Shared arguments (inherited from BaseRadiologicalDataset)

Argument Type Required Default Description
output_cls bool No False Include "cls" in data dict
output_mask bool No False Include "mask" in data dict
output_report bool No False Include "report" in data dict
output_bbox bool No False Include "bbox" and "bbox_labels" in data dict
transform MONAI transform No None MONAI Compose transform; None uses the default pipeline
cache_dir str No "./cache" MONAI cache directory
dtype torch.dtype No torch.bfloat16 Output tensor dtype
harmonized_df pd.DataFrame No None Pre-built harmonized DataFrame
harmonizer harmonizer No None Pre-instantiated harmonizer
harmonizer_path str No None Path to saved harmonized CSV

Dataset constructor

import torch
from radharmony.dataset import CTRATEDataset

ds = CTRATEDataset(
    base_image_dir="/data/CT-RATE/dataset/train_fixed/",
    output_cls=True,
    hu_window=(-1000, 400),   # lung window
    dtype=torch.float32,
)
train_ds, val_ds = ds.get_datasets(n_splits=5)

Harmonizer

from radharmony.harmonizer import CTRATEHarmonizer

h = CTRATEHarmonizer(
    csv_path="/data/CT-RATE/dataset/train_fixed/train_predicted_labels.csv",
    base_image_dir="/data/CT-RATE/dataset/train_fixed/",
    view_position_csv_path="/data/CT-RATE/dataset/train_fixed/train_metadata.csv",
)
df = h.harmonize()
print(df.columns.tolist())
df.to_csv("ct_rate_harmonized.csv", index=False)

Load from saved harmonized CSV

import pandas as pd
from radharmony.dataset import CTRATEDataset

ds = CTRATEDataset(
    base_image_dir="/data/CT-RATE/dataset/train_fixed/",
    harmonized_df=pd.read_csv("ct_rate_harmonized.csv"),
    output_cls=True,
)

Harmonizer notes

  • Labels are NLP-extracted from radiology reports; binary (1 = present, 0 = absent)
  • Metadata CSV provides view position and patient demographics
  • Images are NIfTI (.nii.gz); MONAI loads them natively

Outputs

Flag Key Shape Notes
output_cls=True "cls" (18,) Multi-label binary findings

Example paths

Role Path
base_image_dir (train) /path/to/CT-RATE/dataset/train_fixed/
base_image_dir (valid) /path/to/CT-RATE/dataset/valid_fixed/
csv_path (train, train_predicted_labels.csv) /path/to/CT-RATE/dataset/tables/train_predicted_labels.csv
csv_path (valid, valid_predicted_labels.csv) /path/to/CT-RATE/dataset/tables/valid_predicted_labels.csv
view_position_csv_path (train, train_metadata.csv) /path/to/CT-RATE/dataset/tables/train_metadata.csv
view_position_csv_path (valid, validation_metadata.csv) /path/to/CT-RATE/dataset/tables/validation_metadata.csv

CSVs live in tables/ (sibling of train_fixed/ and valid_fixed/), auto-discoverable via infer_path.