go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkComputePreconditionerUsingDisplacementDistribution.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright UMC Utrecht and contributors
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0.txt
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *=========================================================================*/
18#ifndef itkComputePreconditionerUsingDisplacementDistribution_h
19#define itkComputePreconditionerUsingDisplacementDistribution_h
20
22
23
24namespace itk
25{
39template <class TFixedImage, class TTransform>
41 : public ComputeDisplacementDistribution<TFixedImage, TTransform>
42{
43public:
45
49 using Pointer = SmartPointer<Self>;
50 using ConstPointer = SmartPointer<const Self>;
51
53 itkNewMacro(Self);
54
57
59 using typename Superclass::FixedImageType;
61 using typename Superclass::TransformType;
62 using typename Superclass::TransformPointer;
64 using typename Superclass::ParametersType;
65 using typename Superclass::DerivativeType;
66 using typename Superclass::ScalesType;
67
68 using typename Superclass::FixedImageMaskType;
72
73 // check
74 itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension);
75
77 itkSetClampMacro(RegularizationKappa, double, 0.0, 1.0);
78 itkGetConstReferenceMacro(RegularizationKappa, double);
79
81 itkSetMacro(MaximumStepLength, double);
82 itkGetConstReferenceMacro(MaximumStepLength, double);
83
85 itkSetClampMacro(ConditionNumber, double, 0.0, 10.0);
86 itkGetConstReferenceMacro(ConditionNumber, double);
87
91 void
92 Compute(const ParametersType & mu, double & jacg, double & maxJJ, std::string method) override;
93
97 virtual void
98 Compute(const ParametersType & mu, double & maxJJ, ParametersType & preconditioner);
99
100 void
101 ComputeJacobiTypePreconditioner(double & maxJJ, ParametersType & preconditioner);
102
104 virtual void
105 PreconditionerInterpolation(ParametersType & preconditioner);
106
107protected:
110
111 using typename Superclass::FixedImageIndexType;
112 using typename Superclass::FixedImagePointType;
113 using typename Superclass::JacobianType;
114 using typename Superclass::JacobianValueType;
128
129 double m_MaximumStepLength{};
130 double m_RegularizationKappa{};
131 double m_ConditionNumber{};
132};
133
134} // end namespace itk
135
136#ifndef ITK_MANUAL_INSTANTIATION
137# include "itkComputePreconditionerUsingDisplacementDistribution.hxx"
138#endif
139
140#endif // end #ifndef itkComputePreconditionerUsingDisplacementDistribution_h
This is a helper class for the automatic parameter estimation of the ASGD optimizer.
typename ImageFullSamplerType::Pointer ImageFullSamplerPointer
typename FixedImageType::PointType FixedImagePointType
typename FixedImageType::PixelType FixedImagePixelType
typename FixedImageMaskType::Pointer FixedImageMaskPointer
typename ImageGridSamplerType::Pointer ImageGridSamplerPointer
typename FixedImageType::IndexType FixedImageIndexType
typename TransformType::JacobianType JacobianType
typename ImageRandomSamplerBaseType::Pointer ImageRandomSamplerBasePointer
typename FixedImageType::RegionType FixedImageRegionType
ImageMaskSpatialObject< Self::FixedImageDimension > FixedImageMaskType
typename ImageSampleContainerType::Pointer ImageSampleContainerPointer
typename TransformType::NumberOfParametersType NumberOfParametersType
typename TransformType::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
typename ImageGridSamplerType ::ImageSampleContainerType ImageSampleContainerType
typename TransformType::ScalarType CoordinateRepresentationType
typename ImageSamplerBaseType::Pointer ImageSamplerBasePointer
typename FixedImageMaskType::ConstPointer FixedImageMaskConstPointer
This is a helper class for the automatic estimation of a preconditioner for the FPSGD optimizer....
ITK_DISALLOW_COPY_AND_MOVE(ComputePreconditionerUsingDisplacementDistribution)
void Compute(const ParametersType &mu, double &jacg, double &maxJJ, std::string method) override
void ComputeJacobiTypePreconditioner(double &maxJJ, ParametersType &preconditioner)
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
virtual void Compute(const ParametersType &mu, double &maxJJ, ParametersType &preconditioner)
virtual void PreconditionerInterpolation(ParametersType &preconditioner)
Samples all voxels in the InputImageRegion.
Samples image voxels on a regular grid.
This class is a base class for any image sampler that randomly picks samples.
This class is a base class for any image sampler.


Generated on 2024-07-17 for elastix by doxygen 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) elastix logo