14#define PMMA_DENSITY 1.19
24class Rpl_volume_private;
47 const plm_long image_dim[2],
48 const double image_center[2],
49 const double image_spacing[2],
50 const double step_length
61 const Volume* get_vol ()
const;
67 const plm_long *get_image_dim ();
68 plm_long get_num_steps ();
70 double get_value (plm_long ap_ij[2],
double dist)
const;
71 double get_value (
double ap_ij[2],
double dist)
const;
72 double get_value (
const double *xyz)
const;
84 void set_front_clipping_plane(
double front_clip);
85 double get_front_clipping_plane ()
const;
86 void set_back_clipping_plane(
double back_clip);
87 double get_back_clipping_plane ()
const;
88 double get_step_length ()
const;
90 void compute_rpl_ct_density ();
91 void compute_rpl_HU ();
92 void compute_rpl_void ();
95 void compute_rpl_sample (
bool use_aperture);
96 void compute_rpl_accum (
bool use_aperture);
98 void compute_rpl_range_length_rgc();
99 void compute_rpl_PrSTRP_no_rgc ();
101 double compute_farthest_penetrating_ray_on_nrm(
float range);
103 void compute_wed_volume (
Volume *wed_vol,
Volume *in_vol,
float background);
104 void compute_dew_volume (
Volume *wed_vol,
Volume *dew_vol,
float background);
105 void compute_proj_wed_volume (
Volume *proj_wed_vol,
float background);
109 void apply_beam_modifiers ();
111 void save (
const char* filename);
112 void save (
const std::string& filename);
113 void load_rpl (
const char* filename);
114 void load_rpl (
const std::string& filename);
115 void load_img (
const char *filename);
116 void load_img (
const std::string& filename);
118 void compute_ray_data ();
131 void save_img (
const char* filename);
132 void save_img (
const std::string& filename);
std::shared_ptr< Self > Pointer
Definition aperture.h:15
std::shared_ptr< Self > Pointer
Definition plm_image.h:29
The Proj_volume class represents a three-dimensional volume on a uniform non-orthogonal grid....
Definition proj_volume.h:22
Definition rpl_volume.h:34
Rpl_volume_private * d_ptr
Definition rpl_volume.h:37
const Ray_data * get_ray_data() const
Definition volume_limit.h:16
The Volume class represents a three-dimensional volume on a uniform grid. The volume can be located a...
Definition volume.h:38
#define PLMBASE_API
Definition plmbase_config.h:19
void(* Ray_trace_callback)(void *callback_data, size_t vox_index, double vox_len, float vox_value)
Definition ray_trace_callback.h:9
float compute_PrSTPR_Schneider_weq_from_HU(float CT_HU)
Definition rpl_volume.cxx:1628
float compute_PrWER_from_HU(float CT_HU)
Definition rpl_volume.cxx:1696
float compute_PrSTPR_from_HU(float)
Definition rpl_volume.cxx:1622
float compute_density_from_HU(float CT_HU)
Definition rpl_volume.cxx:1701
Rpl_volume_ray_trace_start
Definition rpl_volume.h:28
@ RAY_TRACE_START_AT_CLIPPING_PLANE
Definition rpl_volume.h:30
@ RAY_TRACE_START_AT_RAY_VOLUME_INTERSECTION
Definition rpl_volume.h:29
#define SMART_POINTER_SUPPORT(T)
Definition smart_pointer.h:19