Loading...
Searching...
No Matches
elxPreconditionedStochasticGradientDescent.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 elxPreconditionedStochasticGradientDescent_h
#define elxPreconditionedStochasticGradientDescent_h
#include "elxIncludes.h" // include first to avoid MSVS warning
#include "itkPreconditionedASGDOptimizer.h"
#include "itkComputeDisplacementDistribution.h" // For fast step size estimation
#include "itkComputePreconditionerUsingDisplacementDistribution.h"
#include "elxProgressCommand.h"
#include "itkAdvancedTransform.h"
#include "itkMersenneTwisterRandomVariateGenerator.h"
#include "itkAdvancedBSplineDeformableTransformBase.h"
#include "itkImageRandomSampler.h"
namespace elastix
{
template <class TElastix>
class ITK_TEMPLATE_EXPORT PreconditionedStochasticGradientDescent
: public itk::PreconditionedASGDOptimizer
, public OptimizerBase<TElastix>
{
public:
ITK_DISALLOW_COPY_AND_MOVE(PreconditionedStochasticGradientDescent);
using Self = PreconditionedStochasticGradientDescent;
using Superclass1 = PreconditionedASGDOptimizer;
using Superclass2 = OptimizerBase<TElastix>;
using Pointer = itk::SmartPointer<Self>;
using ConstPointer = itk::SmartPointer<const Self>;
itkNewMacro(Self);
itkTypeMacro(PreconditionedStochasticGradientDescent, VoxelWiseASGDOptimizer);
elxClassNameMacro("PreconditionedStochasticGradientDescent");
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;
itkSetMacro(AutomaticParameterEstimation, bool);
itkGetConstMacro(AutomaticParameterEstimation, bool);
itkSetMacro(MaximumStepLength, double);
itkGetConstReferenceMacro(MaximumStepLength, double);
itkSetClampMacro(RegularizationKappa, double, 0.0, 1.0);
itkGetConstReferenceMacro(RegularizationKappa, double);
itkSetMacro(MaximumNumberOfSamplingAttempts, SizeValueType);
itkGetConstReferenceMacro(MaximumNumberOfSamplingAttempts, SizeValueType);
protected:
PreconditionedStochasticGradientDescent();
~PreconditionedStochasticGradientDescent() override = default;
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 JacobianValueType = typename JacobianType::ValueType;
using typename Superclass2::SettingsType;
using typename Superclass2::SettingsVectorType;
using OutputImageType = typename ElastixType::FixedImageType;
using PreconditionerEstimationType =
itk::ComputePreconditionerUsingDisplacementDistribution<FixedImageType, TransformType>;
using PreconditionerEstimationPointer = typename PreconditionerEstimationType::Pointer;
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 ImageRandomSamplerType = itk::ImageRandomSampler<FixedImageType>;
using ImageRandomSamplerPointer = typename ImageRandomSamplerType::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 RandomGeneratorPointer = typename RandomGeneratorType::Pointer;
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 AdvancedTransformPointer = typename AdvancedTransformType::Pointer;
using NonZeroJacobianIndicesType = typename AdvancedTransformType::NonZeroJacobianIndicesType;
using AdvancedBSplineDeformableTransformType =
itk::AdvancedBSplineDeformableTransformBase<CoordinateRepresentationType, Self::FixedImageDimension>;
using BSplineTransformBasePointer = typename AdvancedBSplineDeformableTransformType::Pointer;
SettingsVectorType m_SettingsVector;
SizeValueType m_NumberOfGradientMeasurements;
SizeValueType m_NumberOfJacobianMeasurements;
SizeValueType m_NumberOfSamplesForNoiseCompensationFactor;
SizeValueType m_NumberOfSamplesForPrecondition;
SizeValueType m_NumberOfSpatialSamples;
AdvancedTransformPointer m_AdvancedTransform;
RandomGeneratorPointer m_RandomGenerator;
double m_SigmoidScaleFactor;
double m_NoiseFactor;
double m_GlobalStepSize;
double m_RegularizationKappa;
double m_ConditionNumber;
virtual void
AutomaticPreconditionerEstimation();
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);
private:
elxOverrideGetSelfMacro;
bool m_AutomaticParameterEstimation;
double m_MaximumStepLength;
double m_MaximumStepLengthRatio;
SizeValueType m_MaximumNumberOfSamplingAttempts;
SizeValueType m_CurrentNumberOfSamplingAttempts;
SizeValueType m_PreviousErrorAtIteration;
bool m_AutomaticParameterEstimationDone;
SizeValueType m_MaxBandCovSize;
SizeValueType m_NumberOfBandStructureSamples;
bool m_UseNoiseCompensation;
bool m_OriginalButSigmoidToDefault;
};
} // end namespace elastix
#ifndef ITK_MANUAL_INSTANTIATION
# include "elxPreconditionedStochasticGradientDescent.hxx"
#endif
#endif // end #ifndef elxPreconditionedStochasticGradientDescent_h
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
elastix::PreconditionedStochasticGradientDescent::ITKBaseType
typename Superclass2::ITKBaseType ITKBaseType
Definition elxPreconditionedStochasticGradientDescent.h:212
elastix::PreconditionedStochasticGradientDescent::CoordinateRepresentationType
typename TransformType::ScalarType CoordinateRepresentationType
Definition elxPreconditionedStochasticGradientDescent.h:328
elastix::PreconditionedStochasticGradientDescent::m_NumberOfBandStructureSamples
SizeValueType m_NumberOfBandStructureSamples
Definition elxPreconditionedStochasticGradientDescent.h:405
elastix::PreconditionedStochasticGradientDescent::m_MaxBandCovSize
SizeValueType m_MaxBandCovSize
Definition elxPreconditionedStochasticGradientDescent.h:404
elastix::PreconditionedStochasticGradientDescent::ImageRandomSamplerBaseType
itk::ImageRandomSamplerBase< FixedImageType > ImageRandomSamplerBaseType
Definition elxPreconditionedStochasticGradientDescent.h:309
elastix::PreconditionedStochasticGradientDescent::ResumeOptimization
void ResumeOptimization() override
elastix::PreconditionedStochasticGradientDescent::ImageRandomCoordinateSamplerPointer
typename ImageRandomCoordinateSamplerType::Pointer ImageRandomCoordinateSamplerPointer
Definition elxPreconditionedStochasticGradientDescent.h:312
elastix::PreconditionedStochasticGradientDescent::ImageSamplerBaseType
itk::ImageSamplerBase< FixedImageType > ImageSamplerBaseType
Definition elxPreconditionedStochasticGradientDescent.h:307
elastix::PreconditionedStochasticGradientDescent::StartOptimization
void StartOptimization() override
elastix::PreconditionedStochasticGradientDescent::FixedImagePointType
typename FixedImageType::PointType FixedImagePointType
Definition elxPreconditionedStochasticGradientDescent.h:291
elastix::PreconditionedStochasticGradientDescent::GetScaledDerivativeWithExceptionHandling
virtual void GetScaledDerivativeWithExceptionHandling(const ParametersType &parameters, DerivativeType &derivative)
elastix::PreconditionedStochasticGradientDescent::m_GlobalStepSize
double m_GlobalStepSize
Definition elxPreconditionedStochasticGradientDescent.h:357
elastix::PreconditionedStochasticGradientDescent::PreconditionedStochasticGradientDescent
PreconditionedStochasticGradientDescent()
elastix::PreconditionedStochasticGradientDescent::m_ConditionNumber
double m_ConditionNumber
Definition elxPreconditionedStochasticGradientDescent.h:359
elastix::PreconditionedStochasticGradientDescent::SizeValueType
itk::SizeValueType SizeValueType
Definition elxPreconditionedStochasticGradientDescent.h:213
elastix::PreconditionedStochasticGradientDescent::BeforeRegistration
void BeforeRegistration() override
elastix::PreconditionedStochasticGradientDescent::MovingImageType
typename RegistrationType::MovingImageType MovingImageType
Definition elxPreconditionedStochasticGradientDescent.h:287
elastix::PreconditionedStochasticGradientDescent::m_NumberOfJacobianMeasurements
SizeValueType m_NumberOfJacobianMeasurements
Definition elxPreconditionedStochasticGradientDescent.h:344
elastix::PreconditionedStochasticGradientDescent::ImageRandomSamplerType
itk::ImageRandomSampler< FixedImageType > ImageRandomSamplerType
Definition elxPreconditionedStochasticGradientDescent.h:313
elastix::PreconditionedStochasticGradientDescent::ImageSamplerBasePointer
typename ImageSamplerBaseType::Pointer ImageSamplerBasePointer
Definition elxPreconditionedStochasticGradientDescent.h:308
elastix::PreconditionedStochasticGradientDescent::JacobianValueType
typename JacobianType::ValueType JacobianValueType
Definition elxPreconditionedStochasticGradientDescent.h:295
elastix::PreconditionedStochasticGradientDescent::itkStaticConstMacro
itkStaticConstMacro(MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
elastix::PreconditionedStochasticGradientDescent::Self
PreconditionedStochasticGradientDescent Self
Definition elxPreconditionedStochasticGradientDescent.h:186
elastix::PreconditionedStochasticGradientDescent::itkStaticConstMacro
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
elastix::PreconditionedStochasticGradientDescent::ComputeDisplacementDistributionType
itk::ComputeDisplacementDistribution< FixedImageType, TransformType > ComputeDisplacementDistributionType
Definition elxPreconditionedStochasticGradientDescent.h:304
elastix::PreconditionedStochasticGradientDescent::PreconditionerEstimationPointer
typename PreconditionerEstimationType::Pointer PreconditionerEstimationPointer
Definition elxPreconditionedStochasticGradientDescent.h:302
elastix::PreconditionedStochasticGradientDescent::~PreconditionedStochasticGradientDescent
~PreconditionedStochasticGradientDescent() override=default
elastix::PreconditionedStochasticGradientDescent::m_NumberOfGradientMeasurements
SizeValueType m_NumberOfGradientMeasurements
Definition elxPreconditionedStochasticGradientDescent.h:343
elastix::PreconditionedStochasticGradientDescent::BSplineTransformBasePointer
typename AdvancedBSplineDeformableTransformType::Pointer BSplineTransformBasePointer
Definition elxPreconditionedStochasticGradientDescent.h:337
elastix::PreconditionedStochasticGradientDescent::PreconditionerEstimationType
itk::ComputePreconditionerUsingDisplacementDistribution< FixedImageType, TransformType > PreconditionerEstimationType
Definition elxPreconditionedStochasticGradientDescent.h:300
elastix::PreconditionedStochasticGradientDescent::FixedImageRegionType
typename FixedImageType::RegionType FixedImageRegionType
Definition elxPreconditionedStochasticGradientDescent.h:289
elastix::PreconditionedStochasticGradientDescent::RandomGeneratorPointer
typename RandomGeneratorType::Pointer RandomGeneratorPointer
Definition elxPreconditionedStochasticGradientDescent.h:322
elastix::PreconditionedStochasticGradientDescent::SampleGradients
virtual void SampleGradients(const ParametersType &mu0, double perturbationSigma, double &gg, double &ee)
elastix::PreconditionedStochasticGradientDescent::m_RegularizationKappa
double m_RegularizationKappa
Definition elxPreconditionedStochasticGradientDescent.h:358
elastix::PreconditionedStochasticGradientDescent::ImageGridSamplerType
itk::ImageGridSampler< FixedImageType > ImageGridSamplerType
Definition elxPreconditionedStochasticGradientDescent.h:315
elastix::PreconditionedStochasticGradientDescent::FixedImageType
typename RegistrationType::FixedImageType FixedImageType
Definition elxPreconditionedStochasticGradientDescent.h:286
elastix::PreconditionedStochasticGradientDescent::TransformType
typename itkRegistrationType::TransformType TransformType
Definition elxPreconditionedStochasticGradientDescent.h:293
elastix::PreconditionedStochasticGradientDescent::AdvancedTransformPointer
typename AdvancedTransformType::Pointer AdvancedTransformPointer
Definition elxPreconditionedStochasticGradientDescent.h:332
elastix::PreconditionedStochasticGradientDescent::m_NumberOfSpatialSamples
SizeValueType m_NumberOfSpatialSamples
Definition elxPreconditionedStochasticGradientDescent.h:347
elastix::PreconditionedStochasticGradientDescent::m_PreviousErrorAtIteration
SizeValueType m_PreviousErrorAtIteration
Definition elxPreconditionedStochasticGradientDescent.h:400
elastix::PreconditionedStochasticGradientDescent::m_AutomaticParameterEstimation
bool m_AutomaticParameterEstimation
Definition elxPreconditionedStochasticGradientDescent.h:393
elastix::PreconditionedStochasticGradientDescent::OutputImageType
typename ElastixType::FixedImageType OutputImageType
Definition elxPreconditionedStochasticGradientDescent.h:298
elastix::PreconditionedStochasticGradientDescent::m_SettingsVector
SettingsVectorType m_SettingsVector
Definition elxPreconditionedStochasticGradientDescent.h:340
elastix::PreconditionedStochasticGradientDescent::FixedImageIndexType
typename FixedImageType::IndexType FixedImageIndexType
Definition elxPreconditionedStochasticGradientDescent.h:290
elastix::PreconditionedStochasticGradientDescent::m_UseNoiseCompensation
bool m_UseNoiseCompensation
Definition elxPreconditionedStochasticGradientDescent.h:408
elastix::PreconditionedStochasticGradientDescent::m_MaximumNumberOfSamplingAttempts
SizeValueType m_MaximumNumberOfSamplingAttempts
Definition elxPreconditionedStochasticGradientDescent.h:398
elastix::PreconditionedStochasticGradientDescent::m_RandomGenerator
RandomGeneratorPointer m_RandomGenerator
Definition elxPreconditionedStochasticGradientDescent.h:353
elastix::PreconditionedStochasticGradientDescent::Superclass2
OptimizerBase< TElastix > Superclass2
Definition elxPreconditionedStochasticGradientDescent.h:188
elastix::PreconditionedStochasticGradientDescent::ImageRandomSamplerBasePointer
typename ImageRandomSamplerBaseType::Pointer ImageRandomSamplerBasePointer
Definition elxPreconditionedStochasticGradientDescent.h:310
elastix::PreconditionedStochasticGradientDescent::AutomaticPreconditionerEstimation
virtual void AutomaticPreconditionerEstimation()
elastix::PreconditionedStochasticGradientDescent::m_OriginalButSigmoidToDefault
bool m_OriginalButSigmoidToDefault
Definition elxPreconditionedStochasticGradientDescent.h:409
elastix::PreconditionedStochasticGradientDescent::Superclass1
PreconditionedASGDOptimizer Superclass1
Definition elxPreconditionedStochasticGradientDescent.h:187
elastix::PreconditionedStochasticGradientDescent::ConstPointer
itk::SmartPointer< const Self > ConstPointer
Definition elxPreconditionedStochasticGradientDescent.h:190
elastix::PreconditionedStochasticGradientDescent::Pointer
itk::SmartPointer< Self > Pointer
Definition elxPreconditionedStochasticGradientDescent.h:189
elastix::PreconditionedStochasticGradientDescent::AdvancedTransformType
itk::AdvancedTransform< CoordinateRepresentationType, Self::FixedImageDimension, Self::MovingImageDimension > AdvancedTransformType
Definition elxPreconditionedStochasticGradientDescent.h:330
elastix::PreconditionedStochasticGradientDescent::ImageSampleContainerType
typename ImageGridSamplerType::ImageSampleContainerType ImageSampleContainerType
Definition elxPreconditionedStochasticGradientDescent.h:317
elastix::PreconditionedStochasticGradientDescent::ImageGridSamplerPointer
typename ImageGridSamplerType::Pointer ImageGridSamplerPointer
Definition elxPreconditionedStochasticGradientDescent.h:316
elastix::PreconditionedStochasticGradientDescent::ITK_DISALLOW_COPY_AND_MOVE
ITK_DISALLOW_COPY_AND_MOVE(PreconditionedStochasticGradientDescent)
elastix::PreconditionedStochasticGradientDescent::elxClassNameMacro
elxClassNameMacro("PreconditionedStochasticGradientDescent")
elastix::PreconditionedStochasticGradientDescent::TransformJacobianType
JacobianType TransformJacobianType
Definition elxPreconditionedStochasticGradientDescent.h:325
elastix::PreconditionedStochasticGradientDescent::SettingsVectorType
typename std::vector< SettingsType > SettingsVectorType
Definition elxOptimizerBase.h:133
elastix::PreconditionedStochasticGradientDescent::m_SigmoidScaleFactor
double m_SigmoidScaleFactor
Definition elxPreconditionedStochasticGradientDescent.h:355
elastix::PreconditionedStochasticGradientDescent::m_MaximumStepLengthRatio
double m_MaximumStepLengthRatio
Definition elxPreconditionedStochasticGradientDescent.h:395
elastix::PreconditionedStochasticGradientDescent::AdvanceOneStep
void AdvanceOneStep() override
elastix::PreconditionedStochasticGradientDescent::m_NumberOfSamplesForPrecondition
SizeValueType m_NumberOfSamplesForPrecondition
Definition elxPreconditionedStochasticGradientDescent.h:346
elastix::PreconditionedStochasticGradientDescent::AfterEachIteration
void AfterEachIteration() override
elastix::PreconditionedStochasticGradientDescent::m_AdvancedTransform
AdvancedTransformPointer m_AdvancedTransform
Definition elxPreconditionedStochasticGradientDescent.h:350
elastix::PreconditionedStochasticGradientDescent::m_CurrentNumberOfSamplingAttempts
SizeValueType m_CurrentNumberOfSamplingAttempts
Definition elxPreconditionedStochasticGradientDescent.h:399
elastix::PreconditionedStochasticGradientDescent::RandomGeneratorType
itk::Statistics::MersenneTwisterRandomVariateGenerator RandomGeneratorType
Definition elxPreconditionedStochasticGradientDescent.h:321
elastix::PreconditionedStochasticGradientDescent::AfterRegistration
void AfterRegistration() override
elastix::PreconditionedStochasticGradientDescent::m_NumberOfSamplesForNoiseCompensationFactor
SizeValueType m_NumberOfSamplesForNoiseCompensationFactor
Definition elxPreconditionedStochasticGradientDescent.h:345
elastix::PreconditionedStochasticGradientDescent::AdvancedBSplineDeformableTransformType
itk::AdvancedBSplineDeformableTransformBase< CoordinateRepresentationType, Self::FixedImageDimension > AdvancedBSplineDeformableTransformType
Definition elxPreconditionedStochasticGradientDescent.h:335
elastix::PreconditionedStochasticGradientDescent::JacobianType
typename TransformType::JacobianType JacobianType
Definition elxPreconditionedStochasticGradientDescent.h:294
elastix::PreconditionedStochasticGradientDescent::m_AutomaticParameterEstimationDone
bool m_AutomaticParameterEstimationDone
Definition elxPreconditionedStochasticGradientDescent.h:401
elastix::PreconditionedStochasticGradientDescent::MetricErrorResponse
void MetricErrorResponse(itk::ExceptionObject &err) override
elastix::PreconditionedStochasticGradientDescent::m_MaximumStepLength
double m_MaximumStepLength
Definition elxPreconditionedStochasticGradientDescent.h:394
elastix::PreconditionedStochasticGradientDescent::AddRandomPerturbation
virtual void AddRandomPerturbation(ParametersType &parameters, double sigma)
elastix::PreconditionedStochasticGradientDescent::BeforeEachResolution
void BeforeEachResolution() override
elastix::PreconditionedStochasticGradientDescent::m_NoiseFactor
double m_NoiseFactor
Definition elxPreconditionedStochasticGradientDescent.h:356
elastix::PreconditionedStochasticGradientDescent::elxOverrideGetSelfMacro
elxOverrideGetSelfMacro
Definition elxPreconditionedStochasticGradientDescent.h:391
elastix::PreconditionedStochasticGradientDescent::NonZeroJacobianIndicesType
typename AdvancedTransformType::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
Definition elxPreconditionedStochasticGradientDescent.h:333
elastix::PreconditionedStochasticGradientDescent::ImageRandomCoordinateSamplerType
itk::ImageRandomCoordinateSampler< FixedImageType > ImageRandomCoordinateSamplerType
Definition elxPreconditionedStochasticGradientDescent.h:311
elastix::PreconditionedStochasticGradientDescent::ImageRandomSamplerPointer
typename ImageRandomSamplerType::Pointer ImageRandomSamplerPointer
Definition elxPreconditionedStochasticGradientDescent.h:314
elastix::PreconditionedStochasticGradientDescent::AfterEachResolution
void AfterEachResolution() override
elastix::PreconditionedStochasticGradientDescent::ImageSampleContainerPointer
typename ImageSampleContainerType::Pointer ImageSampleContainerPointer
Definition elxPreconditionedStochasticGradientDescent.h:318
elastix::PreconditionedStochasticGradientDescent::itkRegistrationType
typename RegistrationType::ITKBaseType itkRegistrationType
Definition elxPreconditionedStochasticGradientDescent.h:292
itk::AdvancedBSplineDeformableTransformBase
Base class for deformable transform using a B-spline representation.
Definition itkAdvancedBSplineDeformableTransformBase.h:43
itk::AdvancedBSplineDeformableTransformBase< CoordinateRepresentationType, Self::FixedImageDimension >::Pointer
SmartPointer< Self > Pointer
Definition itkAdvancedBSplineDeformableTransformBase.h:50
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::ComputePreconditionerUsingDisplacementDistribution
This is a helper class for the automatic estimation of a preconditioner for the FPSGD optimizer....
Definition itkComputePreconditionerUsingDisplacementDistribution.h:42
itk::ComputePreconditionerUsingDisplacementDistribution< FixedImageType, TransformType >::Pointer
SmartPointer< Self > Pointer
Definition itkComputePreconditionerUsingDisplacementDistribution.h:49
itk::GradientDescentOptimizer2::StopConditionType
StopConditionType
Definition itkGradientDescentOptimizer2.h:84
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 >::Pointer
SmartPointer< Self > Pointer
Definition itkImageSamplerBase.h:51
itk::PreconditionedASGDOptimizer
This class implements a gradient descent optimizer with adaptive gain.
Definition itkPreconditionedASGDOptimizer.h:71
itk::PreconditionedASGDOptimizer::PreconditionedASGDOptimizer
PreconditionedASGDOptimizer()
elxIncludes.h
elxProgressCommand.h
itkAdvancedBSplineDeformableTransformBase.h
itkAdvancedTransform.h
itkComputeDisplacementDistribution.h
itkComputePreconditionerUsingDisplacementDistribution.h
itkImageRandomSampler.h
itkPreconditionedASGDOptimizer.h
elastix
Definition elxDefaultConstruct.h:25
elastix::OptimizerBase::SettingsType
Definition elxOptimizerBase.h:130

Generated on 1768596610 for elastix by 1.15.0 |