skyscapes.disk.composite#

CompositeDisk: sum of multiple AbstractDisk components.

Mirrors how skyscapes.scene.System composes multiple Planet objects via a tuple: a CompositeDisk holds a tuple of disk components and renders their summed surface_brightness on a shared grid.

All components must share the same spatial_extent() so the per-component rendered arrays can be added directly without resampling. Mismatched geometries are rejected at construction.

Classes#

CompositeDisk

Sum of multiple disk components rendered on a shared grid.

Module Contents#

class skyscapes.disk.composite.CompositeDisk[source]#

Bases: skyscapes.disk.base.AbstractDisk

Sum of multiple disk components rendered on a shared grid.

Attributes:
components: Tuple of AbstractDisk instances. At least one

component is required. All components must report the same spatial_extent() so their rendered (ny, nx) arrays sum elementwise.

components: tuple[skyscapes.disk.base.AbstractDisk, Ellipsis]#
__check_init__()[source]#

Reject empty composites and mismatched component extents.

surface_brightness(wavelength_nm, time_jd, incl_deg, pa_deg)[source]#

Return the per-pixel sum of all component contrast maps.

Parameters:
  • wavelength_nm (jaxtyping.Array)

  • time_jd (jaxtyping.Array)

  • incl_deg (jaxtyping.Array)

  • pa_deg (jaxtyping.Array)

Return type:

jaxtyping.Array

spatial_extent()[source]#

Return the shared (width_arcsec, height_arcsec).

Return type:

tuple[float, float]

__repr__()[source]#

Nested summary listing each component disk.

Return type:

str