Commit 366a61ad authored by Wei Chengliang's avatar Wei Chengliang
Browse files

Fix PSF extrapolation with zero-value

parent 5c3a38fa
Loading
Loading
Loading
Loading
+13 −5
Original line number Diff line number Diff line
@@ -42,14 +42,22 @@ def psf_extrapolate(psf, rr_trim=64, ngg=256):
        psf_temp[rim > rr_trim] = 0
        radii, means = radial_average_at_pixel(psf_temp, 128, 128, dr=4)

        radii_log = np.log(radii[1:])
        means_log = np.log(means[1:])
        radii_fit = np.asarray(radii[1:], dtype=float)
        means_fit = np.asarray(means[1:], dtype=float)
        valid = (
            np.isfinite(radii_fit)
            & np.isfinite(means_fit)
            & (radii_fit > 0)
            & (means_fit > 0)
        )
        radii_log = np.log(radii_fit[valid])
        means_log = np.log(means_fit[valid])

        finite_mask = np.isfinite(means_log)
        f_interp = interp1d(
            radii_log[finite_mask][:-1],
            means_log[finite_mask][:-1],
            radii_log,
            means_log,
            kind="linear",
            bounds_error=False,
            fill_value="extrapolate",
        )