Data Structures

Stimulus Structure Definitions

(The following information is out of date, but serves as an example). The stim file consists of a base set of information and a variable section.:

% Base section
sfile.title=StimulusParameters;
sfile.NAME=STIM;
sfile.callback=paste;
sfile.frame=FStim; %frame to associate window with
sfile.fhandles=[]; %handles for data elements
sfile.method_code=[]; %holds thesource file for the method.
sfile.waveform=[]; %holds the actual stimulus command waveforms
sfile.start=1;

%the following are common to all stimtypes:

sfile.Method=create_element(method,SGL,1,Method,%s);
sfile.Name=create_element(IV,SGL,2,Name,%s);
sfile.AcqFile=create_element(default,SGL,3,AcqFile,%s);
sfile.Cycle=create_element(1000,SGL,3,Cycle(ms),%8.1f,0,50,65000);
sfile.Repeats=create_element(1,SGL,4,Repetitions(N),%d,0,1,1000);
sfile.Stim_Repeat=create_element(1,SGL,5,ProtocolReps(N),%d,0,1,50);
sfile.Sample_Rate=create_element(1000,SGL,6,SampleRate(us),%8.1f,0,1);

Variable sections:

steps:%Create a series of steps with duration and level, with a sequence
sfile.Sequence=create_element(-100;50/5,SGL,8,Sequence,%c);
sfile.SeqParList=create_element(Level,SGL,9,SeqParameter,%c);
sfile.SeqStepList=create_element(2,MULT,10,SeqStepNo,%d,0,1);
sfile.Duration=create_element([5,100,50],MULT,11,Durations(ms),%8.1f,0
,0,30000);
sfile.Level=create_element([0,-100,0],MULT,12,Level,%8.1f);
sfile.Holding=create_element([00],MULT,13,Holding,%8.2f);
sfile.Superimpose=create_element(,SGL,14,Superimpose,%c);

% ramp:
sfile.Durations=create_element([5,5,400],MULT,11,Durations(ms),%8.1f,0
,0,30000);
sfile.Levels=create_element([-60,-100,0],MULT,12,Levels(mV),%8.1f);
sfile.Holding=create_element([-600],MULT,13,Holding,%8.2f);

%  pulse:
sfile.Npulses=create_element(1,SGL,8,NPulses,%d,0,0,65000);
sfile.Delay=create_element(5,SGL,9,Delay(ms),%7.1f,0,0,100000);
sfile.IPI=create_element(10,SGL,10,IPI(ms),%8.2f,0,0.001,65000);
sfile.Duration=create_element([0.1,0.1],MULT,11,Durations(ms),%8.2f,0,
0,30000);
sfile.Level=create_element([100,-100],MULT,12,Levels(mV),%8.1f);
sfile.LevelFlag=create_element(absolute,MULT,13,LevelFlag,%s);
sfile.Scale=create_element(1,SGL,14,Scale,%8.3f,0,-100000,100000);
sfile.Offset=create_element(0,SGL,15,Offset,%8.3f,0,-100000,100000);
sfile.Sequence=create_element(1;100/25,SGL,16,Sequence,%c);
sfile.SeqParList=create_element(Level,MULT,18,SeqParameter,%c);
sfile.SeqStepList=create_element(1,MULT,19,SeqStepNo,%d,0,1);

alpha:
sfile.Npulses=create_element(1,SGL,8,NPulses,%d,0,0,65000);
sfile.Delay=create_element(5,SGL,9,Delay(ms),%7.1f,0,0,100000);
sfile.IPI=create_element(10,SGL,10,IPI(ms),%8.2f,0,0.001,65000);
sfile.Alpha=create_element(0.1,SGL,11,Alpha,%8.2f,0,0,30000);
sfile.Amplitude=create_element(1,SGL,12,Amplitude,%8.1f);
sfile.Scale=create_element(1,SGL,14,Scale,%8.3f,0,-100000,100000);
sfile.Offset=create_element(0,SGL,15,Offset,%8.3f,0,-100000,100000);
sfile.Sequence=create_element(1;100/25,SGL,16,Sequence,%c);
sfile.SeqParList=create_element(Level,MULT,18,SeqParameter,%c);
sfile.SeqLevelList=create_element(1,MULT,19,SeqStepNo,%d,0,1);

Data Acquisition Structure

::

dfile.title=Data AcquisitionParameters; dfile.NAME=DFILE; dfile.callback=paste; dfile.frame=FDfile; dfile.fhandles=[]; dfile.Z_Time=0; dfile.F_Time=0;%filetime dfile.File_Mode=-1; dfile.Block=1;%internal block information dfile.Record=1;%incremented internally dfile.Actual_Rate=20;%actual rate used by stim board

%definitions SGL=0;MULT=1;

%the following parameters are adjustable... dfile.start=1; dfile.Name=create_element(Default,SGL,1,File,%s);%file dfile.Record_Skip=create_element(4,SGL,2,DisplaySkip(n),%d,4,1,100); dfile.Refresh=create_element(0,SGL,2,Refresh(n),%d,4,1,100); dfile.Data_Mode=create_element(CC,SGL,4,Acquisitionmode,%s); dfile.Sample_Rate=create_element(20,SGL,5,SampleRate(us/pt),%d,20,1,65 000); dfile.Points=create_element(5000,SGL,6,Pointsperrecord,%d,2048,256,100 0000); dfile.Channels=create_element([01],MULT,7,Channelstosample,%d,2,1,16); dfile.Amplifier_Gain=create_element([00],MULT,8,AmplifierGains,%8.1f,1 ,0.1,10000); dfile.AD_Range=create_element([55],MULT,9,A-DRange(V),%8.2f,5,0.1,1000 0); dfile.Sensor_Range=create_element([20020],MULT,10,SensorRanges,%8.2f,5 ,0.001,100000); dfile.Low_Pass=create_element([10.010.0],MULT,11,LPF(kHz),%8.2f,10.0,0 .01,1000); dfile.High_pass=create_element([00],MULT,12,HPF(kHz),%8.2f,0,0,1000); dfile.Junction_Potential=create_element(0,MULT,13,JP(mV),%8.1f,0,-200, 200); dfile.end=1;

Configuration Structure

::

cfile.title=ConfigurationParameters; cfile.NAME=CONFIG; cfile.callback=paste; cfile.frame=FConfig; cfile.fhandles=[]; cfile.start=1;

cfile.Name=create_element(base,SGL,1,Name,%s); cfile.BasePath=create_element(BasePath,SGL,3,BasePath,%s); cfile.StmPath=create_element(StmPar,SGL,4,StmPath,%s); cfile.AcqPath=create_element(AcqPar,SGL,5,AcqPath,%s); cfile.DataPath=create_element(Data,SGL,6,DataPath,%s); cfile.Amplifier=create_element(Axopatch200,SGL,7,Amplifier,%s); cfile.VC=create_element(VC_Default,SGL,8,VCStim,%s); cfile.CC=create_element(CC_Default,SGL,9,CCSTim,%s); cfile.end=1;