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
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;
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);
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
void compute_rpl(bool use_aperture, Ray_trace_callback callback)
Definition rpl_volume.cxx:549
void set_ray_trace_start(Rpl_volume_ray_trace_start rvrtt)
Definition rpl_volume.cxx:180
void set_geometry(const double src[3], const double iso[3], const double vup[3], double sid, const plm_long image_dim[2], const double image_center[2], const double image_spacing[2], const double step_length)
Definition rpl_volume.cxx:134
double get_step_length() const
Definition rpl_volume.cxx:420
Rpl_volume_private * d_ptr
Definition rpl_volume.h:37
void compute_rpl_void()
Definition rpl_volume.cxx:774
void set_ct_volume(Plm_image::Pointer &ct_volume)
Definition rpl_volume.cxx:187
void set_ray_data(Ray_data *ray)
Definition rpl_volume.cxx:389
void load_rpl(const char *filename)
Definition rpl_volume.cxx:1593
void compute_rpl_accum(bool use_aperture)
Definition rpl_volume.cxx:635
plm_long get_num_steps()
Definition rpl_volume.cxx:220
void compute_ray_data()
Definition rpl_volume.cxx:426
void apply_beam_modifiers()
Definition rpl_volume.cxx:1461
void set_back_clipping_plane(double back_clip)
Definition rpl_volume.cxx:409
void compute_rpl_sample(bool use_aperture)
Definition rpl_volume.cxx:629
void rpl_ray_trace(Volume *ct_vol, Ray_data *ray_data, Ray_trace_callback callback, Volume_limit *vol_limit, const double *src, double rc_thk, int *ires)
Definition rpl_volume.cxx:1718
Volume_limit * get_ct_limit()
Definition rpl_volume.cxx:384
void compute_rpl_ct_density()
Definition rpl_volume.cxx:644
void clone_geometry(const Rpl_volume *rv)
Definition rpl_volume.cxx:166
void set_aperture(Aperture::Pointer &ap)
Definition rpl_volume.cxx:208
void set_ct_limit(Volume_limit *ct_limit)
Definition rpl_volume.cxx:374
double get_front_clipping_plane() const
Definition rpl_volume.cxx:404
const Ray_data * get_ray_data() const
void compute_volume_aperture(Aperture::Pointer ap)
Definition rpl_volume.cxx:1431
void compute_rpl_range_length_rgc()
Definition rpl_volume.cxx:817
void compute_dew_volume(Volume *wed_vol, Volume *dew_vol, float background)
Definition rpl_volume.cxx:1194
void set_ct(const Plm_image::Pointer &ct_volume)
Definition rpl_volume.cxx:364
void compute_rpl_HU()
Definition rpl_volume.cxx:714
Aperture::Pointer & get_aperture()
Definition rpl_volume.cxx:196
void load_img(const char *filename)
Definition rpl_volume.cxx:1611
Plm_image::Pointer get_ct()
Definition rpl_volume.cxx:369
const plm_long * get_image_dim()
Definition rpl_volume.cxx:214
void compute_wed_volume(Volume *wed_vol, Volume *in_vol, float background)
Definition rpl_volume.cxx:1075
Rpl_volume()
Definition rpl_volume.cxx:125
void save_img(const char *filename)
Definition rpl_volume.cxx:1581
double get_value(plm_long ap_ij[2], double dist) const
Definition rpl_volume.cxx:227
void compute_proj_wed_volume(Volume *proj_wed_vol, float background)
Definition rpl_volume.cxx:1015
Volume * get_vol()
Definition rpl_volume.cxx:1495
Ray_data * get_ray_data()
Definition rpl_volume.cxx:394
double compute_farthest_penetrating_ray_on_nrm(float range)
Definition rpl_volume.cxx:963
void set_front_clipping_plane(double front_clip)
Definition rpl_volume.cxx:399
void save(const char *filename)
Definition rpl_volume.cxx:1519
double get_back_clipping_plane() const
Definition rpl_volume.cxx:414
void compute_rpl_PrSTRP_no_rgc()
Definition rpl_volume.cxx:896
Proj_volume * get_proj_volume()
Definition rpl_volume.cxx:1507
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