[torus] add stimulus creation script
This commit is contained in:
parent
2cbb26f14e
commit
491bbcde2a
6
torus/code/args.py
Normal file
6
torus/code/args.py
Normal file
@ -0,0 +1,6 @@
|
||||
description = "Tool to create stimuli that drive the tuberous and ampullary system."
|
||||
beat_help = 'The desired beat frequency for stimulating the tuberous system. (Default=20Hz)'
|
||||
dc_help = 'The frequency of the low-frequency modulation driving the ampullary stimulus. (Default=20Hz)'
|
||||
dt_help = 'Stepsize used to create the stimulus (default: 0.05ms, aka 20kHz sampling rate).'
|
||||
maxfreq_help = "Maximum frequency for zap stimulus (default 100Hz)."
|
||||
arguments = [ "frequency", "amplitude", "dc", "beat", "contrast" ]
|
120
torus/code/multisensory_stimuli.py
Executable file
120
torus/code/multisensory_stimuli.py
Executable file
@ -0,0 +1,120 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
import argparse
|
||||
import args
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
from IPython import embed
|
||||
|
||||
|
||||
class MultichannelStimulus(object):
|
||||
|
||||
def __init__(self, namespace):
|
||||
assert(namespace is not None)
|
||||
assert(isinstance(namespace, argparse.Namespace))
|
||||
self._constrast_stimulus = None
|
||||
self._zap_stimulus = None
|
||||
self._phase_stimulus = None
|
||||
self._eod_ampl = namespace.amplitude
|
||||
self._eod_freq = namespace.frequency
|
||||
self._df = namespace.beatfrequency
|
||||
self._dcf = namespace.dcfrequency
|
||||
self._outfile = namespace.outfile
|
||||
self._dt = namespace.stepsize
|
||||
self._maxfreq = namespace.maxfreq
|
||||
self._zap_duration = 10.0
|
||||
self._contrast_sweep_duration = 5.0
|
||||
self._phase_sweep_duration = 5.0
|
||||
self.create_contrast_stim()
|
||||
self.create_phase_stim()
|
||||
self.create_zap_stim()
|
||||
|
||||
|
||||
def create_contrast_stim(self):
|
||||
t = np.arange(0, self._contrast_sweep_duration, self._dt)
|
||||
sweep_up = np.linspace(0., 1.0, len(t))
|
||||
am = np.sin((self._eod_freq + self._df) * 2 * np.pi * t)
|
||||
dc = np.sin(2*np.pi*self._dcf*t)
|
||||
am_sweep = am * sweep_up
|
||||
dc_sweep = dc * sweep_up
|
||||
|
||||
self._contrast_stimulus = np.hstack((am_sweep, dc_sweep, am + dc_sweep, dc + am_sweep))
|
||||
header = {" ": "Contrast sweeps for ampullary and tuberous pathways",
|
||||
"sd": 1.0,
|
||||
"deltat": "%.5f s" % self._dt,
|
||||
"eodf": self._eod_freq,
|
||||
"df": self._df,
|
||||
"dcf": self._dcf,
|
||||
"T": "%.3f s" % (4 * self._contrast_sweep_duration)}
|
||||
self.save_stim(np.arange(len(self._contrast_stimulus)) * self._dt, self._contrast_stimulus, header,
|
||||
"contrast_sweep")
|
||||
|
||||
def create_phase_stim(self):
|
||||
t = np.arange(0, self._phase_sweep_duration, self._dt)
|
||||
phase_sweep = np.linspace(0., 2*np.pi, len(t))
|
||||
am = np.sin((self._eod_freq + self._df) * 2 * np.pi * t)
|
||||
dc = np.sin(2*np.pi*self._df*t + phase_sweep)
|
||||
|
||||
self._phase_stimulus = am + dc
|
||||
header = {" ": "Phase sweep stimulating ampullary and tuberous pathways",
|
||||
"sd": 1.0,
|
||||
"deltat": "%.5f s" % self._dt,
|
||||
"eodf": self._eod_freq,
|
||||
"df": self._df,
|
||||
"T": "%.3f s" % (self._phase_sweep_duration)}
|
||||
self.save_stim(t, self._phase_stimulus, header, "phase_sweep")
|
||||
|
||||
def create_zap_stim(self):
|
||||
t = np.arange(0, self._zap_duration, self._dt)
|
||||
m = self._maxfreq/self._zap_duration
|
||||
|
||||
dc = np.sin(2*np.pi*m*t*t)
|
||||
am = np.sin(2*np.pi*(m*t + self._eod_freq)*t)
|
||||
self._zap_stimulus = np.hstack((dc, am, dc+am))
|
||||
header = {" ": "Zap stimulus for ampullary and tuberous pathways",
|
||||
"sd": 1.0,
|
||||
"deltat": "%.5f s" % self._dt,
|
||||
"eodf": self._eod_freq,
|
||||
"maxf": self._maxfreq,
|
||||
"T": "%.3f s" % (3*self._zap_duration)}
|
||||
self.save_stim(np.arange(len(self._zap_stimulus))*self._dt, self._zap_stimulus, header, "zap")
|
||||
|
||||
def save_stim(self, time, stimulus, header, suffix):
|
||||
assert(isinstance(header, dict))
|
||||
|
||||
with open('_'.join((self._outfile, suffix)) + '.dat', "w") as f:
|
||||
for h in header.items():
|
||||
if len(h[0].strip()) == 0:
|
||||
f.write("# %s\n" % (h[1]))
|
||||
else:
|
||||
f.write("# %s = %s\n" % (h[0], h[1]))
|
||||
f.write("\n")
|
||||
f.write("#Key\n")
|
||||
f.write("# t \t x \n")
|
||||
f.write("# s \t 1 \n")
|
||||
|
||||
for t, s in zip(time, stimulus):
|
||||
f.write("%.5f\t %.7f\n" % (t, s))
|
||||
f.write("\n")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser(description=args.description)
|
||||
parser.add_argument('-f', '--frequency', metavar="f", type=float, default='100',
|
||||
help='The fish\'s EOD frequency')
|
||||
parser.add_argument('-a', '--amplitude', metavar='a', type=float,
|
||||
help='The fish\'s EOD amplitude in mV/cm')
|
||||
parser.add_argument('-bf', '--beatfrequency', default=20, metavar='b', type=float,
|
||||
help=args.beat_help)
|
||||
parser.add_argument('-dc', '--dcfrequency', default=20, metavar='dcfreq', type=float,
|
||||
help=args.dc_help)
|
||||
parser.add_argument('-dt', '--stepsize', type=float, default=1./20000,
|
||||
help=args.dt_help)
|
||||
parser.add_argument('-mf', '--maxfreq', type=float, default=100.,
|
||||
help=args.maxfreq_help)
|
||||
parser.add_argument('outfile prefix', help="name of the output file may include the path")
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
stim = MultichannelStimulus(args)
|
||||
|
228
torus/relacs.cfg
Normal file
228
torus/relacs.cfg
Normal file
@ -0,0 +1,228 @@
|
||||
*Settings
|
||||
Plugins:
|
||||
pluginpathes : [ base*, base*, misc*, ephys*, efield*, efish*, comedi*, attcs3310* ]
|
||||
pluginhelppathes: ~
|
||||
controlplugin : [ Session, AmplifierControl, SpectrumAnalyzer ]
|
||||
modelplugin : PUnitModel
|
||||
Pathes:
|
||||
pathformat : %04Y-%02m-%02d-%a2a-invivo-1
|
||||
defaultpath: dry/
|
||||
repropath : [ stimuli/repros/, reprodata, stimuli/repros/ ]
|
||||
infofile : info.dat
|
||||
Save:
|
||||
saverelacsfiles : true
|
||||
saveodmlfiles : false
|
||||
savenixfiles : true
|
||||
savenixcompressed: true
|
||||
saverelacscore : true
|
||||
saverelacsplugins: true
|
||||
saverelacslog : true
|
||||
saveattenuators : true
|
||||
Date/time formats:
|
||||
elapsedformat : "%02H:%02M"
|
||||
sessiontimeformat: %Hh%02Mmin%02Ssec
|
||||
reprotimeformat : %Mmin%02Ssec
|
||||
Plotting:
|
||||
printcommand: ~
|
||||
Data acquisition:
|
||||
processinterval: 50ms
|
||||
aitimeout : 10seconds
|
||||
|
||||
*Metadata
|
||||
-Setup-:
|
||||
Identifier (Name): invivo1
|
||||
Maintainer : Jan Grewe
|
||||
Creator : Jan Grewe and Jan Benda
|
||||
Location (Room) : "5A17"
|
||||
Lab : Neuroethology Lab
|
||||
Institute : Institute for Neurobiology
|
||||
University : University Tuebingen
|
||||
Address : Auf der Morgenstelle 28
|
||||
|
||||
*RELACS
|
||||
input data:
|
||||
inputsamplerate : 40kHz
|
||||
inputtracecapacity : 600s
|
||||
inputunipolar : false
|
||||
inputtraceid : [ V-1, EOD, LocalEOD-1, GlobalEFieldStimulus ]
|
||||
inputtracescale : [ 100, 1, 20, 5 ]
|
||||
inputtraceunit : [ mV, mV, mV, mV ]
|
||||
inputtracedevice : [ ai-1, ai-1, ai-1, ai-1 ]
|
||||
inputtracechannel : [ 6, 0, 2, 4 ]
|
||||
inputtracereference: [ ground, ground, ground, ground ]
|
||||
inputtracemaxvalue : [ 100, 5, 3, 1 ]
|
||||
inputtracecenter : [ true, true, true, true ]
|
||||
output data:
|
||||
outputtraceid : [ GlobalEField, GlobalEFieldAM, V, I ]
|
||||
outputtracedevice : [ ao-1, ao-1, ao-1, ao-1 ]
|
||||
outputtracechannel : [ 1, 0, 2, 3 ]
|
||||
outputtracescale : [ 1, 1, 1, 1 ]
|
||||
outputtraceunit : [ V, V, V, V ]
|
||||
outputtracemaxrate : [ 100kHz, 100kHz, 100kHz, 100kHz ]
|
||||
outputtracemodality: [ voltage, voltage, voltage, current ]
|
||||
|
||||
*Macros
|
||||
file : [ macros.cfg, macrotorus.cfg, macrosdc.cfg, macrosam.cfg, macro_ELL_MS.cfg, macros_fakefish.cfg, macro_ELL_AM.cfg, /home/efish/data/ephys/pyramidals/macros.cfg ]
|
||||
mainfile : macros.cfg
|
||||
fallbackonreload: true
|
||||
|
||||
*FilterDetectors
|
||||
Filter1:
|
||||
name : Spikes-1
|
||||
filter : DynamicSUSpikeDetector
|
||||
inputtrace : V-1
|
||||
save : true
|
||||
savesize : true
|
||||
savewidth : true
|
||||
savemeanrate : true
|
||||
savemeansize : true
|
||||
savemeanwidth : true
|
||||
savemeanquality: true
|
||||
plot : true
|
||||
buffersize : 300000
|
||||
storesize : true
|
||||
storewidth : false
|
||||
Filter2:
|
||||
name : EOD
|
||||
filter : EODDetector
|
||||
inputtrace : EOD
|
||||
save : false
|
||||
savesize : false
|
||||
savewidth : false
|
||||
savemeanrate : true
|
||||
savemeansize : true
|
||||
savemeanwidth : false
|
||||
savemeanquality: false
|
||||
plot : true
|
||||
buffersize : 300000
|
||||
storesize : true
|
||||
storewidth : false
|
||||
Filter3:
|
||||
name : Chirps
|
||||
filter : ChirpDetector
|
||||
inputtrace : EOD
|
||||
save : true
|
||||
savesize : true
|
||||
savewidth : true
|
||||
savemeanrate : true
|
||||
savemeansize : false
|
||||
savemeanwidth : false
|
||||
savemeanquality: false
|
||||
plot : true
|
||||
buffersize : 300000
|
||||
storesize : true
|
||||
storewidth : true
|
||||
Filter4:
|
||||
name : LocalEOD-1
|
||||
filter : EODDetector
|
||||
inputtrace : LocalEOD-1
|
||||
save : false
|
||||
savesize : false
|
||||
savewidth : false
|
||||
savemeanrate : true
|
||||
savemeansize : true
|
||||
savemeanwidth : false
|
||||
savemeanquality: false
|
||||
plot : true
|
||||
buffersize : 300000
|
||||
storesize : true
|
||||
storewidth : false
|
||||
Filter5:
|
||||
name : LocalBeat-1
|
||||
filter : BeatDetector
|
||||
inputtrace : LocalEOD-1
|
||||
save : true
|
||||
savesize : true
|
||||
savewidth : false
|
||||
savemeanrate : true
|
||||
savemeansize : true
|
||||
savemeanwidth : false
|
||||
savemeanquality: false
|
||||
plot : true
|
||||
buffersize : 300000
|
||||
storesize : true
|
||||
storewidth : false
|
||||
othertrace : Chirps
|
||||
Filter6:
|
||||
name : GlobalEFieldStimulus
|
||||
filter : EODDetector
|
||||
inputtrace : GlobalEFieldStimulus
|
||||
save : false
|
||||
savesize : false
|
||||
savewidth : false
|
||||
savemeanrate : true
|
||||
savemeansize : true
|
||||
savemeanwidth : false
|
||||
savemeanquality: false
|
||||
plot : true
|
||||
buffersize : 300000
|
||||
storesize : true
|
||||
storewidth : false
|
||||
|
||||
*AudioMonitor
|
||||
device : [ "-1 default", "0 HDA Intel PCH: CX20642 Analog (hw:0,0) (2 channels)", "2 HDA Intel PCH: HDMI 0 (hw:0,3) (8 channels)", "3 HDA Intel PCH: HDMI 1 (hw:0,7) (8 channels)", "4 sysdefault (128 channels)", "5 front (2 channels)", "6 surround40 (2 channels)", "7 surround51 (2 channels)", "8 surround71 (2 channels)", "9 hdmi (8 channels)", "10 pulse (32 channels)", "11 dmix (2 channels)", "12 default (32 channels) - default" ]
|
||||
enable : true
|
||||
mute : false
|
||||
gain : 1
|
||||
audiorate: [ "48", "8", "16", "22.05", "44.1", "48", "96" ]kHz
|
||||
|
||||
*Devices
|
||||
Device1:
|
||||
plugin : AmplMode
|
||||
device : dio-1
|
||||
ident : ampl-1
|
||||
buzzerpin : 14
|
||||
resistancepin: 15
|
||||
bridgepin : 10
|
||||
cclamppin : 9
|
||||
vclamppin : 8
|
||||
dclamppin : 13
|
||||
syncpin : 7
|
||||
buzzerpulse : 500
|
||||
|
||||
*Analog Input Devices
|
||||
Device1:
|
||||
plugin: ComediAnalogInput
|
||||
device: /dev/comedi0
|
||||
ident : ai-1
|
||||
|
||||
*Analog Output Devices
|
||||
Device1:
|
||||
plugin: ComediAnalogOutput
|
||||
device: /dev/comedi0
|
||||
ident : ao-1
|
||||
|
||||
*Digital I/O Devices
|
||||
Device1:
|
||||
plugin: ComediDigitalIO
|
||||
device: /dev/comedi0
|
||||
ident : dio-1
|
||||
|
||||
*Attenuator Devices
|
||||
Device1:
|
||||
plugin: [ CS3310DIO, AttSim ]
|
||||
device: dio-1
|
||||
ident : attdev-1
|
||||
|
||||
*Attenuator Interfaces
|
||||
Device1:
|
||||
plugin : LinearAttenuate
|
||||
device : attdev-1
|
||||
line : 0
|
||||
aodevice : ao-1
|
||||
aochannel : 0
|
||||
ident : Attenuator-0
|
||||
intensityname : amplitude
|
||||
intensityunit : mV/cm
|
||||
intensityformat: %6.3f
|
||||
Device2:
|
||||
plugin : LinearAttenuate
|
||||
device : attdev-1
|
||||
line : 1
|
||||
aodevice : ao-1
|
||||
aochannel : 1
|
||||
ident : Attenuator-1
|
||||
intensityname : amplitude
|
||||
intensityunit : mV/cm
|
||||
intensityformat: %6.3f
|
||||
|
771
torus/relacsplugins.cfg
Normal file
771
torus/relacsplugins.cfg
Normal file
@ -0,0 +1,771 @@
|
||||
*Metadata
|
||||
Recording:
|
||||
Recording quality: [ Good, ~, good, poor, Poor, Fair, Good ]
|
||||
Comment : ~
|
||||
Experimenter : [ Jan Grewe, Dennis Huben, Janez Presern, Fabian Sinz, Juan Sehuanes, Carolin Sachgau, Jie Zhang, Jan Grewe, Jan Benda ]
|
||||
WaterTemperature : 24.5°C
|
||||
WaterConductivity: 330uS/cm
|
||||
Cell:
|
||||
CellType (Cell type) : [ unkown, Pyramidal, E-cell, E-cell deep, unknow, E-Cell, unkown, E-cell superficial, I-Cell, P-unit, Ampullary, T-unit ]
|
||||
Structure (Recording location): [ Brain, Nerve, Brain ]
|
||||
BrainRegion : [ TSd, TSd, Torus, n.A., ELL ]
|
||||
BrainSubRegion : [ ~, ~, LS, CLS, CMS, MS ]
|
||||
Depth : 535.7um
|
||||
Lateral position : -1.4mm
|
||||
Transverse section : 7
|
||||
Subject:
|
||||
Species : [ Apteronotus leptorhynchus, Apteronotus albifrons, Apteronotus leptorhynchus ]
|
||||
Gender (Sex): [ unknown, unknown, Male, Female ]
|
||||
Size : 17cm
|
||||
Weight : 13.6g
|
||||
Identifier : "2018lepto24"
|
||||
-Preparation-:
|
||||
Type : [ in vivo, in vivo, slice ]
|
||||
Anaesthesia : true
|
||||
Anaesthetic (Drug) : MS 222
|
||||
AnaestheticDose (Concentration): 100mg/l
|
||||
LocalAnaesthesia : true
|
||||
LocalAnaesthetic (Drug) : Lidocaine
|
||||
Immobilization : true
|
||||
ImmobilizationDrug (Drug) : Tubocurarin 5mg/L
|
||||
ImmobilizationDose : 50ul
|
||||
|
||||
*Control: Session
|
||||
ephys: true
|
||||
|
||||
*Control: AmplifierControl
|
||||
initmode : [ Bridge, Current-clamp, Dynamic-clamp, Voltage-clamp, Manual selection ]
|
||||
resistancecurrent: 1nA
|
||||
adjust : false
|
||||
maxresistance : 100MOhm
|
||||
buzzpulse : 500ms
|
||||
showswitchmessage: true
|
||||
showbridge : true
|
||||
showcc : false
|
||||
showdc : false
|
||||
showvc : false
|
||||
showmanual : false
|
||||
syncpulse : 10us
|
||||
syncmode : 0samples
|
||||
vcgain : 100
|
||||
vctau : 1ms
|
||||
|
||||
*Control: SpectrumAnalyzer
|
||||
intrace : [ LocalEOD-1, V-1, EOD, LocalEOD-1, GlobalEFieldStimulus ]
|
||||
origin : [ before end of data, before signal, after signal ]
|
||||
offset : 0ms
|
||||
duration : 1000ms
|
||||
resolution: 10Hz
|
||||
overlap : true
|
||||
window : [ Hanning, Bartlett, Blackman, Blackman-Harris, Hamming, Hanning, Parzen, Square, Welch ]
|
||||
fmax : 500Hz
|
||||
decibel : true
|
||||
peak : true
|
||||
pmin : -50dB
|
||||
|
||||
*Model: PUnitModel
|
||||
General:
|
||||
EOD:
|
||||
eodtype : [ Sine, None, Sine, Apteronotus, Eigenmannia ]
|
||||
eodfreq : 800Hz
|
||||
eodfreqsd : 10Hz
|
||||
eodfreqtau : 10000s
|
||||
eodlocalamplitude : 1mV/cm
|
||||
eodglobalamplitude: 1mV/cm
|
||||
localstimulusgain : 1.00
|
||||
globalstimulusgain: 0.00
|
||||
stimulusgain : 1.00
|
||||
Spikes:
|
||||
voltagescale: 0.5
|
||||
General:
|
||||
Spike generator:
|
||||
spikemodel: [ Wang-Buzsaki, Stimulus, Passive membrane, Morris-Lecar, Hodgkin-Huxley, Connor, Wang-Buzsaki ]
|
||||
noised : 0
|
||||
deltat : 0.05ms
|
||||
integrator: [ Euler, Midpoint, Runge-Kutta 4 ]
|
||||
Voltage clamp:
|
||||
vcgain: 10
|
||||
vctau : 0.1ms
|
||||
Currents:
|
||||
Voltage-gated current 1 - activation only:
|
||||
gmc : 0
|
||||
emc : -90mV
|
||||
mvmc : -40mV
|
||||
mwmc : 10mV
|
||||
taumc: 10ms
|
||||
Voltage-gated current 2 - activation and inactivation:
|
||||
gmhc : 0
|
||||
emhc : -90mV
|
||||
mvmhc : -40mV
|
||||
mwmhc : 10mV
|
||||
taummhc: 10ms
|
||||
pmmhc : 1
|
||||
hvmhc : -40mV
|
||||
hwmhc : 10mV
|
||||
tauhmhc: 10ms
|
||||
pmhhc : 1
|
||||
|
||||
*Model: Stimulus
|
||||
Input:
|
||||
gain : 1
|
||||
offset: 0muA/cm^2
|
||||
|
||||
*Model: Passive membrane
|
||||
Parameter:
|
||||
R: 50MOhm
|
||||
C: 25pF
|
||||
Input:
|
||||
gain : 1
|
||||
offset: 0muA/cm^2
|
||||
|
||||
*Model: Morris-Lecar
|
||||
General:
|
||||
params: [ Custom, Type I, Type II ]
|
||||
Calcium current:
|
||||
gca : 4nS
|
||||
eca : 120mV
|
||||
mvca: -1.2mV
|
||||
mkca: 18mV
|
||||
Potassium current:
|
||||
gk : 8nS
|
||||
ek : -84mV
|
||||
mvk : 12mV
|
||||
mkk : 17.4mV
|
||||
mphik: 0.067kHz
|
||||
Leak current:
|
||||
gl: 2nS
|
||||
el: -60mV
|
||||
c : 20pF
|
||||
Input:
|
||||
timescale: 10
|
||||
gain : 1
|
||||
offset : 40muA/cm^2
|
||||
|
||||
*Model: Hodgkin-Huxley
|
||||
Sodium current:
|
||||
gna: 120mS/cm^2
|
||||
ena: 50mV
|
||||
Potassium current:
|
||||
gk: 36mS/cm^2
|
||||
ek: -77mV
|
||||
Leak current:
|
||||
gl : 0.3mS/cm^2
|
||||
el : -54.4mV
|
||||
c : 1muF/cm^2
|
||||
phi: 1
|
||||
Input:
|
||||
gain : 1
|
||||
offset: 0muA/cm^2
|
||||
|
||||
*Model: Connor
|
||||
Sodium current:
|
||||
gna: 120mS/cm^2
|
||||
ena: 50mV
|
||||
Potassium current:
|
||||
gk: 20mS/cm^2
|
||||
ek: -77mV
|
||||
A current:
|
||||
gka: 47mS/cm^2
|
||||
eka: -80mV
|
||||
Leak current:
|
||||
gl : 0.3mS/cm^2
|
||||
el : -22mV
|
||||
c : 1muF/cm^2
|
||||
phi: 1
|
||||
Input:
|
||||
gain : 1
|
||||
offset: 0muA/cm^2
|
||||
|
||||
*Model: Wang-Buzsaki
|
||||
Sodium current:
|
||||
gna: 35mS/cm^2
|
||||
ena: 55mV
|
||||
Potassium current:
|
||||
gk: 9mS/cm^2
|
||||
ek: -90mV
|
||||
Leak current:
|
||||
gl : 0.1mS/cm^2
|
||||
el : -65mV
|
||||
c : 1muF/cm^2
|
||||
phi: 5
|
||||
Input:
|
||||
gain : 1
|
||||
offset: 0muA/cm^2
|
||||
|
||||
*Event Detector: Spikes-1
|
||||
Detector:
|
||||
minthresh: 8.4mV
|
||||
decay : 1sec
|
||||
ratio : 12%
|
||||
testwidth: false
|
||||
maxwidth : 2.0ms
|
||||
Indicators:
|
||||
resolution : 0.10mV
|
||||
trendthresh: 10%
|
||||
trendtime : 2.0sec
|
||||
|
||||
*Event Detector: EOD
|
||||
threshold : 0.26mV
|
||||
interpolation: [ linear interpolation, closest datapoint, linear interpolation, linear fit, quadratic fit ]
|
||||
|
||||
*Event Detector: Chirps
|
||||
minthresh: 10Hz
|
||||
|
||||
*Event Detector: LocalEOD-1
|
||||
threshold : 0.1mV
|
||||
interpolation: [ linear interpolation, closest datapoint, linear interpolation, linear fit, quadratic fit ]
|
||||
|
||||
*Event Detector: LocalBeat-1
|
||||
minthresh: 0.022mV
|
||||
|
||||
*Event Detector: GlobalEFieldStimulus
|
||||
threshold : 0.044256mV
|
||||
interpolation: [ linear interpolation, closest datapoint, linear interpolation, linear fit, quadratic fit ]
|
||||
|
||||
*RePro: Pause
|
||||
duration : 1sec
|
||||
savedata : false
|
||||
plotwidth: 0sec
|
||||
|
||||
*RePro: Record
|
||||
duration : 1sec
|
||||
plotwidth: 0sec
|
||||
dioout : false
|
||||
diodevice: dio-1
|
||||
dioline : 0
|
||||
|
||||
*RePro: SaveTraces
|
||||
General:
|
||||
duration : 1sec
|
||||
savedata : false
|
||||
split : false
|
||||
dioout : false
|
||||
diodevice: dio-1
|
||||
dioline : 0
|
||||
Analog input traces:
|
||||
trace-V-1 : true
|
||||
trace-EOD : true
|
||||
trace-LocalEOD-1 : true
|
||||
trace-GlobalEFieldStimulus: true
|
||||
Events:
|
||||
events-Spikes-1 : true
|
||||
events-EOD : true
|
||||
events-Chirps : true
|
||||
events-LocalEOD-1 : true
|
||||
events-LocalBeat-1-1 : true
|
||||
events-LocalBeat-1-2 : true
|
||||
events-GlobalEFieldStimulus: true
|
||||
|
||||
*RePro: SetAttenuatorGain
|
||||
outrace : V-1
|
||||
gain : 1
|
||||
interactive: true
|
||||
|
||||
*RePro: SetDigitalOutput
|
||||
device : dio-1
|
||||
line : 0
|
||||
value : 0
|
||||
interactive: false
|
||||
|
||||
*RePro: SetInputGain
|
||||
intrace : [ V-1, EOD, LocalEOD-1, GlobalEFieldStimulus ]
|
||||
gainindex : 0
|
||||
interactive: true
|
||||
|
||||
*RePro: SetOutput
|
||||
outtrace : [ GlobalEField, GlobalEFieldAM, V, I ]
|
||||
value : 0V
|
||||
intensity : 1
|
||||
interactive: true
|
||||
|
||||
*RePro: Spectrogram
|
||||
intrace : [ V-1, EOD, LocalEOD-1, GlobalEFieldStimulus ]
|
||||
width : 100ms
|
||||
step : 0ms
|
||||
tmax : 10s
|
||||
duration: 0s
|
||||
size : [ "1024", "64", "128", "256", "512", "1024", "2048", "4096", "8192", "16384", "32768", "65536", "131072", "262144", "524288", "1048576" ]
|
||||
overlap : true
|
||||
window : [ Hanning, Bartlett, Blackman, Blackman-Harris, Hamming, Hanning, Parzen, Square, Welch ]
|
||||
powermax: true
|
||||
fmax : 2000Hz
|
||||
pmax : 0dB
|
||||
pmin : -50dB
|
||||
|
||||
*RePro: TransferFunction
|
||||
Stimulus:
|
||||
outtrace : [ GlobalEField, GlobalEFieldAM, V, I ]
|
||||
offsetbase: [ custom, current ]value
|
||||
offset : 0V
|
||||
amplitude : 1V
|
||||
clip : 4
|
||||
intensity : 1
|
||||
fmin : 0Hz
|
||||
fmax : 1000Hz
|
||||
duration : 1s
|
||||
pause : 1s
|
||||
repeats : 100
|
||||
Analysis:
|
||||
intrace : [ V-1, EOD, LocalEOD-1, GlobalEFieldStimulus ]
|
||||
size : [ "1024", "64", "128", "256", "512", "1024", "2048", "4096", "8192", "16384", "32768", "65536", "131072", "262144", "524288", "1048576" ]
|
||||
overlap : true
|
||||
window : [ Hanning, Bartlett, Blackman, Blackman-Harris, Hamming, Hanning, Parzen, Square, Welch ]
|
||||
plotstdevs : true
|
||||
plotcoherence: true
|
||||
plotdecibel : false
|
||||
|
||||
*RePro: Wait
|
||||
absdate: false
|
||||
date : ~
|
||||
days : 0days
|
||||
time : "00:00:00.000"
|
||||
|
||||
*RePro: BridgeTest
|
||||
amplitude : 1V
|
||||
duration : 10ms
|
||||
pause : 100ms
|
||||
average : 10
|
||||
skipspikes : true
|
||||
dynamicrange: false
|
||||
rate : 0.01
|
||||
plottrace : true
|
||||
|
||||
*RePro: CalibrateSyncPulse
|
||||
imin : -1
|
||||
imax : 1
|
||||
istep : 0.001
|
||||
skipwin : 1000ms
|
||||
duration: 1000ms
|
||||
|
||||
*RePro: CapacityCompensation
|
||||
amplitude : 1V
|
||||
duration : 200ms
|
||||
frequency : 100Hz
|
||||
showcycles : 10
|
||||
pause : 100ms
|
||||
average : 10
|
||||
skipspikes : true
|
||||
dynamicrange: false
|
||||
rate : 0.01
|
||||
|
||||
*RePro: Iontophoresis
|
||||
durationpos : 1s
|
||||
amplitudepos : 1V
|
||||
pausepos : 1s
|
||||
durationneg : 1s
|
||||
amplitudeneg : 1V
|
||||
pauseneg : 1s
|
||||
fortunes : true
|
||||
fortuneperiod: 10s
|
||||
|
||||
*RePro: SetLeak
|
||||
interactive : true
|
||||
preset : [ previous, zero, custom ]values
|
||||
g : 0nS
|
||||
E : 0mV
|
||||
reversaltorest: true
|
||||
involtage : [ V-1, EOD, LocalEOD-1, GlobalEFieldStimulus ]
|
||||
duration : 100ms
|
||||
|
||||
*RePro: SetVGate
|
||||
interactive : true
|
||||
preset : [ previous, zero, custom ]values
|
||||
g : 0nS
|
||||
E : 0mV
|
||||
vmid : 0mV
|
||||
width : 0mV
|
||||
tau : 10ms
|
||||
reversaltorest: true
|
||||
involtage : [ V-1, EOD, LocalEOD-1, GlobalEFieldStimulus ]
|
||||
duration : 100ms
|
||||
|
||||
*RePro: Beats
|
||||
Stimulation:
|
||||
name : ~
|
||||
duration : 10seconds
|
||||
pause : 20seconds
|
||||
ramp : 0.5seconds
|
||||
deltafrange : "10"Hz
|
||||
deltafshuffle: [ Up, Down, AlternateInUp, AlternateInDown, AlternateOutUp, AlternateOutDown, Random, PseudoRandom ]
|
||||
fixeddf : false
|
||||
amplitude : 1mV/cm
|
||||
amtype : [ none, sine, rectangular ]
|
||||
amfreq : "1"Hz
|
||||
amamplitude : "100"%
|
||||
repeats : 10
|
||||
fakefish : 0Hz
|
||||
Chirps:
|
||||
generatechirps : false
|
||||
chirpsize : 100Hz
|
||||
chirpwidth : 100ms
|
||||
chirpampl : 0%
|
||||
chirpkurtosis : 1
|
||||
chirpfrequencies: ~Hz
|
||||
chirptimesfile : ~
|
||||
chirptimeshuffle: [ Up, Down, AlternateInUp, AlternateInDown, AlternateOutUp, AlternateOutDown, Random, PseudoRandom ]
|
||||
Analysis:
|
||||
before : 1seconds
|
||||
after : 1seconds
|
||||
averagetime : 1seconds
|
||||
usepsd : true
|
||||
mineodfreq : 100Hz
|
||||
maxeodfreq : 2000Hz
|
||||
eodfreqprec : 1Hz
|
||||
neod : 2
|
||||
showstimulus: false
|
||||
split : false
|
||||
savetraces : false
|
||||
|
||||
*RePro: CalibEField
|
||||
General:
|
||||
reset : false
|
||||
resetval : 0.1
|
||||
am : false
|
||||
beatfreq : 20Hz
|
||||
frequency: 600Hz
|
||||
duration : 600ms
|
||||
pause : 10ms
|
||||
Range:
|
||||
amplsel : [ contrast, amplitude ]
|
||||
targetcontrast : 20%
|
||||
mincontrast : 10%
|
||||
maxcontrast : 40%
|
||||
targetamplitude: 1mV/cm
|
||||
minamplitude : 0.5mV/cm
|
||||
maxamplitude : 2mV/cm
|
||||
numintensities : 10
|
||||
|
||||
*RePro: CalibrateRobot
|
||||
robot: robot-1
|
||||
|
||||
*RePro: DualBeat
|
||||
Stimulus:
|
||||
rewarded : [ A, B ]
|
||||
eodf : 0.0Hz
|
||||
duration : 10seconds
|
||||
deltafA : 25.0Hz
|
||||
harmonicA : false
|
||||
amplitudeA: 1.000V
|
||||
deltafB : -50.0Hz
|
||||
harmonicB : false
|
||||
amplitudeB: 1.000V
|
||||
Experiment:
|
||||
noFish : false
|
||||
randomizeAmpl : true
|
||||
amplitudeRange : 20%
|
||||
randomSminus : false
|
||||
sminusRange : 200Hz
|
||||
training : true
|
||||
randomElectrode : true
|
||||
rewardedElectrode: [ "1", "2" ]
|
||||
trainingTrials : 10
|
||||
testTrials : 5
|
||||
testBeat : -25.0Hz
|
||||
testAmplitude : 1.000V
|
||||
stimOff : true
|
||||
rewardInTest : true
|
||||
harmonic : true
|
||||
Setup:
|
||||
scaling1: 1.000
|
||||
scaling2: 1.000
|
||||
EOD estimation:
|
||||
intrace : [ V-1, EOD, LocalEOD-1, GlobalEFieldStimulus ]
|
||||
usepsd : true
|
||||
mineodfreq : 100Hz
|
||||
maxeodfreq : 2000Hz
|
||||
eodfreqprec: 1Hz
|
||||
averagetime: 2s
|
||||
|
||||
*RePro: EFieldGeometry
|
||||
Enviroment data:
|
||||
temperature : 26°C
|
||||
conductivity: 330µS
|
||||
water_level : 20cm
|
||||
Measurement data:
|
||||
robot : robot-1
|
||||
type : ~
|
||||
distance : 0mm
|
||||
head_length : 20mm
|
||||
tail_length : 20mm
|
||||
width_posY : 50mm
|
||||
width_negY : 50mm
|
||||
height : 50mm
|
||||
depth : 50mm
|
||||
step_length_x: 5mm
|
||||
step_length_y: 5mm
|
||||
step_length_z: 5mm
|
||||
|
||||
*RePro: JAR
|
||||
Stimulation:
|
||||
duration : 10seconds
|
||||
pause : 10seconds
|
||||
ramp : 0.5seconds
|
||||
deltafstep : 2Hz
|
||||
deltafmax : 12Hz
|
||||
deltafmin : -12Hz
|
||||
deltafrange : ~
|
||||
deltafshuffle: [ Up, Down, AlternateInUp, AlternateInDown, AlternateOutUp, AlternateOutDown, Random, PseudoRandom ]
|
||||
repeats : 200
|
||||
Amplitudes:
|
||||
amplsel : [ contrast, absolute ]
|
||||
contrastmax : 20%
|
||||
contrastmin : 10%
|
||||
contraststep: 20%
|
||||
amplmin : 1mV/cm
|
||||
amplmax : 2mV/cm
|
||||
amplstep : 1mV/cm
|
||||
S&timulus:
|
||||
genstim : true
|
||||
sinewave: true
|
||||
file : ~
|
||||
sigstdev: 1
|
||||
warpfile: false
|
||||
fakefish: 0Hz
|
||||
A&nalysis:
|
||||
before : 1seconds
|
||||
after : 8seconds
|
||||
savetraces : true
|
||||
jaraverage : 500ms
|
||||
chirpaverage: 20ms
|
||||
eodsavetime : 1000ms
|
||||
|
||||
*RePro: LinearField
|
||||
duration: 1s
|
||||
|
||||
*RePro: ManualJAR
|
||||
deltaf : 0.0Hz
|
||||
lineardeltaf : false
|
||||
deltaf2 : 0.0Hz
|
||||
amplitude : 1.0mV
|
||||
duration : 10seconds
|
||||
ramp : 0.5seconds
|
||||
fakefish : 0Hz
|
||||
showlineardeltaf: false
|
||||
before : 1seconds
|
||||
after : 1seconds
|
||||
averagetime : 1seconds
|
||||
split : false
|
||||
savetraces : false
|
||||
|
||||
*RePro: BaselineActivity
|
||||
Timing:
|
||||
duration: 300ms
|
||||
repeats : 0
|
||||
Analysis:
|
||||
isimax : 20ms
|
||||
isistep : 0.2ms
|
||||
ratedt : 0.05ms
|
||||
ratetmax: 2ms
|
||||
Files:
|
||||
eodduration : 2000ms
|
||||
saveeodtrace: false
|
||||
saveeodtimes: false
|
||||
Control:
|
||||
auto : [ never, once, always ]
|
||||
adjust: false
|
||||
|
||||
*RePro: Chirps
|
||||
Chirp parameter:
|
||||
nchirps : 10
|
||||
beatpos : 10
|
||||
beatstart : 0.25
|
||||
minspace : 200ms
|
||||
firstspace : 200ms
|
||||
chirpsize : 60Hz
|
||||
chirpwidth : 14ms
|
||||
chirpampl : 2%
|
||||
chirpsel : [ generated, from file ]
|
||||
chirpkurtosis: 1
|
||||
file : [ /home/efish/Desktop/doublePeakChirp.dat, ~, /home/efish/Desktop/doublePeakChirp.dat ]
|
||||
Beat parameter:
|
||||
deltaf : 10Hz
|
||||
contrast: 20%
|
||||
am : true
|
||||
sinewave: true
|
||||
playback: false
|
||||
pause : 1000ms
|
||||
repeats : 16
|
||||
Analysis:
|
||||
sigma : 2ms
|
||||
adjust: false
|
||||
|
||||
*RePro: FICurve
|
||||
Test-Intensities:
|
||||
duration : 400ms
|
||||
maxintfac : 130%
|
||||
minintfac : 70%
|
||||
nints : 10
|
||||
repeats : 1
|
||||
blockrepeats : 10
|
||||
singlerepeats: 1
|
||||
intshuffle : [ AlternateOutUp, Up, Down, AlternateInUp, AlternateInDown, AlternateOutUp, AlternateOutDown, Random, PseudoRandom ]
|
||||
intincrement : -2
|
||||
Pre-Intensities:
|
||||
preduration : 0ms
|
||||
maxpreintfac : 140%
|
||||
minpreintfac : 60%
|
||||
npreints : 3
|
||||
preintshuffle: [ AlternateInDown, Up, Down, AlternateInUp, AlternateInDown, AlternateOutUp, AlternateOutDown, Random, PseudoRandom ]
|
||||
Control:
|
||||
am : true
|
||||
pause : 1000ms
|
||||
delay : 200ms
|
||||
onsettime : 50ms
|
||||
rangeintincrement: 4
|
||||
minrate : 40Hz
|
||||
minratefrac : 15%
|
||||
adjust : false
|
||||
|
||||
*RePro: FileStimulus
|
||||
General:
|
||||
name: ~
|
||||
Stimulus:
|
||||
file : [ /home/efish/stimuli/whitenoise/dennis/InputArr_400hz_30s.dat, /home/efish/stimuli/whitenoise/dennis/InputArr_400hz_30s.dat, /home/efish/stimuli/whitenoise/dennis/InputArr_350to400hz_30s.dat, /home/efish/stimuli/whitenoise/gwn300Hz50s0.3.dat, ~, /home/efish/stimuli/whitenoise/gwn50Hz50s0.3.dat, /home/efish/stimuli/whitenoise/dennis/InputArr_250hz_30s.dat, /home/efish/stimuli/whitenoise/dennis/InputArr_50to100hz_30s.dat ]
|
||||
sigstdev : 0.25
|
||||
duration : 20000ms
|
||||
pause : 1000ms
|
||||
amplsel : [ contrast, absolute ]
|
||||
contrast : 20%
|
||||
amplitude: 1mV/cm
|
||||
am : true
|
||||
repeats : 5
|
||||
Additional noise:
|
||||
noisetype : [ none, Gaussian-White, Ornstein-Uhlenbeck ]
|
||||
uppercutoff : 600Hz
|
||||
lowercutoff : 0Hz
|
||||
noisetau : 10ms
|
||||
noisecontrast: 0%
|
||||
noiseampl : 80mV/cm
|
||||
Analysis:
|
||||
binwidth: 5ms
|
||||
before : 0ms
|
||||
after : 0ms
|
||||
plotpsd : true
|
||||
psdsize : [ "256", "64", "128", "256", "512", "1024", "2048", "4096", "8192", "16384", "32768", "65536", "131072", "262144", "524288", "1048576" ]
|
||||
adjust : false
|
||||
|
||||
*RePro: MovingObjects
|
||||
Movement:
|
||||
startpos : [ 0, 0, 0 ]
|
||||
traveldist : 0mm
|
||||
travelspeed : 40mm/s
|
||||
movementaxis: [ x, y, z ]
|
||||
repeats : 1
|
||||
pause : 1.5s
|
||||
object : [ pvc comb 4cm, pvc comb 1cm, perspex bar, metal sphere ]
|
||||
Parameter space:
|
||||
distmin : 0mm
|
||||
distmax : 0mm
|
||||
diststep : 1mm
|
||||
speedmin : 0mm/s
|
||||
speedmax : 0mm/s
|
||||
speedstep: 0mm/s
|
||||
Robot setup:
|
||||
xmapping: [ y, z, x ]
|
||||
xinvert : true
|
||||
ymapping: [ z, x, y ]
|
||||
yinvert : false
|
||||
zmapping: [ x, y, z ]
|
||||
zinvert : false
|
||||
safepos : [ 0, 0, 0 ]
|
||||
outpos : [ 0, 0, 0 ]
|
||||
|
||||
*RePro: ReceptiveField
|
||||
2D search:
|
||||
name : ~
|
||||
xmin : 0mm
|
||||
xmax : 0mm
|
||||
xspeed : 10mm/s
|
||||
ymin : 0mm
|
||||
ymax : 0mm
|
||||
yspeed : 10mm/s
|
||||
zpos : 5mm
|
||||
followmidline: true
|
||||
npasses : 1
|
||||
pause : 1000ms
|
||||
Stimulation:
|
||||
deltaf : 50Hz
|
||||
amplitude: 1mV
|
||||
Analysis:
|
||||
nfft : 1024
|
||||
nshift : 128
|
||||
kernelwidth: 0.001ms
|
||||
Robot setup:
|
||||
robotdev : robot-2
|
||||
xmapping : [ y, z, x ]
|
||||
xinvert : true
|
||||
ymapping : [ z, x, y ]
|
||||
yinvert : false
|
||||
zmapping : [ x, y, z ]
|
||||
zinvert : false
|
||||
safex : 350mm
|
||||
safey : 0mm
|
||||
safez : 0mm
|
||||
taxispeed: 40mm/s
|
||||
|
||||
*RePro: RobotToFishPosition
|
||||
Position:
|
||||
destination : 0mm
|
||||
followmidline: true
|
||||
Robot setup:
|
||||
xmapping: [ y, z, x ]
|
||||
xinvert : true
|
||||
ymapping: [ z, x, y ]
|
||||
yinvert : false
|
||||
zmapping: [ x, y, z ]
|
||||
zinvert : false
|
||||
|
||||
*RePro: SAM
|
||||
General:
|
||||
name: ~
|
||||
Stimulus:
|
||||
duration : 400ms
|
||||
pause : 100ms
|
||||
freqsel : [ relative to EOD, absolute ]
|
||||
deltaf : 20Hz
|
||||
contrast : 20%
|
||||
repeats : 0
|
||||
am : true
|
||||
sinewave : true
|
||||
ampl : "0.0"
|
||||
phase : "0.0"pi
|
||||
contrastsel: [ fundamental, peak amplitude ]
|
||||
Analysis:
|
||||
skip : 0.5Periods
|
||||
ratebins: 10
|
||||
before : 0ms
|
||||
after : 0ms
|
||||
adjust : false
|
||||
|
||||
*Attenuator-0
|
||||
plugin : LinearAttenuate
|
||||
ident : Attenuator-0
|
||||
device : attdev-1
|
||||
line : 0
|
||||
aodevice : ao-1
|
||||
aochannel : 0
|
||||
intensityname : amplitude
|
||||
intensityunit : mV/cm
|
||||
intensityformat: %6.3f
|
||||
frequencyname : ~
|
||||
frequencyunit : Hz
|
||||
frequencyformat: %7.0f
|
||||
gain : 0.91411
|
||||
offset : 0
|
||||
|
||||
*Attenuator-1
|
||||
plugin : LinearAttenuate
|
||||
ident : Attenuator-1
|
||||
device : attdev-1
|
||||
line : 1
|
||||
aodevice : ao-1
|
||||
aochannel : 1
|
||||
intensityname : amplitude
|
||||
intensityunit : mV/cm
|
||||
intensityformat: %6.3f
|
||||
frequencyname : ~
|
||||
frequencyunit : Hz
|
||||
frequencyformat: %7.0f
|
||||
gain : 0.059032
|
||||
offset : 0
|
||||
|
Loading…
Reference in New Issue
Block a user