Difference between revisions of "EMSegmenter-Tasks:CT-Hand-Bone"

From Slicer Wiki
Jump to: navigation, search
 
(35 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
[[EMSegmenter-Tasks|Return to EMSegmenter Task Overview Page]]
 
[[EMSegmenter-Tasks|Return to EMSegmenter Task Overview Page]]
  
==Description==
+
=Description=
Single channel automatic segmentation of CT hand scans into the finger bones. The task can be applied to right and and left hand scans. The pipeline consist of the following steps:
+
Single channel automatic segmentation of CT hand scans into the finger bones based on the publication (Ramme et al). The task can be applied to right and and left hand scans. Subjects should be scanned with a similar protocol as atlas, which is ....
* Step 1: Perform image inhomogeneity correction of the CT scan via [http://www.slicer.org/slicerWiki/index.php/Modules:N4ITKBiasFieldCorrection-Documentation-3.6 N4ITKBiasFieldCorrection] (Tustison et al 2010)
+
 
* Step 2: Register the atlas to the CT scan via [[Modules:BRAINSFit| BRAINSFit]] (Johnson et al 2007)
+
The pipeline consist of the following steps:
** Step 2a:
+
 
** Step 2b:
+
* Step 1: Flip/Mirror the atlas (based on right hand scans) if scan of the subject is of the left hand.
** Step 2c:
+
* Step 2: Create Binary MAP of the hand for the atlas template and CT scan. For each scan:
* Step 3: Compute the intensity distributions for each structure <BR>
+
** Generate binary map of the scan by thresholding the scan above 150
 +
** Fill holes in binary map by
 +
*** Blurring via itk::DiscreteGaussianImageFilter (parameter Variance=1.5, MaximumKernelWidth 5)
 +
*** Binarize map via itk::BinaryThresholdImageFilter (Set everything between 0 and 30 to 0, otherwise 255)
 +
** Remove noise from the binary map by extracting largest component
 +
<!--itk::BinaryThresholdImageFilter to extract label 255. keep everything between 1 and 255 (1-254 are not used) and set it to one -->
 +
*** apply itk::ConnectedComponentImageFilter to label the objects in the binary image. Each distinct object is assigned a unique label.
 +
*** Use itk::RelabelComponentImageFilter to sort the labels based on the size of the object: the largest object will have label #1, the second largest will have label #2, etc.
 +
*** Use itk::BinaryThresholdImageFilter to extract label 1. This is the largest object in the data set.
 +
<!--
 +
Island Removal and Fill:
 +
Extract Label
 +
Connected Component
 +
Relabel Image
 +
Binary Threshold
 +
-->
 +
* Step 3: Register the binarized atlas template to the binarized CT scan via [[Modules:BRAINSFit| BRAINSFit]] (Johnson et al 2007)
 +
** Step A: Use BRAINSFit to perform a affine registration. Register the atlas template linear to the subject scan and save the linear transformation. (BRAINSFit Rigid,Affine)
 +
** Step B: Use BRAINSDemonWarp to perform a non-linear registration. Register the atlas template non-linear to the subject scan. Use the linear transformation as initialization. (BRAINSDemonWarp)
 +
** Step C: Use BRAINSResample together with the --deformationVolume option to resample the atlas files shown in the figure below.
 +
* Step 4: Compute the intensity distributions for each structure <BR>
 
Compute intensity distribution (mean and variance) for each label by automatically sampling from the MR scan. The sampling for a specific label is constrained to the region that consists of voxels with high probability (top 95%) of being assigned to the label according to the aligned atlas.
 
Compute intensity distribution (mean and variance) for each label by automatically sampling from the MR scan. The sampling for a specific label is constrained to the region that consists of voxels with high probability (top 95%) of being assigned to the label according to the aligned atlas.
* Step 4: Automatically segment the CT scan into the structures of interest using [[Modules:EMSegmenter-3.6|EM Algorithm]]  (Pohl et al 2007)
+
* Step 5: Generate a spatial atlas for tissue + remaining bones and air 
 +
* Step 6: Automatically segment the CT scan into the structures of interest using [[Modules:EMSegmenter-3.6|EM Algorithm]]  (Pohl et al 2007)
  
==Anatomical Tree==
+
=Anatomical Tree=
 
The anatomical tree represents the structures to be segmented. Node labels displayed below contain a human readable structure name and in parentheses the internally used structure name.
 
The anatomical tree represents the structures to be segmented. Node labels displayed below contain a human readable structure name and in parentheses the internally used structure name.
  
===Current Tree:===
 
 
* Hand
 
* Hand
** Distal1
 
*** TissueD1
 
*** BoneD1
 
** Proximal1
 
*** TissueP1
 
*** BoneP1
 
** Medial1
 
*** TissueM1
 
*** BoneM1
 
** Distal2
 
*** TissueD2
 
*** BoneD2
 
** Proximal2
 
*** TissueP2
 
*** BoneP2
 
** Medial2
 
*** TissueM2
 
*** BoneM2
 
** Distal3
 
*** TissueD3
 
*** BoneD3
 
** Proximal3
 
*** TissueP3
 
*** BoneP3
 
** Medial3
 
*** TissueM3
 
*** BoneM3
 
** Distal4
 
*** TissueD4
 
*** BoneD4
 
** Proximal4
 
*** TissueP4
 
*** BoneP4
 
** Medial4
 
*** TissueM4
 
*** BoneM4
 
** Tissue
 
 
** Air
 
** Air
 
===Proposed Tree for all 5 finger===
 
* Hand
 
** Air/Background
 
 
** Tissue
 
** Tissue
** Bone
+
<!--
*** Distal1
+
** Thumb / pollex (I)
*** Proximal1
 
*** Medial1
 
*** Distal2
 
*** Proximal2
 
*** Medial2
 
*** Distal3
 
*** Proximal3
 
*** Medial3
 
*** Distal4
 
*** Proximal4
 
*** Medial4
 
 
*** Distal5
 
*** Distal5
 
*** Proximal5
 
*** Proximal5
 
*** Medial5
 
*** Medial5
 +
-->
 +
** Index finger / digitus secundus (II)
 +
*** Proximal (II)
 +
*** Medial (II)
 +
*** Distal (II)
 +
** Middle finger / digitus medius (III)
 +
*** Proximal (III)
 +
*** Medial (III)
 +
*** Distal (III)
 +
** Ring finger / digitus annularis (IV)
 +
*** Proximal (IV)
 +
*** Medial (IV)
 +
*** Distal (IV)
 +
** Little finger / digitus minimus (V)
 +
*** Proximal (V)
 +
*** Medial (V)
 +
*** Distal (V)
  
==Atlas==
+
=Atlas=
  
==Pre-Processing==
+
The task is taking advantage of fuzzy atlas data for the 12 finger bones.
  
==Result==
+
<gallery perrow=1: widths=630px : heights=280px>
 +
Image:EMS_Atlas_IndexFinger2.png|fuzzy atlas for each finger bone <br> In this picture from left to right: index finger / digitus secundus (II): 'Distal (II)' 'Medial (II)' 'Proximal (II)'
 +
</gallery>
  
==Collaborators==
+
=Result=
 +
 
 +
<gallery perrow=1: widths=630px : heights=280px>
 +
Image:EMS Result Hand subject2.png|label map produced by the EMSegmenter
 +
</gallery>
 +
 
 +
<!--
 +
Image:CTHandBone_BeforeAfter.png|3D reconstruction of the label map
 +
-->
 +
 
 +
<gallery perrow=1: widths=630px : heights=600px>
 +
Image:EMS_Result_3DReconstruction_CT-Hand-Bone.png|3D reconstruction of the label map overlayed with the opaque hand tissue
 +
</gallery>
 +
 
 +
=Collaborators=
 
Vincent Magnotta (University of Iowa)
 
Vincent Magnotta (University of Iowa)
 +
 +
=Acknowledgment=
 +
The construction of the pipeline was supported by funding from NIH NCRR 2P41RR013218 Supplement.
 +
 +
=Citations=
 +
* Pohl K, Bouix S, Nakamura M, Rohlfing T, McCarley R, Kikinis R, Grimson W, Shenton M, Wells W. [http://www.slicer.org/pages/Special:PubDB_View?dspaceid=608 A Hierarchical Algorithm for MR Brain Image Parcellation.] IEEE Transactions on Medical Imaging. 2007 Sept;26(9):1201-1212.
 +
* S. Warfield, J. Rexilius, P. Huppi, T. Inder, E. Miller, W. Wells, G. Zientara, F. Jolesz, and R. Kikinis, “A binary entropy measure to assess nonrigid registration algorithms,” in MICCAI, LNCS, pp. 266–274, Springer, October 2001.
 +
* Johnson H.J., Harris G., Williams K. [http://hdl.handle.net/1926/1291 BRAINSFit: Mutual Information Registrations of Whole-Brain 3D Images, Using the Insight Toolkit], The Insight Journal, July 2007
 +
* T. Vercauteren, X. Pennec, A. Perchant, N. Ayache. Symmetric Log-Domain Diffeomorphic Registration: A Demons-based Approach. MICCAI 2008
 +
* Ramme AJ, Devries N, Kallemyn NA, Magnotta VA, Grosland NM. [http://www.springerlink.com/content/h972u63630311g78/ Semi-automated Phalanx Bone Segmentation Using the Expectation Maximization Algorithm]. J Digit Imaging. 2008.

Latest revision as of 16:11, 5 May 2011

Home < EMSegmenter-Tasks:CT-Hand-Bone

Return to EMSegmenter Task Overview Page

Description

Single channel automatic segmentation of CT hand scans into the finger bones based on the publication (Ramme et al). The task can be applied to right and and left hand scans. Subjects should be scanned with a similar protocol as atlas, which is ....

The pipeline consist of the following steps:

  • Step 1: Flip/Mirror the atlas (based on right hand scans) if scan of the subject is of the left hand.
  • Step 2: Create Binary MAP of the hand for the atlas template and CT scan. For each scan:
    • Generate binary map of the scan by thresholding the scan above 150
    • Fill holes in binary map by
      • Blurring via itk::DiscreteGaussianImageFilter (parameter Variance=1.5, MaximumKernelWidth 5)
      • Binarize map via itk::BinaryThresholdImageFilter (Set everything between 0 and 30 to 0, otherwise 255)
    • Remove noise from the binary map by extracting largest component
      • apply itk::ConnectedComponentImageFilter to label the objects in the binary image. Each distinct object is assigned a unique label.
      • Use itk::RelabelComponentImageFilter to sort the labels based on the size of the object: the largest object will have label #1, the second largest will have label #2, etc.
      • Use itk::BinaryThresholdImageFilter to extract label 1. This is the largest object in the data set.
  • Step 3: Register the binarized atlas template to the binarized CT scan via BRAINSFit (Johnson et al 2007)
    • Step A: Use BRAINSFit to perform a affine registration. Register the atlas template linear to the subject scan and save the linear transformation. (BRAINSFit Rigid,Affine)
    • Step B: Use BRAINSDemonWarp to perform a non-linear registration. Register the atlas template non-linear to the subject scan. Use the linear transformation as initialization. (BRAINSDemonWarp)
    • Step C: Use BRAINSResample together with the --deformationVolume option to resample the atlas files shown in the figure below.
  • Step 4: Compute the intensity distributions for each structure

Compute intensity distribution (mean and variance) for each label by automatically sampling from the MR scan. The sampling for a specific label is constrained to the region that consists of voxels with high probability (top 95%) of being assigned to the label according to the aligned atlas.

  • Step 5: Generate a spatial atlas for tissue + remaining bones and air
  • Step 6: Automatically segment the CT scan into the structures of interest using EM Algorithm (Pohl et al 2007)

Anatomical Tree

The anatomical tree represents the structures to be segmented. Node labels displayed below contain a human readable structure name and in parentheses the internally used structure name.

  • Hand
    • Air
    • Tissue
    • Index finger / digitus secundus (II)
      • Proximal (II)
      • Medial (II)
      • Distal (II)
    • Middle finger / digitus medius (III)
      • Proximal (III)
      • Medial (III)
      • Distal (III)
    • Ring finger / digitus annularis (IV)
      • Proximal (IV)
      • Medial (IV)
      • Distal (IV)
    • Little finger / digitus minimus (V)
      • Proximal (V)
      • Medial (V)
      • Distal (V)

Atlas

The task is taking advantage of fuzzy atlas data for the 12 finger bones.

Result


Collaborators

Vincent Magnotta (University of Iowa)

Acknowledgment

The construction of the pipeline was supported by funding from NIH NCRR 2P41RR013218 Supplement.

Citations