STIR  6.2.0
Classes | Functions
SPECTUB Namespace Reference

Namespace for the SPECT library from University of Barcelona. More...

Classes

struct  angle_type
 structure to store angles values, indices and ratios More...
 
struct  attpth_type
 structure for attenuation calculus More...
 
struct  bin_type
 structure for bin information More...
 
struct  collim_type
 collimator parameters structure More...
 
struct  discrf_type
 structure for distribution function information More...
 
struct  proj_type
 structure for projection information More...
 
struct  psf1d_type
 structure for PSF information More...
 
struct  psf2da_type
 structure for distribution function information More...
 
struct  volume_type
 structure for bin information More...
 
struct  voxel_type
 structure for voxel information More...
 
struct  wm_da_type
 weight_mat_da structure definition. Structure for generating weight matrix More...
 
struct  wm_type
 weight_mat structure definition. Structure for reading weight matrix More...
 
struct  wmh_type
 complementary information (matrix header) More...
 

Functions

void write_wm_FC (wm_da_type &wm)
 
void write_wm_hdr (wm_da_type &wm, wmh_type &wmh)
 
void write_wm_STIR (SPECTUB::wm_da_type &wm)
 
void index_calc (int *indexs, wmh_type &wmh)
 
void read_Rrad (float *Rrad, wmh_type &wmh)
 
void fill_ang (angle_type *ang, wmh_type &wmh, const float *Rrad)
 
void generate_msk (bool *msk_3d, bool *msk_2d, float *att, volume_type *vol, wmh_type &wmh)
 
void read_msk_file (bool *msk, wmh_type &wmh)
 
void read_att_map (float *attmap, wmh_type &wmh)
 
int max_psf_szb (angle_type *ang, wmh_type &wmh)
 
float calc_sigma_h (voxel_type vox, collim_type COL)
 
float calc_sigma_v (voxel_type vox, collim_type COL, SPECTUB::wmh_type &wmh)
 =============================================================================
 
char * itoa (int n, char *s)
 
void free_wm (wm_type *f)
 
void free_wm_da (wm_da_type *f)
 
void error_wmtools_SPECT (int nerr, std::string txt)
 
void wm_calculation (const int kOS, const SPECTUB::angle_type *const ang, SPECTUB::voxel_type vox, bin_type bin, const SPECTUB::volume_type &vol, const proj_type &prj, const float *attmap, const bool *msk_3d, const bool *msk_2d, const int maxszb, const SPECTUB::discrf_type *const gaussdens, const int *const NITEMS, SPECTUB::wm_da_type &wm, SPECTUB::wmh_type &wmh, const float *Rrad)
 
void wm_size_estimation (int kOS, const SPECTUB::angle_type *const ang, SPECTUB::voxel_type vox, bin_type bin, const SPECTUB::volume_type &vol, const SPECTUB::proj_type &prj, const bool *const msk_3d, const bool *const msk_2d, const int maxszb, const SPECTUB::discrf_type *const gaussdens, int *NITEMS, SPECTUB::wmh_type &wmh, const float *Rrad)
 
void calc_gauss (SPECTUB::discrf_type *gaussdens)
 
void calc_vxprj (SPECTUB::angle_type *ang)
 
void voxel_projection (SPECTUB::voxel_type *vox, float *eff, float lngcmd2, SPECTUB::wmh_type &wmh)
 
void fill_psf_no (SPECTUB::psf2da_type *psf, SPECTUB::psf1d_type *psf1d_h, const SPECTUB::voxel_type &vox, const angle_type *const ang, float szdx, SPECTUB::wmh_type &wmh)
 
void fill_psf_2d (SPECTUB::psf2da_type *psf, SPECTUB::psf1d_type *psf1d_h, const SPECTUB::voxel_type &vox, SPECTUB::discrf_type const *const gaussdens, float szdx, SPECTUB::wmh_type &wmh)
 
void fill_psf_3d (SPECTUB::psf2da_type *psf, SPECTUB::psf1d_type *psf1d_h, SPECTUB::psf1d_type *psf1d_v, const SPECTUB::voxel_type &vox, SPECTUB::discrf_type const *const gaussdens, float szdx, float thdx, float thcmd2, wmh_type &wmh)
 
void calc_psf_bin (float center_psf, float binszcm, SPECTUB::discrf_type const *const vxprj, SPECTUB::psf1d_type *psf, SPECTUB::wmh_type &wmh)
 
void calc_att_path (const bin_type &bin, const SPECTUB::voxel_type &vox, const SPECTUB::volume_type &vol, SPECTUB::attpth_type *attpth)
 
float calc_att (const SPECTUB::attpth_type *const attpth, const float *const attmap, int islc, SPECTUB::wmh_type &wmh)
 
int comp_dist (float dx, float dy, float dz, float dlast)
 
void error_weight3d (int nerr, const std::string &txt)
 

Detailed Description

Namespace for the SPECT library from University of Barcelona.

This namespace encompasses function to construct a projection matrix suitable for SPECT. The integration of this library into STIR is described in

Berta Marti Fuster, Carles Falcon, Charalampos Tsoumpas, Lefteris Livieratos, Pablo Aguiar, Albert Cot, Domenec Ros and Kris Thielemans, Integration of advanced 3D SPECT modeling into the open-source STIR framework, Med. Phys. 40, 092502 (2013); http://dx.doi.org/10.1118/1.4816676