Skip to main content
Skip table of contents

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

  1. Pixotope Tracking generates a marker pattern which is sent to Pixotope Graphics

  2. Pixotope Graphics creates mappings and displays the maker pattern on the LED panels

  3. Pixotope Tracking generates Digital Twin data based on the position and orientation of each LED panel and sends it to Pixotope Graphics

  4. 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

  1. Open the Marker Pattern Generator:

  1. Click + Add Body on the upper right side to add as many bodies as you need. Name them to be able to identify them

  2. For a digital twin the Shape should always be Arbitrary

  3. 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.

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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:

  1. You can enable Border Settings to remove a line or column of markers at the edge of the body

  2. You can enable Color Settings to change the colors used for background, markers and corners

  3. A GhosTrack pattern can be created when enabling the GhosTrack Settings

  4. 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

  1. 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:

    1. The Master Marker determines the position of the origin. It is by default in the lower left corner of its panel

    2. The Axis Marker determines the secondary axis (Z for LED wall setup and Y for LED floor setup)

    3. The Axis Marker also determines the scale by its distance to the Master Marker. A blue line drawn into the pattern preview indicates this

    4. The Plane Marker determines the primary axis (X for LED wall and floor setup)

  2. Select Axis Setup

  3. 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.

  1. 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.

  1. 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

  1. Save the configuration file locally (usually /home/tracking/pxVision/VioStudio.cfg) using the “File” menu in the top left corner

  2. 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.

  1. 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

  1. Open your XR level in the Pixotope Editor

  2. Add the Digital Twin XR actor to your scene

    • The actor gets automatically placed as a child underneath the camera root

  3. 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" license

  • OR 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

  1. Click "Create All Mappings"

  2. Select the LED Body you are creating a mapping for

    • All Bodies is selected by default

  3. Select a routed output to specify the mapping size

    • The graphics scale is fixed to Pixel Perfect

  4. 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

  5. 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

  6. Click "Create mapping"

Create single mappings

Create single mappings
  1. Click "Create Mapping"

  2. Select the LED Body you are creating a mapping for

  3. Specify how many columns and rows it should cover

    • To only select a specific range, uncheck "All Columns" and enter From and To values

      • Columns and Rows start with 0. You can use -1 to indicate the maximum value.

    • NOTE: The pixel size available vs needed for the selected range can be seen on the bottom of the dialog after you have selected “Output size from”

  4. Select a routed output to specify the mapping size

  5. Select the graphics scale

    • Use the Scaled option only for testing as it reduces the picture quality

  6. Click "Create mapping"

Repeat this step to create more mappings, if your LED wall resolution is larger than your output resolution.

Select output machines

Select output machines

In a multi-machine setup you can specify which mapping should be rendered by which machine.

  1. Expand the details of a specific mapping

  2. Click on "Select XR walls"

    • The detail view switches to the XR walls related to this mapping

  3. Select the Output channel, if you have multiple outputs available

  4. Enter the machine name which should

Identify your mappings

Identify your mappings

To check that your mappings have been setup and output correctly.

  1. Expand Display Mode

  2. Choose "Identify" for the XR Wall Texture

2.3 Display the tracking pattern

  1. Expand Display Mode

  2. Choose "Pattern" for the XR Wall Texture

  3. 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

  1. Start "Pixotope Vision Marker Calibration" (or "GhostTrack Marker Calibration")

  2. Open the Settings and activate “Show expert settings”

  3. 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)

  1. 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

  1. Start "Pixotope Vision Marker Calibration" (or "GhostTrack Marker Calibration")

  2. Configure to use the sensor camera and the correct lens file and set the video settings for good visibility

  3. Set the distance factor to a relatively low value, for example 0.10

  4. 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

  5. Open the Marker Calibration menu

  1. 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

  2. Optional: determine the origin, orientation and scale manually:

Manual specification
  1. Refine the coordinates by clicking in the Keyframes, as described in the Pixotope Tracking documentation. this will overwrite the coordinate system setup done in the Marker Pattern Generator

  2. It makes sense to put the zero plane on the floor. For being able to click on points on the floor, place marks like tape underneath the corners of the LED wall.

  1. If you also want to set the scale manually, enable Manually specify distance and type in the measured distance between the red and the blue point

  2. Remember to set the axes correctly

  1. 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.

  1. 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

  1. 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).

Advanced: Tweak XR wall alignment

Having to tweak the alignment of the XR wall elements should not be necessary, however there might be cases where a small update to the alignment of the XR walls improves the result.

To try this:

  1. Select one of the below options

  2. Click on "Update Digital Twin"

    • The data from Pixotope tracking is read and updated based on selected option

Wall alignment

Description

None

No update to the imported data is made (Default)

Keep size and position

Updates only the rotation while keeping the size and position

Keep size

Updates rotation and position while keeping the size

Best possible (alignment)

Updates rotation, position and size

Wall alignment repeat

Repeats the alignment process

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:

  1. 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:

  1. Expand Display Mode in the Digital Twin Details

  2. 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

  1. 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

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.