Skip to main content

Hardware abstractions for the HWO direct imaging simulation suite

Project description

optixstuff

Flux-level optical system abstractions for the HWO direct imaging simulation suite.

What optixstuff is

optixstuff is the radiometric hardware layer for HWO simulations. It operates on flux — photon rates, throughput fractions, and detector-level noise — providing the shared interfaces that simulation tools and exposure time calculators build on top of.

The same OpticalPath object drives both scalar ETC calculations (jaxEDITH) and full 2D image generation (coronagraphoto), ensuring that the hardware model is consistent across all downstream science products.

What optixstuff is not

optixstuff does not model diffraction, wavefront propagation, or E-field interference. That level of physical optics belongs to tools like dLux and HCIPy, which generate PSFs from first principles.

optixstuff and these wavefront tools are complementary: dLux/HCIPy compute the PSFs, which are delivered as yield input packages (YIPs). optixstuff consumes those PSFs as flux patterns (via yippy) and composes them with the rest of the observatory — throughput chain, detector QE, noise — to produce science-level outputs.

Architecture

Built on JAX and Equinox, optixstuff provides:

  • Abstract interfacesAbstractPrimary, AbstractOpticalElement, AbstractCoronagraph, AbstractDetector
  • Concrete implementationsSimplePrimary, ConstantThroughputElement, SimpleDetector
  • ContainerOpticalPath, a composable hardware configuration passed to all simulators

Every abstract method accepts three fidelity axes — wavelength, position, and time — with defaults so that simple implementations can ignore unused axes while future high-fidelity models (wavelength-dependent coatings, position-dependent vignetting, time-dependent detector degradation) can use them without breaking the interface.

Ecosystem position

                          ┌───────────────────────────┐
                          │  Physical optics           │
                          │  (dLux, HCIPy, PROPER)     │
                          │  E-fields → PSFs           │
                          └──────────┬────────────────┘
                                     │ YIP
                          ┌──────────▼────────────────┐
                          │  yippy                     │
                          │  PSF interpolation         │
                          └──────────┬────────────────┘
                                     │ flux patterns
              ┌──────────────────────▼────────────────────────┐
              │                  optixstuff                    │
              │  Telescope • Coronagraph • Detector • OpticalPath │
              │  Throughput chains • QE • Noise rates          │
              └────────┬──────────────────────┬───────────────┘
                       │                      │
            ┌──────────▼──────────┐ ┌────────▼───────────────┐
            │  jaxEDITH           │ │  coronagraphoto         │
            │  Scalar count rates │ │  2D image simulation    │
            │  Exposure times     │ │  Multi-epoch scenes     │
            └─────────────────────┘ └────────────────────────┘

Installation

pip install optixstuff

Status

This package is in early development (pre-v0.1.0).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

optixstuff-0.1.0.tar.gz (14.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

optixstuff-0.1.0-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file optixstuff-0.1.0.tar.gz.

File metadata

  • Download URL: optixstuff-0.1.0.tar.gz
  • Upload date:
  • Size: 14.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for optixstuff-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2eaf27f5a6cc92a4d889885c1bcddf24ec2607c0389991699084517cf5ddcde1
MD5 b09abd7efe4077cf9d6ec0ca823f231e
BLAKE2b-256 1e417876de9d2c73ea2e8a8b72bb86cf021c08bc93bd99be81150411632dda01

See more details on using hashes here.

Provenance

The following attestation bundles were made for optixstuff-0.1.0.tar.gz:

Publisher: publish-to-pypi.yml on CoreySpohn/optixstuff

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file optixstuff-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: optixstuff-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 15.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for optixstuff-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 92ecafec353fe2157bca69ccc1f0ac219f997fcb3b49c64516417c0b7fee97f0
MD5 bf835fb8917bb0e7d47d8c7eb29f4bee
BLAKE2b-256 084be96c8a47e79d36029c3d46d8592e256eb8a6d5fb654e3af2d7e07d9b0479

See more details on using hashes here.

Provenance

The following attestation bundles were made for optixstuff-0.1.0-py3-none-any.whl:

Publisher: publish-to-pypi.yml on CoreySpohn/optixstuff

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page