go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxRayCastResampleInterpolator.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 elxRayCastResampleInterpolator_h
19#define elxRayCastResampleInterpolator_h
20
21#include "elxIncludes.h" // include first to avoid MSVS warning
25#include "itkEulerTransform.h"
26
27namespace elastix
28{
29
37template <class TElastix>
38class ITK_TEMPLATE_EXPORT RayCastResampleInterpolator
39 : public itk::AdvancedRayCastInterpolateImageFunction<typename ResampleInterpolatorBase<TElastix>::InputImageType,
40 typename ResampleInterpolatorBase<TElastix>::CoordRepType>
41 , public ResampleInterpolatorBase<TElastix>
42{
43public:
45
52 using Pointer = itk::SmartPointer<Self>;
53 using ConstPointer = itk::SmartPointer<const Self>;
54
56 itkNewMacro(Self);
57
60
65 elxClassNameMacro("FinalRayCastInterpolator");
66
68 itkStaticConstMacro(ImageDimension, unsigned int, Superclass1::ImageDimension);
69
71 using typename Superclass1::OutputType;
72 using typename Superclass1::InputImageType;
73 using typename Superclass1::IndexType;
74 using typename Superclass1::ContinuousIndexType;
75 using typename Superclass1::PointType;
76 using typename Superclass1::SizeType;
77 using SpacingType = typename InputImageType::SpacingType;
78
80 using typename Superclass2::ElastixType;
81 using typename Superclass2::RegistrationType;
83
87 using TransformParametersType = typename EulerTransformType::ParametersType;
88 using EulerTransformPointer = typename EulerTransformType::Pointer;
89 using AdvancedTransformType = typename itk::
90 AdvancedTransform<typename InterpolatorBase<TElastix>::CoordRepType, Self::ImageDimension, Self::ImageDimension>;
91 using AdvancedTransformPointer = typename AdvancedTransformType::Pointer;
94 using CombinationTransformPointer = typename CombinationTransformType::Pointer;
95
96 using typename Superclass2::ParameterMapType;
97
98 int
99 BeforeAll() override;
100
101 void
103
105 void
106 ReadFromFile() override;
107
108protected:
111
113 ~RayCastResampleInterpolator() override = default;
114
118 void
120
121private:
123
127
131};
132
133} // end namespace elastix
134
135#ifndef ITK_MANUAL_INSTANTIATION
136# include "elxRayCastResampleInterpolator.hxx"
137#endif
138
139#endif // end elxRayCastResampleInterpolator_h
typename EulerTransformType::ParametersType TransformParametersType
ITK_DISALLOW_COPY_AND_MOVE(RayCastResampleInterpolator)
typename CombinationTransformType::Pointer CombinationTransformPointer
typename AdvancedTransformType::Pointer AdvancedTransformPointer
typename itk::AdvancedCombinationTransform< typename InterpolatorBase< TElastix >::CoordRepType, Self::ImageDimension > CombinationTransformType
itkStaticConstMacro(ImageDimension, unsigned int, Superclass1::ImageDimension)
typename EulerTransformType::Pointer EulerTransformPointer
typename ElastixType::ParameterMapType ParameterMapType
ParameterMapType CreateDerivedTransformParametersMap() const override
typename InputImageType::SpacingType SpacingType
typename Superclass2::ITKBaseType ITKBaseType
~RayCastResampleInterpolator() override=default
typename itk::EulerTransform< typename InterpolatorBase< TElastix >::CoordRepType, ImageDimension > EulerTransformType
typename itk::AdvancedTransform< typename InterpolatorBase< TElastix >::CoordRepType, Self::ImageDimension, Self::ImageDimension > AdvancedTransformType
elxClassNameMacro("FinalRayCastInterpolator")
This class is the elastix base class for all ResampleInterpolators.
itk::InterpolateImageFunction< InputImageType, CoordRepType > ITKBaseType
typename ElastixType::ParameterMapType ParameterMapType
typename ElastixType::RegistrationBaseType RegistrationType
This class combines two transforms: an 'initial transform' with a 'current transform'.
Projective interpolation of an image at specified positions.
This class combines the Euler2DTransform with the Euler3DTransform.


Generated on 2023-01-13 for elastix by doxygen 1.9.6 elastix logo