Impact Acquire SDK .NET
CameraDescriptionDigital Class Referencesealed

A class to describe a non-standard digital video signal (Device specific interface layout only). More...

Inheritance diagram for CameraDescriptionDigital:
[legend]

Public Member Functions

TDMR_ERROR copyDescription (String newName)
 Creates a new camera description list as a copy of the current one.
 
TDMR_ERROR exportDescription ()
 Stores the current camera description on disk.
 
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.
 
TDMR_ERROR importDescription ()
 Updates a camera description with the data stored in a previous session or with the original default data.
 
void restoreDefault ()
 Restores the default for every component of this collection.
 

Public Attributes

readonly PropertyI aoiHeight = new PropertyI()
 An integer property defining the number of active lines to capture from the camera.
 
readonly PropertyI aoiStartX = new PropertyI()
 An integer property defining the X-offset in pixels to the first active pixel to capture.
 
readonly PropertyI aoiStartY = new PropertyI()
 An integer property defining the Y-offset in lines to the first active line to capture.
 
readonly PropertyI aoiWidth = new PropertyI()
 An integer property defining the number of active pixels to capture per line.
 
readonly EnumPropertyI< TBayerMosaicParitybayerParity = new EnumPropertyI<TBayerMosaicParity>()
 An enumerated integer property defining the start pixel for a camera delivering an unconverted bayer image.
 
readonly PropertyI bitsPerPixel = new PropertyI()
 An integer property defining the number of bits per pixel currently transmitted by this camera.
 
readonly EnumPropertyI< TCameraDataFormatformat = new EnumPropertyI<TCameraDataFormat>()
 An enumerated integer property defining the data format the camera is sending image data.
 
readonly EnumPropertyI< TCameraExternalSyncEdgeframeSync = new EnumPropertyI<TCameraExternalSyncEdge>()
 An enumerated integer property defining the edge valid for the frame sync signal of this camera.
 
readonly EnumPropertyI< TCameraInterlacedTypeinterlacedType = new EnumPropertyI<TCameraInterlacedType>()
 An enumerated integer property defining how the camera transmits image data.
 
readonly EnumPropertyI< TCameraExternalSyncEdgelineSync = new EnumPropertyI<TCameraExternalSyncEdge>()
 An enumerated integer property defining the edge valid for the line sync. of this camera.
 
readonly PropertyS name = new PropertyS()
 A string property (read-only) containing the name of this camera description list.
 
readonly EnumPropertyI< TCameraExternalSyncEdgepixelClk = new EnumPropertyI<TCameraExternalSyncEdge>()
 An enumerated integer property defining the edge valid for the pixel clock of this camera.
 
readonly PropertyI pixelsPerCycle = new PropertyI()
 An integer property defining the number of pixels per clock cycle transmitted by this camera.
 
readonly EnumPropertyI< TCameraScanModescanMode = new EnumPropertyI<TCameraScanMode>()
 An enumerated integer property providing information about the sensor of this camera.
 
readonly EnumPropertyI< TCameraOutputvideoOutput = new EnumPropertyI<TCameraOutput>()
 An enumerated integer property defining the type of video outputs this camera offers.
 

Properties

String className [get]
 Returns the class this description is belonging to.
 
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.
 

Detailed Description

A class to describe a non-standard digital video signal (Device specific interface layout only).

This class provides access to all settings specific for non-standard digital video signals.

Note
This class will only be available if mv.impact.acquire.Device.interfaceLayout is set to mv.impact.acquire.TDeviceInterfaceLayout.dilDeviceSpecific before the device is opened.

Member Function Documentation

◆ copyDescription()

TDMR_ERROR copyDescription ( String newName)
inlineinherited

Creates a new camera description list as a copy of the current one.

This function can be used to create a new camera description list. It will create a deep copy of the properties referenced by this camera description and will append the new description to the list of camera descriptions.

Note
This will NOT store the new description permanently. After the driver has been closed, this data will be lost. To store the new list in a way, that it will be available the next time the driver/device is opened again mv.impact.acquire.CameraDescriptionBase.exportDescription must be called with the handle of the newly created description after this function.
See also
mv.impact.acquire.CameraDescriptionBase.exportDescription,
mv.impact.acquire.CameraDescriptionBase.importDescription
Returns
Parameters
[in]newNameThe name for the newly created camera description. This name MUST NOT match a description already existing.

◆ exportDescription()

TDMR_ERROR exportDescription ( )
inlineinherited

Stores the current camera description on disk.

This function can be used to store the current settings of a camera description permanently so that the next time the driver is initialised these settings are restored.

When exporting a camera description a file in XML format will be written to disk.

  • On Windows® camera descriptions will be stored under PUBLIC%/Documents/Balluff/ImpactAcquire/CameraFiles (or MVIMPACT_ACQUIRE_DATA_DIR%/CameraFiles, which will point to the same folder)
  • On Unix based systems this directory will be /opt/ImpactAcquire/data/camerafiles
  • On other platforms these files will end up in the current working directory.

This behaviour can be modified by writing the the property mv.impact.acquire.Device.customDataDirectory before initialising the device.

See also
mv.impact.acquire.CameraDescriptionBase.copyDescription,
mv.impact.acquire.CameraDescriptionBase.importDescription
Returns

◆ 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

◆ importDescription()

TDMR_ERROR importDescription ( )
inlineinherited

Updates a camera description with the data stored in a previous session or with the original default data.

When importing a camera description the device driver will try to retrieve the parameters needed from a XML file.

  • On Windows® camera descriptions MUST be stored under PUBLIC%/Documents/Balluff/ImpactAcquire/CameraFiles (or MVIMPACT_ACQUIRE_DATA_DIR%/CameraFiles, which will point to the same folder)
  • n Unix based systems this directory will be /opt/ImpactAcquire/data/camerafiles
  • On other platforms these files MUST be located in the current working directory.

This behaviour can be modified by writing the the property mv.impact.acquire.Device.customDataDirectory before initialising the device. To get access to a XML description file within the application, these file must be copied to this directory BEFORE the device is initialised. During the init process the device driver will process every file located under this location and will add them to the internal list of descriptions. Every camera located during this process and also descriptions created later on during the program operation can be selected via the property mv.impact.acquire.CameraSettingsFrameGrabber.type.

Note
In order not to bloat the device driver with redundant data it's wise only to store the descriptions needed for the application to run under this location.
Only camera descriptions supported by the capture device will be added to the device drivers internal list and will therefore be accessible via the mv.impact.acquire.CameraDescriptionManager.

To restore the default values valid during the driver was initialised the function mv.impact.acquire.ComponentCollection.restoreDefault can be used as well.

See also
mv.impact.acquire.CameraDescriptionBase.exportDescription,
mv.impact.acquire.CameraDescriptionBase.copyDescription
Returns

◆ 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()
inherited

An integer property defining the number of active lines to capture from the camera.

◆ aoiStartX

readonly PropertyI aoiStartX = new PropertyI()
inherited

An integer property defining the X-offset in pixels to the first active pixel to capture.

◆ aoiStartY

readonly PropertyI aoiStartY = new PropertyI()
inherited

An integer property defining the Y-offset in lines to the first active line to capture.

◆ aoiWidth

readonly PropertyI aoiWidth = new PropertyI()
inherited

An integer property defining the number of active pixels to capture per line.

◆ bayerParity

readonly EnumPropertyI<TBayerMosaicParity> bayerParity = new EnumPropertyI<TBayerMosaicParity>()
inherited

An enumerated integer property defining the start pixel for a camera delivering an unconverted bayer image.

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

◆ bitsPerPixel

readonly PropertyI bitsPerPixel = new PropertyI()
inherited

An integer property defining the number of bits per pixel currently transmitted by this camera.

◆ format

readonly EnumPropertyI<TCameraDataFormat> format = new EnumPropertyI<TCameraDataFormat>()
inherited

An enumerated integer property defining the data format the camera is sending image data.

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

◆ frameSync

An enumerated integer property defining the edge valid for the frame sync signal of this camera.

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

Note
Not every value defined by this enumeration will be supported by this property. Check which values are available by reading the properties translation dictionary with the functions mv.impact.acquire.EnumPropertyI<T>.getTranslationDictString and mv.impact.acquire.EnumPropertyI<T>.getTranslationDictValue. There is a more efficient function mv.impact.acquire.PropertyICameraExternalSyncEdge.getTranslationDict in addition to the functions mentioned above.

◆ interlacedType

readonly EnumPropertyI<TCameraInterlacedType> interlacedType = new EnumPropertyI<TCameraInterlacedType>()
inherited

An enumerated integer property defining how the camera transmits image data.

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

◆ lineSync

An enumerated integer property defining the edge valid for the line sync. of this camera.

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

Note
Not every value defined by this enumeration will be supported by this property. Check which values are available by reading the properties translation dictionary with the functions mv.impact.acquire.EnumPropertyI<T>.getTranslationDictString and mv.impact.acquire.EnumPropertyI<T>.getTranslationDictValue. There is a more efficient function mv.impact.acquire.PropertyICameraExternalSyncEdge.getTranslationDict in addition to the functions mentioned above.

◆ name

readonly PropertyS name = new PropertyS()
inherited

A string property (read-only) containing the name of this camera description list.

◆ pixelClk

An enumerated integer property defining the edge valid for the pixel clock of this camera.

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

Note
Not every value defined by this enumeration will be supported by this property. Check which values are available by reading the properties translation dictionary with the functions mv.impact.acquire.EnumPropertyI<T>.getTranslationDictString and mv.impact.acquire.EnumPropertyI<T>.getTranslationDictValue. There is a more efficient function mv.impact.acquire.PropertyICameraExternalSyncEdge.getTranslationDict in addition to the functions mentioned above.

◆ pixelsPerCycle

readonly PropertyI pixelsPerCycle = new PropertyI()
inherited

An integer property defining the number of pixels per clock cycle transmitted by this camera.

This corresponds the number of taps used by the camera in the described configuration.

◆ scanMode

readonly EnumPropertyI<TCameraScanMode> scanMode = new EnumPropertyI<TCameraScanMode>()
inherited

An enumerated integer property providing information about the sensor of this camera.

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

◆ videoOutput

readonly EnumPropertyI<TCameraOutput> videoOutput = new EnumPropertyI<TCameraOutput>()
inherited

An enumerated integer property defining the type of video outputs this camera offers.

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

Note
This property will be read-only for camera descriptions of type mv.impact.acquire.CameraDescriptionCameraLink and mv.impact.acquire.CameraDescriptionSDI as for these camera types the video output depends on certain other parameters according to the corresponding standard.

Property Documentation

◆ className

String className
getinherited

Returns the class this description is belonging to.

Returns
The class this description is belonging to.

◆ 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.