ITK  6.0.0
Insight Toolkit
itkDefaultImageToImageMetricTraitsv4.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 itkDefaultImageToImageMetricTraitsv4_h
19#define itkDefaultImageToImageMetricTraitsv4_h
20
21#include "itkImage.h"
22#include "itkCovariantVector.h"
26
27namespace itk
28{
41template <typename TFixedImageType,
42 typename TMovingImageType,
43 typename TVirtualImageType,
44 typename TCoordinate = double>
46{
47public:
50
51 using FixedImageType = TFixedImageType;
52 using MovingImageType = TMovingImageType;
53 using VirtualImageType = TVirtualImageType;
54
55 using FixedImagePixelType = typename FixedImageType::PixelType;
56 using MovingImagePixelType = typename MovingImageType::PixelType;
57
58 using CoordinateRepresentationType = TCoordinate;
59
60 /* Image dimension accessors */
61 using ImageDimensionType = unsigned int;
62 static constexpr ImageDimensionType FixedImageDimension = FixedImageType::ImageDimension;
63 static constexpr ImageDimensionType MovingImageDimension = MovingImageType::ImageDimension;
64 static constexpr ImageDimensionType VirtualImageDimension = VirtualImageType::ImageDimension;
65
68
70
74
77
82
84
88
90
96
103
108
112#ifdef ITK_USE_CONCEPT_CHECKING
113 itkConceptMacro(OnlyDefinedForFloatingPointTypes0, (itk::Concept::IsFloatingPoint<FixedRealType>));
114 itkConceptMacro(OnlyDefinedForFloatingPointTypes1, (itk::Concept::IsFloatingPoint<MovingRealType>));
115#endif // ITK_USE_CONCEPT_CHECKING
116};
117} // end namespace itk
120// #ifndef ITK_MANUAL_INSTANTIATION
121// #include "itkDefaultImageToImageMetricTraitsv4.hxx"
122// #endif
123
124#endif
Calculate the derivative by central differencing.
A templated class holding a n-Dimensional covariant vector.
Traits class used to by ConvertPixels to convert blocks of pixels.
A simple structure holding type information for ImageToImageMetricv4 classes.
typename NumericTraits< MovingImagePixelType >::RealType MovingRealType
CovariantVector< CoordinateRepresentationType, Self::VirtualImageDimension > VirtualImageGradientType
typename MovingImageType::PixelType MovingImagePixelType
static constexpr ImageDimensionType MovingImageDimension
static constexpr ImageDimensionType FixedImageDimension
typename NumericTraits< FixedImagePixelType >::RealType FixedRealType
static constexpr ImageDimensionType VirtualImageDimension
CovariantVector< CoordinateRepresentationType, Self::FixedImageDimension > FixedImageGradientType
CovariantVector< CoordinateRepresentationType, Self::MovingImageDimension > MovingImageGradientType
Computes the gradient of an image by convolution with the first derivative of a Gaussian.
Evaluates a function of an image at specified position.
Base class for filters that take an image as input and produce an image as output.
Templated n-dimensional image class.
Definition: itkImage.h:89
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....