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);
80 void set_dose_difference_tolerance (float dose_tol);
85 void set_reference_dose (float 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
122 FloatImageType::Pointer get_gamma_image_itk ();
126 UCharImageType::Pointer get_pass_image_itk ();
130 UCharImageType::Pointer get_fail_image_itk ();
131
136
137
138
141 float get_pass_fraction ();
142
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);
153 void set_compute_full_region(bool b_compute_full_region);
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
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
Plm_image * get_comp_image()
Return comp. image used for gamma evaluation.
Definition gamma_dose_comparison.cxx:1089
void set_resample_nn(bool b_resample_nn)
Definition gamma_dose_comparison.cxx:1069
bool is_resample_nn()
Definition gamma_dose_comparison.cxx:1064
void set_spatial_tolerance(float spatial_tol)
Set the distance to agreement (DTA) tolerance, in mm.
Definition gamma_dose_comparison.cxx:214
int get_passed_num_vox()
Definition gamma_dose_comparison.cxx:374
float get_spatial_tolerance()
Get the distance to agreement (DTA) tolerance, in mm.
Definition gamma_dose_comparison.cxx:208
void set_compare_image(const char *image_fn)
Set the compare image. The image will be loaded from the specified filename.
Definition gamma_dose_comparison.cxx:166
int get_analysis_num_vox()
Definition gamma_dose_comparison.cxx:368
void set_dose_difference_tolerance(float dose_tol)
Set the dose difference tolerance, in float type. If a reference dose (prescription dose) is specifie...
Definition gamma_dose_comparison.cxx:226
float get_dose_difference_tolerance()
Get the dose difference tolerance, in float (fraction of reference dose).
Definition gamma_dose_comparison.cxx:220
void set_analysis_threshold(float thresh)
Set a dose threshold for gamma analysis, as a fraction of the reference dose. This is used to ignore ...
Definition gamma_dose_comparison.cxx:245
void set_local_gamma(bool bLocalGamma)
Definition gamma_dose_comparison.cxx:1035
Plm_image * get_pass_image()
Return a binary image of passing voxels as a Plm image.
Definition gamma_dose_comparison.cxx:325
bool is_compute_full_region()
Definition gamma_dose_comparison.cxx:1041
Plm_image * get_ref_image()
Return ref. image used for gamma evaluation.
Definition gamma_dose_comparison.cxx:1084
void set_progress_callback(void(*progress_callback)(float))
Set a callback routine for reporting progress.
Definition gamma_dose_comparison.cxx:258
bool is_ref_only_threshold()
Definition gamma_dose_comparison.cxx:1094
void run()
Compute gamma value at each location in the input image.
Definition gamma_dose_comparison.cxx:265
void set_ref_only_threshold(bool b_ref_only_threshold)
By default, when analysis is limited to areas with dose higher than a percent threshold,...
Definition gamma_dose_comparison.cxx:1099
void set_gamma_max(float gamma_max)
Set the maximum gamma computed by the class. This is used to speed up computation....
Definition gamma_dose_comparison.cxx:252
void set_report_string(std::string &report_str)
Definition gamma_dose_comparison.cxx:1023
float get_inherent_resample_mm()
Definition gamma_dose_comparison.cxx:1053
float get_pass_fraction()
Return fraction of passing points, subject to reference dose being greater than analysis threshold.
Definition gamma_dose_comparison.cxx:359
void set_inherent_resample_mm(float inherent_spacing_mm)
Definition gamma_dose_comparison.cxx:1059
void resample_image_to_reference(const Plm_image::Pointer &image_reference, Plm_image::Pointer &image_moving)
Resample image_moving to image_reference.
Definition gamma_dose_comparison.cxx:386
void set_compute_full_region(bool b_compute_full_region)
Definition gamma_dose_comparison.cxx:1047
void set_interp_search(bool b_interp_search)
Definition gamma_dose_comparison.cxx:1079
void set_reference_dose(float dose)
Set the reference dose (prescription dose). The reference dose is used for dose comparison and anal...
Definition gamma_dose_comparison.cxx:232
void set_reference_image(const char *image_fn)
Set the reference image. The image will be loaded from the specified filename.
Definition gamma_dose_comparison.cxx:148
Plm_image::Pointer get_gamma_image()
Return the gamma image as a Plm_image.
Definition gamma_dose_comparison.cxx:310
FloatImageType::Pointer get_gamma_image_itk()
Return the gamma image as an ITK image.
Definition gamma_dose_comparison.cxx:319
void resample_image_with_fixed_spacing(Plm_image::Pointer &input_img, float spacing[3])
Resample ref image with fixed spacing.
Definition gamma_dose_comparison.cxx:404
float get_reference_dose()
Definition gamma_dose_comparison.cxx:379
bool is_local_gamma()
Definition gamma_dose_comparison.cxx:1029
UCharImageType::Pointer get_fail_image_itk()
Return a binary image of failing voxels as an ITK image.
Definition gamma_dose_comparison.cxx:353
std::string get_report_string()
Definition gamma_dose_comparison.cxx:1017
bool is_interp_search()
Definition gamma_dose_comparison.cxx:1074
Plm_image * get_fail_image()
Return a binary image of failing voxels as a Plm image.
Definition gamma_dose_comparison.cxx:342
Gamma_dose_comparison()
Definition gamma_dose_comparison.cxx:139
UCharImageType::Pointer get_pass_image_itk()
Return a binary image of passing voxels as an ITK image.
Definition gamma_dose_comparison.cxx:336
void unset_reference_dose()
Unset the reference dose (prescription dose). The reference dose is used for dose comparison and an...
Definition gamma_dose_comparison.cxx:239
Gamma_dose_comparison_private * d_ptr
Definition gamma_dose_comparison.h:38
void set_mask_image(const char *image_fn)
Set the mask image. The image will be loaded from the specified filename.
Definition gamma_dose_comparison.cxx:190
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