summaryrefslogtreecommitdiff
path: root/sdil
diff options
context:
space:
mode:
authorYurenHao0426 <Blackhao0426@gmail.com>2026-08-06 16:49:10 -0500
committerYurenHao0426 <Blackhao0426@gmail.com>2026-08-06 16:49:10 -0500
commit3729c6d8467f7a0b384c176e203103c920993843 (patch)
tree178265f526cf3d43457f6d512a8f0d11e37326b0 /sdil
parent2b3cc344d76fd1a73b5abc6aaac198ea02e6303d (diff)
feat: support frozen Rain neutral predictors
Diffstat (limited to 'sdil')
-rw-r--r--sdil/rain_ep_adapter.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/sdil/rain_ep_adapter.py b/sdil/rain_ep_adapter.py
index bcdc410..27314bd 100644
--- a/sdil/rain_ep_adapter.py
+++ b/sdil/rain_ep_adapter.py
@@ -87,8 +87,8 @@ class RainGradientCorrector:
) -> None:
if mode not in self.MODES:
raise ValueError(f"unrecognized correction mode {mode}")
- if neutral_cadence < 1:
- raise ValueError("neutral cadence must be positive")
+ if neutral_cadence < 0:
+ raise ValueError("neutral cadence must be nonnegative")
self.mode = mode
self.predictor_rate = predictor_rate
self.neutral_cadence = neutral_cadence
@@ -155,7 +155,10 @@ class RainGradientCorrector:
else:
if self.debiaser is None:
self._initialize_debiaser(clean)
- if self.steps % self.neutral_cadence == 0:
+ if (
+ self.neutral_cadence > 0
+ and self.steps % self.neutral_cadence == 0
+ ):
self.debiaser.update_neutral(
bases, bias, self.predictor_rate)
corrected = self.debiaser.residual(bases, measured)