diff --git a/geomagio/algorithm/SpikesAlgorithm.py b/geomagio/algorithm/SpikesAlgorithm.py index 5a4cfa19ae606ebb277569bbf445d879a7f98d0f..185b50239b998bc563f8494557561e76241dbb8e 100644 --- a/geomagio/algorithm/SpikesAlgorithm.py +++ b/geomagio/algorithm/SpikesAlgorithm.py @@ -99,7 +99,13 @@ class SpikesAlgorithm(MetadataAlgorithm): timestamps = trace.times("UTCDateTime") signal = trace.data - # TODO: throw error if singal len < window! + + # throw error if singal len < window + if len(signal) < self.window_size: + raise ValueError( + f"Signal length ({len(signal)}) must be at least as large as the window size ({self.window_size})." + ) + spike_timestamps = self._despike(signal, timestamps) # check existing metadata @@ -119,7 +125,7 @@ class SpikesAlgorithm(MetadataAlgorithm): return None - def check_existing_spike_metadata(self, trace: Trace) -> str | None: + def check_existing_spike_metadata(self, trace: Trace) -> Optional[str] | None: """ Find existing spike metadata for a specified period.