From 5ab5ab86e6b862024ba3c7b829acdab91476409d Mon Sep 17 00:00:00 2001 From: "a.ott" Date: Wed, 15 Jan 2020 14:36:35 +0100 Subject: [PATCH] extend stimuli interface for start, duration, end metadata --- stimuli/AbstractStimulus.py | 21 +++++++++++++++++++++ stimuli/StepStimulus.py | 9 +++++++++ 2 files changed, 30 insertions(+) diff --git a/stimuli/AbstractStimulus.py b/stimuli/AbstractStimulus.py index aa38dc8..649f7d6 100644 --- a/stimuli/AbstractStimulus.py +++ b/stimuli/AbstractStimulus.py @@ -6,3 +6,24 @@ class AbstractStimulus: def value_at_time_in_s(self, time_point): raise NotImplementedError("This is an abstract class!") + + def get_stimulus_start_ms(self): + raise NotImplementedError("This is an abstract class!") + + def get_stimulus_start_s(self): + return self.get_stimulus_start_ms() / 1000 + + def get_stimulus_duration_ms(self): + raise NotImplementedError("This is an abstract class!") + + def get_stimulus_duration_s(self): + return self.get_stimulus_duration_ms() / 1000 + + def get_stimulus_end_ms(self): + return self.get_stimulus_start_ms() + self.get_stimulus_duration_ms() + + def get_stimulus_end_s(self): + return self.get_stimulus_end_ms() / 1000 + + def get_amplitude(self): + raise NotImplementedError("This is an abstract class!") diff --git a/stimuli/StepStimulus.py b/stimuli/StepStimulus.py index f0622ec..cae3bf9 100644 --- a/stimuli/StepStimulus.py +++ b/stimuli/StepStimulus.py @@ -21,3 +21,12 @@ class StepStimulus(AbstractStimulus): return self.value else: return self.base_value + + def get_stimulus_start_ms(self): + return self.start + + def get_stimulus_duration_ms(self): + return self.duration + + def get_amplitude(self): + return self.value - self.base_value