Skip to content

Feature/sensor prf modeling#13

Draft
danielbourguignon-code wants to merge 49 commits into
mainfrom
feature/sensor-prf-modeling
Draft

Feature/sensor prf modeling#13
danielbourguignon-code wants to merge 49 commits into
mainfrom
feature/sensor-prf-modeling

Conversation

@danielbourguignon-code

Copy link
Copy Markdown
Collaborator

VISTA now supports sensor-level PRF storage, fitting, selection, and auditability. Sensor.get_prf(...) defines the PRF sampling API, and SampledSensor implements local-chip sampling from an oversampled PRF using bilinear interpolation. Sensor HDF5 serialization preserves the oversampled PRF array and construction metadata needed to reproduce or audit the PRF.

The Data Manager -> Sensors tab now exposes each sensor’s PRF Source: None, Associated, or Fitted. Associated PRFs loaded from data are preserved when fitting a new PRF, while fitted PRFs are stored separately and can be selected without overwriting the original sensor-provided PRF.

VISTA can fit sensor-scoped PRFs from detection-centered image chips using Gaussian, Elliptical Gaussian, Airy Disk, and Moffat construction models. These models are fitting tools only; the stored sensor representation remains the resulting oversampled PRF array. Fit configuration and metadata include chip size, oversampling, pixel aperture, optimizer settings, residuals, convergence status, and fitted parameters.

This MR also adds PRF-based raw-count flux estimation for detections using the active sensor PRF, local chip extraction, and outer-ring background estimation. Results include per-detection flux, background, fit residual, quality metrics, and rejection/status flags for clipped chips, invalid pixels, saturation, and poor fits.

Additional support includes project save/load for combined VISTA state and known-flux verification tooling for validating PRF fitting, storage, and flux recovery. IFOV-generated HDF5 files with sensor PRFs load into VISTA as associated PRFs, enabling end-to-end validation with simulated known-PRF imagery.

Daniel Bourguignon added 21 commits May 8, 2026 09:36
… solve amplitude and background analytically
Fix dataframe name fallback

Fix Moffat optimizer evaluation reporting

Fix PRFModel.kernel to use selected oversampling

Fix default SampledSensor.get_prf() chip sizing for off-center PRF reference indices

Update PRF_PATCH.md to match current behavior

Remove whitespace in init.py
@danielbourguignon-code danielbourguignon-code marked this pull request as draft May 21, 2026 15:29
@danielbourguignon-code

Copy link
Copy Markdown
Collaborator Author

Must confirm full legacy support before marking this PR as ready. Remaining as draft in the meantime.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant