Difference between revisions of "2010 Winter Project Week ProstateSeg"

From NAMIC Wiki
Jump to: navigation, search
Line 40: Line 40:
 
*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)
 
*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)
 
</div>
 
</div>
 +
 +
 +
==Notes==
 +
 +
 +
===Training ===
 +
*Registration
 +
**alignTrainingShapes.bash (execution time is about 30min)
 +
***make isotropic (z direction)
 +
***register
 +
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

Revision as of 16:56, 6 January 2010

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

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