58 float background_value = 0.f,
59 float fill_value = 0.f);
74Array
border(
const Array &array,
int ir);
89Array
closing(
const Array &array,
int ir);
104 float k_smooth_max = 0.f);
125 float transition_ratio = 0.1f);
141Array
dilation(
const Array &array,
int ir);
190 bool return_squared_distance =
false);
215 bool return_squared_distance =
false);
239 bool return_squared_distance =
false);
256 Mat<glm::ivec2> &closest,
257 bool return_squared_distance =
false);
275Array
erosion(
const Array &array,
int ir);
295 float fill_value = 1.f,
296 float background_value = 0.f);
381Array
opening(
const Array &array,
int ir);
396 float k_smooth_min = 0.f);
420 float k_smooth_min = 0.f);
444 float k_smooth_max = 0.f);
484 bool zero_at_borders =
true,
548Array
skeleton(
const Array &array,
bool zero_at_borders =
true);
556Array
border(
const Array &array,
int ir);
559Array
closing(
const Array &array,
int ir);
564 float k_smooth_max = 0.f);
569 float transition_ratio = 0.1f);
572Array
dilation(
const Array &array,
int ir);
600 bool return_squared_distance =
false);
603Array
erosion(
const Array &array,
int ir);
618Array
opening(
const Array &array,
int ir);
623 float k_smooth_min = 0.f);
629 float k_smooth_min = 0.f);
635 float k_smooth_max = 0.f);
640 bool zero_at_borders =
true,
650Array
skeleton(
const Array &array,
bool zero_at_borders =
true);
Declaration of the Array class for 2D floating-point arrays with various mathematical operations and ...
Definition blending.hpp:186
Array opening_by_reconstruction(const Array &array, int ir, float k_smooth_min=0.f)
See hmap::opening_by_reconstruction.
Definition morphology_gpu.cpp:97
Array distance_transform_jfa(const Array &array, bool return_squared_distance=false)
Return the Euclidean distance transform.
Definition distance_transform_jfa.cpp:13
Array border(const Array &array, int ir)
See hmap::border.
Definition morphology_gpu.cpp:15
Array reconstruction_by_dilation(const Array &marker, const Array &mask, int ir, float k_smooth_min=0.f)
See hmap::reconstruction_by_dilation.
Definition morphology_gpu.cpp:103
Array closing_by_reconstruction(const Array &array, int ir, float k_smooth_max=0.f)
See hmap::closing_by_reconstruction.
Definition morphology_gpu.cpp:25
Array skeleton(const Array &array, bool zero_at_borders=true)
See hmap::skeleton.
Definition morphology_gpu.cpp:186
Array relative_distance_from_skeleton(const Array &array, int ir_search, bool zero_at_borders=true, int ir_erosion=1)
See hmap::relative_distance_from_skeleton.
Definition morphology_gpu.cpp:159
Array morphological_top_hat(const Array &array, int ir)
See hmap::morphological_top_hat.
Definition morphology_gpu.cpp:87
Array morphological_black_hat(const Array &array, int ir)
See hmap::morphological_black_hat.
Definition morphology_gpu.cpp:69
Array closing(const Array &array, int ir)
See hmap::closing.
Definition morphology_gpu.cpp:20
Array signed_distance_transform(const Array &array, int prefilter_ir=0)
See hmap::signed_distance_transform.
Definition signed_curvature_from_distance.cpp:44
Array contour_smoothing(const Array &array, int ir, float transition_ratio=0.1f)
See hmap::contour_smoothing.
Definition morphology_gpu.cpp:31
Array dilation_expand_border_only(const Array &array, int ir)
See hmap::dilation_expand_border_only.
Definition morphology_gpu.cpp:49
Array reconstruction_by_erosion(const Array &marker, const Array &mask, int ir, float k_smooth_max=0.f)
See hmap::reconstruction_by_erosion.
Definition morphology_gpu.cpp:131
Array opening(const Array &array, int ir)
See hmap::opening.
Definition morphology_gpu.cpp:92
Array dilation(const Array &array, int ir)
See hmap::dilation.
Definition morphology_gpu.cpp:44
Array erosion(const Array &array, int ir)
See hmap::erosion.
Definition morphology_gpu.cpp:64
Array morphological_laplacian(const Array &array, int ir)
See hmap::morphological_laplacian.
Definition morphology_gpu.cpp:80
Array morphological_operators(const Array &array, int ir, MorphologyOperation operation)
See hmap::morphological_operators.
Definition wrapper.cpp:59
Array morphological_gradient(const Array &array, int ir)
See hmap::morphological_gradient.
Definition morphology_gpu.cpp:74
Array signed_curvature_from_distance(const Array &array, int prefilter_ir=0)
See hmap::signed_curvature_from_distance.
Definition signed_curvature_from_distance.cpp:38
Definition algebra.hpp:23
Array morphological_gradient(const Array &array, int ir)
Apply a morphological gradient algorithm to the input array using a square structure.
Definition morphology.cpp:185
Array skeleton(const Array &array, bool zero_at_borders=true)
Computes the skeleton of a binary image using the Zhang-Suen skeletonization algorithm.
Definition morphology.cpp:354
Array morphological_black_hat(const Array &array, int ir)
Apply a morphological black hat algorithm to the input array using a square structure.
Definition morphology.cpp:180
Array morphological_top_hat(const Array &array, int ir)
Apply a morphological top hat algorithm to the input array using a square structure.
Definition morphology.cpp:197
Array distance_transform_approx(const Array &array, bool return_squared_distance=false)
Calculates an approximate distance transform of the input array.
Definition distance_transform_approx.cpp:12
Array contour_smoothing(const Array &array, int ir, float transition_ratio=0.1f)
Smooth contour boundaries of segmented regions.
Definition morphology.cpp:65
Array dilation_expand_border_only(const Array &array, int ir)
Expand non-zero regions of an array by morphological dilation, while preserving the original non-zero...
Definition morphology.cpp:83
Array reconstruction_by_erosion(const Array &marker, const Array &mask, int ir, float k_smooth_max=0.f)
Perform morphological reconstruction by erosion.
Definition morphology.cpp:241
MorphologyOperation
Types of base morphology operators.
Definition morphology.hpp:666
@ MO_EROSION
Shrink structures (local minimum).
Definition morphology.hpp:670
@ MO_LAPLACIAN
Second-order operator highlighting ridges and.
Definition morphology.hpp:677
@ MO_GRADIENT
Difference between dilation and erosion (edge.
Definition morphology.hpp:675
@ MO_OPENING
Erosion followed by dilation (removes small objects).
Definition morphology.hpp:671
@ MO_CLOSING
Dilation followed by erosion (fills small holes).
Definition morphology.hpp:668
@ MO_BORDER
Extract border of structures.
Definition morphology.hpp:667
@ MO_BLACK_HAT
Difference between closing and input (dark features).
Definition morphology.hpp:672
@ MO_OPENING_BY_RECONSTRUCTION
Definition morphology.hpp:680
@ MO_TOP_HAT
Difference between input and opening (bright.
Definition morphology.hpp:673
@ MO_DILATION
Expand structures (local maximum).
Definition morphology.hpp:669
@ MO_CLOSING_BY_RECONSTRUCTION
Definition morphology.hpp:679
Array opening_by_reconstruction(const Array &array, int ir, float k_smooth_min=0.f)
Apply opening by reconstruction to the input array.
Definition morphology.cpp:207
Array distance_transform(const Array &array, bool return_squared_distance=false)
Return the Euclidean distance transform.
Definition distance_transform.cpp:23
Array dilation_expand_min_value_border_only(const Array &array)
Definition morphology.cpp:98
Array reconstruction_by_dilation(const Array &marker, const Array &mask, int ir, float k_smooth_min=0.f)
Perform morphological reconstruction by dilation.
Definition morphology.cpp:213
Array relative_distance_from_skeleton(const Array &array, int ir_search, bool zero_at_borders=true, int ir_erosion=1)
Computes the relative distance of each non-zero cell in a binary array from the skeleton and border.
Definition morphology.cpp:303
Array closing(const Array &array, int ir)
Apply a closing algorithm to the input array using a square structure.
Definition morphology.cpp:54
Array distance_transform_with_closest(const Array &array, Mat< glm::ivec2 > &closest, bool return_squared_distance=false)
Return the Euclidean distance transform.
Definition distance_transform.cpp:102
Array erosion(const Array &array, int ir)
Apply an erosion algorithm to the input array using a square structure.
Definition morphology.cpp:128
DistanceTransformType
Enumeration for different types of distance transforms.
Definition morphology.hpp:29
@ DT_EXACT
Exact distance transform.
Definition morphology.hpp:30
@ DT_APPROX
Approximate distance transform.
Definition morphology.hpp:31
@ DT_JFA
Approximate (JFA) distance transform.
Definition morphology.hpp:33
@ DT_MANHATTAN
Manhattan distance transform.
Definition morphology.hpp:32
Array closing_by_reconstruction(const Array &array, int ir, float k_smooth_max=0.f)
Apply closing by reconstruction to the input array.
Definition morphology.cpp:59
Array opening(const Array &array, int ir)
Apply an opening algorithm to the input array using a square structure.
Definition morphology.cpp:202
Array signed_curvature_from_distance(const Array &array, int prefilter_ir=0)
Computes the signed curvature of the distance transform.
Definition signed_curvature_from_distance.cpp:14
Array dilation(const Array &array, int ir)
Apply a dilation algorithm to the input array using a square structure.
Definition morphology.cpp:78
Array signed_distance_transform(const Array &array, int prefilter_ir=0)
Computes a signed distance transform using curvature sign.
Definition signed_curvature_from_distance.cpp:20
Array area_remove(const Array &array, float threshold_size, float background_value=0.f, float fill_value=0.f)
Remove connected components smaller than a given size threshold.
Definition morphology.cpp:17
Array morphological_operators(const Array &array, int ir, MorphologyOperation operation)
Apply a morphological operation to the input array using a square kernel.
Definition wrapper.cpp:11
Array distance_transform_manhattan(const Array &array, bool return_squared_distance=false)
Calculates the Manhattan distance transform of an array.
Definition distance_transform_approx.cpp:54
void flood_fill(Array &array, int i, int j, float fill_value=1.f, float background_value=0.f)
Apply a flood fill algorithm to the input array.
Definition morphology.cpp:133
Array morphological_laplacian(const Array &array, int ir)
Apply a morphological Laplacian operator to the input array using a square structure.
Definition morphology.cpp:191
Array border(const Array &array, int ir)
Apply a border algorithm to the input array using a square structure.
Definition morphology.cpp:49