- メインページ
- モジュール
- ネームスペース
- データ構造
- ファイル

関数
統計処理

## 関数
template<class Array >
__utility__::__value_type__ < typename Array::value_type > ::value_type | mist::statistics::average (const Array &a)
template<class Array >
__utility__::__value_type__ < typename Array::value_type > ::value_type | mist::statistics::variance (const Array &a, const typename __utility__::__value_type__< typename Array::value_type >::value_type &ave)
template<class Array >
__utility__::__value_type__ < typename Array::value_type > ::value_type | mist::statistics::variance (const Array &a)
template<class Array1 , class Array2 >
bool | mist::statistics::generate_histogram (const Array1 &in, Array2 &out, typename Array1::value_type min, typename Array1::value_type max, typename Array1::value_type bin)
template<class Array1 , class Array2 >
bool | mist::statistics::generate_histogram (const Array1 &in, Array2 &out, typename Array1::value_type min, typename Array1::value_type max)
template<class Array1 , class Array2 >
bool | mist::statistics::generate_histogram (const Array1 &in, Array2 &out, typename Array1::value_type bin)
template<class Array1 , class Array2 >
bool | mist::statistics::generate_histogram (const Array1 &in, Array2 &out)
template<class Array1 , class Array2 , class T , class Allocator >
bool | mist::statistics::generate_histogram (const Array1 &in1, const Array2 &in2, array2< T, Allocator > &out, typename Array1::value_type min1, typename Array1::value_type max1, typename Array1::value_type min2, typename Array1::value_type max2, typename Array1::value_type bin)
template<class Array1 , class Array2 , class T , class Allocator >
bool | mist::statistics::generate_histogram (const Array1 &in1, const Array2 &in2, array2< T, Allocator > &out, typename Array1::value_type min1, typename Array1::value_type max1, typename Array1::value_type min2, typename Array1::value_type max2)
template<class Array1 , class Array2 , class T , class Allocator >
bool | mist::statistics::generate_histogram (const Array1 &in1, const Array2 &in2, array2< T, Allocator > &out, typename Array1::value_type bin)
template<class Array1 , class Array2 , class T , class Allocator >
bool | mist::statistics::generate_histogram (const Array1 &in1, const Array2 &in2, array2< T, Allocator > &out)
template<typename T , typename Allocator >
double | mist::statistics::moment (const array2< T, Allocator > &img, size_t x_order, size_t y_order)
| 画像のモーメントを求める
template<typename T , typename Allocator >
double | mist::statistics::central_moment (const array2< T, Allocator > &img, size_t x_order, size_t y_order)
| 画像の中心モーメント
template<typename T , typename Allocator >
double | mist::statistics::normalized_central_moment (const array2< T, Allocator > &img, size_t x_order, size_t y_order)
| 画像から正規化中心モーメントを求める
template<typename T , typename Allocator >
void | mist::statistics::hu_moments (const array2< T, Allocator > &img, array1< double > &moments)
| 画像からHuモーメントを求める

## 説明

       @code 次のヘッダをインクルードする

#include <mist/statistics.h>

## 関数

template<class Array >

__utility__::__value_type__< typename Array::value_type >::value_type mist::statistics::average | ( | const Array & | a | ) |
| inline

データの平均値を計算する

引数

  [in] | a | … 平均値を計算するデータ配列

戻り値
  データの平均値

参照元 mist::estimate_mixture(), mist::histogram::estimate_mixture(), と mist::statistics::variance().

template<typename T , typename Allocator >

double mist::statistics::central_moment | ( | const array2< T, Allocator > & | img,
|  | size_t | x_order,
|  | size_t | y_order
| ) |  |

画像の中心モーメント

引数

  [in] | img | 入力画像
  [in] | x_order | X方向のモーメントの次数
  [in] | y_order | Y方向のモーメントの次数

戻り値
  モーメント

参照先 mist::statistics::moment().

template<class Array1 , class Array2 >

bool mist::statistics::generate_histogram | ( | const Array1 & | in,
|  | Array2 & | out,
|  | typename Array1::value_type | min,
|  | typename Array1::value_type | max,
|  | typename Array1::value_type | bin
| ) |  |

データの範囲を指定してヒストグラムを作成する

注意
  入力・出力となるデータの配列として，MISTで提供するコンテナ，STLで提供されているvector，dequeコンテナが利用可能です．

引数

  [in] | in | … ヒストグラムを作成するための元となるデータ配列（MISTで提供するコンテナ，STLで提供されているvector，dequeコンテナ）
  [in] | out | … 作成されたヒストグラム（MISTで提供するコンテナ，STLで提供されているvector，dequeコンテナ）
  [in] | min | … ヒストグラムを作成するデータの最小値
  [in] | max | … ヒストグラムを作成するデータの最大値
  [in] | bin | … ヒストグラムを作成するビン幅

戻り値

  true | … ヒストグラムの作成に成功
  false | … 入力と出力が同じオブジェクトを指定した場合，もしくはヒストグラムの作成用のデータが空

参照先 mist::is_same_object().

参照元 mist::statistics::generate_histogram().

template<class Array1 , class Array2 >

bool mist::statistics::generate_histogram | ( | const Array1 & | in,
|  | Array2 & | out,
|  | typename Array1::value_type | min,
|  | typename Array1::value_type | max
| ) |  |

データの範囲を指定してビン幅 1 のヒストグラムを作成する

注意
  入力・出力となるデータの配列として，MISTで提供するコンテナ，STLで提供されているvector，dequeコンテナが利用可能です．

引数

  [in] | in | … ヒストグラムを作成するための元となるデータ配列（MISTで提供するコンテナ，STLで提供されているvector，dequeコンテナ）
  [in] | out | … 作成されたヒストグラム（MISTで提供するコンテナ，STLで提供されているvector，dequeコンテナ）
  [in] | min | … ヒストグラムを作成するデータの最小値
  [in] | max | … ヒストグラムを作成するデータの最大値

戻り値

  true | … ヒストグラムの作成に成功
  false | … 入力と出力が同じオブジェクトを指定した場合，もしくはヒストグラムの作成用のデータが空

参照先 mist::statistics::generate_histogram().

template<class Array1 , class Array2 >

bool mist::statistics::generate_histogram | ( | const Array1 & | in,
|  | Array2 & | out,
|  | typename Array1::value_type | bin
| ) |  |

データ全体からヒストグラムを作成する

注意
  入力・出力となるデータの配列として，MISTで提供するコンテナ，STLで提供されているvector，dequeコンテナが利用可能です．

引数

  [in] | in | … ヒストグラムを作成するための元となるデータ配列（MISTで提供するコンテナ，STLで提供されているvector，dequeコンテナ）
  [in] | out | … 作成されたヒストグラム（MISTで提供するコンテナ，STLで提供されているvector，dequeコンテナ）
  [in] | bin | … ヒストグラムを作成するビン幅

戻り値

  true | … ヒストグラムの作成に成功
  false | … 入力と出力が同じオブジェクトを指定した場合，もしくはヒストグラムの作成用のデータが空

参照先 mist::statistics::generate_histogram().

template<class Array1 , class Array2 >

bool mist::statistics::generate_histogram | ( | const Array1 & | in,
|  | Array2 & | out
| ) |  |

データ全体からビン幅 1 のヒストグラムを作成する

注意
  入力・出力となるデータの配列として，MISTで提供するコンテナ，STLで提供されているvector，dequeコンテナが利用可能です．

引数

  [in] | in | … ヒストグラムを作成するための元となるデータ配列（MISTで提供するコンテナ，STLで提供されているvector，dequeコンテナ）
  [in] | out | … 作成されたヒストグラム（MISTで提供するコンテナ，STLで提供されているvector，dequeコンテナ）

戻り値

  true | … ヒストグラムの作成に成功
  false | … 入力と出力が同じオブジェクトを指定した場合，もしくはヒストグラムの作成用のデータが空

参照先 mist::statistics::generate_histogram().

template<class Array1 , class Array2 , class T , class Allocator >

bool mist::statistics::generate_histogram | ( | const Array1 & | in1,
|  | const Array2 & | in2,
|  | array2< T, Allocator > & | out,
|  | typename Array1::value_type | min1,
|  | typename Array1::value_type | max1,
|  | typename Array1::value_type | min2,
|  | typename Array1::value_type | max2,
|  | typename Array1::value_type | bin
| ) |  |

データの範囲を指定して2次元ヒストグラムを作成する

注意
  入力・出力となるデータの配列として，MISTで提供するコンテナ，STLで提供されているvector，dequeコンテナが利用可能です．

引数

  [in] | in1 | … ヒストグラムを作成するための元となるデータ配列1（MISTで提供するコンテナ，STLで提供されているvector，dequeコンテナ）
  [in] | in2 | … ヒストグラムを作成するための元となるデータ配列2（MISTで提供するコンテナ，STLで提供されているvector，dequeコンテナ）
  [in] | out | … 作成されたヒストグラム（MISTで提供する2次元コンテナ array2 のみ）
  [in] | min1 | … ヒストグラム1のデータの最小値
  [in] | max1 | … ヒストグラム1のデータの最大値
  [in] | min2 | … ヒストグラム2のデータの最小値
  [in] | max2 | … ヒストグラム2のデータの最大値
  [in] | bin | … ヒストグラムを作成するビン幅

戻り値

  true | … ヒストグラムの作成に成功
  false | … 入力と出力が同じオブジェクトを指定した場合，もしくはヒストグラムの作成用のデータが空，入力となる2つのデータ数が異なる

参照先 mist::array< T, Allocator >::fill(), mist::is_same_object(), と mist::array2< T, Allocator >::resize().

template<class Array1 , class Array2 , class T , class Allocator >

bool mist::statistics::generate_histogram | ( | const Array1 & | in1,
|  | const Array2 & | in2,
|  | array2< T, Allocator > & | out,
|  | typename Array1::value_type | min1,
|  | typename Array1::value_type | max1,
|  | typename Array1::value_type | min2,
|  | typename Array1::value_type | max2
| ) |  |

データの範囲を指定してビン幅 1 の2次元ヒストグラムを作成する

注意
  入力・出力となるデータの配列として，MISTで提供するコンテナ，STLで提供されているvector，dequeコンテナが利用可能です．

引数

  [in] | in1 | … ヒストグラムを作成するための元となるデータ配列1（MISTで提供するコンテナ，STLで提供されているvector，dequeコンテナ）
  [in] | in2 | … ヒストグラムを作成するための元となるデータ配列2（MISTで提供するコンテナ，STLで提供されているvector，dequeコンテナ）
  [in] | out | … 作成されたヒストグラム（MISTで提供する2次元コンテナ array2 のみ）
  [in] | min1 | … ヒストグラム1のデータの最小値
  [in] | max1 | … ヒストグラム1のデータの最大値
  [in] | min2 | … ヒストグラム2のデータの最小値
  [in] | max2 | … ヒストグラム2のデータの最大値

戻り値

  true | … ヒストグラムの作成に成功
  false | … 入力と出力が同じオブジェクトを指定した場合，もしくはヒストグラムの作成用のデータが空，入力となる2つのデータ数が異なる

参照先 mist::statistics::generate_histogram().

template<class Array1 , class Array2 , class T , class Allocator >

bool mist::statistics::generate_histogram | ( | const Array1 & | in1,
|  | const Array2 & | in2,
|  | array2< T, Allocator > & | out,
|  | typename Array1::value_type | bin
| ) |  |

データ全体からヒストグラムを作成する

注意
  入力・出力となるデータの配列として，MISTで提供するコンテナ，STLで提供されているvector，dequeコンテナが利用可能です．

引数

  [in] | in1 | … ヒストグラムを作成するための元となるデータ配列1（MISTで提供するコンテナ，STLで提供されているvector，dequeコンテナ）
  [in] | in2 | … ヒストグラムを作成するための元となるデータ配列2（MISTで提供するコンテナ，STLで提供されているvector，dequeコンテナ）
  [in] | out | … 作成されたヒストグラム（MISTで提供する2次元コンテナ array2 のみ）
  [in] | bin | … ヒストグラムを作成するビン幅

戻り値

  true | … ヒストグラムの作成に成功
  false | … 入力と出力が同じオブジェクトを指定した場合，もしくはヒストグラムの作成用のデータが空，入力となる2つのデータ数が異なる

参照先 mist::statistics::generate_histogram(), と mist::is_same_object().

template<class Array1 , class Array2 , class T , class Allocator >

bool mist::statistics::generate_histogram | ( | const Array1 & | in1,
|  | const Array2 & | in2,
|  | array2< T, Allocator > & | out
| ) |  |

データ全体からビン幅 1 のヒストグラムを作成する

注意
  入力・出力となるデータの配列として，MISTで提供するコンテナ，STLで提供されているvector，dequeコンテナが利用可能です．

引数

  [in] | in1 | … ヒストグラムを作成するための元となるデータ配列1（MISTで提供するコンテナ，STLで提供されているvector，dequeコンテナ）
  [in] | in2 | … ヒストグラムを作成するための元となるデータ配列2（MISTで提供するコンテナ，STLで提供されているvector，dequeコンテナ）
  [in] | out | … 作成されたヒストグラム（MISTで提供する2次元コンテナ array2 のみ）

戻り値

  true | … ヒストグラムの作成に成功
  false | … 入力と出力が同じオブジェクトを指定した場合，もしくはヒストグラムの作成用のデータが空，入力となる2つのデータ数が異なる

参照先 mist::statistics::generate_histogram().

template<typename T , typename Allocator >

void mist::statistics::hu_moments | ( | const array2< T, Allocator > & | img,
|  | array1< double > & | moments
| ) |  |

画像からHuモーメントを求める

引数

  [in] | img | 入力画像
  [out] | moments | Huモーメント(7次元)

参照先 mist::statistics::moment(), と mist::array< T, Allocator >::resize().

template<typename T , typename Allocator >

double mist::statistics::moment | ( | const array2< T, Allocator > & | img,
|  | size_t | x_order,
|  | size_t | y_order
| ) |  |

画像のモーメントを求める

引数

  [in] | img | 入力画像
  [in] | x_order | X方向のモーメントの次数
  [in] | y_order | Y方向のモーメントの次数

戻り値
  モーメント

参照先 mist::array2< T, Allocator >::height(), と mist::array2< T, Allocator >::width().

参照元 mist::statistics::central_moment(), mist::statistics::hu_moments(), と mist::statistics::normalized_central_moment().

template<typename T , typename Allocator >

double mist::statistics::normalized_central_moment | ( | const array2< T, Allocator > & | img,
|  | size_t | x_order,
|  | size_t | y_order
| ) |  |

画像から正規化中心モーメントを求める

引数

  [in] | img | 入力画像
  [in] | x_order | X方向のモーメントの次数
  [in] | y_order | Y方向のモーメントの次数

戻り値
  モーメント

参照先 mist::statistics::moment().

template<class Array >

__utility__::__value_type__< typename Array::value_type >::value_type mist::statistics::variance | ( | const Array & | a,
|  | const typename __utility__::__value_type__< typename Array::value_type >::value_type & | ave
| ) |  |
| inline

データの分散（共分散行列）を計算する

引数

  [in] | a | … 分散（共分散行列）を計算するデータ配列
  [in] | ave | … データ配列の平均値

戻り値
  データの分散（共分散行列）

参照元 mist::estimate_mixture(), mist::histogram::estimate_mixture(), mist::gauss::random::set_param(), と mist::statistics::variance().

template<class Array >

__utility__::__value_type__< typename Array::value_type >::value_type mist::statistics::variance | ( | const Array & | a | ) |
| inline

データの分散（共分散行列）を計算する

引数

  [in] | a | … 分散（共分散行列）を計算するデータ配列

戻り値
  データの分散（共分散行列）

参照先 mist::statistics::average(), と mist::statistics::variance().