2011 Summer Project Week Slicer Extension for GLISTR
Slicer Extension for GLioma Image SegmenTation and Registration (GLISTR)
Key Investigators
- University of Pennsylvania: Andreas Schuh, Daniel Haehn, Kilian Pohl
Objective
Implementing a Slicer extension for the GLISTR [1] software. The tumor growth model used is detailed in [2].
Approach, Plan
Getting familiar with the extension interfaces of Slicer to decide which one is most appropriate for the integration of GLISTR. Likely, this will be the command-line interface. Then, implementing the Slicer extension (i.e., most likely a command-line module).
Progress
Due to the fact that GLISTR requires the (possibly optional) execution of several steps as well as the selection of initial mean tissue intensities, the decision was to implement the Slicer module as scripted Python module for Slicer4 as this gives the most flexibility. The workflow was divided into the steps:
- Affine Transformation of Patient Scans This is the pre-processing step which can either be done using the command-line tool provided by GLISTR or any other affine registration method which is already implemented as Slicer moduel. After the pre-processing is finished, the transformed volumes are loaded into slicer for the next step.
- Annotation of Pre-processed Patient Scans After aligning the patient scans with the used atlas, the user shall place fiducials in the different tissue types. From these fiducials, the initial mean values are computed and the input file for the main GLISTR command-line program generated. Additionally, the approximate center of the tumor to segment is marked by another fiducial.
- Joint Segmentation & Registration Performs the actual joint segmentation and registration of the Glioma images.
- Transformation of Results back into Patient Space This step is optional. It applies the inverse of the affine transformation matrix obtained in step 1 in order to transform the volumes of posteriors for the different tissue types back into the original patient space.
- Generation of Segmentation from Posteriors The final step is the generation of a segmentation, i.e., label image, from the posteriors computed in step 3 either before or after the transformation into the original patient space.
From these steps, the pre-processing was implemented as part of the slicer module. The second step can be done using the Annotation module that is part of Slicer. As this is the first slicer module implemented by me, I lost some time getting started, in particular, to get familiar with the API and which tools are available to realize the workflow described above.
This week, I gained enough familiarity with the Slicer API to be able to finish the work on this module.
References
- [1] A. Gooya, K. Pohl, M. Billelo, G. Biros, C. Davatzikos: Joint segmentation and deformable registration of brain scans guided by a tumor growth model. In: Proc. MICCAI (2011)
- [2] C. Hogea, C. Davatzikos, G. Biros: An image-driven parameter estimation problem for a reaction-diffusion glioma growth model with mass effects. J. Math. Biol 56, 793–825 (2008)
- Project page on the web site of the Section of Biomedical Image Analysis, Department of Radiology at The University of Pennsylvania. The source code is available here as well.
Delivery Mechanism
This work will be delivered to the NAMIC Kit as a
- NITRIC distribution
- Slicer Module
- Built-in: No
- Extension -- commandline: Yes
- Extension -- loadable: No