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);
118 float hausdorff_distance_fraction);
120 void set_distance_map_algorithm (const std::string& dmap_alg);
123 void set_maximum_distance (float maximum_distance);
128
131
132 void run ();
134
137
138 float get_hausdorff ();
140 float get_min_min_hausdorff ();
146 float get_percent_hausdorff ();
148 float get_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
void run_internal(UCharImageType::Pointer image1, UCharImageType::Pointer image2)
Definition hausdorff_distance.cxx:132
float get_hausdorff()
Return the Hausdorff distance.
Definition hausdorff_distance.cxx:300
float get_avg_average_boundary_hausdorff()
Return the average boundary Hausdorff distance.
Definition hausdorff_distance.cxx:342
void debug()
Display debugging information to stdout.
Definition hausdorff_distance.cxx:360
void set_volume_boundary_behavior(Volume_boundary_behavior vbb)
Set the volume boundary behavior, either ZERO_PADDING, EDGE_PADDING, or ADAPTIVE_PADDING.
Definition hausdorff_distance.cxx:126
void set_compare_image(const char *image_fn)
Set the compare image. The image will be loaded from the specified filename.
Definition hausdorff_distance.cxx:94
float get_max_average_hausdorff()
Return the max average Hausdorff distance.
Definition hausdorff_distance.cxx:318
void set_hausdorff_distance_fraction(float hausdorff_distance_fraction)
Set the fraction of voxels to include when computing the percent hausdorff distance....
Definition hausdorff_distance.cxx:107
void set_reference_image(const char *image_fn)
Set the reference image. The image will be loaded from the specified filename.
Definition hausdorff_distance.cxx:81
float get_avg_average_hausdorff()
Return the average Hausdorff distance.
Definition hausdorff_distance.cxx:312
void set_distance_map_algorithm(const std::string &dmap_alg)
Choose which distance map algorithm to use.
Definition hausdorff_distance.cxx:114
float get_boundary_hausdorff()
Return the boundary Hausdorff distance.
Definition hausdorff_distance.cxx:330
void set_maximum_distance(float maximum_distance)
Choose the maximum distance that is returned when computing the distance map.
Definition hausdorff_distance.cxx:120
Hausdorff_distance_private * d_ptr
Definition hausdorff_distance.h:99
void run()
Compute hausdorff distances.
Definition hausdorff_distance.cxx:271
Hausdorff_distance()
Definition hausdorff_distance.cxx:70
float get_min_min_hausdorff()
Return the minimum Hausdorff distance.
Definition hausdorff_distance.cxx:306
float get_percent_hausdorff()
Return the percent Hausdorff distance.
Definition hausdorff_distance.cxx:324
float get_min_min_boundary_hausdorff()
Return the minimum boundary Hausdorff distance.
Definition hausdorff_distance.cxx:336
float get_max_average_boundary_hausdorff()
Return the max average boundary Hausdorff distance.
Definition hausdorff_distance.cxx:348
float get_percent_boundary_hausdorff()
Return the percent boundary Hausdorff distance.
Definition hausdorff_distance.cxx:354
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