plastimatch
Loading...
Searching...
No Matches
hausdorff_distance.h
Go to the documentation of this file.
1/* -----------------------------------------------------------------------
2 See COPYRIGHT.TXT and LICENSE.TXT for copyright and license information
3 ----------------------------------------------------------------------- */
4#ifndef _hausdorff_distance_h_
5#define _hausdorff_distance_h_
6
7#include "plmutil_config.h"
8#include "itk_image.h"
10
11class Plm_image;
12class Hausdorff_distance_private;
13
95public:
98public:
99 Hausdorff_distance_private *d_ptr;
100public:
101
104
106 void set_reference_image (const char* image_fn);
108 void set_reference_image (const UCharImageType::Pointer image);
111 void set_compare_image (const char* image_fn);
113 void set_compare_image (const UCharImageType::Pointer image);
117 void set_hausdorff_distance_fraction (
118 float hausdorff_distance_fraction);
120 void set_distance_map_algorithm (const std::string& dmap_alg);
123 void set_maximum_distance (float maximum_distance);
126 void set_volume_boundary_behavior (Volume_boundary_behavior vbb);
128
131
132 void run ();
134
137
138 float get_hausdorff ();
140 float get_min_min_hausdorff ();
142 float get_avg_average_hausdorff ();
144 float get_max_average_hausdorff ();
146 float get_percent_hausdorff ();
148 float get_boundary_hausdorff ();
150 float get_min_min_boundary_hausdorff ();
152 float get_avg_average_boundary_hausdorff ();
154 float get_max_average_boundary_hausdorff ();
156 float get_percent_boundary_hausdorff ();
158 void debug ();
160
161protected:
162 void run_internal (
163 UCharImageType::Pointer image1,
164 UCharImageType::Pointer image2);
165};
166
168void do_hausdorff(
169 UCharImageType::Pointer image_1,
170 UCharImageType::Pointer image_2);
171
172#endif
The Hausdorff class computes the worst-case distance between two regions. There are many variants of ...
Definition: hausdorff_distance.h:94
Hausdorff_distance_private * d_ptr
Definition: hausdorff_distance.h:99
The Plm_image class represents a three-dimensional volume. The volume is an abstraction that can co...
Definition: plm_image.h:27
void do_hausdorff(UCharImageType::Pointer image_1, UCharImageType::Pointer image_2)
Definition: hausdorff_distance.cxx:385
#define PLMUTIL_API
Definition: plmutil_config.h:26
Volume_boundary_behavior
This enum is used to control the algorithm behavior for voxels at the edge of the volume....
Definition: volume_boundary_behavior.h:18