Stimuli are assembled from basic components like sine-waves, pulses, etc. Each stimulus component is described by a odML section. The type of the section defines which type of stimulus component was used. The properties of the section describe timing and amplitude information and further specific parameter of the stimulus component.
A stimulus component can also get a usefull name in addition to its type. This name can be used to mark functional aspects of the stimulus components. For example, "prepulse" and "testpulse" can be used to differeniate between succeeding pulse stimuli. THe names should be unique in its level of the hierarchy.
General properties
- Modality: what kind of physical stimulus is it, sound, light etc.
- Todo:
- We need to define useful keywords!
Timing properties
- StartTime: the start of the stimulus component relative to the temporaloffset of the parent node.
- Duration: the duration of the stimulus component.
Amplitude properties
- Intensity:
- Meanintensity:
- Standarddeviation:
- Amplitude:
- How to incorporate attenuator settings?
- There could be a general problem: the stimulus put out is not exactly the stimulus that is delivered. E.g. sound pressure level versus sound intensity, EFish AM, direct versus resulting AM.
Assemble a complex stimulus from components
- appending stimuli
- adding stimuli
- multiplying stimuli (amplitude modulations):
Ramps
Fading
List of stimulus components
stimulus/value
stimulus/ramp
stimulus/periodic
Describes an arbitrary periodic stimulus. A single period is defined as a subsection.
- StartTime
- Duration: of the resulting stimulus
- Repeats: The number of repetitions of a single period
- Pause: optional pauses between repetitions
- Frequency: the frequency of the resulting waveform
- Todo:
- implement repeat function with pause option
stimulus/pulse
- Intensity
- IntensityOffset
stimulus/square_wave
- Frequency
- DutyCycle
- StartAmplitude
stimulus/sine_wave
stimulus/white_noise
- LowerCutoffFrequency
- UpperCutoffFrequency
- Mean
- StDev
stimulus/colored_noise
- CorrlationTime
- Mean
- StDev
stimulus/sweep_wave
- StartFrequency
- EndFrequency
- Phase
stimulus/sawtooth
- Period
- UpstrokeWidth
- DownstrokeWidth
- Ramp
stimulus/alpha
stimulus/recorded
- Trace
- SampleRate e.g. efish::SAM
Ambiguities
and rules how to avoid them
- sineWave() can be stimulus or carrier with const AM. How to deal with that? Even worse: what is that two-frequency stimulus in isoresponse?
- morphing stimuli from pulses to sine waves
- pulses with ramps look like triangles
Sequences of stimuli
for example, how o define a series of pulses with growing amplitudes
- InterstimulusInterval
- Repetitions
- etc.