【fourierクラスの利用方法】
ヘッダファイル名:fft-header.hh
複素数型は,creal8として定義している。
定数として複素数を使いたいときは,creal8(実数部,虚数部)とする。
実数部を取り出したいときは,real(creal8型の変数または定数)とし,虚数部を取り出したいときは,imag(creal8型の変数または定数)とする。
コンストラクタ:
fourier() 複素数型配列は確保しない。配列内のデータを「空間領域」とする。
fourier(ピクセル数) ピクセル数分の大きさの1次元複素数型配列を確保する。配列内のデータを「空間領域」とする。
fourier(ライン数,ピクセル数) ライン数×ピクセル数分んの大きさの2次元複素数型配列を確保する。配列内のデータを「空間領域」とする。
デストラクタ:
もし複素数配列が確保されていれば,すべて解放する。
複素数型配列の大きさの取得:
get_nr_lines() ライン数を返す。 (fourierクラス内のnr_linesは変更できない。)
get_nr_pixels() ピクセル数を返す。 (fourierクラス内のnr_pixelsは変更できない。)
複素数型配列のデータ領域の指定:
set_complex_type(データ領域) データ領域は,空間領域の場合COMPLEX_SPACEとし,周波数領域の場合COMPLEX_FREQとする。
複素数型配列へのアクセス:
pがNULLのとき,複素数型配列が確保されていない。fourierクラスは複素数データを持っていない。
p[ライン番号][ピクセル番号] 2次元複素数型配列の場合,ライン番号は0~ライン数-1,ピクセル番号は0~ピクセル番号-1
z[ピクセル番号] 1次元複素数型配列の場合,ピクセル番号は0~ピクセル番号-1 (zはpと共用している。)
複素数型配列の確保:
既に確保されている複素数型配列は解放され,新たに複素数型配列が確保される。
cmake(ライン数,ピクセル数) ライン数×ピクセル数分の2次元複素数型配列を確保する。
フーリエ変換:
複素数型配列の次元数に応じて離散フーリエ変換する。
Forward_DFT() 複素数型配列を離散フーリエ変換する。
Backward_DFT() 複素数型配列を離散フーリエ逆変換する。 (フーリエ変換し,フーリエ逆変換して元のデータに戻す場合,データ数で割り算してスケーリングする必要がある。)
高速フーリエ変換: ※ライン数,ピクセル数とも,2のべき乗数でなければならない。
複素数型配列の次元数に応じて高速フーリエ変換する。
Forward_FFT() 複素数型配列を高速フーリエ変換する。
Backward_FFT() 複素数型配列を高速フーリエ逆変換する。 (高速フーリエ変換し,高速フーリエ逆変換して元のデータに戻す場合,データ数で割り算してスケーリングする必要がある。)
Complex Text形式ファイルの読み込み:
Complex Text形式ファイルの読み込みに失敗した場合,複素数型配列は確保されない。既に複素数型配列が確保されていた場合には,複素数型配列が解放され,複素数型配列はなくなる。
cpxload() プログラムの実行中にComplex Text形式のファイル名を指定し,ファイル内に指定されたライン数×ピクセル数分の複素数型配列を確保し,複素数データを読み込む。
cpxload(Complex Text形式ファイルの文字列) 文字列として与えられたComplex Text形式のファイルから,ファイル内に指定されたライン数×ピクセル数分の複素数型配列を確保し,複素数データを読み込む。
Complex Text形式ファイルの書き出し:
Complex Text形式ファイルの書き出しに失敗しても,複素数型配列はそのまま保持される。
cpxsave() プログラムの実行中にComplex Text形式のファイル名を指定し,複素数型配列をテキストデータとして書き出す。
cpxsave(Complex Text形式ファイルの文字列) 文字列で指定されたComplex Text形式のファイルに,複素数型配列をテキストデータとして書き出す。
グレイスケール画像の作成:
MakeImage(
データ内容, 実数部:OUTPUT_REAL,虚数部:OUTPUT_IMAGE,振幅:OUTPUT_AMP,パワー:OUTPUT_POWER,パワーのデシベル値:OUTPUT_DB,位相:OUTPUT_PHASE;
シャフリングの有無, シャフリングしない:FREQ_SPACE_SHUFFLING_OFF,シャフリングする:FREQ_SPACE_SHUFFLING_ON
スケーリングの方法, スケーリングしない:OUTPUT_SCALE_OFF,画素値の範囲を求めてスケーリングする:OUTPUT_SCALE_ON
グレイスケール画像へのポインタ) 複素数型配列から指定されたデータを求め,指定されたスケーリング方法とシャフリングに従って,グレイスケール画像を作成する。
更新日:2008年1月22日