plastimatch
Loading...
Searching...
No Matches
aperture.h
Go to the documentation of this file.
1/* -----------------------------------------------------------------------
2 See COPYRIGHT.TXT and LICENSE.TXT for copyright and license information
3 ----------------------------------------------------------------------- */
4#ifndef _aperture_h_
5#define _aperture_h_
6
7#include "plmbase_config.h"
8#include "plm_image.h"
9#include "plm_int.h"
10
11class Aperture_private;
12
14public:
16public:
17 Aperture_private *d_ptr;
18public:
19 Aperture ();
20 ~Aperture ();
22public:
25
27 const plm_long* get_dim () const;
29 plm_long get_dim (int dim) const;
31 void set_dim (const plm_long* dim);
32
34 const double* get_center () const;
36 double get_center (int dim) const;
37
39 void set_center (const float* center);
40 void set_center (const double* center);
41
43 void set_origin (const float* center);
44 void set_origin (const double* center);
45
48 double get_distance () const;
51 void set_distance (double distance);
52
55 const double* get_spacing () const;
57 double get_spacing (int dim) const;
58
61 void set_spacing (const float* spacing);
62 void set_spacing (const double* spacing);
63
66 void set_vup (const float* vup);
67
70
72 bool have_aperture_image ();
76 Volume::Pointer& get_aperture_volume ();
79 void set_aperture_image (const char *ap_filename);
80
82 void set_aperture_volume (Volume::Pointer ap);
83
90 Volume::Pointer& get_range_compensator_volume ();
91
93 void set_range_compensator_image (const char *rc_filename);
94
96 void set_range_compensator_volume (Volume::Pointer ap);
97
101 void apply_smearing_to_aperture (float smearing, float target_depth);
102 void apply_smearing_to_range_compensator (float smearing, float target_depth);
104
105public:
106 double vup[3]; /* orientation */
107 double ic_room[3]; /* loc of center (room coords) */
108 double ul_room[3]; /* loc of upper left corder (room coords) */
109 double incr_r[3]; /* row increment vector */
110 double incr_c[3]; /* col increment vector */
111 double nrm[3]; /* unit vec: normal */
112 double pdn[3]; /* unit vec: down */
113 double prt[3]; /* unit vec: right */
114 double tmp[3];
115};
116
117#endif
118
std::shared_ptr< Self > Pointer
Definition aperture.h:15
Aperture()
Definition aperture.cxx:44
const double * get_center() const
Get the aperture center, in pixels.
Definition aperture.cxx:142
void allocate_aperture_images()
Allocate aperture and range compensator images.
Definition aperture.cxx:226
bool have_range_compensator_image()
Test if the aperture has a float image describing range compensator thicknesses.
Definition aperture.cxx:293
void set_range_compensator_image(const char *rc_filename)
Load the range_compensator image from a file.
Definition aperture.cxx:311
double incr_c[3]
Definition aperture.h:110
double ul_room[3]
Definition aperture.h:108
bool have_aperture_image()
Test if the aperture has a bitmap image describing shape.
Definition aperture.cxx:257
void set_dim(const plm_long *dim)
Set the aperture dimension, in pixels.
Definition aperture.cxx:131
double incr_r[3]
Definition aperture.h:109
Plm_image::Pointer & get_range_compensator_image()
Get the range_compensator image as Plm_image.
Definition aperture.cxx:299
const plm_long * get_dim() const
Get the aperture dimension, in pixels.
Definition aperture.cxx:119
void set_aperture_image(const char *ap_filename)
Load the aperture image from a file.
Definition aperture.cxx:281
double ic_room[3]
Definition aperture.h:107
double prt[3]
Definition aperture.h:113
void set_aperture_volume(Volume::Pointer ap)
Load the aperture volume from a file.
Definition aperture.cxx:287
void apply_smearing_to_range_compensator(float smearing, float target_depth)
Definition aperture.cxx:401
Volume * get_aperture_vol()
Definition aperture.cxx:275
void set_spacing(const float *spacing)
Get the aperture spacing: the distance between sampling points in the aperture plane.
Definition aperture.cxx:204
double get_distance() const
Get the aperture offset: the distance from the beam source to closest point on the aperture plane.
Definition aperture.cxx:107
void set_distance(double distance)
Get the aperture offset: the distance from the beam source to closest point on the aperture plane.
Definition aperture.cxx:113
Plm_image::Pointer & get_aperture_image()
Get the aperture image as Plm_image.
Definition aperture.cxx:263
void set_center(const float *center)
Set the aperture center, in pixels.
Definition aperture.cxx:154
double tmp[3]
Definition aperture.h:114
void apply_smearing_to_aperture(float smearing, float target_depth)
Expand aperture and smear compensator. The smearing parameters is defined as mm around the target in ...
Definition aperture.cxx:323
Aperture_private * d_ptr
Definition aperture.h:17
Volume::Pointer & get_aperture_volume()
Get the aperture image as Volume.
Definition aperture.cxx:269
double pdn[3]
Definition aperture.h:112
void set_origin(const float *center)
Set the aperture origin, in mm.
Definition aperture.cxx:168
const double * get_spacing() const
Get the aperture spacing: the distance between sampling points in the aperture plane,...
Definition aperture.cxx:192
void set_range_compensator_volume(Volume::Pointer ap)
Load the range_compensator volume from a file.
Definition aperture.cxx:317
Volume::Pointer & get_range_compensator_volume()
Get the range_compensator image as Volume.
Definition aperture.cxx:305
void set_vup(const float *vup)
Get the aperture vup vector, which is the vector that orients the top of the aperture in room coordin...
Definition aperture.cxx:218
double nrm[3]
Definition aperture.h:111
double vup[3]
Definition aperture.h:106
std::shared_ptr< Self > Pointer
Definition plm_image.h:29
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
#define SMART_POINTER_SUPPORT(T)
Definition smart_pointer.h:19