1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//! Point-spread-function model.
//!
//! Phase 2 ships the forward operator [`render`] (oversampled effective
//! PSF -> predicted detector stamps); Phase 3 adds its exact adjoint
//! [`accumulate`] (detector-grid residuals back-projected onto the model
//! grid); Phase 4 adds [`robust_combine`] (cross-stamp robust combination
//! of an aligned native-resolution stack, for the extended-PSF wings);
//! Phase 5 adds [`solve_flux_background`] / [`refine_nuisance`] (per-star
//! flux/background/centroid refinement against the current model);
//! Phase 6 adds [`build_epsf`] (the core super-resolution iteration
//! driver that assembles the operator stack into a projected-Landweber
//! solver); Phase 7 adds [`stitch_psf`] / [`build_extended_psf`] (the
//! native-resolution wing robustly stacked from bright stars and
//! stitched onto the oversampled core with a raised-cosine feather and
//! one encircled-energy normalization).
//!
//! The separable bicubic Catmull-Rom interpolation weights live in the
//! psf-internal [`kernel`] module so that the forward operator and its
//! adjoint share one weight function by construction -- the structural
//! guarantee that `accumulate` is the exact transpose of `render`.
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;