QPF

ProtocolFile
Overview
the root node of a QPF file
Data
none
Children
Example
ProtocolFile
{
	ChannelCount =2
	RepeatMode =0
	RepeatTimes =1
	Stages
	{
		Stage
		{
			Channel
			{
				STRING Shape =Sine
				{
					Duration =1
					Duration incr =0
					Duration factor =1
					Amp =1
					Amp incr =0
					Amp factor =1
					Freq =60
					Freq incr =0
					Freq factor =1
					Phase =0
					Phase incr =0
					Phase factor =1
					Offset =0
					Offset incr =0
					Offset factor =1
				}
				STRING Shape =Ramp
				{
					Duration =1
					Duration incr =0
					Duration factor =1
					FromAmp =0
					FromAmp incr =0
					FromAmp factor =1
					ToAmp =1
					ToAmp incr =0
					ToAmp factor =1
				}
			}
			RepeatMode =0
			RepeatTimes =1
			PauseMode =0
			PauseSeconds =1
			Randomize =0
			Channel
			{
				STRING Shape =Step
				{
					Duration =0.5
					Duration incr =0
					Duration factor =1
					Amp =1
					Amp incr =0
					Amp factor =1
					preDuration =0.25
					preDuration incr =0
					preDuration factor =1
					preAmp =0
					preAmp incr =0
					preAmp factor =1
					postDuration =0.25
					postDuration incr =0
					postDuration factor =1
					postAmp =0
					postAmp incr =0
					postAmp factor =1
				}
				STRING Shape =Custom
				{
					STRING f(x,i) =x * x
					x from =0
					x to =1
					Duration =1
				}
			}
		}
	}
}

ChannelCount
Overview
number of A/D channels in the stimulus
Data
QTR_TYPE_INT: 1 x 1
RepeatMode
Overview
In the future, we may allow the entire protocol to be repeated a number of times. For now, this field is ignored.
Data
QTR_TYPE_INT: 1 x 1
0: no repeats
1: repeat for
RepeatTimes
RepeatTimes
Overview
Currently ignored. In the future this should indicate how many times to repeat the entire protocol.
Data
QTR_TYPE_INT: 1 x 1
Stages
Data
none
Children
Stage
Overview
can be thought of as a unit of repetition
Data
none
Children
Channel
Overview
the list of shapes in one stage, for one channel
Data
none
Children
Shape
Overview
contains the name and parameter values for a shape defined in AcquisitionProtocol.py (or your custom script)
Data
QTR_TYPE_STRING: the name of a shape, e.g. "Ramp", "Custom"
Children
Duration
Overview
length of this shape in seconds, for the first rep.
Data
QTR_TYPE_DOUBLE: 1 x 1
Duration incr
Overview
constant amount by which Duration changes each repetition
Data
QTR_TYPE_DOUBLE: 1 x 1
Duration factor
Overview
multiplicative factor by which Duration changes each repetition
Data
QTR_TYPE_DOUBLE: 1 x 1
RepeatMode
Overview
0: just once (don't repeat)
1: repeat
RepeatTimes
Data
QTR_TYPE_INT: 1 x 1
RepeatTimes
Overview
how many times to repeat this stage, if RepeatMode == 1
Data
QTR_TYPE_INT: 1 x 1
Randomize
Overview
For shapes which change each repetition (e.g. amplitude increment or duration increment is not 0) determines whether iterations are generated in order or randomly sorted.
0 : In order
1 : Randomly sorted.
PauseMode
Overview
currently ignored. In the future:
0: no pause
1: pause for
PauseSeconds sec before this stage
2: pause indefinitely (until user input) before this stage
Data
QTR_TYPE_INT: 1 x 1
PauseSeconds
Overview
number of seconds to pause before this stage, if PauseMode == 1
Data
QTR_TYPE_DOUBLE: 1 x 1