#include <itkMultiResolutionImageRegistrationMethod.h>
Inheritance diagram for itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >:


This class provides a generic interface for multi-resolution registration using components of the registration framework. See documentation for ImageRegistrationMethod for a description of the registration framework components.
The registration process is initiated by method StartRegistration(). The user must set the parameters of each component before calling this method.
The number of resolution level to process can be set via SetNumberOfLevels(). At each resolution level, the user specified registration components are used to register downsampled version of the images by computing the transform parameters that will map one image onto the other image.
A user can specify schedules for the fixed and moving image using SetSchedules() method. However, SetNumberOfLevels() and SetSchedules() should not be used together. An exception will be thrown if that happens.
The downsampled images are provided by user specified MultiResolutionPyramidImageFilters. User must specify the schedule for each pyramid externally prior to calling StartRegistration().
This class is templated over the fixed image type and the moving image type.
Definition at line 71 of file itkMultiResolutionImageRegistrationMethod.h.
| typedef SmartPointer<const Self> itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::ConstPointer |
Reimplemented from itk::ProcessObject.
Definition at line 78 of file itkMultiResolutionImageRegistrationMethod.h.
| typedef DataObject::Pointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::DataObjectPointer |
Smart Pointer type to a DataObject.
Reimplemented from itk::ProcessObject.
Definition at line 137 of file itkMultiResolutionImageRegistrationMethod.h.
typedef std::vector<DataObjectPointer> itk::ProcessObject::DataObjectPointerArray [inherited] |
STL Array of SmartPointers to DataObjects
Definition at line 103 of file itkProcessObject.h.
typedef DataObjectPointerArray::size_type itk::ProcessObject::DataObjectPointerArraySizeType [inherited] |
Size type of an std::vector
Definition at line 112 of file itkProcessObject.h.
| typedef FixedImageType::ConstPointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::FixedImageConstPointer |
Definition at line 88 of file itkMultiResolutionImageRegistrationMethod.h.
| typedef FixedImagePyramidType::Pointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::FixedImagePyramidPointer |
Definition at line 121 of file itkMultiResolutionImageRegistrationMethod.h.
| typedef MultiResolutionPyramidImageFilter< FixedImageType, FixedImageType > itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::FixedImagePyramidType |
Type of the Fixed image multiresolution pyramid.
Definition at line 120 of file itkMultiResolutionImageRegistrationMethod.h.
| typedef FixedImageType::RegionType itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::FixedImageRegionType |
Definition at line 89 of file itkMultiResolutionImageRegistrationMethod.h.
| typedef TFixedImage itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::FixedImageType |
Type of the Fixed image.
Definition at line 84 of file itkMultiResolutionImageRegistrationMethod.h.
| typedef InterpolatorType::Pointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::InterpolatorPointer |
Definition at line 112 of file itkMultiResolutionImageRegistrationMethod.h.
| typedef MetricType::InterpolatorType itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::InterpolatorType |
Type of the Interpolator.
Definition at line 111 of file itkMultiResolutionImageRegistrationMethod.h.
| typedef MetricType::Pointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::MetricPointer |
Definition at line 98 of file itkMultiResolutionImageRegistrationMethod.h.
| typedef ImageToImageMetric< FixedImageType, MovingImageType > itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::MetricType |
Type of the metric.
Definition at line 97 of file itkMultiResolutionImageRegistrationMethod.h.
| typedef MovingImageType::ConstPointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::MovingImageConstPointer |
Definition at line 93 of file itkMultiResolutionImageRegistrationMethod.h.
| typedef MovingImagePyramidType::Pointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::MovingImagePyramidPointer |
Definition at line 130 of file itkMultiResolutionImageRegistrationMethod.h.
| typedef MultiResolutionPyramidImageFilter< MovingImageType, MovingImageType > itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::MovingImagePyramidType |
Type of the moving image multiresolution pyramid.
Definition at line 129 of file itkMultiResolutionImageRegistrationMethod.h.
| typedef TMovingImage itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::MovingImageType |
Type of the Moving image.
Definition at line 92 of file itkMultiResolutionImageRegistrationMethod.h.
| typedef SingleValuedNonLinearOptimizer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::OptimizerType |
Type of the optimizer.
Definition at line 115 of file itkMultiResolutionImageRegistrationMethod.h.
| typedef MetricType::TransformParametersType itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::ParametersType |
Type of the Transformation parameters This is the same type used to represent the search space of the optimization algorithm
Definition at line 134 of file itkMultiResolutionImageRegistrationMethod.h.
| typedef SmartPointer<Self> itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::Pointer |
Reimplemented from itk::ProcessObject.
Definition at line 77 of file itkMultiResolutionImageRegistrationMethod.h.
| typedef FixedImagePyramidType::ScheduleType itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::ScheduleType |
Type of pyramid schedule type
Definition at line 124 of file itkMultiResolutionImageRegistrationMethod.h.
| typedef MultiResolutionImageRegistrationMethod itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::Self |
Standard class typedefs.
Reimplemented from itk::ProcessObject.
Definition at line 75 of file itkMultiResolutionImageRegistrationMethod.h.
| typedef ProcessObject itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::Superclass |
Reimplemented from itk::ProcessObject.
Definition at line 76 of file itkMultiResolutionImageRegistrationMethod.h.
| typedef TransformOutputType::ConstPointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::TransformOutputConstPointer |
Definition at line 108 of file itkMultiResolutionImageRegistrationMethod.h.
| typedef TransformOutputType::Pointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::TransformOutputPointer |
Definition at line 107 of file itkMultiResolutionImageRegistrationMethod.h.
| typedef DataObjectDecorator< TransformType > itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::TransformOutputType |
Type for the output: Using Decorator pattern for enabling the Transform to be passed in the data pipeline
Definition at line 106 of file itkMultiResolutionImageRegistrationMethod.h.
| typedef TransformType::Pointer itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::TransformPointer |
Definition at line 102 of file itkMultiResolutionImageRegistrationMethod.h.
| typedef MetricType::TransformType itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::TransformType |
Type of the Transform .
Definition at line 101 of file itkMultiResolutionImageRegistrationMethod.h.
| itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::MultiResolutionImageRegistrationMethod | ( | ) | [protected] |
| virtual itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::~MultiResolutionImageRegistrationMethod | ( | ) | [inline, protected, virtual] |
Definition at line 234 of file itkMultiResolutionImageRegistrationMethod.h.
| virtual void itk::ProcessObject::AbortGenerateDataOff | ( | ) | [virtual, inherited] |
| virtual void itk::ProcessObject::AbortGenerateDataOn | ( | ) | [virtual, inherited] |
Turn on and off the AbortGenerateData flag.
| virtual void itk::ProcessObject::AddInput | ( | DataObject * | input | ) | [protected, virtual, inherited] |
| unsigned long itk::Object::AddObserver | ( | const EventObject & | event, | |
| Command * | ||||
| ) | const [inherited] |
| unsigned long itk::Object::AddObserver | ( | const EventObject & | event, | |
| Command * | ||||
| ) | [inherited] |
Allow people to add/remove/invoke observers (callbacks) to any ITK object. This is an implementation of the subject/observer design pattern. An observer is added by specifying an event to respond to and an itk::Command to execute. It returns an unsigned long tag which can be used later to remove the event or retrieve the command. The memory for the Command becomes the responsibility of this object, so don't pass the same instance of a command to two different objects
| virtual void itk::ProcessObject::AddOutput | ( | DataObject * | output | ) | [protected, virtual, inherited] |
| static void itk::LightObject::BreakOnError | ( | ) | [static, inherited] |
This method is called when itkExceptionMacro executes. It allows the debugger to break on error.
| virtual void itk::ProcessObject::CacheInputReleaseDataFlags | ( | ) | [protected, virtual, inherited] |
Cache the state of any ReleaseDataFlag's on the inputs. While the filter is executing, we need to set the ReleaseDataFlag's on the inputs to false in case the current filter is implemented using a mini-pipeline (which will try to release the inputs). After the filter finishes, we restore the state of the ReleaseDataFlag's before the call to ReleaseInputs().
| virtual LightObject::Pointer itk::Object::CreateAnother | ( | ) | const [virtual, inherited] |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::LightObject.
| virtual void itk::Object::DebugOff | ( | ) | const [virtual, inherited] |
Turn debugging output off.
| virtual void itk::Object::DebugOn | ( | ) | const [virtual, inherited] |
Turn debugging output on.
| virtual void itk::LightObject::Delete | ( | ) | [virtual, inherited] |
Delete an itk object. This method should always be used to delete an object when the new operator was used to create it. Using the C delete method will not work with reference counting.
| virtual void itk::ProcessObject::EnlargeOutputRequestedRegion | ( | DataObject * | ) | [inline, virtual, inherited] |
Give the process object a chance to indictate that it will produce more output than it was requested to produce. For example, many imaging filters must compute the entire output at once or can only produce output in complete slices. Such filters cannot handle smaller requested regions. These filters must provide an implementation of this method, setting the output requested region to the size they will produce. By default, a process object does not modify the size of the output requested region.
Reimplemented in itk::CurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::ExtensionVelocitiesImageFilter< TLevelSet, TAuxValue, VAuxDimension >, itk::FastMarchingExtensionImageFilter< TLevelSet, TAuxValue, VAuxDimension, TSpeedImage >, itk::FastMarchingImageFilter< TLevelSet, TSpeedImage >, itk::FFTRealToComplexConjugateImageFilter< TPixel, Dimension >, itk::ImagePCAShapeModelEstimator< TInputImage, TOutputImage >, itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >, itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >, itk::KLMRegionGrowImageFilter< TInputImage, TOutputImage >, itk::MRFImageFilter< TInputImage, TClassifiedImage >, itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >, itk::ReinitializeLevelSetImageFilter< TLevelSet >, itk::VoronoiSegmentationImageFilterBase< TInputImage, TOutputImage, TBinaryPriorImage >, itk::WatershedImageFilter< TInputImage >, itk::BlackTopHatImageFilter< TInputImage, TOutputImage, TKernel >, itk::BSplineDecompositionImageFilter< TInputImage, TOutputImage >, itk::ClosingByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >, itk::ConfidenceConnectedImageFilter< TInputImage, TOutputImage >, itk::ConnectedComponentImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::ConnectedThresholdImageFilter< TInputImage, TOutputImage >, itk::ContourDirectedMeanDistanceImageFilter< TInputImage1, TInputImage2 >, itk::ContourMeanDistanceImageFilter< TInputImage1, TInputImage2 >, itk::DirectedHausdorffDistanceImageFilter< TInputImage1, TInputImage2 >, itk::DoubleThresholdImageFilter< TInputImage, TOutputImage >, itk::ExtractOrthogonalSwath2DImageFilter< TImage >, itk::GradientMagnitudeRecursiveGaussianImageFilter< TInputImage, TOutputImage >, itk::GradientRecursiveGaussianImageFilter< TInputImage, TOutputImage >, itk::GrayscaleConnectedClosingImageFilter< TInputImage, TOutputImage >, itk::GrayscaleConnectedOpeningImageFilter< TInputImage, TOutputImage >, itk::GrayscaleFillholeImageFilter< TInputImage, TOutputImage >, itk::GrayscaleGeodesicDilateImageFilter< TInputImage, TOutputImage >, itk::GrayscaleGeodesicErodeImageFilter< TInputImage, TOutputImage >, itk::GrayscaleGrindPeakImageFilter< TInputImage, TOutputImage >, itk::GrayscaleMorphologicalClosingImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleMorphologicalOpeningImageFilter< TInputImage, TOutputImage, TKernel >, itk::HausdorffDistanceImageFilter< TInputImage1, TInputImage2 >, itk::HConcaveImageFilter< TInputImage, TOutputImage >, itk::HConvexImageFilter< TInputImage, TOutputImage >, itk::HessianRecursiveGaussianImageFilter< TInputImage, TOutputImage >, itk::HMaximaImageFilter< TInputImage, TOutputImage >, itk::HMinimaImageFilter< TInputImage, TOutputImage >, itk::HoughTransform2DCirclesImageFilter< TInputPixelType, TOutputPixelType >, itk::HoughTransform2DLinesImageFilter< TInputPixelType, TOutputPixelType >, itk::ImportImageFilter< TPixel, VImageDimension >, itk::IsolatedConnectedImageFilter< TInputImage, TOutputImage >, itk::LabelStatisticsImageFilter< TInputImage, TLabelImage >, itk::LaplacianRecursiveGaussianImageFilter< TInputImage, TOutputImage >, itk::MinimumMaximumImageFilter< TInputImage >, itk::NeighborhoodConnectedImageFilter< TInputImage, TOutputImage >, itk::OpeningByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >, itk::OrientImageFilter< TInputImage, TOutputImage >, itk::ReconstructionImageFilter< TInputImage, TOutputImage, TCompare >, itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >, itk::RegionOfInterestImageFilter< TInputImage, TOutputImage >, itk::ShrinkImageFilter< TInputImage, TOutputImage >, itk::SimilarityIndexImageFilter< TInputImage1, TInputImage2 >, itk::SmoothingRecursiveGaussianImageFilter< TInputImage, TOutputImage >, itk::StatisticsImageFilter< TInputImage >, itk::TobogganImageFilter< TInputImage >, itk::VectorConfidenceConnectedImageFilter< TInputImage, TOutputImage >, itk::WhiteTopHatImageFilter< TInputImage, TOutputImage, TKernel >, itk::ImageFileReader< TOutputImage, ConvertPixelTraits >, itk::ImageSeriesReader< TOutputImage >, itk::MorphologicalWatershedFromMarkersImageFilter< TInputImage, TLabelImage >, itk::MorphologicalWatershedImageFilter< TInputImage, TOutputImage >, itk::RegionalMaximaImageFilter< TInputImage, TOutputImage >, itk::RegionalMinimaImageFilter< TInputImage, TOutputImage >, itk::ValuedRegionalExtremaImageFilter< TInputImage, TOutputImage, TFunction1, TFunction2 >, itk::VoronoiSegmentationImageFilterBase< TInputImage, TOutputImage >, itk::ReconstructionImageFilter< TInputImage, TOutputImage, std::greater< TOutputImage::PixelType > >, itk::ReconstructionImageFilter< TInputImage, TOutputImage, std::less< TOutputImage::PixelType > >, itk::ValuedRegionalExtremaImageFilter< TInputImage, TOutputImage, std::greater< TInputImage::PixelType >, std::greater< TOutputImage::PixelType > >, and itk::ValuedRegionalExtremaImageFilter< TInputImage, TOutputImage, std::less< TInputImage::PixelType >, std::less< TOutputImage::PixelType > >.
Definition at line 225 of file itkProcessObject.h.
| void itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >::GenerateData | ( | ) | [protected, virtual] |
Method invoked by the pipeline in order to trigger the computation of the registration.
Reimplemented from itk::ProcessObject.
| virtual void itk::ProcessObject::GenerateInputRequestedRegion | ( | ) | [protected, virtual, inherited] |
What is the input requested region that is required to produce the output requested region? By default, the largest possible region is always required but this is overridden in many subclasses. For instance, for an image processing filter where an output pixel is a simple function of an input pixel, the input requested region will be set to the output requested region. For an image processing filter where an output pixel is a function of the pixels in a neighborhood of an input pixel, then the input requested region will need to be larger than the output requested region (to avoid introducing artificial boundary conditions). This function should never request an input region that is outside the the input largest possible region (i.e. implementations of this method should crop the input requested region at the boundaries of the input largest possible region).
Reimplemented in itk::CurvatureFlowImageFilter< TInputImage, TOutputImage >, itk::FFTComplexConjugateToRealImageFilter< TPixel, Dimension >, itk::FFTRealToComplexConjugateImageFilter< TPixel, Dimension >, itk::HistogramMatchingImageFilter< TInputImage, TOutputImage, THistogramMeasurement >, itk::ImagePCAShapeModelEstimator< TInputImage, TOutputImage >, itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >, itk::IsolatedWatershedImageFilter< TInputImage, TOutputImage >, itk::KLMRegionGrowImageFilter< TInputImage, TOutputImage >, itk::MRFImageFilter< TInputImage, TClassifiedImage >, itk::MultiResolutionPDEDeformableRegistration< TFixedImage, TMovingImage, TDeformationField >, itk::MultiResolutionPyramidImageFilter< TInputImage, TOutputImage >, itk::OtsuMultipleThresholdsImageFilter< TInputImage, TOutputImage >, itk::OtsuThresholdImageFilter< TInputImage, TOutputImage >, itk::PDEDeformableRegistrationFilter< TFixedImage, TMovingImage, TDeformationField >, itk::RecursiveMultiResolutionPyramidImageFilter< TInputImage, TOutputImage >, itk::ReinitializeLevelSetImageFilter< TLevelSet >, itk::VoronoiSegmentationImageFilterBase< TInputImage, TOutputImage, TBinaryPriorImage >, itk::watershed::EquivalenceRelabeler< TScalarType, TImageDimension >, itk::watershed::Relabeler< TScalarType, TImageDimension >, itk::watershed::Segmenter< TInputImage >, itk::watershed::SegmentTreeGenerator< TScalarType >, itk::AccumulateImageFilter< TInputImage, TOutputImage >, itk::AdaptiveHistogramEqualizationImageFilter< TImageType >, itk::BilateralImageFilter< TInputImage, TOutputImage >, itk::BinaryMedianImageFilter< TInputImage, TOutputImage >, itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >, itk::BinomialBlurImageFilter< TInputImage, TOutputImage >, itk::BlackTopHatImageFilter< TInputImage, TOutputImage, TKernel >, itk::BloxBoundaryPointToCoreAtomImageFilter< dim >, itk::BloxBoundaryProfileImageToBloxCoreAtomImageFilter< TInputImage, TOutputImage, TSourceImage >, itk::BSplineDecompositionImageFilter< TInputImage, TOutputImage >, itk::CannyEdgeDetectionImageFilter< TInputImage, TOutputImage >, itk::ChangeInformationImageFilter< TInputImage >, itk::ClosingByReconstructionImageFilter< TInputImage, TOutputImage, TKernel >, itk::ConfidenceConnectedImageFilter< TInputImage, TOutputImage >, itk::ConnectedComponentImageFilter< TInputImage, TOutputImage, TMaskImage >, itk::ConnectedThresholdImageFilter< TInputImage, TOutputImage >, itk::ContourDirectedMeanDistanceImageFilter< TInputImage1, TInputImage2 >, itk::ContourMeanDistanceImageFilter< TInputImage1, TInputImage2 >, itk::DeformationFieldJacobianDeterminantFilter< TInputImage, TRealType, TOutputImage >, itk::DerivativeImageFilter< TInputImage, TOutputImage >, itk::DirectedHausdorffDistanceImageFilter< TInputImage1, TInputImage2 >, itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >,