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

MIST ( Media Integration Standard Toolkit )

# MISTの基本設定

- 基本設定
- MIST全般で利用できるコールバック関数

# MISTで提供する基本コンテナ

- array : STLに準拠したメモリ上で連続となる1次元配列であり，音声・画像の全てのデータの基底クラス
- array1 : 音声を扱うための1次元配列
- array2 : 2次元画像を扱うための画像クラス
- array3 : 3次元画像を扱うための画像クラス
- bitmap : ビットマップ画像を扱うためのクラス
- marray : 1・2・3次元画像の縁にマージンを持った画像を扱うクラス
- buffered_array : 画像の一辺が2の指数乗となる画像を扱うクラス
- matrix : 任意の行列を扱うためのクラス（Expression template を利用した高速な演算が可能）
- ベクトル演算を可能とするクラス
  - vector2 : 2次元ベクトルを扱うクラス
  - vector3 : 3次元ベクトルを扱うクラス
  - vector : N次元ベクトルを扱うクラス

# MISTで提供する基本データ型

- バイナリ画素
- 色空間を扱うクラス
  - カラー画素
  - Windows用のビットマップで利用されるカラー画素
  - カラー画素（アルファ付き）
- ステレオ音声
- クォータニオン（四元数）
- 集合
- ポリゴン関連
  - ポリゴンを扱うクラス
  - ポリゴンの集合を扱うクラス
  - ポリゴン数の削減

# MISTで提供するアルゴリズム

## 実装補助

- 型に対する情報
- 自動的にメモリ管理を行うポインタ
- 時間計測
- 計算機環境情報
- 演算子の実装補助
- マルチスレッド
  - スレッドプール
  - シングルトン
- 自由曲線・曲面
  - Bスプライン曲線
  - 3次スプライン曲線
- CRC
- ハッシュ関数
  - MD2
  - MD4
  - MD5
  - SHA-1
  - SHA-256
  - SHA-384
  - SHA-512

## ベクトル・行列演算

- 行列演算
  - トレース
  - 行列式
  - 逆行列
  - 連立方程式を解く
  - QR 分解
  - LU 分解
  - 固有値・固有ベクトル
  - 特異値分解

## 共通の処理

- フーリエ変換
  - 高速フーリエ変換 (FFT)
  - 離散コサイン変換(DCT)
  - 離散サイン変換 (DST)
- ウェーブレット変換
- 統計処理
  - 平均値計算
  - 分散計算
  - ヒストグラム作成
  - 混合正規分布の推定
- 擬似乱数生成
  - 一様乱数
  - 正規乱数
- グラフ描画(2次元)
- 画像や基本オブジェクトの描画
  - OpenGLを用いた2次元画像描画
  - 直線・円の描画
- 関数の最小化
- レジストレーション
  - 非剛体レジストレーション
- 可視化
  - ボリュームレンダリング
  - 等濃度面表示
- キャリブレーション
  - カメラキャリブレーション
- 機械学習
  - Multiclass AdaBoost
- 経験的モード分解およびヒルベルト変換
  - ヒルベルト変換
  - 経験的モード分解

## 主に画像に対して適用される処理

### 入出力系

- 任意の画像データの読み込み・書き出し
  - RAWデータの読み込み・書き出し
  - BMPデータの読み込み・書き出し
  - PNMデータの読み込み・書き出し
  - JPEGデータの読み込み・書き出し
  - PNGデータの読み込み・書き出し
  - GIFデータの読み込み
  - TIFFデータの読み込み・書き出し
  - TGAデータの読み込み・書き出し
  - DICOMデータの読み込み・書き出し

### フィルタ系

- 線形フィルタ
- メディアンフィルタ
- 領域拡張法
- 画像補間
  - 最近傍型補間
  - 平均値型補間
  - 線形補間
  - 3次補間（sinc関数の3次近似を利用した補間）
  - 3次のBスプライン補間
  - sinc関数補間（全画素を畳み込むので計算コスト大）
- エッジ検出
  - Cannyエッジ検出器
- コーナー検出
  - Harrisコーナー検出器
- カラー画像に対する処理
  - インターレス除去
- 閾値選択
- モルフォロジー演算
- 2値画像に対する処理
  - ラベリング
  - 図形分割
  - 境界画素抽出
  - 最頻値フィルタ
  - 細線化
  - スケルトン抽出
  - 距離変換
    - ボロノイ分割
    - ユークリッド2乗距離変換
    - ユークリッド2乗逆距離変換
    - マンハッタン距離（シティーブロック距離）変換
    - チェスボード距離変換
  - 図形融合
    - マンハッタン距離（L1ノルム，シティーブロック距離）

## 主に音声に対して適用される処理

### 入出力系

- 音声データの読み込み・書き出し
  - WAVデータの読み込み・書き出し

### フィルタ系

- サンプリングレート変更
- 再生