EasyImage::Uniformize

Shading correction is the process of transforming the gray or color component values of an image, using one or two reference images or vectors.

Namespace: Euresys::Open_eVision

[C++]

static void Uniformize(
   const EROIBW8* sourceImage,
   EBW8 pixelReference,
   const EROIBW8* imageReference,
   EROIBW8* destinationImage,
   bool multiplicative
)

static void Uniformize(
   const EROIBW16* sourceImage,
   EBW16 pixelReference,
   const EROIBW16* imageReference,
   EROIBW16* destinationImage,
   bool multiplicative
)

static void Uniformize(
   const EROIC24* sourceImage,
   EC24 pixelReference,
   const EROIC24* imageReference,
   EROIC24* destinationImage,
   bool multiplicative
)

static void Uniformize(
   const EROIBW8* sourceImage,
   EBW8 pixelReference,
   const EBW8Vector* vectorOfPixelReference,
   EROIBW8* destinationImage,
   bool multiplicative
)

static void Uniformize(
   const EROIBW16* sourceImage,
   EBW16 pixelReference,
   const EBW16Vector* vectorOfPixelReference,
   EROIBW16* destinationImage,
   bool multiplicative
)

static void Uniformize(
   const EROIC24* sourceImage,
   EC24 pixelReference,
   const EC24Vector* vectorOfPixelReference,
   EROIC24* destinationImage,
   bool multiplicative
)

static void Uniformize(
   const EROIBW8* sourceImage,
   EBW8 pixelLightReference,
   const EROIBW8* imageLightReference,
   EBW8 pixelDarkReference,
   const EROIBW8* imageDarkReference,
   EROIBW8* destinationImage
)

static void Uniformize(
   const EROIBW16* sourceImage,
   EBW16 pixelLightReference,
   const EROIBW16* imageLightReference,
   EBW16 pixelDarkReference,
   const EROIBW16* imageDarkReference,
   EROIBW16* destinationImage
)

static void Uniformize(
   const EROIC24* sourceImage,
   EC24 pixelLightReference,
   const EROIC24* imageLightReference,
   EC24 pixelDarkReference,
   const EROIC24* imageDarkReference,
   EROIC24* destinationImage
)

static void Uniformize(
   const EROIBW8* sourceImage,
   EBW8 pixelLightReference,
   const EBW8Vector* vectorOfPixelLightReference,
   EBW8 pixelDarkReference,
   const EBW8Vector* vectorOfPixelDarkReference,
   EROIBW8* destinationImage
)

static void Uniformize(
   const EROIBW16* sourceImage,
   EBW16 pixelLightReference,
   const EBW16Vector* vectorOfPixelLightReference,
   EBW16 pixelDarkReference,
   const EBW16Vector* vectorOfPixelDarkReference,
   EROIBW16* destinationImage
)

static void Uniformize(
   const EROIC24* sourceImage,
   EC24 pixelLightReference,
   const EC24Vector* vectorOfPixelLightReference,
   EC24 pixelDarkReference,
   const EC24Vector* vectorOfPixelDarkReference,
   EROIC24* destinationImage
)

Parameters

sourceImage

Pointer to the source image/ROI.

pixelReference

Constant value to transform the reference image or vector into.

imageReference

Pointer to the reference source image/ROI or vector.

destinationImage

Pointer to the destination image/ROI.

multiplicative

true, if the transform is multiplicative (gain); false, if the transform is additive (offset) (by default, true).

vectorOfPixelReference

Constant value to transform the reference image or vector into.

pixelLightReference

Constant value to transform the light reference image or vector into.

imageLightReference

Pointer to the light reference source image/ROI or vector.

pixelDarkReference

Constant value to transform the dark reference image/ROI or vector into.

imageDarkReference

Pointer to the dark reference source image/ROI or vector.

vectorOfPixelLightReference

Constant value to transform the light reference image or vector into.

vectorOfPixelDarkReference

Constant value to transform the dark reference image/ROI or vector into.

Remarks

The intent is to compensate for non-uniform lighting or sensor response non-uniformity by providing images of the background with no foreground object In a general content, the term object should be understood with the meaning of a class instance. In EasyObject, an object is a maximally-sized area of adjacent connected pixels belonging to the layer foreground. present.

In the case of area-scan cameras, the illumination can change anywhere in the field of view, requiring 2D compensation. In the case of line-scan cameras imaging moving parts, illumination remains constant across image rows. Only 1D compensation is required. In this case, the reference illumination is specified as a vector, which is replicated across all image rows.

  • When a single reference image is used, the transform is analog to an adaptive (space-variant) gain or offset (Gain * Intensity or Intensity + Offset); the transform lets the reference image(s) become a specified constant value, i.e. flat field illumination.
  • When two reference images are used, the transform is analog to adaptive gain and offset (Gain * Intensity + Offset); the transform let both reference images become specified constants, i.e. flat field illumination with a correct black reference.

Note. The reference image(s) should be chosen such that they contain no saturated pixel values (remain in the linear domain) and little (filtered out) noise.

EasyImage.Uniformize

Shading correction is the process of transforming the gray or color component values of an image, using one or two reference images or vectors.

Namespace: Euresys.Open_eVision

[C#]

static void Uniformize(
   EROIBW8 sourceImage,
   EBW8 pixelReference,
   EROIBW8 imageReference,
   EROIBW8 destinationImage,
   bool multiplicative
)

static void Uniformize(
   EROIBW16 sourceImage,
   EBW16 pixelReference,
   EROIBW16 imageReference,
   EROIBW16 destinationImage,
   bool multiplicative
)

static void Uniformize(
   EROIC24 sourceImage,
   EC24 pixelReference,
   EROIC24 imageReference,
   EROIC24 destinationImage,
   bool multiplicative
)

static void Uniformize(
   EROIBW8 sourceImage,
   EBW8 pixelReference,
   EBW8Vector vectorOfPixelReference,
   EROIBW8 destinationImage,
   bool multiplicative
)

static void Uniformize(
   EROIBW16 sourceImage,
   EBW16 pixelReference,
   EBW16Vector vectorOfPixelReference,
   EROIBW16 destinationImage,
   bool multiplicative
)

static void Uniformize(
   EROIC24 sourceImage,
   EC24 pixelReference,
   EC24Vector vectorOfPixelReference,
   EROIC24 destinationImage,
   bool multiplicative
)

static void Uniformize(
   EROIBW8 sourceImage,
   EBW8 pixelLightReference,
   EROIBW8 imageLightReference,
   EBW8 pixelDarkReference,
   EROIBW8 imageDarkReference,
   EROIBW8 destinationImage
)

static void Uniformize(
   EROIBW16 sourceImage,
   EBW16 pixelLightReference,
   EROIBW16 imageLightReference,
   EBW16 pixelDarkReference,
   EROIBW16 imageDarkReference,
   EROIBW16 destinationImage
)

static void Uniformize(
   EROIC24 sourceImage,
   EC24 pixelLightReference,
   EROIC24 imageLightReference,
   EC24 pixelDarkReference,
   EROIC24 imageDarkReference,
   EROIC24 destinationImage
)

static void Uniformize(
   EROIBW8 sourceImage,
   EBW8 pixelLightReference,
   EBW8Vector vectorOfPixelLightReference,
   EBW8 pixelDarkReference,
   EBW8Vector vectorOfPixelDarkReference,
   EROIBW8 destinationImage
)

static void Uniformize(
   EROIBW16 sourceImage,
   EBW16 pixelLightReference,
   EBW16Vector vectorOfPixelLightReference,
   EBW16 pixelDarkReference,
   EBW16Vector vectorOfPixelDarkReference,
   EROIBW16 destinationImage
)

static void Uniformize(
   EROIC24 sourceImage,
   EC24 pixelLightReference,
   EC24Vector vectorOfPixelLightReference,
   EC24 pixelDarkReference,
   EC24Vector vectorOfPixelDarkReference,
   EROIC24 destinationImage
)

Parameters

sourceImage

Pointer to the source image/ROI.

pixelReference

Constant value to transform the reference image or vector into.

imageReference

Pointer to the reference source image/ROI or vector.

destinationImage

Pointer to the destination image/ROI.

multiplicative

true, if the transform is multiplicative (gain); false, if the transform is additive (offset) (by default, true).

vectorOfPixelReference

Constant value to transform the reference image or vector into.

pixelLightReference

Constant value to transform the light reference image or vector into.

imageLightReference

Pointer to the light reference source image/ROI or vector.

pixelDarkReference

Constant value to transform the dark reference image/ROI or vector into.

imageDarkReference

Pointer to the dark reference source image/ROI or vector.

vectorOfPixelLightReference

Constant value to transform the light reference image or vector into.

vectorOfPixelDarkReference

Constant value to transform the dark reference image/ROI or vector into.

Remarks

The intent is to compensate for non-uniform lighting or sensor response non-uniformity by providing images of the background with no foreground object present.

In the case of area-scan cameras, the illumination can change anywhere in the field of view, requiring 2D compensation. In the case of line-scan cameras imaging moving parts, illumination remains constant across image rows. Only 1D compensation is required. In this case, the reference illumination is specified as a vector, which is replicated across all image rows.

  • When a single reference image is used, the transform is analog to an adaptive (space-variant) gain or offset (Gain * Intensity or Intensity + Offset); the transform lets the reference image(s) become a specified constant value, i.e. flat field illumination.
  • When two reference images are used, the transform is analog to adaptive gain and offset (Gain * Intensity + Offset); the transform let both reference images become specified constants, i.e. flat field illumination with a correct black reference.

Note. The reference image(s) should be chosen such that they contain no saturated pixel values (remain in the linear domain) and little (filtered out) noise.

EasyImage.Uniformize

Shading correction is the process of transforming the gray or color component values of an image, using one or two reference images or vectors.

Module: open_evision

[Python]

@staticmethod
Uniformize(
    sourceImage: EROIBW8
    pixelReference: EBW8
    imageReference: EROIBW8
    destinationImage: EROIBW8
    multiplicative: bool
) -> None

@staticmethod
Uniformize(
    sourceImage: EROIBW8
    pixelReference: EBW8
    imageReference: EROIBW8
    destinationImage: EROIBW8
) -> None

@staticmethod
Uniformize(
    sourceImage: EROIBW16
    pixelReference: EBW16
    imageReference: EROIBW16
    destinationImage: EROIBW16
    multiplicative: bool
) -> None

@staticmethod
Uniformize(
    sourceImage: EROIBW16
    pixelReference: EBW16
    imageReference: EROIBW16
    destinationImage: EROIBW16
) -> None

@staticmethod
Uniformize(
    sourceImage: EROIC24
    pixelReference: EC24
    imageReference: EROIC24
    destinationImage: EROIC24
    multiplicative: bool
) -> None

@staticmethod
Uniformize(
    sourceImage: EROIC24
    pixelReference: EC24
    imageReference: EROIC24
    destinationImage: EROIC24
) -> None

@staticmethod
Uniformize(
    sourceImage: EROIBW8
    pixelReference: EBW8
    vectorOfPixelReference: EBW8Vector
    destinationImage: EROIBW8
    multiplicative: bool
) -> None

@staticmethod
Uniformize(
    sourceImage: EROIBW8
    pixelReference: EBW8
    vectorOfPixelReference: EBW8Vector
    destinationImage: EROIBW8
) -> None

@staticmethod
Uniformize(
    sourceImage: EROIBW16
    pixelReference: EBW16
    vectorOfPixelReference: EBW16Vector
    destinationImage: EROIBW16
    multiplicative: bool
) -> None

@staticmethod
Uniformize(
    sourceImage: EROIBW16
    pixelReference: EBW16
    vectorOfPixelReference: EBW16Vector
    destinationImage: EROIBW16
) -> None

@staticmethod
Uniformize(
    sourceImage: EROIC24
    pixelReference: EC24
    vectorOfPixelReference: EC24Vector
    destinationImage: EROIC24
    multiplicative: bool
) -> None

@staticmethod
Uniformize(
    sourceImage: EROIC24
    pixelReference: EC24
    vectorOfPixelReference: EC24Vector
    destinationImage: EROIC24
) -> None

@staticmethod
Uniformize(
    sourceImage: EROIBW8
    pixelLightReference: EBW8
    imageLightReference: EROIBW8
    pixelDarkReference: EBW8
    imageDarkReference: EROIBW8
    destinationImage: EROIBW8
) -> None

@staticmethod
Uniformize(
    sourceImage: EROIBW16
    pixelLightReference: EBW16
    imageLightReference: EROIBW16
    pixelDarkReference: EBW16
    imageDarkReference: EROIBW16
    destinationImage: EROIBW16
) -> None

@staticmethod
Uniformize(
    sourceImage: EROIC24
    pixelLightReference: EC24
    imageLightReference: EROIC24
    pixelDarkReference: EC24
    imageDarkReference: EROIC24
    destinationImage: EROIC24
) -> None

@staticmethod
Uniformize(
    sourceImage: EROIBW8
    pixelLightReference: EBW8
    vectorOfPixelLightReference: EBW8Vector
    pixelDarkReference: EBW8
    vectorOfPixelDarkReference: EBW8Vector
    destinationImage: EROIBW8
) -> None

@staticmethod
Uniformize(
    sourceImage: EROIBW16
    pixelLightReference: EBW16
    vectorOfPixelLightReference: EBW16Vector
    pixelDarkReference: EBW16
    vectorOfPixelDarkReference: EBW16Vector
    destinationImage: EROIBW16
) -> None

@staticmethod
Uniformize(
    sourceImage: EROIC24
    pixelLightReference: EC24
    vectorOfPixelLightReference: EC24Vector
    pixelDarkReference: EC24
    vectorOfPixelDarkReference: EC24Vector
    destinationImage: EROIC24
) -> None

Parameters

sourceImage

Pointer to the source image/ROI.

pixelReference

Constant value to transform the reference image or vector into.

imageReference

Pointer to the reference source image/ROI or vector.

destinationImage

Pointer to the destination image/ROI.

multiplicative

true, if the transform is multiplicative (gain); false, if the transform is additive (offset) (by default, true).

vectorOfPixelReference

Constant value to transform the reference image or vector into.

pixelLightReference

Constant value to transform the light reference image or vector into.

imageLightReference

Pointer to the light reference source image/ROI or vector.

pixelDarkReference

Constant value to transform the dark reference image/ROI or vector into.

imageDarkReference

Pointer to the dark reference source image/ROI or vector.

vectorOfPixelLightReference

Constant value to transform the light reference image or vector into.

vectorOfPixelDarkReference

Constant value to transform the dark reference image/ROI or vector into.

Remarks

The intent is to compensate for non-uniform lighting or sensor response non-uniformity by providing images of the background with no foreground object present.

In the case of area-scan cameras, the illumination can change anywhere in the field of view, requiring 2D compensation. In the case of line-scan cameras imaging moving parts, illumination remains constant across image rows. Only 1D compensation is required. In this case, the reference illumination is specified as a vector, which is replicated across all image rows. - When a single reference image is used, the transform is analog to an adaptive (space-variant) gain or offset (Gain * Intensity or Intensity + Offset); the transform lets the reference image(s) become a specified constant value, i.e. flat field illumination. - When two reference images are used, the transform is analog to adaptive gain and offset (Gain * Intensity + Offset); the transform let both reference images become specified constants, i.e. flat field illumination with a correct black reference.

Note. The reference image(s) should be chosen such that they contain no saturated pixel values (remain in the linear domain) and little (filtered out) noise.