optixstuff.yippy_coronagraph#
YippyCoronagraph – AbstractCoronagraph backed by a yippy EqxCoronagraph.
Classes#
Coronagraph performance model backed by a yippy YIP interpolation table. |
Module Contents#
- class optixstuff.yippy_coronagraph.YippyCoronagraph(yip_path=None, *, backend=None, **kwargs)[source]#
Bases:
optixstuff.coronagraph.AbstractCoronagraphCoronagraph performance model backed by a yippy YIP interpolation table.
Wraps a yippy
EqxCoronagraphvia composition, adapting its methods to theAbstractCoronagraphinterface. The_backendfield is itself aneqx.Module, so its internal JAX arrays flow throughfilter_jitandfilter_gradnormally.Construction mirrors
EqxCoronagraph– pass either a YIP path or an existingEqxCoronagraphinstance:coro = YippyCoronagraph("/path/to/yip") coro = YippyCoronagraph(backend=existing_eqx_coro)
- Parameters:
yip_path (str | None)
backend (yippy.EqxCoronagraph | None)
- _backend: yippy.EqxCoronagraph#
- throughput(separation_lod, wavelength_nm, *, time_s=0.0)[source]#
Core throughput from the YIP interpolation table.
- Parameters:
separation_lod (jax.typing.ArrayLike)
wavelength_nm (jax.typing.ArrayLike)
time_s (jax.typing.ArrayLike)
- Return type:
jax.typing.ArrayLike
- core_area(separation_lod, wavelength_nm, *, time_s=0.0)[source]#
Photometric aperture area from the YIP interpolation table.
- Parameters:
separation_lod (jax.typing.ArrayLike)
wavelength_nm (jax.typing.ArrayLike)
time_s (jax.typing.ArrayLike)
- Return type:
jax.typing.ArrayLike
- core_mean_intensity(separation_lod, wavelength_nm, *, time_s=0.0)[source]#
Mean stellar leakage from the YIP interpolation table.
- Parameters:
separation_lod (jax.typing.ArrayLike)
wavelength_nm (jax.typing.ArrayLike)
time_s (jax.typing.ArrayLike)
- Return type:
jax.typing.ArrayLike
- occulter_transmission(separation_lod, wavelength_nm, *, time_s=0.0)[source]#
Sky transmission from the YIP interpolation table.
- Parameters:
separation_lod (jax.typing.ArrayLike)
wavelength_nm (jax.typing.ArrayLike)
time_s (jax.typing.ArrayLike)
- Return type:
jax.typing.ArrayLike
- on_axis_psf(wavelength_nm, pixel_scale_rad, npixels)[source]#
Stellar leakage PSF from the YIP stellar intensity model.
- off_axis_psf(wavelength_nm, separation_lod, pixel_scale_rad, npixels)[source]#
Off-axis planet PSF from the YIP PSF interpolator.
Places the planet along the +x axis by convention.
- noise_floor_ayo(separation_lod, ppf=30.0)[source]#
AYO noise floor: core_mean_intensity / ppf.
This is a convenience passthrough to the backend. Not part of the AbstractCoronagraph contract – downstream ETCs should compute noise floors as pure functions.
- Parameters:
separation_lod (jax.typing.ArrayLike)
ppf (float)
- Return type:
jax.typing.ArrayLike
- raw_contrast(separation_lod)[source]#
Raw contrast from the YIP interpolation table.
- Parameters:
separation_lod (jax.typing.ArrayLike)
- Return type:
jax.typing.ArrayLike
- stellar_intens(stellar_diam_lod)[source]#
Stellar intensity map for a given stellar angular diameter.
- Parameters:
stellar_diam_lod (float)
- Return type:
jaxtyping.Array
- property sky_trans: jaxtyping.Array#
Full sky transmission map.
- Return type:
jaxtyping.Array
- create_psfs(x_lod, y_lod)[source]#
Batched off-axis PSFs at (x_lod, y_lod) source positions.
Delegates to the backend yippy create_psfs closure. Returns a stack of PSF images, one per input source coordinate.
- Args:
x_lod: Source x-coordinates in lambda/D, shape (K,). y_lod: Source y-coordinates in lambda/D, shape (K,).
- Returns:
PSF stack of shape (K, ny, nx) where (ny, nx) == self.psf_shape.
- Parameters:
x_lod (jax.typing.ArrayLike)
y_lod (jax.typing.ArrayLike)
- Return type:
jaxtyping.Array
- property psf_datacube: jaxtyping.Array | None#
Pre-computed quarter-symmetric PSF datacube from the backend.
Returns None if the backing EqxCoronagraph was not built with ensure_psf_datacube=True. Consumers that need this for disk convolution should construct the backend with the flag set.
- Return type:
jaxtyping.Array | None