Data reduction of HST, JWST and Keck-AO (and future other) imaging into
modeling-ready datasets for PyAutoLens/PyAutoGalaxy. Part of the PyAutoLabs
workspace — the workspace-level AGENTS.md (routing, safety rules, workflow)
applies here.
- Package
autoreduce: pipeline stagesacquire/,align/,calibrate/+sky/(ground-based only),drizzle/,noise/,psf/,package/, with instrument specifics isolated ininstruments/adapters. - Output contract: the
al.Imaging.from_fitsproduct set —data.fits,noise_map.fits,psf.fits,psf_full.fits— plusreduction.jsonprovenance. The reference quality bar is the SLACS ACS/F814W reductions. - Design docs are authoritative while the project is young:
docs/design/hst_acs_pipeline.md(HST/ACS stages, defaults vs lensing deviations, validation), the per-instrument delta docs (wfc3.md,jwst.md,keck_ao.md) anddocs/design/roadmap.md.
- Never imports
autolens/autogalaxy/autoarray/autofit— it emits their input format only, and stays releasable independently. - Default pipelines first: stages wrap the instrument's standard tooling
(
astroquery.mast,drizzlepac,photutils); any deviation from STScI defaults must be justified by a lensing requirement and documented in the design doc. - Unit tests in
test_autoreduce/are numpy/astropy-only — no network, no drizzlepac/jwst stack. The one sanctioned extra is the lightweight standalonedrizzleresampler (behindpytest.importorskip) for the nirc2_native backend. Anything needing an archive or the heavy STScI stack lives inprototypes/or (later) integration scripts. - FITS files are never committed (
.gitignoreenforces this);prototypes/writes toprototypes/output/andprototypes/cache/.