Skip to content

NUBagciLab/pediatric-chemotherapy-response-prediction

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Therapy Response Classification Model

Clinical Data we trained with:

  • Legal Sex
  • Ethnicity
  • Race
  • Age
  • OpenPedcan Molecular Subtype
  • Tumor Locations
  • Initial Surgery
  • Metastatic Status
  • Metastasis Location
  • Chemotherapy Type
  • Protocol Name
  • Chemotherapy Agents

Generate Segmentation Masks using the following github repository: https://github.com/NUBagciLab/Pediatric-Brain-Tumor-Segmentation-Model

Generate the torch dataset

Run torchDataset.py where the data is stored in the data/images/nifty folder in subdirectories for each subject. The output will be stored as a data/images/torch/test.pth file. Run this on your test set which will be used for inference. The requires a subject_labels.csv file which contains the subject ID and the label of the subject. an example is provided in the data/subject_labels_example.csv file. The nifty folder should have the following structure: subdirectories (ID of paitent) -> files subfolder name + _0000.nii.gz, subfolder name + _0001.nii.gz, subfolder name + _0002.nii.gz, subfolder name + _0003.nii.gz for FLAIR, T1, T1CE, T2 and subfolder name + .nii.gz for the segmentation mask.

Radiomic Features Extraction

Run extraction.py where the data is stored in the radiomicsExtractor/data folder in subdirectories for each subject. Each subdirectory should have the following structure: subdirectories (ID of paitent) -> files subfolder name + _image.nii.gz, subfolder name + _label.nii.gz. The output will be stored as a data/features.csv file.

Train XGBoost Model and Evaluate Ensemble

Swin weights can be found at this link and placed into the weights folder.

In inference.py, XGBoost will be trained and ensembled with our swin classification model. Adjust the XGBoost parameters to fit your needs. Data should be combined through concatinating the radiomic features and the clinical data. Split the data into training, validation and test sets and you can train a model for your specific data. Lastly, the final column should contain the label of the data and the first column should be the patient ID. The data should be stored as a csv files in the data/csv folder.

In order to run the model use:

python -m classification.inference

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages