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
69 void allocate_aperture_images ();
70
72 bool have_aperture_image ();
74 Plm_image::Pointer& get_aperture_image ();
76 Volume::Pointer& get_aperture_volume ();
77 Volume* get_aperture_vol ();
79 void set_aperture_image (const char *ap_filename);
80
82 void set_aperture_volume (Volume::Pointer ap);
83
86 bool have_range_compensator_image ();
88 Plm_image::Pointer& get_range_compensator_image ();
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
Definition aperture.h:13
std::shared_ptr< Self > Pointer
Definition aperture.h:15
Aperture_private * d_ptr
Definition aperture.h:17
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