26 #ifndef MLN_ACCU_IMAGE_INIT_HH
27 # define MLN_ACCU_IMAGE_INIT_HH
33 # include <mln/core/concept/accumulator.hh>
34 # include <mln/core/concept/image.hh>
48 init(Image<I>& input);
52 # ifndef MLN_INCLUDE_ONLY
64 init(Image<I>& input_)
66 mln_trace(
"accu::impl::image::generic::init");
68 mlc_is_a(mln_value(I), Accumulator)::check();
70 I& input =
exact(input_);
71 mln_precondition(input.is_valid());
73 mln_piter(I)
p(input.domain());
86 init_fastest(Image<I>& input_)
88 mln_trace(
"accu::impl::image::init_fastest");
90 mlc_is_a(mln_value(I), Accumulator)::check();
92 I& input =
exact(input_);
93 mln_precondition(input.is_valid());
95 mln_pixter(I) px(input);
110 template <
typename I>
112 init_dispatch(trait::image::speed::any,
118 template <
typename I>
120 init_dispatch(trait::image::speed::fastest,
123 impl::init_fastest(input);
126 template <
typename I>
128 init_dispatch(Image<I>& input)
130 init_dispatch(mln_trait_image_speed(I)(),
139 template <
typename I>
141 init(Image<I>& input)
143 mln_trace(
"accu::image::init");
145 mlc_is_a(mln_value(I), Accumulator)::check();
147 mln_precondition(
exact(input).is_valid());
148 internal::init_dispatch(input);
152 # endif // ! MLN_INCLUDE_ONLY
161 #endif // ! MLN_ACCU_IMAGE_INIT_HH