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
elxRayCastInterpolator.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 elxRayCastInterpolator_h
19#define elxRayCastInterpolator_h
20
21#include "elxIncludes.h" // include first to avoid MSVS warning
25#include "itkEulerTransform.h"
26
27namespace elastix
28{
29
42
43template <typename TElastix>
44class ITK_TEMPLATE_EXPORT RayCastInterpolator
45 : public itk::AdvancedRayCastInterpolateImageFunction<typename InterpolatorBase<TElastix>::InputImageType,
46 typename InterpolatorBase<TElastix>::CoordinateType>
47 , public InterpolatorBase<TElastix>
48{
49public:
51
57 using Pointer = itk::SmartPointer<Self>;
58 using ConstPointer = itk::SmartPointer<const Self>;
59
61 itkNewMacro(Self);
62
65
70 elxClassNameMacro("RayCastInterpolator");
71
73 itkStaticConstMacro(ImageDimension, unsigned int, Superclass1::ImageDimension);
74
76 using typename Superclass1::OutputType;
77 using typename Superclass1::InputImageType;
78 using typename Superclass1::IndexType;
79 using typename Superclass1::ContinuousIndexType;
80 using typename Superclass1::PointType;
81 using typename Superclass1::SizeType;
82 using SpacingType = typename InputImageType::SpacingType;
83
85 using typename Superclass2::ElastixType;
86 using typename Superclass2::RegistrationType;
88
92 using TransformParametersType = typename EulerTransformType::ParametersType;
93 using EulerTransformPointer = typename EulerTransformType::Pointer;
94 using AdvancedTransformType = typename itk::
95 AdvancedTransform<typename InterpolatorBase<TElastix>::CoordinateType, Self::ImageDimension, Self::ImageDimension>;
96 using AdvancedTransformPointer = typename AdvancedTransformType::Pointer;
99 Self::ImageDimension>;
100 using CombinationTransformPointer = typename CombinationTransformType::Pointer;
101
102protected:
105
107 ~RayCastInterpolator() override = default;
108
109 int
110 BeforeAll() override;
111
112 void
114
115 void
117
118private:
120
124};
125
126} // end namespace elastix
127
128#ifndef ITK_MANUAL_INSTANTIATION
129# include "elxRayCastInterpolator.hxx"
130#endif
131
132#endif // end #ifndef elxRayCastInterpolator_h
itk::InterpolateImageFunction< InputImageType, CoordinateType > ITKBaseType
typename ElastixType::RegistrationBaseType RegistrationType
ElastixBase::CoordinateType CoordinateType
void BeforeEachResolution() override
TransformParametersType m_PreParameters
InterpolatorBase< TElastix > Superclass2
ITK_DISALLOW_COPY_AND_MOVE(RayCastInterpolator)
~RayCastInterpolator() override=default
CombinationTransformPointer m_CombinationTransform
typename Superclass2::ITKBaseType ITKBaseType
typename itk::AdvancedCombinationTransform< typename InterpolatorBase< TElastix >::CoordinateType, Self::ImageDimension > CombinationTransformType
itk::AdvancedRayCastInterpolateImageFunction< typename InterpolatorBase< TElastix >::InputImageType, typename InterpolatorBase< TElastix >::CoordinateType > Superclass1
itkOverrideGetNameOfClassMacro(RayCastInterpolator)
typename AdvancedTransformType::Pointer AdvancedTransformPointer
typename InputImageType::SpacingType SpacingType
itk::SmartPointer< Self > Pointer
typename EulerTransformType::Pointer EulerTransformPointer
typename EulerTransformType::ParametersType TransformParametersType
itk::SmartPointer< const Self > ConstPointer
itkStaticConstMacro(ImageDimension, unsigned int, Superclass1::ImageDimension)
void BeforeRegistration() override
typename itk::EulerTransform< typename InterpolatorBase< TElastix >::CoordinateType, ImageDimension > EulerTransformType
elxClassNameMacro("RayCastInterpolator")
typename itk:: AdvancedTransform< typename InterpolatorBase< TElastix >::CoordinateType, Self::ImageDimension, Self::ImageDimension > AdvancedTransformType
typename CombinationTransformType::Pointer CombinationTransformPointer
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