Transitioning to Ladybug6

Applicable Products

Ladybug®6

Application Note Description

The purpose of this application note is to:

  1. Answer some frequently-asked questions about transitioning to Ladybug6 from Ladybug5+.
  2. Outline the primary similarities and differences between the two cameras.
  3. Offer suggestions and pointers to users for migrating their custom applications to Ladybug6 from Ladybug5+.

Questions about Upgrading to Ladybug6 from Ladybug5+

Is Ladybug5+ being discontinued?

No.

What hardware is required to use Ladybug6?

  • Interface Card—The Ladybug6 requires a USB 3.1 Gen 1 PCIe host controller compliant with the SuperSpeed USB Specification and the xHCI Specification.
  • Cable—The Ladybug6 requires a USB 3.1 Gen 1 Type-A to M12 X-coded connector cable with locking screws.
  • Power supply—Power must be provided through the 12-pin GPIO interface. The required input voltage is 12-24 V.
  • GPIO—In addition to power, the 12-pin GPIO connector is used for external trigger input, strobe output, power, and PPS.

There is a development kit (DEVKIT-01-0008) offered to support the Ladybug6 which includes:

  • Interface Card—USB 3.1 Gen 1 Host Controller Card (Dual port) (ACC-01-1201)
  • Cable—1 m USB 3.1 Gen 1, Type A-male locking to M12-male (ACC-01-2308)
  • Cable—3 m USB 3.1 Gen 1, Type A-male locking to M12-male (ACC-01-2309)
  • Cable—5 m USB 3.1 Gen 1, Type A-male locking to M12-male (ACC-01-2310)
  • Power Supply (ACC-01-9001)
  • GPIO—Hirose to DC barrel connector + pigtails (6 m) (ACC-01-3012)
  • Mount—Desktop tripod mount combination (ACC-02-0001)
  • Hub—USB 3.1 Gen 1 Hub VIA VL812 1-port screw locks (ACC-01-6001)

All items in the development kit can be purchased separately by individual part numbers.

Can I run Ladybug6 with my existing application?

The Ladybug SDK version 1.18 (or newer) is required to run Ladybug6.

API changes are minimal but you will have to rebuild your application with the latest library.

Using an earlier version of the Ladybug SDK with Ladybug6 is not supported.

Image Processing Pipeline

TAN2017007-Transition-LD5-LD5Plus.png TAN2017007-Transition-LD5-LD5Plus-1.png

Image Processing

For both Ladybug5+ and Ladybug6, when using the JPEG8 pixel format, some image processing is done on the camera during capture before being output to the PC. Additional post processing is then performed on the PC.

For Ladybug6 there is a new format - JPEG12Processed - which operates like JPEG8 with higher bit depth.

When using the JPEG12 (unprocessed) pixel format, most of the image processing is done on the PC. This processing is done as part of ladybugConvertImage(). This allows users to fine tune the output settings independently from image capture.

User access to adjusting the parameters for image processing is available in LadybugCapPro or via CSRs.

Pixel Format On Camera Processing Post Processing on PC

JPEG8

JPEG12Processed*
*new to Ladybug6

Gain
Black level
Pixel correction
White balance
Gamma
Stitching
Fall off correction
Sharpening
Tone mapping

JPEG12 (unprocessed)

Pixel correction Stitching
Falloff correction
Sharpening
Tone mapping
Bayer decoding
Gain
Black level
White balance
Gamma
EV compensation

Frame Rates

Panoramic Image (Full Height Acquisition Mode) Ladybug6 Ladybug5+
Resolution (MP) 72 30
Dimensions (WxH) 12,288 x 6,144 8,192 x 4,096
Frame Rate (FPS) 15 30
Frame Rate in Standard External Trigger Mode 0 (FPS) 13.9 25.6
Frame Rate in Overlapped Exposure Readout Trigger Mode 14 (FPS) 14.9 30
Panoramic Image (Half Height Acquisition Mode) Ladybug6 Ladybug5+
Resolution (MP) 36 15
Dimensions (WxH) 6,144 x 6,144 4,096 x 4,096
Frame Rate (FPS) 29.9 60
Frame Rate in Standard External Trigger Mode 0 (FPS) 25 45
Frame Rate in Overlapped Exposure Readout Trigger Mode 14 (FPS) 28.7 60

Shutter Range

Both Ladybug6 and Ladybug5+ offer four preset shutter range modes to set the maximum shutter value:

  • Drive Highway—maximum shutter is set to as short as possible to prevent motion blur. Best used outdoors at high speeds or images may be too dark. This is the default.
  • Drive City—maximum shutter is slightly longer than highway mode, suitable for slower speeds (~45 km/hour or 25 mph).
  • Indoor—maximum shutter is slightly longer than the drive modes, for use in indoor applications.
  • Low Noise—maximum shutter is not restricted.

Auto Exposure Modes

Both Ladybug6 and Ladybug5+ offer three preset modes for the auto exposure algorithm:

  • Bottom 50%—uses only the bottom 50% of the five side cameras and excludes the top camera from its calculations.
  • Top 50%—uses only top 50% of the five side cameras and includes the top camera in its calculations. This is the upside down version of the first mode, used when the camera is mounted upside down (for example, on a helicopter).
  • Full Image—uses the entire image of all six cameras for its calculations. This is the default.

For 8-bit and JPEG12Processed pixel formats, the auto exposure modes are set for image capture. For JPEG12 (unprocessed), the auto exposure modes are set both for image capture and post processing on the PC.

Software Workflow

Image Acquisition

The Ladybug6 can be started and controlled in the same way as Ladybug5+.

However, there are some changes to your source code that should be made.

  • Auto buffer usage should be enabled in JPEG data formats, instead of using a fixed JPEG quality value. This allows the camera to adjust the JPEG compression quality in order to fit the image into the available buffer size. The camera clamps the maximum quality value used to 80%. You can control the feature using ladybugSetAutoJPEGQualityControlFlag(), and control the buffer usage using ladybugSetAutoJPEGBufferUsage(). A buffer usage value between 90% to 95% is suggested.
  • The default SDK settings when starting the camera are designed to allocate the appropriate frame buffer sizes in order to support 15 FPS or 30 FPS acquisition via an Intel host controller. If the desired frame rate or bandwidth is lower, the default SDK settings may be inadequate. Please see TAN2017010 - Using Packet and Buffer Size to Adjust Frame Rate on Ladybug for further information on how to optimally tune your settings.

Stream Recording

The Ladybug6 has the same maximum bandwidth and the amount of data written to disk per second is the same as Ladybug5+. It is possible to greatly reduce the amount of data sent in JPEG modes by reducing the compression quality.

Image Processing and Stitching

The workflow for data formats with on-camera image processing remains the same. See the LadybugPanoStitch example for an example.

For data formats that do not perform image processing on-camera, see ladybugImageAdjustment.h in the \include directory for image processing parameters as well as usage instructions. In addition, the LadybugCapPro application provides a graphical interface to these parameters.

In both cases, ladybugConvertImage() prepares the image for output purposes, including JPEG decompression, Bayer demosaicing as well as image post processing.

Image Output

The image output functionality remains the same as previous LadybugCapPro versions. If a full resolution panoramic image is desired, it is recommended that an output size of 12288 x 6144 (pixels) is used.

Ladybug SDK release 1.18 supports the following formats:

Image output formats: Video output formats:
  • JPG
  • BMP
  • PNG
  • TIFF8, TIFF16
  • AV1
  • H.264
  • H.265
  • VP9

HDR, FLV, and WMV are no longer supported.

Image Size

For Ladybug6, the size of a single sensor image after image conversion is 4096 x 2992.
For Ladybug5+, the size of a single sensor image after image conversion is 2464 x 2048.

If your software allocates its own memory for image conversion and texture updating, the amount of memory to be allocated should be 6 x W x H x (bytes per channel), where bytes per channel is 1 for 8‑bit modes and 2 for 12-bit modes.

For example, the memory size required to contain a JPEG8 image after conversion is:

Ladybug6:  6 x 4096 x 2992 x 1 = 73,531,392 bytes Ladybug5+: 6 x 2464 x 2048 x 1 = 30,277,632 bytes

Detailed Comparison between the Ladybug6 and Ladybug5+

Mechanical Properties

Description Ladybug6 Ladybug5+
Digital Interface M12 X-coded 8-pin USB 3.1 Gen 1 for camera control and video data Micro-B USB 3.1 Gen 1 for camera control and video data, with locking screws for secure connection
General Purpose I/O Ports 12-pin GPIO connector for external trigger input, strobe output, power, and PPS
IR Filter The infrared cut-off filter used has the same transmittance properties
Dimensions 198 mm x 269 mm 197 mm x 160 mm
Optics Six high quality 6.94 mm focal length lenses Six high quality 4.4 mm focal length lenses
Angular FOV (per rotatated sensor) Vertical: ~117.4° / Horizontal: ~85.9° Vertical: ~113.4° / Horizontal: ~94.8°
Case Machined aluminum housing, anodized red or black; single unit, IP65 water resistant
Mass 5.2 kg 3 kg
Mounting The case is equipped with five M4-0.7 x 8 mm mounting holes on the bottom that can be used to attach the camera directly to the desktop mount, tripod adapter,
or a custom mount.
Desiccant Desiccant plug to minimize moisture in the enclosure and prevent lens fogging
Transfer Rates 5 Gbit/s

GPIO Properties

The GPIO pinout is the same between Ladybug6 and Ladybug5+.

Ladybug6 has enhanced noise immunity protection on the bi-directional GPIO IO2 and IO3.

Diagram Color Pin Function Description
GPIO_12Pin.png Green 1 OPTO_GND Ground for opto-isolated IO pins
Blue 2 I0 Opto-isolated input (default Trigger in)
Brown 3 O1 Opto-isolated output
Orange 4 IO2 Input/Output / GPS data
White 5 +3.3 V Power external circuitry up to 150 mA
Black 6 GND Ground for bi-directional IO, VEXT, +3.3 V pins
Red 7 VEXT Allows the camera to be powered externally
Red 8 VEXT Allows the camera to be powered externally
Red 9 VEXT Allows the camera to be powered externally
Green 10 OPTO_GND Ground for opto-isolated IO pins
Yellow 11 IO3 Input/Output / PPS signal
Black 12 GND Ground for bi-directional IO, VEXT, +3.3 V pins

Hardware/Electronics

Description Ladybug6 Ladybug5+
Power Interface via GPIO only, not via USB3 interface
Power Consumption 12-24 V, 13 W
A/D Converter 12-bit
Environmental Sensors Temperature, Humidity
LED One general purpose status LED for monitoring camera power, initialization, and USB3 activity
Operating Temperature -30° to 50°C -20° to 50°C
Storage Temperature -30° to 60°C
Relative humidity Operating 20 to 80% (no condensation)
Relative humidity Storage 20 to 95% (no condensation)
Field of view ~90% of full sphere
Spherical Distance Calibrated from 2 m to infinity
Focus Distance ~200 cm. Objects have an acceptable sharpness from ~100 cm to infinity ~200 cm. Objects have an acceptable sharpness from ~60 cm to infinity

Firmware

Both Ladybug6 and Ladybug5+ adhere to the IIDC v1.32 specification and the firmware operates similarly in both cameras.

Description Ladybug6 Ladybug5+
High Dynamic Range Cycle 4 gain and exposure presets
External Trigger Modes Trigger Modes 0, 1, 3, 14, 15
Gain 0 dB to 18 dB
Gamma 0.50 to 4.00
Shutter Speed 0.02 ms to 2 seconds
(extended shutter mode)
Shutter Type Global Shutter
Memory Channels 2 memory channels for custom camera settings
Flash Memory 1 MB

Software, Driver, and System Support

Description Ladybug6 Ladybug5+
Ladybug SDK versions 1.18 or newer 1.15 or newer
Recommended Operating Systems Windows 10, 64‑bit /
Ubuntu 20.04 64-bit
for capture and recording
ARM64 for capture only
Windows 10, 64‑bit
Ubuntu 16.04 64-bit, for capture and recording only
Software Requirements for Ladybug SDK Microsoft Visual Studio 2015, or newer
g++ 9.3.0, or newer
Microsoft Visual Studio 2010, or newer
g++ 5.4.0, or newer
CPU (recommended) 11th Gen Intel® Core™ i7 Processor
RAM (recommended) 8 GB for capture and recording  / 16 GB for post processing

Dimensions

The Ladybug case has a dowel pin locator to ensure consistent orientation when mounting.

TAN2022001-Prelim-Diagram.jpg

Ladybug6 Dimensional Diagram

 

Dimensional-LD5P.jpg

Ladybug5+ Dimensional Diagram