7 #ifndef __stir_motion_transformed_3d_object_H__ 8 #define __stir_motion_transformed_3d_object_H__ 30 class RigidObject3DTransformation;
31 template <
int num_dimensions,
class elemT>
32 class ObjectTransformation;
34 template <
int num_dimensions,
typename elemT>
35 class DiscretisedDensity;
49 template <
class ObjectTransformationT,
class PushInterpolatorT>
51 const DiscretisedDensity<3, float>& in_density,
52 const ObjectTransformationT& transformation_in_to_out,
53 const PushInterpolatorT& interpolator,
54 const bool do_jacobian);
66 template <
class ObjectTransformationT,
class PullInterpolatorT>
68 const DiscretisedDensity<3, float>& in_density,
69 const ObjectTransformationT& transformation_out_to_in,
70 const PullInterpolatorT& interpolator,
71 const bool do_jacobian);
81 const DiscretisedDensity<3, float>& in_density,
82 const RigidObject3DTransformation& transformation_in_to_out);
88 Array<3, BasicCoordinate<3, float>>
89 find_grid_coords_of_transformed_centres(
const DiscretisedDensity<3, float>& source_density,
90 const DiscretisedDensity<3, float>& target_density,
91 const ObjectTransformation<3, float>& transformation_source_to_target);
96 assign(std::pair<BasicCoordinate<3, float>,
float>& x, T2 y)
98 BasicCoordinate<3, float> tmp;
100 x = std::make_pair(tmp,
float(y));
103 Array<3, std::pair<BasicCoordinate<3, float>,
float>>
104 find_grid_coords_of_transformed_centres_and_jacobian(
const DiscretisedDensity<3, float>& source_density,
105 const DiscretisedDensity<3, float>& target_density,
106 const ObjectTransformation<3, float>& transformation_source_to_target);
115 const ProjData& in_proj_data,
116 const RigidObject3DTransformation& object_transformation);
125 const DiscretisedDensity<3, float>& in_density,
126 const RigidObject3DTransformation& transformation_in_to_out);
134 const ProjData& in_proj_data,
135 const RigidObject3DTransformation& rigid_object_transformation,
136 const int min_in_segment_num_to_process,
137 const int max_in_segment_num_to_process);
Succeeded transform_3d_object_push_interpolation(DiscretisedDensity< 3, float > &out_density, const DiscretisedDensity< 3, float > &in_density, const ObjectTransformationT &transformation_in_to_out, const PushInterpolatorT &interpolator, const bool do_jacobian)
transform image data
Definition: transform_3d_object.inl:23
defines the stir::assign function to assign values to different data types
defines the Array class for multi-dimensional (numeric) arrays
This file declares class stir::BasicCoordinate and some functions acting on stir::BasicCoordinate obj...
Succeeded transform_3d_object(DiscretisedDensity< 3, float > &out_density, const DiscretisedDensity< 3, float > &in_density, const RigidObject3DTransformation &transformation_in_to_out)
transform image data
Definition: transform_3d_object.cxx:39
Succeeded transpose_of_transform_3d_object(DiscretisedDensity< 3, float > &out_density, const DiscretisedDensity< 3, float > &in_density, const RigidObject3DTransformation &transformation_in_to_out)
transform image data using transposed matrix
Definition: transform_3d_object.cxx:51
basic configuration include file
Succeeded transform_3d_object_pull_interpolation(DiscretisedDensity< 3, float > &out_density, const DiscretisedDensity< 3, float > &in_density, const ObjectTransformationT &transformation_out_to_in, const PullInterpolatorT &interpolator, const bool do_jacobian)
transform image data
Definition: transform_3d_object.inl:52