14 #ifndef __itkGridScheduleComputer_H__
15 #define __itkGridScheduleComputer_H__
17 #include "itkObject.h"
18 #include "itkImageBase.h"
19 #include "itkTransform.h"
35 template<
typename TTransformScalarType,
unsigned int VImageDimension >
60 typedef typename ImageBaseType::PointType
PointType;
64 typedef typename ImageBaseType::SizeType
SizeType;
77 itkGetStaticConstMacro( Dimension ),
83 itkSetMacro( ImageOrigin, OriginType );
86 itkGetConstMacro( ImageOrigin, OriginType );
89 itkSetMacro( ImageSpacing, SpacingType );
92 itkGetConstMacro( ImageSpacing, SpacingType );
95 itkSetMacro( ImageDirection, DirectionType );
98 itkGetConstMacro( ImageDirection, DirectionType );
101 itkSetMacro( ImageRegion, RegionType );
104 itkGetConstMacro( ImageRegion, RegionType );
107 itkSetClampMacro( BSplineOrder,
unsigned int, 0, 5 );
110 itkGetConstMacro( BSplineOrder,
unsigned int );
113 itkSetMacro( FinalGridSpacing, SpacingType );
116 itkGetConstMacro( FinalGridSpacing, SpacingType );
121 double upsamplingFactor );
125 const VectorGridSpacingFactorType & schedule );
128 virtual void GetSchedule( VectorGridSpacingFactorType & schedule )
const;
138 RegionType & gridRegion,
139 SpacingType & gridSpacing,
140 OriginType & gridOrigin,
141 DirectionType & gridDirection );
160 void PrintSelf( std::ostream & os, Indent indent )
const;
163 itkGetConstMacro( NumberOfLevels,
unsigned int );
167 OriginType & imageOrigin,
168 SpacingType & imageSpacing,
169 DirectionType & imageDirection,
170 SpacingType & finalGridSpacing )
const;
196 #ifndef ITK_MANUAL_INSTANTIATION
197 #include "itkGridScheduleComputer.hxx"
200 #endif // end #ifndef __itkGridScheduleComputer_H__
itkStaticConstMacro(Dimension, unsigned int, VImageDimension)
std::vector< DirectionType > VectorDirectionType
SmartPointer< Self > Pointer
void operator=(const Self &)
std::vector< GridSpacingFactorType > VectorGridSpacingFactorType
virtual void GetSchedule(VectorGridSpacingFactorType &schedule) const
ImageBaseType::PointType PointType
TransformType::ConstPointer TransformConstPointer
virtual void ApplyInitialTransform(OriginType &imageOrigin, SpacingType &imageSpacing, DirectionType &imageDirection, SpacingType &finalGridSpacing) const
std::vector< RegionType > VectorRegionType
This class computes all information about the B-spline grid, given the image information and the desi...
TransformConstPointer m_InitialTransform
unsigned int m_BSplineOrder
unsigned int m_NumberOfLevels
ImageBaseType::SpacingType SpacingType
TransformType::Pointer TransformPointer
DirectionType m_ImageDirection
Transform< TransformScalarType, itkGetStaticConstMacro(Dimension), itkGetStaticConstMacro(Dimension) > TransformType
TTransformScalarType TransformScalarType
ImageBaseType::SizeValueType SizeValueType
SpacingType m_ImageSpacing
virtual ~GridScheduleComputer()
ImageBase< itkGetStaticConstMacro(Dimension) > ImageBaseType
GridScheduleComputer Self
VectorSpacingType m_GridSpacings
SmartPointer< const Self > ConstPointer
virtual void ComputeBSplineGrid(void)
void PrintSelf(std::ostream &os, Indent indent) const
VectorRegionType m_GridRegions
ImageBaseType::RegionType RegionType
std::vector< SpacingType > VectorSpacingType
SpacingType m_FinalGridSpacing
VectorOriginType m_GridOrigins
ImageBaseType::PointType OriginType
virtual void SetSchedule(const VectorGridSpacingFactorType &schedule)
VectorDirectionType m_GridDirections
ImageBaseType::DirectionType DirectionType
virtual void SetDefaultSchedule(unsigned int levels, double upsamplingFactor)
ImageBaseType::SizeType SizeType
virtual void GetBSplineGrid(unsigned int level, RegionType &gridRegion, SpacingType &gridSpacing, OriginType &gridOrigin, DirectionType &gridDirection)
VectorGridSpacingFactorType m_GridSpacingFactors
SpacingType GridSpacingFactorType
std::vector< OriginType > VectorOriginType