go home Home | Main Page | Topics | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Loading...
Searching...
No Matches
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
36
37template <typename TElastix>
38class ITK_TEMPLATE_EXPORT RayCastResampleInterpolator
39 : public itk::AdvancedRayCastInterpolateImageFunction<typename ResampleInterpolatorBase<TElastix>::InputImageType,
40 typename ResampleInterpolatorBase<TElastix>::CoordinateType>
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>::CoordinateType, Self::ImageDimension, Self::ImageDimension>;
91 using AdvancedTransformPointer = typename AdvancedTransformType::Pointer;
94 Self::ImageDimension>;
95 using CombinationTransformPointer = typename CombinationTransformType::Pointer;
96
97 using typename Superclass2::ParameterMapType;
98
99 int
100 BeforeAll() override;
101
102 void
104
106 void
107 ReadFromFile() override;
108
109protected:
112
114 ~RayCastResampleInterpolator() override = default;
115
119 void
121
122private:
124
128
132};
133
134} // end namespace elastix
135
136#ifndef ITK_MANUAL_INSTANTIATION
137# include "elxRayCastResampleInterpolator.hxx"
138#endif
139
140#endif // end elxRayCastResampleInterpolator_h
typename EulerTransformType::ParametersType TransformParametersType
ITK_DISALLOW_COPY_AND_MOVE(RayCastResampleInterpolator)
itk::AdvancedRayCastInterpolateImageFunction< typename ResampleInterpolatorBase< TElastix >::InputImageType, typename ResampleInterpolatorBase< TElastix >::CoordinateType > Superclass1
typename CombinationTransformType::Pointer CombinationTransformPointer
typename AdvancedTransformType::Pointer AdvancedTransformPointer
itkStaticConstMacro(ImageDimension, unsigned int, Superclass1::ImageDimension)
ResampleInterpolatorBase< TElastix > Superclass2
typename itk::AdvancedCombinationTransform< typename InterpolatorBase< TElastix >::CoordinateType, Self::ImageDimension > CombinationTransformType
typename EulerTransformType::Pointer EulerTransformPointer
typename ElastixType::ParameterMapType ParameterMapType
ParameterMapType CreateDerivedTransformParameterMap() const override
typename InputImageType::SpacingType SpacingType
typename Superclass2::ITKBaseType ITKBaseType
itkOverrideGetNameOfClassMacro(RayCastResampleInterpolator)
typename itk::EulerTransform< typename InterpolatorBase< TElastix >::CoordinateType, ImageDimension > EulerTransformType
~RayCastResampleInterpolator() override=default
typename itk:: AdvancedTransform< typename InterpolatorBase< TElastix >::CoordinateType, Self::ImageDimension, Self::ImageDimension > AdvancedTransformType
elxClassNameMacro("FinalRayCastInterpolator")
itk::InterpolateImageFunction< InputImageType, CoordinateType > 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 1774142652 for elastix by doxygen 1.15.0 elastix logo