From 77d15a5c39b5d1cc7372ddd5458154f0cabda447 Mon Sep 17 00:00:00 2001 From: Ansgar Wehrhahn <31626864+AWehrhahn@users.noreply.github.com> Date: Thu, 8 Dec 2022 12:12:26 +0100 Subject: [PATCH] adjust continuum factors --- src/pysme/continuum_and_radial_velocity.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/pysme/continuum_and_radial_velocity.py b/src/pysme/continuum_and_radial_velocity.py index 51e5dc5d..06534af5 100644 --- a/src/pysme/continuum_and_radial_velocity.py +++ b/src/pysme/continuum_and_radial_velocity.py @@ -602,8 +602,15 @@ def __call__( # TODO: what should this be? if self.top_factor != 0: + from scipy.ndimage import median_filter + + diff = median_filter(y, 5) - y + std = 1.5 * np.median(np.abs(diff[diff != 0] - np.median(diff[diff != 0]))) + snr = 1 / std + factor = 1000 + (snr - 50) * 90 + factor = np.clip(factor, 100, 100_000) mod = np.nanmedian(u) / np.nanmedian(y) * (np.nanpercentile(y, 95) - y) ** 2 - u = u + self.top_factor * mod + u = u + factor * mod deg = sme.cscale_degree p0 = sme.cscale[segments]