Impact Acquire SDK .NET
AutoControlParameters Class Referencesealed

A class to control the automatic control parameters of a device(Device specific interface layout only). More...

Inheritance diagram for AutoControlParameters:
[legend]

Public Member Functions

IEnumerable< T > getEnumerable< T > ()
 Returns an enumerator of a certain type that iterates through the collection.
 
IEnumerator< int > GetEnumerator ()
 Returns an enumerator that iterates through the collection.
 
void restoreDefault ()
 Restores the default for every component of this collection.
 

Public Attributes

readonly PropertyI aoiHeight = new PropertyI()
 An integer property defining the height of the rectangle used for the parameter calculation.
 
readonly EnumPropertyI< TAoiModeaoiMode = new EnumPropertyI<TAoiMode>()
 An enumerated integer property defining the which area of the image is used for the calculation of the parameters.
 
readonly PropertyI aoiStartX = new PropertyI()
 An integer property defining the X-offset of the rectangle used for the parameter calculation.
 
readonly PropertyI aoiStartY = new PropertyI()
 An integer property defining the Y-offset of the rectangle used for the parameter calculation.
 
readonly PropertyI aoiWidth = new PropertyI()
 An integer property defining the width of the rectangle.
 
readonly PropertyI controllerDelay_Images = new PropertyI()
 An integer property to influence the speed the AGC and/or AEC control circuit will react and adapt to changes.
 
readonly PropertyF controllerDerivativeTime_ms = new PropertyF()
 The D fraction of the controller.
 
readonly PropertyF controllerGain = new PropertyF()
 The P fraction of the controller.
 
readonly PropertyF controllerIntegralTime_ms = new PropertyF()
 The I fraction of the controller.
 
readonly EnumPropertyI< TAutoControlSpeedcontrollerSpeed = new EnumPropertyI<TAutoControlSpeed>()
 An enumerated integer property defining the speed the control circuit will be operated in.
 
readonly PropertyI desiredAverageGreyValue = new PropertyI()
 An integer property defining the average grey value to be reached within the AOI in the image by the control circuit.
 
readonly PropertyI exposeLowerLimit_us = new PropertyI()
 A float property defining the lower limit for the sensors expose time(in us).
 
readonly PropertyI exposeUpperLimit_us = new PropertyI()
 An integer property defining the upper limit for the sensors expose time in us.
 
readonly PropertyF gainLowerLimit_dB = new PropertyF()
 A float property defining the lower limit for the cameras gain(in dB).
 
readonly PropertyF gainUpperLimit_dB = new PropertyF()
 A float property defining the upper limit for the cameras gain(in dB).
 

Properties

IEnumerable< ComponentcomponentEnumerable [get]
 Returns an enumerator that iterates through the collection.
 
IEnumerable< ComponentListcomponentListEnumerable [get]
 Returns an enumerator that iterates through all the mv.impact.acquire.ComponentList elements in the collection.
 
int hObj [get]
 Returns a unique identifier for the component collection referenced by this object.
 
bool isAvailable [get]
 This function should be called to check if this device offers auto control parameters.
 

Detailed Description

A class to control the automatic control parameters of a device(Device specific interface layout only).

This group contains classes and functions that will be available if the device is used in mv.impact.acquire.TDeviceInterfaceLayout.dilDeviceSpecific interface layout. Currently this class provides access to the properties, which control the way the AGC(A utomatic G ain C ontrol) and the AEC (A utomatic E xpose C ontrol) operates.

The values used to capture the image, which are directly influenced by this properties (e.g. the gain or the exposure time) will be returned as part of the result of the image request.

Note
Not every device will offer the features provided in this class. Before accessing any members and/or properties call the function mv.impact.acquire.AutoControlParameters.isAvailable. If this function returns false, no other member or function call in this class will return valid results.
Instances of these class can't be constructed directly. Its parameters can be accessed via an instance of the class mv.impact.acquire.CameraSettingsBlueDevice.
This class will only be available if mv.impact.acquire.Device.interfaceLayout is set to TDeviceInterfaceLayout.dilDeviceSpecific before the device is opened.

Member Function Documentation

◆ getEnumerable< T >()

IEnumerable< T > getEnumerable< T > ( )
inlineinherited

Returns an enumerator of a certain type that iterates through the collection.

This interface will allow to e.g. write code like this:

Info info = new Info(pDev);
foreach (Property c in info.getEnumerable<Property>())
{
validateProperty(c);
}
A class to query various general information about the device, its driver and other information.
Definition Info.cs:10
A base class for properties.
Definition Property.cs:109

See the frameworks documentation about the System.Collections.IEnumerable interface for more information.

Returns
An enumerator that iterates through the collection

◆ GetEnumerator()

IEnumerator< int > GetEnumerator ( )
inlineinherited

Returns an enumerator that iterates through the collection.

See the frameworks documentation about the System.Collections.IEnumerable interface for more information.

Returns
An enumerator that iterates through the collection

◆ restoreDefault()

void restoreDefault ( )
inlineinherited

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.

Member Data Documentation

◆ aoiHeight

readonly PropertyI aoiHeight = new PropertyI()

An integer property defining the height of the rectangle used for the parameter calculation.

◆ aoiMode

readonly EnumPropertyI<TAoiMode> aoiMode = new EnumPropertyI<TAoiMode>()

An enumerated integer property defining the which area of the image is used for the calculation of the parameters.

Valid values for this property are defined by the enumeration mv.impact.acquire.TAoiMode.

◆ aoiStartX

readonly PropertyI aoiStartX = new PropertyI()

An integer property defining the X-offset of the rectangle used for the parameter calculation.

Example: When setting this property to 5 the first pixel in each line of the resulting rectangle used for the calculation will be pixel number 5 of each line transmitted by the camera.

◆ aoiStartY

readonly PropertyI aoiStartY = new PropertyI()

An integer property defining the Y-offset of the rectangle used for the parameter calculation.

Example: When setting this property to 5 the first line of the resulting rectangle used for the calculation will be line number 5 of the image transmitted by the camera.

◆ aoiWidth

readonly PropertyI aoiWidth = new PropertyI()

An integer property defining the width of the rectangle.

◆ controllerDelay_Images

readonly PropertyI controllerDelay_Images = new PropertyI()

An integer property to influence the speed the AGC and/or AEC control circuit will react and adapt to changes.

While AutoControlParameters.controllerSpeed influences the overall time needed to adjust the controller to a new situation, this property can be used to define a delay when the controller shall start to adapt to a changed situation.

◆ controllerDerivativeTime_ms

readonly PropertyF controllerDerivativeTime_ms = new PropertyF()

The D fraction of the controller.

This feature will only be visible when mv.impact.acquire.AutoControlParameters.controllerSpeed is set to mv.impact.acquire.TAutoControlSpeed.acsUserDefined.

◆ controllerGain

readonly PropertyF controllerGain = new PropertyF()

The P fraction of the controller.

This feature will only be visible when mv.impact.acquire.AutoControlParameters.controllerSpeed is set to mv.impact.acquire.TAutoControlSpeed.acsUserDefined.

◆ controllerIntegralTime_ms

readonly PropertyF controllerIntegralTime_ms = new PropertyF()

The I fraction of the controller.

This feature will only be visible when mv.impact.acquire.AutoControlParameters.controllerSpeed is set to mv.impact.acquire.TAutoControlSpeed.acsUserDefined.

◆ controllerSpeed

readonly EnumPropertyI<TAutoControlSpeed> controllerSpeed = new EnumPropertyI<TAutoControlSpeed>()

An enumerated integer property defining the speed the control circuit will be operated in.

Valid values for this property are defined by the enumeration mv.impact.acquire.TAutoControlSpeed.

Once the controller started to react and adapt itself to a new situation, this property will define how long this adaption will take, while AutoControlParameters.controllerDelay_Images defines the number of images to wait from a detected change to the actual start of the adaption to this new situation.

◆ desiredAverageGreyValue

readonly PropertyI desiredAverageGreyValue = new PropertyI()

An integer property defining the average grey value to be reached within the AOI in the image by the control circuit.

For multi-byte pixel formats like e.g. mv.impact.acquire.TImageBufferPixelFormat.ibpfMono10 this value will refer to the 8 most significant bits of the pixel data, thus e.g a value of 128 for this property will result it the controller trying reach an average grey value of 512 (0x200).

◆ exposeLowerLimit_us

readonly PropertyI exposeLowerLimit_us = new PropertyI()

A float property defining the lower limit for the sensors expose time(in us).

When the AEC is active this value defines the minimum value for the sensors expose time(in us). Even if the controller can reach the desired average grey value, the expose time will never fall below this value.

◆ exposeUpperLimit_us

readonly PropertyI exposeUpperLimit_us = new PropertyI()

An integer property defining the upper limit for the sensors expose time in us.

When the AEC is active this value defines the maximum value for the sensors expose time(in us). Even if the controller can reach the desired average grey value, the expose time will never exceed this value.

◆ gainLowerLimit_dB

readonly PropertyF gainLowerLimit_dB = new PropertyF()

A float property defining the lower limit for the cameras gain(in dB).

When the AGC is active this value defines the minimum value for the cameras gain. Even if the controller can reach the desired average grey value, the gain will never fall below this value.

◆ gainUpperLimit_dB

readonly PropertyF gainUpperLimit_dB = new PropertyF()

A float property defining the upper limit for the cameras gain(in dB).

When the AGC is active this value defines the maximum value for the cameras gain. Even if the controller can reach the desired average grey value, the gain will never exceed this value.

Property Documentation

◆ componentEnumerable

IEnumerable<Component> componentEnumerable
getinherited

Returns an enumerator that iterates through the collection.

This interface will allow to e.g. write code like this:

Info info = new Info(pDev);
foreach (Component c in info.componentEnumerable)
{
Console.WriteLine("{0}", c.name);
}
String name
Returns the name of the component referenced by this object.
Definition ComponentAccess.cs:167
IEnumerable< Component > componentEnumerable
Returns an enumerator that iterates through the collection.
Definition ComponentCollection.cs:202
A base class to implement access to internal driver components.
Definition Component.cs:133

See the frameworks documentation about the System.Collections.IEnumerable interface for more information.

Returns
An enumerator that iterates through the collection

◆ componentListEnumerable

IEnumerable<ComponentList> componentListEnumerable
getinherited

Returns an enumerator that iterates through all the mv.impact.acquire.ComponentList elements in the collection.

This interface will allow to e.g. write code like this:

Info info = new Info(pDev);
{
Console.WriteLine("{0}", cl.name);
}
IEnumerable< ComponentList > componentListEnumerable
Returns an enumerator that iterates through all the mv.impact.acquire.ComponentList elements in the c...
Definition ComponentCollection.cs:229
A class to provide access to component lists.
Definition ComponentList.cs:14

See the frameworks documentation about the System.Collections.IEnumerable interface for more information.

Returns
An enumerator that iterates through the collection

◆ hObj

int hObj
getinherited

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

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

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

◆ isAvailable

bool isAvailable
get

This function should be called to check if this device offers auto control parameters.

Returns
  • true if the device offers the features defined by this object.
  • false otherwise