Problem Statement: Weakly supervised 3D classification of multi-organ, multi-disease CT scans.
Data (proprietary to Duke University Medical Center): 1054 Diseased Lungs Cases (286 Pneumonia-Atelectasis, 279 Emphysema, 246 Nodules, 243 Mass); 577 Healthy Lungs Cases.
Note: The following repository currently serves as an archive. It is functional, but requires a full cleanup and directory setup. All updates to the implementation can be found here.
Directories
●くろまる Convert DICOM to NIfTI Volumes: preprocess/prime/DICOM_NIFTI.py
●くろまる Resample NIfTI Volume Resolutions: preprocess/prime/resampleRes.py
●くろまる Infer StFA/DyFA Segmentation Sub-Model (DenseVNet): python net_segment.py inference -c '../config.ini'
●くろまる Preprocess Full Dataset to Optimized I/O HDF5 Training Patch-Volumes: preprocess/prime/preprocess_alpha.py
●くろまる Preprocess Full Dataset to Optimized I/O HDF5 Deployment Whole-Volumes: preprocess/prime/preprocess_deploy.py
●くろまる Generate Data-Directory Feeder List: feed/prime/feed_metadata.py
●くろまる Train StFA Classification Sub-Model: train/prime/train_StFA.py
●くろまる Train DyFA Classification Sub-Model: train/prime/train_DyFA.py
●くろまる Deploy Model (Validation): deploy/prime/deployBinary.py
●くろまる Average Predictions for Same Patient: deploy/prime/average_predictions.py
●くろまる Calculate AUC: notebooks/binary_AUC.ipynb
Network Architecture Figure 1. Integrated model architecture for reusing segmentation feature maps in 3D binary classification. The segmentation sub-model is a DenseVNet, taking a variable input volume with a single channel and the classification sub-model is a 3D ResNet, taking an input volume patch of size [112,112,112] with 2 channels. Final output is a tensor with the predicted class probabilities.
Multi-Resolution Deep Segmentation Features Figure 2. From left-to-right: input CT volume (axial view), 3 out of 61 segmentation feature maps extracted from the pretrained DenseVNet model, at different resolutions, and their corresponding static aggregated feature maps (StFA) in the case of diseased lungs with atelectasis (top row), mass (middle row) and emphysema (bottom row).
Binary AUC Figure 3. ROC curves for each disease class against all normal cases and all disease classes against all normal cases for the independent (left), StFA (center) and DyFA (right) models for binary lung disease classification.