You are here: Start » AVL.NET » AVL.LogarithmImage(AvlNet.Image, AvlNet.Region, float?, float, bool, AvlNet.Image, AvlNet.Profile)
AVL.LogarithmImage(AvlNet.Image, AvlNet.Region, float?, float, bool, AvlNet.Image, AvlNet.Profile)
Computes a natural logarithm of each pixel.
| Namespace: | AvlNet |
|---|---|
| Assembly: | AVL.NET.dll |
Syntax
public static void LogarithmImage( AvlNet.Image inImage, AvlNet.Region inRoi, float? inScale, float inOffset, bool inNormalizeZero, out AvlNet.Image outImage, out AvlNet.Profile diagLutProfile )
Parameters
- inImage
- Type: AvlNet.Image
Input image - inRoi
- Type: AvlNet.Region
Region of interest, or null. - inScale
- Type: System.Nullable<System.Single>
Scaling factor (default: 255), or null. - inOffset
- Type: System.Single
Offset factor - inNormalizeZero
- Type: System.Boolean
Specifies whether the output range should be rescaled to start from 0 - outImage
- Type: AvlNet.Image
Output image - diagLutProfile
- Type: AvlNet.Profile
Profile depicting the resulting look-up table of the logarithm transform
Description
The operation applies logarithmic operator to each pixel of an image. Logarithmic operator is defined as follows:
\[inScale \cdot \frac{log(inOffset + |P(x,y)|)}{log(inOffset + M)}\]
where:
- M is the maximum of the inImage type (i.e. 255 for UInt8, 127 for Int8).
- inScale is the expected maximum value of the transformation. If set to Auto it will result in value 127 for Int8 image and 255 for other image types.
- inOffset value corresponds to the camera's black level. Its default value is equal 1 and causes the strongest possible transform.
When inNormalizeZero is set to True, the result is not only scaled, but also normalized so that pixel value 0 is still transformed into value 0. This assures that the entire output value range is utilized.
Examples
![]() |
![]() |
![]() |
The LogarithmImage performed on the sample image with parameters inScale = 250, inOffset = 50. The middle image inNormalizeZero = False and the left image has inNormalizeZero = True.
Hardware Acceleration
This operation supports automatic parallelization for multicore and multiprocessor systems.
Hardware acceleration settings may be manipulated with Settings class.



