Todo List

Member spice::color<T, Channels>::operator== (T_other const&lhs, color const&rhs)
refactor this to work for any type that is convertible to T
Member spice::color<T, Channels>::operator== (color const&lhs, T_other const&rhs)
refactor this to work for any type that is convertible to T
Member spice::color<T, Channels>::operator!= (T_other const&lhs, color const&rhs)
refactor this to work for any type that is convertible to T
Member spice::color<T, Channels>::operator!= (color const&lhs, T_other const&rhs)
refactor this to work for any type that is convertible to T
Member spice::color_view<T>::operator== (T_other const&lhs, color_view const&rhs)
refactor this to work for any type that is convertible to T
Member spice::color_view<T>::operator== (color_view const&lhs, T_other const&rhs)
refactor this to work for any type that is convertible to T
Member spice::color_view<T>::operator!= (T_other const&lhs, color_view const&rhs)
refactor this to work for any type that is convertible to T
Member spice::color_view<T>::operator!= (color_view const&lhs, T_other const&rhs)
refactor this to work for any type that is convertible to T
Member spice::convolve::frequency_space (image<T, Channels> img, image<T, Filter_Channels> filter, size_t n_threads=1)

: split copies and multiplications into tiles and prallelise?

: use fftw_plan_many_dft?

: use parallel fftw?

Member spice::function::sqrt_2_pi
Make this constexpr as soon as std::sqrt is constexpr
Member spice::threshold::adaptive (image<float, Channels>&input, float threshold, int radius)
Generalise this to arbitrary image types and adapt the Halide code to work with different channel counts