go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkCyclicGridScheduleComputer.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 itkCyclicGridScheduleComputer_h
19#define itkCyclicGridScheduleComputer_h
20
21#include "itkImageBase.h"
22#include "itkTransform.h"
24
25namespace itk
26{
27
40template <typename TTransformScalarType, unsigned int VImageDimension>
41class ITK_TEMPLATE_EXPORT CyclicGridScheduleComputer
42 : public GridScheduleComputer<TTransformScalarType, VImageDimension>
43{
44public:
46
50 using Pointer = SmartPointer<Self>;
51 using ConstPointer = SmartPointer<const Self>;
52
54 itkNewMacro(Self);
55
58
60 itkStaticConstMacro(Dimension, unsigned int, VImageDimension);
61
63 using TransformScalarType = TTransformScalarType;
64 using ImageBaseType = ImageBase<Self::Dimension>;
65 using PointType = typename ImageBaseType::PointType;
66 using OriginType = typename ImageBaseType::PointType;
67 using SpacingType = typename ImageBaseType::SpacingType;
68 using DirectionType = typename ImageBaseType::DirectionType;
69 using SizeType = typename ImageBaseType::SizeType;
70 using SizeValueType = typename ImageBaseType::SizeValueType;
71 using RegionType = typename ImageBaseType::RegionType;
73 using VectorOriginType = std::vector<OriginType>;
74 using VectorSpacingType = std::vector<SpacingType>;
75 using VectorRegionType = std::vector<RegionType>;
76 using VectorGridSpacingFactorType = std::vector<GridSpacingFactorType>;
77
79 using TransformType = Transform<TransformScalarType, Self::Dimension, Self::Dimension>;
80 using TransformPointer = typename TransformType::Pointer;
81 using TransformConstPointer = typename TransformType::ConstPointer;
82
84 void
86
87protected:
90
92 ~CyclicGridScheduleComputer() override = default;
93};
94
95} // end namespace itk
96
97#ifndef ITK_MANUAL_INSTANTIATION
98# include "itkCyclicGridScheduleComputer.hxx"
99#endif
100
101#endif // end #ifndef itkCyclicGridScheduleComputer_h
This class computes all information about the B-spline grid.
typename TransformType::Pointer TransformPointer
typename ImageBaseType::SizeType SizeType
typename ImageBaseType::SizeValueType SizeValueType
std::vector< SpacingType > VectorSpacingType
ITK_DISALLOW_COPY_AND_MOVE(CyclicGridScheduleComputer)
void ComputeBSplineGrid() override
itkStaticConstMacro(Dimension, unsigned int, VImageDimension)
typename TransformType::ConstPointer TransformConstPointer
ImageBase< Self::Dimension > ImageBaseType
typename ImageBaseType::SpacingType SpacingType
~CyclicGridScheduleComputer() override=default
typename ImageBaseType::PointType PointType
std::vector< GridSpacingFactorType > VectorGridSpacingFactorType
typename ImageBaseType::RegionType RegionType
Transform< TransformScalarType, Self::Dimension, Self::Dimension > TransformType
typename ImageBaseType::DirectionType DirectionType
typename ImageBaseType::PointType OriginType
This class computes all information about the B-spline grid, given the image information and the desi...


Generated on Wed 12 Apr 2023 for elastix by doxygen 1.9.6 elastix logo