|
virtual ::itk::LightObject::Pointer | CreateAnother () const |
|
void | GetDerivative (const TransformParametersType ¶meters, DerivativeType &derivative) const override |
|
virtual const char * | GetNameOfClass () const |
|
MeasureType | GetValue (const TransformParametersType ¶meters) const override |
|
void | GetValueAndDerivative (const TransformParametersType ¶meters, MeasureType &value, DerivativeType &derivative) const override |
|
virtual void | SetFixedImage (const FixedImageType *_arg) |
|
virtual const FixedImageType * | GetFixedImage () const |
|
virtual void | SetMovingImage (const MovingImageType *_arg) |
|
virtual const MovingImageType * | GetMovingImage () const |
|
virtual void | SetTransform (TransformType *_arg) |
|
virtual TransformType * | GetModifiableTransform () |
|
virtual const TransformType * | GetTransform () const |
|
virtual void | SetInterpolator (InterpolatorType *_arg) |
|
virtual InterpolatorType * | GetModifiableInterpolator () |
|
virtual const InterpolatorType * | GetInterpolator () const |
|
SizeValueType | GetNumberOfMovingImageSamples () |
|
virtual const SizeValueType & | GetNumberOfPixelsCounted () const |
|
virtual void | SetFixedImageRegion (const FixedImageRegionType reg) |
|
virtual const FixedImageRegionType & | GetFixedImageRegion () const |
|
virtual void | SetMovingImageMask (MovingImageMaskType *_arg) |
|
virtual void | SetMovingImageMask (const MovingImageMaskType *_arg) |
|
virtual const MovingImageMaskType * | GetMovingImageMask () const |
|
virtual void | SetFixedImageMask (FixedImageMaskType *_arg) |
|
virtual void | SetFixedImageMask (const FixedImageMaskType *_arg) |
|
virtual const FixedImageMaskType * | GetFixedImageMask () const |
|
void | SetFixedImageIndexes (const FixedImageIndexContainer &indexes) |
|
void | SetUseFixedImageIndexes (bool useIndexes) |
|
virtual const bool & | GetUseFixedImageIndexes () const |
|
void | SetNumberOfWorkUnits (ThreadIdType numberOfThreads) |
|
virtual const ThreadIdType & | GetNumberOfWorkUnits () const |
|
virtual void | SetComputeGradient (bool _arg) |
|
virtual const bool & | GetComputeGradient () const |
|
virtual void | ComputeGradientOn () |
|
virtual void | ComputeGradientOff () |
|
virtual void | ComputeGradient () |
|
virtual GradientImageType * | GetModifiableGradientImage () |
|
virtual const GradientImageType * | GetGradientImage () const |
|
void | SetTransformParameters (const ParametersType ¶meters) const |
|
unsigned int | GetNumberOfParameters () const override |
|
virtual void | Initialize () |
|
virtual void | MultiThreadingInitialize () |
|
virtual void | SetNumberOfFixedImageSamples (SizeValueType numSamples) |
|
virtual const SizeValueType & | GetNumberOfFixedImageSamples () const |
|
void | SetNumberOfSpatialSamples (SizeValueType num) |
|
SizeValueType | GetNumberOfSpatialSamples () |
|
void | SetFixedImageSamplesIntensityThreshold (const FixedImagePixelType &thresh) |
|
virtual const FixedImagePixelType & | GetFixedImageSamplesIntensityThreshold () const |
|
void | SetUseFixedImageSamplesIntensityThreshold (bool useThresh) |
|
virtual const bool & | GetUseFixedImageSamplesIntensityThreshold () const |
|
void | SetUseAllPixels (bool useAllPixels) |
|
void | UseAllPixelsOn () |
|
void | UseAllPixelsOff () |
|
virtual const bool & | GetUseAllPixels () const |
|
void | SetUseSequentialSampling (bool useSequential) |
|
virtual const bool & | GetUseSequentialSampling () const |
|
void | ReinitializeSeed () |
|
void | ReinitializeSeed (int seed) |
|
virtual void | SetUseCachingOfBSplineWeights (bool _arg) |
|
virtual const bool & | GetUseCachingOfBSplineWeights () const |
|
virtual void | UseCachingOfBSplineWeightsOn () |
|
virtual void | UseCachingOfBSplineWeightsOff () |
|
virtual MultiThreaderType * | GetModifiableThreader () |
|
virtual const MultiThreaderType * | GetThreader () const |
|
const TransformPointer * | GetThreaderTransform () |
|
virtual void | GetDerivative (const ParametersType ¶meters, DerivativeType &derivative) const =0 |
|
virtual MeasureType | GetValue (const ParametersType ¶meters) const =0 |
|
virtual void | GetValueAndDerivative (const ParametersType ¶meters, MeasureType &value, DerivativeType &derivative) const |
|
unsigned long | AddObserver (const EventObject &event, Command *) |
|
unsigned long | AddObserver (const EventObject &event, Command *) const |
|
unsigned long | AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const |
|
virtual void | DebugOff () const |
|
virtual void | DebugOn () const |
|
Command * | GetCommand (unsigned long tag) |
|
bool | GetDebug () const |
|
MetaDataDictionary & | GetMetaDataDictionary () |
|
const MetaDataDictionary & | GetMetaDataDictionary () const |
|
virtual ModifiedTimeType | GetMTime () const |
|
virtual const TimeStamp & | GetTimeStamp () const |
|
bool | HasObserver (const EventObject &event) const |
|
void | InvokeEvent (const EventObject &) |
|
void | InvokeEvent (const EventObject &) const |
|
virtual void | Modified () const |
|
void | Register () const override |
|
void | RemoveAllObservers () |
|
void | RemoveObserver (unsigned long tag) |
|
void | SetDebug (bool debugFlag) const |
|
void | SetReferenceCount (int) override |
|
void | UnRegister () const noexcept override |
|
void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
|
void | SetMetaDataDictionary (MetaDataDictionary &&rrhs) |
|
virtual void | SetObjectName (std::string _arg) |
|
virtual const std::string & | GetObjectName () const |
|
Pointer | Clone () const |
|
virtual void | Delete () |
|
virtual int | GetReferenceCount () const |
|
void | Print (std::ostream &os, Indent indent=0) const |
|
|
static constexpr unsigned int | FixedImageDimension = TFixedImage::ImageDimension |
|
static constexpr unsigned int | MovingImageDimension = TMovingImage::ImageDimension |
|
using | FixedImageSampleContainer = std::vector< FixedImageSamplePoint > |
|
using | BSplineTransformType = BSplineBaseTransform< CoordinateRepresentationType, FixedImageType::ImageDimension, Self::DeformationSplineOrder > |
|
using | BSplineTransformWeightsType = typename BSplineTransformType::WeightsType |
|
using | WeightsValueType = typename BSplineTransformWeightsType::ValueType |
|
using | BSplineTransformWeightsArrayType = Array2D< WeightsValueType > |
|
using | BSplineTransformIndexArrayType = typename BSplineTransformType::ParameterIndexArrayType |
|
using | IndexValueType = typename BSplineTransformIndexArrayType::ValueType |
|
using | BSplineTransformIndicesArrayType = Array2D< IndexValueType > |
|
using | MovingImagePointArrayType = std::vector< MovingImagePointType > |
|
using | BooleanArrayType = std::vector< bool > |
|
using | BSplineParametersOffsetType = FixedArray< SizeValueType, FixedImageType::ImageDimension > |
|
using | BSplineInterpolatorType = BSplineInterpolateImageFunction< MovingImageType, CoordinateRepresentationType > |
|
using | DerivativeFunctionType = CentralDifferenceImageFunction< MovingImageType, CoordinateRepresentationType > |
|
using | ImageDerivativesType = CovariantVector< double, Self::MovingImageDimension > |
|
| ImageToImageMetric () |
|
| ~ImageToImageMetric () override |
|
virtual void | SampleFixedImageRegion (FixedImageSampleContainer &samples) const |
|
virtual void | SampleFixedImageIndexes (FixedImageSampleContainer &samples) const |
|
virtual void | SampleFullFixedImageRegion (FixedImageSampleContainer &samples) const |
|
virtual void | PreComputeTransformValues () |
|
virtual void | TransformPoint (unsigned int sampleNumber, MovingImagePointType &mappedPoint, bool &sampleOk, double &movingImageValue, ThreadIdType threadId) const |
|
virtual void | TransformPointWithDerivatives (unsigned int sampleNumber, MovingImagePointType &mappedPoint, bool &sampleOk, double &movingImageValue, ImageDerivativesType &movingImageGradient, ThreadIdType threadId) const |
|
virtual void | ComputeImageDerivatives (const MovingImagePointType &mappedPoint, ImageDerivativesType &gradient, ThreadIdType threadId) const |
|
void | GetValueMultiThreadedInitiate () const |
|
void | GetValueMultiThreadedPostProcessInitiate () const |
|
virtual void | GetValueThread (ThreadIdType threadId) const |
|
virtual void | GetValueThreadPreProcess (ThreadIdType, bool) const |
|
virtual bool | GetValueThreadProcessSample (ThreadIdType, SizeValueType, const MovingImagePointType &, double) const |
|
virtual void | GetValueThreadPostProcess (ThreadIdType, bool) const |
|
void | GetValueAndDerivativeMultiThreadedInitiate () const |
|
void | GetValueAndDerivativeMultiThreadedPostProcessInitiate () const |
|
virtual void | GetValueAndDerivativeThread (ThreadIdType threadId) const |
|
virtual void | GetValueAndDerivativeThreadPreProcess (ThreadIdType, bool) const |
|
virtual bool | GetValueAndDerivativeThreadProcessSample (ThreadIdType, SizeValueType, const MovingImagePointType &, double, const ImageDerivativesType &) const |
|
virtual void | GetValueAndDerivativeThreadPostProcess (ThreadIdType, bool) const |
|
virtual void | SynchronizeTransforms () const |
|
| SingleValuedCostFunction ()=default |
|
| ~SingleValuedCostFunction () override |
|
| CostFunctionTemplate ()=default |
|
| ~CostFunctionTemplate () override=default |
|
| Object () |
|
| ~Object () override |
|
bool | PrintObservers (std::ostream &os, Indent indent) const |
|
virtual void | SetTimeStamp (const TimeStamp &timeStamp) |
|
virtual LightObject::Pointer | InternalClone () const |
|
| LightObject () |
|
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
|
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
|
virtual | ~LightObject () |
|
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | GetValueMultiThreaded (void *workunitInfoAsVoid) |
|
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | GetValueMultiThreadedPostProcess (void *workunitInfoAsVoid) |
|
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | GetValueAndDerivativeMultiThreaded (void *workunitInfoAsVoid) |
|
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | GetValueAndDerivativeMultiThreadedPostProcess (void *workunitInfoAsVoid) |
|
bool | m_UseFixedImageIndexes { false } |
|
FixedImageIndexContainer | m_FixedImageIndexes |
|
bool | m_UseFixedImageSamplesIntensityThreshold { false } |
|
FixedImagePixelType | m_FixedImageSamplesIntensityThreshold |
|
FixedImageSampleContainer | m_FixedImageSamples |
|
SizeValueType | m_NumberOfParameters { 0 } |
|
SizeValueType | m_NumberOfFixedImageSamples { 50000 } |
|
SizeValueType | m_NumberOfPixelsCounted { 0 } |
|
FixedImageConstPointer | m_FixedImage |
|
MovingImageConstPointer | m_MovingImage |
|
TransformPointer | m_Transform |
|
TransformPointer * | m_ThreaderTransform |
|
InterpolatorPointer | m_Interpolator |
|
bool | m_ComputeGradient { true } |
|
GradientImagePointer | m_GradientImage |
|
FixedImageMaskConstPointer | m_FixedImageMask |
|
MovingImageMaskConstPointer | m_MovingImageMask |
|
ThreadIdType | m_NumberOfWorkUnits { 1 } |
|
bool | m_UseAllPixels { false } |
|
bool | m_UseSequentialSampling { false } |
|
bool | m_ReseedIterator { false } |
|
int | m_RandomSeed |
|
bool | m_TransformIsBSpline { false } |
|
SizeValueType | m_NumBSplineWeights { 0 } |
|
BSplineTransformType::Pointer | m_BSplineTransform |
|
BSplineTransformWeightsArrayType | m_BSplineTransformWeightsArray |
|
BSplineTransformIndicesArrayType | m_BSplineTransformIndicesArray |
|
MovingImagePointArrayType | m_BSplinePreTransformPointsArray |
|
BooleanArrayType | m_WithinBSplineSupportRegionArray |
|
BSplineParametersOffsetType | m_BSplineParametersOffset |
|
bool | m_UseCachingOfBSplineWeights { true } |
|
BSplineTransformWeightsType | m_BSplineTransformWeights |
|
BSplineTransformIndexArrayType | m_BSplineTransformIndices |
|
BSplineTransformWeightsType * | m_ThreaderBSplineTransformWeights |
|
BSplineTransformIndexArrayType * | m_ThreaderBSplineTransformIndices |
|
bool | m_InterpolatorIsBSpline { false } |
|
BSplineInterpolatorType::Pointer | m_BSplineInterpolator |
|
DerivativeFunctionType::Pointer | m_DerivativeCalculator |
|
MultiThreaderType::Pointer | m_Threader |
|
ConstantPointerWrapper * | m_ConstSelfWrapper |
|
unsigned int * | m_ThreaderNumberOfMovingImageSamples { nullptr } |
|
bool | m_WithinThreadPreProcess { false } |
|
bool | m_WithinThreadPostProcess { false } |
|
std::atomic< int > | m_ReferenceCount |
|
static constexpr unsigned int | DeformationSplineOrder = 3 |
|
template<typename TFixedImage, typename TMovingImage>
class itk::NormalizedCorrelationImageToImageMetric< TFixedImage, TMovingImage >
Computes similarity between two images to be registered.
This metric computes the correlation between pixels in the fixed image and pixels in the moving image. The spatial correspondence between fixed and moving image is established through a Transform. Pixel values are taken from the fixed image, their positions are mapped to the moving image and result in general in non-grid position on it. Values at these non-grid position of the moving image are interpolated using a user-selected Interpolator. The correlation is normalized by the autocorrelations of both the fixed and moving images.
A more negative metric value indicates a greater degree of correlation between the fixed and moving image. This makes the metric simpler to use with optimizers that strive to minimize their cost function by default.
Definition at line 46 of file itkNormalizedCorrelationImageToImageMetric.h.