Functions | |
template<class I, class I2, class N> oln::mute< I >::ret | minima_imposition (const abstract::non_vectorial_image< I > &input, const abstract::non_vectorial_image< I2 > &minima_map, const abstract::neighborhood< N > &Ng) |
Perform a minima imposition. | |
template<class I, class N> mute< I, ntg::bin >::ret | regional_minima (const abstract::non_vectorial_image< I > &input, const abstract::neighborhood< N > &Ng) |
Extract regional minima. | |
template<class I1, class I2, class N> oln::mute< I1 >::ret | geodesic_dilation (const abstract::non_vectorial_image< I1 > &marker, const abstract::non_vectorial_image< I2 > &mask, const abstract::neighborhood< N > &Ng) |
Processing a geodesic dilation. | |
template<class I1, class I2, class N> oln::mute< I1 >::ret | geodesic_erosion (const abstract::non_vectorial_image< I1 > &marker, const abstract::non_vectorial_image< I2 > &mask, const abstract::neighborhood< N > &Ng) |
Processing a geodesic erosion. | |
template<class I1, class I2, class N> oln::mute< I1 >::ret | geodesic_reconstruction_dilation (const abstract::non_vectorial_image< I1 > &marker, const abstract::non_vectorial_image< I2 > &mask, const abstract::neighborhood< N > &Ng) |
Perform a geodesic reconstruction dilation. | |
template<class I1, class I2, class N> oln::mute< I1 >::ret | geodesic_reconstruction_erosion (const abstract::non_vectorial_image< I1 > &marker, const abstract::non_vectorial_image< I2 > &mask, const abstract::neighborhood< N > &Ng) |
Perform a geodesic reconstruction erosion. |
|
Processing a geodesic dilation.
![]() ![]() Definition at line 150 of file geodesic_dilation.hh. References oln::abstract::image< Exact >::border_adapt_copy(), oln::abstract::neighborhood< Exact >::delta(), and oln::abstract::image< Exact >::size(). Referenced by geodesic_reconstruction_dilation().
00153 {
00154 mlc::eq<I1::dim, I2::dim>::ensure();
00155 mlc::eq<I1::dim, N::dim>::ensure();
00156 precondition(marker.size() == mask.size());
00157 precondition(level::is_greater_or_equal(mask, marker));
00158
00159 oln_concrete_type(I1) output(marker.size());
00160 marker.border_adapt_copy(Ng.delta());
00161 oln_iter_type(I1) p(marker);
00162 for_all (p)
00163 output[p] = std::min(morpho::max(marker, p, convert::ng_to_cse(Ng)), mask[p]);
00164 return output;
00165 }
|
|
Processing a geodesic erosion.
![]() ![]() Definition at line 148 of file geodesic_erosion.hh. References oln::abstract::neighborhood< Exact >::delta(), and oln::abstract::image< Exact >::size(). Referenced by geodesic_reconstruction_erosion().
00151 {
00152 mlc::eq<I1::dim, I2::dim>::ensure();
00153 mlc::eq<I1::dim, N::dim>::ensure();
00154 precondition(marker.size() == mask.size());
00155 precondition(level::is_greater_or_equal(marker, mask));
00156
00157 oln_concrete_type(I1) output(marker.size());
00158 marker.border_adapt_copy(Ng.delta());
00159 oln_iter_type(I1) p(marker);
00160 for_all (p)
00161 output[p] = ntg::max(morpho::min(marker, p, convert::ng_to_cse(Ng)), mask[p]);
00162 return output;
00163 }
|
|
Perform a geodesic reconstruction dilation. Compute the reconstruction by dilation of marker with respect to the mask mask image using se as structuring element. Soille p.160. This is the simplest algorithm: iteration is performed until stability.
![]() ![]() Definition at line 96 of file reconstruction.hh. References oln::abstract::image< Exact >::clone(), geodesic_dilation(), and oln::abstract::image< Exact >::size().
00099 { 00100 mlc::eq<I1::dim, I2::dim>::ensure(); 00101 mlc::eq<I1::dim, N::dim>::ensure(); 00102 precondition(marker.size() == mask.size()); 00103 precondition(level::is_greater_or_equal(mask, marker)); 00104 oln_concrete_type(I1) output = marker.clone(); 00105 bool non_stability = true; 00106 while (non_stability) 00107 { 00108 oln_concrete_type(I1) work = geodesic_dilation(output, mask, Ng); 00109 non_stability = !(level::is_equal(work, output)); 00110 output = work; 00111 } 00112 return output; 00113 } |
|
Perform a geodesic reconstruction erosion. Compute the reconstruction by erosion of marker with respect to the mask image using se as structuring element. Soille p.160. This is the simplest algorithm: iteration is performed until stability.
![]() ![]() Definition at line 389 of file reconstruction.hh. References geodesic_erosion(), and oln::abstract::image< Exact >::size().
00392 { 00393 mlc::eq<I1::dim, I2::dim>::ensure(); 00394 mlc::eq<I1::dim, N::dim>::ensure(); 00395 precondition(marker.size() == mask.size()); 00396 precondition(level::is_greater_or_equal(marker, mask)); 00397 oln_concrete_type(I1) output = marker.clone(); 00398 bool non_stability = true; 00399 while (non_stability) 00400 { 00401 oln_concrete_type(I1) work = geodesic_erosion(output, mask, Ng); 00402 non_stability = !(level::is_equal(work, output)); 00403 output = work; 00404 } 00405 return output; 00406 } |
|
Perform a minima imposition. Impose minima defined by minima_map on input using Ng as neighborhood. minima_map must be a bin image (true for a minimum, false for a non minimum). Soille p.172.
![]() ![]() ![]() Definition at line 165 of file extrema.hh. |
|
Extract regional minima.
![]() ![]() Definition at line 217 of file extrema.hh. |