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;
147 m_ANTSAssociate(ITK_NULLPTR)
184 const VirtualPointType & virtualPoint,
190 bool ProcessVirtualPoint_impl(
192 const VirtualIndexType & virtualIndex,
193 const VirtualPointType & virtualPoint,
200 const VirtualIndexType & virtualIndex,
201 const VirtualPointType & virtualPoint,
203 return Superclass::ProcessVirtualPoint(virtualIndex, virtualPoint, threadId);
211 const VirtualIndexType & itkNotUsed(virtualIndex),
212 const VirtualPointType & itkNotUsed(virtualPoint),
213 const FixedImagePointType & itkNotUsed(mappedFixedPoint),
214 const FixedImagePixelType & itkNotUsed(mappedFixedPixelValue),
215 const FixedImageGradientType & itkNotUsed(mappedFixedImageGradient),
216 const MovingImagePointType & itkNotUsed(mappedMovingPoint),
217 const MovingImagePixelType & itkNotUsed(mappedMovingPixelValue),
218 const MovingImageGradientType & itkNotUsed(mappedMovingImageGradient),
219 MeasureType & itkNotUsed(metricValueReturn),
220 DerivativeType & itkNotUsed(localDerivativeReturn),
221 const ThreadIdType itkNotUsed(threadId) ) const ITK_OVERRIDE
223 itkExceptionMacro(
"ProcessPoint should never be reached in ANTS CC metric threader class.");
233 void ThreadedExecution_impl(
235 const DomainType& domain,
240 void ThreadedExecution_impl(
242 const DomainType& domain,
248 void InitializeScanning(
const ImageRegionType &scanRegion,
254 void UpdateQueues(
const ScanIteratorType &scanIt,
258 void UpdateQueuesAtBeginningOfLine(
259 const ScanIteratorType &scanIt,
ScanMemType &scanMem,
266 void UpdateQueuesToNextScanWindow(
267 const ScanIteratorType &scanIt,
ScanMemType &scanMem,
273 bool ComputeInformationFromQueues(
274 const ScanIteratorType &scanIt,
ScanMemType &scanMem,
278 void ComputeMovingTransformDerivative(
279 const ScanIteratorType &scanIt,
ScanMemType &scanMem,
281 MeasureType &local_cc,
const ThreadIdType threadId)
const;
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
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
FixedImageGradientType fixedImageGradient
signed long IndexValueType
Superclass::MovingImagePixelType MovingImagePixelType
VirtualImageType::ConstPointer virtualImage
Class for partitioning of an ImageRegion.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
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
bool ProcessVirtualPoint_impl(IdentityHelper< T >, const VirtualIndexType &virtualIndex, const VirtualPointType &virtualPoint, const ThreadIdType threadId)
VirtualPointType virtualPoint
std::deque< QueueRealType > SumQueueType
TNeighborhoodCorrelationMetric NeighborhoodCorrelationMetricType
Superclass::AssociateType AssociateType
QueueRealType sFixedFixed
QueueRealType sFixedMoving
NeighborhoodCorrelationMetricType::FixedImageType FixedImageType
MovingImageGradientType movingImageGradient
NeighborhoodCorrelationMetricType::ImageRegionType ImageRegionType
Superclass::VirtualImageType VirtualImageType
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.
IndexValueType scanRegionBeginIndexDim0
NeighborhoodCorrelationMetricType::JacobianType JacobianType
MovingImageType::ConstPointer movingImage
NeighborhoodCorrelationMetricType::ImageDimensionType ImageDimensionType
SumQueueType QsumFixedMoving
InternalComputationValueType QueueRealType
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
Superclass::DerivativeType DerivativeType
NeighborhoodCorrelationMetricType::InternalComputationValueType InternalComputationValueType