fix calib

This commit is contained in:
awe
2026-03-12 17:58:44 +03:00
parent 2c3259fc59
commit f02de1c3d0
2 changed files with 14 additions and 9 deletions

View File

@ -156,17 +156,12 @@ def normalize_by_envelope(raw: np.ndarray, envelope: np.ndarray) -> np.ndarray:
env = resample_envelope(envelope, raw_arr.size)
out = np.full_like(raw_arr, np.nan, dtype=np.float32)
finite_env = np.abs(env[np.isfinite(env)])
if finite_env.size > 0:
eps = max(float(np.median(finite_env)) * 1e-6, 1e-9)
else:
eps = 1e-9
valid = np.isfinite(raw_arr) & np.isfinite(env) & (np.abs(env) > eps)
den_eps = np.float32(1e-9)
valid = np.isfinite(raw_arr) & np.isfinite(env)
if np.any(valid):
with np.errstate(divide="ignore", invalid="ignore"):
out[valid] = raw_arr[valid] / env[valid]
denom = env[valid] + np.where(env[valid] >= 0.0, den_eps, -den_eps)
out[valid] = raw_arr[valid] / denom
return np.nan_to_num(out, nan=np.nan, posinf=np.nan, neginf=np.nan)