ITK Segmentation Methods - PowerPoint PPT Presentation

1 / 44
About This Presentation
Title:

ITK Segmentation Methods

Description:

Advection term added controlled by a threshold. LevelSet equivalent. of a connected ... Advection term added controlled by edges. Canny edges attract. the zero set ... – PowerPoint PPT presentation

Number of Views:164
Avg rating:3.0/5.0
Slides: 45
Provided by: nam4
Category:

less

Transcript and Presenter's Notes

Title: ITK Segmentation Methods


1
ITK Segmentation Methods
Kitware Inc.
2
Overview
  • Region Growing
  • ConfidenceConnected
  • ConnectedThreshold
  • IsolatedConnected
  • Watersheds
  • Level Sets
  • FastMarching
  • ShapeDetection
  • GeodesicActiveContours
  • ThresholdSegmentation
  • CannySegmentationLevelSet

3
Region GrowingSegmentation Methods
4
Confidence Connected
Seed Point
5
Confidence Connected
typedef itkImagelt unsigned char , 2 gt
ImageType typedef itkConfidenceConnectedImage
Filterlt ImageType, ImageType gt
FilterType FilterTypePointer filter
FilterTypeNew() filter-gtSetMultiplier( 1.5 )
filter-gtSetNumberOfIterations( 5 )
filter-gtSetInitialNeighborhoodRadius ( 2 )
filter-gtSetReplaceValue( 255 )
FilterTypeIndexType index index0 123
index1 235 filter-gtSetSeed( index
) filter-gtSetInput( reader-gtGetOutput() )
writer-gtSetInput( filter-gtGetOutput() )
writer-gtUpdate()
6
Connected Threshold
Intensity
Seed Point
7
Connected Threshold
typedef itkImagelt unsigned char , 2 gt
ImageType typedef itkConnectedThresholdImageF
ilterlt ImageType, ImageType gt
FilterType FilterTypePointer filter
FilterTypeNew() filter-gtSetLower( 155 )
filter-gtSetUpper( 235 ) filter-gtSetReplaceValu
e( 255 ) FilterTypeIndexType index index0
123 index1 235 filter-gtSetSeed( index
) filter-gtSetInput( reader-gtGetOutput() )
writer-gtSetInput( filter-gtGetOutput() )
writer-gtUpdate()
8
Isolated Connected
Intensity
2 Seed Points
9
Isolated Connected
typedef itkImagelt unsigned char , 2 gt
ImageType typedef itkIsolatedConnectedImageFi
lterlt ImageType, ImageType gt
FilterType FilterTypePointer filter
FilterTypeNew() filter-gtSetLower( 155 )
filter-gtSetUpperValueLimit( 235 )
filter-gtSetReplaceValue( 255 )
filter-gtSetSeed1( index1 ) filter-gtSetSeed2(
index2 ) filter-gtSetInput( reader-gtGetOutput()
) writer-gtSetInput( filter-gtGetOutput() )
writer-gtUpdate()
10
Exercise 12
11
WatershedSegmentation
12
Watershed Concept
Intensity
13
Watershed Segmentation
typedef itkImagelt float , 2 gt
ImageType typedef itkWatershedImageFilterlt

ImageType
gt WatershedFilterType
WatershedFilterTypePointer filter
WatershedFilterTypeNew() filter-gtSetThreshold(
0.001 ) filter-gtSetLevel( 0.15 )
filter-gtSetInput( reader-gtGetOutput() )
filter-gtUpdate()
14
Colour Encoding the Output
typedef itkScalarToRGBPixelFunctorlt unsigned
long gt FunctorType typedef
WatershedFilterTypeOutputImageType
LabeledImageType typedef itkUnaryFunctorImage
Filterlt ImageType, LabeledImageType, Fu
nctorType gt ColorFilterType ColorFilter
TypePointer colorFilter ColorFilterTypeNew()
colorFilter-gtSetInput( filter-gtGetOutput()
) writer-gtSetInput( colorFilter-gtGetOutput()
) writer-gtUpdate()
15
Creating Edges
typedef itkGradientMagnitudeRecursiveGaussianI
mageFilterlt ImageType, ImageType gt
EdgeFilterType EdgeFilterTypePointer
edgeFilter EdgeFilterTypeNew() edgeFilter-gtS
etInput( reader-gtGetOutput() )
edgeFilter-gtSetSigma( 1.0 )
filter-gtSetInput( edgeFilter-gtGetOutput() )
writer-gtUpdate()
16
Exercise 13
17
Level SetSegmentation Methods
18
Level Set Concept
F(x,y) lt 0
F(x,y) gt 0
Zero set F(x,y)0
19
Level Set Evolution
PDE Restricted Cellular Automata
F(x,y,t)
F(x,y,t1)
20
Fast Marching
Front propagation
?x V . ?t
21
Fast Marching
Speed Image
Time-Crossing Map
22
Fast Marching
typedef itkImagelt float , 2 gt
ImageType typedef itkFastMarchingImageFilterlt

ImageType, ImageType gt FilterType Filter
TypePointer fastMarching
FilterTypeNew() fastMarching-gtSetInput (
speedImage ) fastMarching-gtSetOutputSize(
speedImage-gtGetBufferedRegion().GetSize() )
fastMarching-gtSetStoppingValue( 100.0 )
23
Fast Marching
typedef FilterTypeNodeContainer
NodeContainer typedef FilterTypeNodeType No
deType NodeContainerPointer seeds
NodeContainerNew() seeds-gtInitialize()
NodeType seed seed.SetValue( 0.0
) seed.SetIndex( index ) seeds-gtInsertElement(
0, seed )
24
Fast Marching
fastMarching-gtSetTrialPoints( seeds )
thresholder-gtSetInput( fastMarching-gtGetOutput(
) ) thresholder-gtSetLowerThreshold( 0.0
) thresholder-gtSetUpperThreshold( timeThreshold
) thresholder-gtUpdate()
25
Exercise 14
26
Shape Detection
PDE Includes a curvature term
Prevents leaking
27
Shape Detection
28
Shape Detection
typedef itkImagelt float , 2 gt
ImageType typedef itkShapeDetectionLevelSetIm
ageFilterlt
ImageType, ImageType gt
FilterType FilterTypePointer shapeDetection
FilterTypeNew() shapeDetection-gtSetInput(
inputLevelSet ) shapeDetection-gtSetFeatureImage(
speedImage ) shapeDetection-gtSetPropagationSca
ling( 1.0 ) shapeDetection-gtSetCurvatureScaling(
0.05 )
29
Shape Detection
shapeDetection-gtSetMaximumRMSError( 0.001 )
shapeDetection-gtSetMaximumIterations( 400 )
shapeDetection-gtUpdate() stdcout ltlt
shapeDetection-gtGetRMSChange() ltlt stdendl
stdcout ltlt shapeDetection-gtGetElapsedIterations
() ltlt stdendl thresholder-gtSetInput(
shapeDetection-gtGetOutput() ) thresholder-gtSetLo
werThreshold( -1e7 ) thresholder-gtSetUpperThresh
old( 0.0 )
30
Exercise 15
31
Geodesic Active Contour
Intensity Profile
X axis
Advection term added
32
Geodesic Active Contour
Vector Field Computed Internally
33
Geodesic Active Contour
typedef itkImagelt float , 2 gt
ImageType typedef itkGeodesicActiveContourLev
elSetImageFilterlt
ImageType, ImageType gt
FilterType FilterTypePointer
geodesicActiveContour FilterTypeNew() geod
esicActiveContour-gtSetInput( inputLevelSet )
geodesicActiveContour-gtSetFeatureImage(
speedImage ) geodesicActiveContour-gtSetPropagat
ionScaling( 1.0 ) geodesicActiveContour-gtSetCurv
atureScaling( 0.05 ) geodesicActiveContour-gtSetA
dvectionScaling( 8.0 )
34
Geodesic Active Contours
geodesicActiveContour-gtSetMaximumRMSError( 0.001
) geodesicActiveContour-gtSetMaximumIterations(
400 ) geodesicActiveContour-gtUpdate() stdco
ut ltlt geodesicActiveContour-gtGetRMSChange() ltlt
stdendl stdcout ltlt geodesicActiveContour-gtGe
tElapsedIterations() ltlt stdendl
thresholder-gtSetInput( geodesicActiveContour
) thresholder-gtSetLowerThreshold( -1e7 )
thresholder-gtSetUpperThreshold( 0.0 )
35
Exercise 16
36
Threshold Level Set
Advection term added controlled by a threshold
LevelSet equivalent of a connected components
method inside a threshold
but with options for preventing leaks
37
Threshold Segmentation
typedef itkImagelt float , 2 gt
ImageType typedef itkThresholdSegmentationLev
elSetImageFilterlt
ImageType, ImageType gt
FilterType FilterTypePointer
thresholdSegmentation FilterTypeNew() thre
sholdSegmentation-gtSetInput( inputLevelSet )
thresholdSegmentation-gtSetFeatureImage(
inputImage ) thresholdSegmentation-gtSetPropagat
ionScaling( 1.0 ) thresholdSegmentation-gtSetCurv
atureScaling( 5.0 ) thresholdSegmentation-gtSetAd
vectionScaling( 2.0 )
38
Threshold Segmentation
thresholdSegmentation-gtSetMaximumRMSError( 0.001
) thresholdSegmentation-gtSetMaximumIterations(
400 ) thresholdSegmentation-gtSetLowerThreshold(
210 ) thresholdSegmentation-gtSetUpperThreshold(
250 ) thresholdSegmentation-gtSetIsoSurface(
0.0 ) // zero set thresholdSegmentation-gtSetUs
eNegativeFeaturesOn() thresholdSegmentation-gtUpd
ate()
39
Exercise 17
40
Threshold Level Set
Advection term added controlled by edges
Canny edges attract the zero set
41
Canny Segmentation
typedef itkImagelt float , 2 gt
ImageType typedef itkCannySegmentationLevelSe
tImageFilterlt
ImageType, ImageType gt
FilterType FilterTypePointer
cannySegmentation FilterTypeNew() cannySeg
mentation-gtSetInput( inputLevelSet )
cannySegmentation-gtSetFeatureImage( inputImage
) cannySegmentation-gtSetPropagationScaling(
0.0 ) cannySegmentation-gtSetCurvatureScaling(
1.0 ) cannySegmentation-gtSetAdvectionScaling(
2.0 ) // canny edges
42
Canny Segmentation
cannySegmentation-gtSetMaximumRMSError( 0.01 )
cannySegmentation-gtSetMaximumIterations( 400 )
cannySegmentation-gtSetThreshold( 2.0 )
cannySegmentation-gtSetVariance( 1.0 )
cannySegmentation-gtSetIsoSurface( 127.0 ) //
zero set cannySegmentation-gtSetUseNegativeFeatur
esOn() cannySegmentation-gtUpdate()
43
Exercise 18
44
Enjoy ITK !
Write a Comment
User Comments (0)
About PowerShow.com