線形フィルタのためのライブラリ [詳細]
#include "../mist.h"
#include "../config/color.h"
#include "../vector.h"
#include "../config/type_trait.h"
#include "../thread.h"
#include <cmath>
ネームスペース | |
namespace | mist |
namespace | mist::linear |
一般カーネルの線形フィルタの実装(コールバック関数を指定することが可能) | |
namespace | mist::laplacian |
ラプラシアンフィルタの実装(コールバック関数を指定することが可能) | |
namespace | mist::gaussian |
ガウシアンフィルタの実装(コールバック関数を指定することが可能) | |
namespace | mist::average |
一様重み平滑化フィルタの実装(コールバック関数を指定することが可能) |
関数 | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 , class Kernel , class Functor > | |
bool | mist::linear::filter (const array< T1, Allocator1 > &in, array< T2, Allocator2 > &out, const Kernel &kernel, Functor f, typename array< T1, Allocator1 >::size_type thread_num) |
一般の線形フィルタ( array ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 , class Kernel , class Functor > | |
bool | mist::linear::filter (const array1< T1, Allocator1 > &in, array1< T2, Allocator2 > &out, const Kernel &kernel, Functor f, typename array1< T1, Allocator1 >::size_type thread_num) |
一般の線形フィルタ( array1 ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 , class Kernel , class Functor > | |
bool | mist::linear::filter (const array2< T1, Allocator1 > &in, array2< T2, Allocator2 > &out, const Kernel &kernel, Functor f, typename array2< T1, Allocator1 >::size_type thread_num) |
一般の線形フィルタ( array2 ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 , class Kernel , class Functor > | |
bool | mist::linear::filter1d (const array2< T1, Allocator1 > &in, array2< T2, Allocator2 > &out, const Kernel &kernel1, const Kernel &kernel2, Functor f, typename array2< T1, Allocator1 >::size_type thread_num) |
一般の線形フィルタ( array2 ) | |
template<class T , class Allocator , class Kernel , class Functor > | |
bool | mist::linear::filter1d (array2< T, Allocator > &in, const Kernel &kernel1, const Kernel &kernel2, Functor f, typename array2< T, Allocator >::size_type thread_num) |
一般の線形フィルタ( array2 ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 , class Kernel , class Functor > | |
bool | mist::linear::filter (const array3< T1, Allocator1 > &in, array3< T2, Allocator2 > &out, const Kernel &kernel, Functor f, typename array3< T1, Allocator1 >::size_type thread_num) |
一般の線形フィルタ( array3 ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 , class Kernel , class Functor > | |
bool | mist::linear::filter1d (const array3< T1, Allocator1 > &in, array3< T2, Allocator2 > &out, const Kernel &kernel1, const Kernel &kernel2, const Kernel &kernel3, Functor f, typename array3< T1, Allocator1 >::size_type thread_num) |
一般の線形フィルタ( array3 ) | |
template<class T , class Allocator , class Kernel , class Functor > | |
bool | mist::linear::filter1d (array3< T, Allocator > &in, const Kernel &kernel1, const Kernel &kernel2, const Kernel &kernel3, Functor f, typename array3< T, Allocator >::size_type thread_num) |
一般の線形フィルタ( array3 ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 , class Kernel > | |
bool | mist::linear_filter (const array< T1, Allocator1 > &in, array< T2, Allocator2 > &out, const Kernel &kernel, typename array< T1, Allocator1 >::size_type thread_num=0) |
一般の線形フィルタ( array ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 , class Kernel > | |
bool | mist::linear_filter (const array1< T1, Allocator1 > &in, array1< T2, Allocator2 > &out, const Kernel &kernel, typename array1< T1, Allocator1 >::size_type thread_num=0) |
一般の線形フィルタ( array1 ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 , class Kernel > | |
bool | mist::linear_filter (const array2< T1, Allocator1 > &in, array2< T2, Allocator2 > &out, const Kernel &kernel, typename array2< T1, Allocator1 >::size_type thread_num=0) |
一般の線形フィルタ( array2 ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 , class Kernel > | |
bool | mist::linear_filter (const array3< T1, Allocator1 > &in, array3< T2, Allocator2 > &out, const Kernel &kernel, typename array3< T1, Allocator1 >::size_type thread_num=0) |
一般の線形フィルタ( array3 ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 , class Functor > | |
bool | mist::laplacian::filter (const array< T1, Allocator1 > &in, array< T2, Allocator2 > &out, Functor f, typename array< T1, Allocator1 >::size_type thread_num) |
ラプラシアン( array ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 , class Functor > | |
bool | mist::laplacian::filter (const array1< T1, Allocator1 > &in, array1< T2, Allocator2 > &out, Functor f, typename array1< T1, Allocator1 >::size_type thread_num) |
ラプラシアン( array1 ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 , class Functor > | |
bool | mist::laplacian::filter (const array2< T1, Allocator1 > &in, array2< T2, Allocator2 > &out, Functor f, typename array2< T1, Allocator1 >::size_type thread_num) |
ラプラシアン( array2 ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 , class Functor > | |
bool | mist::laplacian::filter (const array3< T1, Allocator1 > &in, array3< T2, Allocator2 > &out, Functor f, typename array3< T1, Allocator1 >::size_type thread_num) |
ラプラシアン( array3 ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 > | |
bool | mist::laplacian_filter (const array< T1, Allocator1 > &in, array< T2, Allocator2 > &out, typename array< T1, Allocator1 >::size_type thread_num=0) |
ラプラシアン( array ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 > | |
bool | mist::laplacian_filter (const array1< T1, Allocator1 > &in, array1< T2, Allocator2 > &out, typename array1< T1, Allocator1 >::size_type thread_num=0) |
ラプラシアン( array1 ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 > | |
bool | mist::laplacian_filter (const array2< T1, Allocator1 > &in, array2< T2, Allocator2 > &out, typename array2< T1, Allocator1 >::size_type thread_num=0) |
ラプラシアン( array2 ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 > | |
bool | mist::laplacian_filter (const array3< T1, Allocator1 > &in, array3< T2, Allocator2 > &out, typename array3< T1, Allocator1 >::size_type thread_num=0) |
ラプラシアン( array3 ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 , class Functor > | |
bool | mist::gaussian::filter (const array< T1, Allocator1 > &in, array< T2, Allocator2 > &out, const double sigma, Functor f, typename array< T1, Allocator1 >::size_type thread_num) |
ガウシアンフィルタ( array ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 , class Functor > | |
bool | mist::gaussian::filter (const array1< T1, Allocator1 > &in, array1< T2, Allocator2 > &out, const double sigma, Functor f, typename array1< T1, Allocator1 >::size_type thread_num) |
ガウシアンフィルタ( array1 ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 , class Functor > | |
bool | mist::gaussian::filter (const array2< T1, Allocator1 > &in, array2< T2, Allocator2 > &out, const double sigma, Functor f, typename array2< T1, Allocator1 >::size_type thread_num) |
ガウシアンフィルタ( array2 ) | |
template<class T , class Allocator , class Functor > | |
bool | mist::gaussian::filter (array2< T, Allocator > &in, const double sigma, Functor f, typename array2< T, Allocator >::size_type thread_num) |
ガウシアンフィルタ( array2 ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 , class Functor > | |
bool | mist::gaussian::filter (const array3< T1, Allocator1 > &in, array3< T2, Allocator2 > &out, const double sigma, Functor f, typename array3< T1, Allocator1 >::size_type thread_num) |
ガウシアンフィルタ( array3 ) | |
template<class T , class Allocator , class Functor > | |
bool | mist::gaussian::filter (array3< T, Allocator > &in, const double sigma, Functor f, typename array3< T, Allocator >::size_type thread_num) |
ガウシアンフィルタ( array3 ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 > | |
bool | mist::gaussian_filter (const array< T1, Allocator1 > &in, array< T2, Allocator2 > &out, const double sigma=1.0, typename array< T1, Allocator1 >::size_type thread_num=0) |
ガウシアンフィルタ( array ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 > | |
bool | mist::gaussian_filter (const array1< T1, Allocator1 > &in, array1< T2, Allocator2 > &out, const double sigma=1.0, typename array1< T1, Allocator1 >::size_type thread_num=0) |
ガウシアンフィルタ( array1 ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 > | |
bool | mist::gaussian_filter (const array2< T1, Allocator1 > &in, array2< T2, Allocator2 > &out, const double sigma=1.0, typename array2< T1, Allocator1 >::size_type thread_num=0) |
ガウシアンフィルタ( array2 ) | |
template<class T , class Allocator > | |
bool | mist::gaussian_filter (array2< T, Allocator > &in, const double sigma=1.0, typename array2< T, Allocator >::size_type thread_num=0) |
ガウシアンフィルタ( array2 ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 > | |
bool | mist::gaussian_filter (const array3< T1, Allocator1 > &in, array3< T2, Allocator2 > &out, const double sigma=1.0, typename array3< T1, Allocator1 >::size_type thread_num=0) |
ガウシアンフィルタ( array3 ) | |
template<class T , class Allocator > | |
bool | mist::gaussian_filter (array3< T, Allocator > &in, const double sigma=1.0, typename array3< T, Allocator >::size_type thread_num=0) |
ガウシアンフィルタ( array3 ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 , class Functor > | |
bool | mist::average::filter (const array< T1, Allocator1 > &in, array< T2, Allocator2 > &out, typename array< T1, Allocator1 >::size_type fw, Functor f, typename array< T1, Allocator1 >::size_type thread_num) |
一様重み( array ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 , class Functor > | |
bool | mist::average::filter (const array1< T1, Allocator1 > &in, array1< T2, Allocator2 > &out, typename array1< T1, Allocator1 >::size_type fw, Functor f, typename array1< T1, Allocator1 >::size_type thread_num) |
一様重み( array1 ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 , class Functor > | |
bool | mist::average::filter (const array2< T1, Allocator1 > &in, array2< T2, Allocator2 > &out, typename array2< T1, Allocator1 >::size_type fw, typename array2< T1, Allocator1 >::size_type fh, Functor f, typename array2< T1, Allocator1 >::size_type thread_num) |
一様重み( array2 ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 , class Functor > | |
bool | mist::average::filter (const array3< T1, Allocator1 > &in, array3< T2, Allocator2 > &out, typename array3< T1, Allocator1 >::size_type fw, typename array3< T1, Allocator1 >::size_type fh, typename array3< T1, Allocator1 >::size_type fd, Functor f, typename array3< T1, Allocator1 >::size_type thread_num) |
一様重み( array3 ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 > | |
bool | mist::average_filter (const array< T1, Allocator1 > &in, array< T2, Allocator2 > &out, typename array< T1, Allocator1 >::size_type fw, typename array< T1, Allocator1 >::size_type thread_num=0) |
一様重み( array ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 > | |
bool | mist::average_filter (const array1< T1, Allocator1 > &in, array1< T2, Allocator2 > &out, typename array1< T1, Allocator1 >::size_type fw, typename array1< T1, Allocator1 >::size_type thread_num=0) |
一様重み( array1 ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 > | |
bool | mist::average_filter (const array2< T1, Allocator1 > &in, array2< T2, Allocator2 > &out, typename array2< T1, Allocator1 >::size_type fw, typename array2< T1, Allocator1 >::size_type fh, typename array2< T1, Allocator1 >::size_type thread_num=0) |
一様重み( array2 ) | |
template<class T1 , class Allocator1 , class T2 , class Allocator2 > | |
bool | mist::average_filter (const array3< T1, Allocator1 > &in, array3< T2, Allocator2 > &out, typename array3< T1, Allocator1 >::size_type fw, typename array3< T1, Allocator1 >::size_type fh, typename array3< T1, Allocator1 >::size_type fd, typename array3< T1, Allocator1 >::size_type thread_num=0) |
一様重み( array3 ) |
線形フィルタのためのライブラリ