27 #ifndef MLN_TRANSFORM_DISTANCE_AND_INFLUENCE_ZONE_GEODESIC_HH
28 # define MLN_TRANSFORM_DISTANCE_AND_INFLUENCE_ZONE_GEODESIC_HH
34 # include <mln/canvas/distance_geodesic.hh>
35 # include <mln/transform/internal/influence_zone_functor.hh>
37 # include <mln/data/fill.hh>
38 # include <mln/util/couple.hh>
61 template <
typename I,
typename N,
typename D>
62 util::couple<mln_ch_value(I,D), I>
64 const Neighborhood<N>& nbh,
68 # ifndef MLN_INCLUDE_ONLY
70 template <
typename I,
typename N,
typename D>
72 util::couple<mln_ch_value(I,D), I>
74 const Neighborhood<N>& nbh,
77 mln_trace(
"transform::distance_influence_zone_geodesic");
79 mln_precondition(
exact(input).is_valid());
80 mln_precondition(
exact(nbh).is_valid());
82 internal::influence_zone_functor<I> f;
86 return make::couple(dmap, f.output);
90 # endif // ! MLN_INCLUDE_ONLY
97 #endif // ! MLN_TRANSFORM_DISTANCE_AND_INFLUENCE_ZONE_GEODESIC_HH