7#ifndef __stir_motion_transformed_3d_object_H__
8#define __stir_motion_transformed_3d_object_H__
30class RigidObject3DTransformation;
31template <
int num_dimensions,
class elemT>
32class ObjectTransformation;
34template <
int num_dimensions,
typename elemT>
35class DiscretisedDensity;
49template <
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);
66template <
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);
88Array<3, BasicCoordinate<3, float>>
89find_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);
96assign(std::pair<BasicCoordinate<3, float>,
float>& x, T2 y)
98 BasicCoordinate<3, float> tmp;
100 x = std::make_pair(tmp,
float(y));
103Array<3, std::pair<BasicCoordinate<3, float>,
float>>
104find_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);
defines the stir::Array class for multi-dimensional (numeric) arrays
This file declares class stir::BasicCoordinate and some functions acting on stir::BasicCoordinate obj...
defines the stir::assign function to assign values to different data types
basic configuration include file
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:40
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
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:52
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