Flat-Field Correction#
機能を使用する#
画像上のムラは、デジタル画像処理においてよく見られる現象です。これらは、センサーピクセルの輝度出力のばらつきや、光源および照明光学系の影響によって発生します。フラットフィールド補正は、元のピクセル値を補正することでこれらのムラを最小限に抑え、画質およびその後の解析精度を向上させます。
フラットフィールド補正を適用する前に、カメラをキャリブレーションする必要があります。これには、適切な補正データの算出が含まれます。これにより、画像取得時に元のピクセルを補正し、画質を向上させることができます。
Flat-Field Correction機能の実装は、カメラによって異なります:
Flat-Field Correctionの種類#
カメラモデルに応じて、Baslerカメラはブロックベースおよび列ベース(カラムベース)のフラットフィールド補正をサポートしています。
ブロックベースのフラットフィールド補正は、光応答不均一性(PRNU)や、照明および照明光学系に起因する低周波の変動によって生じる画像アーティファクトを補正します。ブロックベースのFFCは、センサーを一定数のピクセルで構成される正方形のブロックに「分割」します。キャリブレーション時に、各正方形ブロックの補正データが算出され、それが補間されてセンサーの各ピクセルに適用されます。
列ベースのフラットフィールド補正は、暗電流不均一性(DSNU)および光応答不均一性(PRNU)によって生じる画像アーティファクトを補正します。センサーの各列について、DSNUとPRNUの両方の補正値をキャリブレーション時に算出する必要があります。画像取得時には、これらの列ごとの補正値が元のピクセル値に適用されます。
次の図は、ブロックベースおよび列ベースのフラットフィールド補正の異なる原理を示しています。
補正値(CV)の作成#
ブロックベースのフラットフィールド補正: 光応答不均一性(PRNU)や、照明または光学系などに起因する低周波のアーティファクトを検出するために、明視野(フラットフィールド)画像のシーケンスが撮影されます。補正値(CV)はカメラによって算出され、カメラのフラッシュメモリに保存されます。
列ベースのフラットフィールド補正: 暗電流不均一性(DSNU)(暗電流ノイズ)を検出するために暗視野画像のシーケンスが撮影され(A)、光応答不均一性(PRNU)を検出するために明視野(フラットフィールド)画像のシーケンスが撮影されます(B)。その後、補正値(CV)をユーザーが算出し、カメラのフラッシュメモリに保存する必要があります。
Flat-Field Correctionの適用#
Flat-Field Correction機能が有効になっていれば、画像アーティファクトが除去されます。元のピクセル値(OV)が補正され、より優れた画像(結果値、RV)が得られます。
ace 2カメラ#
お使いのace 2カメラモデルに応じて、ブロックベースのフラットフィールド補正を利用できます。
情報
この機能は、pylon ViewerのBlock-Based Flat-Field Correction機能によって補完されます。
Block-Based Flat-Field Correction#
Flat-Field Correctionセットの作成#
このステップでは、カメラのキャリブレーションを行い、算出した補正値をフラットフィールド補正セットと呼ばれるファイルに保存します。これを行うには、pylon ViewerのBlock-Based Flat-Field Correction機能を使用します。
最大4つの補正セットを作成できます。
Flat-Field Correctionセットの有効化#
フラットフィールド補正セットを有効にするには:
- パラメーターを
BslFlatFieldCorrectionModeパラメータを次のように設定:On. -
パラメーターを
BslFlatFieldCorrectionSetIndexパラメータを使用するセットのインデックス番号(例:インデックス番号2)に設定します。選択した Flat-Field Correction セットは自動的に有効になります。
情報
Flat-Field Correction セットの切り替えは、画像取得中にも行うことができます。
boost Vカメラ#
Basler boost V カメラは、ブロックベースの Flat-Field Correction とカラムベースの Flat-Field Correction をサポートしています。これら 2 つの補正方式は、組み合わせて使用することも、個別に使用することもできます。
Block-Based Flat-Field Correction#
Flat-Field Correctionセットの作成#
この手順では、カメラのキャリブレーションを行い、計算された補正値を Flat-Field Correction セットと呼ばれるファイルに保存します。最大 16 個の補正セットを作成できます。
Flat-Field Correction セットの作成を開始する前に、次のアイテムが必要です。
- 白い紙など、均一な背景を持つターゲット
情報
最良の結果を得るために、通常運用時と同様に、光学系、フレームレート、Exposure Time、ゲイン、カメラ温度を調整します。実際のアプリケーション環境で明視野画像を取得することを Basler は推奨しています。
Flat-Field Correction セットを作成するには:
- パラメーターを
WidthとHeight次のパラメータ: 画像ROI を最大値に設定します。 - 利用可能な場合は、Decimation および Dual ROI 機能を無効にします。
- Binning を無効にします。
- 後の運用時と同様に、Reverse X and Reverse Y を設定します。
- カメラの視野全体に白い紙を置くなどして、センサーを 70 % の飽和度まで均一に照明します。
- パラメーターを
BslFlatFieldCorrectionSelectorパラメータを次のように設定:BlockBased. - パラメーターを
BslFlatFieldCorrectionModeパラメータを次のように設定:On. - パラメーターを
BslFlatFieldCorrectionSetIndexパラメータを、作成するセットの希望するインデックス番号(例:2)に設定します。 - pylon Viewer のツールバーにある Continuous Shot ボタンをクリックして、画像取得を開始します。
- 実行する
BslFlatFieldCorrectionSetCreateコマンドを実行して、新しい Flat-Field Correction セットを作成します。
一連の明画像が取得され、評価されます。生成された補正データが、選択した Flat-Field Correction セットに収集されます。 -
次の操作を実行して、設定をカメラのフラッシュメモリに保存します:
BslFlatFieldCorrectionSetSaveコマンド。
インデックス番号 2 などの Flat-Field Correction セットにすでに補正データが含まれている場合、それらは上書きされ、新しい補正値に置き換えられます。作成された Flat-Field Correction セットは自動的に有効になります。
Flat-Field Correctionセットの有効化#
フラットフィールド補正セットを有効にするには:
- パラメーターを
BslFlatFieldCorrectionModeパラメータを次のように設定:On. - パラメーターを
BslFlatFieldCorrectionSetIndexパラメータを使用するセットのインデックス番号(例:インデックス番号2)に設定します。 - 実行する
BslFlatFieldCorrectionSetLoadコマンド。
情報
Flat-Field Correction セットの切り替えは、画像取得中に行うことができます。ただし、その過程でわずかな画像アーティファクトが発生する場合があります。
Column-Based Flat-Field Correction#
情報
この機能は、pylon Viewer の Column-Based Flat-Field Correction 機能によって補完されます。
pylon Viewer を使用した補正値の計算#
→ pylon Viewer の Column-Based Flat-Field Correction 機能を参照してください。
pylon APIを使用した補正値の計算#
以下の数式パラメータが使用されます。
- DMean: ダークフィールド画像内のすべてのピクセルの平均グレー値
- GMean: ブライトフィールド画像内のすべてのピクセルの平均グレー値
- DSNU_Coeff(x): 暗電流シェーディング(DSNU)係数
- PRNU_Coeff(x): 光量応答不均一性(PRNU)係数
- UserGD_Offset: ユーザー定義のグローバルダークオフセット
ここで、x は列インデックスです。
情報
最良の結果を得るには、実際のアプリケーション環境でダークフィールド画像およびブライトフィールド画像を取得してください。静的効果のみが補正されることに注意してください。レンズや照明などを変更した場合は、この手順を繰り返す必要があります。
補正値を計算するには:
- レンズにプラスチックキャップを取り付けるなどしてセンサーを遮光し、ダーク画像のシーケンスを取得します。
- 取得したすべての画像内のすべてのピクセルのグレー値を足し合わせ、その合計をピクセルの総数で割ります。結果は、ダークフィールド画像内のすべてのピクセルの平均グレー値(DMean)になります。
- 各列 x の平均グレー値(D(x))を計算します。
- カメラの視野全体に白い紙を置くなどして、センサーを70%の飽和度まで均一に照明し、ブライト画像のシーケンスを取得します。
- 取得したすべての画像内のすべてのピクセルのグレー値を足し合わせ、その合計をピクセルの総数で割ります。結果は、ブライトフィールド画像内のすべてのピクセルの平均グレー値(GMean)になります。
- 各列 x の平均グレー値(G(x))を計算します。
- 必要に応じて、要件に合わせたグローバルダークオフセット値(UserGD_Offset)を決定します。
-
各列 x について、次のように係数 DSNU_Coeff(x) および PRNU_Coeff(x) を計算します。
-
計算された値を使用して、pylon API経由で対応するカメラパラメータを設定します。
- 列インデックス(x):
BslFlatFieldCorrectionCoeffX - DMean:
BslFlatFieldCorrectionDMean - DSNU_Coeff(x):
BslFlatFieldCorrectionCoeffDSNU - PRNU_Coeff(x):
BslFlatFieldCorrectionCoeffPRNU - UserGD_Offset:
BslFlatFieldCorrectionUserGD
- 列インデックス(x):
-
すべての列の補正値を設定したら、一連の画像を取得して Flat-Field Correction をテストできます。
- Image Quality に満足したら、次のコマンドを実行して設定をカメラのフラッシュメモリに保存します:
BslFlatFieldCorrectionSaveToFlashコマンド。
Flat-Field Correction タイプの選択#
イメージ BslFlatFieldCorrectionSelector 使用する Flat-Field Correction のタイプを選択できます。パラメータには次の値を設定できます:
BlockBased: Block-based flat-field correction が実行されます。ColumnBased: Column-based flat-field correction が実行されます。
Flat-Field Correction の有効化または無効化#
Flat-Field Correction を有効または無効にするには、 BslFlatFieldCorrectionMode パラメーターを次のいずれかの値に設定します。
Onを設定します:選択された flat-field correction type に応じて、カメラは Flat-Field Correction を実行します。-
DSNUOnly:カメラは DSNU 補正のみを実行します。情報
このパラメータ値は、column-based flat-field correction を選択した場合にのみ利用可能です。
-
Off(デフォルト):カメラは 厳密な 選択した Flat-Field Correction のタイプを実行します。
外部リンク#
特性#
| カメラモデル | Available Flat-Field Correction Type |
|---|---|
| a2A640-240gmSWIR | Flat-Field Correction feature not supported |
| a2A640-240umSWIR | Flat-Field Correction feature not supported |
| a2A1280-80gmSWIR | Flat-Field Correction feature not supported |
| a2A1280-125umSWIR | Flat-Field Correction feature not supported |
| a2A1920-51gcBAS | Flat-Field Correction feature not supported |
| a2A1920-51gcIP67 | Flat-Field Correction feature not supported |
| a2A1920-51gcPRO | Flat-Field Correction feature not supported |
| a2A1920-51gmBAS | Flat-Field Correction feature not supported |
| a2A1920-51gmIP67 | Flat-Field Correction feature not supported |
| a2A1920-51gmPRO | Flat-Field Correction feature not supported |
| a2A1920-160ucBAS | Flat-Field Correction feature not supported |
| a2A1920-160ucPRO | Flat-Field Correction feature not supported |
| a2A1920-160umBAS | Flat-Field Correction feature not supported |
| a2A1920-160umPRO | Flat-Field Correction feature not supported |
| a2A1920-165g5cBAS | Flat-Field Correction feature not supported |
| a2A1920-165g5mBAS | Flat-Field Correction feature not supported |
| a2A1920-168mgc | Flat-Field Correction feature not supported |
| a2A1920-168mgm | Flat-Field Correction feature not supported |
| a2A2048-35gmSWIR | Flat-Field Correction feature not supported |
| a2A2048-37gcBAS | Flat-Field Correction feature not supported |
| a2A2048-37gcPRO | Flat-Field Correction feature not supported |
| a2A2048-37gmBAS | Flat-Field Correction feature not supported |
| a2A2048-37gmPRO | Flat-Field Correction feature not supported |
| a2A2048-110umSWIR | Flat-Field Correction feature not supported |
| a2A2048-114g5cBAS | Flat-Field Correction feature not supported |
| a2A2048-114g5mBAS | Flat-Field Correction feature not supported |
| a2A2048-114mgc | Flat-Field Correction feature not supported |
| a2A2048-114mgm | Flat-Field Correction feature not supported |
| a2A2048-114ucBAS | Flat-Field Correction feature not supported |
| a2A2048-114ucPRO | Flat-Field Correction feature not supported |
| a2A2048-114umBAS | Flat-Field Correction feature not supported |
| a2A2048-114umPRO | Flat-Field Correction feature not supported |
| a2A2048-173cmSWIR | Flat-Field Correction feature not supported |
| a2A2440-98g5cBAS | Flat-Field Correction feature not supported |
| a2A2440-98g5mBAS | Flat-Field Correction feature not supported |
| a2A2448-23gcBAS | Flat-Field Correction feature not supported |
| a2A2448-23gcIP67 | Flat-Field Correction feature not supported |
| a2A2448-23gcPRO | Flat-Field Correction feature not supported |
| a2A2448-23gmBAS | Flat-Field Correction feature not supported |
| a2A2448-23gmIP67 | Flat-Field Correction feature not supported |
| a2A2448-23gmPRO | Flat-Field Correction feature not supported |
| a2A2448-75ucBAS | Flat-Field Correction feature not supported |
| a2A2448-75ucPRO | Flat-Field Correction feature not supported |
| a2A2448-75umBAS | Flat-Field Correction feature not supported |
| a2A2448-75umPRO | Flat-Field Correction feature not supported |
| a2A2448-90mgc | Flat-Field Correction feature not supported |
| a2A2448-90mgm | Flat-Field Correction feature not supported |
| a2A2448-105g5cBAS | Flat-Field Correction feature not supported |
| a2A2448-105g5mBAS | Flat-Field Correction feature not supported |
| a2A2448-120cc | Flat-Field Correction feature not supported |
| a2A2448-120cm | Flat-Field Correction feature not supported |
| a2A2448-210cc | Flat-Field Correction feature not supported |
| a2A2448-210cm | Flat-Field Correction feature not supported |
| a2A2464-23gcBAS | Flat-Field Correction feature not supported |
| a2A2464-23gcPRO | Block-based flat-field correction |
| a2A2464-23gmBAS | Flat-Field Correction feature not supported |
| a2A2464-23gmPRO | Block-based flat-field correction |
| a2A2464-77ucBAS | Flat-Field Correction feature not supported |
| a2A2464-77ucPRO | Block-based flat-field correction |
| a2A2464-77umBAS | Flat-Field Correction feature not supported |
| a2A2464-77umPRO | Block-based flat-field correction |
| a2A2464-115g5cBAS | Block-based flat-field correction |
| a2A2464-115g5mBAS | Block-based flat-field correction |
| a2A2560-20gmSWIR | Flat-Field Correction feature not supported |
| a2A2560-70umSWIR | Flat-Field Correction feature not supported |
| a2A2560-131cmSWIR | Flat-Field Correction feature not supported |
| a2A2590-22gcBAS | Flat-Field Correction feature not supported |
| a2A2590-22gcPRO | Flat-Field Correction feature not supported |
| a2A2590-22gmBAS | Flat-Field Correction feature not supported |
| a2A2590-22gmPRO | Flat-Field Correction feature not supported |
| a2A2590-60ucBAS | Flat-Field Correction feature not supported |
| a2A2590-60ucPRO | Flat-Field Correction feature not supported |
| a2A2590-60umBAS | Flat-Field Correction feature not supported |
| a2A2590-60umPRO | Flat-Field Correction feature not supported |
| a2A2600-20gcBAS | Flat-Field Correction feature not supported |
| a2A2600-20gcPRO | Flat-Field Correction feature not supported |
| a2A2600-20gmBAS | Flat-Field Correction feature not supported |
| a2A2600-20gmPRO | Flat-Field Correction feature not supported |
| a2A2600-64ucBAS | Flat-Field Correction feature not supported |
| a2A2600-64ucPRO | Flat-Field Correction feature not supported |
| a2A2600-64umBAS | Flat-Field Correction feature not supported |
| a2A2600-64umPRO | Flat-Field Correction feature not supported |
| a2A2840-14gcBAS | Flat-Field Correction feature not supported |
| a2A2840-14gcIP67 | Flat-Field Correction feature not supported |
| a2A2840-14gcPRO | Flat-Field Correction feature not supported |
| a2A2840-14gmBAS | Flat-Field Correction feature not supported |
| a2A2840-14gmIP67 | Flat-Field Correction feature not supported |
| a2A2840-14gmPRO | Flat-Field Correction feature not supported |
| a2A2840-14gmUV | Flat-Field Correction feature not supported |
| a2A2840-48ucBAS | Flat-Field Correction feature not supported |
| a2A2840-48ucPRO | Flat-Field Correction feature not supported |
| a2A2840-48umBAS | Flat-Field Correction feature not supported |
| a2A2840-48umPRO | Flat-Field Correction feature not supported |
| a2A2840-48umUV | Flat-Field Correction feature not supported |
| a2A2840-57mgc | Flat-Field Correction feature not supported |
| a2A2840-57mgm | Flat-Field Correction feature not supported |
| a2A2840-67g5cBAS | Flat-Field Correction feature not supported |
| a2A2840-67g5mBAS | Flat-Field Correction feature not supported |
| a2A2840-67g5mUV | Flat-Field Correction feature not supported |
| a2A2840-86cc | Flat-Field Correction feature not supported |
| a2A2840-86cm | Flat-Field Correction feature not supported |
| a2A3536-9gcBAS | Flat-Field Correction feature not supported |
| a2A3536-9gcPRO | Flat-Field Correction feature not supported |
| a2A3536-9gmBAS | Flat-Field Correction feature not supported |
| a2A3536-9gmPRO | Flat-Field Correction feature not supported |
| a2A3536-31ucBAS | Flat-Field Correction feature not supported |
| a2A3536-31ucPRO | Flat-Field Correction feature not supported |
| a2A3536-31umBAS | Flat-Field Correction feature not supported |
| a2A3536-31umPRO | Flat-Field Correction feature not supported |
| a2A3536-37mgc | Flat-Field Correction feature not supported |
| a2A3536-37mgm | Flat-Field Correction feature not supported |
| a2A3536-42g5cBAS | Flat-Field Correction feature not supported |
| a2A3536-42g5mBAS | Flat-Field Correction feature not supported |
| a2A3840-13gcBAS | Flat-Field Correction feature not supported |
| a2A3840-13gcPRO | Flat-Field Correction feature not supported |
| a2A3840-13gmBAS | Flat-Field Correction feature not supported |
| a2A3840-13gmPRO | Flat-Field Correction feature not supported |
| a2A3840-45ucBAS | Flat-Field Correction feature not supported |
| a2A3840-45ucPRO | Flat-Field Correction feature not supported |
| a2A3840-45umBAS | Flat-Field Correction feature not supported |
| a2A3840-45umPRO | Flat-Field Correction feature not supported |
| a2A4096-9gcBAS | Flat-Field Correction feature not supported |
| a2A4096-9gcIP67 | Flat-Field Correction feature not supported |
| a2A4096-9gcPRO | Flat-Field Correction feature not supported |
| a2A4096-9gmBAS | Flat-Field Correction feature not supported |
| a2A4096-9gmIP67 | Flat-Field Correction feature not supported |
| a2A4096-9gmPRO | Flat-Field Correction feature not supported |
| a2A4096-30ucBAS | Flat-Field Correction feature not supported |
| a2A4096-30ucPRO | Flat-Field Correction feature not supported |
| a2A4096-30umBAS | Flat-Field Correction feature not supported |
| a2A4096-30umPRO | Flat-Field Correction feature not supported |
| a2A4096-38mgc | Flat-Field Correction feature not supported |
| a2A4096-38mgm | Flat-Field Correction feature not supported |
| a2A4096-44g5cBAS | Flat-Field Correction feature not supported |
| a2A4096-44g5mBAS | Flat-Field Correction feature not supported |
| a2A4096-67cc | Flat-Field Correction feature not supported |
| a2A4096-67cm | Flat-Field Correction feature not supported |
| a2A4200-12gcBAS | Flat-Field Correction feature not supported |
| a2A4200-12gcPRO | Flat-Field Correction feature not supported |
| a2A4200-12gmBAS | Flat-Field Correction feature not supported |
| a2A4200-12gmPRO | Flat-Field Correction feature not supported |
| a2A4200-40ucBAS | Flat-Field Correction feature not supported |
| a2A4200-40ucPRO | Flat-Field Correction feature not supported |
| a2A4200-40umBAS | Flat-Field Correction feature not supported |
| a2A4200-40umPRO | Flat-Field Correction feature not supported |
| a2A4504-5gcBAS | Flat-Field Correction feature not supported |
| a2A4504-5gcIP67 | Flat-Field Correction feature not supported |
| a2A4504-5gcPRO | Flat-Field Correction feature not supported |
| a2A4504-5gmBAS | Flat-Field Correction feature not supported |
| a2A4504-5gmIP67 | Flat-Field Correction feature not supported |
| a2A4504-5gmPRO | Flat-Field Correction feature not supported |
| a2A4504-18ucBAS | Flat-Field Correction feature not supported |
| a2A4504-18ucPRO | Flat-Field Correction feature not supported |
| a2A4504-18umBAS | Flat-Field Correction feature not supported |
| a2A4504-18umPRO | Flat-Field Correction feature not supported |
| a2A4504-23mgc | Flat-Field Correction feature not supported |
| a2A4504-23mgm | Flat-Field Correction feature not supported |
| a2A4504-27g5cBAS | Flat-Field Correction feature not supported |
| a2A4504-27g5mBAS | Flat-Field Correction feature not supported |
| a2A4504-42cc | Flat-Field Correction feature not supported |
| a2A4504-42cm | Flat-Field Correction feature not supported |
| a2A4508-6gcBAS | Flat-Field Correction feature not supported |
| a2A4508-6gcPRO | Flat-Field Correction feature not supported |
| a2A4508-6gmBAS | Flat-Field Correction feature not supported |
| a2A4508-6gmPRO | Flat-Field Correction feature not supported |
| a2A4508-20ucBAS | Flat-Field Correction feature not supported |
| a2A4508-20ucPRO | Flat-Field Correction feature not supported |
| a2A4508-20umBAS | Flat-Field Correction feature not supported |
| a2A4508-20umPRO | Flat-Field Correction feature not supported |
| a2A5060-4gcBAS | Flat-Field Correction feature not supported |
| a2A5060-4gmBAS | Flat-Field Correction feature not supported |
| a2A5060-15ucBAS | Flat-Field Correction feature not supported |
| a2A5060-15umBAS | Flat-Field Correction feature not supported |
| a2A5060-21g5cBAS | Flat-Field Correction feature not supported |
| a2A5060-21g5mBAS | Flat-Field Correction feature not supported |
| a2A5060-35cc | Flat-Field Correction feature not supported |
| a2A5060-35cm | Flat-Field Correction feature not supported |
| a2A5320-7gcBAS | Flat-Field Correction feature not supported |
| a2A5320-7gcIP67 | Flat-Field Correction feature not supported |
| a2A5320-7gcPRO | Flat-Field Correction feature not supported |
| a2A5320-7gmBAS | Flat-Field Correction feature not supported |
| a2A5320-7gmPRO | Flat-Field Correction feature not supported |
| a2A5320-7gmip67 | Flat-Field Correction feature not supported |
| a2A5320-23ucBAS | Flat-Field Correction feature not supported |
| a2A5320-23ucPRO | Flat-Field Correction feature not supported |
| a2A5320-23umBAS | Flat-Field Correction feature not supported |
| a2A5320-23umPRO | Flat-Field Correction feature not supported |
| a2A5320-29mgc | Flat-Field Correction feature not supported |
| a2A5320-29mgm | Flat-Field Correction feature not supported |
| a2A5320-34g5cBAS | Flat-Field Correction feature not supported |
| a2A5320-34g5mBAS | Flat-Field Correction feature not supported |
| a2A5320-52cc | Flat-Field Correction feature not supported |
| a2A5320-52cm | Flat-Field Correction feature not supported |
| a2A5328-4gcBAS | Flat-Field Correction feature not supported |
| a2A5328-4gcIP67 | Flat-Field Correction feature not supported |
| a2A5328-4gcPRO | Flat-Field Correction feature not supported |
| a2A5328-4gmBAS | Flat-Field Correction feature not supported |
| a2A5328-4gmIP67 | Flat-Field Correction feature not supported |
| a2A5328-4gmPRO | Flat-Field Correction feature not supported |
| a2A5328-15ucBAS | Flat-Field Correction feature not supported |
| a2A5328-15ucPRO | Flat-Field Correction feature not supported |
| a2A5328-15umBAS | Flat-Field Correction feature not supported |
| a2A5328-15umPRO | Flat-Field Correction feature not supported |
| a2A5328-19mgc | Flat-Field Correction feature not supported |
| a2A5328-19mgm | Flat-Field Correction feature not supported |
| a2A5328-22g5cBAS | Flat-Field Correction feature not supported |
| a2A5328-22g5mBAS | Flat-Field Correction feature not supported |
| a2A5328-35cc | Flat-Field Correction feature not supported |
| a2A5328-35cm | Flat-Field Correction feature not supported |
| acA640-121gm | Flat-Field Correction feature not supported |
| acA640-300gc | Flat-Field Correction feature not supported |
| acA640-300gm | Flat-Field Correction feature not supported |
| acA640-750uc | Flat-Field Correction feature not supported |
| acA640-750um | Flat-Field Correction feature not supported |
| acA720-290gc | Flat-Field Correction feature not supported |
| acA720-290gm | Flat-Field Correction feature not supported |
| acA720-520uc | Flat-Field Correction feature not supported |
| acA720-520um | Flat-Field Correction feature not supported |
| acA800-200gc | Flat-Field Correction feature not supported |
| acA800-200gm | Flat-Field Correction feature not supported |
| acA800-510uc | Flat-Field Correction feature not supported |
| acA800-510um | Flat-Field Correction feature not supported |
| acA1280-60gc | Flat-Field Correction feature not supported |
| acA1280-60gm | Flat-Field Correction feature not supported |
| acA1300-60gc | Flat-Field Correction feature not supported |
| acA1300-60gm | Flat-Field Correction feature not supported |
| acA1300-60gmNIR | Flat-Field Correction feature not supported |
| acA1300-75gc | Flat-Field Correction feature not supported |
| acA1300-75gm | Flat-Field Correction feature not supported |
| acA1300-200uc | Flat-Field Correction feature not supported |
| acA1300-200um | Flat-Field Correction feature not supported |
| acA1440-73gc | Flat-Field Correction feature not supported |
| acA1440-73gm | Flat-Field Correction feature not supported |
| acA1440-220uc | Flat-Field Correction feature not supported |
| acA1440-220um | Flat-Field Correction feature not supported |
| acA1600-60gc | Flat-Field Correction feature not supported |
| acA1600-60gm | Flat-Field Correction feature not supported |
| acA1920-25gc | Flat-Field Correction feature not supported |
| acA1920-25gm | Flat-Field Correction feature not supported |
| acA1920-25uc | Flat-Field Correction feature not supported |
| acA1920-25um | Flat-Field Correction feature not supported |
| acA1920-40gc | Flat-Field Correction feature not supported |
| acA1920-40gm | Flat-Field Correction feature not supported |
| acA1920-40uc | Flat-Field Correction feature not supported |
| acA1920-40ucMED | Flat-Field Correction feature not supported |
| acA1920-40um | Flat-Field Correction feature not supported |
| acA1920-40umMED | Flat-Field Correction feature not supported |
| acA1920-48gc | Flat-Field Correction feature not supported |
| acA1920-48gm | Flat-Field Correction feature not supported |
| acA1920-50gc | Flat-Field Correction feature not supported |
| acA1920-50gm | Flat-Field Correction feature not supported |
| acA1920-150uc | Flat-Field Correction feature not supported |
| acA1920-150um | Flat-Field Correction feature not supported |
| acA1920-155uc | Flat-Field Correction feature not supported |
| acA1920-155ucMED | Flat-Field Correction feature not supported |
| acA1920-155um | Flat-Field Correction feature not supported |
| acA1920-155umMED | Flat-Field Correction feature not supported |
| acA2000-50gc | Flat-Field Correction feature not supported |
| acA2000-50gm | Flat-Field Correction feature not supported |
| acA2000-165uc | Flat-Field Correction feature not supported |
| acA2000-165um | Flat-Field Correction feature not supported |
| acA2040-25gc | Flat-Field Correction feature not supported |
| acA2040-25gm | Flat-Field Correction feature not supported |
| acA2040-25gmNIR | Flat-Field Correction feature not supported |
| acA2040-35gc | Flat-Field Correction feature not supported |
| acA2040-35gm | Flat-Field Correction feature not supported |
| acA2040-55uc | Flat-Field Correction feature not supported |
| acA2040-55um | Flat-Field Correction feature not supported |
| acA2040-90uc | Flat-Field Correction feature not supported |
| acA2040-90um | Flat-Field Correction feature not supported |
| acA2040-90umNIR | Flat-Field Correction feature not supported |
| acA2040-120uc | Flat-Field Correction feature not supported |
| acA2040-120um | Flat-Field Correction feature not supported |
| acA2440-20gc | Flat-Field Correction feature not supported |
| acA2440-20gm | Flat-Field Correction feature not supported |
| acA2440-35uc | Flat-Field Correction feature not supported |
| acA2440-35ucMED | Flat-Field Correction feature not supported |
| acA2440-35um | Flat-Field Correction feature not supported |
| acA2440-35umMED | Flat-Field Correction feature not supported |
| acA2440-75uc | Flat-Field Correction feature not supported |
| acA2440-75ucMED | Flat-Field Correction feature not supported |
| acA2440-75um | Flat-Field Correction feature not supported |
| acA2440-75umMED | Flat-Field Correction feature not supported |
| acA2500-14gc | Flat-Field Correction feature not supported |
| acA2500-14gm | Flat-Field Correction feature not supported |
| acA2500-14uc | Flat-Field Correction feature not supported |
| acA2500-14um | Flat-Field Correction feature not supported |
| acA2500-20gc | Flat-Field Correction feature not supported |
| acA2500-20gcMED | Flat-Field Correction feature not supported |
| acA2500-20gm | Flat-Field Correction feature not supported |
| acA2500-20gmMED | Flat-Field Correction feature not supported |
| acA2500-60uc | Flat-Field Correction feature not supported |
| acA2500-60um | Flat-Field Correction feature not supported |
| acA3088-16gc | Flat-Field Correction feature not supported |
| acA3088-16gm | Flat-Field Correction feature not supported |
| acA3088-57uc | Flat-Field Correction feature not supported |
| acA3088-57ucMED | Flat-Field Correction feature not supported |
| acA3088-57um | Flat-Field Correction feature not supported |
| acA3088-57umMED | Flat-Field Correction feature not supported |
| acA3800-10gc | Flat-Field Correction feature not supported |
| acA3800-10gm | Flat-Field Correction feature not supported |
| acA3800-14uc | Flat-Field Correction feature not supported |
| acA3800-14um | Flat-Field Correction feature not supported |
| acA4024-8gc | Flat-Field Correction feature not supported |
| acA4024-8gm | Flat-Field Correction feature not supported |
| acA4024-29uc | Flat-Field Correction feature not supported |
| acA4024-29um | Flat-Field Correction feature not supported |
| acA4096-11gc | Flat-Field Correction feature not supported |
| acA4096-11gm | Flat-Field Correction feature not supported |
| acA4096-30uc | Flat-Field Correction feature not supported |
| acA4096-30ucMED | Flat-Field Correction feature not supported |
| acA4096-30um | Flat-Field Correction feature not supported |
| acA4096-30umMED | Flat-Field Correction feature not supported |
| acA4096-40uc | Flat-Field Correction feature not supported |
| acA4096-40ucMED | Flat-Field Correction feature not supported |
| acA4096-40um | Flat-Field Correction feature not supported |
| acA4096-40umMED | Flat-Field Correction feature not supported |
| acA4112-8gc | Flat-Field Correction feature not supported |
| acA4112-8gm | Flat-Field Correction feature not supported |
| acA4112-20uc | Flat-Field Correction feature not supported |
| acA4112-20ucMED | Flat-Field Correction feature not supported |
| acA4112-20um | Flat-Field Correction feature not supported |
| acA4112-20umMED | Flat-Field Correction feature not supported |
| acA4112-30uc | Flat-Field Correction feature not supported |
| acA4112-30ucMED | Flat-Field Correction feature not supported |
| acA4112-30um | Flat-Field Correction feature not supported |
| acA4112-30umMED | Flat-Field Correction feature not supported |
| acA5472-5gc | Flat-Field Correction feature not supported |
| acA5472-5gm | Flat-Field Correction feature not supported |
| acA5472-17uc | Flat-Field Correction feature not supported |
| acA5472-17ucMED | Flat-Field Correction feature not supported |
| acA5472-17um | Flat-Field Correction feature not supported |
| acA5472-17umMED | Flat-Field Correction feature not supported |
| boA1936-400cc | Flat-Field Correction feature not supported |
| boA1936-400cm | Flat-Field Correction feature not supported |
| boA2448-250cc | Flat-Field Correction feature not supported |
| boA2448-250cm | Flat-Field Correction feature not supported |
| boA2832-190cc | Flat-Field Correction feature not supported |
| boA2832-190cm | Flat-Field Correction feature not supported |
| boA4096-93cc | Flat-Field Correction feature not supported |
| boA4096-93cm | Flat-Field Correction feature not supported |
| boA4096-180cc | Flat-Field Correction feature not supported |
| boA4096-180cm | Flat-Field Correction feature not supported |
| boA4112-68cc | Flat-Field Correction feature not supported |
| boA4112-68cm | Flat-Field Correction feature not supported |
| boA4500-45cc | Flat-Field Correction feature not supported |
| boA4500-45cm | Flat-Field Correction feature not supported |
| boA4504-100cc | Flat-Field Correction feature not supported |
| boA4504-100cm | Flat-Field Correction feature not supported |
| boA5056-95cm | Flat-Field Correction feature not supported |
| boA5120-150cc | Block-based Flat-Field Correction Column-based Flat-Field Correction |
| boA5120-150cm | Block-based Flat-Field Correction Column-based Flat-Field Correction |
| boA5120-230cc | Block-based Flat-Field Correction Column-based Flat-Field Correction |
| boA5120-230cm | Block-based Flat-Field Correction Column-based Flat-Field Correction |
| boA5320-150cc | Flat-Field Correction feature not supported |
| boA5320-150cm | Flat-Field Correction feature not supported |
| boA5328-100cc | Flat-Field Correction feature not supported |
| boA5328-100cm | Flat-Field Correction feature not supported |
| boA6500-36cc | Flat-Field Correction feature not supported |
| boA6500-36cm | Flat-Field Correction feature not supported |
| boA8100-16cc | Flat-Field Correction feature not supported |
| boA8100-16cm | Flat-Field Correction feature not supported |
| boA9344-30cc | Block-based Flat-Field Correction Column-based Flat-Field Correction |
| boA9344-30cm | Block-based Flat-Field Correction Column-based Flat-Field Correction |
| boA9344-70cc | Block-based Flat-Field Correction Column-based Flat-Field Correction |
| boA9344-70cm | Block-based Flat-Field Correction Column-based Flat-Field Correction |
| boA13440-17cm | Flat-Field Correction feature not supported |
| daA720-520uc | Flat-Field Correction feature not supported |
| daA720-520um | Flat-Field Correction feature not supported |
| daA1280-54uc | Flat-Field Correction feature not supported |
| daA1280-54um | Flat-Field Correction feature not supported |
| daA1440-220uc | Flat-Field Correction feature not supported |
| daA1440-220um | Flat-Field Correction feature not supported |
| daA1600-60uc | Flat-Field Correction feature not supported |
| daA1600-60um | Flat-Field Correction feature not supported |
| daA1920-15um | Flat-Field Correction feature not supported |
| daA1920-30uc | Flat-Field Correction feature not supported |
| daA1920-30um | Flat-Field Correction feature not supported |
| daA1920-160uc | Flat-Field Correction feature not supported |
| daA1920-160um | Flat-Field Correction feature not supported |
| daA2448-70uc | Flat-Field Correction feature not supported |
| daA2448-70um | Flat-Field Correction feature not supported |
| daA2500-14uc | Flat-Field Correction feature not supported |
| daA2500-14um | Flat-Field Correction feature not supported |
| daA3840-45uc | Flat-Field Correction feature not supported |
| daA3840-45um | Flat-Field Correction feature not supported |
| dmA720-290gc | Flat-Field Correction feature not supported |
| dmA720-290gm | Flat-Field Correction feature not supported |
| dmA1440-73gc | Flat-Field Correction feature not supported |
| dmA1440-73gm | Flat-Field Correction feature not supported |
| dmA1920-51gc | Flat-Field Correction feature not supported |
| dmA1920-51gm | Flat-Field Correction feature not supported |
| dmA2048-37gc | Flat-Field Correction feature not supported |
| dmA2048-37gm | Flat-Field Correction feature not supported |
| dmA2448-23gc | Flat-Field Correction feature not supported |
| dmA2448-23gm | Flat-Field Correction feature not supported |
| dmA2840-14gc | Flat-Field Correction feature not supported |
| dmA2840-14gm | Flat-Field Correction feature not supported |
| dmA3536-9gc | Flat-Field Correction feature not supported |
| dmA3536-9gm | Flat-Field Correction feature not supported |
| dmA4096-9gc | Flat-Field Correction feature not supported |
| dmA4096-9gm | Flat-Field Correction feature not supported |
| puA1280-54uc | Flat-Field Correction feature not supported |
| puA1280-54um | Flat-Field Correction feature not supported |
| puA1600-60uc | Flat-Field Correction feature not supported |
| puA1600-60um | Flat-Field Correction feature not supported |
| puA1920-30uc | Flat-Field Correction feature not supported |
| puA1920-30um | Flat-Field Correction feature not supported |
| puA2500-14uc | Flat-Field Correction feature not supported |
| puA2500-14um | Flat-Field Correction feature not supported |
| r2L2048-29gc | Flat-Field Correction feature not supported |
| r2L2048-58gm | Flat-Field Correction feature not supported |
| r2L2048-62cc | Flat-Field Correction feature not supported |
| r2L2048-62g5c | Flat-Field Correction feature not supported |
| r2L2048-172cm | Flat-Field Correction feature not supported |
| r2L2048-172g5m | Flat-Field Correction feature not supported |
| r2L4096-14gc | Flat-Field Correction feature not supported |
| r2L4096-29gm | Flat-Field Correction feature not supported |
| r2L4096-42cc | Flat-Field Correction feature not supported |
| r2L4096-42g5c | Flat-Field Correction feature not supported |
| r2L4096-84cm | Flat-Field Correction feature not supported |
| r2L4096-84g5m | Flat-Field Correction feature not supported |
| r2L8192-80cc | Flat-Field Correction feature not supported |
| r2L8192-240cm | Flat-Field Correction feature not supported |
| r2L16384-60cc | Flat-Field Correction feature not supported |
| r2L16384-120cm | Flat-Field Correction feature not supported |
| r2T16416-500cm | Flat-Field Correction feature not supported |
サンプルコード#
Block-Based Flat-Field Correction#
// NOTE: Valid for selected ace 2 cameras. Check the "Specifics" section
// Set the flat-field correction mode to On
camera.BslFlatFieldCorrectionMode.SetValue(BslFlatFieldCorrectionMode_On);
// Set the desired index number of the set to be enabled
camera.BslFlatFieldCorrectionSetIndex.SetValue(BslFlatFieldCorrectionSetIndex_1);
// NOTE: Valid for boost V cameras
// Set the type of flat-field correction to Block-Based
camera.BslFlatFieldCorrectionSelector.SetValue(BslFlatFieldCorrectionSelector_BlockBased);
// Set the flat-field correction mode to On
camera.BslFlatFieldCorrectionMode.SetValue(BslFlatFieldCorrectionMode_On);
// Set the desired index number of the set to be created
camera.BslFlatFieldCorrectionSetIndex.SetValue(BslFlatFieldCorrectionSetIndex_1);
// Create new flat-field correction data for the flat-field correction set selected
camera.BslFlatFieldCorrectionSetCreate.Execute();
// Save the correction data to the camera's flash memory
camera.BslFlatFieldCorrectionSetSave.Execute();
INodeMap& nodemap = camera.GetNodeMap();
// NOTE: Valid for selected ace 2 cameras. Check the "Specifics" section
// Set the flat-field correction mode to On
CEnumParameter(nodemap, "BslFlatFieldCorrectionMode").SetValue("On");
// Set the desired index number of the set to be enabled
CEnumParameter(nodemap, "BslFlatFieldCorrectionSetIndex").SetValue("");
// NOTE: Valid for boost V cameras
// Set the type of flat-field correction to Block-Based
CEnumParameter(nodemap, "BslFlatFieldCorrectionSelector").SetValue("BlockBased");
// Set the flat-field correction mode to On
CEnumParameter(nodemap, "BslFlatFieldCorrectionMode").SetValue("On");
// Set the desired index number of the set to be created
CEnumParameter(nodemap, "BslFlatFieldCorrectionSetIndex").SetValue("");
// Create new flat-field correction data for the flat-field correction set selected
CCommandParameter(nodemap, "BslFlatFieldCorrectionSetCreate").Execute();
// Save the correction data to the camera's flash memory
CCommandParameter(nodemap, "BslFlatFieldCorrectionSetSave").Execute();
// NOTE: Valid for selected ace 2 cameras. Check the "Specifics" section
// Set the flat-field correction mode to On
camera.Parameters[PLCamera.BslFlatFieldCorrectionMode].SetValue(PLCamera.BslFlatFieldCorrectionMode.On);
// Set the desired index number of the set to be enabled
camera.Parameters[PLCamera.BslFlatFieldCorrectionSetIndex].SetValue(PLCamera.BslFlatFieldCorrectionSetIndex.);
// NOTE: Valid for boost V cameras
// Set the type of flat-field correction to Block-Based
camera.Parameters[PLCamera.BslFlatFieldCorrectionSelector].SetValue(PLCamera.BslFlatFieldCorrectionSelector.BlockBased);
// Set the flat-field correction mode to On
camera.Parameters[PLCamera.BslFlatFieldCorrectionMode].SetValue(PLCamera.BslFlatFieldCorrectionMode.On);
// Set the desired index number of the set to be created
camera.Parameters[PLCamera.BslFlatFieldCorrectionSetIndex].SetValue(PLCamera.BslFlatFieldCorrectionSetIndex.);
// Create new flat-field correction data for the flat-field correction set selected
camera.Parameters[PLCamera.BslFlatFieldCorrectionSetCreate].Execute();
// Save the correction data to the camera's flash memory
camera.Parameters[PLCamera.BslFlatFieldCorrectionSetSave].Execute();
/* Macro to check for errors */
#define CHECK(errc) if (GENAPI_E_OK != errc) printErrorAndExit(errc)
GENAPIC_RESULT errRes = GENAPI_E_OK; /* Return value of pylon methods */
/* NOTE: Valid for selected ace 2 cameras. Check the "Specifics" section */
/* Set the flat-field correction mode to On */
errRes = PylonDeviceFeatureFromString(hdev, "BslFlatFieldCorrectionMode", "On");
CHECK(errRes);
/* Set the desired index number of the set to be enabled */
errRes = PylonDeviceFeatureFromString(hdev, "BslFlatFieldCorrectionSetIndex", "");
CHECK(errRes);
/* NOTE: Valid for boost V cameras */
/* Set the type of flat-field correction to Block-Based */
errRes = PylonDeviceFeatureFromString(hdev, "BslFlatFieldCorrectionSelector", "BlockBased");
CHECK(errRes);
/* Set the flat-field correction mode to On */
errRes = PylonDeviceFeatureFromString(hdev, "BslFlatFieldCorrectionMode", "On");
CHECK(errRes);
/* Set the desired index number of the set to be created */
errRes = PylonDeviceFeatureFromString(hdev, "BslFlatFieldCorrectionSetIndex", "");
CHECK(errRes);
/* Create new flat-field correction data for the flat-field correction set selected */
errRes = PylonDeviceExecuteCommandFeature(hdev, "BslFlatFieldCorrectionSetCreate");
CHECK(errRes);
/* Save the correction data to the camera's flash memory */
errRes = PylonDeviceExecuteCommandFeature(hdev, "BslFlatFieldCorrectionSetSave");
CHECK(errRes);
# NOTE: Valid for selected ace 2 cameras. Check the "Specifics" section
# Set the flat-field correction mode to On
camera.BslFlatFieldCorrectionMode.Value = "On"
# Set the desired index number of the set to be enabled
camera.BslFlatFieldCorrectionSetIndex.Value = ""
# NOTE: Valid for boost V cameras
# Set the type of flat-field correction to Block-Based
camera.BslFlatFieldCorrectionSelector.Value = "BlockBased"
# Set the flat-field correction mode to On
camera.BslFlatFieldCorrectionMode.Value = "On"
# Set the desired index number of the set to be created
camera.BslFlatFieldCorrectionSetIndex.Value = ""
# Create new flat-field correction data for the flat-field correction set selected
camera.BslFlatFieldCorrectionSetCreate.Execute()
# Save the correction data to the camera's flash memory
camera.BslFlatFieldCorrectionSetSave.Execute()
Column-Based Flat-Field Correction#
// Example: Set all correction values for all columns
// Dark signal non-uniformity (DSNU) coefficient
// CalculatedDSNU[0..width-1]
// Photo response non-uniformity (PRNU) coefficient
// CalculatedPRNU[0..width-1]
for (x=0; ++x; x<width)
{
camera.BslFlatFieldCorrectionCoeffX.SetValue(x);
camera.BslFlatFieldCorrectionCoeffDSNU.SetValue(CalculatedDSNU[x]);
camera.BslFlatFieldCorrectionCoeffPRNU.SetValue(CalculatedPRNU[x]);
}
// Set the global dark offset value
camera.BslFlatFieldCorrectionUserGD.SetValue(40);
// Save the settings to the camera's flash memory
camera.BslFlatFieldCorrectionSaveToFlash.Execute();
// Set the type of flat-field correction to Column-Based
camera.BslFlatFieldCorrectionSelector.SetValue(BslFlatFieldCorrectionSelector_ColumnBased);
// Set the flat-field correction mode
camera.BslFlatFieldCorrectionMode.SetValue(BslFlatFieldCorrectionMode_On);
このサンプルコードは、C++言語でのみ使用できます。
pylon Viewerを使用して、パラメーターを簡単に設定することもできます。