|
STIR 6.4.0
|

Files | |
| file | BasicCoordinate.h |
| This file declares class stir::BasicCoordinate and some functions acting on stir::BasicCoordinate objects. | |
| file | BasicCoordinate.inl |
| (inline) implementations for stir::BasicCoordinate | |
| file | CartesianCoordinate2D.h |
| defines the stir::CartesianCoordinate2D<coordT> class | |
| file | CartesianCoordinate2D.inl |
| inline implementations for the stir::CartesianCoordinate2D<coordT> class | |
| file | CartesianCoordinate3D.h |
| defines the stir::CartesianCoordinate3D<coordT> class | |
| file | CartesianCoordinate3D.inl |
| inline implementations for the stir::CartesianCoordinate3D<coordT> class | |
| file | Coordinate2D.h |
| defines the stir::Coordinate2D<coordT> class | |
| file | Coordinate3D.h |
| defines the stir::Coordinate3D<coordT> class | |
| file | Coordinate3D.inl |
| inline implementations for the stir::Coordinate3D class | |
| file | Coordinate4D.h |
| defines the stir::Coordinate4D<coordT> class | |
| file | Coordinate4D.inl |
| inline implementations for the stir::Coordinate4D class | |
Classes | |
| class | stir::BasicCoordinate< num_dimensions, coordT > |
class BasicCoordinate<int num_dimensions, typename coordT> defines num_dimensions -dimensional coordinates. More... | |
| class | stir::CartesianCoordinate2D< coordT > |
| a templated class for 2-dimensional coordinates. More... | |
| class | stir::CartesianCoordinate3D< coordT > |
| a templated class for 3-dimensional coordinates. More... | |
| class | stir::Coordinate2D< coordT > |
| a templated class for 2-dimensional coordinates. More... | |
| class | stir::Coordinate3D< coordT > |
| a templated class for 3-dimensional coordinates. More... | |
| class | stir::Coordinate4D< coordT > |
| a templated class for 4-dimensional coordinates. More... | |
Utility functions to make BasicCoordinate objects. | |
| |
| template<int num_dimensions, typename coordT> | |
| coordT | stir::inner_product (const BasicCoordinate< num_dimensions, coordT > &p1, const BasicCoordinate< num_dimensions, coordT > &p2) |
| compute sum_i p1[i] * p2[i] | |
| template<int num_dimensions, typename coordT> | |
| double | stir::norm_squared (const BasicCoordinate< num_dimensions, coordT > &p1) |
| compute (inner_product(p1,p1)) | |
| template<int num_dimensions, typename coordT> | |
| double | stir::norm (const BasicCoordinate< num_dimensions, coordT > &p1) |
| compute sqrt(inner_product(p1,p1)) | |
| template<int num_dimensions, typename coordT> | |
| double | stir::angle (const BasicCoordinate< num_dimensions, coordT > &p1, const BasicCoordinate< num_dimensions, coordT > &p2) |
| compute angle between 2 directions | |
| template<int num_dimensions, typename coordT> | |
| double | stir::cos_angle (const BasicCoordinate< num_dimensions, coordT > &p1, const BasicCoordinate< num_dimensions, coordT > &p2) |
| compute cos of the angle between 2 directions | |
| template<int num_dimensions, typename coordT> | |
| BasicCoordinate< num_dimensions+1, coordT > | stir::join (const coordT &a, const BasicCoordinate< num_dimensions, coordT > &c) |
make a longer BasicCoordinate, by prepending c with the single coordT | |
| template<int num_dimensions, class coordT> | |
| BasicCoordinate< num_dimensions+1, coordT > | stir::join (const BasicCoordinate< num_dimensions, coordT > &c, const coordT &a) |
make a longer BasicCoordinate, by appending the coordT to c | |
| template<int num_dimensions, class coordT> | |
| BasicCoordinate< num_dimensions - 1, coordT > | stir::cut_last_dimension (const BasicCoordinate< num_dimensions, coordT > &c) |
make a shorter BasicCoordinate, by cutting the last element from c | |
| template<int num_dimensions, typename coordT> | |
| BasicCoordinate< num_dimensions - 1, coordT > | stir::cut_first_dimension (const BasicCoordinate< num_dimensions, coordT > &c) |
make a shorter BasicCoordinate, by cutting the first element from c | |
| template<int num_dimensions> | |
| BasicCoordinate< num_dimensions, float > | stir::convert_int_to_float (const BasicCoordinate< num_dimensions, int > &cint) |
| converts a BasicCoordinate<int> to BasicCoordinate<float> | |
|
inline |
compute sum_i p1[i] * p2[i]
References inner_product().
Referenced by absolute_max_eigenvector_using_power_method(), angle(), coordinate_between_2_lines(), cos_angle(), distance_between_line_and_point(), inner_product(), inner_product(), norm_squared(), project_point_on_a_line(), and stir::coordinateTests::run_tests().
|
inline |
compute (inner_product(p1,p1))
References inner_product(), and norm_squared().
Referenced by abs_max_element(), absolute_max_eigenvector_using_power_method(), cos_angle(), stir::ScatterSimulation::detection_efficiency_no_scatter(), stir::Ellipsoid::is_inside_shape(), norm(), norm(), norm(), norm_squared(), norm_squared(), norm_squared(), norm_squared(), stir::ProjData::norm_squared(), stir::ProjDataInMemory::norm_squared(), stir::RigidObject3DTransformation::RMSE(), and stir::SingleScatterSimulation::simulate_for_one_scatter_point().
|
inline |
compute sqrt(inner_product(p1,p1))
References norm(), and norm_squared().
Referenced by absolute_max_eigenvector_using_power_method(), stir::DiscretisedDensity< num_dimensions, elemT >::actual_has_same_characteristics(), stir::DiscretisedDensityOnCartesianGrid< num_dimensions, elemT >::actual_has_same_characteristics(), stir::ITKOutputFileFormat::actual_write_to_file(), angle(), stir::ProjDataInfoCylindrical::blindly_equals(), stir::RunTests::check_if_equal(), stir::RunTests::check_if_zero(), norm(), norm(), norm(), norm(), stir::ProjDataInMemory::norm(), stir::Shape3D::operator==(), stir::Shape3DWithOrientation::operator==(), stir::RigidObject3DMotionFromPolaris::post_processing(), RayTraceVoxelsOnCartesianGrid(), stir::coordinateTests::run_tests(), stir::RigidObject3DTransformationTests::run_tests(), stir::Shape3D::scale_around_origin(), stir::ArrayFilterUsingRealDFTWithPadding< 2, float >::set_kernel(), zoom_image(), and zoom_image().
|
inline |
compute angle between 2 directions
Implemented in terms of acos(cos_angle(p1,p2)).
References angle(), and cos_angle().
Referenced by angle(), angle(), and stir::ProjDataInfoGenericNoArcCorr::set_azimuthal_angle_offset().
|
inline |
compute cos of the angle between 2 directions
References cos_angle(), inner_product(), and norm_squared().
Referenced by angle(), cos_angle(), stir::ScatterSimulation::detection_efficiency_no_scatter(), and stir::SingleScatterSimulation::simulate_for_one_scatter_point().