eradiate.experiments.mitsuba_run#

eradiate.experiments.mitsuba_run(kernel_dict, sensor_ids=None, seed_state=None)[source]#

Run Mitsuba on a kernel dictionary.

In practice, this function instantiates a kernel scene based on a dictionary and runs the integrator with all sensors. It returns results structured as nested dictionaries.

Parameters
  • kernel_dict (KernelDict) – Dictionary describing the kernel scene.

  • sensor_ids (list of str, optional) – Identifiers of the sensors for which the integrator is run. If set to None, all sensors are selected.

  • seed_state (SeedState, optional) – A RNG seed state used generate the seeds used by Mitsuba’s RNG generator. By default, Eradiate’s root_seed_state is used.

Returns

dict – Results stored as nested dictionaries.

Notes

The results are stored as dictionaries with the following structure:

{
    "values": {
        "sensor_0": data_0, # mitsuba.core.Bitmap object
        "sensor_1": data_1, # mitsuba.core.Bitmap object
        ...
    },
    "spp": {
        "sensor_0": sample_count_0,
        "sensor_1": sample_count_1,
        ...
    },
}

The sample count is stored in a dedicated sub-dictionary in order to allow for sample-count-based aggregation.