16#ifndef __stir_motion_NonRigidObjectTransformationUsingBSplines_H__
17#define __stir_motion_NonRigidObjectTransformationUsingBSplines_H__
30template <
int num_dimensions,
class elemT>
31class DeformationFieldOnCartesianGrid :
public BasicCoordinate<num_dimensions, Array<num_dimensions, elemT>>
35 DeformationFieldOnCartesianGrid() {}
42template <
int num_dimensions,
class elemT>
43class NonRigidObjectTransformationUsingBSplines
45 ObjectTransformation<num_dimensions, elemT>,
46 ObjectTransformation<num_dimensions, elemT>>
49 static const char*
const registered_name;
52 NonRigidObjectTransformationUsingBSplines();
56 NonRigidObjectTransformationUsingBSplines(
const std::string& filename_x,
57 const std::string& filename_y,
58 const std::string& filename_z,
59 const int bspline_order);
62 NonRigidObjectTransformationUsingBSplines(
const std::string& filename,
const int bspline_order);
83 shared_ptr<DeformationFieldOnCartesianGrid<num_dimensions, elemT>> deformation_field_sptr;
86 std::string _deformation_field_from_NCAT_file;
89 std::string _deformation_field_from_file_x;
90 std::string _deformation_field_from_file_y;
91 std::string _deformation_field_from_file_z;
93 std::string _deformation_field_multicomponent_filename;
100operator<<(std::ostream& out,
106operator>>(std::istream& ,
Implementation of the n-dimensional B-Splines Interpolation.
Implementation of the basic components and declarations for B-Splines Interpolation.
defines the stir::CartesianCoordinate3D<coordT> class
Declaration of class stir::RegisteredParsingObject.
class BasicCoordinate<int num_dimensions, typename coordT> defines num_dimensions -dimensional coordi...
Definition BasicCoordinate.h:57
a templated class for 3-dimensional coordinates.
Definition CartesianCoordinate3D.h:53
Parent class for all leaves in a RegisteredObject hierarchy that do parsing of parameter files.
Definition RegisteredParsingObject.h:78
BSplineType
enum providing constants to define the type of B-Spline used for interpolation
Definition BSplines.h:38
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast into the stir names...