eradiate.scenes#

Quick access#

Core

eradiate.scenes.core

eradiate.scenes.core
Geometry

eradiate.scenes.geometry

eradiate.scenes.geometry
Atmosphere

eradiate.scenes.atmosphere

eradiate.scenes.atmosphere
Biosphere

eradiate.scenes.biosphere

eradiate.scenes.biosphere
Surface

eradiate.scenes.surface

eradiate.scenes.surface
BSDFs

eradiate.scenes.bsdfs

eradiate.scenes.bsdfs
Shapes

eradiate.scenes.shapes

eradiate.scenes.shapes
Illumination

eradiate.scenes.illumination

eradiate.scenes.illumination
Measure

eradiate.scenes.measure

eradiate.scenes.measure
Phase functions

eradiate.scenes.phase

eradiate.scenes.phase
Integrators

eradiate.scenes.integrators

eradiate.scenes.integrators
Spectra

eradiate.scenes.spectra

eradiate.scenes.spectra

eradiate.scenes.core#

Scene element traversal

traverse(node)

Traverse a scene element tree and collect kernel dictionary template and parameter update table data.

SceneTraversal(node[, parent, name, depth, ...])

Data structure used to collect kernel dictionary data during scene element traversal.

Basic scene elements

Ref(*, id)

A scene element which represents a reference to a Mitsuba scene tree node.

Scene([id, objects])

A generic scene element container which expands as a mitsuba.Scene object.

Scene element interfaces

SceneElement([id])

Abstract base class for all scene elements.

NodeSceneElement([id])

Abstract base class for scene elements which expand as a single Mitsuba scene tree node which can be described as a scene dictionary.

InstanceSceneElement([id])

Abstract base class for scene elements which represent a node in the Mitsuba scene graph, but can only be expanded to a Mitsuba object.

CompositeSceneElement([id])

Abstract based class for scene elements which expand to multiple Mitsuba scene tree nodes.

Miscellaneous

BoundingBox(min, max)

A basic data class representing an axis-aligned bounding box with unit-valued corners.

eradiate.scenes.geometry#

SceneGeometry([toa_altitude, ...])

Abstract base class defining a scene geometry.

PlaneParallelGeometry([toa_altitude, ...])

Plane parallel geometry.

SphericalShellGeometry([toa_altitude, ...])

Spherical shell geometry.

eradiate.scenes.atmosphere#

Interfaces

Atmosphere([id, geometry])

Abstract base class defining common facilities for all atmospheres.

AbstractHeterogeneousAtmosphere([id, ...])

Abstract base class for heterogeneous atmospheres.

ParticleDistribution()

Abstract base class for particle distributions used to define particle layers.

Factories

Scene elements

HomogeneousAtmosphere([id, geometry, ...])

Homogeneous atmosphere scene element [homogeneous].

HeterogeneousAtmosphere([id, geometry, ...])

Heterogeneous atmosphere scene element [heterogeneous].

MolecularAtmosphere([id, geometry, scale, ...])

Molecular atmosphere scene element [molecular].

ParticleLayer([id, geometry, bottom, top, ...])

Particle layer scene element [particle_layer].

Particle distributions

ArrayParticleDistribution([coords, method, ...])

Particle distribution specified by an array of values [array].

ExponentialParticleDistribution([rate, scale])

Exponential particle distribution [exponential].

InterpolatorParticleDistribution(*, interpolator)

A flexible particle distribution which redirects its calls to an encapsulated callable [interpolator].

GaussianParticleDistribution([mean, std])

Gaussian particle distribution [gaussian].

UniformParticleDistribution([bounds])

Uniform particle distribution [uniform].

Utility functions

eval_transmittance_mono(atmosphere, ...[, ...])

Compute the total column transmittance of an atmosphere instance in monochromatic mode.

eval_transmittance_ckd(atmosphere, spectral_grid)

Compute the total column transmittance of an atmosphere instance in CKD mode.

eradiate.scenes.biosphere#

Interfaces

Canopy([id, size])

Abstract base class for all canopies.

CanopyElement([id])

Abstract base class representing a component of a Canopy object.

Factories

Scene elements

AbstractTree([id, leaf_cloud, trunk_height, ...])

A container class for abstract trees in discrete canopies.

DiscreteCanopy([id, size, ...])

Discrete canopy scene element [discrete_canopy].

InstancedCanopyElement([id, canopy_element, ...])

Instanced canopy element [instanced].

LeafCloud([id, leaf_positions, ...])

A container class for leaf clouds in abstract discrete canopies.

MeshTree([id, mesh_tree_elements])

A container class for mesh based tree-like objects in canopies.

Mesh-base tree components

MeshTreeElement([id, mesh_units, ...])

Container class for mesh based constituents of tree-like objects in a canopy.

Parameters for LeafCloud generators

Private

_leaf_cloud.ConeLeafCloudParams([id, ...])

Advanced parameter checking class for the cone LeafCloud generator.

_leaf_cloud.CuboidLeafCloudParams([id, ...])

Advanced parameter checking class for the cuboid LeafCloud generator.

_leaf_cloud.CylinderLeafCloudParams([id, ...])

Advanced parameter checking class for the cylinder LeafCloud generator.

_leaf_cloud.EllipsoidLeafCloudParams([id, ...])

Advanced parameter checking class for the ellipsoid LeafCloud generator.

_leaf_cloud.SphereLeafCloudParams([id, ...])

Advanced parameter checking class for the sphere LeafCloud generator.

Canopy loader

load_scenario(scenario_folder, padding[, ...])

Parse JSON file of scenario from a given path.

load_rami_scenario(scenario_name[, version, ...])

Load a scenario based on its name and version.

RAMIActualCanopies(value)

An enumeration.

RAMIHeterogeneousAbstractCanopies(value)

An enumeration.

RAMIHomogeneousAbstractCanopies(value)

An enumeration.

RAMIScenarioVersion(value)

An enumeration.

Full canopies

wellington_citrus_orchard([padding, properties])

Generate a base experiment dictionary based on the Wellington Citrus Orchard scene from the RAMI benchmark series.

eradiate.scenes.surface#

Interfaces

Surface([id])

An abstract base class defining common facilities for all surfaces.

Factories

Scene elements

BasicSurface([id, shape, bsdf])

Basic surface [basic].

CentralPatchSurface([id, shape, bsdf, ...])

Central patch surface [central_patch].

DEMSurface([id, shape, shape_background])

DEM Surface [dem]

Helpers

mesh_from_dem(da, geometry[, planet_radius, ...])

Construct a DEM surface mesh from a data array holding elevation data.

triangulate_grid(x, y[, z, flip, divide])

Create a 2D triangulation for a regular (x, y) grid.

eradiate.scenes.bsdfs#

Interfaces

BSDF([id])

Abstract base class for all BSDF scene elements.

Factories

Scene elements

BlackBSDF([id])

Black BSDF [black].

CheckerboardBSDF([id, reflectance_a, ...])

Checkerboard BSDF [checkerboard].

HapkeBSDF([id, w, b, c, theta, B_0, h])

Hapke BSDF [hapke].

LambertianBSDF([id, reflectance])

Lambertian BSDF [lambertian].

MQDiffuseBSDF([id])

Measured quasi-diffuse BSDF [mqdiffuse].

OpacityMaskBSDF([id, nested_bsdf])

Opacity Mask BSDF [opacity_mask]

RPVBSDF([id, rho_0, rho_c, k, g])

RPV BSDF [rpv].

RTLSBSDF([id, f_iso, f_vol, f_geo, h, r, b])

RTLS BSDF [rtls].

eradiate.scenes.shapes#

Interfaces

Shape([id, bsdf, to_world])

Abstract interface for all shape scene elements.

ShapeNode([id, bsdf, to_world])

Interface for shapes which can be represented as Mitsuba scene dictionary nodes.

ShapeInstance([id, bsdf, to_world])

Interface for shapes which have to be expanded as Mitsuba objects.

Factories

Scene elements

BufferMeshShape([id, bsdf, to_world, texcoords])

Buffer mesh shape [buffer_mesh].

CuboidShape([id, bsdf, to_world, center, edges])

Cuboid shape [cuboid].

FileMeshShape([id, bsdf, to_world])

File based mesh shape [file_mesh].

RectangleShape([id, bsdf, to_world, edges, ...])

Rectangle shape [rectangle].

SphereShape([id, bsdf, to_world, center, radius])

Sphere shape [sphere].

eradiate.scenes.illumination#

Interfaces

Illumination([id])

Abstract base class for all illumination scene elements.

AbstractDirectionalIllumination([id, ...])

Abstract interface to directional-like illuminants.

Factories

Scene elements

DirectionalIllumination([id, zenith, ...])

Directional illumination scene element [directional].

AstroObjectIllumination([id, zenith, ...])

Astronomical Object Illumination scene element [astro_object].

ConstantIllumination([id, radiance])

Constant illumination scene element [constant].

SpotIllumination([id, origin, target, up, ...])

Spot illumination scene element [spot].

eradiate.scenes.measure#

Interfaces

Measure([id, srf, sampler, rfilter, spp])

Abstract base class for all measure scene elements.

Target()

Interface for target selection objects used by distant measure classes.

Factories

Scene elements

DistantMeasure([id, srf, sampler, rfilter, ...])

Single-pixel distant measure scene element [distant]

MultiDistantMeasure([id, srf, sampler, ...])

Multi-distant radiance measure scene element [mdistant, multi_distant].

MultiPixelDistantMeasure([id, srf, sampler, ...])

Multi-pixel distant measure scene element [mpdistant, multipixel_distant]

DistantFluxMeasure([id, srf, sampler, ...])

Distant radiosity measure scene element [distantflux, distant_flux].

HemisphericalDistantMeasure([id, srf, ...])

Hemispherical distant radiance measure scene element [hdistant, hemispherical_distant].

RadiancemeterMeasure([id, srf, sampler, ...])

Radiance meter measure scene element [radiancemeter].

MultiRadiancemeterMeasure([id, srf, ...])

Radiance meter array measure scene element [mradiancemeter, multi_radiancemeter].

PerspectiveCameraMeasure([id, srf, sampler, ...])

Perspective camera scene element [perspective].

Distant measure target definition

TargetPoint(xyz)

Point target or origin specification.

TargetRectangle(xmin, xmax, ymin, ymax[, z])

Rectangle target origin specification.

Viewing direction layouts

Used as input to the MultiDistantMeasure.layout field.

Layout(*[, azimuth_convention])

Abstract base class for all viewing direction layouts.

AngleLayout(angles, *[, azimuth_convention])

A viewing direction layout directly defined by explicit (zenith, azimuth) pairs.

AzimuthRingLayout(zenith, azimuths, *[, ...])

A viewing direction layout defined by a single zenith and a vector of explicit azimuth values.

DirectionLayout(directions, *[, ...])

A viewing direction layout directly defined by explicit (zenith, azimuth) pairs.

GridLayout(zeniths, azimuths, *[, ...])

A viewing direction layout defined as the Cartesian product of an azimuth and zenith vectors.

HemispherePlaneLayout(zeniths, azimuth, *[, ...])

A viewing direction layout defined by a single azimuth and a vector of zenith values.

eradiate.scenes.phase#

Interfaces

PhaseFunction([id])

An abstract base class defining common facilities for all phase functions.

Factories

Scene elements

IsotropicPhaseFunction([id])

Isotropic phase function [isotropic].

RayleighPhaseFunction([id, depolarization])

Rayleigh phase function [rayleigh].

HenyeyGreensteinPhaseFunction([id, g])

Henyey-Greenstein phase function [hg].

BlendPhaseFunction([id, geometry])

Blended phase function [blend_phase].

TabulatedPhaseFunction([id, ...])

Tabulated phase function [tab_phase].

eradiate.scenes.integrators#

Interfaces

Integrator([id, timeout, moment, stokes, ...])

Abstract base class for all integrator elements.

Factories

Scene elements

PathIntegrator([id, timeout, moment, ...])

A thin interface to the path tracer kernel plugin.

PiecewiseVolPathIntegrator([id, timeout, ...])

A thin interface to the piecewise volumetric path tracer kernel plugin.

VolPathIntegrator([id, timeout, moment, ...])

A thin interface to the volumetric path tracer kernel plugin.

VolPathMISIntegrator([id, timeout, moment, ...])

A thin interface to the volumetric path tracer (with spectral multiple importance sampling) kernel plugin [Miller et al., 2019].

eradiate.scenes.spectra#

Interfaces

Spectrum([id, quantity])

Spectrum interface.

Factories

Private

_core.SpectrumFactory([registry])

Scene elements

UniformSpectrum([id, quantity])

Uniform spectrum [uniform] (i.e. constant vs wavelength).

InterpolatedSpectrum([id, quantity])

Linearly interpolated spectrum [interpolated].

SolarIrradianceSpectrum([id, dataset, ...])

Solar irradiance spectrum [solar_irradiance].

AirScatteringCoefficientSpectrum([id])

Air scattering coefficient spectrum [air_scattering_coefficient].