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 ComputeDistributionTermsUsingSearchDir(const ParametersType & mu, double & jacg, double & maxJJ, std::string methods);
99
103 void
104 ComputeForBSplineOnly(const ParametersType & mu, const double delta, double & maxJJ, ParametersType & preconditioner);
105
109 virtual void
110 Compute(const ParametersType & mu, double & maxJJ, ParametersType & preconditioner);
111
112 virtual void
113 ComputeJacobiTypePreconditioner(const ParametersType & mu, double & maxJJ, ParametersType & preconditioner);
114
116 virtual void
117 PreconditionerInterpolation(ParametersType & preconditioner);
118
119protected:
122
123 using typename Superclass::FixedImageIndexType;
124 using typename Superclass::FixedImagePointType;
125 using typename Superclass::JacobianType;
126 using typename Superclass::JacobianValueType;
140
144};
145
146} // end namespace itk
147
148#ifndef ITK_MANUAL_INSTANTIATION
149# include "itkComputePreconditionerUsingDisplacementDistribution.hxx"
150#endif
151
152#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
typename ImageSampleContainerType::Pointer ImageSampleContainerPointer
SpatialObject< Self::FixedImageDimension > FixedImageMaskType
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
virtual void ComputeJacobiTypePreconditioner(const ParametersType &mu, double &maxJJ, ParametersType &preconditioner)
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
virtual void Compute(const ParametersType &mu, double &maxJJ, ParametersType &preconditioner)
virtual void ComputeDistributionTermsUsingSearchDir(const ParametersType &mu, double &jacg, double &maxJJ, std::string methods)
void ComputeForBSplineOnly(const ParametersType &mu, const double delta, 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 2023-01-13 for elastix by doxygen 1.9.6 elastix logo