ITK  5.0.0
Insight Segmentation and Registration Toolkit
itkVariationalRegistrationGaussianRegularizer.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright Insight Software Consortium
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 itkVariationalRegistrationGaussianRegularizer_h
19 #define itkVariationalRegistrationGaussianRegularizer_h
20 
22 
23 namespace itk {
24 
45 template< typename TDisplacementField >
47  : public VariationalRegistrationRegularizer< TDisplacementField >
48 {
49 public:
50  ITK_DISALLOW_COPY_AND_ASSIGN(VariationalRegistrationGaussianRegularizer);
51 
55  TDisplacementField >;
58 
60  itkNewMacro(Self);
61 
65 
67  static constexpr unsigned int ImageDimension = TDisplacementField::ImageDimension;
68 
73  using PixelType = typename Superclass::PixelType;
74 
75  using ValueType = typename Superclass::ValueType;
76 
81 
84 
88  itkSetMacro( StandardDeviations, StandardDeviationsType );
89  virtual void SetStandardDeviations( double value );
91 
94  itkGetConstReferenceMacro(StandardDeviations, StandardDeviationsType);
95 
98  itkSetMacro( MaximumError, double );
99 
102  itkGetConstMacro( MaximumError, double );
103 
106  itkSetMacro( MaximumKernelWidth, unsigned int );
107 
110  itkGetConstMacro( MaximumKernelWidth, unsigned int );
111 
112 protected:
115 
117  void PrintSelf(std::ostream& os, Indent indent) const override;
118 
121  void GenerateData() override;
122 
125  void Initialize() override;
126 
127 private:
130 
133 
135  unsigned int m_MaximumKernelWidth;
136 };
137 
138 }
139 
140 #ifndef ITK_MANUAL_INSTANTIATION
141 # include "itkVariationalRegistrationGaussianRegularizer.hxx"
142 #endif
143 
144 #endif
typename Superclass::DisplacementFieldConstPointer DisplacementFieldConstPointer
Light weight base class for most itk classes.
typename DisplacementFieldType::ConstPointer DisplacementFieldConstPointer
Base class for regularization component in the variational registration framework.
typename Superclass::RegionType RegionType
Definition: itkImage.h:139
void PrintSelf(std::ostream &os, Indent indent) const override
This class performs Gaussian smoothing of a vector field.
virtual void SetStandardDeviations(StandardDeviationsType _arg)
typename NumericTraits< PixelType >::ValueType ValueType
typename DisplacementFieldType::Pointer DisplacementFieldPointer
Control indentation during Print() invocation.
Definition: itkIndent.h:49
typename Superclass::DisplacementFieldPointer DisplacementFieldPointer
SmartPointer< Self > Pointer
Definition: itkImage.h:83
typename DisplacementFieldType::PixelType PixelType
Templated n-dimensional image class.
Definition: itkImage.h:75