skyscapes.io.exovista#
ExoVista FITS loader – builds a skyscapes.scene.System directly.
Mirrors the legacy skyscapes._legacy.loaders.from_exovista semantics
for Star and Disk, but rebuilds each planet as a 1-planet
KeplerianOrbit + GridAtmosphere pair stored in the
System.planets tuple. No ghost padding – variadic tuples make that
unnecessary.
Functions#
|
Load the FITS star extension into a Star. |
|
Load one planet and return |
|
Load the ExoVista disk extension into an ExovistaDisk. |
Earth-filter logic operating on an already-open HDUList. |
|
|
Identify Earth-like planets in an ExoVista FITS file. |
|
Load an ExoVista FITS file into a |
Module Contents#
- skyscapes.io.exovista._load_star(hdul, fits_ext=4)[source]#
Load the FITS star extension into a Star.
- Parameters:
hdul (astropy.io.fits.HDUList)
fits_ext (int)
- Return type:
- skyscapes.io.exovista._load_single_planet(hdul, idx, star, wavelengths_nm, trig_solver, midplane_inc_deg, midplane_pa_deg)[source]#
Load one planet and return
(Planet, t0_d).The barycentric
(r, v)state vectors from the FITS file are rotated into the on-sky frame at load time using the system midplane angles before being converted to Keplerian elements. This meansKeplerianOrbit.propagateproduces on-sky positions directly – no frame metadata is consulted at runtime.The contrast grid is indexed by phase angle beta = arccos(r_z / |r|), computed at load time with the same
trig_solverthe runtimeSystemuses.- Parameters:
hdul (astropy.io.fits.HDUList)
idx (int)
star (skyscapes.scene.Star)
wavelengths_nm (jax.numpy.ndarray)
midplane_inc_deg (float)
midplane_pa_deg (float)
- Return type:
- skyscapes.io.exovista._load_disk(hdul, fits_ext)[source]#
Load the ExoVista disk extension into an ExovistaDisk.
The contrast cube is already rendered in the on-sky frame by ExoVista; the system midplane angles (I, PA) live on
System.midplane_inc_deg/System.midplane_pa_deg(populated byfrom_exovistafrom the same FITS star header), not on the disk itself.- Parameters:
hdul (astropy.io.fits.HDUList)
fits_ext (int)
- Return type:
- skyscapes.io.exovista._earth_like_planet_indices_from_hdul(hdul)[source]#
Earth-filter logic operating on an already-open HDUList.
- skyscapes.io.exovista.get_earth_like_planet_indices(fits_file)[source]#
Identify Earth-like planets in an ExoVista FITS file.
- Classification criteria:
Scaled semi-major axis: 0.95 <= a / sqrt(L_star) < 1.67 AU
Planet radius: 0.8 / sqrt(a_scaled) <= R < 1.4 R_earth
- skyscapes.io.exovista.from_exovista(fits_file, planet_indices=None, only_earths=False)[source]#
Load an ExoVista FITS file into a
scene.System.The system’s midplane inclination and position angle (FITS star header keys
IandPA) are applied at load time as a frame rotation of each planet’s state vector before its Keplerian elements are computed. The same angles are stored asSystem.midplane_inc_degandSystem.midplane_pa_degfor downstream diagnostic use.- Args:
fits_file: Path to ExoVista FITS file. planet_indices: Planet indices to load (0-based).
None= all. only_earths: If True and planet_indices is None, auto-filter Earths.- Returns:
scene.Systemwith star, planets (tuple), disk, and midplane metadata.
- Parameters:
fits_file (str)
planet_indices (collections.abc.Sequence[int] | None)
only_earths (bool)
- Return type: