2次元フーリエ変換用にFFTハンドルを初期化する
Namespace: fvalgcliAssembly: fvalgcli (in fvalgcli.dll) Version: 3.1.0.0 (3.1.0.11)
Syntax
C# |
---|
public static int fnFIE_fft_2D_alloc( ref FHANDLE phFFT, int iWidth, int iHeight, f_fft_direction iDirection, f_fft_normalize_type iNormalization, f_fft_data_type iImgDataType, f_fft_data_type iFourierDataType ) |
Visual Basic |
---|
Public Shared Function fnFIE_fft_2D_alloc ( ByRef phFFT As FHANDLE, iWidth As Integer, iHeight As Integer, iDirection As f_fft_direction, iNormalization As f_fft_normalize_type, iImgDataType As f_fft_data_type, iFourierDataType As f_fft_data_type ) As Integer |
Parameters
- phFFT
- Type: fvalgcli..::..FHANDLE%
FFTハンドルのポインタ。ポインタの入力値は IntPtr.Zero でなければいけません。
- iWidth
- Type: System..::..Int32
フーリエ変換を行う空間領域又は周波数領域画像の幅
- iHeight
- Type: System..::..Int32
フーリエ変換を行う空間領域又は周波数領域画像の高さ
- iDirection
- Type: fvalgcli..::..f_fft_direction
実行するフーリエ変換の方向。 f_fft_direction を参照して下さい。
- iNormalization
- Type: fvalgcli..::..f_fft_normalize_type
正規化手法。 f_fft_normalize_type を参照して下さい。
- iImgDataType
- Type: fvalgcli..::..f_fft_data_type
時間領域データの形式。 f_fft_data_type を参照して下さい。
- iFourierDataType
- Type: fvalgcli..::..f_fft_data_type
周波数領域データの形式。 f_fft_data_type を参照して下さい。
Return Value
Type: Int32以下のエラーコードを返します。
エラーコード:
f_err | 内容 |
---|---|
F_ERR_NONE | 正常終了 |
F_ERR_INVALID_PARAM |
|
F_ERR_NOMEMORY | メモリ不足エラー |
F_ERR_NO_LICENCE | ライセンスエラー、または未初期化エラー |
Examples
C# | Copy |
---|---|
// $Revision: 1.1 $ using System; using System.Collections.Generic; using System.Text; using fvalgcli; namespace TC { public partial class FIE { /// <summary> /// 2次元フーリエ変換用にFFTハンドル初期化. /// </summary> [FvPluginExecute] public void fnFIE_fft_2D_alloc() { int status = (int)f_err.F_ERR_NONE; FHANDLE hFFT = FHANDLE.Zero; f_fft_direction iDirection = f_fft_direction.F_FFT_FORWARD; f_fft_normalize_type iNormalization = f_fft_normalize_type.F_FFT_DIV_BY_SQRTN; f_fft_data_type iImgDataType = f_fft_data_type.F_2D_FFT_FCOMPLEX; f_fft_data_type iFourierDataType = f_fft_data_type.F_2D_FFT_FCOMPLEX; int width = 512; int height = 512; try { // 処理実行. status = api.fnFIE_fft_2D_alloc(ref hFFT, width, height, iDirection, iNormalization, iImgDataType, iFourierDataType); Assert.IsTrue(status == (int)f_err.F_ERR_NONE, "fnFIE_fft_2D_alloc: エラーが発生しました。({0})", (f_err)status); // 確認. { int igetSpecType = 0; int igetWidth = 0; int igetHeight = 0; int igetNormalization = 0; // FFTハンドルが保持しているパラメータの取得. status = api.fnFIE_fft_get_spec(hFFT, ref igetSpecType, ref igetWidth, ref igetHeight, ref igetNormalization); Assert.IsTrue(status == (int)f_err.F_ERR_NONE, "エラーが発生しました。({0})", (f_err)status); Assert.IsTrue(2 == igetSpecType, "期待値と一致しません."); Assert.IsTrue(width == igetWidth, "期待値と一致しません."); Assert.IsTrue(height == igetHeight, "期待値と一致しません."); Assert.IsTrue((int)iNormalization == igetNormalization, "期待値と一致しません."); } } finally { // オブジェクトの開放. hFFT.Dispose(); } } } } |
Visual Basic | Copy |
---|---|
' $Revision: 1.1 $ Imports System.Collections.Generic Imports System.Text Imports fvalgcli Public Partial Class FIE ''' <summary> ''' 2次元フーリエ変換用にFFTハンドル初期化. ''' </summary> <FvPluginExecute> _ Public Sub fnFIE_fft_2D_alloc() Dim status As Integer = CInt(f_err.F_ERR_NONE) Dim hFFT As FHANDLE = FHANDLE.Zero Dim iDirection As f_fft_direction = f_fft_direction.F_FFT_FORWARD Dim iNormalization As f_fft_normalize_type = f_fft_normalize_type.F_FFT_DIV_BY_SQRTN Dim iImgDataType As f_fft_data_type = f_fft_data_type.F_2D_FFT_FCOMPLEX Dim iFourierDataType As f_fft_data_type = f_fft_data_type.F_2D_FFT_FCOMPLEX Dim width As Integer = 512 Dim height As Integer = 512 Try ' 処理実行. status = api.fnFIE_fft_2D_alloc(hFFT, width, height, iDirection, iNormalization, iImgDataType, _ iFourierDataType) Assert.IsTrue(status = CInt(f_err.F_ERR_NONE), "fnFIE_fft_2D_alloc: エラーが発生しました。({0})", CType(status, f_err)) ' 確認. If True Then Dim igetSpecType As Integer = 0 Dim igetWidth As Integer = 0 Dim igetHeight As Integer = 0 Dim igetNormalization As Integer = 0 ' FFTハンドルが保持しているパラメータの取得. status = api.fnFIE_fft_get_spec(hFFT, igetSpecType, igetWidth, igetHeight, igetNormalization) Assert.IsTrue(status = CInt(f_err.F_ERR_NONE), "エラーが発生しました。({0})", CType(status, f_err)) Assert.IsTrue(2 = igetSpecType, "期待値と一致しません.") Assert.IsTrue(width = igetWidth, "期待値と一致しません.") Assert.IsTrue(height = igetHeight, "期待値と一致しません.") Assert.IsTrue(CInt(iNormalization) = igetNormalization, "期待値と一致しません.") End If Finally ' オブジェクトの開放. hFFT.Dispose() End Try End Sub End Class |