Class DemonsRegistrationFilter
java.lang.Object
org.itk.simple.ProcessObject
org.itk.simple.ImageFilter
org.itk.simple.DemonsRegistrationFilter
Deformably register two images using the demons algorithm.
DemonsRegistrationFilter implements the demons deformable algorithm that register two images
by computing the displacement field which will map a moving image onto
a fixed image.
A displacement field is represented as a image whose pixel type is
some vector type with at least N elements, where N is the dimension of
the fixed image. The vector type must support element access via
operator []. It is assumed that the vector elements behave like
floating point scalars.
This class is templated over the fixed image type, moving image type
and the displacement field type.
The input fixed and moving images are set via methods SetFixedImage
and SetMovingImage respectively. An initial displacement field maybe
set via SetInitialDisplacementField or SetInput. If no initial field
is set, a zero field is used as the initial condition.
The algorithm has one parameters: the number of iteration to be
performed.
The output displacement field can be obtained via methods GetOutput or
GetDisplacementField.
This class make use of the finite difference solver hierarchy. Update
for each iteration is computed in DemonsRegistrationFunction .
WARNING:
This filter assumes that the fixed image type, moving image type and
displacement field type all have the same number of dimensions.
See:
 DemonsRegistrationFunction
 itk::DemonsRegistrationFilter for the Doxygen on the original ITK class.
C++ includes: sitkDemonsRegistrationFilter.h
- 
Field SummaryFields inherited from class org.itk.simple.ProcessObjectswigCMemOwn
- 
Constructor SummaryConstructorsModifierConstructorDescriptionitk::simple::DemonsRegistrationFilter::DemonsRegistrationFilter() Default Constructor that takes no arguments and initializes default parametersprotectedDemonsRegistrationFilter(long cPtr, boolean cMemoryOwn) 
- 
Method SummaryModifier and TypeMethodDescriptionvoiddelete()virtual itk::simple::DemonsRegistrationFilter::~DemonsRegistrationFilter() DestructorImage itk::simple::DemonsRegistrationFilter::Execute(const Image &fixedImage, const Image &movingImage, const Image &initialDisplacementField) Execute the filter on the input imageImage itk::simple::DemonsRegistrationFilter::Execute(const Image &fixedImage, const Image &movingImage, const Image &initialDisplacementField) Execute the filter on the input imageprotected voidfinalize()protected static longlonguint32_t itk::simple::DemonsRegistrationFilter::GetElapsedIterations() const Number of iterations run.doubledouble itk::simple::DemonsRegistrationFilter::GetIntensityDifferenceThreshold() constdoubledouble itk::simple::DemonsRegistrationFilter::GetMaximumError() const Set/Get the desired maximum error of the Guassian kernel approximate.longunsigned int itk::simple::DemonsRegistrationFilter::GetMaximumKernelWidth() const Set/Get the desired limits of the Gaussian kernel width.doubledouble itk::simple::DemonsRegistrationFilter::GetMaximumRMSError() constdoubledouble itk::simple::DemonsRegistrationFilter::GetMetric() const Get the metric value.getName()std::string itk::simple::DemonsRegistrationFilter::GetName() const Name of this classlonguint32_t itk::simple::DemonsRegistrationFilter::GetNumberOfIterations() constdoubledouble itk::simple::DemonsRegistrationFilter::GetRMSChange() const The Root Mean Square of the levelset upon termination.booleanbool itk::simple::DemonsRegistrationFilter::GetSmoothDisplacementField() const Set/Get whether the displacement field is smoothed (regularized).booleanbool itk::simple::DemonsRegistrationFilter::GetSmoothUpdateField() const Set/Get whether the update field is smoothed (regularized).std::vector<double> itk::simple::DemonsRegistrationFilter::GetStandardDeviations() const Set/Get the Gaussian smoothing standard deviations for the displacement field.std::vector<double> itk::simple::DemonsRegistrationFilter::GetUpdateFieldStandardDeviations() const Set the Gaussian smoothing standard deviations for the update field.booleanbool itk::simple::DemonsRegistrationFilter::GetUseImageSpacing() constbooleanbool itk::simple::DemonsRegistrationFilter::GetUseMovingImageGradient() const Switch between using the fixed image and moving image gradient for computing the displacement field updates.voidsetIntensityDifferenceThreshold(double IntensityDifferenceThreshold) Self& itk::simple::DemonsRegistrationFilter::SetIntensityDifferenceThreshold(double IntensityDifferenceThreshold) Set/Get the threshold below which the absolute difference of intensity yields a match.voidsetMaximumError(double MaximumError) Self& itk::simple::DemonsRegistrationFilter::SetMaximumError(double MaximumError) Set/Get the desired maximum error of the Guassian kernel approximate.voidsetMaximumKernelWidth(long MaximumKernelWidth) Self& itk::simple::DemonsRegistrationFilter::SetMaximumKernelWidth(unsigned int MaximumKernelWidth) Set/Get the desired limits of the Gaussian kernel width.voidsetMaximumRMSError(double MaximumRMSError) Self& itk::simple::DemonsRegistrationFilter::SetMaximumRMSError(double MaximumRMSError)voidsetNumberOfIterations(long NumberOfIterations) Self& itk::simple::DemonsRegistrationFilter::SetNumberOfIterations(uint32_t NumberOfIterations)voidsetSmoothDisplacementField(boolean SmoothDisplacementField) Self& itk::simple::DemonsRegistrationFilter::SetSmoothDisplacementField(bool SmoothDisplacementField) Set/Get whether the displacement field is smoothed (regularized).voidsetSmoothUpdateField(boolean SmoothUpdateField) Self& itk::simple::DemonsRegistrationFilter::SetSmoothUpdateField(bool SmoothUpdateField) Set/Get whether the update field is smoothed (regularized).voidsetStandardDeviations(double value) Self& itk::simple::DemonsRegistrationFilter::SetStandardDeviations(std::vector< double > StandardDeviations) Set/Get the Gaussian smoothing standard deviations for the displacement field.voidsetStandardDeviations(VectorDouble StandardDeviations) Self& itk::simple::DemonsRegistrationFilter::SetStandardDeviations(std::vector< double > StandardDeviations) Set/Get the Gaussian smoothing standard deviations for the displacement field.voidsetUpdateFieldStandardDeviations(double value) Self& itk::simple::DemonsRegistrationFilter::SetUpdateFieldStandardDeviations(std::vector< double > UpdateFieldStandardDeviations) Set the Gaussian smoothing standard deviations for the update field.voidsetUpdateFieldStandardDeviations(VectorDouble UpdateFieldStandardDeviations) Self& itk::simple::DemonsRegistrationFilter::SetUpdateFieldStandardDeviations(std::vector< double > UpdateFieldStandardDeviations) Set the Gaussian smoothing standard deviations for the update field.voidsetUseImageSpacing(boolean UseImageSpacing) Self& itk::simple::DemonsRegistrationFilter::SetUseImageSpacing(bool UseImageSpacing)voidsetUseMovingImageGradient(boolean UseMovingImageGradient) Self& itk::simple::DemonsRegistrationFilter::SetUseMovingImageGradient(bool UseMovingImageGradient) Switch between using the fixed image and moving image gradient for computing the displacement field updates.voidSelf& itk::simple::DemonsRegistrationFilter::SmoothDisplacementFieldOff()voidSelf& itk::simple::DemonsRegistrationFilter::SmoothDisplacementFieldOn() Set the value of SmoothDisplacementField to true or false respectfully.voidSelf& itk::simple::DemonsRegistrationFilter::SmoothUpdateFieldOff()voidSelf& itk::simple::DemonsRegistrationFilter::SmoothUpdateFieldOn() Set the value of SmoothUpdateField to true or false respectfully.voidvoid itk::simple::DemonsRegistrationFilter::StopRegistration() This is an active measurement.protected static longtoString()std::string itk::simple::DemonsRegistrationFilter::ToString() const Print ourselves outvoidSelf& itk::simple::DemonsRegistrationFilter::UseImageSpacingOff()voidSelf& itk::simple::DemonsRegistrationFilter::UseImageSpacingOn() Set the value of UseImageSpacing to true or false respectfully.voidSelf& itk::simple::DemonsRegistrationFilter::UseMovingImageGradientOff()voidSelf& itk::simple::DemonsRegistrationFilter::UseMovingImageGradientOn() Set the value of UseMovingImageGradient to true or false respectfully.Methods inherited from class org.itk.simple.ImageFiltergetCPtr, swigReleaseMethods inherited from class org.itk.simple.ProcessObjectabort, addCommand, debugOff, debugOn, getCPtr, getDebug, getGlobalDefaultCoordinateTolerance, getGlobalDefaultDebug, getGlobalDefaultDirectionTolerance, getGlobalDefaultNumberOfThreads, getGlobalDefaultThreader, getGlobalWarningDisplay, getNumberOfThreads, getNumberOfWorkUnits, getProgress, globalDefaultDebugOff, globalDefaultDebugOn, globalWarningDisplayOff, globalWarningDisplayOn, hasCommand, removeAllCommands, setDebug, setGlobalDefaultCoordinateTolerance, setGlobalDefaultDebug, setGlobalDefaultDirectionTolerance, setGlobalDefaultNumberOfThreads, setGlobalDefaultThreader, setGlobalWarningDisplay, setNumberOfThreads, setNumberOfWorkUnits, swigRelease
- 
Constructor Details- 
DemonsRegistrationFilterprotected DemonsRegistrationFilter(long cPtr, boolean cMemoryOwn) 
- 
DemonsRegistrationFilterpublic DemonsRegistrationFilter()itk::simple::DemonsRegistrationFilter::DemonsRegistrationFilter() Default Constructor that takes no arguments and initializes default parameters
 
- 
- 
Method Details- 
getCPtr
- 
swigRelease
- 
finalizeprotected void finalize()- Overrides:
- finalizein class- ImageFilter
 
- 
deletepublic void delete()virtual itk::simple::DemonsRegistrationFilter::~DemonsRegistrationFilter() Destructor- Overrides:
- deletein class- ImageFilter
 
- 
setStandardDeviationsSelf& itk::simple::DemonsRegistrationFilter::SetStandardDeviations(std::vector< double > StandardDeviations) Set/Get the Gaussian smoothing standard deviations for the displacement field. The values are set with respect to pixel coordinates.
- 
setStandardDeviationspublic void setStandardDeviations(double value) Self& itk::simple::DemonsRegistrationFilter::SetStandardDeviations(std::vector< double > StandardDeviations) Set/Get the Gaussian smoothing standard deviations for the displacement field. The values are set with respect to pixel coordinates.
- 
getStandardDeviationsstd::vector<double> itk::simple::DemonsRegistrationFilter::GetStandardDeviations() const Set/Get the Gaussian smoothing standard deviations for the displacement field. The values are set with respect to pixel coordinates.
- 
setNumberOfIterationspublic void setNumberOfIterations(long NumberOfIterations) Self& itk::simple::DemonsRegistrationFilter::SetNumberOfIterations(uint32_t NumberOfIterations)
- 
getNumberOfIterationspublic long getNumberOfIterations()uint32_t itk::simple::DemonsRegistrationFilter::GetNumberOfIterations() const
- 
setMaximumRMSErrorpublic void setMaximumRMSError(double MaximumRMSError) Self& itk::simple::DemonsRegistrationFilter::SetMaximumRMSError(double MaximumRMSError)
- 
getMaximumRMSErrorpublic double getMaximumRMSError()double itk::simple::DemonsRegistrationFilter::GetMaximumRMSError() const
- 
setUseMovingImageGradientpublic void setUseMovingImageGradient(boolean UseMovingImageGradient) Self& itk::simple::DemonsRegistrationFilter::SetUseMovingImageGradient(bool UseMovingImageGradient) Switch between using the fixed image and moving image gradient for computing the displacement field updates.
- 
useMovingImageGradientOnpublic void useMovingImageGradientOn()Self& itk::simple::DemonsRegistrationFilter::UseMovingImageGradientOn() Set the value of UseMovingImageGradient to true or false respectfully.
- 
useMovingImageGradientOffpublic void useMovingImageGradientOff()Self& itk::simple::DemonsRegistrationFilter::UseMovingImageGradientOff()
- 
getUseMovingImageGradientpublic boolean getUseMovingImageGradient()bool itk::simple::DemonsRegistrationFilter::GetUseMovingImageGradient() const Switch between using the fixed image and moving image gradient for computing the displacement field updates.
- 
setSmoothDisplacementFieldpublic void setSmoothDisplacementField(boolean SmoothDisplacementField) Self& itk::simple::DemonsRegistrationFilter::SetSmoothDisplacementField(bool SmoothDisplacementField) Set/Get whether the displacement field is smoothed (regularized). Smoothing the displacement yields a solution elastic in nature. If SmoothDisplacementField is on, then the displacement field is smoothed with a Gaussian whose standard deviations are specified with SetStandardDeviations()
- 
smoothDisplacementFieldOnpublic void smoothDisplacementFieldOn()Self& itk::simple::DemonsRegistrationFilter::SmoothDisplacementFieldOn() Set the value of SmoothDisplacementField to true or false respectfully.
- 
smoothDisplacementFieldOffpublic void smoothDisplacementFieldOff()Self& itk::simple::DemonsRegistrationFilter::SmoothDisplacementFieldOff()
- 
getSmoothDisplacementFieldpublic boolean getSmoothDisplacementField()bool itk::simple::DemonsRegistrationFilter::GetSmoothDisplacementField() const Set/Get whether the displacement field is smoothed (regularized). Smoothing the displacement yields a solution elastic in nature. If SmoothDisplacementField is on, then the displacement field is smoothed with a Gaussian whose standard deviations are specified with SetStandardDeviations()
- 
setSmoothUpdateFieldpublic void setSmoothUpdateField(boolean SmoothUpdateField) Self& itk::simple::DemonsRegistrationFilter::SetSmoothUpdateField(bool SmoothUpdateField) Set/Get whether the update field is smoothed (regularized). Smoothing the update field yields a solution viscous in nature. If SmoothUpdateField is on, then the update field is smoothed with a Gaussian whose standard deviations are specified with SetUpdateFieldStandardDeviations()
- 
smoothUpdateFieldOnpublic void smoothUpdateFieldOn()Self& itk::simple::DemonsRegistrationFilter::SmoothUpdateFieldOn() Set the value of SmoothUpdateField to true or false respectfully.
- 
smoothUpdateFieldOffpublic void smoothUpdateFieldOff()Self& itk::simple::DemonsRegistrationFilter::SmoothUpdateFieldOff()
- 
getSmoothUpdateFieldpublic boolean getSmoothUpdateField()bool itk::simple::DemonsRegistrationFilter::GetSmoothUpdateField() const Set/Get whether the update field is smoothed (regularized). Smoothing the update field yields a solution viscous in nature. If SmoothUpdateField is on, then the update field is smoothed with a Gaussian whose standard deviations are specified with SetUpdateFieldStandardDeviations()
- 
setUpdateFieldStandardDeviationsSelf& itk::simple::DemonsRegistrationFilter::SetUpdateFieldStandardDeviations(std::vector< double > UpdateFieldStandardDeviations) Set the Gaussian smoothing standard deviations for the update field. The values are set with respect to pixel coordinates.
- 
setUpdateFieldStandardDeviationspublic void setUpdateFieldStandardDeviations(double value) Self& itk::simple::DemonsRegistrationFilter::SetUpdateFieldStandardDeviations(std::vector< double > UpdateFieldStandardDeviations) Set the Gaussian smoothing standard deviations for the update field. The values are set with respect to pixel coordinates.
- 
getUpdateFieldStandardDeviationsstd::vector<double> itk::simple::DemonsRegistrationFilter::GetUpdateFieldStandardDeviations() const Set the Gaussian smoothing standard deviations for the update field. The values are set with respect to pixel coordinates.
- 
setMaximumKernelWidthpublic void setMaximumKernelWidth(long MaximumKernelWidth) Self& itk::simple::DemonsRegistrationFilter::SetMaximumKernelWidth(unsigned int MaximumKernelWidth) Set/Get the desired limits of the Gaussian kernel width.
- 
getMaximumKernelWidthpublic long getMaximumKernelWidth()unsigned int itk::simple::DemonsRegistrationFilter::GetMaximumKernelWidth() const Set/Get the desired limits of the Gaussian kernel width.
- 
setMaximumErrorpublic void setMaximumError(double MaximumError) Self& itk::simple::DemonsRegistrationFilter::SetMaximumError(double MaximumError) Set/Get the desired maximum error of the Guassian kernel approximate.
- 
getMaximumErrorpublic double getMaximumError()double itk::simple::DemonsRegistrationFilter::GetMaximumError() const Set/Get the desired maximum error of the Guassian kernel approximate.
- 
setIntensityDifferenceThresholdpublic void setIntensityDifferenceThreshold(double IntensityDifferenceThreshold) Self& itk::simple::DemonsRegistrationFilter::SetIntensityDifferenceThreshold(double IntensityDifferenceThreshold) Set/Get the threshold below which the absolute difference of intensity yields a match. When the intensities match between a moving and fixed image pixel, the update vector (for that iteration) will be the zero vector. Default is 0.001.
- 
getIntensityDifferenceThresholdpublic double getIntensityDifferenceThreshold()double itk::simple::DemonsRegistrationFilter::GetIntensityDifferenceThreshold() const
- 
setUseImageSpacingpublic void setUseImageSpacing(boolean UseImageSpacing) Self& itk::simple::DemonsRegistrationFilter::SetUseImageSpacing(bool UseImageSpacing)
- 
useImageSpacingOnpublic void useImageSpacingOn()Self& itk::simple::DemonsRegistrationFilter::UseImageSpacingOn() Set the value of UseImageSpacing to true or false respectfully.
- 
useImageSpacingOffpublic void useImageSpacingOff()Self& itk::simple::DemonsRegistrationFilter::UseImageSpacingOff()
- 
getUseImageSpacingpublic boolean getUseImageSpacing()bool itk::simple::DemonsRegistrationFilter::GetUseImageSpacing() const
- 
getElapsedIterationspublic long getElapsedIterations()uint32_t itk::simple::DemonsRegistrationFilter::GetElapsedIterations() const Number of iterations run. This is an active measurement. It may be accessed while the filter is being executing in command call-backs and can be accessed after execution.
- 
getRMSChangepublic double getRMSChange()double itk::simple::DemonsRegistrationFilter::GetRMSChange() const The Root Mean Square of the levelset upon termination. This is a measurement. Its value is updated in the Execute methods, so the value will only be valid after an execution.
- 
getMetricpublic double getMetric()double itk::simple::DemonsRegistrationFilter::GetMetric() const Get the metric value. The metric value is the mean square difference in intensity between the fixed image and transforming moving image computed over the overlapping region between the two images. This is value is only available for the previous iteration and NOT the current iteration. This is an active measurement. It may be accessed while the filter is being executing in command call-backs and can be accessed after execution.
- 
stopRegistrationpublic void stopRegistration()void itk::simple::DemonsRegistrationFilter::StopRegistration() This is an active measurement. It may be accessed while the filter is being executing in command call-backs and can be accessed after execution.
- 
getNamestd::string itk::simple::DemonsRegistrationFilter::GetName() const Name of this class- Overrides:
- getNamein class- ProcessObject
 
- 
toStringstd::string itk::simple::DemonsRegistrationFilter::ToString() const Print ourselves out- Overrides:
- toStringin class- ProcessObject
 
- 
execute
- 
execute
 
-