Some inspections need more than one image from a single inspection event: a normal and a processed frame, one image per light wavelength, or a short burst that freezes different phases of motion. Many cameras and smart sensors can deliver that image set from one trigger, but the feature is not always obvious, and a quick test with a vendor viewer can raise expectations your own acquisition code does not meet. This guide shows how to find the multi-frame capability in the camera's GenICam feature tree, how to configure it so one trigger returns several frames, how sequenced lighting gives you the same result with any camera, and how to verify you really collected the whole image list.
What "multiple images per trigger" means
There are two distinct mechanisms, and mixing them up is the most common source of disappointment:
- Multi-frame acquisition. The camera is set to a mode such as MultiFrame or Burst, with a frame count greater than one. A single trigger — software or hardware — starts the capture of N frames, which arrive as N separate buffers on the host.
- Vendor multi-capture imaging. A smart sensor or camera with on-board processing returns several different images per trigger: a normal image plus processed or filtered versions produced by its own imaging pipeline. Those extra payloads exist only if the device's firmware builds them.
A plain area scan camera, such as an MV-CU020-90GC industrial camera, supports the first mechanism through standard features. The second belongs to vision sensors and smart cameras that run their inspection on the device — the smart cameras category covers that class.
The GenICam standard feature naming convention calls the relevant nodes AcquisitionMode (values typically include SingleFrame, MultiFrame, Continuous) and AcquisitionFrameCount. When AcquisitionMode = MultiFrame and AcquisitionFrameCount = 4, one trigger produces four frames.
Step 1: Verify the feature exists before writing code
Do this with a generic GenICam browser or a small script against the GigE Vision transport — never assume the vendor's desktop tool is the only way.
- Connect to the camera and enumerate its full feature tree, including categories that are collapsed by default.
- Read
AcquisitionModeand list its allowed values. - Look for nodes named
AcquisitionFrameCount,AcquisitionBurstFrameCount, or anything containing "Multi", "Burst" or the vendor's imaging-mode name. - For each candidate node, read its minimum, maximum and increment to learn the real limits.
If you cannot find a node you expect, the diagnosis path in GenICam exposure feature discovery for missing attributes applies to acquisition nodes too: check the exact node name, the register cache, and whether the node is only writable in a particular acquisition state. The related GenICam node not existing: diagnose feature access errors guide covers the error you get when a feature simply is not there.
Step 2: Configure the camera for a multi-image set
Order of operations matters: most cameras only accept acquisition settings while acquisition is stopped.
- Stop acquisition (
AcquisitionStop). - Set
AcquisitionModetoMultiFrame. - Set
AcquisitionFrameCountto the number of images you want per trigger. - Optionally set
AcquisitionFrameRateor the inter-frame delay to control spacing inside the burst. - Re-arm with
AcquisitionStart. - Fire one trigger —
TriggerSoftwarefor a software shot, or one hardware pulse if the trigger source is a line input.
For software triggering from a custom application, the pattern in software triggered image capture from a GUI button shows how to keep the trigger write and the image collection on separate paths so the UI does not block the burst.
With a frame count of 4 at a sustained 30 fps, expect the whole set in roughly 0.13 s plus exposure time and transport. Budget your host-side timeout accordingly — a timeout sized for one frame will abort mid-burst.
Step 3: Collect the whole buffer list
The second most common failure is on the host, not the camera. The camera sends N frames; the code takes the first and moves on.
- Set the acquisition queue depth to at least
AcquisitionFrameCountframes at full resolution. - After each trigger, loop until you have received N images or a timeout expires.
- Tag each frame with its index in the burst, not just its arrival time.
- Only then run your processing on the ordered set.
This is the same buffer discipline described for multi-camera work in multi-camera acquisition freezes: callbacks and buffer queues, and the frame-rate verification habits in high speed camera recording without dropped frames apply to bursts as well.
Getting different image types, not just more frames
If you need a normal image plus a processed or filtered image from one event and your camera has no on-board pipeline, build the set with lighting instead. Sequence the light sources and trigger one frame per channel:
- Frame 1: bright-field light on → normal appearance image.
- Frame 2: dark-field or structured light on → defect-enhanced image.
- Frame 3: another wavelength or coaxial light → texture or surface image.
A light controller with strobe outputs switches channels on command, so one inspection cycle produces a genuine multi-image set from any camera. The technique and its colour-sequencing variant are covered in multi wavelength light: sequence colours to get more from one camera.
- Output
- Constant voltage 24 V
- Channels
- 4 channels
- Control
- Digital
The LS-CTL-0322 above is a 4-channel digital LED light controller, 16-24 V, AC100-240V 50/60 Hz, 8 A total output — four independently switchable channels, which is exactly what a three-light sequence needs.
Smart cameras and vision sensors take a different route: the device runs the pipeline itself and can return several image types per inspection. An integrated model such as the LS-SMC-0063 smart camera builds lighting into the unit, so one acquisition can carry different illumination outputs.
- Interface
- GigE
- Resolution
- Up to 3 MP
Check the device's own documentation for which image types it returns per trigger — that list is firmware-specific and cannot be inferred from the sensor alone.
Hardware trigger timing for bursts
When a PLC or sensor drives the trigger, the pulse must be long enough and clean enough for one acquisition cycle, and the controller must not re-trigger before the burst completes. The frame-rate arithmetic and pulse-width considerations in camera hardware trigger frame rate with external pulses apply directly; for a burst, treat the retrigger timeout as the whole collection time from the formula above, not one frame period. If your PLC logic uses one-shot rising-edge instructions, the PLC one-shot trigger programming guide explains how to keep a single event from firing multiple triggers.
Checklist before you commit
- Feature tree lists
AcquisitionModewith a multi-frame or burst value. -
AcquisitionFrameCountmaximum covers your set size. - Host queue depth ≥ frame count × largest expected image size.
- Collection timeout covers the whole burst, not one frame.
- Loop drains all buffers per trigger and preserves frame order.
- Retrigger during a burst behaves as your process expects.
- If using sequenced lights: each channel's strobe duration fits inside its exposure window.
When one-image-per-trigger is the right answer
Multi-frame capture is not always the fix. If the images you want differ only by lighting, but your cycle time budget is tight, a single frame with simultaneous multi-channel lighting and colour separation may be enough. If the "extra" images you saw in a vendor viewer are products of that vendor's on-board processing, no host-side setting will recreate them on a different camera — you either use a device that supports that pipeline or compute the processed images yourself after capture. Matching the mechanism to the device first saves days of driver debugging.
If you are unsure which cameras or controllers fit your inspection cycle, run the system configurator, browse the area scan cameras finder, or ask us through the contact page with your frame count, image size and cycle time.
Questions
Why does my camera return only one image per trigger?
The camera is most likely set to SingleFrame or MultiFrame with a frame count of one. Set AcquisitionMode to MultiFrame and AcquisitionFrameCount to the number of images you want before arming the trigger. Some vendors expose the count under a different node name, so browse the full feature tree over GenICam rather than assuming the standard names. Also confirm your host code drains the buffer queue after each trigger instead of taking the first frame and discarding the rest.
Does the GigE Vision standard guarantee a multi-capture feature?
No. GigE Vision and GenICam define the transport and the feature framework, not a mandatory multi-image mode. AcquisitionMode and AcquisitionFrameCount are standard SFNC features that most industrial cameras implement, but processed or filtered sub-images from a specific imaging pipeline are usually vendor-specific nodes. The only reliable check is to enumerate the camera's feature tree and read which acquisition-related nodes exist on your exact model.
How do I get a normal and a processed image from one trigger?
Two paths exist. If the camera or smart sensor exposes the processing on board, enable its imaging mode and expect several payloads per trigger, one per output type. If it does not, capture one raw frame per light setting: sequence the light controller, trigger a frame per channel, and do the processing on the host. Both give you an image set from one logical inspection event, but only the first reduces host CPU load.
Can a software trigger produce multiple images like a hardware trigger?
Yes, the trigger source does not change how many frames the acquisition mode collects. With AcquisitionMode set to MultiFrame and AcquisitionFrameCount above one, a single software TriggerSoftware write arms and produces the whole burst. The practical difference is timing jitter: for repeatable inter-frame intervals, a hardware pulse train or a sequenced light controller gives tighter spacing than repeated software triggers from user code.
How many images can I capture per trigger?
It depends on the camera's firmware limits and your buffer budget. Check the readable range of AcquisitionFrameCount in the feature tree; many cameras cap it between 2 and a few hundred frames. On the host side, size the acquisition queue for at least frame count times image size at full resolution, and verify you can sustain the burst rate over your interface before committing to a high count.

