This knowledge base article explains the sensor structure, operation, behavior, and configuration of the Triton2 4K line scan camera, including triggering and encoder integration.
Sensor and Color Architecture
The Triton2 4K line scan camera features the Gpixel GL3504 sensor, which contains:
- 4x 7 µm pixel lines (2K mode)
For the color variant, three of these lines have true-color RGB filters:- One line with red filter
- One line with green filter
- One line with blue filter
- One line with no color filter (clear)
- 2x 3.5 µm pixel lines (4K mode)
Arranged with a GGRB Bayer pattern for color.

Table of Contents
This multi‑line architecture, combined with different pixel sizes and color filter layouts, is the basis for:
- Pixel size modes
- Line count modes
- Available pixel formats
- Available color interpolation algorithms
- The behavior of how many lines and exposures each frame will have
Pixel Size Modes, Line Count Modes, and Pixel Formats
The camera exposes different PixelSizeMode and LineCountMode combinations, each enabling a specific set of values that you can set in the PixelFormats node.
PixelSizeMode configures which physical pixel rows on the GL3504 sensor are used:
PixelSizeMode= Size3500nm- Uses the two 3.5 µm pixel lines (“4K mode”).
- Enables up to 4096‑pixel image width and color formats based on the 3.5 µm Bayer pattern.
PixelSizeMode= Size7000nm- Uses the four 7 µm pixel lines (“2K mode”).
- Enables up to 2048‑pixel image width and color formats based on the 7 µm RGB + clear lines.
In other words, PixelSizeMode directly controls which physical sensor lines participate in acquisition, and therefore the native resolution and pixel size.
LineCountMode selects how many of the active sensor lines are combined in the ISP to form each output line:
LineCountMode= 1- A single sensor line is used per output line.
- Only monochrome formats are available; no color reconstruction is performed.
LineCountMode> 1 (2 or 4, depending onPixelSizeMode)- Multiple sensor lines are combined per output line.
- Enables color‑capable configurations (CFA and RGB / YCbCr / YUV formats), and affects how many physical lines contribute to each exposure.
Together, PixelSizeMode and LineCountMode determine which PixelFormat options are available, as summarized in the table below.
| PixelSizeMode | LineCountMode | PixelFormat options |
|---|---|---|
| Size3500nm | 1 | Mono8, Mono10, Mono10p, Mono10Packed, Mono12, Mono12p, Mono12Packed, Mono16 |
| Size3500nm | 2 | CFA_RBGG8, CFA_RBGG10, CFA_RBGG10p, CFA_RBGG10Packed, CFA_RBGG12, CFA_RBGG12p, CFA_RBGG12Packed, CFA_RBGG16, RGB8, BGR8, RGBY8, BGRY8, YCbCr8_CbYCr, YUV422_8, YUV422_8_UYVY, YCbCr411_8, YUV411_8_UYYVYY |
| Size7000nm | 1 | Mono8, Mono10, Mono10p, Mono10Packed, Mono12, Mono12p, Mono12Packed, Mono16 |
| Size7000nm | 2 | CFA2by1_WB8, CFA2by1_WB10, CFA2by1_WB10p, CFA2by1_WB10Packed, CFA2by1_WB12, CFA2by1_WB12p, CFA2by1_WB12Packed, CFA2by1_WB16, CFA4by1_WBRG8, CFA4by1_WBRG10, CFA4by1_WBRG10p, CFA4by1_WBRG10Packed, CFA4by1_WBRG12, CFA4by1_WBRG12p, CFA4by1_WBRG12Packed, CFA4by1_WBRG16 |
| Size7000nm | 4 | RGB8, BGR8, RGBY8, BGRY8,YCbCr8_CbYCr, YUV422_8, YUV422_8_UYVY, YCbCr411_8, YUV411_8_UYYVYY |
Key implications:
PixelSizeModedirectly determines whether you are using the 3.5 µm lines (Size3500nm) or 7 µm lines (Size7000nm) and thus which physical sensor lines participate in acquisition.LineCountMode= 1- Monochrome only.
- You can only use Mono* pixel formats; no color formats are available.
LineCountMode> 1- Color‑capable configurations (CFA or RGB / YCbCr / YUV), depending on PixelSizeMode and line count.
Acquisition Rates, Frames, and Exposures
AcquisitionFrameRate vs AcquisitionLineRate
The Triton2 line scan camera exposes both AcquisitionFrameRate and AcquisitionLineRate controls, but only one can be actively controlled at a time.
- Only one of these modes can be True at any given time:
AcquisitionFrameRateEnableAcquisitionLineRateEnable
- AcquisitionLineRate = AcquisitionFrameRate × Height ***
- where Height is the configured number of output lines per frame (the
Heightnode). - *** when you are using one of the CFA_ pixel formats, the equation becomes
AcquisitionLineRate = AcquisitionFrameRate × ImagerHeight
- where Height is the configured number of output lines per frame (the
- When
AcquisitionFrameRateEnable= True →AcquisitionLineRateEnableis read‑only. - When
AcquisitionLineRateEnable= True →AcquisitionFrameRateEnableis read‑only. - When both
AcquisitionFrameRateEnableandAcquisitionLineRateEnableare False:- The camera is in full auto mode with respect to acquisition rate:
- Maximizes sensor‑supported line rate.
- Maximizes bandwidth usage within hardware and interface limits.
- The camera automatically drives the acquisition to the highest sustainable line rate.
- The camera is in full auto mode with respect to acquisition rate:
Relationship Between Exposures, ImagerHeight, and Output Lines.
For line‑scan frames, it is useful to think in terms of how many exposures are taken per frame and how many output lines each exposure produces.
- A frame is an image of Height lines (as configured by the
Heightnode). - The sensor uses
ImagerHeightsensor lines to build each frame. - The core relationships are:
- Exposure / Frame = ImagerHeight
- Output lines / Exposure = Height / ImagerHeight
Where:
- ImagerHeight – number of sensor lines that participate in constructing the frame
(for example, 1, 2, or 4 physical lines depending on mode). - Exposure / Frame – how many exposures are needed to build one frame of
Heightlines. - Output lines / Exposure – how many output lines are generated from each exposure.
These relationships are especially useful when:
- Planning trigger or encoder timing for a required number of lines per object.
- Understanding how multi‑line sensors readout and interpolation map onto the final line count and frame structure.
Line Rate and Line Count Configuration
Maximum Line Rate and LineCountMode
To reach the maximum line rate, the camera must minimize data per exposure.
- Set
LineCountMode= LineCount1 for the highest possible line rate.- Only a single sensor line is read per exposure.
- This maximizes throughput and line frequency.
On the color camera, this has an important consequence:
- With
LineCountMode= LineCount1:- Color information is not reconstructed.
- Only mono pixel formats are available; color formats are disabled.
4K vs 2K Line Rate (Color)
For non-CFA color pixel formats, the maximum line rate is the same in 4K and 2K modes. In both cases, the total data per output line (lines × interpolation) is similar, so the bandwidth limits—and thus the line‑rate ceilings—are effectively identical.
| PixelSizeMode | LineCountMode | Max Width: | Bandwidth required per line | AcquisitionLineRate (with 10% DeviceLinkThroughputReserve) |
|---|---|---|---|---|
| Size3500nm | 4 (processed color formats use all 4 logical lines) | 2048 | 4 x 2048 x bit depth | 12348.8806 Hz |
| Size7000nm | 2 | 4096 | 2 x 4096 x bit depth | 12348.8806 Hz |
Exposure
Maximum Exposure Time vs Line Rate
For a given AcquisitionLineRate, the maximum exposure time is constrained by the time between lines:
- General rule: Max ExposureTime ≈ 1,000,000 / AcquisitionLineRate
- in microseconds
- minus a small margin to account for sensor overhead and timing guard bands
Example:
- If
AcquisitionLineRate= 20,000 lines/s- Max ExposureTime ≈ 1,000,000 / 20,000 ≈ 50 µs (practical max, slightly lower).
The API will clamp ExposureTime if you try to exceed the limit.
Individual ExposureTime Per Line
The camera offers a feature where you can set individual values of ExposureTime for different lines:
- The default is a global exposure time across all active lines.
- Per‑line exposure control or more granular control over which part of the sensor is exposed for how long. allowing additional options for
ExposureTimeSelector:
| PixelSizeMode | LineCountMode | ExposureTimeSelector options |
|---|---|---|
| Size3500nm | LineCount1 | Line0EvenPixels, Line0OddPixels |
| Size3500nm | LineCount2 | Line0EvenPixels, Line0OddPixels, Line1EvenPixels, Line1OddPixels |
| Size7000nm | LineCount1 | Line0 |
| Size7000nm | LineCount2 | Line0, Line1 |
| Size7000nm | LineCount4 | Line0, Line1, Line2, Line3 |
Triggering and Encoders
The camera can be integrated with external triggers and encoders for line‑synchronous acquisition. Two trigger concepts are important:
- FrameStart: Defines when a frame (set of lines) begins and ends.
- LineStart: Defines when each individual line is exposed.
The exact behavior depends on which signals are enabled and how they are driven. There are 3 ways of triggering the camera.
FrameStart Off, LineStart On
- FrameStart: disabled
- LineStart: driven by encoder or external trigger
In this mode:
- Each LineStart pulse causes the camera to expose and read a line.
- The camera automatically groups lines into frames.
- A frame is completed and an image is delivered when one of the following occurs:
- Enough lines have been received to fill the configured Height, or
- An encoder timeout expires (no new LineStart pulses for a defined interval), or
- A buffer expiry timer (BufferExpiryMs) expires.
This is useful when you want continuous line‑synchronous acquisition based purely on the encoder, without having to manage frame boundaries explicitly.
FrameStart On (Level), LineStart On
- FrameStart: enabled, level‑sensitive
- LineStart: driven by encoder or external trigger
In this mode:
- A frame is active only while FrameStart is high.
- LineStart pulses are accepted only when FrameStart is high.
- You should:
- Assert FrameStart high to begin a frame.
- Keep FrameStart high long enough to cover all encoder pulses needed to reach the target Height.
- De‑assert FrameStart to end the frame.
This mode is useful when an external controller (PLC, motion controller, etc.) needs explicit control over when a frame starts and ends (for example, when a product enters and leaves the field of view).
FrameStart On (Pulse), LineStart On
- FrameStart: enabled, edge/ pulse‑sensitive
- LineStart: driven by encoder or external trigger
In this mode:
- A FrameStart pulse begins a new frame.
- The camera then counts LineStart pulses until the configured Height is reached.
- Once the requested number of lines have been acquired:
- Any additional LineStart pulses are ignored until the next valid FrameStart pulse.
- A new frame will not start until another FrameStart is received.
This is useful when you want a fixed number of lines per frame and want to prevent extra encoder pulses from creating partial or over‑length frames.
You may find additional instructions on using the Encoder module in the KB: Using the TRI02KA Triton Linescan Camera.
How incomplete images work with the TRT04KG
- An image (frame) is flagged incomplete when the host cannot assemble a full GVSP block for that frame.Incomplete images can occur for many reasons, but with line scan cameras they are most commonly seen in line trigger (line/ encoder) modes.An image is constructed and returned when the SDK has received the configured
Heightnumber of lines. It will be marked incomplete if, for example:- The line trigger stops before
Heightlines are received- →
BufferExpiryMSexpires.
- →
- Acquisition stops mid‑frame
- → The GVSP block is aborted.
- The line trigger rate is very slow
- →
InterPacketExpiryMSexpires.
- →
InterPacketExpiryMSandBufferExpiryMSare calculated automatically based on the reported value of theAcquisitionFrameRatenode, which in turn depends onHeight,PixelFormat,LineCountMode, andPixelSizeMode.It is also normal for the final image of a sequence to be flagged incomplete, because line triggers (and therefore image lines) rarely stop exactly at the end of a frame boundary.
- The line trigger stops before