18#ifndef itkMaskedFFTNormalizedCorrelationImageFilter_h
19#define itkMaskedFFTNormalizedCorrelationImageFilter_h
140template <
typename TInputImage,
typename TOutputImage,
typename TMaskImage = TInputImage>
216 itkSetClampMacro(RequiredFractionOfOverlappingPixels,
RealPixelType, 0.0f, 1.0f);
274 typename TMaskImage::Pointer
277 typename TInputImage::Pointer
280 template <
typename LocalInputImageType>
281 typename LocalInputImageType::Pointer
284 template <
typename LocalInputImageType,
typename LocalOutputImageType>
285 typename LocalOutputImageType::Pointer
288 template <
typename LocalInputImageType,
typename LocalOutputImageType>
289 typename LocalOutputImageType::Pointer
293 template <
typename LocalInputImageType,
typename LocalOutputImageType>
294 typename LocalOutputImageType::Pointer
295 ElementProduct(LocalInputImageType * inputImage1, LocalInputImageType * inputImage2);
297 template <
typename LocalInputImageType>
298 typename LocalInputImageType::Pointer
299 ElementQuotient(LocalInputImageType * inputImage1, LocalInputImageType * inputImage2);
301 template <
typename LocalInputImageType>
302 typename LocalInputImageType::Pointer
305 template <
typename LocalInputImageType>
306 typename LocalInputImageType::Pointer
309 template <
typename LocalInputImageType,
typename LocalOutputImageType>
310 typename LocalOutputImageType::Pointer
324 template <
typename LocalInputImageType>
349#ifndef ITK_MANUAL_INSTANTIATION
350# include "itkMaskedFFTNormalizedCorrelationImageFilter.hxx"
Base class for all data objects in ITK.
Templated n-dimensional image class.
Size< VImageDimension > SizeType
Point< PointValueType, VImageDimension > PointType
ImageRegion< VImageDimension > RegionType
SmartPointer< Self > Pointer
Index< VImageDimension > IndexType
Control indentation during Print() invocation.
typename InputImageType::Pointer InputImagePointer
void GenerateOutputInformation() override
typename RealImageType::SizeType RealSizeType
Image< std::complex< RealPixelType >, ImageDimension > FFTImageType
void VerifyInputInformation() const override
itk::SizeValueType SizeValueType
LocalOutputImageType::Pointer ElementProduct(LocalInputImageType *inputImage1, LocalInputImageType *inputImage2)
itkGetInputMacro(FixedImage, InputImageType)
RealPixelType m_RequiredFractionOfOverlappingPixels
typename OutputImageType::PixelType OutputPixelType
SmartPointer< Self > Pointer
LocalInputImageType::Pointer ElementQuotient(LocalInputImageType *inputImage1, LocalInputImageType *inputImage2)
MaskedFFTNormalizedCorrelationImageFilter Self
itkSetInputMacro(FixedImage, InputImageType)
void PrintSelf(std::ostream &os, Indent indent) const override
Image< RealPixelType, ImageDimension > RealImageType
typename OutputImageType::Pointer OutputImagePointer
itkSetInputMacro(MovingImage, InputImageType)
typename FFTImageType::Pointer FFTImagePointer
LocalInputImageType::Pointer RotateImage(LocalInputImageType *inputImage)
void EnlargeOutputRequestedRegion(DataObject *output) override
TOutputImage OutputImageType
typename RealImageType::Pointer RealImagePointer
itkSetInputMacro(FixedImageMask, MaskImageType)
itkSetInputMacro(MovingImageMask, MaskImageType)
SizeValueType m_RequiredNumberOfOverlappingPixels
int FindClosestValidDimension(int n)
MaskedFFTNormalizedCorrelationImageFilter()
static constexpr unsigned int ImageDimension
double CalculatePrecisionTolerance(LocalInputImageType *inputImage)
TInputImage InputImageType
typename InputImageType::ConstPointer InputImageConstPointer
LocalInputImageType::Pointer ElementPositive(LocalInputImageType *inputImage)
int FactorizeNumber(int n)
TMaskImage::Pointer PreProcessMask(const InputImageType *inputImage, const MaskImageType *inputMask)
TInputImage::Pointer PreProcessImage(const InputImageType *inputImage, const MaskImageType *inputMask)
LocalOutputImageType::Pointer CalculateForwardFFT(LocalInputImageType *inputImage, InputSizeType &FFTImageSize)
LocalInputImageType::Pointer ElementSubtraction(LocalInputImageType *inputImage1, LocalInputImageType *inputImage2)
LocalOutputImageType::Pointer CalculateInverseFFT(LocalInputImageType *inputImage, RealSizeType &combinedImageSize)
typename InputImageType::RegionType InputRegionType
itkGetInputMacro(MovingImage, InputImageType)
LocalOutputImageType::Pointer ElementRound(LocalInputImageType *inputImage)
~MaskedFFTNormalizedCorrelationImageFilter() override=default
ImageToImageFilter< TInputImage, TOutputImage > Superclass
float m_AccumulatedProgress
itkGetInputMacro(FixedImageMask, MaskImageType)
SmartPointer< const Self > ConstPointer
const unsigned int m_TotalForwardAndInverseFFTs
OutputPixelType RealPixelType
typename InputImageType::SizeType InputSizeType
itkGetInputMacro(MovingImageMask, MaskImageType)
typename MaskImageType::Pointer MaskImagePointer
SizeValueType m_MaximumNumberOfOverlappingPixels
void GenerateInputRequestedRegion() override
typename RealImageType::PointType RealPointType
typename RealImageType::IndexType RealIndexType
typename RealImageType::RegionType RealRegionType
void GenerateData() override
virtual void SetPrimaryInputName(const DataObjectIdentifierType &key)
void AddOptionalInputName(const DataObjectIdentifierType &)
Define a named input that is not required and optionally associate with a numbered index.
bool AddRequiredInputName(const DataObjectIdentifierType &)
Define a required named input and optionally associate it with a numbered index.
Implements transparent reference counting.
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned long SizeValueType