plastimatch
Loading...
Searching...
No Matches
gamma_dose_comparison.h
Go to the documentation of this file.
1/* -----------------------------------------------------------------------
2 See COPYRIGHT.TXT and LICENSE.TXT for copyright and license information
3 ----------------------------------------------------------------------- */
4#ifndef _gamma_dose_comparison_h_
5#define _gamma_dose_comparison_h_
6
7#include "plmutil_config.h"
8#include "plm_image.h"
9#include "plm_macros.h"
10#include "itk_image_type.h"
11
12class Gamma_dose_comparison_private;
13class Plm_image;
14
34public:
37public:
38 Gamma_dose_comparison_private *d_ptr;
39public:
40
43
45 void set_reference_image (const char* image_fn);
47 void set_reference_image (const Plm_image::Pointer& image);
49 void set_reference_image (const FloatImageType::Pointer image);
52 void set_compare_image (const char* image_fn);
54 void set_compare_image (const Plm_image::Pointer& image);
56 void set_compare_image (const FloatImageType::Pointer image);
57
60 void set_mask_image (const char* image_fn);
61 void set_mask_image (const std::string& image_fn);
63 void set_mask_image (const Plm_image::Pointer& image);
65 void set_mask_image (const UCharImageType::Pointer image);
66
68 float get_spatial_tolerance ();
70 void set_spatial_tolerance (float spatial_tol);
72 float get_dose_difference_tolerance ();
80 void set_dose_difference_tolerance (float dose_tol);
85 void set_reference_dose (float dose);
90 void unset_reference_dose ();
91
100 void set_analysis_threshold (float thresh);
103 /* */
104 void set_gamma_max (float gamma_max);
105
108 void set_progress_callback (void (*progress_callback)(float));
110
113
114 void run ();
116
119
120 Plm_image::Pointer get_gamma_image ();
122 FloatImageType::Pointer get_gamma_image_itk ();
124 Plm_image* get_pass_image ();
126 UCharImageType::Pointer get_pass_image_itk ();
128 Plm_image* get_fail_image ();
130 UCharImageType::Pointer get_fail_image_itk ();
131
133 Plm_image* get_ref_image();
135 Plm_image* get_comp_image();
136
137
138
141 float get_pass_fraction ();
142
143 int get_analysis_num_vox();
144 int get_passed_num_vox();
145 float get_reference_dose();
146
148 std::string get_report_string();
149 void set_report_string(std::string& report_str);
150 bool is_local_gamma();
151 void set_local_gamma(bool bLocalGamma);
152 bool is_compute_full_region();
153 void set_compute_full_region(bool b_compute_full_region);
154 float get_inherent_resample_mm();
155 void set_inherent_resample_mm(float inherent_spacing_mm);
156 bool is_resample_nn();
157 void set_resample_nn(bool b_resample_nn);
158 bool is_interp_search();
159 void set_interp_search(bool b_interp_search);
160
161 bool is_ref_only_threshold();
168 void set_ref_only_threshold(bool b_ref_only_threshold);
169
170protected:
172 void resample_image_with_fixed_spacing (Plm_image::Pointer& input_img, float spacing[3]);
174 void resample_image_to_reference (const Plm_image::Pointer& image_reference, Plm_image::Pointer& image_moving);
175};
176
177#endif
The Gamma_dose_comparison class executes a comparison between two dose distributions based on the "ga...
Definition gamma_dose_comparison.h:33
Gamma_dose_comparison_private * d_ptr
Definition gamma_dose_comparison.h:38
The Plm_image class represents a three-dimensional volume. The volume is an abstraction that can co...
Definition plm_image.h:27
std::shared_ptr< Self > Pointer
Definition plm_image.h:29
#define PLMUTIL_API
Definition plmutil_config.h:26