2010 Winter Project Week ProstateSeg
Key Investigators
- Andras Lasso, Gabor Fichtinger (Queen's University)
- Yi Gao, Allen Tannenbaum (Georgia Tech)
- Andriy Fedorov (BWH)
Objective
Implement a Slicer module from the shape-based prostate segmentation algorithm developed by Yi Gao et al.
Approach, Plan
Implement as a command-line module that can be downloaded and installed as a Slicer extension. Add automatic testing.
Progress
The algorithm can be compiled using CMake on both linux and windows, test data are available.
References
- Yi Gao, Romeil Sandhu, Gabor Fichtinger, Allen Tannenbaum, A Coupled Global Registration and Segmentation Framework with Application to the Magnetic Resonance Prostate Imagery, IEEE Trans Med Imaging (in review)
Notes
Training
- Registration
- alignTrainingShapes.bash (execution time is about 30min)
- make isotropic (z direction)
- register
- alignTrainingShapes.bash (execution time is about 30min)
ShapeBased\_reg\src\imageRegByPointSet\c\affine\CMakeLists.txt: pairwise image registration (there are many supporting files in ShapeBased\_reg\src; the result is one executable) input: two images from ShapeBased\_reg\trainingShapes output: transformed moving image in uchar nrrd image format make anisotropic *** maybe this step could be skipped (to have an atlas with isotropic images) results are copied to ShapeBased\_reg\alignTrainingShapes
alignTrainingShapesNonIso.bash: faster but not that accurate
Convert from binary to level set ShapeBased\_reg\alignTrainingShapes\toSFLS\ => 1 executable Input: nrrd binary image Output: level set description For each binary image a level set image is generated and saved to ShapeBased\_reg\alignTrainingShapes\toSFLS Learning using PCA ProstateSeg\ShapeBased\_reg\alignTrainingShapes\toSFLS\learn => 1 executable Input: shapeList.txt list of all level set files Output: mean shape and i-th eigen shape (multiplied by the eigen value), Execution time is about 1 minute, repeated for each eigen shape Images are flipped, but the images to be segmented (or the training shapes) could be flipped instead. Segmentation ProstateSeg\ShapeBased\version20091203 => 1 executable (wholeseg) Input: image to be segmented, and two points (at the left and right side of the prostate, on a center axial slice in IJK space)
./r/wholeSeg ./data/p1-s1-701_T1W.nrrd a1.nrrd 90 126 13 165 124 13 unu 2op lte a1.nrrd 2 | unu convert -t uchar -o b1.nrrd # 2 instead of 0 to inclose more