STIR 6.5.0
Items related to Line Of Responses (preliminary)
Collaboration diagram for Items related to Line Of Responses (preliminary):

Files

file  /home/kris/devel/STIRdistrib/STIR/src/include/stir/LORCoordinates.h
 defines various classes for specifying a line in 3 dimensions
file  /home/kris/devel/STIRdistrib/STIR/src/include/stir/LORCoordinates.inl
 Implementations for LORCoordinates.h.

Classes

class  stir::LOR< coordT >
 A base class for specifying an LOR with geometric coordinates. More...
class  stir::PointOnCylinder< coordT >
 A class for a point on a cylinder. More...
class  stir::LORCylindricalCoordinates_z_and_radius< coordT >
 An internal class for LORs. Do not use. More...
class  stir::LORInCylinderCoordinates< coordT >
 A class for LORs. More...
class  stir::LORAs2Points< coordT >
 A class for LORs. More...
class  stir::LORInAxialAndSinogramCoordinates< coordT >
 A class for LORs. More...
class  stir::LORInAxialAndNoArcCorrSinogramCoordinates< coordT >
 A class for LORs. More...

Functions

Succeeded stir::LORInCylinderCoordinates< coordT >::set_radius (coordT new_radius)
 Changes the radius of the LOR.
template<class coordT1, class coordT2>
Succeeded stir::find_LOR_intersections_with_cylinder (LORInCylinderCoordinates< coordT1 > &, const LORAs2Points< coordT2 > &, const double radius)
 Given an LOR, find its intersection with a (infintely long) cylinder.
template<class coordT1, class coordT2>
Succeeded stir::find_LOR_intersections_with_cylinder (LORAs2Points< coordT1 > &intersection_coords, const LORAs2Points< coordT2 > &coords, const double radius)
 Given an LOR, find its intersection with a (infintely long) cylinder.
template<class coordT1, class coordT2>
Succeeded stir::find_LOR_intersections_with_cylinder (LORInAxialAndNoArcCorrSinogramCoordinates< coordT1 > &lor, const LORAs2Points< coordT2 > &cart_coords, const double radius)
 Given an LOR, find its intersection with a (infintely long) cylinder.
template<class coordT1, class coordT2>
Succeeded stir::find_LOR_intersections_with_cylinder (LORInAxialAndSinogramCoordinates< coordT1 > &lor, const LORAs2Points< coordT2 > &cart_coords, const double radius)
 Given an LOR, find its intersection with a (infintely long) cylinder.
template<class T>
std::ostream & stir::operator<< (std::ostream &out, const LORAs2Points< T > &lor)
 Outputs a LORAs2Points to a stream.
template<class T>
std::ostream & stir::operator<< (std::ostream &out, const LORInAxialAndNoArcCorrSinogramCoordinates< T > &lor)
 Outputs a LORInAxialAndNoArcCorrSinogramCoordinates to a stream.

Detailed Description

Classes for LORs.

Warning
Preliminary and likely to change in the next release

Function Documentation

◆ set_radius()

template<class coordT>
Succeeded stir::LORInCylinderCoordinates< coordT >::set_radius ( coordT new_radius)
inline

Changes the radius of the LOR.

Warning
This does not preserve the LOR. Instead, it scales the LOR radially.

◆ find_LOR_intersections_with_cylinder() [1/4]

template<class coordT1, class coordT2>
Succeeded stir::find_LOR_intersections_with_cylinder ( LORInCylinderCoordinates< coordT1 > & cyl_coords,
const LORAs2Points< coordT2 > & cart_coords,
const double radius )
inline

◆ find_LOR_intersections_with_cylinder() [2/4]

template<class coordT1, class coordT2>
Succeeded stir::find_LOR_intersections_with_cylinder ( LORAs2Points< coordT1 > & intersection_coords,
const LORAs2Points< coordT2 > & coords,
const double radius )
inline

Given an LOR, find its intersection with a (infintely long) cylinder.

Warning
This is all preliminary and likely to change.

References find_LOR_intersections_with_cylinder(), and square().

◆ find_LOR_intersections_with_cylinder() [3/4]

template<class coordT1, class coordT2>
Succeeded stir::find_LOR_intersections_with_cylinder ( LORInAxialAndNoArcCorrSinogramCoordinates< coordT1 > & lor,
const LORAs2Points< coordT2 > & cart_coords,
const double radius )
inline

Given an LOR, find its intersection with a (infintely long) cylinder.

Warning
This is all preliminary and likely to change.

References find_LOR_intersections_with_cylinder().

◆ find_LOR_intersections_with_cylinder() [4/4]

template<class coordT1, class coordT2>
Succeeded stir::find_LOR_intersections_with_cylinder ( LORInAxialAndSinogramCoordinates< coordT1 > & lor,
const LORAs2Points< coordT2 > & cart_coords,
const double radius )
inline

Given an LOR, find its intersection with a (infintely long) cylinder.

Warning
This is all preliminary and likely to change.

References find_LOR_intersections_with_cylinder().

◆ operator<<() [1/2]

template<class T>
std::ostream & stir::operator<< ( std::ostream & out,
const LORAs2Points< T > & lor )
inline

Outputs a LORAs2Points to a stream.

Output is of the form

[pos1=..., pos2=...]

◆ operator<<() [2/2]

template<class T>
std::ostream & stir::operator<< ( std::ostream & out,
const LORInAxialAndNoArcCorrSinogramCoordinates< T > & lor )
inline

Outputs a LORInAxialAndNoArcCorrSinogramCoordinates to a stream.

Output is of the form

[z1=..., z2=..., phi=..., beta=..., is_swapped=...]

References stir::LORInAxialAndNoArcCorrSinogramCoordinates< coordT >::is_swapped().