Calibrate XR alignment
This process requires an XR license for Pixotope Graphics and the Vision or GhosTrack edition of Pixotope Tracking
When doing XR, it is essential to perfectly align the physical LED wall with its virtual representation (XR walls). This is the baseline for projecting graphics onto them and achieving a believable parallax and XR/AR-set extension illusion.
Historically this has been done manually measuring the size and location of the LED wall. Having a LIDAR scan of the geometry helped. This process is obviously quite time consuming and hard, but can still be seen as a fallback solution.
Learn more about Manual XR alignment
Automatic alignment process
Together with Pixotope Tracking we provide an automatic way of alignment, where image processing is used to scan the actual position and orientation of each individual LED panel.
This is a 4-step process
Pixotope Tracking generates a marker pattern which is sent to Pixotope Graphics
Pixotope Graphics creates mappings and displays the maker pattern on the LED panels
Pixotope Tracking generates Digital Twin data based on the position and orientation of each LED panel and sends it to Pixotope Graphics
Pixotope Graphics updates the Digital Twin XR Actor based on the digital twin data
1. Generate marker pattern using Pixotope Tracking
Create a marker pattern that covers all LED bodies of the XR stage. You can create multiple patterns by dividing parts of the XR stage into bodies. Each wall, floor or ceiling segment can be a new body. An LED body is one continuous LED surface. A curved LED wall with an extra LED floor would be 2 separate bodies.
Prerequisite: The Pixotope Vision sensor camera needs to be calibrated. Meaning that a lens file has to be made.
1.1 Marker Layout
Open the Marker Pattern Generator:
Click + Add Body on the upper right side to add as many bodies as you need. Name them to be able to identify them
For a digital twin the Shape should always be Arbitrary
Enter the specifications of the LED panels which you are using. That is: Number of Panels, the Panel Size in meters and the Number of Pixels that one panel consists of. This information refers to that specific body and can differ between multiple bodies.
With Panels per Marker you can extend one marker over multiple panels. If multiple panels display a single marker, these panels must be completely planar
Marker Spacing determines the space between the markers. As a rule of thumb we recommend the empty space between the markers to be half the size of a marker. If the space between markers is too small there can be interference in the individual marker detection
Rotate Markers rotates the markers by 90 degrees. Since the markers are wider than high, this enables you to expand one marker over two panels vertically. A curved LED wall is a use case for this, because panels are planar for each of its column. The markers can be larger that way
Checkered Pattern removes every other marker. This enables you to increase the size of the markers without any interference between them. Larger markers are easier to recognize from greater distance
Start / End Code refers to the code of the first and the last marker of this body. Every Marker as a unique code which is determined by its missing dots in an ascending order:
You can enable Border Settings to remove a line or column of markers at the edge of the body
You can enable Color Settings to change the colors used for background, markers and corners
A GhosTrack pattern can be created when enabling the GhosTrack Settings
The Export Image button exports the pattern as a .png file
1.2 Coordinate System
The preferred setup for a wall is to have the lower left corner as the origin and have the X-axis going through the lower right corner of the LED wall. The Z axis then goes upwards along the left edge of the LED wall
Choose Master, Axis and Plane marker by right-clicking onto the respective markers. These three markers determine origin, axes and scale of the coordinate system:
The Master Marker determines the position of the origin. It is by default in the lower left corner of its panel
The Axis Marker determines the secondary axis (Z for LED wall setup and Y for LED floor setup)
The Axis Marker also determines the scale by its distance to the Master Marker. A blue line drawn into the pattern preview indicates this
The Plane Marker determines the primary axis (X for LED wall and floor setup)
Select Axis Setup
Choose the Master Marker and Master Position. Master Position offsets the position of the origin from the default position. The default position ( Master position = 0,0,0) is the lower left corner of the Master Marker panel
If an LED wall is above the ground it is necessary to offset the Master position down to the floor directly underneath it. For example, if the LED wall is 15cm above the floor and you have selected the lowest left marker as Master, put 0.15 into the z-field of the Master Position. This will offset the entire X-axis to the floor.
Choose the Axis Marker. The scale is determined automatically by the distance between the Axis Marker and the Master Marker. For this to be correct, all LED panels on the line between the Axis Marker and the Master Marker must be planar
Choose the marker that is the furthest away from the Master Marker and that is planar to it, because a larger distance allows more precise calculations.
Choose the Plane Marker that will determine the X-axis. If possible, choose the lowest marker on the right. The X-axis will then go through the lower right corner of the LED wall.
The coordinate settings can also be defined “manually” by clicking onto three points in the reconstruction, as described in the Pixotope Tracking manual. This will overwrite the coordinate setup defined in this chapter.
Please be aware that an LED wall might not be perfectly 90 degrees upright. So defining the coordinate system with three points on the wall or three points on the floor can result in different axis angles.
1.3 Sending Pattern to Pixotope Graphics
Save the configuration file locally (usually /home/tracking/pxVision/VioStudio.cfg) using the “File” menu in the top left corner
To save the marker pattern configuration as well as the marker pattern .png-file onto the Pixotope Graphics Engine, click Save to Pixotope Store using the “File” menu in the top left corner
Please be aware that the Pixotope Graphics engine you are sending to must be running as a Server. Go to Machine Settings to change.
Select the IP address of the Pixotope Engine and Connect. Then Click Save to Store
The same marker pattern can be used for calibrating the offset between the sensor camera and the film camera as well as for determining the optical parameters of your zoom lens. Also the AutoInit function can use the same markers. Please see the Pixotope Tracking documentation for more details.
2. Create mappings using Pixotope Graphics
2.1 Create the initial Digital Twin
Open your XR level in the Pixotope Editor
Add the Digital Twin XR actor to your scene
The actor gets automatically placed as a child underneath the camera root
Click the "Create Digital Twin" button on the Digital Twin XR actor
For every single LED tile of a body, an XR wall actor is being created
At this point these XR walls are displayed in a plane and are not yet positioned correctly.
2.2 Create mappings of LED Bodies
A mapping defines which XR walls/which parts of your LED wall are being outputted together. If your LED wall resolution is larger than your output resolution, you will need
Multiple render machines
OR Multiple outputs
NOTE: This option needs an "Additional output" licenseOR Select “Scale to Fit” under Graphics Scale while creating the Mapping
NOTE: This will not use the full resolution potential of your wall
You can create all mappings at once or one at a time.
Create all mappings
Click "Create All Mappings"
Select the LED Body you are creating a mapping for
All Bodies is selected by default
Select a routed output to specify the mapping size
The graphics scale is fixed to Pixel Perfect
Enable Split Mapping Evenly to balance the distribution of rows and columns between mappings
By default a single mapping would cover as many rows as possible
Enable Auto Select Output Machines to automatically assign outputs of machines to the output channel of the created XR walls/mappings
To change this later see Select output machines below
Click "Create mapping"
Create single mappings
Select output machines
Identify your mappings
2.3 Display the tracking pattern
Expand Display Mode
Choose "Pattern" for the XR Wall Texture
The blue squares in the corners of the pattern must match the corners of the LED pattern.
3. Generate Digital Twin data using Pixotope Tracking
3.1 Setup Data hub connection
Start "Pixotope Vision Marker Calibration" (or "GhostTrack Marker Calibration")
Open the Settings and activate “Show expert settings”
Go to the DataHub tab and enter the Pixotope Data Hub IP address which can be found in Director > Status panel (lower right corner in the Director)
Save and restart "Pixotope Vision Marker Calibration" (or "GhostTrack Marker Calibration") to have the program connect to the Pixotope Data hub
3.2 Generate the digital twin data and send it to Pixotope Graphics
Start "Pixotope Vision Marker Calibration" (or "GhostTrack Marker Calibration")
Configure to use the sensor camera and the correct lens file and set the video settings for good visibility
Set the distance factor to a relatively low value, for example 0.10
Perform a reconstruction of all LED bodies including each marker from different angles and positions of the sensor camera, including being close to the panels
Open the Marker Calibration menu
Make sure that the program sees and identifies as many markers as possible (indicated by the yellow marker detection). Find the ideal Threshold value in the Image Segmenter on the right side. Master, Axis and Plane Marker must be included in at least two keyframes
Optional: determine the origin, orientation and scale manually:
Click "Process Markers" and check if theoretical position of markers (in red) matches the actual markers and if the coordinate system is correct a grid will indicate the origin and the three axes as well as the zero plane. The Digital Twin data is being sent to the Pixotope Store in the moment when the processing of the markers is finished.
Save the AutoInit file (“AutoInit.cfg”) and the Marker file (“VioMarker.cfg”) in the folder /home/tracking/pxVision.
The Digital Twin data can later be used to fine tune the precision of the tracking. Please see the Pixotope Tracking documentation for more details.
4. Update the Digital Twin
Click "Update Digital Twin" in the Digital Twin XR actor in the graphics engine. This will apply the digital twin data to this actor and thus reshape and relocate the XR wall(s).
If the pixel data of the LED wall has changed, existing mappings have to be recreated.
Enable Auto Update Digital Twin to continuously read the Digital Twin Data sent from Pixotope Tracking. This is mainly used for testing.
To completely start over:
Click "Delete Digital Twin”
This will reset the Digital Twin XR actor and delete all related XR walls.
The digital twin data which was sent to Pixotope Graphics is NOT deleted.
Check your calibration using an AR machine
To check how accurate your Digital Twin is:
Expand Display Mode in the Digital Twin Details
Choose "Calibrate" for the XR Wall Texture
On all XR machines: XR walls are output with red edges:
On the AR machine: XR walls are output with green edges:
When the wall is perfectly calibrated, the lines should overlap and appear yellow:
Create XR holdout
Click "Create XR Holdouts" to create translucent holdouts for all LED Bodies
Optionally: Change the Holdout Expand value before creating the holdout to slightly expand the holdout.
XR holdouts are not rendered when XR is enabled
Learn more about how to Set up a virtual set extension with translucent holdouts