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
elxBSplineStackTransform.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 elxBSplineStackTransform_h
19#define elxBSplineStackTransform_h
20
21#include "elxIncludes.h" // include first to avoid MSVS warning
22
27
31
32namespace elastix
33{
34
111
112template <typename TElastix>
113class ITK_TEMPLATE_EXPORT BSplineStackTransform
114 : public itk::AdvancedCombinationTransform<typename elx::TransformBase<TElastix>::CoordinateType,
115 elx::TransformBase<TElastix>::FixedImageDimension>
116 , public TransformBase<TElastix>
117{
118public:
120
126 using Pointer = itk::SmartPointer<Self>;
127 using ConstPointer = itk::SmartPointer<const Self>;
128
130 itkNewMacro(Self);
131
134
139 elxClassNameMacro("BSplineStackTransform");
140
142 itkStaticConstMacro(SpaceDimension, unsigned int, Superclass2::FixedImageDimension);
143 itkStaticConstMacro(ReducedSpaceDimension, unsigned int, Superclass2::FixedImageDimension - 1);
144
150 Self::SpaceDimension>;
151 using BSplineTransformBasePointer = typename BSplineTransformBaseType::Pointer;
152
156 Self::ReducedSpaceDimension>;
157 using ReducedDimensionBSplineTransformBasePointer = typename ReducedDimensionBSplineTransformBaseType::Pointer;
158
160 using typename Superclass1::ParametersType;
161 using typename Superclass2::ParameterMapType;
162 using typename Superclass1::NumberOfParametersType;
163
165 using PixelType = typename BSplineTransformBaseType::PixelType;
166 using ImageType = typename BSplineTransformBaseType::ImageType;
167 using ImagePointer = typename BSplineTransformBaseType::ImagePointer;
168 using RegionType = typename BSplineTransformBaseType::RegionType;
169 using IndexType = typename BSplineTransformBaseType::IndexType;
170 using SizeType = typename BSplineTransformBaseType::SizeType;
171 using SpacingType = typename BSplineTransformBaseType::SpacingType;
172 using OriginType = typename BSplineTransformBaseType::OriginType;
173 using DirectionType = typename BSplineTransformBaseType::DirectionType;
174
176 using typename Superclass2::ElastixType;
177 using typename Superclass2::RegistrationType;
178 using typename Superclass2::CoordinateType;
179 using typename Superclass2::FixedImageType;
180 using typename Superclass2::MovingImageType;
183
185 using ReducedDimensionImageType = itk::Image<PixelType, Self::ReducedSpaceDimension>;
186 using ReducedDimensionRegionType = itk::ImageRegion<Self::ReducedSpaceDimension>;
187 using ReducedDimensionSizeType = typename ReducedDimensionRegionType::SizeType;
188 using ReducedDimensionIndexType = typename ReducedDimensionRegionType::IndexType;
189 using ReducedDimensionSpacingType = typename ReducedDimensionImageType::SpacingType;
190 using ReducedDimensionDirectionType = typename ReducedDimensionImageType::DirectionType;
191 using ReducedDimensionOriginType = typename ReducedDimensionImageType::PointType;
192
196 using GridScheduleType = typename GridScheduleComputerType ::VectorGridSpacingFactorType;
199
201 using ParameterValueType = std::vector<std::string>;
202
208 int
209 BeforeAll() override;
210
224 void
226
231 void
233
240 virtual void
242
244 void
245 ReadFromFile() override;
246
248 virtual void
249 SetOptimizerScales(const unsigned int edgeWidth);
250
251protected:
253 BSplineStackTransform() { this->Superclass1::SetCurrentTransform(m_StackTransform); }
254
256 ~BSplineStackTransform() override = default;
257
259 virtual void
261
262private:
264
270 void
272
276
280
283
286
290
292 unsigned int m_SplineOrder;
293
297
299 unsigned int
301};
302
303} // end namespace elastix
304
305#ifndef ITK_MANUAL_INSTANTIATION
306# include "elxBSplineStackTransform.hxx"
307#endif
308
309#endif // end #ifndef elxBSplineStackTransform_h
itk::ImageRegion< Self::ReducedSpaceDimension > ReducedDimensionRegionType
itk::AdvancedCombinationTransform< typename elx::TransformBase< TElastix >::CoordinateType, elx::TransformBase< TElastix >::FixedImageDimension > Superclass1
typename ReducedDimensionRegionType::IndexType ReducedDimensionIndexType
typename BSplineTransformBaseType::Pointer BSplineTransformBasePointer
typename GridScheduleComputerType ::VectorGridSpacingFactorType GridScheduleType
typename ReducedDimensionImageType::SpacingType ReducedDimensionSpacingType
itk::AdvancedBSplineDeformableTransformBase< typename elx::TransformBase< TElastix >::CoordinateType, Self::SpaceDimension > BSplineTransformBaseType
typename BSplineTransformBaseType::ImagePointer ImagePointer
typename Superclass2::CombinationTransformType CombinationTransformType
itk::GridScheduleComputer< CoordinateType, ReducedSpaceDimension > GridScheduleComputerType
typename BSplineTransformBaseType::RegionType RegionType
ParameterMapType CreateDerivedTransformParameterMap() const override
typename ReducedDimensionImageType::PointType ReducedDimensionOriginType
GridScheduleComputerPointer m_GridScheduleComputer
typename Superclass2::ITKBaseType ITKBaseType
typename BSplineTransformBaseType::ImageType ImageType
typename ReducedDimensionImageType::DirectionType ReducedDimensionDirectionType
itk::SmartPointer< const Self > ConstPointer
typename GridScheduleComputerType::Pointer GridScheduleComputerPointer
ReducedDimensionBSplineTransformBasePointer m_DummySubTransform
itk::Image< PixelType, Self::ReducedSpaceDimension > ReducedDimensionImageType
itk::AdvancedBSplineDeformableTransformBase< typename elx::TransformBase< TElastix >::CoordinateType, Self::ReducedSpaceDimension > ReducedDimensionBSplineTransformBaseType
ITK_DISALLOW_COPY_AND_MOVE(BSplineStackTransform)
typename BSplineTransformBaseType::IndexType IndexType
itkStaticConstMacro(SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
typename TElastix::ParameterMapType ParameterMapType
itkOverrideGetNameOfClassMacro(BSplineStackTransform)
typename BSplineTransformBaseType::OriginType OriginType
void BeforeRegistration() override
typename ReducedDimensionRegionType::SizeType ReducedDimensionSizeType
elx::TransformBase< TElastix > Superclass2
const StackTransformType::Pointer m_StackTransform
void BeforeEachResolution() override
typename BSplineTransformBaseType::SizeType SizeType
~BSplineStackTransform() override=default
std::vector< std::string > ParameterValueType
elxClassNameMacro("BSplineStackTransform")
virtual void PreComputeGridInformation()
typename BSplineTransformBaseType::DirectionType DirectionType
unsigned int InitializeBSplineTransform()
typename GridUpsamplerType::Pointer GridUpsamplerPointer
typename BSplineTransformBaseType::SpacingType SpacingType
virtual void SetOptimizerScales(const unsigned int edgeWidth)
itk::BSplineStackTransform< SpaceDimension > StackTransformType
itk::UpsampleBSplineParametersFilter< ParametersType, ReducedDimensionImageType > GridUpsamplerType
typename ReducedDimensionBSplineTransformBaseType::Pointer ReducedDimensionBSplineTransformBasePointer
itkStaticConstMacro(ReducedSpaceDimension, unsigned int, Superclass2::FixedImageDimension - 1)
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'.
itk::SmartPointer< BSplineStackTransform > Pointer
This class computes all information about the B-spline grid, given the image information and the desi...
Convenience class for upsampling a B-spline coefficient image.


Generated on 1774142652 for elastix by doxygen 1.15.0 elastix logo