eradiate.scenes.geometry.SceneGeometry#

class eradiate.scenes.geometry.SceneGeometry(toa_altitude=<Quantity(120.0, 'kilometer')>, ground_altitude=<Quantity(0.0, 'kilometer')>, zgrid=None)[source]#

Bases: ABC

Abstract base class defining a scene geometry.

Parameters:
  • toa_altitude (float or quantity, default: 120 km) – Top-of-atmosphere level altitude. Unit-enabled field (default: ucc["length"]).

  • ground_altitude (float or quantity, default: 0 km) – Baseline ground altitude. Unit-enabled field (default: ucc["length"]).

  • zgrid (ZGrid, quantity or ndarray, optional) – The altitude mesh on which the radiative properties of heterogeneous atmosphere components are evaluated. If unset, a default grid with one layer per 100 m (or 10 layers if the atmosphere object height is less than 100 m) is used.

Fields:
  • toa_altitude (pint.Quantity) – Top-of-atmosphere level altitude.

  • ground_altitude (pint.Quantity) – Baseline ground altitude.

  • zgrid (ZGrid) – The altitude mesh on which the radiative properties of heterogeneous atmosphere components are evaluated.

Warning

If a zgrid value is passed to the constructor (instead of letting the constructor set it automatically), its extent must be [ground_altitude, toa_altitude]. The constructor will raise a ValueError otherwise.

classmethod convert(value)[source]#

Attempt conversion of a value to a SceneGeometry subtype.

Parameters:

value – Value to attempt conversion of. If a dictionary is passed, its "type" key is used to route its other entries as keyword arguments to the appropriate subtype’s constructor. If a string is passed, this method calls itself with the parameter {"type": value}.

Returns:

result – If value is a dictionary, the constructed SceneGeometry instance is returned. Otherwise, value is returned.

Raises:

ValueError – A dictionary was passed but the requested type is unknown.

abstract property atmosphere_shape#

Stencil of the participating medium representing the atmosphere.

Type:

Shape

abstract property atmosphere_volume_to_world#

Mitsuba transform mapping volume texture coordinates to world coordinates for heterogeneous atmosphere components.

Type:

mi.ScalarTransform4f

abstract property surface_shape#

Shape representing the surface.

Type:

Shape