Loading...
Searching...
No Matches
elxAdaptiveStochasticVarianceReducedGradient.h
Go to the documentation of this file.
/*=========================================================================
*
* Copyright UMC Utrecht and contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0.txt
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*=========================================================================*/
#ifndef elxAdaptiveStochasticVarianceReducedGradient_h
#define elxAdaptiveStochasticVarianceReducedGradient_h
#include "elxIncludes.h" // include first to avoid MSVS warning
#include "itkAdaptiveStochasticVarianceReducedGradientOptimizer.h"
#include "elxProgressCommand.h"
#include "itkAdvancedTransform.h"
#include "itkMersenneTwisterRandomVariateGenerator.h"
#include "itkComputeJacobianTerms.h"
#include "itkComputeDisplacementDistribution.h"
#include "itkMultiThreaderBase.h"
#include "itkImageRandomSampler.h"
namespace elastix
{
template <class TElastix>
class ITK_TEMPLATE_EXPORT AdaptiveStochasticVarianceReducedGradient
: public itk::AdaptiveStochasticVarianceReducedGradientOptimizer
, public OptimizerBase<TElastix>
{
public:
ITK_DISALLOW_COPY_AND_MOVE(AdaptiveStochasticVarianceReducedGradient);
using Self = AdaptiveStochasticVarianceReducedGradient;
using Superclass1 = AdaptiveStochasticVarianceReducedGradientOptimizer;
using Superclass2 = OptimizerBase<TElastix>;
using Pointer = itk::SmartPointer<Self>;
using ConstPointer = itk::SmartPointer<const Self>;
itkNewMacro(Self);
itkTypeMacro(AdaptiveStochasticVarianceReducedGradient, AdaptiveStochasticVarianceReducedGradientOptimizer);
elxClassNameMacro("AdaptiveStochasticVarianceReducedGradient");
using Superclass1::CostFunctionType;
using Superclass1::CostFunctionPointer;
// using Superclass1::StopConditionType;
using typename Superclass2::ElastixType;
using typename Superclass2::RegistrationType;
using ITKBaseType = typename Superclass2::ITKBaseType;
using SizeValueType = itk::SizeValueType;
using typename Superclass1::ParametersType;
void
BeforeRegistration() override;
void
BeforeEachResolution() override;
void
AfterEachResolution() override;
void
AfterEachIteration() override;
void
AfterRegistration() override;
void
StartOptimization() override;
void
AdvanceOneStep() override;
void
ResumeOptimization() override;
void
MetricErrorResponse(itk::ExceptionObject & err) override;
void
StopOptimization() override;
itkSetMacro(AutomaticParameterEstimation, bool);
itkGetConstMacro(AutomaticParameterEstimation, bool);
itkSetMacro(MaximumStepLength, double);
itkGetConstMacro(MaximumStepLength, double);
itkSetMacro(MaximumNumberOfSamplingAttempts, SizeValueType);
itkGetConstReferenceMacro(MaximumNumberOfSamplingAttempts, SizeValueType);
itkGetConstReferenceMacro(MeanGradient, DerivativeType);
using ThreadIdType = unsigned int;
void
SetNumberOfWorkUnits(ThreadIdType numberOfThreads)
{
this->m_Threader->SetNumberOfWorkUnits(numberOfThreads);
}
protected:
using FixedImageType = typename RegistrationType::FixedImageType;
using MovingImageType = typename RegistrationType::MovingImageType;
using FixedImageRegionType = typename FixedImageType::RegionType;
using FixedImageIndexType = typename FixedImageType::IndexType;
using FixedImagePointType = typename FixedImageType::PointType;
using itkRegistrationType = typename RegistrationType::ITKBaseType;
using TransformType = typename itkRegistrationType::TransformType;
using JacobianType = typename TransformType::JacobianType;
using ComputeJacobianTermsType = itk::ComputeJacobianTerms<FixedImageType, TransformType>;
using JacobianValueType = typename JacobianType::ValueType;
using typename Superclass2::SettingsType;
using typename Superclass2::SettingsVectorType;
using ComputeDisplacementDistributionType = itk::ComputeDisplacementDistribution<FixedImageType, TransformType>;
using ImageSamplerBaseType = itk::ImageSamplerBase<FixedImageType>;
using ImageSamplerBasePointer = typename ImageSamplerBaseType::Pointer;
using ImageRandomSamplerBaseType = itk::ImageRandomSamplerBase<FixedImageType>;
using ImageRandomSamplerBasePointer = typename ImageRandomSamplerBaseType::Pointer;
using ImageRandomCoordinateSamplerType = itk::ImageRandomCoordinateSampler<FixedImageType>;
using ImageRandomCoordinateSamplerPointer = typename ImageRandomCoordinateSamplerType::Pointer;
using ImageSampleType = typename ImageSamplerBaseType::ImageSampleType;
using ImageRandomSamplerType = itk::ImageRandomSampler<FixedImageType>;
using ImageRandomSamplerPointer = typename ImageRandomSamplerType::Pointer;
using ImageRadomSampleContainerType = typename ImageRandomSamplerType::ImageSampleContainerType;
using ImageRadomSampleContainerPointer = typename ImageRadomSampleContainerType::Pointer;
using ImageGridSamplerType = itk::ImageGridSampler<FixedImageType>;
using ImageGridSamplerPointer = typename ImageGridSamplerType::Pointer;
using ImageSampleContainerType = typename ImageGridSamplerType::ImageSampleContainerType;
using ImageSampleContainerPointer = typename ImageSampleContainerType::Pointer;
using RandomGeneratorType = itk::Statistics::MersenneTwisterRandomVariateGenerator;
using TransformJacobianType = JacobianType;
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension);
itkStaticConstMacro(MovingImageDimension, unsigned int, MovingImageType::ImageDimension);
using CoordinateRepresentationType = typename TransformType::ScalarType;
using AdvancedTransformType =
itk::AdvancedTransform<CoordinateRepresentationType, Self::FixedImageDimension, Self::MovingImageDimension>;
using NonZeroJacobianIndicesType = typename AdvancedTransformType::NonZeroJacobianIndicesType;
AdaptiveStochasticVarianceReducedGradient();
~AdaptiveStochasticVarianceReducedGradient() override = default;
SettingsVectorType m_SettingsVector;
SizeValueType m_NumberOfGradientMeasurements;
SizeValueType m_NumberOfJacobianMeasurements;
SizeValueType m_NumberOfSamplesForExactGradient;
typename AdvancedTransformType::Pointer m_AdvancedTransform;
typename RandomGeneratorType::Pointer m_RandomGenerator;
double m_SigmoidScaleFactor;
virtual void
AutomaticParameterEstimation();
virtual void
AutomaticParameterEstimationOriginal();
virtual void
AutomaticParameterEstimationUsingDisplacementDistribution();
virtual void
SampleGradients(const ParametersType & mu0, double perturbationSigma, double & gg, double & ee);
virtual void
GetScaledDerivativeWithExceptionHandling(const ParametersType & parameters, DerivativeType & derivative);
virtual void
AddRandomPerturbation(ParametersType & parameters, double sigma);
DerivativeType m_ExactGradient;
DerivativeType m_MeanGradient;
double m_NoiseFactor;
private:
elxOverrideGetSelfMacro;
// multi-threaded AdvanceOneStep:
struct MultiThreaderParameterType
{
ParametersType * t_NewPosition;
Self * t_Optimizer;
};
static itk::ITK_THREAD_RETURN_TYPE
AdvanceOneStepThreaderCallback(void * arg);
inline void
ThreadedAdvanceOneStep(ThreadIdType threadId, ParametersType & newPosition);
bool m_AutomaticParameterEstimation;
double m_MaximumStepLength;
SizeValueType m_MaximumNumberOfSamplingAttempts;
SizeValueType m_CurrentNumberOfSamplingAttempts;
SizeValueType m_PreviousErrorAtIteration;
bool m_AutomaticParameterEstimationDone;
SizeValueType m_OutsideIterations;
SizeValueType m_MaxBandCovSize;
SizeValueType m_NumberOfBandStructureSamples;
SizeValueType m_NumberOfInnerLoopSamples;
SizeValueType m_NumberOfSpatialSamples;
bool m_UseNoiseCompensation;
bool m_OriginalButSigmoidToDefault;
bool m_UseNoiseFactor;
}; // end class AdaptiveStochasticVarianceReducedGradient
} // end namespace elastix
#ifndef ITK_MANUAL_INSTANTIATION
# include "elxAdaptiveStochasticVarianceReducedGradient.hxx"
#endif
#endif // end #ifndef elxAdaptiveStochasticVarianceReducedGradient_h
elastix::AdaptiveStochasticVarianceReducedGradient::m_NumberOfJacobianMeasurements
SizeValueType m_NumberOfJacobianMeasurements
Definition elxAdaptiveStochasticVarianceReducedGradient.h:366
elastix::AdaptiveStochasticVarianceReducedGradient::AdvanceOneStep
void AdvanceOneStep() override
elastix::AdaptiveStochasticVarianceReducedGradient::AfterEachIteration
void AfterEachIteration() override
elastix::AdaptiveStochasticVarianceReducedGradient::Superclass1
AdaptiveStochasticVarianceReducedGradientOptimizer Superclass1
Definition elxAdaptiveStochasticVarianceReducedGradient.h:202
elastix::AdaptiveStochasticVarianceReducedGradient::Superclass2
OptimizerBase< TElastix > Superclass2
Definition elxAdaptiveStochasticVarianceReducedGradient.h:203
elastix::AdaptiveStochasticVarianceReducedGradient::m_AutomaticParameterEstimationDone
bool m_AutomaticParameterEstimationDone
Definition elxAdaptiveStochasticVarianceReducedGradient.h:449
elastix::AdaptiveStochasticVarianceReducedGradient::ThreadedAdvanceOneStep
void ThreadedAdvanceOneStep(ThreadIdType threadId, ParametersType &newPosition)
elastix::AdaptiveStochasticVarianceReducedGradient::m_NumberOfInnerLoopSamples
SizeValueType m_NumberOfInnerLoopSamples
Definition elxAdaptiveStochasticVarianceReducedGradient.h:456
elastix::AdaptiveStochasticVarianceReducedGradient::ImageSampleContainerPointer
typename ImageSampleContainerType::Pointer ImageSampleContainerPointer
Definition elxAdaptiveStochasticVarianceReducedGradient.h:344
elastix::AdaptiveStochasticVarianceReducedGradient::AdaptiveStochasticVarianceReducedGradient
AdaptiveStochasticVarianceReducedGradient()
elastix::AdaptiveStochasticVarianceReducedGradient::m_NumberOfGradientMeasurements
SizeValueType m_NumberOfGradientMeasurements
Definition elxAdaptiveStochasticVarianceReducedGradient.h:365
elastix::AdaptiveStochasticVarianceReducedGradient::ImageRandomCoordinateSamplerType
itk::ImageRandomCoordinateSampler< FixedImageType > ImageRandomCoordinateSamplerType
Definition elxAdaptiveStochasticVarianceReducedGradient.h:330
elastix::AdaptiveStochasticVarianceReducedGradient::MetricErrorResponse
void MetricErrorResponse(itk::ExceptionObject &err) override
elastix::AdaptiveStochasticVarianceReducedGradient::AutomaticParameterEstimation
virtual void AutomaticParameterEstimation()
elastix::AdaptiveStochasticVarianceReducedGradient::FixedImageType
typename RegistrationType::FixedImageType FixedImageType
Definition elxAdaptiveStochasticVarianceReducedGradient.h:310
elastix::AdaptiveStochasticVarianceReducedGradient::m_PreviousErrorAtIteration
SizeValueType m_PreviousErrorAtIteration
Definition elxAdaptiveStochasticVarianceReducedGradient.h:448
elastix::AdaptiveStochasticVarianceReducedGradient::ImageRandomSamplerBaseType
itk::ImageRandomSamplerBase< FixedImageType > ImageRandomSamplerBaseType
Definition elxAdaptiveStochasticVarianceReducedGradient.h:328
elastix::AdaptiveStochasticVarianceReducedGradient::ThreadIdType
unsigned int ThreadIdType
Definition elxAdaptiveStochasticVarianceReducedGradient.h:299
elastix::AdaptiveStochasticVarianceReducedGradient::BeforeRegistration
void BeforeRegistration() override
elastix::AdaptiveStochasticVarianceReducedGradient::AutomaticParameterEstimationOriginal
virtual void AutomaticParameterEstimationOriginal()
elastix::AdaptiveStochasticVarianceReducedGradient::TransformJacobianType
JacobianType TransformJacobianType
Definition elxAdaptiveStochasticVarianceReducedGradient.h:350
elastix::AdaptiveStochasticVarianceReducedGradient::GetScaledDerivativeWithExceptionHandling
virtual void GetScaledDerivativeWithExceptionHandling(const ParametersType &parameters, DerivativeType &derivative)
elastix::AdaptiveStochasticVarianceReducedGradient::m_SettingsVector
SettingsVectorType m_SettingsVector
Definition elxAdaptiveStochasticVarianceReducedGradient.h:362
elastix::AdaptiveStochasticVarianceReducedGradient::RandomGeneratorType
itk::Statistics::MersenneTwisterRandomVariateGenerator RandomGeneratorType
Definition elxAdaptiveStochasticVarianceReducedGradient.h:347
elastix::AdaptiveStochasticVarianceReducedGradient::ComputeDisplacementDistributionType
itk::ComputeDisplacementDistribution< FixedImageType, TransformType > ComputeDisplacementDistributionType
Definition elxAdaptiveStochasticVarianceReducedGradient.h:323
elastix::AdaptiveStochasticVarianceReducedGradient::m_UseNoiseFactor
bool m_UseNoiseFactor
Definition elxAdaptiveStochasticVarianceReducedGradient.h:462
elastix::AdaptiveStochasticVarianceReducedGradient::m_UseNoiseCompensation
bool m_UseNoiseCompensation
Definition elxAdaptiveStochasticVarianceReducedGradient.h:460
elastix::AdaptiveStochasticVarianceReducedGradient::m_ExactGradient
DerivativeType m_ExactGradient
Definition elxAdaptiveStochasticVarianceReducedGradient.h:419
elastix::AdaptiveStochasticVarianceReducedGradient::SizeValueType
itk::SizeValueType SizeValueType
Definition elxAdaptiveStochasticVarianceReducedGradient.h:228
elastix::AdaptiveStochasticVarianceReducedGradient::StopOptimization
void StopOptimization() override
elastix::AdaptiveStochasticVarianceReducedGradient::ITKBaseType
typename Superclass2::ITKBaseType ITKBaseType
Definition elxAdaptiveStochasticVarianceReducedGradient.h:227
elastix::AdaptiveStochasticVarianceReducedGradient::m_AdvancedTransform
AdvancedTransformType::Pointer m_AdvancedTransform
Definition elxAdaptiveStochasticVarianceReducedGradient.h:370
elastix::AdaptiveStochasticVarianceReducedGradient::JacobianValueType
typename JacobianType::ValueType JacobianValueType
Definition elxAdaptiveStochasticVarianceReducedGradient.h:320
elastix::AdaptiveStochasticVarianceReducedGradient::m_RandomGenerator
RandomGeneratorType::Pointer m_RandomGenerator
Definition elxAdaptiveStochasticVarianceReducedGradient.h:373
elastix::AdaptiveStochasticVarianceReducedGradient::AfterRegistration
void AfterRegistration() override
elastix::AdaptiveStochasticVarianceReducedGradient::ImageSampleType
typename ImageSamplerBaseType::ImageSampleType ImageSampleType
Definition elxAdaptiveStochasticVarianceReducedGradient.h:332
elastix::AdaptiveStochasticVarianceReducedGradient::m_NoiseFactor
double m_NoiseFactor
Definition elxAdaptiveStochasticVarianceReducedGradient.h:422
elastix::AdaptiveStochasticVarianceReducedGradient::m_MaximumNumberOfSamplingAttempts
SizeValueType m_MaximumNumberOfSamplingAttempts
Definition elxAdaptiveStochasticVarianceReducedGradient.h:446
elastix::AdaptiveStochasticVarianceReducedGradient::TransformType
typename itkRegistrationType::TransformType TransformType
Definition elxAdaptiveStochasticVarianceReducedGradient.h:317
elastix::AdaptiveStochasticVarianceReducedGradient::SampleGradients
virtual void SampleGradients(const ParametersType &mu0, double perturbationSigma, double &gg, double &ee)
elastix::AdaptiveStochasticVarianceReducedGradient::ConstPointer
itk::SmartPointer< const Self > ConstPointer
Definition elxAdaptiveStochasticVarianceReducedGradient.h:205
elastix::AdaptiveStochasticVarianceReducedGradient::SetNumberOfWorkUnits
void SetNumberOfWorkUnits(ThreadIdType numberOfThreads)
Definition elxAdaptiveStochasticVarianceReducedGradient.h:303
elastix::AdaptiveStochasticVarianceReducedGradient::Pointer
itk::SmartPointer< Self > Pointer
Definition elxAdaptiveStochasticVarianceReducedGradient.h:204
elastix::AdaptiveStochasticVarianceReducedGradient::ImageSamplerBasePointer
typename ImageSamplerBaseType::Pointer ImageSamplerBasePointer
Definition elxAdaptiveStochasticVarianceReducedGradient.h:327
elastix::AdaptiveStochasticVarianceReducedGradient::m_MaximumStepLength
double m_MaximumStepLength
Definition elxAdaptiveStochasticVarianceReducedGradient.h:443
elastix::AdaptiveStochasticVarianceReducedGradient::FixedImageRegionType
typename FixedImageType::RegionType FixedImageRegionType
Definition elxAdaptiveStochasticVarianceReducedGradient.h:313
elastix::AdaptiveStochasticVarianceReducedGradient::ITK_DISALLOW_COPY_AND_MOVE
ITK_DISALLOW_COPY_AND_MOVE(AdaptiveStochasticVarianceReducedGradient)
elastix::AdaptiveStochasticVarianceReducedGradient::FixedImageIndexType
typename FixedImageType::IndexType FixedImageIndexType
Definition elxAdaptiveStochasticVarianceReducedGradient.h:314
elastix::AdaptiveStochasticVarianceReducedGradient::StartOptimization
void StartOptimization() override
elastix::AdaptiveStochasticVarianceReducedGradient::ImageRandomCoordinateSamplerPointer
typename ImageRandomCoordinateSamplerType::Pointer ImageRandomCoordinateSamplerPointer
Definition elxAdaptiveStochasticVarianceReducedGradient.h:331
elastix::AdaptiveStochasticVarianceReducedGradient::AdvanceOneStepThreaderCallback
static itk::ITK_THREAD_RETURN_TYPE AdvanceOneStepThreaderCallback(void *arg)
elastix::AdaptiveStochasticVarianceReducedGradient::m_OutsideIterations
SizeValueType m_OutsideIterations
Definition elxAdaptiveStochasticVarianceReducedGradient.h:451
elastix::AdaptiveStochasticVarianceReducedGradient::ImageGridSamplerType
itk::ImageGridSampler< FixedImageType > ImageGridSamplerType
Definition elxAdaptiveStochasticVarianceReducedGradient.h:341
elastix::AdaptiveStochasticVarianceReducedGradient::elxOverrideGetSelfMacro
elxOverrideGetSelfMacro
Definition elxAdaptiveStochasticVarianceReducedGradient.h:425
elastix::AdaptiveStochasticVarianceReducedGradient::itkStaticConstMacro
itkStaticConstMacro(MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
elastix::AdaptiveStochasticVarianceReducedGradient::AdvancedTransformType
itk::AdvancedTransform< CoordinateRepresentationType, Self::FixedImageDimension, Self::MovingImageDimension > AdvancedTransformType
Definition elxAdaptiveStochasticVarianceReducedGradient.h:354
elastix::AdaptiveStochasticVarianceReducedGradient::ImageRandomSamplerPointer
typename ImageRandomSamplerType::Pointer ImageRandomSamplerPointer
Definition elxAdaptiveStochasticVarianceReducedGradient.h:336
elastix::AdaptiveStochasticVarianceReducedGradient::m_OriginalButSigmoidToDefault
bool m_OriginalButSigmoidToDefault
Definition elxAdaptiveStochasticVarianceReducedGradient.h:461
elastix::AdaptiveStochasticVarianceReducedGradient::~AdaptiveStochasticVarianceReducedGradient
~AdaptiveStochasticVarianceReducedGradient() override=default
elastix::AdaptiveStochasticVarianceReducedGradient::m_NumberOfBandStructureSamples
SizeValueType m_NumberOfBandStructureSamples
Definition elxAdaptiveStochasticVarianceReducedGradient.h:455
elastix::AdaptiveStochasticVarianceReducedGradient::Self
AdaptiveStochasticVarianceReducedGradient Self
Definition elxAdaptiveStochasticVarianceReducedGradient.h:201
elastix::AdaptiveStochasticVarianceReducedGradient::ImageRadomSampleContainerPointer
typename ImageRadomSampleContainerType::Pointer ImageRadomSampleContainerPointer
Definition elxAdaptiveStochasticVarianceReducedGradient.h:338
elastix::AdaptiveStochasticVarianceReducedGradient::SettingsVectorType
typename std::vector< SettingsType > SettingsVectorType
Definition elxOptimizerBase.h:133
elastix::AdaptiveStochasticVarianceReducedGradient::FixedImagePointType
typename FixedImageType::PointType FixedImagePointType
Definition elxAdaptiveStochasticVarianceReducedGradient.h:315
elastix::AdaptiveStochasticVarianceReducedGradient::BeforeEachResolution
void BeforeEachResolution() override
elastix::AdaptiveStochasticVarianceReducedGradient::JacobianType
typename TransformType::JacobianType JacobianType
Definition elxAdaptiveStochasticVarianceReducedGradient.h:318
elastix::AdaptiveStochasticVarianceReducedGradient::CoordinateRepresentationType
typename TransformType::ScalarType CoordinateRepresentationType
Definition elxAdaptiveStochasticVarianceReducedGradient.h:353
elastix::AdaptiveStochasticVarianceReducedGradient::m_MeanGradient
DerivativeType m_MeanGradient
Definition elxAdaptiveStochasticVarianceReducedGradient.h:420
elastix::AdaptiveStochasticVarianceReducedGradient::itkStaticConstMacro
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
elastix::AdaptiveStochasticVarianceReducedGradient::ImageRadomSampleContainerType
typename ImageRandomSamplerType::ImageSampleContainerType ImageRadomSampleContainerType
Definition elxAdaptiveStochasticVarianceReducedGradient.h:337
elastix::AdaptiveStochasticVarianceReducedGradient::NonZeroJacobianIndicesType
typename AdvancedTransformType::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
Definition elxAdaptiveStochasticVarianceReducedGradient.h:356
elastix::AdaptiveStochasticVarianceReducedGradient::ImageRandomSamplerBasePointer
typename ImageRandomSamplerBaseType::Pointer ImageRandomSamplerBasePointer
Definition elxAdaptiveStochasticVarianceReducedGradient.h:329
elastix::AdaptiveStochasticVarianceReducedGradient::itkRegistrationType
typename RegistrationType::ITKBaseType itkRegistrationType
Definition elxAdaptiveStochasticVarianceReducedGradient.h:316
elastix::AdaptiveStochasticVarianceReducedGradient::elxClassNameMacro
elxClassNameMacro("AdaptiveStochasticVarianceReducedGradient")
elastix::AdaptiveStochasticVarianceReducedGradient::m_AutomaticParameterEstimation
bool m_AutomaticParameterEstimation
Definition elxAdaptiveStochasticVarianceReducedGradient.h:442
elastix::AdaptiveStochasticVarianceReducedGradient::AddRandomPerturbation
virtual void AddRandomPerturbation(ParametersType &parameters, double sigma)
elastix::AdaptiveStochasticVarianceReducedGradient::m_CurrentNumberOfSamplingAttempts
SizeValueType m_CurrentNumberOfSamplingAttempts
Definition elxAdaptiveStochasticVarianceReducedGradient.h:447
elastix::AdaptiveStochasticVarianceReducedGradient::ImageSampleContainerType
typename ImageGridSamplerType::ImageSampleContainerType ImageSampleContainerType
Definition elxAdaptiveStochasticVarianceReducedGradient.h:343
elastix::AdaptiveStochasticVarianceReducedGradient::ImageRandomSamplerType
itk::ImageRandomSampler< FixedImageType > ImageRandomSamplerType
Definition elxAdaptiveStochasticVarianceReducedGradient.h:335
elastix::AdaptiveStochasticVarianceReducedGradient::m_MaxBandCovSize
SizeValueType m_MaxBandCovSize
Definition elxAdaptiveStochasticVarianceReducedGradient.h:454
elastix::AdaptiveStochasticVarianceReducedGradient::ComputeJacobianTermsType
itk::ComputeJacobianTerms< FixedImageType, TransformType > ComputeJacobianTermsType
Definition elxAdaptiveStochasticVarianceReducedGradient.h:319
elastix::AdaptiveStochasticVarianceReducedGradient::MovingImageType
typename RegistrationType::MovingImageType MovingImageType
Definition elxAdaptiveStochasticVarianceReducedGradient.h:311
elastix::AdaptiveStochasticVarianceReducedGradient::m_NumberOfSamplesForExactGradient
SizeValueType m_NumberOfSamplesForExactGradient
Definition elxAdaptiveStochasticVarianceReducedGradient.h:367
elastix::AdaptiveStochasticVarianceReducedGradient::ImageGridSamplerPointer
typename ImageGridSamplerType::Pointer ImageGridSamplerPointer
Definition elxAdaptiveStochasticVarianceReducedGradient.h:342
elastix::AdaptiveStochasticVarianceReducedGradient::AutomaticParameterEstimationUsingDisplacementDistribution
virtual void AutomaticParameterEstimationUsingDisplacementDistribution()
elastix::AdaptiveStochasticVarianceReducedGradient::m_NumberOfSpatialSamples
SizeValueType m_NumberOfSpatialSamples
Definition elxAdaptiveStochasticVarianceReducedGradient.h:457
elastix::AdaptiveStochasticVarianceReducedGradient::AfterEachResolution
void AfterEachResolution() override
elastix::AdaptiveStochasticVarianceReducedGradient::ResumeOptimization
void ResumeOptimization() override
elastix::AdaptiveStochasticVarianceReducedGradient::ImageSamplerBaseType
itk::ImageSamplerBase< FixedImageType > ImageSamplerBaseType
Definition elxAdaptiveStochasticVarianceReducedGradient.h:326
elastix::AdaptiveStochasticVarianceReducedGradient::m_SigmoidScaleFactor
double m_SigmoidScaleFactor
Definition elxAdaptiveStochasticVarianceReducedGradient.h:375
elastix::OptimizerBase::OptimizerBase
OptimizerBase()=default
elastix::OptimizerBase::RegistrationType
typename ElastixType::RegistrationBaseType RegistrationType
Definition elxBaseComponentSE.h:62
elastix::OptimizerBase::ElastixType
TElastix ElastixType
Definition elxBaseComponentSE.h:57
elastix::OptimizerBase::ITKBaseType
itk::Optimizer ITKBaseType
Definition elxOptimizerBase.h:70
elastix::OptimizerBase::SettingsVectorType
typename std::vector< SettingsType > SettingsVectorType
Definition elxOptimizerBase.h:133
elastix::OptimizerBase::ParametersType
typename ITKBaseType::ParametersType ParametersType
Definition elxOptimizerBase.h:73
int
itk::AdaptiveStochasticVarianceReducedGradientOptimizer
This class implements a gradient descent optimizer with adaptive gain.
Definition itkAdaptiveStochasticVarianceReducedGradientOptimizer.h:71
itk::AdaptiveStochasticVarianceReducedGradientOptimizer::AdaptiveStochasticVarianceReducedGradientOptimizer
AdaptiveStochasticVarianceReducedGradientOptimizer()
itk::AdvancedTransform
Transform maps points, vectors and covariant vectors from an input space to an output space.
Definition itkAdvancedTransform.h:84
itk::AdvancedTransform< CoordinateRepresentationType, Self::FixedImageDimension, Self::MovingImageDimension >::Pointer
SmartPointer< Self > Pointer
Definition itkAdvancedTransform.h:91
itk::AdvancedTransform< CoordinateRepresentationType, Self::FixedImageDimension, Self::MovingImageDimension >::NonZeroJacobianIndicesType
std::vector< unsigned long > NonZeroJacobianIndicesType
Definition itkAdvancedTransform.h:133
itk::ComputeDisplacementDistribution
This is a helper class for the automatic parameter estimation of the ASGD optimizer.
Definition itkComputeDisplacementDistribution.h:49
itk::ComputeJacobianTerms
This is a helper class for the automatic parameter estimation of the ASGD optimizer.
Definition itkComputeJacobianTerms.h:38
itk::ImageGridSampler
Samples image voxels on a regular grid.
Definition itkImageGridSampler.h:46
itk::ImageGridSampler< FixedImageType >::ImageSampleContainerType
VectorDataContainer< std::vcl_size_t, ImageSampleType > ImageSampleContainerType
itk::ImageGridSampler< FixedImageType >::Pointer
SmartPointer< Self > Pointer
Definition itkImageGridSampler.h:53
itk::ImageRandomCoordinateSampler
Samples an image by randomly composing a set of physical coordinates.
Definition itkImageRandomCoordinateSampler.h:41
itk::ImageRandomCoordinateSampler< FixedImageType >::Pointer
SmartPointer< Self > Pointer
Definition itkImageRandomCoordinateSampler.h:48
itk::ImageRandomSamplerBase
This class is a base class for any image sampler that randomly picks samples.
Definition itkImageRandomSamplerBase.h:39
itk::ImageRandomSamplerBase< FixedImageType >::Pointer
SmartPointer< Self > Pointer
Definition itkImageRandomSamplerBase.h:46
itk::ImageRandomSampler
Samples randomly some voxels of an image.
Definition itkImageRandomSampler.h:40
itk::ImageRandomSampler< FixedImageType >::Pointer
SmartPointer< Self > Pointer
Definition itkImageRandomSampler.h:47
itk::ImageSamplerBase
This class is a base class for any image sampler.
Definition itkImageSamplerBase.h:44
itk::ImageSamplerBase< FixedImageType >::ImageSampleType
ImageSample< InputImageType > ImageSampleType
Definition itkImageSamplerBase.h:76
itk::ImageSamplerBase< FixedImageType >::ImageSampleContainerType
VectorDataContainer< std::vcl_size_t, ImageSampleType > ImageSampleContainerType
Definition itkImageSamplerBase.h:77
itk::ImageSamplerBase< FixedImageType >::Pointer
SmartPointer< Self > Pointer
Definition itkImageSamplerBase.h:51
itk::StochasticVarianceReducedGradientDescentOptimizer::m_Threader
MultiThreaderBase::Pointer m_Threader
Definition itkStochasticVarianceReducedGradientDescentOptimizer.h:192
elxIncludes.h
elxProgressCommand.h
itkAdaptiveStochasticVarianceReducedGradientOptimizer.h
itkAdvancedTransform.h
itkComputeDisplacementDistribution.h
itkComputeJacobianTerms.h
itkImageRandomSampler.h
elastix
Definition elxDefaultConstruct.h:25
elastix::AdaptiveStochasticVarianceReducedGradient::MultiThreaderParameterType
Definition elxAdaptiveStochasticVarianceReducedGradient.h:429
elastix::AdaptiveStochasticVarianceReducedGradient::MultiThreaderParameterType::t_NewPosition
ParametersType * t_NewPosition
Definition elxAdaptiveStochasticVarianceReducedGradient.h:430
elastix::AdaptiveStochasticVarianceReducedGradient::MultiThreaderParameterType::t_Optimizer
Self * t_Optimizer
Definition elxAdaptiveStochasticVarianceReducedGradient.h:431
elastix::OptimizerBase::SettingsType
Definition elxOptimizerBase.h:130

Generated on 1768596610 for elastix by 1.15.0 |