18#ifndef itkGridScheduleComputer_h
19#define itkGridScheduleComputer_h
22#include "itkImageBase.h"
23#include "itkTransform.h"
39template <
typename TTransformScalarType,
unsigned int VImageDimension>
63 using PointType =
typename ImageBaseType::PointType;
67 using SizeType =
typename ImageBaseType::SizeType;
78 using TransformType = Transform<TransformScalarType, Self::Dimension, Self::Dimension>;
107 itkSetClampMacro(BSplineOrder,
unsigned int, 0, 5);
110 itkGetConstMacro(BSplineOrder,
unsigned int);
162 PrintSelf(std::ostream & os, Indent indent)
const override;
165 itkGetConstMacro(NumberOfLevels,
unsigned int);
185 itkSetClampMacro(UpsamplingFactor,
float, 1.0, NumericTraits<float>::max());
193#ifndef ITK_MANUAL_INSTANTIATION
194# include "itkGridScheduleComputer.hxx"
This class computes all information about the B-spline grid, given the image information and the desi...
SmartPointer< const Self > ConstPointer
SpacingType GridSpacingFactorType
SpacingType m_ImageSpacing
std::vector< RegionType > VectorRegionType
typename ImageBaseType::RegionType RegionType
Transform< TransformScalarType, Self::Dimension, Self::Dimension > TransformType
typename ImageBaseType::DirectionType DirectionType
TransformConstPointer m_InitialTransform
typename TransformType::Pointer TransformPointer
unsigned int m_BSplineOrder
std::vector< DirectionType > VectorDirectionType
unsigned int m_NumberOfLevels
typename ImageBaseType::SpacingType SpacingType
typename ImageBaseType::PointType PointType
std::vector< OriginType > VectorOriginType
DirectionType m_ImageDirection
VectorRegionType m_GridRegions
virtual void SetSchedule(const VectorGridSpacingFactorType &schedule)
typename ImageBaseType::SizeType SizeType
VectorSpacingType m_GridSpacings
~GridScheduleComputer() override=default
virtual void GetBSplineGrid(unsigned int level, RegionType &gridRegion, SpacingType &gridSpacing, OriginType &gridOrigin, DirectionType &gridDirection)
std::vector< GridSpacingFactorType > VectorGridSpacingFactorType
typename TransformType::ConstPointer TransformConstPointer
virtual void ApplyInitialTransform(OriginType &imageOrigin, SpacingType &imageSpacing, DirectionType &imageDirection, SpacingType &finalGridSpacing) const
TTransformScalarType TransformScalarType
virtual void SetDefaultSchedule(unsigned int levels, double upsamplingFactor)
itkStaticConstMacro(Dimension, unsigned int, VImageDimension)
virtual void ComputeBSplineGrid()
ITK_DISALLOW_COPY_AND_MOVE(GridScheduleComputer)
ImageBase< Self::Dimension > ImageBaseType
VectorDirectionType m_GridDirections
VectorOriginType m_GridOrigins
typename ImageBaseType::SizeValueType SizeValueType
void PrintSelf(std::ostream &os, Indent indent) const override
VectorGridSpacingFactorType m_GridSpacingFactors
virtual void GetSchedule(VectorGridSpacingFactorType &schedule) const
typename ImageBaseType::PointType OriginType
SpacingType m_FinalGridSpacing
std::vector< SpacingType > VectorSpacingType