OmniCal Capture
Capture is the process of projecting structured light patterns, taking images of these and detecting blobs within these images.
- Define the position & properties of cameras and projectors.
- Setup the Capture.
- Perform the Capture.
Workflow Example
Defining cameras & projectors
- Left-click the calibration editor from the stage editor to open it.
- To create a new Capture Plan, right-click the capture plan.
This opens the capture plan manager. - Entering a name in the New Plan field and click OK.
- Right-click the newly created capture plan.
- At this point, if you wish to do a simulated capture, set Use simulated cameras to Yes.
- Click the + icon to add each of your cameras to the plan.
- Right-click on each of the plan cameras. This will open each Camera plan editor.
- Click Mobile Camera and select the required camera from the list of available cameras.
If you are doing a simulation, you can choose your virtual camera settings here. - Click the + icon to add your projectors to the plan.
- Make sure your projector outputs are correctly assigned in the Feed View.
Camera Stats
Camera stats are available in the Cameras collapsible widget.
- Create plan and make sure to assign the physical OmniCal cameras in the plan. If you see Camera Stats greyed out, then you have not finished this step, or no physical cameras have been discovered.
- Right-click the widget header to show columns:
- This displays camera stats and feedback of settings (such as IP, name). only displays plan cameras.
- Click Start Per Cam to enable stats feedback.
Visit this link for additional information about each of the specific stats.
Setup capture
-
Left-click Setup Capture to open the Capture Editor.
-
Click Black Level (all projectors) to capture the OmniCal camera view when projectors are outputting black. Camera images should be fairly dark, so adjust using lens aperture (iris) and exposure time. Only use gain if the desired look cannot be achieved with other means.
-
Click White Level and adjust the White Level (Brightness) value to make sure the camera images are not over exposed. 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.
-
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).
-
Click Blob Grid Set the blob size and the grid size.
- 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.
- We want our blob appear with enough contrast.
- Click Run Blob Detection to test the blob detection on all OmniCal cameras. Detected blobs will be shown in the respective projector colour.
-
Click Grid to see how many blobs are projected, and how well they cover the surfaces you are calibrating.
-
Next, click Blobs.
- A test blob detection will be performed highlighted in the camera views. The colour coding of the blobs is based on the colour of the projector wireframe. The blobs should be made as small as possible, whilst still being detected in this view.
At this stage, you may need to adjust camera 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
While performing a capture, we recommend the following:
- The stage should be clear.
- No changing light levels.
- No people walking across stage.
To perform a capture
- Click Capture from the plan editor
- The system will perform a capture, the time taken will depend on number of projectors & cameras and whether projectors are converging or not. For example, 4 cameras & 4 projectors non converging takes roughly a minute.
- Verify the results of the capture by clicking View Capture.
- Click Blob Detection Results to see which blobs were detected in the cameras..
- Verify the blob detection results are as expected. These results should be consistent with what you saw earlier in the capture setup.
- Blob statistics show how many cameras observe / detect a projector’s blobs. An observer ratio of 50% or higher would be ideal.
If something went wrong during the capture (change in light levels, people walking across the stage, moving objects…), then perform the Capture process again.
Column descriptions
- Frames incomplete is the only one measured by and provides some feedback to the user as to the stability of the cameras in
vimbacamserver
.This setting indicates that failed to validate the frame data or there may have been an exception when handling frame data from Vimba API. - Change mv camera BW to adjust bw per camera. This is split between cameras.
- The graph button will show the stats in graph format.
- Bandwidth allocation can be adjusted while diagnostics are running.
- Dropped packets means you need to lower the bandwidth settings or there is a physical problem like a bad cable
Colour indicators
-
Green: This means cameras are ok and receiving data from
vimbacamserver
(with respect to the stats measuring incomplete frames between each receipt of stats). -
Red: This means there have been incomplete frames between the last read and the current read. The count of incomplete frames will continue to increase. The red colour will reset if there have been no incomplete frames between each read of the stats.
-
Grey: This indicates the camera has been disabled.
-
Brown: indicates the camera is disconnected/ offline.
Managing 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.
If users want to compare the impact of different Plan setups or settings, we advise making a copy of the relevant Plan, making any changes to it, and then starting a new Capture for this plan copy. This will allow users to switch between the two plans to understand the impact of their changes.