go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxSumSquaredTissueVolumeDifferenceMetric.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 elxSumSquaredTissueVolumeDifferenceMetric_h
19#define elxSumSquaredTissueVolumeDifferenceMetric_h
20
21#include "elxIncludes.h"
23//#include "itkTimeProbe.h"
24
25namespace elastix
26{
49template <class TElastix>
51 : public itk::SumSquaredTissueVolumeDifferenceImageToImageMetric<typename MetricBase<TElastix>::FixedImageType,
52 typename MetricBase<TElastix>::MovingImageType>
53 , public MetricBase<TElastix>
54{
55public:
57
64 using Pointer = itk::SmartPointer<Self>;
65 using ConstPointer = itk::SmartPointer<const Self>;
66
68 itkNewMacro(Self);
69
72
77 elxClassNameMacro("SumSquaredTissueVolumeDifference");
78
80 using typename Superclass1::CoordinateRepresentationType;
81 using typename Superclass1::MovingImageType;
82 using typename Superclass1::MovingImagePixelType;
83 using typename Superclass1::MovingImageConstPointer;
84 using typename Superclass1::FixedImageType;
85 using typename Superclass1::FixedImageConstPointer;
86 using typename Superclass1::FixedImageRegionType;
87 using typename Superclass1::TransformType;
88 using typename Superclass1::TransformPointer;
89 using typename Superclass1::InputPointType;
90 using typename Superclass1::OutputPointType;
91 using typename Superclass1::TransformParametersType;
92 using typename Superclass1::TransformJacobianType;
93 using typename Superclass1::InterpolatorType;
94 using typename Superclass1::InterpolatorPointer;
95 using typename Superclass1::RealType;
96 using typename Superclass1::GradientPixelType;
97 using typename Superclass1::GradientImageType;
98 using typename Superclass1::GradientImagePointer;
99 using typename Superclass1::GradientImageFilterType;
100 using typename Superclass1::GradientImageFilterPointer;
101 using typename Superclass1::FixedImageMaskType;
102 using typename Superclass1::FixedImageMaskPointer;
103 using typename Superclass1::MovingImageMaskType;
104 using typename Superclass1::MovingImageMaskPointer;
105 using typename Superclass1::MeasureType;
106 using typename Superclass1::DerivativeType;
107 using typename Superclass1::ParametersType;
110 using typename Superclass1::ImageSamplerType;
119
121 itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension);
122
124 itkStaticConstMacro(MovingImageDimension, unsigned int, MovingImageType::ImageDimension);
125
127 using typename Superclass2::ElastixType;
128 using typename Superclass2::RegistrationType;
130
131
135 void
136 Initialize() override;
137
143 void
145
146protected:
151
152private:
154
155}; // end class SumSquaredTissueVolumeDifferenceMetric
156
157
158} // end namespace elastix
159
160
161#ifndef ITK_MANUAL_INSTANTIATION
162# include "elxSumSquaredTissueVolumeDifferenceMetric.hxx"
163#endif
164
165#endif // end #ifndef elxSumSquaredTissueVolumeDifferenceMetric_h
This class is the elastix base class for all Metrics.
Definition: elxMetricBase.h:73
itk::SingleValuedCostFunction ITKBaseType
Definition: elxMetricBase.h:97
typename ElastixType::MovingImageType MovingImageType
Definition: elxMetricBase.h:92
typename ElastixType::RegistrationBaseType RegistrationType
A metric based on the itk::SumSquaredTissueVolumeDifferenceImageToImageMetric.
elxClassNameMacro("SumSquaredTissueVolumeDifference")
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
ITK_DISALLOW_COPY_AND_MOVE(SumSquaredTissueVolumeDifferenceMetric)
itkStaticConstMacro(MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
typename ImageSamplerType::OutputVectorContainerPointer ImageSampleContainerPointer
typename MovingImageType::RegionType MovingImageRegionType
typename FixedImageType::PixelType FixedImagePixelType
typename ImageSamplerType::OutputVectorContainerType ImageSampleContainerType
typename MovingImageLimiterType::OutputType MovingImageLimiterOutputType
typename FixedImageLimiterType::OutputType FixedImageLimiterOutputType
typename ImageSamplerType::Pointer ImageSamplerPointer
This class is a base class for any image sampler.
Base class for all ITK limiter function objects.
Compute sum of square tissue volume difference between two images.


Generated on 1687403667 for elastix by doxygen 1.9.4 elastix logo