TuttleOFX
1
|
#include "correlate.hpp"
#include "detail/kernel.hpp"
#include <terry/numeric/scalar.hpp>
#include <terry/numeric/init.hpp>
#include <terry/numeric/assign.hpp>
#include <boost/gil/gil_config.hpp>
#include <boost/gil/image_view_factory.hpp>
#include <boost/gil/algorithm.hpp>
#include <boost/gil/metafunctions.hpp>
#include <boost/numeric/conversion/cast.hpp>
#include <boost/mpl/bool.hpp>
#include <cstddef>
#include <cassert>
#include <algorithm>
#include <vector>
#include <functional>
Go to the source code of this file.
Data Structures | |
class | terry::filter::detail::correlator_n< PixelAccum > |
struct | terry::filter::detail::correlator_k< Size, PixelAccum > |
Namespaces | |
namespace | terry |
namespace | terry::filter |
namespace | terry::filter::detail |
Enumerations | |
enum | terry::filter::convolve_boundary_option { terry::filter::convolve_option_output_ignore, terry::filter::convolve_option_output_zero, terry::filter::convolve_option_extend_padded, terry::filter::convolve_option_extend_zero, terry::filter::convolve_option_extend_constant, terry::filter::convolve_option_extend_mirror } |
Functions | |
template<typename T > | |
GIL_FORCEINLINE bool | terry::filter::detail::operator>= (const point2< T > &p1, const point2< T > &p2) |
template<typename T > | |
GIL_FORCEINLINE bool | terry::filter::detail::operator<= (const point2< T > &p1, const point2< T > &p2) |
template<typename T , typename T2 > | |
GIL_FORCEINLINE bool | terry::filter::detail::operator>= (const point2< T > &p, const T2 v) |
template<typename T , typename T2 > | |
GIL_FORCEINLINE bool | terry::filter::detail::operator<= (const point2< T > &p, const T2 v) |
template<typename PixelAccum , typename SrcView , typename Kernel , typename DstView , typename Correlator > | |
void | terry::filter::detail::correlate_rows_imp (const SrcView &src, const Kernel &ker, const DstView &dst, const typename SrcView::point_t &dst_tl, const convolve_boundary_option option, Correlator correlator) |
template<typename PixelAccum , typename SrcView , typename Kernel , typename DstView > | |
GIL_FORCEINLINE void | terry::filter::detail::correlate_1d_imp (const SrcView &src, const Kernel &ker, const DstView &dst, const typename SrcView::point_t &dst_tl, const convolve_boundary_option option, const boost::mpl::true_ rows, const boost::mpl::false_) |
template<typename PixelAccum , typename SrcView , typename Kernel , typename DstView > | |
GIL_FORCEINLINE void | terry::filter::detail::correlate_1d_imp (const SrcView &src, const Kernel &ker, const DstView &dst, const typename SrcView::point_t &dst_tl, const convolve_boundary_option option, const boost::mpl::true_ rows, const boost::mpl::true_) |
template<typename PixelAccum , typename SrcView , typename Kernel , typename DstView > | |
GIL_FORCEINLINE void | terry::filter::detail::correlate_1d_imp (const SrcView &src, const Kernel &ker, const DstView &dst, const typename SrcView::point_t &dst_tl, const convolve_boundary_option option, const boost::mpl::false_ rows, const boost::mpl::false_ fixed) |
template<typename PixelAccum , typename SrcView , typename Kernel , typename DstView > | |
GIL_FORCEINLINE void | terry::filter::detail::correlate_1d_imp (const SrcView &src, const Kernel &ker, const DstView &dst, const typename SrcView::point_t &dst_tl, const convolve_boundary_option option, const boost::mpl::false_ rows, const boost::mpl::true_ fixed) |
template<bool rows, typename PixelAccum , typename SrcView , typename Kernel , typename DstView > | |
GIL_FORCEINLINE void | terry::filter::detail::correlate_1d_auto_imp (const SrcView &src, const Kernel &ker, const DstView &dst, const typename SrcView::point_t &dst_tl, const convolve_boundary_option option, const boost::mpl::true_ fixed) |
template<bool rows, typename PixelAccum , typename SrcView , typename Kernel , typename DstView > | |
GIL_FORCEINLINE void | terry::filter::detail::correlate_1d_auto_imp (const SrcView &src, const Kernel &ker, const DstView &dst, const typename SrcView::point_t &dst_tl, const convolve_boundary_option option, const boost::mpl::false_) |
template<bool rows, typename PixelAccum , typename SrcView , typename Kernel , typename DstView > | |
GIL_FORCEINLINE void | terry::filter::detail::correlate_1d_auto (const SrcView &src, const Kernel &ker, const DstView &dst, const typename SrcView::point_t &dst_tl, const convolve_boundary_option option, const boost::mpl::true_ autoEnabled) |
template<bool rows, typename PixelAccum , typename SrcView , typename Kernel , typename DstView > | |
GIL_FORCEINLINE void | terry::filter::detail::correlate_1d_auto (const SrcView &src, const Kernel &ker, const DstView &dst, const typename SrcView::point_t &dst_tl, const convolve_boundary_option option, const boost::mpl::false_ autoEnabled) |
template<bool autoEnabled, bool rows, typename PixelAccum , typename SrcView , typename Kernel , typename DstView > | |
GIL_FORCEINLINE void | terry::filter::correlate_1d_imp (const SrcView &src, const Kernel &ker, const DstView &dst, const typename SrcView::point_t &dst_tl, const convolve_boundary_option option=convolve_option_extend_zero) |
template<bool rows, typename PixelAccum , typename SrcView , typename Kernel , typename DstView > | |
GIL_FORCEINLINE void | terry::filter::correlate_1d_auto (const SrcView &src, const Kernel &ker, const DstView &dst, const typename SrcView::point_t &dst_tl, const convolve_boundary_option option=convolve_option_extend_zero) |
template<bool rows, typename PixelAccum , typename SrcView , typename Kernel , typename DstView > | |
GIL_FORCEINLINE void | terry::filter::correlate_1d (const SrcView &src, const Kernel &ker, const DstView &dst, const typename SrcView::point_t &dst_tl, const convolve_boundary_option option=convolve_option_extend_zero) |
template<bool autoEnabled, typename PixelAccum , typename SrcView , typename Kernel , typename DstView > | |
GIL_FORCEINLINE void | terry::filter::correlate_rows_imp (const SrcView &src, const Kernel &ker, const DstView &dst, const typename SrcView::point_t &dst_tl, const convolve_boundary_option option=convolve_option_extend_zero) |
template<typename PixelAccum , typename SrcView , typename Kernel , typename DstView > | |
GIL_FORCEINLINE void | terry::filter::correlate_rows_auto (const SrcView &src, const Kernel &ker, const DstView &dst, const typename SrcView::point_t &dst_tl, const convolve_boundary_option option=convolve_option_extend_zero) |
template<typename PixelAccum , typename SrcView , typename Kernel , typename DstView > | |
GIL_FORCEINLINE void | terry::filter::correlate_rows (const SrcView &src, const Kernel &ker, const DstView &dst, const typename SrcView::point_t &dst_tl=typename SrcView::point_t(0, 0), const convolve_boundary_option option=convolve_option_extend_zero) |
template<bool autoEnabled, typename PixelAccum , typename SrcView , typename Kernel , typename DstView > | |
GIL_FORCEINLINE void | terry::filter::correlate_cols_imp (const SrcView &src, const Kernel &ker, const DstView &dst, const typename SrcView::point_t &dst_tl, const convolve_boundary_option option=convolve_option_extend_zero) |
template<typename PixelAccum , typename SrcView , typename Kernel , typename DstView > | |
GIL_FORCEINLINE void | terry::filter::correlate_cols_auto (const SrcView &src, const Kernel &ker, const DstView &dst, const typename SrcView::point_t &dst_tl, const convolve_boundary_option option=convolve_option_extend_zero) |
template<typename PixelAccum , typename SrcView , typename Kernel , typename DstView > | |
GIL_FORCEINLINE void | terry::filter::correlate_cols (const SrcView &src, const Kernel &ker, const DstView &dst, const typename SrcView::point_t &dst_tl=typename SrcView::point_t(0, 0), const convolve_boundary_option option=convolve_option_extend_zero) |
template<bool autoEnabled, typename PixelAccum , template< typename > class Alloc, typename SrcView , typename KernelX , typename KernelY , typename DstView > | |
GIL_FORCEINLINE void | terry::filter::correlate_rows_cols_imp (const SrcView &src, const KernelX &kernelX, const KernelY &kernelY, const DstView &dst, const typename SrcView::point_t &dst_tl, const convolve_boundary_option option=convolve_option_extend_zero) |
template<typename PixelAccum , template< typename > class Alloc, typename SrcView , typename KernelX , typename KernelY , typename DstView > | |
GIL_FORCEINLINE void | terry::filter::correlate_rows_cols_auto (const SrcView &src, const KernelX &kernelX, const KernelY &kernelY, const DstView &dst, const typename SrcView::point_t &dst_tl, const convolve_boundary_option option=convolve_option_extend_zero) |
template<typename PixelAccum , template< typename > class Alloc, typename SrcView , typename KernelX , typename KernelY , typename DstView > | |
GIL_FORCEINLINE void | terry::filter::correlate_rows_cols (const SrcView &src, const KernelX &kernelX, const KernelY &kernelY, const DstView &dst, const typename SrcView::point_t &dst_tl, const convolve_boundary_option option=convolve_option_extend_zero) |