18#ifndef itkComputeDisplacementDistribution_h
19#define itkComputeDisplacementDistribution_h
27#include "itkMultiThreaderBase.h"
47template <
class TFixedImage,
class TTransform>
71 using Superclass::ParametersType;
72 using Superclass::DerivativeType;
96 itkSetMacro(NumberOfJacobianMeasurements, SizeValueType);
114 Compute(
const ParametersType & mu,
double & jacg,
double & maxJJ, std::string method);
127 this->
m_Threader->SetNumberOfWorkUnits(numberOfThreads);
190 static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION
214 itkPadStruct(ITK_CACHE_LINE_ALIGNMENT, ComputePerThreadStruct, PaddedComputePerThreadStruct);
215 itkAlignedTypedef(ITK_CACHE_LINE_ALIGNMENT, PaddedComputePerThreadStruct, AlignedComputePerThreadStruct);
229#ifndef ITK_MANUAL_INSTANTIATION
230# include "itkComputeDisplacementDistribution.hxx"
ScaledSingleValuedNonLinearOptimizer Superclass
typename ImageFullSamplerType::Pointer ImageFullSamplerPointer
typename FixedImageType::PointType FixedImagePointType
TransformPointer m_Transform
SizeValueType m_NumberOfPixelsCounted
typename FixedImageType::PixelType FixedImagePixelType
virtual void Compute(const ParametersType &mu, double &jacg, double &maxJJ, std::string method)
typename FixedImageMaskType::Pointer FixedImageMaskPointer
virtual void ComputeSingleThreaded(const ParametersType &mu, double &jacg, double &maxJJ, std::string method)
typename ImageGridSamplerType::Pointer ImageGridSamplerPointer
ImageGridSampler< FixedImageType > ImageGridSamplerType
ImageRandomSamplerBase< FixedImageType > ImageRandomSamplerBaseType
itkPadStruct(ITK_CACHE_LINE_ALIGNMENT, ComputePerThreadStruct, PaddedComputePerThreadStruct)
virtual void ThreadedCompute(ThreadIdType threadID)
typename FixedImageType::IndexType FixedImageIndexType
FixedImageMaskConstPointer m_FixedImageMask
itkStaticConstMacro(FixedImageDimension, unsigned int, TFixedImage::ImageDimension)
FixedImageRegionType m_FixedImageRegion
ComputeDisplacementDistribution()
typename TransformType::JacobianType JacobianType
FixedImageType::ConstPointer m_FixedImage
virtual void SampleFixedImageForJacobianTerms(ImageSampleContainerPointer &sampleContainer)
virtual void ComputeUsingSearchDirection(const ParametersType &mu, double &jacg, double &maxJJ, std::string methods)
virtual void InitializeThreadingParameters()
itkAlignedTypedef(ITK_CACHE_LINE_ALIGNMENT, PaddedComputePerThreadStruct, AlignedComputePerThreadStruct)
typename ImageRandomSamplerBaseType::Pointer ImageRandomSamplerBasePointer
ImageFullSampler< FixedImageType > ImageFullSamplerType
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION ComputeThreaderCallback(void *arg)
virtual void AfterThreadedCompute(double &jacg, double &maxJJ)
SizeValueType m_NumberOfParameters
void SetFixedImageRegion(const FixedImageRegionType ®ion)
ScaledSingleValuedCostFunction::Pointer m_CostFunction
typename FixedImageType::RegionType FixedImageRegionType
MultiThreaderBase::WorkUnitInfo ThreadInfoType
ITK_DISALLOW_COPY_AND_MOVE(ComputeDisplacementDistribution)
ImageMaskSpatialObject< Self::FixedImageDimension > FixedImageMaskType
ImageSampleContainerPointer m_SampleContainer
~ComputeDisplacementDistribution() override=default
typename ImageSampleContainerType::Pointer ImageSampleContainerPointer
SizeValueType m_NumberOfJacobianMeasurements
MultiThreaderBase::Pointer m_Threader
void LaunchComputeThreaderCallback() const
typename TransformType::NumberOfParametersType NumberOfParametersType
SmartPointer< Self > Pointer
typename TransformType::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
void SetNumberOfWorkUnits(ThreadIdType numberOfThreads)
typename ImageGridSamplerType ::ImageSampleContainerType ImageSampleContainerType
DerivativeType m_ExactGradient
std::vector< AlignedComputePerThreadStruct > m_ComputePerThreadVariables
TFixedImage FixedImageType
ImageSamplerBase< FixedImageType > ImageSamplerBaseType
typename TransformType::Pointer TransformPointer
typename TransformType::ScalarType CoordinateRepresentationType
SmartPointer< const Self > ConstPointer
typename JacobianType::ValueType JacobianValueType
JacobianType TransformJacobianType
MultiThreaderParameterType m_ThreaderParameters
typename ImageSamplerBaseType::Pointer ImageSamplerBasePointer
ComputeDisplacementDistribution Self
typename FixedImageMaskType::ConstPointer FixedImageMaskConstPointer
virtual void BeforeThreadedCompute(const ParametersType &mu)
Samples all voxels in the InputImageRegion.
SmartPointer< Self > Pointer
Samples image voxels on a regular grid.
SmartPointer< Self > Pointer
This class is a base class for any image sampler that randomly picks samples.
SmartPointer< Self > Pointer
This class is a base class for any image sampler.
SmartPointer< Self > Pointer
SmartPointer< Self > Pointer
ScaledSingleValuedNonLinearOptimizer()
NonLinearOptimizer::ScalesType ScalesType
double st_DisplacementSquared
SizeValueType st_NumberOfPixelsCounted