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
elxMultiBSplineTransformWithNormal.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 elxMultiBSplineTransformWithNormal_h
19#define elxMultiBSplineTransformWithNormal_h
20
21#include "elxIncludes.h" // include first to avoid MSVS warning
25
28
29namespace elastix
30{
31
89
90template <typename TElastix>
91class ITK_TEMPLATE_EXPORT MultiBSplineTransformWithNormal
92 : public itk::AdvancedCombinationTransform<typename elx::TransformBase<TElastix>::CoordinateType,
93 elx::TransformBase<TElastix>::FixedImageDimension>
94 , public TransformBase<TElastix>
95{
96public:
98
104 using Pointer = itk::SmartPointer<Self>;
105 using ConstPointer = itk::SmartPointer<const Self>;
106
108 itkNewMacro(Self);
109
112
117 elxClassNameMacro("MultiBSplineTransformWithNormal");
118
120 itkStaticConstMacro(SpaceDimension, unsigned int, Superclass2::FixedImageDimension);
121
127 Self::SpaceDimension>;
128 using BSplineTransformBasePointer = typename BSplineTransformBaseType::Pointer;
129
133 Self::SpaceDimension,
134 1>;
137 Self::SpaceDimension,
138 2>;
141 Self::SpaceDimension,
142 3>;
143
145 using typename Superclass1::ScalarType;
146 using typename Superclass1::ParametersType;
147 using typename Superclass1::NumberOfParametersType;
148 using typename Superclass1::JacobianType;
149 using typename Superclass1::InputVectorType;
150 using typename Superclass1::OutputVectorType;
151 using typename Superclass1::InputCovariantVectorType;
152 using typename Superclass1::OutputCovariantVectorType;
153 using typename Superclass1::InputVnlVectorType;
154 using typename Superclass1::OutputVnlVectorType;
155 using typename Superclass1::InputPointType;
156 using typename Superclass1::OutputPointType;
157
159 using PixelType = typename BSplineTransformBaseType::PixelType;
160 using ImageType = typename BSplineTransformBaseType::ImageType;
161 using ImagePointer = typename BSplineTransformBaseType::ImagePointer;
162 using RegionType = typename BSplineTransformBaseType::RegionType;
163 using IndexType = typename BSplineTransformBaseType::IndexType;
164 using SizeType = typename BSplineTransformBaseType::SizeType;
165 using SpacingType = typename BSplineTransformBaseType::SpacingType;
166 using OriginType = typename BSplineTransformBaseType::OriginType;
167 using DirectionType = typename BSplineTransformBaseType::DirectionType;
168 using ContinuousIndexType = typename BSplineTransformBaseType::ContinuousIndexType;
169 using ParameterIndexArrayType = typename BSplineTransformBaseType::ParameterIndexArrayType;
170
172 using typename Superclass2::ElastixType;
173 using typename Superclass2::ParameterMapType;
174 using typename Superclass2::RegistrationType;
175 using typename Superclass2::CoordinateType;
176 using typename Superclass2::FixedImageType;
177 using typename Superclass2::MovingImageType;
180
184 using GridScheduleType = typename GridScheduleComputerType ::VectorGridSpacingFactorType;
187
189 using ImageLabelType = itk::Image<unsigned char, Self::SpaceDimension>;
190 using ImageLabelPointer = typename ImageLabelType::Pointer;
191
196 int
197 BeforeAll() override;
198
210 void
212
217 void
219
225 virtual void
227
229 void
230 ReadFromFile() override;
231
233 virtual void
234 SetOptimizerScales(const unsigned int edgeWidth);
235
236protected:
239
242
244 virtual void
246
247private:
249
255 void
257
261
263 typename MultiBSplineTransformWithNormalCubicType::Pointer m_MultiBSplineTransformWithNormal;
267 std::string m_LabelsPath;
268
270 unsigned int m_SplineOrder;
271
273 unsigned int
275};
276
277} // end namespace elastix
278
279#ifndef ITK_MANUAL_INSTANTIATION
280# include "elxMultiBSplineTransformWithNormal.hxx"
281#endif
282
283#endif // end #ifndef elxMultiBSplineTransformWithNormal_h
ITK_DISALLOW_COPY_AND_MOVE(MultiBSplineTransformWithNormal)
itk::Image< unsigned char, Self::SpaceDimension > ImageLabelType
typename BSplineTransformBaseType::OriginType OriginType
itk::AdvancedCombinationTransform< typename elx::TransformBase< TElastix >::CoordinateType, elx::TransformBase< TElastix >::FixedImageDimension > Superclass1
~MultiBSplineTransformWithNormal() override=default
itk::UpsampleBSplineParametersFilter< ParametersType, ImageType > GridUpsamplerType
typename BSplineTransformBaseType::SpacingType SpacingType
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordinateType, Self::SpaceDimension, 1 > MultiBSplineTransformWithNormalLinearType
itkOverrideGetNameOfClassMacro(MultiBSplineTransformWithNormal)
typename BSplineTransformBaseType::ImageType ImageType
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordinateType, Self::SpaceDimension, 3 > MultiBSplineTransformWithNormalCubicType
typename BSplineTransformBaseType::ContinuousIndexType ContinuousIndexType
typename TElastix::ParameterMapType ParameterMapType
MultiBSplineTransformWithNormalCubicType::Pointer m_MultiBSplineTransformWithNormal
typename BSplineTransformBaseType::ImagePointer ImagePointer
typename BSplineTransformBaseType::DirectionType DirectionType
typename BSplineTransformBaseType::ParameterIndexArrayType ParameterIndexArrayType
ParameterMapType CreateDerivedTransformParameterMap() const override
itkStaticConstMacro(SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
typename GridScheduleComputerType::Pointer GridScheduleComputerPointer
typename BSplineTransformBaseType::RegionType RegionType
itk::GridScheduleComputer< CoordinateType, SpaceDimension > GridScheduleComputerType
typename BSplineTransformBaseType::IndexType IndexType
typename BSplineTransformBaseType::Pointer BSplineTransformBasePointer
itk::MultiBSplineDeformableTransformWithNormal< typename elx::TransformBase< TElastix >::CoordinateType, Self::SpaceDimension, 2 > MultiBSplineTransformWithNormalQuadraticType
itk::AdvancedBSplineDeformableTransformBase< typename elx::TransformBase< TElastix >::CoordinateType, Self::SpaceDimension > BSplineTransformBaseType
elxClassNameMacro("MultiBSplineTransformWithNormal")
typename Superclass2::CombinationTransformType CombinationTransformType
typename GridScheduleComputerType ::VectorGridSpacingFactorType GridScheduleType
virtual void SetOptimizerScales(const unsigned int edgeWidth)
typename BSplineTransformBaseType::SizeType SizeType
This class is the elastix base class for all Transforms.
typename TElastix::FixedImageType FixedImageType
ElastixBase::CoordinateType CoordinateType
typename TElastix::ParameterMapType ParameterMapType
typename TElastix::MovingImageType MovingImageType
typename ElastixType::RegistrationBaseType RegistrationType
itk::AdvancedCombinationTransform< CoordinateType, Self::FixedImageDimension > CombinationTransformType
CombinationTransformType ITKBaseType
Base class for deformable transform using a B-spline representation.
This class combines two transforms: an 'initial transform' with a 'current transform'.
This class computes all information about the B-spline grid, given the image information and the desi...
This transform is a composition of B-spline transformations, allowing sliding motion between differen...
Convenience class for upsampling a B-spline coefficient image.


Generated on 1774142652 for elastix by doxygen 1.15.0 elastix logo