# Adding and manually calibrating Iris camera

## Adding a camera to the Viewport

<div align="left"><img src="/files/ZYfeLUbELfvQ8LSvoFgk" alt=""></div>

Insert an Iris camera and place it roughly where its physical counterpart is relative to the projection object. You also might want to adjust its frustum, so that it corresponds to the FOV of the physical camera.

<div align="left"><img src="/files/lUM1rnhRst9qa1xYVKZF" alt=""></div>

The easiest way to is to use **Lens override** dropdown.

## Mapping Iris camera

Before we can proceed to calibrating Iris camera, we need to map it to Iris device node and to the projection objects.

### Mapping Iris camera to Iris device node

<div align="left"><img src="/files/2aKwA9IWqcOfK2GcVrIe" alt=""></div>

Select Iris camera in Viewport. In its properties on the right, in **Device** section, select **Iris device node** you created in previous chapter.

{% hint style="info" %}
**Good to know:** Mapping *Iris camera* in the Viewport to an *Iris device* node tells Iris camera which physical Iris camera it should get its image from.
{% endhint %}

### Mapping projection objects to Iris camera

Mapping of projection objects to Iris camera in the Viewport is done either by dragging from projection object to the camera or by using the camera's **Sources** properties.

<div align="left"><img src="/files/hq1UEaVaK2IxheqO8ogr" alt=""></div>

Once this is done, the camera should see theprojection object in the *Viewport* and the image of the virtual object should appear when you select the camera.

<div align="left"><img src="/files/TLRCObf3hiaRTFUS0FVr" alt=""></div>

## Calibrating a camera

<div align="left"><img src="/files/PDKwmk8kMAoVAtWvre3p" alt=""></div>

To calibrate Iris camera, just double click on the camera in the viewport or right click on it and select **Setup**.

Iris’ 3DCal window will open and the process of calibrating the camera is more or less the same as the process of calibrating a projector. Therefore, we won’t go into the details here, but please refer to **3DCal chapter***:*

{% content-ref url="/pages/ocMISLUm5TLibi37zOs0" %}
[3DCal](/projection-mapping/3d-projection-mapping-workflow/3dcal.md)
{% endcontent-ref %}

The only difference between the 2 windows are these.

* In the 3DCal window of the projector, you select **Projected points** on the right hand side. In the camera’s window, you select **Physical points** and you click on the camera’s image itself (as opposed to clicking on the cursor on the projected object).
* Camera’s 3DCal window has *Stream* section in the properties, where you can adjust the settings of the device node.
* It also has *Overlay opacity* which is very helpful in order to visually judge the precision of the calibration process.

After you’ve selected 6 or more points camera will get calibrated. Below you will see an example of a good calibration of the camera.

<div align="left"><img src="/files/hDg3ux78qdyZdY162aPl" alt=""></div>

You can see, the reprojection error is below 1px and the yellow calibration lines are all parallel.

<div align="left"><img src="/files/ba33w4EKYjsFW0zZQH49" alt=""></div>

Another useful indicator of a good calibration, is changing the **Overlay opacity** (you can use shortcut ‘O’). If, when changing the *Overlay opacity*, the visual and physical image don’t change much, it means that the virtual camera is precisely where the physical camera is in relation to the projection object.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.lightact.com/projection-mapping/iris/adding-and-calibrating-iris-camera.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
