relacs

Relaxed Electrophysiological Data Acquisition,
Control, and Stimulation

... enjoy your recordings

AdaptedFICurves  [RePro]  [Auditory Plugins]

First adapts the neuron to a background sound intensity and then measures f-I curves.

Author
Jan Benda
Version
1.0 (Jan 27, 2011)
Screenshot
adaptedficurves.png
Options
  • Stimulus
  • Adaptation stimulus
  • adaptbase=SPL: Intensity of adapting stimulus relative to (string)
  • adaptint=50dB SPL: Sound intensity of adapting stimulus (number)
  • adaptinit=1000ms: Duration of initial adaptation stimulus (number)
  • adaptduration=100ms: Duration of subsequent adaptation stimuli (number)
  • Test stimuli
  • intbase=SPL: Intensities of test stimulus relative to (string)
  • intmin=50dB: Minimum sound intensity of test stimulus (number)
  • intmax=100dB: Maximum sound intensity of test stimulus (number)
  • intstep=10dB SPL: Sound-intensity steps of test stimulus (number)
  • duration=100ms: Duration of test stimuli (number)
  • General
  • side=left: Speaker (string)
  • carrierfreq=0kHz: Frequency of carrier (number)
  • usebestfreq=true: Relative to the cell's best frequency (boolean)
  • ramp=1ms: Duration of ramps for all intenisty transitions (number)
  • pause=1000ms: Pause between stimuli (number)
  • delay=100ms: Part of pause before stimulus (number)
  • repetitions=10: Number of repetitions of the stimulus (integer)
  • Analysis
  • onsettime=100ms: Onset rate occurs within (number)
  • sstime=100ms: Width for measuring steady-states (number)

FICurve  [RePro]  [Auditory Plugins]

Optimized measuring of f-I curves.

Version
1.6 (Jul 18, 2014)
Author
Jan Benda
Options
  • Intensities
    • intmin=30dB SPL: Minimum stimulus intensity (number)
    • intmax=100dB SPL: Maximum stimulus intensity (number)
    • intstep=1dB SPL: Sound intensity step (number)
    • usethresh=false: Relative to the cell's threshold (boolean)
    • usesat=false: Maximum intensity relative to the cell's best saturation (boolean)
    • useprevints=no: Re-use intensities from the previous run (string)
    • intshuffle=Up: Order of intensities (string)
    • intincrement=0: Initial increment for intensities (integer)
    • singlerepeat=6: Number of immediate repetitions of a single stimulus (integer)
    • blockrepeat=1: Number of repetitions of a fixed intensity increment (integer)
    • repeats=1: Number of repetitions of the whole f-I curve measurement (integer)
    • manualskip=false: Show buttons for manual selection of intensities (boolean)
  • Waveform
    • waveform=sine: Waveform of stimulus (string)
    • carrierfreq=5kHz: Frequency of carrier (number)
    • usebestfreq=false: Relative to the cell's best frequency (boolean)
    • ramp=2ms: Ramp of stimulus (number)
    • duration=400ms: Duration of stimulus (number)
    • pause=400ms: Pause (number)
    • side=left: Speaker (string)
  • Optimization
    • Baseline activity
      • usesilent=false: Use measured baseline activity (boolean)
      • maxbaserate=10Hz: Maximum baseline activity (number)
      • maxsilent=100: Maximum trials used for baseline activity (integer)
      • resetsilent=Never: Reset estimation of baseline activity at (string)
      • silentfactor=3: Weight for standard deviation of baseline activity (number)
    • No response
      • skippause=true: Skip pause if there is no response (boolean)
      • silentintincrement=1: Skip all stimuli below not responding ones
        at intensity increments below (integer)
    • Slope
      • slopeintincrement=2: Optimize slopes at intensity increments below (integer)
      • minrateslope=0Hz/dB: Minimum slope of firing rate (number)
      • maxratefrac=100%: Fraction of maximum firing rate above which slopes are optimized (number)
      • extint=0dB SPL: Extend intensity range by (number)
  • Analysis
    • ratedt=1ms: Bin width for firing rate (number)
    • prewidth=50ms: Window length for baseline firing rate (number)
    • peakwidth=100ms: Window length for peak firing rate (number)
    • sswidth=50ms: Window length for steady-state firing rate (number)
    • plotonssrate=true: Plot onset- and steady-state rate (boolean)
    • adjust=true: Adjust input gain (boolean)
    • setbest=true: Set results to the session variables (boolean)
    • setcurves=none: F-I curves to be passed to session (string)
Plots
The let plot shos the spike raster (red) and the spike frequency of the currently measured intensity and carrier frequency.xs

The right plot shows the f-I curve of the currently measured carrier frequency. Cyan is the firing rate before the stimulus, orange is the mean firing rate (spike count divided by stimulus duration), red is the steady-state firing rate, and green is the onset spike frequency (mean max spike frequency).

If you have selected manualskip then move the mouse into the top part of the f-I curve plot. This brings up a line of red and green buttons, each one corresponding to an intensity value. Green buttons indicated intensities that are measured, red buttons indicate skipped (not measured) intensitties. Left click on a button to toggle measurement of the corresponding intensity value. Simultaneously holding down the shift key toggels all intensities below the selected one. Holding down the ctrl key toggels all intensities above the selected one.

FIField  [RePro]  [Auditory Plugins]

Optimized measuring of f-I curves for a range of carrier frequencies.

Version
1.7 (Jul 23, 2017)
Author
Jan Benda
Options
  • Intensities
    • intmin=30dB SPL: Minimum stimulus intensity (number)
    • intmax=100dB SPL: Maximum stimulus intensity (number)
    • intstep=1dB SPL: Sound intensity step (number)
    • usethresh=false: Relative to the cell's threshold (boolean)
    • usesat=false: Maximum intensity relative to the cell's best saturation (boolean)
    • useprevints=no: Re-use intensities from the previous run (string)
    • intshuffle=Up: Order of intensities (string)
    • intincrement=0: Initial increment for intensities (integer)
    • singlerepeat=6: Number of immediate repetitions of a single stimulus (integer)
    • blockrepeat=1: Number of repetitions of a fixed intensity increment (integer)
    • repeats=1: Number of repetitions of the whole f-I curve measurement (integer)
    • manualskip=false: Show buttons for manual selection of intensities (boolean)
  • Waveform
    • waveform=sine: Waveform of stimulus (string)
    • carrierfreq=5kHz: Frequency of carrier (number)
    • usebestfreq=false: Relative to the cell's best frequency (boolean)
    • ramp=2ms: Ramp of stimulus (number)
    • duration=400ms: Duration of stimulus (number)
    • pause=400ms: Pause (number)
    • side=left: Speaker (string)
  • Optimization
    • Baseline activity
      • usesilent=false: Use measured baseline activity (boolean)
      • maxbaserate=10Hz: Maximum baseline activity (number)
      • maxsilent=100: Maximum trials used for baseline activity (integer)
      • resetsilent=Never: Reset estimation of baseline activity at (string)
      • silentfactor=3: Weight for standard deviation of baseline activity (number)
    • No response
      • skippause=true: Skip pause if there is no response (boolean)
      • silentintincrement=1: Skip all stimuli below not responding ones
        at intensity increments below (integer)
    • Slope
      • slopeintincrement=2: Optimize slopes at intensity increments below (integer)
      • minrateslope=0Hz/dB: Minimum slope of firing rate (number)
      • maxratefrac=100%: Fraction of maximum firing rate above which slopes are optimized (number)
      • extint=0dB SPL: Extend intensity range by (number)
  • Analysis
    • ratedt=1ms: Bin width for firing rate (number)
    • prewidth=50ms: Window length for baseline firing rate (number)
    • peakwidth=100ms: Window length for peak firing rate (number)
    • sswidth=50ms: Window length for steady-state firing rate (number)
    • plotonssrate=true: Plot onset- and steady-state rate (boolean)
    • adjust=true: Adjust input gain (boolean)
    • setbest=true: Set results to the session variables (boolean)
    • setcurves=none: F-I curves to be passed to session (string)
Plots
The left plot shows the sensitivity of the cell as a function of carrier frequency. At each carrier frequency a straight line is fitted into the dynamic range of the f-I curve. The intersection of this line with zero is the threshold of the cell (yellow line). The intersection with the maximum firing rate of the f-I curve is the red line, and the intersection with the "best rate" from the session dialog is the orange line.

The right plot shows the f-I curve of the currently measured carrier frequency. Cyan is the firing rate before the stimulus, orange is the mean firing rate (spike count divided by stimulus duration), red is the steady-state firing rate, and green is the onset spike frequency (mean max spike frequency).

*  [RePro]  [Auditory Plugins]

ReceptorModel  [RePro]  [Auditory Plugins]

Spiking neuron model stimulated through an auditory transduction chain.

Author
Alexander Wolf
Jan Benda

ReceptorModel simulates the auditory transduction chain of Locusta migratoria. It is designed to work with RELACS in the dry mode (relacs -3) so new repros can be tested for different settings. The plugin is based on a biophysical model that describes the transformation of the sound stimulus in a chain of three distinct steps: 1. the tympanum; 2. mechano-electrical transduction; 3. spike generator.

transductionchain.jpg

For each of the three steps, the plugin provides several options for the user to adapt to his/her needs and the hardware restrictions. Additionally, the user can chose between between several integration algorithms. The following options can be selected (in order of increasing complexity):

  1. Tympanum
  • None: No modification of the stimulus
  • Scaling: Adjusts the stimulus strength according to tuning curve
  • Oscillator: Model as damped harmonic oscillator
  1. Mechano-Electrical Transduction:
  • None: No modification of the tympanum output
  • Linear: Absolut value of the tympanum output
  • Linear saturated: Absolut value up to saturation point
  • Box: Two Heavyside functions
  • Square: Square of the tympanum output
  • Square saturated: Square value up to saturation point
  • Linear Boltzman: Superposition of two Boltzman functions with linear dependency in exponent
  • Square Boltzman: One Boltzman function with quadratic dependency in exponent
  1. Spike Generators:
  • Stimulus: No modification of previous function
  • FitzhughNagumo: Simplified abstract neuron model with 2 differential equations.
  • MorrisLecar: Simplified neuron model based on ion channels with 2 differential equations.
  • WangAdapt: Neuron Model with adaptation currents with 5 differential equations.
  1. Integrators:
  • Euler
  • Midpoint
  • Runge-Kutta 4th order
Options
The following options are supported (brief description of each option with default values and data type):
  • Transduction chain
  • tymp=Scaling: Tympanum model (string)
  • freq=5kHz: Eigenfrequency (number)
  • tdec=0.154ms: Decay constant (number)
  • nl=Square saturated: Static nonlinearity (string)
  • Spike generator
  • spikemodel=Stimulus: Spike model (string)
  • noise=0: Standard deviation of current noise (number)
  • deltat=0.005ms: Delta t (number)
  • integrator=Euler: Method of integration (string)
  • Square = ax^2+imin, a=(imax-imin)/cut^2
  • Square saturated = imax, for |x|>=cut
  • Linear = b|x|+imin, b=(imax-imin)/cut
  • Linear saturated = imax, for |x|>=cut
  • Box = imin, for |x|<cut, = imax else
  • None = ax, a=(imax-imin)/cut
  • imax=60muA/cm^2: Maximum current (number)
  • imin=0muA/cm^2: Minimum current (zero point current) (number)
  • cut=0.02mPa: Amplitude of tympanum where imax is reached (number)
  • Boltzmann, (imax/(1-f_0))*(1/(1+exp[-slope*(x-x0)])+1/(1+exp[slope*(x+x0)])-f_0)+imin
  • slope=3000mPa^-1: Slope of Boltzmann (number)
  • matchslope=true: Set slope of Boltzmann to match square (boolean)
  • x0=0.01mPa: 1/2 of Imax-Imin is reached (number)
  • Boltzmann, 2(imax-imin)(1/(1+exp[-slope2*x^2])-1/2)+imin
  • slope2=6e+05mPa^-2: Slope of square Boltzmann (number)
  • matchslope2=true: Set slope of square Boltzmann to match square (boolean)
  • Many more options for spike generators.
Version
1.1 (Jan 15, 2006)

Search  [RePro]  [Auditory Plugins]

Periodically emits a search stimulus.

Author
Jan Benda
Christian Machens
Version
2.8 (July 25, 2017)
Options
  • intensity=80dB: Intensity (number)
  • minintensity=0dB SPL: Minimum sound intensity (number)
  • maxintensity=100dB SPL: Maximum sound intensity (number)
  • mute=false: No stimulus (boolean)
  • duration=50ms: Duration of stimulus (number)
  • pause=500ms: Duration of pause (number)
  • prepause=50ms: Part of pause before stimulus (number)
  • frequency=5kHz: Frequency of stimulus (number)
  • minfreq=2kHz: Minimum allowed frequency (number)
  • maxfreq=50kHz: Maximum allowed frequency (number)
  • waveform=sine: Waveform of stimulus (string)
  • ramp=2ms: Ramp (number)
  • side=left: Speaker (string)
  • repeats=0: Number of repetitions (integer)
  • adjust=true: Adjust input gains (boolean)
  • saving=true: Save raw data (boolean)
  • setbestside=never: Set the sessions's best side (string)
  • keep=true: Keep changes (boolean)
Keyboard shortcuts:
  • Left: Left speaker
  • Right: Right speaker
  • X, Pause: Toggle stimulus output
  • Up: Increase intensity by 1dB
  • Down: Decrease intensity by 1dB
  • Shift+Up: Increase intensity by 5dB
  • Shift+Down: Decrease intensity by 5dB
  • Ctrl+Up: Increase frequency by 1kHz
  • Ctrl+Down: Decrease frequency by 1kHz
  • Ctrl+Shift+Up: Increase frequency by 5kHz
  • Ctrl+Shift+Down: Decrease frequency by 5kHz
  • Ctrl+Left: Decrease duration of pause by 5ms
  • Ctrl+Right: Increase duration of pause by 5ms
  • Ctrl+Shift+Left: Decrease duration of pause by 50ms
  • Ctrl+Shift+Right: Increase duration of pause by 50ms
  • Alt+N: Band limited white noise
  • Alt+S: Sine wave (pure tone)

Session  [RePro]  [Auditory Plugins]

Control recordings from auditory neurons

Author
Jan Benda
Todo:
Temperature needs also to be displayed in the widget.
Version
1.5 (Feb 2, 2010)

SingleStimulus  [RePro]  [Auditory Plugins]

Output of a single stimulus stored in a file.

Version
1.6 (Jul 11, 2015)
Author
Jan Benda
Options
  • Waveform
    • type=Wave: Type of stimulus (string)
    • waveform=From file: Stimulus waveform (string)
    • stimfile=: Stimulus file (string)
    • stimscale=false: Scale stimulus to maximum amplitudes (boolean)
    • stimhighcut=0Hz: Cutoff frequency of high-pass filter applied to stimulus (number)
    • stimampl=0: Amplitude factor (standard deviation) of stimulus file (number)
    • amplitude=1dB: Amplitude of stimulus (number)
    • freqsel=frequency: Specify (string)
    • freq=10Hz: Frequency of waveform (number)
    • period=100ms: Period of waveform (number)
    • numperiods=1: Number of periods (number)
    • pulsesel=pulse duration: Specify (string)
    • pulseduration=10ms: Pulse duration (number)
    • dutycycle=50%: Duty-cycle (number)
    • seed=0: Seed for random number generation (integer)
    • duration=0ms: Maximum duration of stimulus (number)
    • ramp=2ms: Ramp of stimulus (number)
  • Stimulus
    • intensity=50dB: Stimulus intensity (number)
    • intensitybase=SPL: Stimulus intensity relative to (string)
    • repeats=10times: Number of stimulus presentations (number)
    • pause=1000ms: Duration of pause between stimuli (number)
    • before=100ms: Time before stimulus to be analyzed (number)
    • after=100ms: Time after stimulus to be analyzed (number)
    • side=left: Speaker (string)
    • Carrier
      • carrierfreq=5kHz: Carrier frequency (number)
      • usebestfreq=true: Relative to the cell's best frequency (boolean)
  • Intensity - search
    • userate=true: Search intensity for target firing rate (boolean)
    • rate=100Hz: Target firing rate (number)
    • ratetol=5Hz: Tolerance for target firing rate (number)
    • intensitystep=8dB: Initial intensity step (number)
    • searchrepeats=2times: Number of search stimulus presentations (number)
    • silentrate=0Hz: Ignore response below (number)
    • maxsilent=1: Number of stimulus presentations if response is below silentrate (integer)
    • skippause=true: Skip pause if response is below silentrate (boolean)
    • maxsearch=1intensities: Stop search if response does not change for more than (integer)
    • method=Bisect: Method (string)
    • minslope=4Hz/dB: Minimum slope required for interpolation (number)
    • searchduration=0ms: Maximum duration of stimulus (number)
    • searchpause=0ms: Duration of pause between stimuli (number)
  • Analysis
    • skipwin=100ms: Initial portion of stimulus not used for analysis (number)
    • sigma1=2ms: Standard deviation of rate smoothing kernel 1 (number)
    • sigma2=20ms: Standard deviation of rate smoothing kernel 2 (number)
    • storevoltage=false: Save voltage trace (boolean)
    • plot=Current voltage trace: Plot shows (string)
    • adjust=true: Adjust input gain (boolean)
    • Save stimuli
      • storemode=session: Save stimuli in (string)
      • storepath=: Save stimuli in custom directory (string)
      • storelevel=all: Save (string)

SysLatency  [RePro]  [Auditory Plugins]

Measures latency of the whole system, i.e. signal delay, transduction, synapses, axonal delay, ...

Author
Jan Benda
Options
  • Stimulus
  • rate=100Hz: Target firing rate (number)
  • pwaves=10: Number of cycles of pertubation (integer)
  • pintensity=10dB: Intensity of pertubations (number)
  • minpintensity=4dB: Minimum intensity of pertubations (number)
  • carrierfreq=5kHz: Frequency of carrier (number)
  • usebestfreq=true: Use the cell's best frequency (boolean)
  • ramp=2ms: Ramp of stimulus (number)
  • duration=600ms: Duration of stimulus (number)
  • pause=600ms: Pause (number)
  • repeats=10: Number of stimulus repetitions (integer)
  • side=left: Speaker (string)
  • Analysis
  • skipwin=100ms: Initial portion of stimulus not used for analysis (number)
  • analysewin=10ms: Window used for ISI analysis (number)
  • maxlat=10ms: Maximum latency (number)
  • latstep=0.1ms: Resolution of latency (number)
  • coincwin=0.5ms: Window width for coincident spikes (number)
Version
1.5 (Jan 10, 2008)
Last modified: Wed Jun 13 16:31:21 CEST 2018 Valid HTML 4.01 Transitional