18 #ifndef itkANTSNeighborhoodCorrelationImageToImageMetricv4GetValueAndDerivativeThreader_h
19 #define itkANTSNeighborhoodCorrelationImageToImageMetricv4GetValueAndDerivativeThreader_h
56 template<
typename TDomainPartitioner,
typename TImageToImageMetric,
typename TNeighborhoodCorrelationMetric >
72 typedef typename Superclass::DomainType
DomainType;
90 typedef typename NeighborhoodCorrelationMetricType::ImageRegionType
ImageRegionType;
93 typedef typename NeighborhoodCorrelationMetricType::JacobianType
JacobianType;
95 typedef typename NeighborhoodCorrelationMetricType::FixedImageType
FixedImageType;
96 typedef typename NeighborhoodCorrelationMetricType::MovingImageType
MovingImageType;
97 typedef typename NeighborhoodCorrelationMetricType::RadiusType
RadiusType;
203 return Superclass::ProcessVirtualPoint(virtualIndex, virtualPoint, threadId);
221 const ThreadIdType itkNotUsed(threadId) ) const ITK_OVERRIDE
223 itkExceptionMacro(
"ProcessPoint should never be reached in ANTS CC metric threader class.");
285 void operator=( const
Self & ) ITK_DELETE_FUNCTION;
295 #ifndef ITK_MANUAL_INSTANTIATION
296 #include "itkANTSNeighborhoodCorrelationImageToImageMetricv4GetValueAndDerivativeThreader.hxx"
SmartPointer< Self > Pointer
SizeValueType windowLength
Superclass::MovingImagePointType MovingImagePointType
Threading implementation for ANTS CC metric ANTSNeighborhoodCorrelationImageToImageMetricv4 ...
MovingImagePointType mappedMovingPoint
NeighborhoodCorrelationMetricType::RadiusType RadiusType
ConstNeighborhoodIterator< VirtualImageType > ScanIteratorType
Superclass::VirtualIndexType VirtualIndexType
NeighborhoodCorrelationMetricType::MovingImageType MovingImageType
Superclass::FixedImagePixelType FixedImagePixelType
Superclass::DomainType DomainType
QueueRealType sMovingMoving
FixedImagePointType mappedFixedPoint
ImageRegionType scanRegion
FixedImageGradientType fixedImageGradient
signed long IndexValueType
Superclass::MovingImagePixelType MovingImagePixelType
VirtualImageType::ConstPointer virtualImage
Class for partitioning of an ImageRegion.
void ThreadedExecution_impl(IdentityHelper< ThreadedImageRegionPartitioner< TImageToImageMetric::VirtualImageDimension > >, const DomainType &domain, const ThreadIdType threadId)
Superclass::DerivativeValueType DerivativeValueType
ANTSNeighborhoodCorrelationImageToImageMetricv4GetValueAndDerivativeThreader Self
SizeValueType numberOfFillZero
Const version of NeighborhoodIterator, defining iteration of a local N-dimensional neighborhood of pi...
unsigned long SizeValueType
Superclass::FixedImagePointType FixedImagePointType
void UpdateQueues(const ScanIteratorType &scanIt, ScanMemType &scanMem, const ScanParametersType &scanParameters, const ThreadIdType threadId) const
bool ProcessVirtualPoint_impl(IdentityHelper< T >, const VirtualIndexType &virtualIndex, const VirtualPointType &virtualPoint, const ThreadIdType threadId)
void InitializeScanning(const ImageRegionType &scanRegion, ScanIteratorType &scanIt, ScanMemType &scanMem, ScanParametersType &scanParameters) const
VirtualPointType virtualPoint
std::deque< QueueRealType > SumQueueType
void UpdateQueuesToNextScanWindow(const ScanIteratorType &scanIt, ScanMemType &scanMem, const ScanParametersType &scanParameters, const ThreadIdType threadId) const
TNeighborhoodCorrelationMetric NeighborhoodCorrelationMetricType
Superclass::AssociateType AssociateType
QueueRealType sFixedFixed
QueueRealType sFixedMoving
bool ComputeInformationFromQueues(const ScanIteratorType &scanIt, ScanMemType &scanMem, const ScanParametersType &scanParameters, const ThreadIdType threadId) const
NeighborhoodCorrelationMetricType::FixedImageType FixedImageType
MovingImageGradientType movingImageGradient
NeighborhoodCorrelationMetricType::ImageRegionType ImageRegionType
struct itk::ANTSNeighborhoodCorrelationImageToImageMetricv4GetValueAndDerivativeThreader::ScanParametersType ScanParametersType
Superclass::VirtualImageType VirtualImageType
bool ProcessVirtualPoint_impl(IdentityHelper< ThreadedIndexedContainerPartitioner >, const VirtualIndexType &virtualIndex, const VirtualPointType &virtualPoint, const ThreadIdType threadId)
unsigned int ThreadIdType
Superclass::FixedImageGradientType FixedImageGradientType
SmartPointer< const Self > ConstPointer
Superclass::VirtualPointType VirtualPointType
Superclass::MovingImageGradientType MovingImageGradientType
FixedImageType::ConstPointer fixedImage
Superclass::MeasureType MeasureType
NeighborhoodCorrelationMetricType::NumberOfParametersType NumberOfParametersType
ANTSNeighborhoodCorrelationImageToImageMetricv4GetValueAndDerivativeThreader()
Provides threading for ImageToImageMetricv4::GetValueAndDerivative.
struct itk::ANTSNeighborhoodCorrelationImageToImageMetricv4GetValueAndDerivativeThreader::ScanMemType ScanMemType
IndexValueType scanRegionBeginIndexDim0
NeighborhoodCorrelationMetricType::JacobianType JacobianType
MovingImageType::ConstPointer movingImage
NeighborhoodCorrelationMetricType::ImageDimensionType ImageDimensionType
SumQueueType QsumFixedMoving
InternalComputationValueType QueueRealType
void UpdateQueuesAtBeginningOfLine(const ScanIteratorType &scanIt, ScanMemType &scanMem, const ScanParametersType &scanParameters, const ThreadIdType threadId) const
void ComputeMovingTransformDerivative(const ScanIteratorType &scanIt, ScanMemType &scanMem, const ScanParametersType &scanParameters, DerivativeType &deriv, MeasureType &local_cc, const ThreadIdType threadId) const
TNeighborhoodCorrelationMetric * m_ANTSAssociate
ImageToImageMetricv4GetValueAndDerivativeThreader< TDomainPartitioner, TImageToImageMetric > Superclass
virtual void ThreadedExecution(const DomainType &domain, const ThreadIdType threadId) override
virtual bool ProcessVirtualPoint(const VirtualIndexType &virtualIndex, const VirtualPointType &virtualPoint, const ThreadIdType threadId) override
virtual bool ProcessPoint(const VirtualIndexType &, const VirtualPointType &, const FixedImagePointType &, const FixedImagePixelType &, const FixedImageGradientType &, const MovingImagePointType &, const MovingImagePixelType &, const MovingImageGradientType &, MeasureType &, DerivativeType &, const ThreadIdType) const override
Superclass::DerivativeType DerivativeType
NeighborhoodCorrelationMetricType::InternalComputationValueType InternalComputationValueType