跳转到内容
STAGING SERVER
DEVELOPMENT SERVER

Flat-Field Correction#

The Flat-Field Correction (FFC) camera feature allows you to remove non-uniformities in the image caused by differing light sensitivities of the sensor pixels and by illumination and illumination optics.

该功能的使用#

Non-uniformities in images are a common occurrence in digital imaging. These are caused by variations in the brightness output of sensor pixels as well as by the influence of light source and illuminations optics. Flat-field correction minimizes these non-uniformities by correcting the original pixel values, thus improving image quality and subsequent analysis.

Before flat-field correction can be applied, the camera needs to be calibrated. This involves calculating appropriate correction data. With this, the original pixels can be corrected during image acquisition resulting in an improved image.

The implementation of the Flat-Field Correction feature varies depending on the camera:

Types of Flat-Field Correction#

Depending on the camera model, Basler cameras support block-based and column-based flat-field correction.

Block-based flat-field correction corrects image artifacts caused by photo response non-uniformities (PRNU) and low frequency variations deriving from the illumination and illumination optics. Block-based FFC "divides" the sensor into square blocks consisting of a certain number of pixels. During calibration, correction data is calculated for each square block, which is then interpolated and applied to each pixel of the sensor.

Column-based flat-field correction corrects image artifacts caused by dark signal non-uniformities (DSNU) and photo response non-uniformities (PRNU). For each column of the sensor, a correction value for both DSNU and PRNU must be calculated during calibration. During image acquisition, these column-wise correction values are applied to the original pixel values.

The following drawing shows the different principles of block-based and column-based flat-field correction.

Types of Flat-Field Correction

Creating Correction Values (CV)#

Block-based flat-field correction: A sequence of bright field (flat field) images is taken to detect photo response non-uniformities (PRNU) and low frequency artifacts caused by, e.g., lighting or optics. The correction values (CV) are calculated by the camera and saved to the camera's flash memory.

Block-Based Flat-Field Correction Step 1

Column-based flat-field correction: A sequence of dark field images is taken (A) to detect dark signal non-uniformities (DSNU) (dark current noise) and a sequence of bright field (flat field) images is taken (B) to detect photo response non-uniformities (PRNU). The correction values (CV) must then be calculated by the user and saved to the camera's flash memory.

Column-Based Flat-Field Correction Step 1

Applying Flat-Field Correction#

The image artifacts are removed, provided that the flat-field correction feature is enabled. The original pixel values (OV) are corrected resulting in an improved image (Resulting Values, RV).

Block or Column-Based Flat-Field Correction Step 2

ace 2 相机#

Depending on your ace 2 camera model, block-based flat-field correction is available.

信息

This feature is complemented by the Block-Based Flat-Field Correction feature of the pylon Viewer.

Block-Based Flat-Field Correction#

Creating a Flat-Field Correction Set#

This step involves calibrating the camera and storing the calculated correction values in a file referred to as a flat-field correction set. To do this, use the Block-Based Flat-Field Correction feature of the pylon Viewer.

You can create up to 4 correction sets.

Enabling a Flat-Field Correction Set#

To enable a flat-field correction set:

  1. 设置 BslFlatFieldCorrectionMode parameter to On.
  2. 设置 BslFlatFieldCorrectionSetIndex parameter to the index number of the set to be used, e.g., index number 2.

    The selected flat-field correction set is enabled automatically.

信息

Changing a flat-field correction set is possible during image acquisition.

boost V 相机#

Basler boost V cameras support block-based flat-field correction and column-based flat-field correction. These two correction principles can be combined or used individually.

Block-Based Flat-Field Correction#

Creating a Flat-Field Correction Set#

This step involves calibrating the camera and storing the calculated correction values in a file referred to as a flat-field correction set. You can create up to 16 correction sets.

You need the following item before you start creating a flat-field correction set:

  • A target with a uniform background, e.g., a white sheet of paper

信息

For best results, adjust the optics, frame rate, exposure time, gain, and camera temperature as you would for normal operation. Basler recommends acquiring the bright field images in your actual application environment.

To create a flat-field correction set:

  1. 设置 Width and Height parameters of the 图像 ROI to their maximum values.
  2. Disable the Decimation and Dual ROI features, if available.
  3. Disable Binning.
  4. Set Reverse X and Reverse Y as you would for later operation.
  5. Illuminate the sensor homogeneously to 70 % saturation, e.g., by placing a white sheet of paper in the camera's entire field of view.
  6. 设置 BslFlatFieldCorrectionSelector parameter to BlockBased.
  7. 设置 BslFlatFieldCorrectionMode parameter to On.
  8. 设置 BslFlatFieldCorrectionSetIndex parameter to the desired index number of the set to be created, e.g., 2.
  9. Click the Continuous Shot button in the toolbar of the pylon Viewer to start image acquisition.
  10. Execute the BslFlatFieldCorrectionSetCreate command to create a new flat-field correction set.
    A sequence of bright images is acquired and evaluated. The resulting correction data are generated and collected in the flat-field correction set selected.
  11. Save the settings to the camera's flash memory by executing the BslFlatFieldCorrectionSetSave command.
    If the flat-field correction set with, e.g., index number 2, already contains correction data, these are overwritten and replaced by the new correction values.

    The created flat-field correction set is enabled automatically.

Enabling a Flat-Field Correction Set#

To enable a flat-field correction set:

  1. 设置 BslFlatFieldCorrectionMode parameter to On.
  2. 设置 BslFlatFieldCorrectionSetIndex parameter to the index number of the set to be used, e.g., index number 2.
  3. Execute the BslFlatFieldCorrectionSetLoad command.

信息

Changing a flat-field correction set is possible during image acquisition. However, slight image artifacts may occur during that process.

Column-Based Flat-Field Correction#

信息

This feature is complemented by the Column-Based Flat-Field Correction feature of the pylon Viewer.

Calculating the Correction Values Using the pylon Viewer#

→ See the Column-Based Flat-Field Correction feature of the pylon Viewer.

Calculating the Correction Values Using the pylon API#

The following mathematical parameters are involved:

  • DMean: mean gray value of all pixels in the dark field image
  • GMean: mean gray value of all pixels in the bright field image
  • DSNU_Coeff(x): dark signal non-uniformity (DSNU) coefficient
  • PRNU_Coeff(x): photo response non-uniformity (PRNU) coefficient
  • UserGD_Offset: user-defined global dark offset

where x is the column index.

信息

For best results, acquire the dark and bright field images in your actual application environment. Be aware that only static effects can be corrected. If you change, e.g., the lens or lighting, you must repeat this procedure.

To calculate the correction values:

  1. Protect the sensor from light, e.g., by placing a plastic cap on the lens, and acquire a sequence of dark images.
  2. Sum up the gray values of all pixels in all acquired images and divide the sum by the total number of pixels. The result is the mean gray value of all pixels in the dark field image (DMean).
  3. Calculate the mean gray value for each column x (D(x)).
  4. Illuminate the sensor homogeneously to 70 % saturation, e.g., by placing a white sheet of paper in the camera's entire field of view, and acquire a sequence of bright images.
  5. Sum up the gray values of all pixels in all acquired images and divide the sum by the total number of pixels. The result is the mean gray value of all pixels in the bright field image (GMean).
  6. Calculate the mean gray value for each column x (G(x)).
  7. If necessary, determine a global dark offset value according to your needs (UserGD_Offset).
  8. For each column x, calculate the coefficients DSNU_Coeff(x) and PRNU_Coeff(x) as follows:

    DSNU And PRNU Correction Formula

  9. Use the calculated values for setting the corresponding camera parameters via the pylon API.

    • Column index (x): BslFlatFieldCorrectionCoeffX
    • DMean: BslFlatFieldCorrectionDMean
    • DSNU_Coeff(x): BslFlatFieldCorrectionCoeffDSNU
    • PRNU_Coeff(x): BslFlatFieldCorrectionCoeffPRNU
    • UserGD_Offset: BslFlatFieldCorrectionUserGD
  10. After having set all correction values for all columns, you can test flat-field correction by acquiring a series of images.

  11. If you're satisfied with the image quality, save the settings to the camera's flash memory by executing the BslFlatFieldCorrectionSaveToFlash command.

Choosing the Flat-Field Correction Type#

即: BslFlatFieldCorrectionSelector allows you choose the flat-field correction type to be used. You can set the parameter to the following values:

Enabling or Disabling Flat-Field Correction#

To enable or disable flat-field correction, set the BslFlatFieldCorrectionMode 参数设置为以下值:

  • On: The camera performs flat-field correction depending on the flat-field correction type chosen.
  • DSNUOnly: The camera performs DSNU correction only.

    信息

    This parameter value is only available when choosing column-based flat-field correction.

  • Off (default): The camera does not perform the flat-field correction type chosen.

详情#

显示所有相机型号

相机型号 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
bo2448-250cm Flat-Field Correction feature not supported
boA2832-190cc Flat-Field Correction feature not supported
bo2832-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
bo4096-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 轻松设置参数。