Transcript Document

NA-MIC
National Alliance for Medical Image Computing
http://na-mic.org
Slicer3 EMSegment
Tutorial
January 2008 NAMIC All-Hand’s Meeting
Brad Davis, Yuman Yuan, Sebastien Barre, Will
Schroeder, Polina Goland, Ron Kikinis, Kilian Pohl
Program
•
•
•
•
EM Segmenter basics
Algorithm “views” in Slicer3
Slicer3 EM segment under the hood
Tutorial
– Data
– Simple Segmentation Interface
– Template Builder Interface
• Questions (all week…)
National Alliance for Medical Image Computing
http://na-mic.org
EM Segment Basics
T1-weighted MRI
T2-weighted MRI
Automatic Segmentation
Cortical
Spinal Fluid
Superior
Middle
Temporal Gyrus Temporal Gyrus
National Alliance for Medical Image Computing
http://na-mic.org
White Matter
Figure: Pohl et al.
EM Segment Basics
National Alliance for Medical Image Computing
http://na-mic.org
Figures: Pohl et al.
EM Segment Basics
Parameters
Target Images
Segmentation Result
Atlas Images
WM
GM
CSF
Air
Skin/Skull
National Alliance for Medical Image Computing
http://na-mic.org
EM Segment Basics
Parameters
Segmentation Result
Target Images
Atlas Images
• Collection of images (input channels) that
will be segmented
T1
National Alliance for Medical Image Computing
http://na-mic.org
T2
EM Segment Basics
Parameters
Segmentation Result
Target Images
Atlas Images
Root
• Hierarchy of anatomical structures
– Intensity distributions, prior probabilities
ICC
Background
• Default preprocessing
– Intensity normalization, registration
Air
• EM segmentation algorithm
– Smoothing, weights, # iterations
• Stored as XML MRML file
National Alliance for Medical Image Computing
http://na-mic.org
GM
WM
CSF
Skin/Skull
EM Segment Basics
Parameters
Segmentation Result
Target Images
Atlas Images
• Atlas images (spatial priors)
– Aligned in common coordinate frame
GM
CSF
National Alliance for Medical Image Computing
http://na-mic.org
WM
Air
Skin/Skull
EM Segment Basics
Parameters
Segmentation Result
Target Images
Atlas Images
• Labelmap
volume
Root
– Voxel values
specified in
parameters
ICC
Air
GM
National Alliance for Medical Image Computing
http://na-mic.org
Background
WM
CSF
Skin/Skull
Algorithm Development
• 12-year history of algorithm development
– Wells et al. 1996 (TMI): EM framework for simultaneous
estimation of bias field and label map
– Kapur et al. 1999 (PhD Thesis): Model noise via Markov
Random Field
– Van Leemput et al. 1999 (TMI): Non-spatial tissue priors
– Pohl et al.
• 2002 (MICCAI): Deformable registration to align atlas
• 2004 (ISBI): Hierarchical framework to model anatomical
dependencies
• 2007 (TMI): Up-to-date, detailed description
National Alliance for Medical Image Computing
http://na-mic.org
Recent Development Effort
• Goals:
– Easy to use
– Adapts to a variety of
scenarios
– Is a research tool
– Simplified interfaces
– Minimize
preprocessing
requirements
– Validation and testing
Wizard GUI
Slicer3
ITK/VTK
Preprocessing
National Alliance for Medical Image Computing
http://na-mic.org
Segmentation
Code
Slicer3 EM segment
“views”
• Advanced interface for creating/editing
segmentation parameters
• Simple interface for applying parameters to new
images
• Command-line interface for script/batch
processing
EM Template
Builder
Module
EM Simple
Module
Slicer3 GUI
Command
Line
EMSegmenter Logic / Preprocessing / Algorithm
National Alliance for Medical Image Computing
http://na-mic.org
EM Command
Line
Executable
Template Builder View
• Runs inside
Slicer3
• Purpose:
Build/Adapt
parameter sets
• Run segmentation
• Wizard guides
user through
interface panels
National Alliance for Medical Image Computing
http://na-mic.org
`One-Click’ View
• Runs inside
Slicer3
• Purpose: Simple
interface for
segmenting new
data
• Requires
predefined
parameter set
National Alliance for Medical Image Computing
http://na-mic.org
Command-line View
• EMSegmentCommandLine
executable bundled with Slicer3
• Purpose: Scripted/batch processing
• Requires predefined parameter set
• Specify new target/atlas images on
command line
Parameters
Target Images
Atlas Images
National Alliance for Medical Image Computing
http://na-mic.org
Segmentation Result
Slicer3 EM Segment
Workflow
Specify
Inputs
Parameters
Target Images
National Alliance for Medical Image Computing
http://na-mic.org
Atlas Images
Slicer3 EM Segment
Workflow
Specify
Inputs
Default
PreProcessing
Parameters
Target Images
Atlas Images
Target Image
Target-to-target
Atlas-to-target
Normalization
Registration
Registration
National Alliance for Medical Image Computing
http://na-mic.org
Slicer3 EM Segment
Workflow
Specify
Inputs
Default
PreProcessing
Segmentation
Parameters
Target Images
Atlas Images
Target Image
Target-to-target
Atlas-to-target
Normalization
Registration
Registration
EM Segment Algorithm: Pohl et al.
National Alliance for Medical Image Computing
http://na-mic.org
Slicer3 EM Segment
Workflow
Specify
Inputs
Default
PreProcessing
Segmentation
Review
Results
Parameters
Target Images
Atlas Images
Target Image
Target-to-target
Atlas-to-target
Normalization
Registration
Registration
EM Segment Algorithm: Pohl et al.
Slicer3 Slice
Slicer3 Model
National Alliance Views
for Medical Image Computing
http://na-mic.org
Maker
External
Program
New Development: Default
Preprocessing
Default
PreProcessing
Target Image
Target-to-target
Atlas-to-target
Normalization
Registration
Registration
•
•
•
•
Lower bar for entry
Starting point for building effective pipeline
Not intended for all scenarios
No interface for complex parameter
tweaking
• Easily bypassed by advanced users
National Alliance for Medical Image Computing
http://na-mic.org
New Development: Default
Preprocessing
Default
PreProcessing
Target Image
Target-to-target
Atlas-to-target
Normalization
Registration
Registration
• VTK filter by Kilian Pohl
• Scale intensities to achieve predefined
mean
– Heuristics determine histogram cutoffs
• Default settings for T1, T2 images
National Alliance for Medical Image Computing
http://na-mic.org
New Development: Default
Preprocessing
Default
PreProcessing
Target Image
Target-to-target
Atlas-to-target
Normalization
Registration
Registration
• Target image 1 is fixed image
• Perform registration for each additional
target image
– Align image centers
– Rigid registration, mutual information, gradient
descent optimization (ITK)
– Coarse-to-fine
National Alliance for Medical Image Computing
http://na-mic.org
New Development: Default
Preprocessing
Default
PreProcessing
Target Image
Target-to-target
Atlas-to-target
Normalization
Registration
Registration
• Target image 1 is fixed image
• Perform registration with selected atlas image
– Align image centers, Rigid registration, B-Spline registration
– Mutual information, (normalized cross-correlation, sse, not yet tested)
– Rigid: gradient descent, B-Spline: ITK LBFGSB optimizer, 5x5x5 knot
points
– Coarse-to-fine
– Fast/Standard/Slow: sample points, max iterations
– Resample all atlas images via transform; guess background value
National Alliance for Medical Image Computing
http://na-mic.org
Default Registration
Results
National Alliance for Medical Image Computing
http://na-mic.org
Tutorial Data Walkthrough
1/3
• README: extra release notes
• Predefined parameter file
– MR T1 & T2 brain segmentation: White matter, gray
matter, CSF
• Target Images
– ImageData_Input sub directory
– Target: T1 & T2 images used in parameter file
– Target_NewPatient1, Target_NewPatient2:
New data to try with the parameter file
National Alliance for Medical Image Computing
http://na-mic.org
Tutorial Data Walkthrough
2/3
• Atlas Images
– ImageData_Input sub directory
– Atlas: atlas images used in parameter file
– Atlas_NewAtlas: Extra atlas data for
demonstration purposes (currently a copy of
first atlas)
National Alliance for Medical Image Computing
http://na-mic.org
Tutorial Data Walkthrough
3/3
• Low resolution
data for testing
– Full sized data: 30
minutes
– Low resolution
data: 1 minute
• Data, parameters
have “_small”
appended to
filename
National Alliance for Medical Image Computing
http://na-mic.org
`One-Click’ Module Tutorial 1/3
• EMSegment tutorial data is required
• Within Slicer3, open EMSegment Simple
Module
National Alliance for Medical Image Computing
http://na-mic.org
`One-Click’ Module Tutorial 2/3
• MRML Scene: Select the tutorial
parameter set
• Result Labelmap: Select a new
image filename
• Target Volumes: Select input
target volumes from one of the target
directories (e.g.,
Target_NewPatient1)
• Note: target volume order is
important
• Click `Apply’, wait (~30 minutes for
full size images)…
National Alliance for Medical Image Computing
http://na-mic.org
`One-Click’ Module Tutorial 3/3
• Review the results in
Slicer3
– Load target images
– Load result labelmap
– Use slice views to review
segmentation results
• Apply Model Maker to
generate surfaces
National Alliance for Medical Image Computing
http://na-mic.org
EMSegment Command-line
Examples
• Script examples available in tutorial
directory
– New images
– New atlas
– New image and atlas
– See README
National Alliance for Medical Image Computing
http://na-mic.org
Template Builder Tutorial
• EMSegment tutorial data is required
• Within Slicer3, open EMSegment Module
National Alliance for Medical Image Computing
http://na-mic.org
Template Builder Tutorial
• Load tutorial parameters
– File->Load Scene
– Select ‘mrml’ file included
with tutorial
• Explore volumes included
with scene
– Target volumes, atlas
volumes
– An old segmentation result
is also included
National Alliance for Medical Image Computing
http://na-mic.org
Template Builder Tutorial
• Step 1: Choose
EMSegmenter
parameter set
• For now, use tutorial set
• Later use this interface
to create a new
parameter set
National Alliance for Medical Image Computing
http://na-mic.org
Template Builder Tutorial
• Define anatomical
structures
• Right click to add or
delete nodes
• Label corresponds to
eventual voxel values in
segmentation result
National Alliance for Medical Image Computing
http://na-mic.org
Template Builder Tutorial
• Choose an atlas volume
for each leaf node
• To change or add new
atlas volumes
– Load new volumes into
Slicer3
– Select new volumes at
this step
National Alliance for Medical Image Computing
http://na-mic.org
Template Builder Tutorial
• Choose target images
• To change or add target
images
– Load new volumes into
Slicer3
– Select new volumes at this
step
• You can reorder target
images; order is
important
National Alliance for Medical Image Computing
http://na-mic.org
Template Builder Tutorial
• You can choose to
align target images
• First target is fixed
image
• Rigid, mutual
information
registration
National Alliance for Medical Image Computing
http://na-mic.org
Template Builder Tutorial
• You can choose to
normalize target images
• Simple, default strategy
• Default parameter sets
available from pulldown
National Alliance for Medical Image Computing
http://na-mic.org
Template Builder Tutorial
• Intensity distributions define
appearance of each leaf
structure
• Gaussian
• Dimensionality equal to
number of target images
• Two methods
– Sample voxels from images
– Specify mean and covariance
manually
• Tip: sample first, then fine
tune manually
National Alliance for Medical Image Computing
http://na-mic.org
Template Builder Tutorial
• Sample voxels from
images
– Load first target image
into Slicer3 slicer view
– Choose anatomical
structure
– Choose `manual
sampling’
– Ctrl-left-click on image
to add voxels
National Alliance for Medical Image Computing
http://na-mic.org
Template Builder Tutorial
• Sample voxels from
images (continued)
– To remove an unwanted
sample right-click on it and
choose “remove”
– Change back to “manual”
mode to tweak distribution
National Alliance for Medical Image Computing
http://na-mic.org
Template Builder Tutorial
• Segmentation
parameters for every tree
node
• Influence
– Prior weight relative to
other structures
– Atlas
– Input channels
– Smoothing (parent nodes
only)
• Stopping Conditions
National Alliance for Medical Image Computing
http://na-mic.org
Template Builder Tutorial
• Atlas-to-target registration
parameters
• Moving image registered to
first target image
– You can choose any image
loaded into Slicer3
• Same transformation applied
to all atlas images before
segmentation begins
National Alliance for Medical Image Computing
http://na-mic.org
Template Builder Tutorial
• Select output and run
registration
• You can troubleshoot
preprocessing by saving
intermediate results
• Choose an output labelmap
• ROI governs segmentation
processing (one-based, not
zero-based)
National Alliance for Medical Image Computing
http://na-mic.org
Acknowledgements
•
•
•
•
•
•
Wendy Plesniak, SPL BWH
Steve Pieper, Isomics
Luis Ibáñez, Kitware
Sylvain Bouix, PNL BWH
William Wells, BWH
Funding provided by NAMIC
National Alliance for Medical Image Computing
http://na-mic.org
NA-MIC
National Alliance for Medical Image Computing
http://na-mic.org
Questions…
Slicer3 EM Segment
Workflow
Specify
Inputs
Default
PreProcessing
Segmentation
Review
Results
Parameters
Target Images
Atlas Images
Target Image
Target-to-target
Atlas-to-target
Normalization
Registration
Registration
EM Segment Algorithm: Pohl et al.
Slicer3 Slice
Slicer3 Model
National Alliance Views
for Medical Image Computing
http://na-mic.org
Maker
External
Program
Parameters
Segmentation Result
Target Images
Atlas Images
Specify
Inputs
Default
PreProcessing
Segmentation
Review
Results
Parameters
Target Images
Atlas Images
Target Image
Target-to-target
Atlas-to-target
Normalization
Registration
Registration
EM Segment Algorithm: Pohl et al.
Slicer3 Slice
Slicer3 Model
National Alliance Views
for Medical Image Computing
http://na-mic.org
Maker
External
Program