Skip to content

OmniCal Capture

Capture is the process of projecting structured light patterns, taking images of these and detecting blobs within these images.

  1. Define the position & properties of cameras and projectors.
  2. Setup the Capture.
  3. Perform the Capture.

OmniCal Stage Plan

In the Stage editor, under Projectors, click OmniCal Calibration to open the Calibrator widget. This widget controls the main OmniCal behaviour.

Once you have created a Capture Plan, you can click on it to open the OmnicalStagePlan widget.

In the OmnicalStagePlan we recommend working through the sections from top to bottom: Capture, Calibration, Alignment, and Mesh Deform (if required).

OmniCal Stage Plan

Workflow Example

Defining cameras & projectors

  1. Left-click the calibration editor from the stage editor to open it.
  2. To create a new Capture Plan, left-click on CapturePlan.
    This opens the capture plan manager.
  3. Enter a name in the New OmniCalStagePlan field and click OK.
  4. Right-click the newly created capture plan.
  5. If you wish to do a simulated capture, set Use simulated cameras to Yes.
  6. Click the + icon to add your cameras to the plan.
  7. Right-click on each of the plan cameras to open its camera plan editor, so you can make further changes.
  8. Adjust camera settings like offset, rotation or focal length as needed.
    The pose will be used for visualisation, and also for simulated captures.
  9. If you have physical cameras connected, then click Mobile Camera and select the appropriate camera from the list of discovered cameras.
    Ensure that the configured focal length matches the physical lens.
  10. Click the + icon to add your projectors to the plan.
  11. Make sure your projector outputs are correctly assigned in the Feed View.
  12. Make sure your projection surfaces are correctly assigned to the projectors.

Setup capture

When using real cameras (no simulation) Setup Capture requires the camera network to be set up correctly (see previous chapter OmniCal Setup.

  1. Left-click Setup Capture to open the Capture Editor.

  2. Click Black Level (all projectors) to capture the OmniCal camera view when projectors are outputting black. Black Level images should be fairly dark, but still allow recognition of important scene elements. Adjust using lens aperture (iris) on the physical lens and exposure time in Designer. Only use gain if the desired look cannot be achieved with other means.

  3. Click White Level and adjust the White Level (Brightness) value to make sure the camera images are not overexposed. Click on any projector to view and adjust it individually. The goal is to achieve a similar brightness for all projectors in the camera images.

  4. Click Alignment UI (all projectors) and adjust the Alignment (Brightness) value to make sure you can clearly see the grid on the projection surface. The goal is to have alignment images where you are able to visually identify parts of the real-world projection surface, so they can later be matched up in QuickAlign (after Capture and Calibration).

  5. Click Blob Grid to see how many blobs are projected, and how well they cover the surfaces you are calibrating.
    Then adjust the blob size and the grid size (Number of Blobs) according to your projector and camera setup.

  • The blob size is the size of projected blobs in pixels (in each projector’s output image). This should be chosen as small as possible, but so that blobs are still clearly visible in all camera images. Note that the same blob may appear smaller in cameras that are further away or use wider-angled lenses (smaller focal length).
  • The grid size is the number of blobs projected horizontally. Note that high values for grid size and larger blob sizes may lead to blobs touching each other. This must be avoided. Blob detection will fail if there is no clear gap between individual blobs.
  • Blobs should appear with enough contrast against the background (i.e. Black Level) to make them easy to recognise.
  1. Click Run Blob Detection to test the blob detection on all OmniCal cameras.
  • A test blob detection will take a few moments, until all cameras have taken images for all projectors. Results will be highlighted in each camera view.
  • Detected blobs will be shown in the respective projector colour.
  • At this stage, you may need to adjust camera aperture or exposure for better blob detection.
    To adjust exposure, click on the camera name and adjust the exposure time in the Camera Plan Editor.

Performing a capture

Capture preparation to avoid interference

During an ongoing capture we recommend the following:

  • The stage should be clear of interfering objects that might obscure the projection surface (e.g. ladders or other construction equipment).
  • No changing light levels.
  • No reflective surfaces in the projection path.
  • No moving projection surfaces.
  • No people walking across the projections or camera views.

Any such interference may lead to incorrect capture data that causes bad calibration results. If you notice any such interference or other captreu problems, then cancel the current capture, remove the source of the problem and start a new Capture.

To perform a capture

  1. Click Capture from the plan editor.
  2. The system will perform a capture, the time taken will depend on the number of projectors and cameras and whether projectors are converging or not. For example, 4 cameras and 4 non-converging projectors takes roughly a minute.
  3. Verify the results of the capture by clicking View Capture.
  4. Click Blob Detection Results to see which blobs were detected in the cameras.
  5. Verify that the blob detection results are as expected. These results should be consistent with what you saw earlier in the capture setup.
  6. Blob statistics show how many cameras observe / detect a projector’s blobs. An observer ratio of 50% or higher would be ideal.

Managing OmniCal data on disk

OmniCal Plan data on disk

OmniCal’s Plan workflow stores a mix of data on the hard disk, rather than in the .d3 project itself.

This includes:

  • OmniCal settings
  • Captured images
  • Calculated blob detection results
  • Calibration results
  • Alignment data

This data is stored in subfolders of the d3 project’s internal/opticalstageplan/ folder.

Every Plan has its own set of data, and its subfolder has the same name as the associated Plan object in Designer.

The data in the internal folder is managed together with the d3 plan object: When the Plan object is deleted, and the d3 trash is cleared, any associated folder is also deleted from the harddisk.

OmniCal RigCheck data on disk

RigCheck data is treated the same as Plan data, except that it is stored in the d3 project subfolder internal/opticalresult/. At the beginning of a RigCheck all settings (including alignment data) are copied from the Plan to the new RigCheck result.