Browse Source

Add Tactile Free instead of Copy

master
Igor Beloschapkin 3 years ago
parent
commit
c323e53e8e
3 changed files with 120 additions and 137 deletions
  1. 88
    94
      TactileFree.prm
  2. 30
    30
      TactileFreeNested.prm
  3. 2
    13
      app.py

+ 88
- 94
TactileFree.prm View File

@@ -1,78 +1,8 @@
Visualize:Property%20Sets matrix VisPropertySets= 0 1 // row titles are properties in the form "SRCD.Left", columns are property sets
System:Configuration matrix OperatorVersion= { Framework Revision Build } 1 3.0.5 % Jun%20%203%202013%2011:41:59 // operator module version information(readonly)
System:Additional%20Connections int OperatorBackLink= 1 1 0 1 // Send final state and signal information to Operator (boolean)(readonly)
Filtering:SpatialFilter int SpatialFilterType= 0 2 0 3 // spatial filter type 0: none, 1: full matrix, 2: sparse matrix, 3: common average reference (CAR) (enumeration)
Filtering:SpatialFilter:SpatialFilter matrix SpatialFilter= 4 4 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 % % // columns represent input channels, rows represent output channels
Filtering:SpatialFilter:SpatialFilter intlist SpatialFilterCAROutput= 0 // when using CAR filter type: list of output channels, or empty for all channels
Filtering:SpatialFilter:SpatialFilter int SpatialFilterMissingChannels= 1 0 0 1 // how to handle missing channels 0: ignore, 1: report error (enumeration)
Filtering:P3TemporalFilter int EpochLength= 800ms 500ms 0 % // Length of data epoch from stimulus onset
Filtering:P3TemporalFilter int EpochsToAverage= 8 1 0 % // Number of epochs to average
Filtering:P3TemporalFilter int SingleEpochMode= 0 0 0 1 // Report result after each epoch (boolean)
Visualize:P3TemporalFilter int VisualizeP3TemporalFiltering= 0 0 0 1 // Visualize averaged epochs (0=no 1=yes) (boolean)
Visualize:P3TemporalFilter int TargetERPChannel= 1 1 % % // Input channel for which to display ERP data
Filtering:LinearClassifier matrix Classifier= 2 { input%20channel input%20element%20(bin) output%20channel weight } 1 4 1 1 1 6 2 1 // Linear classification matrix in sparse representation
System:Core%20Connections string OperatorIP= 127.0.0.1 127.0.0.1 % % // the Operator module's IP(readonly)
System:Core%20Connections string SignalProcessingPort= 49331 4200 1024 65535 // the SignalProcessing module's listening port(readonly)
System:Core%20Connections string SignalProcessingIP= 132.187.156.91 127.0.0.1 % % // the SignalProcessing module's listening IP(readonly)
System:Configuration matrix SignalProcessingVersion= { Framework Revision Build } 1 3.0.5 % Jun%20%203%202013%2011:41:59 // SignalProcessing version information(readonly)
System:Configuration matrix SignalProcessingFilterChain= 3 { Filter%20Name Position%20String } SpatialFilter 2.A P3TemporalFilter 2.B LinearClassifier 2.C // SignalProcessing filter chain(readonly)
Visualize:Processing%20Stages int VisualizeSpatialFilter= 0 0 0 1 // Visualize SpatialFilter output (boolean)
Visualize:Processing%20Stages int VisualizeLinearClassifier= 0 0 0 1 // Visualize LinearClassifier output (boolean)
Source:Signal%20Properties:DataIOFilter int SourceCh= 12 16 1 % // number of digitized and stored channels
Source:Signal%20Properties:DataIOFilter int SampleBlockSize= 8 32 1 % // number of samples transmitted at a time
Source:Signal%20Properties:DataIOFilter int SamplingRate= 512 256Hz 1 % // sample rate
Source:Signal%20Properties:DataIOFilter list ChannelNames= 12 Fz Fc1 Fc2 C3 Cz C4 P3 Pz P4 O1 Oz O2 // list of channel names
Source:Signal%20Properties:DataIOFilter floatlist SourceChOffset= 12 0 0 0 0 0 0 0 0 0 0 0 0 0 % % // Offset for channels in A/D units
Source:Signal%20Properties:DataIOFilter floatlist SourceChGain= 12 0.033 0.033 0.033 0.033 0.033 0.033 0.033 0.033 0.033 0.033 0.033 0.033 0.003 % % // gain for each channel (A/D units -> muV)
Storage:Data%20Location:DataIOFilter string DataDirectory= ../data/WheelchairTraining ..\data % % // path to top level data directory (directory)
Storage:Session:DataIOFilter string SubjectName= WT-tacFree Name % % // subject alias
Storage:Session:DataIOFilter string SubjectSession= 001 001 % % // three-digit session number
Storage:Session:DataIOFilter string SubjectRun= 00 00 % % // two-digit run number
Storage:Documentation:DataIOFilter string ID_System= % // BCI2000 System Code
Storage:Documentation:DataIOFilter string ID_Amp= % // BCI2000 Amp Code
Storage:Documentation:DataIOFilter string ID_Montage= % // BCI2000 Cap Montage Code
Visualize:Timing:DataIOFilter int VisualizeTiming= 0 1 0 1 // visualize system timing (0=no, 1=yes) (boolean)
Visualize:Source%20Signal:DataIOFilter int VisualizeSource= 1 1 0 1 // visualize raw brain signal (0=no, 1=yes) (boolean)
Visualize:Source%20Signal:DataIOFilter int VisualizeSourceDecimation= 1 auto % % // decimation factor for raw brain signal
Visualize:Source%20Signal:DataIOFilter int VisualizeSourceBufferSize= auto auto % % // number of blocks to aggregate before sending to operator
Visualize:Source%20Signal:DataIOFilter int VisualizeSourceTime= 2s 2s 0 % // how much time in Source visualization
Visualize:Source%20Signal:DataIOFilter int SourceMin= -100muV -100muV % % // raw signal vis Min Value
Visualize:Source%20Signal:DataIOFilter int SourceMax= 100muV 100muV % % // raw signal vis Max Value
Source:gUSBampADC intlist SourceChList= 0 0 1 128 // list of channels to digitize
Source:gUSBampADC intlist SourceChDevices= 1 12 16 1 17 // number of digitized channels per device
Source:gUSBampADC int NumBuffers= 2 1 2 32 // number of software buffers to use
Source:gUSBampADC string DeviceIDMaster= auto // deviceID for the device whose SYNC goes to the slaves
Source:gUSBampADC int FilterEnabled= 1 1 0 1 // Enable pass band filter (0=no, 1=yes)
Source:gUSBampADC float FilterHighPass= 0.1 0.1 0 50 // high pass filter for pass band
Source:gUSBampADC float FilterLowPass= 60 60 0 4000 // low pass filter for pass band
Source:gUSBampADC int FilterModelOrder= 8 8 1 12 // filter model order for pass band
Source:gUSBampADC int FilterType= 1 1 1 2 // filter type for pass band (1=BUTTERWORTH, 2=CHEBYSHEV)
Source:gUSBampADC int NotchEnabled= 1 1 0 1 // Enable notch (0=no, 1=yes)
Source:gUSBampADC float NotchHighPass= 48 58 0 70 // high pass filter for notch filter
Source:gUSBampADC float NotchLowPass= 52 62 0 4000 // low pass filter for notch filter
Source:gUSBampADC int NotchModelOrder= 4 4 1 10 // filter model order for notch filter
Source:gUSBampADC int NotchType= 1 1 1 2 // filter type for pass band (1=CHEBYSHEV, 2=BUTTERWORTH)
Source:gUSBampADC list DeviceIDs= 1 auto // list of USBamps to be used (or auto)
Source:gUSBampADC int DigitalInput= 0 0 0 1 // enable digital input: 0: false, 1: true (enumeration)
Source:gUSBampADC int DigitalOutput= 0 0 0 1 // enable digital output on block acquisition (boolean)
Source:gUSBampADC string DigitalOutputEx= % // expression for output on digital output 2 (expression)
Source:gUSBampADC int SignalType= 0 0 0 1 // numeric type of output signal: 0: int16, 1: float32 (enumeration)
Source:gUSBampADC int AcquisitionMode= 0 0 0 2 // data acquisition mode: 0: analog signal acquisition, 1: calibration, 2: impedance (enumeration)
Source:gUSBampADC int CommonGround= 1 0 0 1 // internally connect GNDs from all blocks: 0: false, 1: true (enumeration)
Source:gUSBampADC int CommonReference= 1 0 0 1 // internally connect Refs from all blocks: 0: false, 1: true (enumeration)
Storage:BCI2000FileWriter string FileFormat= dat // format of data file (readonly)
Storage:Documentation:BCI2000FileWriter string StorageTime= % // time of beginning of data storage
Source:Alignment:AlignmentFilter int AlignChannels= 1 0 0 1 // align channels in time (0=no, 1=yes)
Source:Alignment:AlignmentFilter floatlist SourceChTimeOffset= 0 0 % % // time offsets for all source channels (may be empty)
Source:Online%20Processing:TransmissionFilter list TransmitChList= 12 1 2 3 4 5 6 7 8 9 10 11 12 // list of transmitted channels: Channel names may contain * and ? wildcards, and character ranges enclosed in []; wildcard patterns may be negated by an exclamation mark. Ranges of channels may be specified using : or - to separate begin from end.
System:Additional%20Connections:EventLink int EventLink= 1 1 0 1 // Send events from Operator to Source module (boolean)(readonly)
Storage:Data%20Location:RunManager string DataFile= $%7bSubjectName%7d$%7bSubjectSession%7d/$%7bSubjectName%7dS$%7bSubjectSession%7dR$%7bSubjectRun%7d.$%7bFileFormat%7d // name of data file relative to DataDirectory
System:Core%20Connections string SignalSourcePort= 49335 4200 1024 65535 // the SignalSource module's listening port(readonly)
System:Core%20Connections string SignalSourceIP= 132.187.156.91 127.0.0.1 % % // the SignalSource module's listening IP(readonly)
System:Configuration matrix SignalSourceVersion= { Framework Revision Build } 1 3.0.5 % Jun%20%203%202013%2011:41:59 // SignalSource version information(readonly)
System:Configuration matrix SignalSourceFilterChain= 8 { Filter%20Name Position%20String } DataIOFilter 0 gUSBampADC 1 GDFFileWriter 1 EDFFileWriter 1 BCI2000FileWriter 1 NullFileWriter 1 AlignmentFilter 1.1 TransmissionFilter 1.2 // SignalSource filter chain(readonly)
Visualize:Processing%20Stages int VisualizeAlignmentFilter= 0 0 0 1 // Visualize AlignmentFilter output (boolean)
Visualize:Processing%20Stages int VisualizeTransmissionFilter= 0 0 0 1 // Visualize TransmissionFilter output (boolean)
System:Version matrix OperatorVersion= { Framework Revision Build Config Protocol } 1 3.6%20BETA.5570.5 5570.5,%202016-10-12T19:27:33Z MSVC-17.0.61030.0-AMD64,%20release,%202016-10-16T14:03:14Z,%20user@user-PC USE_DYNAMIC_CRT:OFF%20USE_OPENMP:ON%20USE_PRECOMPILED_HEADERS:ON%20USE_ASSERTS_IN_RELEASE_BUILDS:OFF%20USE_EXTERNAL_QT:OFF 2.3 // operator module version information (noedit)(readonly)
System:Protocol int AutoConfig= 1 1 0 1 // Use AutoConfig protocol extension (boolean)
System:Protocol int OperatorBackLink= 1 1 0 1 // Send final state and signal information to Operator (boolean)
System:Core%20Connections string OperatorIP= 127.0.0.1 127.0.0.1 % % // the Operator module's IP (noedit)(readonly)
Connector:ConnectorInput list ConnectorInputFilter= 0 // list of state names or signal elements to allow, "*" for any, signal elements as in "Signal(1,0)"
Connector:ConnectorInput string ConnectorInputAddress= % localhost:20320 % % // IP address/port to read from, e.g. localhost:20320
Application:Application%20Window:ApplicationWindow int WindowWidth= 640 640 0 % // width of Application window
@@ -83,6 +13,9 @@ Application:Application%20Window:ApplicationWindow string WindowBackgroundColor=
Visualize:Application%20Window:ApplicationWindow int VisualizeApplicationWindow= 0 0 0 1 // Display miniature copy of Application window (boolean)
Visualize:Application%20Window:ApplicationWindow int AppWindowSpatialDecimation= 8 8 1 % // Application window decimation (shrinking) factor
Visualize:Application%20Window:ApplicationWindow int AppWindowTemporalDecimation= 4 16 1 % // Application window time decimation factor
Application:AudioPlayback:ApplicationWindow float AudioPlaybackRate= auto // audio playback sampling rate
Application:AudioPlayback:ApplicationWindow int AudioPlaybackChannels= auto // number of playback output channels
Application:AudioPlayback:ApplicationWindow float AudioPlaybackBufferDuration= auto // duration of playback buffer
Visualize:Application%20Log:ApplicationBase int ShowAppLog= 1 0 0 1 // Show application log window (boolean)
Application:Sequencing:StimulusTask float PreRunDuration= 2s 1 0 % // pause preceding first sequence
Application:Sequencing:StimulusTask float PostRunDuration= 2s 0 0 % // pause following last sequence
@@ -129,25 +62,86 @@ Application:Text%20Window:P3SpellerTask string TextWindowFilePath= % // Path for
Application:Human%20Interface%20Devices:KeystrokeFilter string KeystrokeStateName= % // State to be translated into keystrokes (0-F), empty for off
Application:Human%20Interface%20Devices:KeystrokeFilter string KeystrokeExpression= % // Expression that evaluates to a virtual keycode, empty for off
Application:Human%20Interface%20Devices:KeystrokeFilter string KeystrokeExpressionOnStartRun= % // Expression that initializes expression variables on StartRun
Connector:ConnectorOutput string ConnectorOutputAddress= localhost:5003 localhost:20321 % % // one or more IP:Port combinations, e.g. localhost:20321
Application:GazeMonitor:GazeMonitorFilter int VisualizeGazeMonitorFilter= 0 0 0 1 // Visualize the gaze data on the app visualization (boolean)
Application:GazeMonitor:GazeMonitorFilter int EnforceFixation= 0 0 0 1 // Enforce a fixation point on the screen (boolean)
Application:GazeMonitor:GazeMonitorFilter string FixationX= 0.5 0.5 % % // X coordinate of fixation center - 0.0 to 1.0 (expression)
Application:GazeMonitor:GazeMonitorFilter string FixationY= 0.5 0.5 % % // Y coordinate of fixation center - 0.0 to 1.0 (expression)
Application:GazeMonitor:GazeMonitorFilter int ShowFixationZone= 0 0 0 1 // Show the legal fixation zone with a ring (boolean)
Application:GazeMonitor:GazeMonitorFilter float BlinkTime= 100ms 100ms 0 % // Maximum allowed time for invalid eyes
Application:GazeMonitor:GazeMonitorFilter float SaccadeTime= 100ms 100ms 0 % // Maximum allowed time for violating the fixation
Application:GazeMonitor:GazeMonitorFilter float FixationRadius= 0.1 0.1 0.0 1.0 // Allowable distance from fixation center
Application:GazeMonitor:GazeMonitorFilter string FixationImage= % // Image to render at fixation (inputfile)
Application:GazeMonitor:GazeMonitorFilter string FixationViolationImage= % // Image to render at fixation when violated (inputfile)
Application:GazeMonitor:GazeMonitorFilter string FixationViolationSound= % // Sound to play when fixation violated (inputfile)
Application:GazeMonitor:GazeMonitorFilter float FixationImageSize= 0.04 0.04 0.01 1.0 // Size in percentage of screen height of the fixation image
Application:GazeMonitor:GazeMonitorFilter int LogGazeInformation= 0 0 0 1 // Add Eyetracker information to applog (boolean)
Connector:ConnectorOutput string ConnectorOutputAddress= localhost:5001 localhost:20321 % % // one or more IP:Port combinations, e.g. localhost:20321
Application:Localization:Localization string Language= Default Default % % // Language for user messages
Application:Localization:Localization matrix LocalizedStrings= { German } { TIME%20OUT%20!!! Waiting%20to%20start%20... Sleeping--Select%20SLEEP%20twice%20to%20resume Select%20SLEEP%20once%20more%20to%20resume Paused--Select%20PAUSE%20again%20to%20resume } Zeit%20abgelaufen! Warte%20... Angehalten:%20Zweimal%20SLEEP%20fur%20Weiter Angehalten:%20Noch%20einmal%20SLEEP%20fur%20Weiter Angehalten:%20Noch%20einmal%20PAUSE%20fur%20Weiter // Localized user messages
System:Core%20Connections string ApplicationPort= 49333 4200 1024 65535 // the Application module's listening port(readonly)
System:Core%20Connections string ApplicationIP= 132.187.156.91 127.0.0.1 % % // the Application module's listening IP(readonly)
System:Configuration matrix ApplicationVersion= { Framework Revision Build } 1 3.0.5 % Jun%20%203%202013%2011:41:59 // Application version information(readonly)
System:Configuration matrix ApplicationFilterChain= 5 { Filter%20Name Position%20String } ConnectorInput 2.9999 P3SpellerTask 3 KeystrokeFilter 3.1 ConnectorOutput 3.9999 GazeMonitorFilter 3.A // Application filter chain(readonly)
System:Randomization int RandomSeed= 8159 0 % % // seed for the BCI2000 pseudo random number generator(readonly)
System:Randomization int RandomizationWarning= 1 1 0 1 // warn if subsequent Runs have identical RandomSeed value (boolean)(readonly)
System string OperatorAddress= 127.0.0.1:4000
System:Core%20Connections string ApplicationIP= 141.75.33.117 // (readonly)(noedit)
System:Core%20Connections string ApplicationPort= 60613 // (readonly)(noedit)
System:Version matrix ApplicationVersion= { Framework Revision Build Config Protocol } 1 3.6%20BETA.5570.5 5570.5,%202016-10-12T19:27:33Z MSVC-17.0.61030.0-AMD64,%20release,%202016-10-16T14:03:14Z,%20user@user-PC USE_DYNAMIC_CRT:OFF%20USE_OPENMP:ON%20USE_PRECOMPILED_HEADERS:ON%20USE_ASSERTS_IN_RELEASE_BUILDS:OFF%20USE_EXTERNAL_QT:OFF%20Qt:5.3.2:C:/BCI2000.x64/build/CMakeFiles/extlib/qt-5.3.2/win32-amd64-msvc2012/bin/qmake.exe 2.3 // Application version information (noedit)(readonly)
System:Configuration matrix ApplicationFilterChain= 4 { Filter%20Name Position%20String } ConnectorInput 2.9999 P3SpellerTask 3 KeystrokeFilter 3.1 ConnectorOutput 3.9999 // Application filter chain (noedit)(readonly)
System:Configuration matrix Filters= 12 1 /3/ConnectorInput /3/P3SpellerTask /3/KeystrokeFilter /3/ConnectorOutput /2/SpatialFilter /2/P3TemporalFilter /2/LinearClassifier /1/DataIOFilter /1/gUSBampADC /1/BCI2000FileWriter /1/AlignmentFilter /1/TransmissionFilter // Filter Directory (noedit)(readonly)
Storage:Data%20Location:DataIOFilter string DataDirectory= ../data/ ..\data % % // path to top level data directory (directory)
Filtering:SpatialFilter int SpatialFilterType= 0 2 0 3 // spatial filter type 0: none, 1: full matrix, 2: sparse matrix, 3: common average reference (CAR) (enumeration)
Storage:Session:DataIOFilter string SubjectName= tacFree Name % % // subject alias
Filtering:SpatialFilter:SpatialFilter matrix SpatialFilter= 4 4 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 % % // columns represent input channels, rows represent output channels
Storage:Session:DataIOFilter string SubjectSession= 001 001 % % // three-digit session number
Filtering:SpatialFilter:SpatialFilter intlist SpatialFilterCAROutput= 0 // when using CAR filter type: list of output channels, or empty for all channels
Storage:Session:DataIOFilter string SubjectRun= 00 00 % % // two-digit run number
Filtering:SpatialFilter:SpatialFilter int SpatialFilterMissingChannels= 1 0 0 1 // how to handle missing channels 0: ignore, 1: report error (enumeration)
Storage:Documentation:DataIOFilter string ID_System= % // BCI2000 System Code
Filtering:P3TemporalFilter int EpochLength= 800ms 500ms 0 % // Length of data epoch from stimulus onset
Storage:Documentation:DataIOFilter string ID_Amp= % // BCI2000 Amp Code
Filtering:P3TemporalFilter int EpochsToAverage= 8 1 0 % // Number of epochs to average
Storage:Documentation:DataIOFilter string ID_Montage= % // BCI2000 Cap Montage Code
Filtering:P3TemporalFilter int SingleEpochMode= 0 0 0 1 // Report result after each epoch (boolean)
Visualize:Timing:DataIOFilter int VisualizeTiming= 0 1 0 1 // visualize system timing (0=no, 1=yes) (boolean)
Visualize:P3TemporalFilter int VisualizeP3TemporalFiltering= 0 0 0 1 // Visualize averaged epochs (0=no 1=yes) (boolean)
Visualize:Source%20Signal:DataIOFilter int VisualizeSource= 1 1 0 1 // visualize raw brain signal (0=no, 1=yes) (boolean)
Visualize:P3TemporalFilter int TargetERPChannel= 1 1 % % // Input channel for which to display ERP data
Visualize:Source%20Signal:DataIOFilter int VisualizeSourceDecimation= 1 auto % % // decimation factor for raw brain signal
Filtering:LinearClassifier matrix Classifier= 2 { input%20channel input%20element%20(bin) output%20channel weight } 1 4 1 1 1 6 2 1 // Linear classification matrix in sparse representation
Visualize:Source%20Signal:DataIOFilter int VisualizeSourceBufferSize= auto auto % % // number of blocks to aggregate before sending to operator
Visualize:Source%20Signal:DataIOFilter int VisualizeSourceTime= 2s 2s 0 % // how much time in Source visualization
Visualize:Source%20Signal:DataIOFilter int SourceMin= -100muV // raw signal vis Min Value
System:Core%20Connections string SignalProcessingIP= 141.75.33.117 // (readonly)(noedit)
System:Core%20Connections string SignalProcessingPort= 60628 // (readonly)(noedit)
Visualize:Source%20Signal:DataIOFilter int SourceMax= 100muV // raw signal vis Max Value
Source:gUSBampADC int SamplingRate= 512 256Hz % % // the signal sampling rate
System:Version matrix SignalProcessingVersion= { Framework Revision Build Config Protocol } 1 3.6%20BETA.5570.5 5570.5,%202016-10-12T19:27:33Z MSVC-17.0.61030.0-AMD64,%20release,%202016-10-16T14:03:14Z,%20user@user-PC USE_DYNAMIC_CRT:OFF%20USE_OPENMP:ON%20USE_PRECOMPILED_HEADERS:ON%20USE_ASSERTS_IN_RELEASE_BUILDS:OFF%20USE_EXTERNAL_QT:OFF 2.3 // SignalProcessing version information (noedit)(readonly)
Source:gUSBampADC int SampleBlockSize= 8 1 % % // number of samples per block
System:Configuration matrix SignalProcessingFilterChain= 3 { Filter%20Name Position%20String } SpatialFilter 2.A P3TemporalFilter 2.B LinearClassifier 2.C // SignalProcessing filter chain (noedit)(readonly)
Source:gUSBampADC int SourceCh= 12 auto 0 % // number of digitized channels total
Source:gUSBampADC list SourceChGain= 12 0.033 0.033 0.033 0.033 0.033 0.033 0.033 0.033 0.033 0.033 0.033 0.033
Visualize:Processing%20Stages int VisualizeSpatialFilter= 0 0 0 1 // Visualize SpatialFilter output (boolean)
Source:gUSBampADC list SourceChOffset= 12 0 0 0 0 0 0 0 0 0 0 0 0
Visualize:Processing%20Stages int VisualizeLinearClassifier= 0 0 0 1 // Visualize LinearClassifier output (boolean)
Source:gUSBampADC list ChannelNames= 12 Fz Fc1 Fc2 C3 Cz C4 P3 Pz P4 O1 Oz O2
Source:gUSBamp:Acquisition:gUSBampADC int AcquisitionMode= 0 0 0 2 // data acquisition mode: 0: analog signal acquisition, 1: calibration signal, 2: impedance measurement (enumeration)
Source:gUSBamp:Acquisition:gUSBampADC int CommonGround= 1 0 0 1 // internally connect GNDs from all blocks: 0: false, 1: true (enumeration)
Source:gUSBamp:Acquisition:gUSBampADC int CommonReference= 1 0 0 1 // internally connect Refs from all blocks: 0: false, 1: true (enumeration)
Source:gUSBamp:DigitalIO:gUSBampADC int EnableDigitalInput= 0 0 0 1 // enable digital inputs (boolean)
Source:gUSBamp:DigitalIO:gUSBampADC int EnableDigitalOutput= 0 0 0 2 // enable digital output on block acquisition 0: off, 1: use expressions, 2: timing test (enumeration)
Source:gUSBamp:DigitalIO:gUSBampADC matrix DigitalOutputEx= 1 { Filter%20Name } % // Matrix of Expressions for digital output
Source:gUSBamp:Acquisition:gUSBampADC int DetectDataLoss= 0 0 0 1 // use gUSBamp counter mode to detect data loss (boolean)
Source:gUSBamp:Acquisition:gUSBampADC int NumBuffers= 2 5 2 % // IO queue length
Source:Buffering:gUSBampADC int SourceBufferSize= 2s 2s % % // size of data acquisition ring buffer (in blocks or seconds)
Source:gUSBamp:Multiple%20Devices:gUSBampADC list DeviceIDs= 1 auto // list of USBamps to be used (or auto)
Source:gUSBamp:Multiple%20Devices:gUSBampADC string DeviceIDMaster= auto // deviceID for the device whose SYNC goes to the slaves
Source:gUSBamp:Multiple%20Devices:gUSBampADC intlist SourceChList= 0 // list of channels to digitize, in terms of physical inputs numbered across all devices
Source:gUSBamp:Multiple%20Devices:gUSBampADC intlist SourceChDevices= 1 12 // number of digitized channels per device
Source:gUSBamp:DSP:gUSBampADC int FilterEnabled= 1 1 0 1 // Enable pass band filter (0=no, 1=yes)
Source:gUSBamp:DSP:gUSBampADC float FilterHighPass= 0.1 0.1 0 50 // high pass filter for pass band
Source:gUSBamp:DSP:gUSBampADC float FilterLowPass= 60 60 0 4000 // low pass filter for pass band
Source:gUSBamp:DSP:gUSBampADC int FilterModelOrder= 8 8 1 12 // filter model order for pass band
Source:gUSBamp:DSP:gUSBampADC int FilterType= 1 1 1 2 // filter type for pass band (1=BUTTERWORTH, 2=CHEBYSHEV)
Source:gUSBamp:DSP:gUSBampADC int NotchEnabled= 1 1 0 1 // Enable notch (0=no, 1=yes)
Source:gUSBamp:DSP:gUSBampADC float NotchHighPass= 48 58 0 70 // high pass filter for notch filter
Source:gUSBamp:DSP:gUSBampADC float NotchLowPass= 52 62 0 4000 // low pass filter for notch filter
Source:gUSBamp:DSP:gUSBampADC int NotchModelOrder= 4 4 1 10 // filter model order for notch filter
Source:gUSBamp:DSP:gUSBampADC int NotchType= 1 1 1 2 // filter type for pass band (1=CHEBYSHEV, 2=BUTTERWORTH)
Storage:BCI2000FileWriter string FileFormat= dat // format of data file (readonly)
Storage:Documentation:BCI2000FileWriter string StorageTime= % // time of beginning of data storage
Source:Alignment:AlignmentFilter int AlignChannels= 1 0 0 1 // align channels in time (0=no, 1=yes)
Source:Alignment:AlignmentFilter floatlist SourceChTimeOffset= 0 0 % % // time offsets for all source channels (may be empty)
Source:Online%20Processing:TransmissionFilter list TransmitChList= 12 1 2 3 4 5 6 7 8 9 10 11 12 // list of transmitted channels: Channel names may contain * and ? wildcards, and character ranges enclosed in []; wildcard patterns may be negated by prepending an exclamation mark. Ranges of channels may be specified using : or - to separate begin from end.
System:Protocol:EventLink int EventLink= 1 1 0 1 // Send events from Operator to Source module (boolean)
Storage:Data%20Location:RunManager string DataFile= $%7bSubjectName%7d$%7bSubjectSession%7d/$%7bSubjectName%7dS$%7bSubjectSession%7dR$%7bSubjectRun%7d.$%7bFileFormat%7d // name of data file relative to DataDirectory
System:Core%20Connections string SignalSourceIP= 141.75.33.117 // (readonly)(noedit)
System:Core%20Connections string SignalSourcePort= 60619 // (readonly)(noedit)
System:Version matrix SignalSourceVersion= { Framework Revision Build Config Protocol } 1 3.6%20BETA.5570.5 5570.5,%202016-10-12T19:27:33Z MSVC-17.0.61030.0-AMD64,%20release,%202016-10-16T14:03:14Z,%20user@user-PC USE_DYNAMIC_CRT:OFF%20USE_OPENMP:ON%20USE_PRECOMPILED_HEADERS:ON%20USE_ASSERTS_IN_RELEASE_BUILDS:OFF%20USE_EXTERNAL_QT:OFF 2.3 // SignalSource version information (noedit)(readonly)
System:Configuration matrix SignalSourceFilterChain= 8 { Filter%20Name Position%20String } DataIOFilter 0 gUSBampADC 1 NullFileWriter 1 BCI2000FileWriter 1 EDFFileWriter 1 GDFFileWriter 1 AlignmentFilter 1.1 TransmissionFilter 1.2 // SignalSource filter chain (noedit)(readonly)
Visualize:Processing%20Stages int VisualizeAlignmentFilter= 0 0 0 1 // Visualize AlignmentFilter output (boolean)
Visualize:Processing%20Stages int VisualizeTransmissionFilter= 0 0 0 1 // Visualize TransmissionFilter output (boolean)
System:Randomization int RandomSeed= 16020 0 % % // seed for the BCI2000 pseudo random number generator (readonly)
System:Randomization int RandomizationWarning= 1 1 0 1 // warn if subsequent Runs have identical RandomSeed value (boolean)

TactileFreeNested.prm
File diff suppressed because it is too large
View File


+ 2
- 13
app.py View File

@@ -67,19 +67,16 @@ class PythonBCIgui:

# FILTER ##################################
def btn_tacFilter(self):
print('Starte TactileBCIFilter.exe')
subprocess.Popen(config['PATH']['tactilebcifilter'] + r'\TactileBCIFilter.exe')

# KALIBRIERUNGEN ###########################
def btn_tacCal(self):
print('starte taktile Kalibrierung')
subprocess.Popen([config['PATH']['bci2000'] + r'\prog\Operator.exe', '--OnConnect', '-LOAD PARAMETERFILE TactileCalibration.prm'])
subprocess.Popen([config['PATH']['bci2000'] + r'\prog\gUSBampSource.exe', '127.0.0.1'])
subprocess.Popen([config['PATH']['bci2000'] + r'\prog\P3SignalProcessing.exe', '127.0.0.1'])
subprocess.Popen([config['PATH']['bci2000'] + r'\prog\P3Speller.exe', '127.0.0.1'])
# TODO Lock einführen und bei Returnwert Lock öffnen mit tkinter.Button.config(state = tkinter.DISABLED)
def btn_visCal(self):
print('starte visuelle Kalibrierung')
subprocess.Popen([config['PATH']['bci2000'] + r'\prog\Operator.exe', '--OnConnect', '-LOAD PARAMETERFILE gUSBamp_visual_copySpeller.prm'])
subprocess.Popen([config['PATH']['bci2000'] + r'\prog\gUSBampSource.exe', '127.0.0.1'])
subprocess.Popen([config['PATH']['bci2000'] + r'\prog\P3SignalProcessing.exe', '127.0.0.1'])
@@ -87,24 +84,20 @@ class PythonBCIgui:

# P300 Classifier #########################
def btn_p300(self):
print('Starte P300Classifier.exe')
subprocess.Popen(config['PATH']['bci2000'] + r'\tools\P300Classifier\P300Classifier.exe')

# COPYSPELL ###########################
def btn_tacCopy(self):
print('Starte taktilen Speller')
subprocess.Popen([config['PATH']['bci2000'] + r'\prog\Operator.exe', '--OnConnect', '-LOAD PARAMETERFILE TactileCopy.prm'])
subprocess.Popen([config['PATH']['bci2000'] + r'\prog\Operator.exe', '--OnConnect', '-LOAD PARAMETERFILE TactileFree.prm'])
subprocess.Popen([config['PATH']['bci2000'] + r'\prog\gUSBampSource.exe', '127.0.0.1'])
subprocess.Popen([config['PATH']['bci2000'] + r'\prog\P3SignalProcessing.exe', '127.0.0.1'])
subprocess.Popen([config['PATH']['bci2000'] + r'\prog\P3Speller.exe', '127.0.0.1'])
def btn_tacCopyNested(self):
print('Starte taktilen Speller') # TODO Prints rausnehmen
subprocess.Popen([config['PATH']['bci2000'] + r'\prog\Operator.exe', '--OnConnect', '-LOAD PARAMETERFILE TactileCopyNested.prm'])
subprocess.Popen([config['PATH']['bci2000'] + r'\prog\Operator.exe', '--OnConnect', '-LOAD PARAMETERFILE TactileFreeNested.prm'])
subprocess.Popen([config['PATH']['bci2000'] + r'\prog\gUSBampSource.exe', '127.0.0.1'])
subprocess.Popen([config['PATH']['bci2000'] + r'\prog\P3SignalProcessing.exe', '127.0.0.1'])
subprocess.Popen([config['PATH']['bci2000'] + r'\prog\P3Speller.exe', '127.0.0.1'])
def btn_visCopy(self):
print('Starte visuellen Speller')
subprocess.Popen([config['PATH']['bci2000'] + r'\prog\Operator.exe', '--OnConnect', '-LOAD PARAMETERFILE gUSBamp_visual_freeSpeller.prm'])
subprocess.Popen([config['PATH']['bci2000'] + r'\prog\gUSBampSource.exe', '127.0.0.1'])
subprocess.Popen([config['PATH']['bci2000'] + r'\prog\P3SignalProcessing.exe', '127.0.0.1'])
@@ -135,7 +128,6 @@ class PythonBCIgui:
self.BvisCopy.pack_forget()

def global_close(self, window):
print('Beenden')
window.destroy()

# set paths
@@ -201,7 +193,6 @@ def setConfigDefault():

def on_closing():
#self.global_close(root)
print('Beenden')
root.destroy()
# root.quit()

@@ -231,5 +222,3 @@ root.config(menu = leistenMenu)
app = PythonBCIgui(root)
root.mainloop()
#root.destroy() # optional;

# TODO Remove prints before deployment

Loading…
Cancel
Save