ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkANTSNeighborhoodCorrelationImageToImageMetricv4.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright NumFOCUS
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 * https://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 itkANTSNeighborhoodCorrelationImageToImageMetricv4_h
19#define itkANTSNeighborhoodCorrelationImageToImageMetricv4_h
20
23
24namespace itk
25{
26
83template <typename TFixedImage,
84 typename TMovingImage,
85 typename TVirtualImage = TFixedImage,
86 typename TInternalComputationValueType = double,
87 typename TMetricTraits =
90 : public ImageToImageMetricv4<TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits>
91{
92public:
93 ITK_DISALLOW_COPY_AND_MOVE(ANTSNeighborhoodCorrelationImageToImageMetricv4);
94
97 using Superclass =
101
103 itkNewMacro(Self);
104
106 itkOverrideGetNameOfClassMacro(ANTSNeighborhoodCorrelationImageToImageMetricv4);
107
109 using typename Superclass::MeasureType;
110 using typename Superclass::DerivativeType;
111 using typename Superclass::DerivativeValueType;
112 using typename Superclass::VirtualPointType;
113 using typename Superclass::FixedImagePointType;
114 using typename Superclass::FixedImagePixelType;
115 using typename Superclass::FixedTransformType;
117 using FixedImageJacobianType = typename FixedTransformType::JacobianType;
118
122 using typename Superclass::MovingTransformType;
123 using MovingImageJacobianType = typename MovingTransformType::JacobianType;
124 using typename Superclass::JacobianType;
125
127
128 using typename Superclass::FixedImageType;
129 using typename Superclass::MovingImageType;
133
136
138 using typename Superclass::ImageDimensionType;
139
140 using ImageRegionType = typename VirtualImageType::RegionType;
141 using RadiusType = typename VirtualImageType::SizeType;
142 using IndexType = typename VirtualImageType::IndexType;
143
144 /* Image dimension accessors */
145 static constexpr ImageDimensionType FixedImageDimension = FixedImageType::ImageDimension;
146
147 static constexpr ImageDimensionType MovingImageDimension = MovingImageType::ImageDimension;
148
149 static constexpr ImageDimensionType VirtualImageDimension = VirtualImageType::ImageDimension;
150
151 // Set the radius of the neighborhood window centered at each pixel.
152 // See the note above about using a radius less than 2.
153 itkSetMacro(Radius, RadiusType);
154
155 // Get the Radius of the neighborhood window centered at each pixel
156 itkGetMacro(Radius, RadiusType);
157 itkGetConstMacro(Radius, RadiusType);
158
159 void
160 Initialize() override;
161
162protected:
165
169 Self>;
174 Self>;
175
179 Self>;
183 Self>;
184
185 void
186 PrintSelf(std::ostream & os, Indent indent) const override;
187
188private:
189 // Radius of the neighborhood window centered at each pixel
191};
192
193} // end namespace itk
194
195#ifndef ITK_MANUAL_INSTANTIATION
196# include "itkANTSNeighborhoodCorrelationImageToImageMetricv4.hxx"
197#endif
198
199#endif
void PrintSelf(std::ostream &os, Indent indent) const override
ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits > Superclass
ANTSNeighborhoodCorrelationImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, Superclass, Self > ANTSNeighborhoodCorrelationImageToImageMetricv4SparseGetValueAndDerivativeThreaderType
ANTSNeighborhoodCorrelationImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedImageRegionPartitioner< VirtualImageDimension >, Superclass, Self > ANTSNeighborhoodCorrelationImageToImageMetricv4DenseGetValueAndDerivativeThreaderType
typename Superclass::FixedTransformType::JacobianType FixedTransformJacobianType
typename Superclass::MovingTransformType::JacobianType MovingTransformJacobianType
A simple structure holding type information for ImageToImageMetricv4 classes.
Control indentation during Print() invocation.
Definition itkIndent.h:50
Transform< TInternalComputationValueType, TVirtualImage::ImageDimension, TMovingDimension > MovingTransformType
Array< TInternalComputationValueType > DerivativeType
Implements transparent reference counting.
Class for partitioning of an ImageRegion.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....