With a Python 3.10+ environment, you can install gliomoda
directly from PyPI:
pip install gliomoda
A minimal example to create a segmentation could look like this:
from gliomoda import Inferer
inferer = Inferer()
# Save NIfTI files
inferer.infer(
t1c="path/to/t1c.nii.gz",
t2f="path/to/t2f.nii.gz",
t1n="path/to/t1n.nii.gz",
t2w="path/to/t2w.nii.gz",
segmentation_file="path/to/segmentation.nii.gz",
)
# Or directly use pre-loaded NumPy data. (Both works as well)
segmentation_np = inferer.infer(
t1c=t1c_np,
t2f=t2f_np,
t1n=t1n_np,
t2w=t2w_np,
)
If you use GlioMODA in your research, please cite it to support the development!
TODO: citation will be added asap
Multiprocessing error
If you get an error related to something like this:
RuntimeError:
An attempt has been made to start a new process before the
current process has finished its bootstrapping phase.
This probably means that you are not using fork to start your
child processes and you have forgotten to use the proper idiom
in the main module:
if __name__ == '__main__':
freeze_support()
...
The "freeze_support()" line can be omitted if the program
is not going to be frozen to produce an executable.
To fix this issue, refer to the "Safe importing of main module"
section in https://docs.python.org/3/library/multiprocessing.html
Please ensure you properly wrap your script:
if __name__ == "__main__":
inferer = Inferer()
...
We welcome all kinds of contributions from the community!
Please open a new issue here.
Nice to have you on board! Please have a look at our CONTRIBUTING.md file.