Skip to content

getframes 2.3.0

Choose a tag to compare

@jacotay7 jacotay7 released this 07 Oct 03:35
· 6 commits to main since this release
d7299cf

Fixed

  • MoffatPSF, EllipticalGaussianPSF and AiryPSF no longer put light that
    falls off the frame back onto it.
    They normalised their stamp after
    clipping it to the frame, so a source on the edge column deposited its full
    flux instead of the part that lands on the detector (a Moffat star centred on
    column 0 kept 100% of its light, where GaussianPSF correctly keeps about
    half). The stamp is now normalised before clipping, which follows the AO stack
    convention that light lost at a detector edge is lost, not renormalised
    (aocore CONVENTIONS 3.3). Sources wholly inside the frame are unchanged.

Changed

  • Generic primitives now come from aocore. getframes is part of an
    adaptive-optics stack whose shared conventions and primitives live in
    aocore, now a core dependency
    (aocore>=0.1.2,<0.2). noise.block_sum is aocore.block_sum, re-exported
    so existing imports keep working; it accepts everything it did before and now
    also takes a (fy, fx) factor and leading batch axes, and raises a clear
    ValueError for a factor below 1 or a shape that does not divide (previously
    a bare reshape error, or a ZeroDivisionError for a factor of 0).
    Frame.binned sums through it. AiryPSF and Thermal take their radians per
    arcsecond from aocore.ARCSEC_TO_RAD, and Vignetting its centred grid from
    aocore.coordinate_grid. Every output is bit-for-bit unchanged.

Added

  • Conformance tests (tests/test_conformance.py) run the
    aocore.conformance checks that apply to a detector package: every PSF model
    deposits unit flux, a source at (n - 1) / 2 and the vignetting pattern are
    centred on the optical axis for odd and even windows.