Skip to content

Commit b208670

Browse files
committed
enh: better spike features. include diagnostics with spike features
1 parent 35c4d64 commit b208670

File tree

2 files changed

+282
-92
lines changed

2 files changed

+282
-92
lines changed

ephyspy/features/base.py

Lines changed: 1 addition & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -461,7 +461,7 @@ class SpikeFeature(BaseFeature):
461461
additional functionality ot it.
462462
"""
463463

464-
# TODO: Add support for recursive feature lookup and diagnostics
464+
# TODO: Add support for recursive feature lookup
465465
def __init__(
466466
self,
467467
data: Optional[EphysSweep] = None,
@@ -541,48 +541,6 @@ def __str__(self):
541541
else:
542542
return f"{self.name}\n0: ? {self.units}"
543543

544-
@abstractmethod
545-
def _compute(
546-
self, recompute: bool = False, store_diagnostics: bool = True
547-
) -> ndarray:
548-
"""Compute the feature.
549-
550-
All computation that is neccesary to yield the value of the feature should
551-
be defined here. This is the core method of SpikeFeature and all other
552-
functionality interacts with this method.
553-
554-
Alongside computing the value of the corresponding feature, this method
555-
can also be used to updat the `_diagnostics` attribute, which is a
556-
dictionary that can be used to store any additional information about
557-
the feature computation. This can be useful for debugging or better
558-
understanding how a feature was computed. Diagnostic information can
559-
be accessed with `get_diagnostics` or via the `diagnostics` property and
560-
updated with `_update_diagnostics`.
561-
562-
When `__call__` is called `_compute` can be thought of as a function
563-
that takes in data (`EphysSweep`) and returns a vector of features.
564-
565-
Args:
566-
recompute: If True, recompute the feature even if it is already
567-
computed.
568-
store_diagnostics: If True, store any additional information about
569-
the feature computation in the `_diagnostics` attribute.
570-
571-
Returns:
572-
The value of the feature.
573-
"""
574-
# load dependencies using lookup_sweep_feature or lookup_spike_feature
575-
# do some computation
576-
# save diagnostics using _update_diagnostics
577-
return
578-
579-
def get_diagnostics(self, recompute: bool = False):
580-
"""Overwrite get_diagnostics to return None.
581-
582-
Diagnostics is currently not supported for spike features."""
583-
# No diagnostics for spike features for now!
584-
return None
585-
586544
def __call__(
587545
self,
588546
data: EphysSweep = None,

0 commit comments

Comments
 (0)