STIR  6.2.0
Namespaces | Macros | Functions

Implementations for LORCoordinates.h. More...

#include "stir/modulo.h"
#include "stir/Succeeded.h"
#include <algorithm>

Namespaces

 stir
 Namespace for the STIR library (and some/most of its applications)
 

Macros

#define DEFINE_LOR_GET_FUNCTIONS(TYPE)
 

Functions

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. More...
 
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. More...
 
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. More...
 
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. More...
 

Detailed Description

Implementations for LORCoordinates.h.

Warning
This is all preliminary and likely to change.
Author
Kris Thielemans
Parisa Khateri

Macro Definition Documentation

◆ DEFINE_LOR_GET_FUNCTIONS

#define DEFINE_LOR_GET_FUNCTIONS (   TYPE)
Value:
template <class coordT> \
Succeeded TYPE<coordT>::change_representation(LORInCylinderCoordinates<coordT>& lor, const double radius) const \
{ \
lor = *this; \
return lor.set_radius(static_cast<coordT>(radius)); \
} \
\
template <class coordT> \
Succeeded TYPE<coordT>::change_representation(LORInAxialAndNoArcCorrSinogramCoordinates<coordT>& lor, const double radius) \
const \
{ \
lor = *this; \
return lor.set_radius(static_cast<coordT>(radius)); \
} \
\
template <class coordT> \
Succeeded TYPE<coordT>::change_representation(LORInAxialAndSinogramCoordinates<coordT>& lor, const double radius) const \
{ \
lor = *this; \
return lor.set_radius(static_cast<coordT>(radius)); \
} \
\
template <class coordT> \
Succeeded TYPE<coordT>::get_intersections_with_cylinder(LORAs2Points<coordT>& lor, const double radius) const \
{ \
LORAs2Points<coordT> actual_lor = *this; \
if (find_LOR_intersections_with_cylinder(lor, actual_lor, radius) == Succeeded::no) \
return Succeeded::no; \
return Succeeded::yes; \
}
Succeeded find_LOR_intersections_with_cylinder(LORInCylinderCoordinates< coordT1 > &, const LORAs2Points< coordT2 > &, const double radius)
Given an LOR, find its intersection with a (infintely long) cylinder.
Definition: LORCoordinates.inl:357