eradiate.scenes#

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.

ExponentialParticleDistribution([rate, scale])

Exponential particle distribution.

InterpolatorParticleDistribution(*, interpolator)

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

GaussianParticleDistribution([mean, std])

Gaussian particle distribution.

UniformParticleDistribution([bounds])

Uniform particle distribution.

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 from a data array holding elevation data.

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])

Abstract interface for all shape scene elements.

ShapeNode([id, bsdf])

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

ShapeInstance([id, bsdf])

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

Factories

Scene elements

BufferMeshShape([id, bsdf])

Buffer mesh shape [buffer_mesh].

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

Cuboid shape [cuboid].

FileMeshShape([id, bsdf])

File based mesh shape [file_mesh].

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

Rectangle shape [rectangle].

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

Sphere shape [sphere].

eradiate.scenes.illumination#

Interfaces

Illumination([id])

Abstract base class for all illumination scene elements.

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

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

Multi-distant radiance measure scene element [distant, mdistant, multi_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])

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])

Abstract base class for all integrator elements.

Factories

Scene elements

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

A thin interface to the path tracer kernel plugin.

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

A thin interface to the volumetric path tracer kernel plugin.

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

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

MultiDeltaSpectrum([id, quantity])

A spectrum made of multiple translated Dirac delta [multi_delta].

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

Solar irradiance spectrum [solar_irradiance].

AirScatteringCoefficientSpectrum([id])

Air scattering coefficient spectrum [air_scattering_coefficient].