Data Chunks#
Using the Feature#
How It Works#
Data chunks allow you to add supplementary information to individual image acquisitions. The desired supplementary information is generated and appended as data chunks to the image data.
Image data is also considered a "chunk". This "image data chunk" can't be disabled and is always the first chunk transmitted by the camera. If one or more data chunks are enabled, these chunks are transmitted as chunk 2, 3, and so on.
The figure below shows a set of chunks with the leading image data chunk and appended data chunks. The example assumes that the CRC checksum chunk feature is enabled.
After data chunks have been transmitted to the computer, they must be retrieved to obtain their information. The exact procedure depends on your camera model and the programming language used for your application. For more information about retrieving data chunks, see the Programmer's Guide and Reference Documentation delivered with the Basler pylon Camera Software Suite.
Additional Metadata#
Besides the data chunks, the camera adds additional metadata to individual images, e.g., the image height, image width, the image ROI offset, and the pixel format used. This information can be retrieved by accessing the grab result data via the pylon API.
Info
If all of the following conditions are met, the grab result data doesn't contain any useful information (image height, image width, etc. will be set to -1):
- You are using a Basler ace classic GigE camera.
- You are using the pylon C API, the pylon C. NET API, or the pylon C++ low level API.
- The
ChunkModeActive
parameter is set totrue
.
In this case, you must retrieve the additional metadata using the pylon chunk parser. For more information, see the code samples in the Programmer's Guide and Reference Documentation delivered with the Basler pylon Camera Software Suite.
Enabling and Retrieving Data Chunks#
- Set the
ChunkModeActive
parameter totrue
. - Set the
ChunkSelector
parameter to the kind of chunk that you want to enable (if available): - Enable the selected chunk by setting the
ChunkEnable
parameter totrue
. - Repeat steps 2 and 3 for every desired chunk.
- Implement chunk retrieval in your application.
For information about implementing chunk retrieval, see the Programmer's Guide and Reference Documentation delivered with the Basler pylon Camera Software Suite.
Info
Data chunks can also be viewed in the pylon Viewer.
Available Data Chunks#
Gain Chunk (= GainAll Chunk)#
If this chunk is available and enabled, the camera appends the gain used for image acquisition to every image.
The data chunk includes the Gain
parameter value.
Exposure Time Chunk#
If this chunk is enabled, the camera appends the exposure time used for image acquisition to every image.
The data chunk includes the ExposureTime
parameter value.
Info
When using the Trigger Width exposure mode, the Exposure Time chunk feature is not available.
Timestamp Chunk#
If this chunk is enabled, the camera appends the internal timestamp (in ticks) of the moment when image acquisition was triggered to every image.
Line Status All Chunk#
If this chunk is enabled, the camera appends the status of all I/O lines at the moment when image acquisition was triggered to every image.
The data chunk includes the LineStatusAll
parameter value.
Trigger Input Counter Chunk#
If this chunk is available and enabled, the camera appends the number of hardware frame start trigger signals received to every image.
To do so, the camera retrieves the current value of the Counter 1 counter. On cameras with the Trigger Input Counter chunk, Counter 1 counts the number of hardware trigger signals received.
To manually reset the counter, reset Counter 1.
Info
The trigger input counter only counts hardware trigger signals. If the camera is configured for software triggering or free run, the counter value will not increase.
Counter Value Chunk#
If this chunk is available and enabled, the camera appends the number of acquired images to every image.
To do so, the camera retrieves the current value of the Counter 1 counter. On cameras with the Counter Value chunk, Counter 1 counts the number of acquired images.
To manually reset the counter, reset Counter 1.
Frame Counter Chunk#
If this chunk is available and enabled, the camera appends the number of acquired images to every image.
To do so, the camera retrieves the current value of the Counter 2 counter. On cameras with the Frame Counter chunk, Counter 2 counts the number of acquired images.
To manually reset the counter, reset Counter 2.
Info
Numbers in the counting sequence may be skipped when the acquisition mode is changed from Continuous to Single Frame. Numbers may also be skipped when overtriggering occurs.
Sequencer Set Active Chunk (= Sequence Set Index Chunk)#
If this chunk is available and enabled, the camera appends the sequencer set used for image acquisition to every image.
The data chunk includes the SequencerSetActive
or SequenceSetIndex
parameter value (depending on your camera model).
Info
Enabling this chunk is only useful if the camera's Sequencer feature is used for image acquisition.
Auto Brightness Status Chunk#
If this chunk is available and enabled, the camera appends the status of the target brightness adjustments to every image.
Target brightness adjustments are performed whenever the Exposure Auto or the Gain Auto auto function or both are enabled.
The chunk can have the following values:
- 0: Target brightness adjustments are disabled, i.e., Gain Auto and Exposure Auto are set to
Off
. - 1: Target brightness adjustments are enabled, but the target brightness value has not been reached.
- 2: Target brightness adjustments are enabled, and the target brightness value has been reached.
CRC Checksum Chunk#
If this chunk is enabled, the camera appends a CRC (Cyclic Redundancy Check) checksum to every image.
The checksum is calculated using the X-modem method and includes the image data and all appended chunks, if any, except the CRC chunk itself.
The CRC checksum chunk is always the last chunk appended to image data.
Specifics#
Camera Model | Available Data Chunks |
---|---|
a2A1920-51gcBAS | Data Chunks feature not supported |
a2A1920-51gcPRO | Data Chunks feature not supported |
a2A1920-51gmBAS | Data Chunks feature not supported |
a2A1920-51gmPRO | Data Chunks feature not supported |
a2A1920-160ucBAS | Data Chunks feature not supported |
a2A1920-160ucPRO | Data Chunks feature not supported |
a2A1920-160umBAS | Data Chunks feature not supported |
a2A1920-160umPRO | Data Chunks feature not supported |
a2A2590-22gcBAS | Data Chunks feature not supported |
a2A2590-22gcPRO | Data Chunks feature not supported |
a2A2590-22gmBAS | Data Chunks feature not supported |
a2A2590-22gmPRO | Data Chunks feature not supported |
a2A2590-60ucBAS | Data Chunks feature not supported |
a2A2590-60ucPRO | Data Chunks feature not supported |
a2A2590-60umBAS | Data Chunks feature not supported |
a2A2590-60umPRO | Data Chunks feature not supported |
a2A3840-13gcBAS | Data Chunks feature not supported |
a2A3840-13gcPRO | Data Chunks feature not supported |
a2A3840-13gmBAS | Data Chunks feature not supported |
a2A3840-13gmPRO | Data Chunks feature not supported |
a2A3840-45ucBAS | Data Chunks feature not supported |
a2A3840-45ucPRO | Data Chunks feature not supported |
a2A3840-45umBAS | Data Chunks feature not supported |
a2A3840-45umPRO | Data Chunks feature not supported |
acA640-90gc | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA640-90gm | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA640-90uc | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA640-90um | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA640-120gc | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA640-120gm | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA640-120uc | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA640-120um | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA640-121gm | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA640-300gc | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA640-300gm | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA640-750uc | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA640-750um | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA720-290gc | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA720-290gm | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA720-520uc | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA720-520um | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA780-75gc | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA780-75gm | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA800-200gc | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA800-200gm | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA800-510uc | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA800-510um | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA1280-60gc | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA1280-60gm | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA1300-22gc | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA1300-22gm | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA1300-30gc | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA1300-30gm | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA1300-30uc | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA1300-30um | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA1300-60gc | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA1300-60gm | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA1300-60gmNIR | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA1300-75gc | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA1300-75gm | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA1300-200uc | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA1300-200um | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA1440-73gc | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA1440-73gm | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA1440-220uc | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA1440-220um | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA1600-20gc | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA1600-20gm | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA1600-20uc | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA1600-20um | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA1600-60gc | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA1600-60gm | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA1920-25gc | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA1920-25gm | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA1920-25uc | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA1920-25um | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA1920-40gc | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA1920-40gm | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA1920-40uc | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA1920-40ucMED | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA1920-40um | Gain Chunk Exposure Time Chunk Timestamp Chunk Line Status All Chunk Counter Value Chunk CRC Checksum Chunk |
acA1920-40umMED | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA1920-48gc | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA1920-48gm | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA1920-50gc | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA1920-50gm | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA1920-150uc | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA1920-150um | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA1920-155uc | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA1920-155ucMED | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA1920-155um | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA1920-155umMED | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA2000-50gc | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA2000-50gm | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA2000-50gmNIR | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA2000-165uc | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA2000-165um | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA2000-165umNIR | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA2040-25gc | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA2040-25gm | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA2040-25gmNIR | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA2040-35gc | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA2040-35gm | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA2040-55uc | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA2040-55um | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA2040-90uc | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA2040-90um | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA2040-90umNIR | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA2040-120uc | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA2040-120um | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA2440-20gc | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA2440-20gm | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA2440-35uc | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA2440-35ucMED | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA2440-35um | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA2440-35umMED | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA2440-75uc | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA2440-75ucMED | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA2440-75um | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA2440-75umMED | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA2500-14gc | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA2500-14gm | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA2500-14uc | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA2500-14um | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA2500-20gc | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA2500-20gcMED | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA2500-20gm | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA2500-20gmMED | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA2500-60uc | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA2500-60um | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Timestamp Chunk |
acA3088-16gc | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA3088-16gm | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA3088-57uc | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA3088-57um | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA3800-10gc | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA3800-10gm | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA3800-14uc | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA3800-14um | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA4024-8gc | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA4024-8gm | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA4024-29uc | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA4024-29um | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA4096-11gc | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA4096-11gm | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA4096-30uc | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA4096-30ucMED | Auto Brightness Status Chunk Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA4096-30um | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA4096-30umMED | Auto Brightness Status Chunk Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA4096-40uc | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA4096-40ucMED | Auto Brightness Status Chunk Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA4096-40um | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA4096-40umMED | Auto Brightness Status Chunk Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA4112-8gc | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA4112-8gm | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA4112-20uc | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA4112-20ucMED | Auto Brightness Status Chunk Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA4112-20um | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA4112-20umMED | Auto Brightness Status Chunk Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA4112-30uc | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA4112-30ucMED | Auto Brightness Status Chunk Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA4112-30um | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA4112-30umMED | Auto Brightness Status Chunk Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA4600-7gc | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA4600-10uc | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA5472-5gc | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA5472-5gm | CRC Checksum Chunk Exposure Time Chunk Frame Counter Chunk Gain All Chunk Line Status All Chunk Sequence Set Index Chunk Timestamp Chunk Trigger Input Counter |
acA5472-17uc | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA5472-17ucMED | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
acA5472-17um | Counter Value Chunk CRC Checksum Chunk Gain Chunk Exposure Time Chunk Line Status All Chunk Sequencer Set Active Chunk Timestamp Chunk |
boA4096-93cc | Data Chunks feature not supported |
boA4096-93cm | Data Chunks feature not supported |
boA4112-68cc | Data Chunks feature not supported |
boA4112-68cm | Data Chunks feature not supported |
daA1280-54lc | Data Chunks feature not supported |
daA1280-54lm | Data Chunks feature not supported |
daA1280-54uc | Data Chunks feature not supported |
daA1280-54um | Data Chunks feature not supported |
daA1600-60lc | Data Chunks feature not supported |
daA1600-60lm | Data Chunks feature not supported |
daA1600-60uc | Data Chunks feature not supported |
daA1600-60um | Data Chunks feature not supported |
daA1920-15um | Data Chunks feature not supported |
daA1920-30uc | Data Chunks feature not supported |
daA1920-30um | Data Chunks feature not supported |
daA2500-14lc | Data Chunks feature not supported |
daA2500-14lm | Data Chunks feature not supported |
daA2500-14uc | Data Chunks feature not supported |
daA2500-14um | Data Chunks feature not supported |
daA2500-60mc | Data Chunks feature not supported |
daA2500-60mci | Data Chunks feature not supported |
daA4200-30mci | Data Chunks feature not supported |
puA1280-54uc | Data Chunks feature not supported |
puA1280-54um | Data Chunks feature not supported |
puA1600-60uc | Data Chunks feature not supported |
puA1600-60um | Data Chunks feature not supported |
puA1920-30uc | Data Chunks feature not supported |
puA1920-30um | Data Chunks feature not supported |
puA2500-14uc | Data Chunks feature not supported |
puA2500-14um | Data Chunks feature not supported |
Sample Code#
// Enable data chunks
camera.ChunkModeActive.SetValue(true);
// Select and enable Gain All chunk
camera.ChunkSelector.SetValue(ChunkSelector_GainAll);
camera.ChunkEnable.SetValue(true);
// Select and enable Exposure Time chunk
camera.ChunkSelector.SetValue(ChunkSelector_ExposureTime);
camera.ChunkEnable.SetValue(true);
// Select and enable Timestamp chunk
camera.ChunkSelector.SetValue(ChunkSelector_Timestamp);
camera.ChunkEnable.SetValue(true);
// Select and enable Line Status All chunk
camera.ChunkSelector.SetValue(ChunkSelector_LineStatusAll);
camera.ChunkEnable.SetValue(true);
// Select and enable Trigger Input Counter chunk
camera.ChunkSelector.SetValue(ChunkSelector_Triggerinputcounter);
camera.ChunkEnable.SetValue(true);
// Select and enable Frame Counter chunk
camera.ChunkSelector.SetValue(ChunkSelector_Framecounter);
camera.ChunkEnable.SetValue(true);
// Select and enable Sequence Set Index chunk
camera.ChunkSelector.SetValue(ChunkSelector_SequenceSetIndex);
camera.ChunkEnable.SetValue(true);
// Select and enable CRC checksum chunk
camera.ChunkSelector.SetValue(ChunkSelector_PayloadCRC16);
camera.ChunkEnable.SetValue(true);
INodeMap& nodemap = camera.GetNodeMap();
// Enable data chunks
CBooleanPtr(nodemap.GetNode("ChunkModeActive"))->SetValue(true);
// Select and enable Gain All chunk
CEnumerationPtr(nodemap.GetNode("ChunkSelector"))->FromString("GainAll");
CBooleanPtr(nodemap.GetNode("ChunkEnable"))->SetValue(true);
// Select and enable Exposure Time chunk
CEnumerationPtr(nodemap.GetNode("ChunkSelector"))->FromString("ExposureTime");
CBooleanPtr(nodemap.GetNode("ChunkEnable"))->SetValue(true);
// Select and enable Timestamp chunk
CEnumerationPtr(nodemap.GetNode("ChunkSelector"))->FromString("Timestamp");
CBooleanPtr(nodemap.GetNode("ChunkEnable"))->SetValue(true);
// Select and enable Line Status All chunk
CEnumerationPtr(nodemap.GetNode("ChunkSelector"))->FromString("LineStatusAll");
CBooleanPtr(nodemap.GetNode("ChunkEnable"))->SetValue(true);
// Select and enable Trigger Input Counter chunk
CEnumerationPtr(nodemap.GetNode("ChunkSelector"))->FromString("Triggerinputcounter");
CBooleanPtr(nodemap.GetNode("ChunkEnable"))->SetValue(true);
// Select and enable Frame Counter chunk
CEnumerationPtr(nodemap.GetNode("ChunkSelector"))->FromString("Framecounter");
CBooleanPtr(nodemap.GetNode("ChunkEnable"))->SetValue(true);
// Select and enable Sequence Set Index chunk
CEnumerationPtr(nodemap.GetNode("ChunkSelector"))->FromString("SequenceSetIndex");
CBooleanPtr(nodemap.GetNode("ChunkEnable"))->SetValue(true);
// Select and enable CRC checksum chunk
CEnumerationPtr(nodemap.GetNode("ChunkSelector"))->FromString("PayloadCRC16");
CBooleanPtr(nodemap.GetNode("ChunkEnable"))->SetValue(true);
INodeMap& nodemap = camera.GetNodeMap();
// Enable data chunks
CBooleanParameter(nodemap, "ChunkModeActive").SetValue(true);
// Select and enable Gain All chunk
CEnumParameter(nodemap, "ChunkSelector").SetValue("GainAll");
CBooleanParameter(nodemap, "ChunkEnable").SetValue(true);
// Select and enable Exposure Time chunk
CEnumParameter(nodemap, "ChunkSelector").SetValue("ExposureTime");
CBooleanParameter(nodemap, "ChunkEnable").SetValue(true);
// Select and enable Timestamp chunk
CEnumParameter(nodemap, "ChunkSelector").SetValue("Timestamp");
CBooleanParameter(nodemap, "ChunkEnable").SetValue(true);
// Select and enable Line Status All chunk
CEnumParameter(nodemap, "ChunkSelector").SetValue("LineStatusAll");
CBooleanParameter(nodemap, "ChunkEnable").SetValue(true);
// Select and enable Trigger Input Counter chunk
CEnumParameter(nodemap, "ChunkSelector").SetValue("Triggerinputcounter");
CBooleanParameter(nodemap, "ChunkEnable").SetValue(true);
// Select and enable Frame Counter chunk
CEnumParameter(nodemap, "ChunkSelector").SetValue("Framecounter");
CBooleanParameter(nodemap, "ChunkEnable").SetValue(true);
// Select and enable Sequence Set Index chunk
CEnumParameter(nodemap, "ChunkSelector").SetValue("SequenceSetIndex");
CBooleanParameter(nodemap, "ChunkEnable").SetValue(true);
// Select and enable CRC checksum chunk
CEnumParameter(nodemap, "ChunkSelector").SetValue("PayloadCRC16");
CBooleanParameter(nodemap, "ChunkEnable").SetValue(true);
// Enable data chunks
camera.Parameters[PLCamera.ChunkModeActive].SetValue(true);
// Select and enable Gain All chunk
camera.Parameters[PLCamera.ChunkSelector].SetValue(PLCamera.ChunkSelector.GainAll);
camera.Parameters[PLCamera.ChunkEnable].SetValue(true);
// Select and enable Exposure Time chunk
camera.Parameters[PLCamera.ChunkSelector].SetValue(PLCamera.ChunkSelector.ExposureTime);
camera.Parameters[PLCamera.ChunkEnable].SetValue(true);
// Select and enable Timestamp chunk
camera.Parameters[PLCamera.ChunkSelector].SetValue(PLCamera.ChunkSelector.Timestamp);
camera.Parameters[PLCamera.ChunkEnable].SetValue(true);
// Select and enable Line Status All chunk
camera.Parameters[PLCamera.ChunkSelector].SetValue(PLCamera.ChunkSelector.LineStatusAll);
camera.Parameters[PLCamera.ChunkEnable].SetValue(true);
// Select and enable Trigger Input Counter chunk
camera.Parameters[PLCamera.ChunkSelector].SetValue(PLCamera.ChunkSelector.Triggerinputcounter);
camera.Parameters[PLCamera.ChunkEnable].SetValue(true);
// Select and enable Frame Counter chunk
camera.Parameters[PLCamera.ChunkSelector].SetValue(PLCamera.ChunkSelector.Framecounter);
camera.Parameters[PLCamera.ChunkEnable].SetValue(true);
// Select and enable Sequence Set Index chunk
camera.Parameters[PLCamera.ChunkSelector].SetValue(PLCamera.ChunkSelector.SequenceSetIndex);
camera.Parameters[PLCamera.ChunkEnable].SetValue(true);
// Select and enable CRC checksum chunk
camera.Parameters[PLCamera.ChunkSelector].SetValue(PLCamera.ChunkSelector.PayloadCRC16);
camera.Parameters[PLCamera.ChunkEnable].SetValue(true);
// Enable data chunks
Pylon.DeviceSetBooleanFeature(hdev, "ChunkModeActive", true);
// Select and enable Gain All chunk
Pylon.DeviceFeatureFromString(hdev, "ChunkSelector", "GainAll");
Pylon.DeviceSetBooleanFeature(hdev, "ChunkEnable", true);
// Select and enable Exposure Time chunk
Pylon.DeviceFeatureFromString(hdev, "ChunkSelector", "ExposureTime");
Pylon.DeviceSetBooleanFeature(hdev, "ChunkEnable", true);
// Select and enable Timestamp chunk
Pylon.DeviceFeatureFromString(hdev, "ChunkSelector", "Timestamp");
Pylon.DeviceSetBooleanFeature(hdev, "ChunkEnable", true);
// Select and enable Line Status All chunk
Pylon.DeviceFeatureFromString(hdev, "ChunkSelector", "LineStatusAll");
Pylon.DeviceSetBooleanFeature(hdev, "ChunkEnable", true);
// Select and enable Trigger Input Counter chunk
Pylon.DeviceFeatureFromString(hdev, "ChunkSelector", "Triggerinputcounter");
Pylon.DeviceSetBooleanFeature(hdev, "ChunkEnable", true);
// Select and enable Frame Counter chunk
Pylon.DeviceFeatureFromString(hdev, "ChunkSelector", "Framecounter");
Pylon.DeviceSetBooleanFeature(hdev, "ChunkEnable", true);
// Select and enable Sequence Set Index chunk
Pylon.DeviceFeatureFromString(hdev, "ChunkSelector", "SequenceSetIndex");
Pylon.DeviceSetBooleanFeature(hdev, "ChunkEnable", true);
// Select and enable CRC checksum chunk
Pylon.DeviceFeatureFromString(hdev, "ChunkSelector", "PayloadCRC16");
Pylon.DeviceSetBooleanFeature(hdev, "ChunkEnable", true);
/* Macro to check for errors */
#define CHECK(errc) if (GENAPI_E_OK != errc) printErrorAndExit(errc)
GENAPIC_RESULT errRes = GENAPI_E_OK; /* Return value of pylon methods */
/* Enable data chunks */
errRes = PylonDeviceSetBooleanFeature(hdev, "ChunkModeActive", 1);
CHECK(errRes);
/* Select and enable Gain All chunk */
errRes = PylonDeviceFeatureFromString(hdev, "ChunkSelector", "GainAll");
CHECK(errRes);
errRes = PylonDeviceSetBooleanFeature(hdev, "ChunkEnable", 1);
CHECK(errRes);
/* Select and enable Exposure Time chunk */
errRes = PylonDeviceFeatureFromString(hdev, "ChunkSelector", "ExposureTime");
CHECK(errRes);
errRes = PylonDeviceSetBooleanFeature(hdev, "ChunkEnable", 1);
CHECK(errRes);
/* Select and enable Timestamp chunk */
errRes = PylonDeviceFeatureFromString(hdev, "ChunkSelector", "Timestamp");
CHECK(errRes);
errRes = PylonDeviceSetBooleanFeature(hdev, "ChunkEnable", 1);
CHECK(errRes);
/* Select and enable Line Status All chunk */
errRes = PylonDeviceFeatureFromString(hdev, "ChunkSelector", "LineStatusAll");
CHECK(errRes);
errRes = PylonDeviceSetBooleanFeature(hdev, "ChunkEnable", 1);
CHECK(errRes);
/* Select and enable Trigger Input Counter chunk */
errRes = PylonDeviceFeatureFromString(hdev, "ChunkSelector", "Triggerinputcounter");
CHECK(errRes);
errRes = PylonDeviceSetBooleanFeature(hdev, "ChunkEnable", 1);
CHECK(errRes);
/* Select and enable Frame Counter chunk */
errRes = PylonDeviceFeatureFromString(hdev, "ChunkSelector", "Framecounter");
CHECK(errRes);
errRes = PylonDeviceSetBooleanFeature(hdev, "ChunkEnable", 1);
CHECK(errRes);
/* Select and enable Sequence Set Index chunk */
errRes = PylonDeviceFeatureFromString(hdev, "ChunkSelector", "SequenceSetIndex");
CHECK(errRes);
errRes = PylonDeviceSetBooleanFeature(hdev, "ChunkEnable", 1);
CHECK(errRes);
/* Select and enable CRC checksum chunk */
errRes = PylonDeviceFeatureFromString(hdev, "ChunkSelector", "PayloadCRC16");
CHECK(errRes);
errRes = PylonDeviceSetBooleanFeature(hdev, "ChunkEnable", 1);
CHECK(errRes);
You can also use the pylon Viewer to easily set the parameters.