- 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
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.
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.
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