Physical Camera Overview

The Physical Camera enables the creation of a lens system with an optimized propagation engine, enhancing ray convergence and accounting for ghost images. The Physical Camera is meant to be included in a larger system.

Context

Simulating lens systems in Speos is a challenging due to the geometries involved. However, this can be achieved through various methods:

  • A Direct simulation is not practical. The rays propagates from the light source to the scene, then through the lens system to the Irradiance sensor. However, the probability for rays to reach the aperture of the lens system is very low.

  • An Inverse simulation will allow you to simulate the complete lens system. However, it takes many passes (rays per pixel) to solve most of the ghost images. In most cases, it is not possible to solve the low contribution ones.

Physical Camera

The goal is to use a specific propagation engine to simulate the lens system part of an optical system. This dedicated propagation engine will improve the convergence when propagating rays and consider ghost images.

Figure 1. Direct Simulation using the Aiming Area Principle through the Physical Camera


Note: The Aiming Area corresponds to the first face of the lens system surrounded by a bounding box. For more information, refer to Aiming Area.

In this context, the Physical Camera allows you to define a real lens system through a Speos Light Box combined with an Irradiance sensor that will use the optimized propagation engine specific to the Physical Camera when simulated.



Therefore, in simulation, two propagation engines will be used according to the part of the system:
  • The Speos standard propagation engine will be used for the scene
  • The optimized propagation engine will be used for Physical Camera (lens system): optimized propagation engine will rely on predefined sequences to determine which surface is in front of or behind an impact. Instead of using the Monte Carlo algorithm, rays follow strict interaction sequences. At each impact, Fresnel specular reflection or transmission is applied to reduce the ray’s power based on the type of interaction.

Physical Camera in Simulation

During an Inverse simulation, rays start from each pixel of the Irradiance sensor and are propagated through the Physical Camera sensor, eventually using the sequence file. Once rays leave the sensor, they continue their optical path towards the sources, taking into account the geometries of the scene.

Therefore, splitting the simulation into two parts is more efficient:
  • For individual or "non ambient" light sources, Direct simulation is preferable for capturing ghost effects for instance.
  • For ambient light sources, Inverse simulation is preferable for capturing the ambient contribution (excluding the sun) as it avoids introducing ghost images.
Note: Since each pass of an Inverse simulation corresponds to 1 ray per pixel, per sequence, per wavelength, it is strongly recommended to focus on the main optical path to get the ambient contribution.

Inverse simulation with 1 sequence

night sky ambient source, max illuminance at 0,001lx

Direct simulation with 100 sequences

4 luminaires, max illuminance at 1lx

Generic Workflow

  1. Create a sequence file.

    The purpose of creating a sequence file is to define optical paths for rays to follow to the Physical Camera sensor. This sequence file will then serve as input for the Physical Camera sensor to solve these optical paths.

  2. Once the sequence file is created, add it to the Physical Camera sensor.
  3. Modify the Irradiance sensor according to the data separation you want to analyze.

    If you set the Irradiance sensor with the data separation by Sequence, another *.OPTSequence file will be generated which will consider only the Number of sequences (X) set in the Physical Camera. That means, you will only have the X first sequences in the Sequence Detection tool during a Stray Light analysis.

  4. Run the simulation.

    Note: When an *.OPTSequence file is used in a Physical Camera, every generated simulation result filename (*.xmp, *.lpf, etc.) is suffixed with "_sequential".

    Make sure the simulation type is the same (Direct or Inverse) as the simulation type used to generate the *.OPTSequence file.

    Make sure the Dispersion is activated.