The goal of auto-calibration consists in obtaining one seamless display composed of multiple outputs like presented on the image below:


To perform auto-calibration, you will need the following equipment:

  • Your Modulo Player or Modulo Kinetic media server equipped with the auto-calibration option
  • PoE switch
  • Camera:
    - For FLIR camera setup, see this topic
    - For IDS camera setup, see this topic

Auto-calibration steps

Step 1/10 – Instructions

In order to achieve a better auto-calibration, prepare your environment:
1. For each projector, be sure the following build-in settings apply:
On the projector:
- Automatic keystone set to OFF
- Overscan set to OFF
- Noise reduction set to OFF

2. For better image contrast, consider minimizing the influence from the external light sources (turn the lights off).

Step 2/10 – Defining groups

This page allows defining auto-calibration group(s). Each group contains a set of outputs that need to be calibrated and a dedicated camera.
In addition, this window allows to choose the auto-calibration mode:
- Default: It should be used for the first auto-calibration. You proceed through all the steps, i.e. full control on calibration parameters.
- One-click calibration: Brings you directly to step 10, image acquisition. In this mode, the new image capture is made using the parameters defined during the last Default calibration. This mode is useful in case one of the projectors has moved, so you need to update auto-calibration and keep the same masks and warp. If it was the camera that has moved, the display mask and the warp may not be valid anymore (consider to run the auto-calibration in Default mode).

By clicking Next, you continue the auto-calibration in Default mode.

Step 3/10 – Selecting outputs

To add an output to auto-calibration, select the corresponding V-Node server, then drag & drop the output you want to add.
Blend group should be used only for multiple layer configurations (such as dual projector configuration). In this case, the blending will be performed only between the outputs of the same group.

Some examples:

  • Flat screen. 2 projectors side by side
    Blend group Output
    0 outputLeft
    0 outputRight

  • Curved screen. 4 projectors, 2 duals side by side
    Blend group Output
    0 outputLeft1
    1 outputLeft2
    0 outputRight1
    1 outputRight2

Step 4/10 – Selecting camera

On this page, select the camera that will be used for auto-calibration. The right panel displays the list of all available cameras.

Step 5/10 – Setting camera parameters

The main parameter in this section is camera exposure. You need to ensure good contrast between projector black and white (see example below).
For gain, the minimal value should apply. The only reason to increase gain is when the exposure is at its maximum but the contrast is too low.

Exposure too low Exposure OK Exposure too high

The second group of parameters is for image crop. While it does not have a direct impact on the results of auto-calibration, image crop offers some advantages: It increases the speed of image(s) acquisition, and the acquired image(s) take less space on the hard drive.

No crop Crop

Step 6/10 – Pattern settings

Pattern size slider allows defining the size of the projected pattern. This parameter has a huge impact on the results of calibration.
The most appropriate value may be very different from one setup to another, and can only be determined experimentally. The good rule of thumb is to choose such pattern size so you have approximately 20 circles along the output width.

Avoid pattern sizes that are too small or too big.

Too small Ok Too big

Step 7/10 – Configuration

At this step, the user is asked to choose the type of display that is actually calibrated. Clicking on the corresponding button load the preset for the parameters in the advanced tab.

Deformation tolerance parameters take four possible values: Low, Normal, High, Very high. It defines the rigidity of the transformation that the algorithm is allowed to apply to the output image. You should take a higher tolerance to compensate the imperfection of the screen surface.

Advanced parameters:
- Filter features by size: This option allows to discard features (blobs) that are too different from an average size of all detected blobs. It should be active only for flat or almost flat screens.
- Auto threshold: Allows choosing whether pattern binarization is performed automatically or using the threshold defined in Step 9.
- Undistort image: Undistort image during calibration
- Display outside camera view: Tells the algorithm whether the camera sees the whole display or not. By setting this parameter to On, the algorithm will consider the zones invisible by the camera as zones without blending (full projection). Otherwise, it will set blending to zero (no image emitted).
- Update regions from displacement map: Should be used only for flat screens, in case the camera does not see the whole screen.

Step 8/10 – Global mask definition

In this window, you can control the mask that is applied to the whole screen. In the following example, there will not be any projection outside the blue area. In order to start drawing the mask, click on the “+” button (add path).
See MaskEditor for more details (under development).
Specifying no mask is equivalent to drawing a mask covering the whole screen.

Step 9/10 – Mask per output

Each auto-calibration output has a mask. The mask corresponds to the area of the display that is covered by the given output (projector). The parameter binarization threshold allows to adjust it. The blue area on the image corresponds to the zone that will then be used for the blending of the output.

The value of the threshold is right when the blue area on the image corresponds best to the area covered by the output.

Too low Ok Too high

Step 10/10 – Acquiring images

Displays the progress of image acquisition.

Need more help with this?
Don’t hesitate to contact us here.

Thanks for your feedback.