Transmission Methods of 1X_2YE Images (Coaxlink series)
Geometry of 1X_2YE image sensors
An 1X_2YE image sensor has two taps:
● | Tap 1 delivers the pixel data of the upper half of the image. It starts with the leftmost pixel of the top line and ends with the rightmost pixel of the bottom line of the upper half. |
● | Tap 2 delivers the pixel data of the lower half image lines. It starts with the leftmost pixel of the bottom line and ends with the rightmost pixel of the top line of the lower half. |
Two methods are used by CoaXPress cameras to transmit images captured with 1X_2YE image sensors:
● | This is NOT the method defined by the CoaXPress standard. However it is the most popular! |
● | The DMA engine of all area-scan firmware variants of all Coaxlink frame grabbers is capable to reorganize the lines and deliver an unscrambled image into the buffer. |
The camera transmits the image data through a single CoaXPress data stream composed as follows:
Line 1 > Line H > Line 2 > Line H-1 > … > Line H/2-1 > Line H/2 + 2 > Line H/2 > Line H/2 + 1
To deliver an unscrambled image into the buffer, configure the data stream as follows:
1. | Keep default DeviceTapGeometry settings: |
● | DeviceTapGeometry=Geometry_1X_1Y |
2. | Configure the DMA engine (as described in Unscrambling 1X_2YE images): |
● | StripeArrangement=Geometry_1X_2YE |
● | LineWidth=<WIDTH> |
● | LinePitch=<PITCH> (only required when it is not equal to <WIDTH>) |
(1-camera)
(1-camera)
(1-camera), (1-df-camera)
(1-camera)
● | This is the method defined by the CoaXPress standard. |
● | Since this method requires more FPGA resources it is only supported by above-listed firmware variants. |
The camera transmits the image data through two CoaXPress data streams:
Stream 1: Line 1 > Line 2 > … > Line H/2 - 1 > Line H/2
Stream 2: Line H > Line H - 1 > … > Line H/2 + 2 > Line H/2 + 1
To deliver an unscrambled image into the buffer, configure the data stream as follows:
1. | Merge the 2 streams (as described in Multi-tap CoaXPress Cameras): |
● | DeviceTapGeometry=Geometry_1X_2YE |
● | Image1StreamID=… (depends on the camera, typically 0) |
● | Image2StreamID=… (depends on the camera, typically 1) |
2. | Configure the DMA engine (as described in Unscrambling 1X_2YE images): |
● | StripeArrangement=Geometry_1X_2YE |
● | LineWidth=<WIDTH> |
● | LinePitch=<PITCH> (only required when it is not equal to <WIDTH>) |
If an EGrabber object is created from EGRabberDicovery::cameras, and, if a "1X_2YE (Method 2)" camera is detected, eGrabber automatically configures the data streams as described earlier. For instance, this the case when, in eGrabber Studio, the user creates a grabber using the Cameras view.
In any other case, the configuration must be performed by the user.
See also: Discovering grabbers and cameras