18 #ifndef itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod_h
19 #define itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod_h
86 template<
typename TFixedImage,
typename TMovingImage,
typename TOutputTransform =
87 TimeVaryingBSplineVelocityFieldTransform<double, TFixedImage::ImageDimension>,
88 typename TVirtualImage = TFixedImage,
89 typename TPointSet = PointSet<unsigned int, TFixedImage::ImageDimension> >
105 itkStaticConstMacro(
ImageDimension,
unsigned int, TFixedImage::ImageDimension );
149 typedef typename OutputTransformType::ScalarType
RealType;
184 itkSetMacro( LearningRate,
RealType );
185 itkGetConstMacro( LearningRate,
RealType );
194 itkSetMacro( ConvergenceThreshold,
RealType );
195 itkGetConstMacro( ConvergenceThreshold,
RealType );
199 itkSetMacro( ConvergenceWindowSize,
unsigned int );
200 itkGetConstMacro( ConvergenceWindowSize,
unsigned int );
211 virtual void PrintSelf( std::ostream & os,
Indent indent )
const ITK_OVERRIDE;
229 void operator=( const
Self & ) ITK_DELETE_FUNCTION;
246 #ifndef ITK_MANUAL_INSTANTIATION
247 #include "itkTimeVaryingBSplineVelocityFieldImageRegistrationMethod.hxx"
Superclass::VirtualImageType VirtualImageType
static const unsigned int ImageDimension
Superclass::VirtualImageBaseType VirtualImageBaseType
InputPointSetType::Pointer InputPointSetPointer
Transform< RealType, ImageDimension, ImageDimension > InitialTransformType
Implementation of an image mask as spatial object.
DerivativeType::ValueType DerivativeValueType
virtual ~TimeVaryingBSplineVelocityFieldImageRegistrationMethod()
Light weight base class for most itk classes.
DisplacementFieldTransformType::Pointer DisplacementFieldTransformPointer
Superclass::MeasureType MeasureType
TOutputTransform OutputTransformType
ImageMetricType::Pointer ImageMetricPointer
Superclass::FixedImageMasksContainerType FixedImageMasksContainerType
ImageMaskSpatialObjectType::ImageType MaskImageType
BSplineScatteredDataPointSetToImageFilter< VelocityFieldPointSetType, TimeVaryingVelocityFieldType > BSplineFilterType
SmartPointer< Self > Pointer
DecoratedOutputTransformType::Pointer DecoratedOutputTransformPointer
TVirtualImage VirtualImageType
unsigned int m_ConvergenceWindowSize
void GetMetricDerivativePointSetForAllTimePoints(VelocityFieldPointSetType *, WeightsContainerType *)
virtual void StartOptimization()
ImageMetricType::MeasureType MeasureType
Superclass::MetricType MetricType
Superclass::PointSetMetricType PointSetMetricType
ImageMetricType::FixedImageMaskType FixedImageMaskType
Superclass::FixedImageMaskType FixedImageMaskType
Superclass::MovingImageMasksContainerType MovingImageMasksContainerType
Superclass::MovingImagesContainerType MovingImagesContainerType
unsigned long SizeValueType
WeightsElementType m_BoundaryWeight
DisplacementFieldType::PointType DisplacementFieldPointType
TMovingImage MovingImageType
virtual void GenerateData() override
TimeVaryingBSplineVelocityFieldImageRegistrationMethod()
TimeVaryingBSplineVelocityFieldImageRegistrationMethod Self
Array< SizeValueType > NumberOfIterationsArrayType
CompositeTransformType::TransformType TransformBaseType
ImageRegistrationMethodv4< TFixedImage, TMovingImage, TOutputTransform, TVirtualImage, TPointSet > Superclass
std::vector< MovingImageMaskConstPointer > MovingImageMasksContainerType
ImageToImageMetricv4< FixedImageType, MovingImageType, VirtualImageType, RealType > ImageMetricType
OutputTransformType::Pointer OutputTransformPointer
Superclass::VirtualImageBaseConstPointer VirtualImageBaseConstPointer
MetricType::Pointer MetricPointer
OutputTransformType::TimeVaryingVelocityFieldControlPointLatticePointer TimeVaryingVelocityFieldControlPointLatticePointer
Interface method for the current registration framework using the time varying velocity field transfo...
std::vector< FixedImageMaskConstPointer > FixedImageMasksContainerType
ImageMaskSpatialObjectType::ImageType MovingMaskImageType
ImageMaskSpatialObjectType::ImageType FixedMaskImageType
ImageMaskSpatialObject< ImageDimension > ImageMaskSpatialObjectType
Superclass::DerivativeType DerivativeType
ImageMetricType::MovingImageMaskType MovingImageMaskType
Superclass::CompositeTransformType CompositeTransformType
NumberOfIterationsArrayType m_NumberOfIterationsPerLevel
FixedImageType::Pointer FixedImagePointer
A superclass of the N-dimensional mesh structure; supports point (geometric coordinate and attribute)...
Superclass::InitialTransformType InitialTransformType
OutputTransformType::TimeVaryingVelocityFieldControlPointLatticeType TimeVaryingVelocityFieldControlPointLatticeType
RealType m_ConvergenceThreshold
DisplacementFieldTransformPointer m_IdentityDisplacementFieldTransform
OutputTransformType::DisplacementFieldType DisplacementFieldType
Superclass::ImageMetricType ImageMetricType
Superclass::PointSetsContainerType PointSetsContainerType
MovingImageType::Pointer MovingImagePointer
Image filter which provides a B-spline output approximation.
SmartPointer< const Self > ConstPointer
Superclass::FixedImagesContainerType FixedImagesContainerType
Superclass::MultiMetricType MultiMetricType
SizeValueType m_NumberOfTimePointSamples
ImageMetricType::DerivativeType MetricDerivativeType
std::vector< MovingImagePointer > MovingImagesContainerType
ObjectToObjectMetricBaseTemplate< RealType > MetricType
Superclass::MovingImageMaskType MovingImageMaskType
BSplineFilterType::WeightsContainerType WeightsContainerType
A templated class holding a point in n-Dimensional image space.
OutputTransformType::TimeVaryingVelocityFieldControlPointLatticePointer TimeVaryingVelocityFieldPointer
Superclass::DecoratedOutputTransformType DecoratedOutputTransformType
VelocityFieldPointSetType::Pointer VelocityFieldPointSetPointer
Define a front-end to the STL "vector" container that conforms to the IndexedContainerInterface.
DataObjectDecorator< OutputTransformType > DecoratedOutputTransformType
Control indentation during Print() invocation.
WeightsContainerType::Element WeightsElementType
std::vector< FixedImagePointer > FixedImagesContainerType
VirtualImageBaseType::ConstPointer VirtualImageBaseConstPointer
OutputTransformType::DerivativeType DerivativeType
Interface method for the current registration framework.
OutputTransformType::ScalarType RealType
Image< WeightsElementType, ImageDimension > WeightedMaskImageType
PointSetToPointSetMetricv4< PointSetType, PointSetType, RealType > PointSetMetricType
CompositeTransform< RealType, ImageDimension > CompositeTransformType
void AttachMetricGradientPointSetAtSpecificTimePoint(const RealType, VelocityFieldPointSetType *, WeightsContainerType *, const FixedImagesContainerType, const PointSetsContainerType, const TransformBaseType *, const MovingImagesContainerType, const PointSetsContainerType, const TransformBaseType *, const FixedImageMasksContainerType)
TimeVaryingVelocityFieldControlPointLatticeType::PixelType DisplacementVectorType
OutputTransformType::ScalarType RealType
std::vector< PointSetConstPointer > PointSetsContainerType
ObjectToObjectMultiMetricv4< ImageDimension, ImageDimension, VirtualImageType, RealType > MultiMetricType
ImageBase< ImageDimension > VirtualImageBaseType
ContinuousIndex< typename DisplacementFieldPointType::CoordRepType, ImageDimension > ContinuousIndexType
virtual void PrintSelf(std::ostream &os, Indent indent) const override
TFixedImage FixedImageType
Templated n-dimensional image class.
PointSet< DisplacementVectorType, ImageDimension+1 > VelocityFieldPointSetType
Image< WeightsElementType, ImageDimension+1 > TimeVaryingWeightedMaskImageType
TPointSet InputPointSetType
OutputTransformType::TimeVaryingVelocityFieldControlPointLatticeType TimeVaryingVelocityFieldType
Superclass::ImageType ImageType
DisplacementFieldTransform< RealType, ImageDimension > DisplacementFieldTransformType