Chunks are additional information transferred together with the image (e.g. exposure time during image acquisition, size of the image, etc.
Information |
Selector |
Chunk name |
Type |
---|---|---|---|
Exposure time |
ExposureTime |
Float |
|
Image width |
Width |
Integer |
|
Image height |
Height |
Integer |
|
Pixel format |
PixelFormat |
Enumeration |
|
Gain |
Gain |
Float |
|
Status of the automatic exposure |
BrightnessAutoStatus |
Enumeration |
|
Status of the automatic white balance |
BalanceWhiteAutoStatus |
Enumeration |
|
X position |
OffsetX |
Integer |
|
Y position |
OffsetY |
Integer |
|
Timestamp |
Timestamp |
Integer |
|
Timestamp for the start of the exposure |
ExposureTriggerTimestamp |
Integer |
|
Status of all available line signals |
LineStatusAll |
Integer |
|
Value of the counter |
CounterValue |
Integer |
|
Status of the counter |
CounterStatus |
Enumeration |
|
Index of the sequencer set if sequencer mode is active |
SequencerSetActive |
Integer |
|
Status of the PTP clock |
PtpStatus |
Enumeration |
For more information, see ChunkDataControl.
Switching on chunks
You can activate chunks via the following nodes:
genericC++ |
---|
// Activate chunk data in the payload of the image |
•By activating chunks, the required memory size for each buffer changes and thus the PayloadSize (see Preparing image acquisition: create buffer). This means the buffers have to be created or recreated afterwards. •If chunks are activated, the access to the properties of the buffer object (Width, Height etc.) is not possible. Alternatively, you can use the corresponding camera nodes in this case. Note, however, that these nodes always display the current settings and not exactly the settings of a previously captured image (frame). |
Querying if a buffer has chunks
genericC++ |
---|
bool hasChunks = imageBuffer->HasChunks(); |
Entering the chunk values of the image into the XML tree
If a buffer has chunks, then the values can be automatically entered by IDS peak into the XML tree and are available there via the corresponding nodes.
genericC++ |
---|
nodeMapRemoteDevice->UpdateChunkNodes(imageBuffer); |
Querying a chunk value from the XML tree (e.g. ExposureTime)
genericC++ |
---|
auto chunkValue = nodemapRemoteDevice->FindNode<peak::core::nodes::FloatNode>("ChunkExposureTime")->Value(); |
Complete example