Impact Acquire SDK Java
LUTParameters Class Reference

Properties for configuring settings belonging to a certain LUT (Look Up Table) to be applied to a captured image. More...

Inheritance diagram for LUTParameters:
[legend]

Public Member Functions

synchronized void delete ()
 
PropertyI getDirectValues ()
 An integer property which can be used to directly define a LUT.
 
PropertyF getGamma ()
 A float property which can be used to set the gamma value.
 
PropertyF getGammaAlpha ()
 A float property which can be used to set the gammaAlpha value.
 
PropertyI getGammaInverter ()
 An enumerated integer property defining whether the calculated gamma correction function shall be inverted or not.
 
PropertyI getGammaMode ()
 An enumerated integer property which can be used to configure the LUT(Look Up Table) gamma mode.
 
PropertyI getGammaStartThreshold ()
 An integer property which can be used to define a start threshold above which the gamma correction formula shall be used in mvIMPACT.acquire.LUTParameters.getGammaMode() mvIMPACT.acquire.TLUTGammaMode.LUTgmLinearStart.
 
PropertyI getInputValues ()
 An integer property to define the input values for sampling points for interpolated LUT transformations.
 
PropertyI getOutputValues ()
 An integer property to define the output values for sampling points for interpolated LUT transformations.
 
PropertyI getValueCount ()
 An integer property to define the number of sampling points for interpolated LUT transformations.
 
int hObj ()
 Returns a unique identifier for the component collection referenced by this object.
 
ComponentCollection restoreDefault ()
 Restores the default for every component of this collection.
 

Protected Member Functions

void finalize ()
 
 LUTParameters (long cPtr, boolean cMemoryOwn)
 

Static Protected Member Functions

static long swigRelease (ComponentCollection obj)
 
static long swigRelease (LUTParameters obj)
 

Protected Attributes

transient boolean swigCMemOwn
 

Detailed Description

Properties for configuring settings belonging to a certain LUT (Look Up Table) to be applied to a captured image.

Note
Objects of this class can't be constructed directly. Its parameters can be accessed via an instance of a class derived from mvIMPACT.acquire.ImageProcessing.

Constructor & Destructor Documentation

◆ LUTParameters()

LUTParameters ( long cPtr,
boolean cMemoryOwn )
protected

Member Function Documentation

◆ delete()

synchronized void delete ( )

Reimplemented from ComponentCollection.

◆ finalize()

void finalize ( )
protected

Reimplemented from ComponentCollection.

◆ getDirectValues()

PropertyI getDirectValues ( )

An integer property which can be used to directly define a LUT.

Note
This property will be invisible when mvIMPACT.acquire.ImageProcessing.getLUTEnable() is set to mvIMPACT.acquire.TBoolean.bFalse or if mvIMPACT.acquire.ImageProcessing.getLUTMode() is NOT set to mvIMPACT.acquire.TLUTMode.LUTmDirect.

This property will provide a complete LUT thus e.g. in a LUT mapping to a 10 bit output this property will store 2^10 (1024) values that can be accessed and modified by the user.

◆ getGamma()

PropertyF getGamma ( )

A float property which can be used to set the gamma value.

Gamma correction is explained e.g. in this Wikipedia article: http://en.wikipedia.org/wiki/Gamma_correction.

Note
This property will be invisible when mvIMPACT.acquire.ImageProcessing.getLUTEnable() is set to mvIMPACT.acquire.TBoolean.bFalse or if mvIMPACT.acquire.ImageProcessing.getLUTMode() is NOT set to mvIMPACT.acquire.TLUTMode.LUTmGamma.

The gamma value will be used to calculate the corresponding input -> output transformation LUT.

The following formula will be used:

( ( 1 + gammaAlpha ) * inputValue^(1/gamma) ) - gammaAlpha

◆ getGammaAlpha()

PropertyF getGammaAlpha ( )

A float property which can be used to set the gammaAlpha value.

Refer to mvIMPACT.acquire.LUTParameters.getGamma() to see how this parameter affects the resulting LUT data.

Note
This property will be invisible when mvIMPACT.acquire.ImageProcessing.getLUTEnable() is set to mvIMPACT.acquire.TBoolean.bFalse or if mvIMPACT.acquire.ImageProcessing.getLUTMode() is NOT set to mvIMPACT.acquire.TLUTMode.LUTmGamma.

◆ getGammaInverter()

PropertyI getGammaInverter ( )

An enumerated integer property defining whether the calculated gamma correction function shall be inverted or not.

Valid values for this property are defined by the enumeration mvIMPACT.acquire.TBoolean.

Note
This property will be invisible when mvIMPACT.acquire.ImageProcessing.getLUTEnable() is set to mvIMPACT.acquire.TBoolean.bFalse or if mvIMPACT.acquire.ImageProcessing.getLUTMode() is NOT set to mvIMPACT.acquire.TLUTMode.LUTmGamma.
Attention
This property is mainly provided for compatibility reasons since the original implementation of the Impact Acquire framework and the implementation inside Balluff GmbH GenICam devices introduced later differ. The default behaviour of the Impact Acquire results in the reverse function of the gamma function inside the device firmware thus the gamma value specified here results in the same response as if applying (1/gamma value) to a device. So a gamma value of 2.2 with the inverter switched off this would result in the same response as a gamma value of 0.45 with the inverter switched on. In order not to change the default behaviour of this filter the default value for this property will be mvIMPACT.acquire.TBoolean.bTrue and can be set to mvIMPACT.acquire.TBoolean.bFalse to achieve the same behaviour as implemented for GenICam devices and specified in the SFNC (GenICam Standard Features Naming Convention).
Since
2.38.0

◆ getGammaMode()

PropertyI getGammaMode ( )

An enumerated integer property which can be used to configure the LUT(Look Up Table) gamma mode.

Valid values for this property are defined by the enumeration mvIMPACT.acquire.TLUTGammaMode.

Note
This property will be invisible when mvIMPACT.acquire.ImageProcessing.getLUTEnable() is set to mvIMPACT.acquire.TBoolean.bFalse or if mvIMPACT.acquire.ImageProcessing.getLUTMode() is NOT set to mvIMPACT.acquire.TLUTMode.LUTmGamma.

◆ getGammaStartThreshold()

PropertyI getGammaStartThreshold ( )

An integer property which can be used to define a start threshold above which the gamma correction formula shall be used in mvIMPACT.acquire.LUTParameters.getGammaMode() mvIMPACT.acquire.TLUTGammaMode.LUTgmLinearStart.

Values below that threshold will be calculated using linear interpolation.

Note
This property will be invisible when mvIMPACT.acquire.ImageProcessing.getLUTEnable() is set to mvIMPACT.acquire.TBoolean.bFalse or if mvIMPACT.acquire.ImageProcessing.getLUTMode() is NOT set to mvIMPACT.acquire.TLUTMode.LUTmGamma or if mvIMPACT.acquire.LUTParameters.getGammaMode() is NOT set to mvIMPACT.acquire.TLUTGammaMode.LUTgmLinearStart.

◆ getInputValues()

PropertyI getInputValues ( )

An integer property to define the input values for sampling points for interpolated LUT transformations.

Note
This property will be invisible when mvIMPACT.acquire.ImageProcessing.getLUTEnable() is set to mvIMPACT.acquire.TBoolean.bFalse or if mvIMPACT.acquire.ImageProcessing.getLUTMode() is NOT set to mvIMPACT.acquire.TLUTMode.LUTmInterpolated.

The number of values stored by this property can be changed by writing to the property mvIMPACT.acquire.LUTParameters.getValueCount(). The documentation of this property also provides some example values and resulting transfer characteristics.

◆ getOutputValues()

PropertyI getOutputValues ( )

An integer property to define the output values for sampling points for interpolated LUT transformations.

Note
This property will be invisible when mvIMPACT.acquire.ImageProcessing.getLUTEnable() is set to mvIMPACT.acquire.TBoolean.bFalse or if mvIMPACT.acquire.ImageProcessing.getLUTMode() is NOT set to mvIMPACT.acquire.TLUTMode.LUTmInterpolated.

The number of values stored by this property can be changed by writing to the property mvIMPACT.acquire.LUTParameters.getValueCount(). The documentation of this property also provides some example values and resulting transfer characteristics.

◆ getValueCount()

PropertyI getValueCount ( )

An integer property to define the number of sampling points for interpolated LUT transformations.

Note
This property will be invisible when mvIMPACT.acquire.ImageProcessing.getLUTEnable() is set to mvIMPACT.acquire.TBoolean.bFalse or if mvIMPACT.acquire.ImageProcessing.getLUTMode() is NOT set to mvIMPACT.acquire.TLUTMode.LUTmInterpolated.

At least 2 sampling points are needed, the max. number of sampling points is defined by the bit depth of the input image, thus a 8 bit input image can have no more than 2^8 (256) sampling points. if the max. number of sampling points is used, the behaviour is the same a when working with mvIMPACT.acquire.ImageProcessing.getLUTMode() set to mvIMPACT.acquire.TLUTMode.LUTmDirect.

EXAMPLE

Assuming 4 sampling points in mvIMPACT.acquire.TLUTInterpolationMode.LUTimThreshold mode for an 8 to 8 bit transformation where the following values are used:

indexinput valueoutput value
0064
1128255
21920
32550

This will result in the following transfer function characteristic:

//-----------------------------------------------------------------------------
public void fn( ImageProcessing ip, final int LUTImplementation )
//-----------------------------------------------------------------------------
{
ip.getLUTImplementation().write( LUTImplementation );
if( LUTImplementation == TLUTImplementation.LUTiHardware )
{
}
else if( LUTImplementation == TLUTImplementation.LUTiSoftware )
{
}
LUTParameters LUTAccess = ip.getLUTParameter( 0 );
LUTAccess.getValueCount().write( 4 );
{
IntVector v = new IntVector();
v.add( 0 );
v.add( 128 );
v.add( 192 );
v.add( 255 );
LUTAccess.getInputValues().write( v );
}
{
IntVector v = new IntVector();
v.add( 64 );
v.add( 255 );
v.add( 0 );
v.add( 0 );
LUTAccess.getOutputValues().write( v );
}
}
Base class for image processing related properties.
Definition ImageProcessing.java:17
PropertyI getLUTInterpolationMode()
An enumerated integer property which can be used to configure the LUT (Look Up Table) interpolation m...
Definition ImageProcessing.java:641
PropertyI getLUTEnable()
An enumerated integer property which can be used to enable LUT (Look Up Table) transformations.
Definition ImageProcessing.java:616
PropertyI getLUTMode()
An enumerated integer property which can be used to configure the LUT (Look Up Table) transformation ...
Definition ImageProcessing.java:628
LUTParameters getLUTParameter(long index)
Returns a reference to a set of user definable parameters to configure LUT (Look Up Table) operations...
Definition ImageProcessing.java:1098
PropertyI getLUTMappingHardware()
An enumerated integer property which can be used to configure the LUT (Look Up Table) mapping mode fo...
Definition ImageProcessing.java:666
PropertyI getLUTMappingSoftware()
An enumerated integer property which can be used to configure the LUT (Look Up Table) mapping mode fo...
Definition ImageProcessing.java:679
PropertyI getLUTImplementation()
An enumerated integer property which can be used to configure the LUT (Look Up Table) implementation.
Definition ImageProcessing.java:653
PropertyI getValueCount()
An integer property to define the number of sampling points for interpolated LUT transformations.
Definition LUTParameters.java:305
PropertyI write(int value, int index)
Writes one value to the property.
Definition PropertyI.java:350
Defines a Boolean value type.
Definition TBoolean.java:15
static final int bTrue
On, true or logical high.
Definition TBoolean.java:19
Defines valid LUT(LookUp Table) implementations.
Definition TLUTImplementation.java:15
static final int LUTiSoftware
The mapping of the image data will be done with an optimized software algorithm.
Definition TLUTImplementation.java:23
static final int LUTiHardware
The mapping of the image data will be done in hardware.
Definition TLUTImplementation.java:21
Defines valid LUT(LookUp Table) interpolation modes.
Definition TLUTInterpolationMode.java:15
static final int LUTimThreshold
Maps an image by applying intensity transformation based on a set of given threshold values.
Definition TLUTInterpolationMode.java:17
Defines valid LUT(LookUp Table) mapping modes.
Definition TLUTMapping.java:15
static final int LUTm8To8
8 bit input data will be mapped to 8 bit output data.
Definition TLUTMapping.java:17
Defines valid LUT(LookUp Table) modes.
Definition TLUTMode.java:15
static final int LUTmInterpolated
Maps an image by applying interpolated intensity transformation between a set of given sampling point...
Definition TLUTMode.java:17

Assuming 3 sampling points in mvIMPACT.acquire.TLUTInterpolationMode.LUTimLinear mode for an 8 to 8 bit transformation where the following values are used:

indexinput valueoutput value
0064
1128255
22550

This will result in the following transfer function characteristic:

Assuming 4 sampling points in mvIMPACT.acquire.TLUTInterpolationMode.LUTimCubic mode for an 8 to 8 bit transformation where the following values are used:

indexinput valueoutput value
000
1128255
2192192
32550

This will result in the following transfer function characteristic:

◆ hObj()

int hObj ( )
inherited

Returns a unique identifier for the component collection referenced by this object.

This handle will always reference an object of type mvIMPACT.acquire.ComponentList.

Returns
A unique identifier for the component referenced by this object.

◆ restoreDefault()

ComponentCollection restoreDefault ( )
inherited

Restores the default for every component of this collection.

Calling this function will restore the default value for every component belonging to this collection.

Note
The caller must have the right to modify the component. Otherwise an exception will be thrown.
Returns
A const reference to the component.

◆ swigRelease() [1/2]

static long swigRelease ( ComponentCollection obj)
staticprotectedinherited

◆ swigRelease() [2/2]

static long swigRelease ( LUTParameters obj)
staticprotected

Member Data Documentation

◆ swigCMemOwn

transient boolean swigCMemOwn
protectedinherited