Skip to content

Data Classification

Introduction

Classification is the process of consistently identifying and labeling different types of data. Each modality represented in Flywheel, such as MR, PET, CT, or EEG, has its own, possibly multi-dimensional classification scheme. As a result, the first step in classifying data is to identify its modality (or instrument type), followed by its detailed classification.

Classification is typically performed by a gear (for example, File Classifier), which can be configured to automatically run based on the Gear Rules for a project. Accurate and detailed classification is key in triggering further automated data processing.

Prefer videos?

We have a collection of videos showing you how to get the most out of Flywheel. See these for more information:

Modalities in Flywheel

In order to accommodate domain-specific classification of data from different modalities, Flywheel has developed an extensible, multi-dimensional classification system. We call each dimension an aspect of classification. Many data types will be classified according to just a single aspect.

The File Classifier gear uses the DICOM modality tag for classification, and all modalities in Flywheel are listed using the standard DICOM abbreviations. For example, MR stands for magnetic resonance and OPT stands for ophthalmic tomography.

Default Classification Scheme

Flywheel ships with a built-in classification scheme for four modalities: MR, CT, MG, and PT. These modalities have predefined aspect keys and allowed values that the File Classifier gear uses during automatic classification. All other DICOM modalities are present in Flywheel but do not have a predefined classification scheme — files associated with those modalities can only use the Custom aspect for classification.

{
  "MR": {
    "Intent": [
      "Localizer", "Shim", "Calibration", "Fieldmap",
      "Structural", "Functional", "Screenshot", "Non-Image", "Spectroscopy"
    ],
    "Measurement": [
      "B0", "B1", "BOLD", "CEST", "CSI", "Diffusion", "EPSI",
      "Fingerprinting", "MRA", "MT", "PD", "Perfusion", "Phoenix",
      "Susceptibility", "SVS", "T1", "T1rho", "T2", "T2*"
    ],
    "Features": [
      "2D", "3D", "AAscout", "Compressed-Sensing", "Contrast-Agent",
      "Control", "DCE", "Derived", "DKI", "DSC", "DSI", "DTI",
      "Eddy-Current-Corrected", "EPI", "EPISTAR", "FA", "FAIR", "FAIREST",
      "Fieldmap-Corrected", "FLAIR", "Gradient-Echo", "Gradient-Unwarped",
      "HARDI", "In-Plane", "iVASO", "Label", "M0", "Magnitude", "MIP",
      "Motion-Corrected", "MP2RAGE", "MPRAGE", "Multi-Band", "Multi-Echo",
      "Multi-Flip", "Multi-Shell", "Navigator", "NODDI", "PASL", "pCASL",
      "Phase", "Phase-Contrast", "Phase-Reversed", "Physio-Corrected",
      "PICORE", "PRESS", "QC", "QSM", "Quantitative", "Resting-State",
      "RMS", "SBRef", "Singlerep", "SPGR", "Spin-Echo", "Spiral",
      "Steady-State", "STEAM", "SWI", "Task", "TOF", "TRACE",
      "Transmit-Reference", "Uniform", "VASO", "WASSR", "Water-Reference"
    ]
  },
  "CT": {
    "Anatomy": [
      "Head", "Neck", "Chest", "Abdomen", "Pelvis",
      "Upper Ext", "Lower Ext", "Whole Body", "Spine"
    ],
    "Contrast": ["Contrast", "No Contrast"],
    "Contrast Phase": ["Arterial", "Portal Venous", "Nephrogenic", "Excretory"],
    "Contrast Delivery": ["IV", "Oral"],
    "Scan Type": ["Localizer", "Standard", "Perfusion", "Dose Report", "Gated", "Angiography"],
    "Scan Orientation": ["Axial", "Sagittal", "Coronal", "Oblique"],
    "Slice Spacing": ["Thin", "Medium", "Thick"],
    "Convolution Kernel": ["Sharp", "Standard"],
    "Phases": ["Monophasic", "Biphasic", "Triphasic", "Polyphasic"],
    "Volumetric": ["Volumetric", "Non Volumetric"]
  },
  "MG": {
    "Contrast": ["Contrast", "No Contrast"],
    "Laterality": ["Left", "Right", "Bilateral"],
    "View": ["CC", "MLO", "RCC", "XCC", "XCCM", "ML", "LM", "LMO", "XCCL"],
    "Intent": ["Screening", "Diagnostic", "Biopsy"],
    "Submodality": ["Mammo/2D", "Tomo/3D"],
    "Scan Type": ["Original", "Derived"]
  },
  "PT": {
    "Anatomy": [
      "Head", "Neck", "Chest", "Abdomen", "Pelvis",
      "Upper Extremities", "Lower Extremities", "Whole Body"
    ],
    "Isotope": ["Ga68", "F18", "Cu64", "N13", "O15", "C11", "I124", "Zr89", "Mn52", "I131"],
    "Processing": ["Motion Corrected", "Averaged", "Filtered", "Attenuation Corrected"],
    "Tracer": [
      "FDG", "FES", "Zr-CD8", "Zr-HER", "GTP1", "AV45", "PIPB",
      "mAb", "FBB", "FBP", "FMM", "PSMA", "FP-CIT", "PBR-28"
    ],
    "Type": ["Dynamic", "Static", "Gated"]
  }
}

Note

Sites can extend the default classification scheme by adding new aspect keys, adding values to existing aspects, or by defining classification schemes for modalities that do not have one by default. Check your local site's configuration for the most accurate and up-to-date information. Use the Flywheel SDK to inspect the live classification scheme on any site.

Verifying a Site's Classification Scheme

Because sites can extend the default classification scheme, the classification values available on your site may differ from the defaults listed above. Use the get_all_modalities() method from the Flywheel Python SDK to retrieve the current modalities and their classification schemes for your specific site.

Custom Classifications

The Custom aspect is a special wildcard aspect available to any modality. Unlike named aspects such as Intent or Measurement, the Custom aspect accepts any string value, regardless of whether that value is defined in the modality's classification schema. This makes it useful for applying site-specific or project-specific labels that fall outside the standard scheme.

Attempting to set a classification that does not adhere to the modality's classification schema may cause upload errors. Use the Custom aspect for values that cannot be represented by the modality's defined aspects.

The File Classifier gear comes with default profiles for Computed Tomography (CT), Magnetic Resonance (MR), Positron Emission Tomography (PT), and Mammography (MG). In cases where the default profiles are not assigning the desired classifications for acquisitions, custom classification profiles can be provided as input to the File Classifier gear.

Best Practices

DICOM classification is implemented by a set of gears: File Metadata Importer, which extracts DICOM headers and stores them as metadata on the DICOM file object, and File Classifier, which utilizes the stored metadata to assign the classification. Additional information on this workflow can be found in the Best Practices: File Metadata Importer and File Classifier guide.