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 trace::entering(
"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());
77 trace::exiting("accu::impl::image::generic::init");
87 init_fastest(Image<I>& input_)
89 trace::entering(
"accu::impl::image::init_fastest");
91 mlc_is_a(mln_value(I), Accumulator)::check();
93 I& input = exact(input_);
94 mln_precondition(input.is_valid());
96 mln_pixter(I) px(input);
100 trace::exiting("accu::impl::image::init_fastest");
112 template <
typename I>
114 init_dispatch(trait::image::speed::any,
117 impl::generic::init(input);
120 template <
typename I>
122 init_dispatch(trait::image::speed::fastest,
125 impl::init_fastest(input);
128 template <
typename I>
130 init_dispatch(Image<I>& input)
132 init_dispatch(mln_trait_image_speed(I)(),
141 template <
typename I>
143 init(Image<I>& input)
145 trace::entering(
"accu::image::init");
147 mlc_is_a(mln_value(I), Accumulator)::check();
149 mln_precondition(exact(input).is_valid());
150 internal::init_dispatch(input);
152 trace::exiting(
"accu::image::init");
155 # endif // ! MLN_INCLUDE_ONLY
164 #endif // ! MLN_ACCU_IMAGE_INIT_HH