Skip to content

Processing backend for Raidionics to generate population-based location heatmaps

License

Notifications You must be signed in to change notification settings

raidionics/raidionics_maps

Repository files navigation

Cohort map computation backend for Raidionics related publications

License Paper Open In Colab

The code corresponds to the Raidionics backend for creating population-based maps from cohorts. The module can either be used as a Python library or as CLI.

pip install git+https://github.com/raidionics/raidionics_maps.git
Operating System Status
Windows Build Windows
Ubuntu Build Ubuntu
macOS Build macOS
macOS ARM Build macOS ARM

Below are Jupyter Notebooks including simple examples on how to get started.

Notebook Colab GitHub
Overall location heatmap Open In Colab View on GitHub
Population-based location heatmap Open In Colab View on GitHub

In the following, a description of how the data should be organized on disk is provided, and a test dataset can be downloaded here.

The main data directory containing the original 3D volumes and corresponding annotations for the class of interest is expected to resemble the following structure:

└── path/to/data/cohort/
    └── Pat001/
        ├── Pat001_MRI.nii.gz
        ├── Pat001_MRI_label_tumor.nii.gz
    └── Pat002/
        ├── Pat002_MRI.nii.gz
        ├── Pat002_MRI_label_tumor.nii.gz
    [...]
    └── PatXXX/
        ├── PatXXX_MRI.nii.gz
        └── PatXXX_MRI_label_tumor.nii.gz

Results will be stored inside a sub-folder for each patient, following the same pattern as the input folder structure. A registration folder is kept inside each patient sub-folder, for easy re-use and cohort inclusion, to update the location heatmaps.

└── path/to/cohort-results/
    └── Pat001/
        ├── Transforms/
        │   ├── Pat-to-MNI/
        │   │   ├── forward_***0GenericAffine.mat
        │   │   ├── forward_***1Warp.nii.gz
        │   │   ├── inverse_***0GenericAffine.mat
        │   │   └── inverse_***1InverseWarp.nii.gz  
        │   ├── input_reg_mni.nii.gz
        │   ├── input_reg_mni_label_tumor.nii.gz 
    [...]
    └── PatXXX/
        ├── Transforms/
        │   ├── Pat-to-MNI/
        │   │   ├── forward_***0GenericAffine.mat
        │   │   ├── forward_***1Warp.nii.gz
        │   │   ├── inverse_***0GenericAffine.mat
        │   │   └── inverse_***1InverseWarp.nii.gz  
        │   ├── input_reg_mni.nii.gz
        │   └── input_reg_mni_label_tumor.nii.gz
Create a virtual environment using at least Python 3.8, and install all dependencies from the requirements.txt file.
  cd /path/to/raidionics_maps  
  virtualenv -p python3 venv  
  source venv/bin/activate  
  TMPDIR=$PWD/venv pip install --cache-dir=$PWD/venv -r requirements.txt (--no-deps)

Then the final step is to do the following in a terminal.

  cd /path/to/raidionics_maps  
  cp blank_main_config.ini main_config.ini 

You can now edit your main_config.ini file for running the different processes.
An additional explanation of all parameters specified in the configuration file can be found in /Utils/resources.py.

raidionicsmaps -c CONFIG (-v debug)

CONFIG should point to a configuration file (*.ini), specifying all runtime parameters, according to the pattern from blank_main_config.ini.

from raidionicsmaps.compute import compute
compute(config_filename="/path/to/main_config.ini")

If you are using Raidionics in your research, please cite the following references.

For segmentation validation and metrics computation:

@article{bouget2022preoptumorseg,
    title={Preoperative Brain Tumor Imaging: Models and Software for Segmentation and Standardized Reporting},
    author={Bouget, David and Pedersen, André and Jakola, Asgeir S. and Kavouridis, Vasileios and Emblem, Kyrre E. and Eijgelaar, Roelant S. and Kommers, Ivar and Ardon, Hilko and Barkhof, Frederik and Bello, Lorenzo and Berger, Mitchel S. and Conti Nibali, Marco and Furtner, Julia and Hervey-Jumper, Shawn and Idema, Albert J. S. and Kiesel, Barbara and Kloet, Alfred and Mandonnet, Emmanuel and Müller, Domenique M. J. and Robe, Pierre A. and Rossi, Marco and Sciortino, Tommaso and Van den Brink, Wimar A. and Wagemakers, Michiel and Widhalm, Georg and Witte, Marnix G. and Zwinderman, Aeilko H. and De Witt Hamer, Philip C. and Solheim, Ole and Reinertsen, Ingerid},
    journal={Frontiers in Neurology},
    volume={13},
    year={2022},
    url={https://www.frontiersin.org/articles/10.3389/fneur.2022.932219},
    doi={10.3389/fneur.2022.932219},
    issn={1664-2295}
}

The final software including updated performance metrics for preoperative tumors and introducing postoperative tumor segmentation:

@article{bouget2023raidionics,
    author = {Bouget, David and Alsinan, Demah and Gaitan, Valeria and Holden Helland, Ragnhild and Pedersen, André and Solheim, Ole and Reinertsen, Ingerid},
    year = {2023},
    month = {09},
    pages = {},
    title = {Raidionics: an open software for pre-and postoperative central nervous system tumor segmentation and standardized reporting},
    volume = {13},
    journal = {Scientific Reports},
    doi = {10.1038/s41598-023-42048-7},
}

About

Processing backend for Raidionics to generate population-based location heatmaps

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published