<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.bci2000.org/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Madamek</id>
	<title>BCI2000 Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.bci2000.org/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Madamek"/>
	<link rel="alternate" type="text/html" href="https://www.bci2000.org/mediawiki/index.php/Special:Contributions/Madamek"/>
	<updated>2026-07-05T16:24:59Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://www.bci2000.org/mediawiki/index.php?title=User_Reference:Python_FileLoader&amp;diff=8117</id>
		<title>User Reference:Python FileLoader</title>
		<link rel="alternate" type="text/html" href="https://www.bci2000.org/mediawiki/index.php?title=User_Reference:Python_FileLoader&amp;diff=8117"/>
		<updated>2019-01-15T21:59:42Z</updated>

		<summary type="html">&lt;p&gt;Madamek: Created page with &amp;quot;== Introduction == The [https://github.com/markusadamek/BCI2kReader BCI2kReader] package allows to read BCI2000 .dat files in Python. The reader is written completely in pytho...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The [https://github.com/markusadamek/BCI2kReader BCI2kReader] package allows to read BCI2000 .dat files in Python. The reader is written completely in python and works with python 2 and python 3. &lt;br /&gt;
&lt;br /&gt;
== Installing the package==&lt;br /&gt;
&lt;br /&gt;
The package can either be installed with the python package manager (pip) or you can download the latest version from [https://github.com/markusadamek/BCI2kReader GitHub].&lt;br /&gt;
&lt;br /&gt;
To install the package via pip:&lt;br /&gt;
&lt;br /&gt;
 pip install BCI2kReader&lt;br /&gt;
&lt;br /&gt;
To get the latest (development) version from GitHub&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/markusadamek/BCI2kReader&lt;br /&gt;
&lt;br /&gt;
To Install the development version move to the cloned directory and run:&lt;br /&gt;
 pip install .&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
To use the reader you have to create a BCI2kReader object, which inherits from [https://docs.python.org/3/library/io.html#io.IOBase io.IOBase]. The reader has two basic modes, caching and non-caching. In caching mode, the BCI2kReader object will retain the data in memory as soon as a full readout of the file has taken place. If you need to save memory, the BCI2kReader object also supports that all read operations are done directly from the file. &lt;br /&gt;
&lt;br /&gt;
=== Reading a File ===&lt;br /&gt;
The simplest way to open a file is with pythons with command (see https://docs.python.org/3/tutorial/inputoutput.html#methods-of-file-objects for more information about file IO and the with statement).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 from BCI2kReader import BCI2kReader as b2k&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 with b2k.BCI2kReader(&#039;yourbci2000testfile.dat&#039;) as file:&lt;br /&gt;
&lt;br /&gt;
if you want to open the file without caching enabled:&lt;br /&gt;
&lt;br /&gt;
 with b2k.BCI2kReader(&#039;yourbci2000testfile.dat&#039;, False) as file:&lt;br /&gt;
&lt;br /&gt;
It is also possible to clear the cache to free memory:&lt;br /&gt;
       file.purge()&lt;br /&gt;
&lt;br /&gt;
=== Getting Data from the object ===&lt;br /&gt;
&lt;br /&gt;
The easiest way to get the data is to use the properties for signals and states. The signals are provided as a [https://docs.scipy.org/doc/numpy-1.15.0/reference/generated/numpy.ndarray.html numpy ndarray] with the dimensions (channels, samples). The states are provided as a StateDictionary which inherits from [https://docs.python.org/3/tutorial/datastructures.html#dictionaries dict] with the state name as key.&lt;br /&gt;
&lt;br /&gt;
    eeg_data = file.signals&lt;br /&gt;
    states = file.states&lt;br /&gt;
&lt;br /&gt;
=== Working with random access ===&lt;/div&gt;</summary>
		<author><name>Madamek</name></author>
	</entry>
	<entry>
		<id>https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8111</id>
		<title>User Reference:gUnicornADC</title>
		<link rel="alternate" type="text/html" href="https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8111"/>
		<updated>2019-01-04T22:21:31Z</updated>

		<summary type="html">&lt;p&gt;Madamek: /* Function */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Function==&lt;br /&gt;
The gUSBampADC filter acquires data from a Unicorn EEG amplifier. Unicorn is an amplifier/digitizer combination from g.tec medical engineering GmbH/Guger Technologies OEG (https://www.unicorn-bi.com/).&lt;br /&gt;
&lt;br /&gt;
===Unicorn Hardware===&lt;br /&gt;
The Unicorn consists of 8 independent 24-bit A/D converters that sample with 250Hz per channel. In addition, the Unicorn features a 3-axis accelerometer and a 3-axis gyroscope. The data is transmitted wirelessly via a Bluetooth 2.1 interface. Since the Unicorn device itself does not offer hardware filters the [[User_Reference:SourceFilter | Source Filter]] module is enabled to provide filtering capabilities.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Drivers====&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SampleBlockSize===&lt;br /&gt;
Samples per channel per digitized block. &lt;br /&gt;
Together with the sampling rate, this parameter determines how often per second data are collected, processed, and feedback is updated. For example, at 600 Hz sampling and a SampleBlockSize of 20, the system (e.g., source signal display, signal processing, and stimulus presentation) would be updated 30 times per second.&lt;br /&gt;
&lt;br /&gt;
===SamplingRate===&lt;br /&gt;
The Unicorn has a fixed sampling rate of 250 Hz.&lt;br /&gt;
&lt;br /&gt;
===SourceCh===&lt;br /&gt;
Number of channels to be acquired from the device. if this parameter is set to auto, the number of channels will be determined by the &#039;&#039;SourceChannelList&#039;&#039; or &#039;&#039;ChannelNames&#039;&#039; respectively.&lt;br /&gt;
&lt;br /&gt;
===SourceChList===&lt;br /&gt;
The list of channels that should be acquired from each device.&lt;br /&gt;
The total number of channels listed should correspond to &#039;&#039;SourceCh&#039;&#039; if it is not set to auto. The order of channels does not matter; i.e., &#039;1 2 3 4&#039; is the same as &#039;2 3 1 4&#039;.&lt;br /&gt;
Channels may not be listed twice; e.g., entering &#039;1 2 3 4 5 6 7 1&#039; will result in an error.&lt;br /&gt;
If this parameter is set to auto, the channels are equal to &#039;&#039;SourceCh&#039;&#039; in ascending order.&lt;br /&gt;
&lt;br /&gt;
===SourceChGain===&lt;br /&gt;
&#039;&#039;SourceChGain&#039;&#039; should be set to auto.&lt;br /&gt;
&lt;br /&gt;
===SourceChOffset===&lt;br /&gt;
&#039;&#039;SourceChOffset&#039;&#039; should be set to auto.&lt;br /&gt;
&lt;br /&gt;
===ChannelNames===&lt;br /&gt;
Alias for each Channel. If &#039;&#039;ChannelNames&#039;&#039; are set to auto, the names will be set according to the standard positions defined by the Unicorn. If &#039;&#039;ChannelNames&#039;&#039; are set manually, a name must be assigned for each channel specified in &#039;&#039;SourceChannelList&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==States==&lt;br /&gt;
===Counter===&lt;br /&gt;
The Counter is incremented with every received sample during data acquisition.&lt;br /&gt;
&lt;br /&gt;
===AccelerationX===&lt;br /&gt;
X coordinate of the three-axis accelerometer.&lt;br /&gt;
===AccelerationY===&lt;br /&gt;
Y coordinate of the three-axis accelerometer.&lt;br /&gt;
===AccelerationZ===&lt;br /&gt;
Z coordinate of the three-axis accelerometer.&lt;br /&gt;
===GyroscopeX===&lt;br /&gt;
X coordinate of the three-axis gyroscope.&lt;br /&gt;
===GyroscopeY===&lt;br /&gt;
Y coordinate of the three-axis gyroscope.&lt;br /&gt;
===GyroscopeZ===&lt;br /&gt;
Z coordinate of the three-axis gyroscope.&lt;br /&gt;
===Battery===&lt;br /&gt;
Battery charge in percent.&lt;br /&gt;
===Validation===&lt;br /&gt;
The validation state indicates if samples were lost during data acquisition.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[User Reference:DataIOFilter]], [[Programming Reference:GenericADC Class]]&lt;br /&gt;
[[Category:Filters]][[Category:Data Acquisition]]&lt;/div&gt;</summary>
		<author><name>Madamek</name></author>
	</entry>
	<entry>
		<id>https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8110</id>
		<title>User Reference:gUnicornADC</title>
		<link rel="alternate" type="text/html" href="https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8110"/>
		<updated>2018-12-26T15:56:21Z</updated>

		<summary type="html">&lt;p&gt;Madamek: /* SourceCh */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Function==&lt;br /&gt;
The gUSBampADC filter acquires data from a Unicorn EEG amplifier. Unicorn is an amplifier/digitizer combination from g.tec medical engineering GmbH/Guger Technologies OEG (https://www.unicorn-bi.com/).&lt;br /&gt;
&lt;br /&gt;
===Unicorn Hardware===&lt;br /&gt;
The Unicorn consists of 8 independent 24-bit A/D converters that sample with 250Hz per channel. In addition, the Unicorn features a 3-axis accelerometer and a 3-axis gyroscope. The data is transmitted wirelessly via a Bluetooth 2.1 interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Drivers====&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SampleBlockSize===&lt;br /&gt;
Samples per channel per digitized block. &lt;br /&gt;
Together with the sampling rate, this parameter determines how often per second data are collected, processed, and feedback is updated. For example, at 600 Hz sampling and a SampleBlockSize of 20, the system (e.g., source signal display, signal processing, and stimulus presentation) would be updated 30 times per second.&lt;br /&gt;
&lt;br /&gt;
===SamplingRate===&lt;br /&gt;
The Unicorn has a fixed sampling rate of 250 Hz.&lt;br /&gt;
&lt;br /&gt;
===SourceCh===&lt;br /&gt;
Number of channels to be acquired from the device. if this parameter is set to auto, the number of channels will be determined by the &#039;&#039;SourceChannelList&#039;&#039; or &#039;&#039;ChannelNames&#039;&#039; respectively.&lt;br /&gt;
&lt;br /&gt;
===SourceChList===&lt;br /&gt;
The list of channels that should be acquired from each device.&lt;br /&gt;
The total number of channels listed should correspond to &#039;&#039;SourceCh&#039;&#039; if it is not set to auto. The order of channels does not matter; i.e., &#039;1 2 3 4&#039; is the same as &#039;2 3 1 4&#039;.&lt;br /&gt;
Channels may not be listed twice; e.g., entering &#039;1 2 3 4 5 6 7 1&#039; will result in an error.&lt;br /&gt;
If this parameter is set to auto, the channels are equal to &#039;&#039;SourceCh&#039;&#039; in ascending order.&lt;br /&gt;
&lt;br /&gt;
===SourceChGain===&lt;br /&gt;
&#039;&#039;SourceChGain&#039;&#039; should be set to auto.&lt;br /&gt;
&lt;br /&gt;
===SourceChOffset===&lt;br /&gt;
&#039;&#039;SourceChOffset&#039;&#039; should be set to auto.&lt;br /&gt;
&lt;br /&gt;
===ChannelNames===&lt;br /&gt;
Alias for each Channel. If &#039;&#039;ChannelNames&#039;&#039; are set to auto, the names will be set according to the standard positions defined by the Unicorn. If &#039;&#039;ChannelNames&#039;&#039; are set manually, a name must be assigned for each channel specified in &#039;&#039;SourceChannelList&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==States==&lt;br /&gt;
===Counter===&lt;br /&gt;
The Counter is incremented with every received sample during data acquisition.&lt;br /&gt;
&lt;br /&gt;
===AccelerationX===&lt;br /&gt;
X coordinate of the three-axis accelerometer.&lt;br /&gt;
===AccelerationY===&lt;br /&gt;
Y coordinate of the three-axis accelerometer.&lt;br /&gt;
===AccelerationZ===&lt;br /&gt;
Z coordinate of the three-axis accelerometer.&lt;br /&gt;
===GyroscopeX===&lt;br /&gt;
X coordinate of the three-axis gyroscope.&lt;br /&gt;
===GyroscopeY===&lt;br /&gt;
Y coordinate of the three-axis gyroscope.&lt;br /&gt;
===GyroscopeZ===&lt;br /&gt;
Z coordinate of the three-axis gyroscope.&lt;br /&gt;
===Battery===&lt;br /&gt;
Battery charge in percent.&lt;br /&gt;
===Validation===&lt;br /&gt;
The validation state indicates if samples were lost during data acquisition.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[User Reference:DataIOFilter]], [[Programming Reference:GenericADC Class]]&lt;br /&gt;
[[Category:Filters]][[Category:Data Acquisition]]&lt;/div&gt;</summary>
		<author><name>Madamek</name></author>
	</entry>
	<entry>
		<id>https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8109</id>
		<title>User Reference:gUnicornADC</title>
		<link rel="alternate" type="text/html" href="https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8109"/>
		<updated>2018-12-26T15:56:13Z</updated>

		<summary type="html">&lt;p&gt;Madamek: /* SamplingRate */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Function==&lt;br /&gt;
The gUSBampADC filter acquires data from a Unicorn EEG amplifier. Unicorn is an amplifier/digitizer combination from g.tec medical engineering GmbH/Guger Technologies OEG (https://www.unicorn-bi.com/).&lt;br /&gt;
&lt;br /&gt;
===Unicorn Hardware===&lt;br /&gt;
The Unicorn consists of 8 independent 24-bit A/D converters that sample with 250Hz per channel. In addition, the Unicorn features a 3-axis accelerometer and a 3-axis gyroscope. The data is transmitted wirelessly via a Bluetooth 2.1 interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Drivers====&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SampleBlockSize===&lt;br /&gt;
Samples per channel per digitized block. &lt;br /&gt;
Together with the sampling rate, this parameter determines how often per second data are collected, processed, and feedback is updated. For example, at 600 Hz sampling and a SampleBlockSize of 20, the system (e.g., source signal display, signal processing, and stimulus presentation) would be updated 30 times per second.&lt;br /&gt;
&lt;br /&gt;
===SamplingRate===&lt;br /&gt;
The Unicorn has a fixed sampling rate of 250 Hz.&lt;br /&gt;
&lt;br /&gt;
===SourceCh===&lt;br /&gt;
Number of channels to be acquired from the device. if this parameter is set to auto, the number of channels will be determined by the &#039;&#039;SourceChannelList&#039;&#039; or &#039;&#039;ChannelNames&#039;&#039; respectively.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SourceChList===&lt;br /&gt;
The list of channels that should be acquired from each device.&lt;br /&gt;
The total number of channels listed should correspond to &#039;&#039;SourceCh&#039;&#039; if it is not set to auto. The order of channels does not matter; i.e., &#039;1 2 3 4&#039; is the same as &#039;2 3 1 4&#039;.&lt;br /&gt;
Channels may not be listed twice; e.g., entering &#039;1 2 3 4 5 6 7 1&#039; will result in an error.&lt;br /&gt;
If this parameter is set to auto, the channels are equal to &#039;&#039;SourceCh&#039;&#039; in ascending order.&lt;br /&gt;
&lt;br /&gt;
===SourceChGain===&lt;br /&gt;
&#039;&#039;SourceChGain&#039;&#039; should be set to auto.&lt;br /&gt;
&lt;br /&gt;
===SourceChOffset===&lt;br /&gt;
&#039;&#039;SourceChOffset&#039;&#039; should be set to auto.&lt;br /&gt;
&lt;br /&gt;
===ChannelNames===&lt;br /&gt;
Alias for each Channel. If &#039;&#039;ChannelNames&#039;&#039; are set to auto, the names will be set according to the standard positions defined by the Unicorn. If &#039;&#039;ChannelNames&#039;&#039; are set manually, a name must be assigned for each channel specified in &#039;&#039;SourceChannelList&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==States==&lt;br /&gt;
===Counter===&lt;br /&gt;
The Counter is incremented with every received sample during data acquisition.&lt;br /&gt;
&lt;br /&gt;
===AccelerationX===&lt;br /&gt;
X coordinate of the three-axis accelerometer.&lt;br /&gt;
===AccelerationY===&lt;br /&gt;
Y coordinate of the three-axis accelerometer.&lt;br /&gt;
===AccelerationZ===&lt;br /&gt;
Z coordinate of the three-axis accelerometer.&lt;br /&gt;
===GyroscopeX===&lt;br /&gt;
X coordinate of the three-axis gyroscope.&lt;br /&gt;
===GyroscopeY===&lt;br /&gt;
Y coordinate of the three-axis gyroscope.&lt;br /&gt;
===GyroscopeZ===&lt;br /&gt;
Z coordinate of the three-axis gyroscope.&lt;br /&gt;
===Battery===&lt;br /&gt;
Battery charge in percent.&lt;br /&gt;
===Validation===&lt;br /&gt;
The validation state indicates if samples were lost during data acquisition.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[User Reference:DataIOFilter]], [[Programming Reference:GenericADC Class]]&lt;br /&gt;
[[Category:Filters]][[Category:Data Acquisition]]&lt;/div&gt;</summary>
		<author><name>Madamek</name></author>
	</entry>
	<entry>
		<id>https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8108</id>
		<title>User Reference:gUnicornADC</title>
		<link rel="alternate" type="text/html" href="https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8108"/>
		<updated>2018-12-26T15:40:27Z</updated>

		<summary type="html">&lt;p&gt;Madamek: /* Additional Information */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Function==&lt;br /&gt;
The gUSBampADC filter acquires data from a Unicorn EEG amplifier. Unicorn is an amplifier/digitizer combination from g.tec medical engineering GmbH/Guger Technologies OEG (https://www.unicorn-bi.com/).&lt;br /&gt;
&lt;br /&gt;
===Unicorn Hardware===&lt;br /&gt;
The Unicorn consists of 8 independent 24-bit A/D converters that sample with 250Hz per channel. In addition, the Unicorn features a 3-axis accelerometer and a 3-axis gyroscope. The data is transmitted wirelessly via a Bluetooth 2.1 interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Drivers====&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SampleBlockSize===&lt;br /&gt;
Samples per channel per digitized block. &lt;br /&gt;
Together with the sampling rate, this parameter determines how often per second data are collected, processed, and feedback is updated. For example, at 600 Hz sampling and a SampleBlockSize of 20, the system (e.g., source signal display, signal processing, and stimulus presentation) would be updated 30 times per second.&lt;br /&gt;
&lt;br /&gt;
===SamplingRate===&lt;br /&gt;
The Unicorn has a fixed sampling rate of 250 Hz.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SourceCh===&lt;br /&gt;
Number of channels to be acquired from the device. if this parameter is set to auto, the number of channels will be determined by the &#039;&#039;SourceChannelList&#039;&#039; or &#039;&#039;ChannelNames&#039;&#039; respectively.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SourceChList===&lt;br /&gt;
The list of channels that should be acquired from each device.&lt;br /&gt;
The total number of channels listed should correspond to &#039;&#039;SourceCh&#039;&#039; if it is not set to auto. The order of channels does not matter; i.e., &#039;1 2 3 4&#039; is the same as &#039;2 3 1 4&#039;.&lt;br /&gt;
Channels may not be listed twice; e.g., entering &#039;1 2 3 4 5 6 7 1&#039; will result in an error.&lt;br /&gt;
If this parameter is set to auto, the channels are equal to &#039;&#039;SourceCh&#039;&#039; in ascending order.&lt;br /&gt;
&lt;br /&gt;
===SourceChGain===&lt;br /&gt;
&#039;&#039;SourceChGain&#039;&#039; should be set to auto.&lt;br /&gt;
&lt;br /&gt;
===SourceChOffset===&lt;br /&gt;
&#039;&#039;SourceChOffset&#039;&#039; should be set to auto.&lt;br /&gt;
&lt;br /&gt;
===ChannelNames===&lt;br /&gt;
Alias for each Channel. If &#039;&#039;ChannelNames&#039;&#039; are set to auto, the names will be set according to the standard positions defined by the Unicorn. If &#039;&#039;ChannelNames&#039;&#039; are set manually, a name must be assigned for each channel specified in &#039;&#039;SourceChannelList&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==States==&lt;br /&gt;
===Counter===&lt;br /&gt;
The Counter is incremented with every received sample during data acquisition.&lt;br /&gt;
&lt;br /&gt;
===AccelerationX===&lt;br /&gt;
X coordinate of the three-axis accelerometer.&lt;br /&gt;
===AccelerationY===&lt;br /&gt;
Y coordinate of the three-axis accelerometer.&lt;br /&gt;
===AccelerationZ===&lt;br /&gt;
Z coordinate of the three-axis accelerometer.&lt;br /&gt;
===GyroscopeX===&lt;br /&gt;
X coordinate of the three-axis gyroscope.&lt;br /&gt;
===GyroscopeY===&lt;br /&gt;
Y coordinate of the three-axis gyroscope.&lt;br /&gt;
===GyroscopeZ===&lt;br /&gt;
Z coordinate of the three-axis gyroscope.&lt;br /&gt;
===Battery===&lt;br /&gt;
Battery charge in percent.&lt;br /&gt;
===Validation===&lt;br /&gt;
The validation state indicates if samples were lost during data acquisition.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[User Reference:DataIOFilter]], [[Programming Reference:GenericADC Class]]&lt;br /&gt;
[[Category:Filters]][[Category:Data Acquisition]]&lt;/div&gt;</summary>
		<author><name>Madamek</name></author>
	</entry>
	<entry>
		<id>https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8107</id>
		<title>User Reference:gUnicornADC</title>
		<link rel="alternate" type="text/html" href="https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8107"/>
		<updated>2018-12-26T15:39:15Z</updated>

		<summary type="html">&lt;p&gt;Madamek: /* States */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Function==&lt;br /&gt;
The gUSBampADC filter acquires data from a Unicorn EEG amplifier. Unicorn is an amplifier/digitizer combination from g.tec medical engineering GmbH/Guger Technologies OEG (https://www.unicorn-bi.com/).&lt;br /&gt;
&lt;br /&gt;
===Unicorn Hardware===&lt;br /&gt;
The Unicorn consists of 8 independent 24-bit A/D converters that sample with 250Hz per channel. In addition, the Unicorn features a 3-axis accelerometer and a 3-axis gyroscope. The data is transmitted wirelessly via a Bluetooth 2.1 interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Drivers====&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SampleBlockSize===&lt;br /&gt;
Samples per channel per digitized block. &lt;br /&gt;
Together with the sampling rate, this parameter determines how often per second data are collected, processed, and feedback is updated. For example, at 600 Hz sampling and a SampleBlockSize of 20, the system (e.g., source signal display, signal processing, and stimulus presentation) would be updated 30 times per second.&lt;br /&gt;
&lt;br /&gt;
===SamplingRate===&lt;br /&gt;
The Unicorn has a fixed sampling rate of 250 Hz.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SourceCh===&lt;br /&gt;
Number of channels to be acquired from the device. if this parameter is set to auto, the number of channels will be determined by the &#039;&#039;SourceChannelList&#039;&#039; or &#039;&#039;ChannelNames&#039;&#039; respectively.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SourceChList===&lt;br /&gt;
The list of channels that should be acquired from each device.&lt;br /&gt;
The total number of channels listed should correspond to &#039;&#039;SourceCh&#039;&#039; if it is not set to auto. The order of channels does not matter; i.e., &#039;1 2 3 4&#039; is the same as &#039;2 3 1 4&#039;.&lt;br /&gt;
Channels may not be listed twice; e.g., entering &#039;1 2 3 4 5 6 7 1&#039; will result in an error.&lt;br /&gt;
If this parameter is set to auto, the channels are equal to &#039;&#039;SourceCh&#039;&#039; in ascending order.&lt;br /&gt;
&lt;br /&gt;
===SourceChGain===&lt;br /&gt;
&#039;&#039;SourceChGain&#039;&#039; should be set to auto.&lt;br /&gt;
&lt;br /&gt;
===SourceChOffset===&lt;br /&gt;
&#039;&#039;SourceChOffset&#039;&#039; should be set to auto.&lt;br /&gt;
&lt;br /&gt;
===ChannelNames===&lt;br /&gt;
Alias for each Channel. If &#039;&#039;ChannelNames&#039;&#039; are set to auto, the names will be set according to the standard positions defined by the Unicorn. If &#039;&#039;ChannelNames&#039;&#039; are set manually, a name must be assigned for each channel specified in &#039;&#039;SourceChannelList&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==States==&lt;br /&gt;
===Counter===&lt;br /&gt;
The Counter is incremented with every received sample during data acquisition.&lt;br /&gt;
&lt;br /&gt;
===AccelerationX===&lt;br /&gt;
X coordinate of the three-axis accelerometer.&lt;br /&gt;
===AccelerationY===&lt;br /&gt;
Y coordinate of the three-axis accelerometer.&lt;br /&gt;
===AccelerationZ===&lt;br /&gt;
Z coordinate of the three-axis accelerometer.&lt;br /&gt;
===GyroscopeX===&lt;br /&gt;
X coordinate of the three-axis gyroscope.&lt;br /&gt;
===GyroscopeY===&lt;br /&gt;
Y coordinate of the three-axis gyroscope.&lt;br /&gt;
===GyroscopeZ===&lt;br /&gt;
Z coordinate of the three-axis gyroscope.&lt;br /&gt;
===Battery===&lt;br /&gt;
Battery charge in percent.&lt;br /&gt;
===Validation===&lt;br /&gt;
The validation state indicates if samples were lost during data acquisition.&lt;br /&gt;
&lt;br /&gt;
==Additional Information==&lt;br /&gt;
&lt;br /&gt;
===Using 32bit Executables on 64bit Installations===&lt;br /&gt;
BCI2000 supports compilation of the gUSBamp source module for 64bit targets. The resulting executable will run on 64bit systems, and work with the 64bit version of the gUSBamp drivers. However, the binary distribution of BCI2000 contains 32bit executables. These run fine under 64bit systems, but you will need to perform these additional driver installation steps to install 32bit gUSBamp API DLLs on 64bit systems:&lt;br /&gt;
*Execute gtec&#039;s 32bit driver installer on your 64bit system.&lt;br /&gt;
*After successful installation, execute gtec&#039;s 64bit driver installer on your 64bit system.&lt;br /&gt;
*You will now have both the 32bit API DLL and the 64bit API DLL installed, such that both 32bit and 64bit executables will be able to connect to a gUSBamp attached to the system&#039;s USB ports.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[User Reference:DataIOFilter]], [[Programming Reference:GenericADC Class]]&lt;br /&gt;
[[Category:Filters]][[Category:Data Acquisition]]&lt;/div&gt;</summary>
		<author><name>Madamek</name></author>
	</entry>
	<entry>
		<id>https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8106</id>
		<title>User Reference:gUnicornADC</title>
		<link rel="alternate" type="text/html" href="https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8106"/>
		<updated>2018-12-26T15:36:01Z</updated>

		<summary type="html">&lt;p&gt;Madamek: /* Counter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Function==&lt;br /&gt;
The gUSBampADC filter acquires data from a Unicorn EEG amplifier. Unicorn is an amplifier/digitizer combination from g.tec medical engineering GmbH/Guger Technologies OEG (https://www.unicorn-bi.com/).&lt;br /&gt;
&lt;br /&gt;
===Unicorn Hardware===&lt;br /&gt;
The Unicorn consists of 8 independent 24-bit A/D converters that sample with 250Hz per channel. In addition, the Unicorn features a 3-axis accelerometer and a 3-axis gyroscope. The data is transmitted wirelessly via a Bluetooth 2.1 interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Drivers====&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SampleBlockSize===&lt;br /&gt;
Samples per channel per digitized block. &lt;br /&gt;
Together with the sampling rate, this parameter determines how often per second data are collected, processed, and feedback is updated. For example, at 600 Hz sampling and a SampleBlockSize of 20, the system (e.g., source signal display, signal processing, and stimulus presentation) would be updated 30 times per second.&lt;br /&gt;
&lt;br /&gt;
===SamplingRate===&lt;br /&gt;
The Unicorn has a fixed sampling rate of 250 Hz.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SourceCh===&lt;br /&gt;
Number of channels to be acquired from the device. if this parameter is set to auto, the number of channels will be determined by the &#039;&#039;SourceChannelList&#039;&#039; or &#039;&#039;ChannelNames&#039;&#039; respectively.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SourceChList===&lt;br /&gt;
The list of channels that should be acquired from each device.&lt;br /&gt;
The total number of channels listed should correspond to &#039;&#039;SourceCh&#039;&#039; if it is not set to auto. The order of channels does not matter; i.e., &#039;1 2 3 4&#039; is the same as &#039;2 3 1 4&#039;.&lt;br /&gt;
Channels may not be listed twice; e.g., entering &#039;1 2 3 4 5 6 7 1&#039; will result in an error.&lt;br /&gt;
If this parameter is set to auto, the channels are equal to &#039;&#039;SourceCh&#039;&#039; in ascending order.&lt;br /&gt;
&lt;br /&gt;
===SourceChGain===&lt;br /&gt;
&#039;&#039;SourceChGain&#039;&#039; should be set to auto.&lt;br /&gt;
&lt;br /&gt;
===SourceChOffset===&lt;br /&gt;
&#039;&#039;SourceChOffset&#039;&#039; should be set to auto.&lt;br /&gt;
&lt;br /&gt;
===ChannelNames===&lt;br /&gt;
Alias for each Channel. If &#039;&#039;ChannelNames&#039;&#039; are set to auto, the names will be set according to the standard positions defined by the Unicorn. If &#039;&#039;ChannelNames&#039;&#039; are set manually, a name must be assigned for each channel specified in &#039;&#039;SourceChannelList&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==States==&lt;br /&gt;
===Counter===&lt;br /&gt;
The Counter is incremented with every received sample during data acquisition.&lt;br /&gt;
&lt;br /&gt;
===AccelerationX===&lt;br /&gt;
===AccelerationY===&lt;br /&gt;
===AccelerationZ===&lt;br /&gt;
===GyroscopeX===&lt;br /&gt;
===GyroscopeY===&lt;br /&gt;
===GyroscopeZ===&lt;br /&gt;
===Battery===&lt;br /&gt;
===Validation===&lt;br /&gt;
&lt;br /&gt;
==Additional Information==&lt;br /&gt;
&lt;br /&gt;
===Using 32bit Executables on 64bit Installations===&lt;br /&gt;
BCI2000 supports compilation of the gUSBamp source module for 64bit targets. The resulting executable will run on 64bit systems, and work with the 64bit version of the gUSBamp drivers. However, the binary distribution of BCI2000 contains 32bit executables. These run fine under 64bit systems, but you will need to perform these additional driver installation steps to install 32bit gUSBamp API DLLs on 64bit systems:&lt;br /&gt;
*Execute gtec&#039;s 32bit driver installer on your 64bit system.&lt;br /&gt;
*After successful installation, execute gtec&#039;s 64bit driver installer on your 64bit system.&lt;br /&gt;
*You will now have both the 32bit API DLL and the 64bit API DLL installed, such that both 32bit and 64bit executables will be able to connect to a gUSBamp attached to the system&#039;s USB ports.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[User Reference:DataIOFilter]], [[Programming Reference:GenericADC Class]]&lt;br /&gt;
[[Category:Filters]][[Category:Data Acquisition]]&lt;/div&gt;</summary>
		<author><name>Madamek</name></author>
	</entry>
	<entry>
		<id>https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8105</id>
		<title>User Reference:gUnicornADC</title>
		<link rel="alternate" type="text/html" href="https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8105"/>
		<updated>2018-12-26T15:28:06Z</updated>

		<summary type="html">&lt;p&gt;Madamek: /* SourceChannelList */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Function==&lt;br /&gt;
The gUSBampADC filter acquires data from a Unicorn EEG amplifier. Unicorn is an amplifier/digitizer combination from g.tec medical engineering GmbH/Guger Technologies OEG (https://www.unicorn-bi.com/).&lt;br /&gt;
&lt;br /&gt;
===Unicorn Hardware===&lt;br /&gt;
The Unicorn consists of 8 independent 24-bit A/D converters that sample with 250Hz per channel. In addition, the Unicorn features a 3-axis accelerometer and a 3-axis gyroscope. The data is transmitted wirelessly via a Bluetooth 2.1 interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Drivers====&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SampleBlockSize===&lt;br /&gt;
Samples per channel per digitized block. &lt;br /&gt;
Together with the sampling rate, this parameter determines how often per second data are collected, processed, and feedback is updated. For example, at 600 Hz sampling and a SampleBlockSize of 20, the system (e.g., source signal display, signal processing, and stimulus presentation) would be updated 30 times per second.&lt;br /&gt;
&lt;br /&gt;
===SamplingRate===&lt;br /&gt;
The Unicorn has a fixed sampling rate of 250 Hz.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SourceCh===&lt;br /&gt;
Number of channels to be acquired from the device. if this parameter is set to auto, the number of channels will be determined by the &#039;&#039;SourceChannelList&#039;&#039; or &#039;&#039;ChannelNames&#039;&#039; respectively.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SourceChList===&lt;br /&gt;
The list of channels that should be acquired from each device.&lt;br /&gt;
The total number of channels listed should correspond to &#039;&#039;SourceCh&#039;&#039; if it is not set to auto. The order of channels does not matter; i.e., &#039;1 2 3 4&#039; is the same as &#039;2 3 1 4&#039;.&lt;br /&gt;
Channels may not be listed twice; e.g., entering &#039;1 2 3 4 5 6 7 1&#039; will result in an error.&lt;br /&gt;
If this parameter is set to auto, the channels are equal to &#039;&#039;SourceCh&#039;&#039; in ascending order.&lt;br /&gt;
&lt;br /&gt;
===SourceChGain===&lt;br /&gt;
&#039;&#039;SourceChGain&#039;&#039; should be set to auto.&lt;br /&gt;
&lt;br /&gt;
===SourceChOffset===&lt;br /&gt;
&#039;&#039;SourceChOffset&#039;&#039; should be set to auto.&lt;br /&gt;
&lt;br /&gt;
===ChannelNames===&lt;br /&gt;
Alias for each Channel. If &#039;&#039;ChannelNames&#039;&#039; are set to auto, the names will be set according to the standard positions defined by the Unicorn. If &#039;&#039;ChannelNames&#039;&#039; are set manually, a name must be assigned for each channel specified in &#039;&#039;SourceChannelList&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==States==&lt;br /&gt;
===Counter===&lt;br /&gt;
===AccelerationX===&lt;br /&gt;
===AccelerationY===&lt;br /&gt;
===AccelerationZ===&lt;br /&gt;
===GyroscopeX===&lt;br /&gt;
===GyroscopeY===&lt;br /&gt;
===GyroscopeZ===&lt;br /&gt;
===Battery===&lt;br /&gt;
===Validation===&lt;br /&gt;
&lt;br /&gt;
==Additional Information==&lt;br /&gt;
&lt;br /&gt;
===Using 32bit Executables on 64bit Installations===&lt;br /&gt;
BCI2000 supports compilation of the gUSBamp source module for 64bit targets. The resulting executable will run on 64bit systems, and work with the 64bit version of the gUSBamp drivers. However, the binary distribution of BCI2000 contains 32bit executables. These run fine under 64bit systems, but you will need to perform these additional driver installation steps to install 32bit gUSBamp API DLLs on 64bit systems:&lt;br /&gt;
*Execute gtec&#039;s 32bit driver installer on your 64bit system.&lt;br /&gt;
*After successful installation, execute gtec&#039;s 64bit driver installer on your 64bit system.&lt;br /&gt;
*You will now have both the 32bit API DLL and the 64bit API DLL installed, such that both 32bit and 64bit executables will be able to connect to a gUSBamp attached to the system&#039;s USB ports.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[User Reference:DataIOFilter]], [[Programming Reference:GenericADC Class]]&lt;br /&gt;
[[Category:Filters]][[Category:Data Acquisition]]&lt;/div&gt;</summary>
		<author><name>Madamek</name></author>
	</entry>
	<entry>
		<id>https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8104</id>
		<title>User Reference:gUnicornADC</title>
		<link rel="alternate" type="text/html" href="https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8104"/>
		<updated>2018-12-26T15:21:15Z</updated>

		<summary type="html">&lt;p&gt;Madamek: /* Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Function==&lt;br /&gt;
The gUSBampADC filter acquires data from a Unicorn EEG amplifier. Unicorn is an amplifier/digitizer combination from g.tec medical engineering GmbH/Guger Technologies OEG (https://www.unicorn-bi.com/).&lt;br /&gt;
&lt;br /&gt;
===Unicorn Hardware===&lt;br /&gt;
The Unicorn consists of 8 independent 24-bit A/D converters that sample with 250Hz per channel. In addition, the Unicorn features a 3-axis accelerometer and a 3-axis gyroscope. The data is transmitted wirelessly via a Bluetooth 2.1 interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Drivers====&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SampleBlockSize===&lt;br /&gt;
Samples per channel per digitized block. &lt;br /&gt;
Together with the sampling rate, this parameter determines how often per second data are collected, processed, and feedback is updated. For example, at 600 Hz sampling and a SampleBlockSize of 20, the system (e.g., source signal display, signal processing, and stimulus presentation) would be updated 30 times per second.&lt;br /&gt;
&lt;br /&gt;
===SamplingRate===&lt;br /&gt;
The Unicorn has a fixed sampling rate of 250 Hz.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SourceCh===&lt;br /&gt;
Number of channels to be acquired from the device. if this parameter is set to auto, the number of channels will be determined by the &#039;&#039;SourceChannelList&#039;&#039; or &#039;&#039;ChannelNames&#039;&#039; respectively.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SourceChannelList===&lt;br /&gt;
The list of channels that should be acquired from each device.&lt;br /&gt;
The total number of channels listed should correspond to &#039;&#039;SourceCh&#039;&#039; if it is not set to auto. The order of channels does not matter; i.e., &#039;1 2 3 4&#039; is the same as &#039;2 3 1 4&#039;.&lt;br /&gt;
Channels may not be listed twice; e.g., entering &#039;1 2 3 4 5 6 7 1&#039; will result in an error.&lt;br /&gt;
If this parameter is set to auto, the channels are equal to &#039;&#039;SourceCh&#039;&#039; in ascending order. &lt;br /&gt;
&lt;br /&gt;
===SourceChGain===&lt;br /&gt;
&#039;&#039;SourceChGain&#039;&#039; should be set to auto.&lt;br /&gt;
&lt;br /&gt;
===SourceChOffset===&lt;br /&gt;
&#039;&#039;SourceChOffset&#039;&#039; should be set to auto.&lt;br /&gt;
&lt;br /&gt;
===ChannelNames===&lt;br /&gt;
Alias for each Channel. If &#039;&#039;ChannelNames&#039;&#039; are set to auto, the names will be set according to the standard positions defined by the Unicorn. If &#039;&#039;ChannelNames&#039;&#039; are set manually, a name must be assigned for each channel specified in &#039;&#039;SourceChannelList&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==States==&lt;br /&gt;
===Counter===&lt;br /&gt;
===AccelerationX===&lt;br /&gt;
===AccelerationY===&lt;br /&gt;
===AccelerationZ===&lt;br /&gt;
===GyroscopeX===&lt;br /&gt;
===GyroscopeY===&lt;br /&gt;
===GyroscopeZ===&lt;br /&gt;
===Battery===&lt;br /&gt;
===Validation===&lt;br /&gt;
&lt;br /&gt;
==Additional Information==&lt;br /&gt;
&lt;br /&gt;
===Using 32bit Executables on 64bit Installations===&lt;br /&gt;
BCI2000 supports compilation of the gUSBamp source module for 64bit targets. The resulting executable will run on 64bit systems, and work with the 64bit version of the gUSBamp drivers. However, the binary distribution of BCI2000 contains 32bit executables. These run fine under 64bit systems, but you will need to perform these additional driver installation steps to install 32bit gUSBamp API DLLs on 64bit systems:&lt;br /&gt;
*Execute gtec&#039;s 32bit driver installer on your 64bit system.&lt;br /&gt;
*After successful installation, execute gtec&#039;s 64bit driver installer on your 64bit system.&lt;br /&gt;
*You will now have both the 32bit API DLL and the 64bit API DLL installed, such that both 32bit and 64bit executables will be able to connect to a gUSBamp attached to the system&#039;s USB ports.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[User Reference:DataIOFilter]], [[Programming Reference:GenericADC Class]]&lt;br /&gt;
[[Category:Filters]][[Category:Data Acquisition]]&lt;/div&gt;</summary>
		<author><name>Madamek</name></author>
	</entry>
	<entry>
		<id>https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8103</id>
		<title>User Reference:gUnicornADC</title>
		<link rel="alternate" type="text/html" href="https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8103"/>
		<updated>2018-12-26T14:56:34Z</updated>

		<summary type="html">&lt;p&gt;Madamek: /* Function */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Function==&lt;br /&gt;
The gUSBampADC filter acquires data from a Unicorn EEG amplifier. Unicorn is an amplifier/digitizer combination from g.tec medical engineering GmbH/Guger Technologies OEG (https://www.unicorn-bi.com/).&lt;br /&gt;
&lt;br /&gt;
===Unicorn Hardware===&lt;br /&gt;
The Unicorn consists of 8 independent 24-bit A/D converters that sample with 250Hz per channel. In addition, the Unicorn features a 3-axis accelerometer and a 3-axis gyroscope. The data is transmitted wirelessly via a Bluetooth 2.1 interface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Drivers====&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SampleBlockSize===&lt;br /&gt;
Samples per channel per digitized block. &lt;br /&gt;
Together with the sampling rate, this parameter determines how often per second data are collected, processed, and feedback is updated. For example, at 600 Hz sampling and a SampleBlockSize of 20, the system (e.g., source signal display, signal processing, and stimulus presentation) would be updated 30 times per second.&lt;br /&gt;
&lt;br /&gt;
===SamplingRate===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SourceCh===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SourceChannelList===&lt;br /&gt;
The list of channels that should be acquired from each device.&lt;br /&gt;
The total number of channels listed should correspond to &#039;&#039;SourceCh&#039;&#039;. For more than one device, &#039;&#039;SourceChDevices&#039;&#039; determines how the &#039;&#039;SourceChList&#039;&#039; values are mapped to each device. For example if &#039;&#039;SourceChDevices&#039;&#039; = &#039;8 8&#039; and &#039;&#039;SourceChList&#039;&#039; = &#039;1 2 3 4 13 14 15 16 5 6 7 8 9 10 11 12&#039;, then channels 1-4 and 13-16 will be acquired on the first device, and channels 5-12 will be acquired on the second device. These channels will be saved in the data file as 16 contiguous channels.&lt;br /&gt;
The order of channels does not matter; i.e., &#039;1 2 3 4&#039; is the same as &#039;2 3 1 4&#039;. The channels are always in ascending order on a single device.&lt;br /&gt;
Channels may not be listed twice on a single device; e.g., entering &#039;1 2 3 4 5 6 7 1&#039; if &#039;&#039;SourceChDevices&#039;&#039; = &#039;8&#039; will result in an error.&lt;br /&gt;
If this parameter is left blank (the default), then all channels are acquired on all devices.&lt;br /&gt;
&lt;br /&gt;
===SourceChGain===&lt;br /&gt;
&lt;br /&gt;
===SourceChOffset===&lt;br /&gt;
&lt;br /&gt;
===ChannelNames===&lt;br /&gt;
&lt;br /&gt;
==States==&lt;br /&gt;
===Counter===&lt;br /&gt;
===AccelerationX===&lt;br /&gt;
===AccelerationY===&lt;br /&gt;
===AccelerationZ===&lt;br /&gt;
===GyroscopeX===&lt;br /&gt;
===GyroscopeY===&lt;br /&gt;
===GyroscopeZ===&lt;br /&gt;
===Battery===&lt;br /&gt;
===Validation===&lt;br /&gt;
&lt;br /&gt;
==Additional Information==&lt;br /&gt;
&lt;br /&gt;
===Using 32bit Executables on 64bit Installations===&lt;br /&gt;
BCI2000 supports compilation of the gUSBamp source module for 64bit targets. The resulting executable will run on 64bit systems, and work with the 64bit version of the gUSBamp drivers. However, the binary distribution of BCI2000 contains 32bit executables. These run fine under 64bit systems, but you will need to perform these additional driver installation steps to install 32bit gUSBamp API DLLs on 64bit systems:&lt;br /&gt;
*Execute gtec&#039;s 32bit driver installer on your 64bit system.&lt;br /&gt;
*After successful installation, execute gtec&#039;s 64bit driver installer on your 64bit system.&lt;br /&gt;
*You will now have both the 32bit API DLL and the 64bit API DLL installed, such that both 32bit and 64bit executables will be able to connect to a gUSBamp attached to the system&#039;s USB ports.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[User Reference:DataIOFilter]], [[Programming Reference:GenericADC Class]]&lt;br /&gt;
[[Category:Filters]][[Category:Data Acquisition]]&lt;/div&gt;</summary>
		<author><name>Madamek</name></author>
	</entry>
	<entry>
		<id>https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8102</id>
		<title>User Reference:gUnicornADC</title>
		<link rel="alternate" type="text/html" href="https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8102"/>
		<updated>2018-12-21T20:21:15Z</updated>

		<summary type="html">&lt;p&gt;Madamek: /* Data Storage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Function==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===g.Unicorn Hardware===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Drivers====&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SampleBlockSize===&lt;br /&gt;
Samples per channel per digitized block. &lt;br /&gt;
Together with the sampling rate, this parameter determines how often per second data are collected, processed, and feedback is updated. For example, at 600 Hz sampling and a SampleBlockSize of 20, the system (e.g., source signal display, signal processing, and stimulus presentation) would be updated 30 times per second.&lt;br /&gt;
&lt;br /&gt;
===SamplingRate===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SourceCh===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SourceChannelList===&lt;br /&gt;
The list of channels that should be acquired from each device.&lt;br /&gt;
The total number of channels listed should correspond to &#039;&#039;SourceCh&#039;&#039;. For more than one device, &#039;&#039;SourceChDevices&#039;&#039; determines how the &#039;&#039;SourceChList&#039;&#039; values are mapped to each device. For example if &#039;&#039;SourceChDevices&#039;&#039; = &#039;8 8&#039; and &#039;&#039;SourceChList&#039;&#039; = &#039;1 2 3 4 13 14 15 16 5 6 7 8 9 10 11 12&#039;, then channels 1-4 and 13-16 will be acquired on the first device, and channels 5-12 will be acquired on the second device. These channels will be saved in the data file as 16 contiguous channels.&lt;br /&gt;
The order of channels does not matter; i.e., &#039;1 2 3 4&#039; is the same as &#039;2 3 1 4&#039;. The channels are always in ascending order on a single device.&lt;br /&gt;
Channels may not be listed twice on a single device; e.g., entering &#039;1 2 3 4 5 6 7 1&#039; if &#039;&#039;SourceChDevices&#039;&#039; = &#039;8&#039; will result in an error.&lt;br /&gt;
If this parameter is left blank (the default), then all channels are acquired on all devices.&lt;br /&gt;
&lt;br /&gt;
===SourceChGain===&lt;br /&gt;
&lt;br /&gt;
===SourceChOffset===&lt;br /&gt;
&lt;br /&gt;
===ChannelNames===&lt;br /&gt;
&lt;br /&gt;
==States==&lt;br /&gt;
===Counter===&lt;br /&gt;
===AccelerationX===&lt;br /&gt;
===AccelerationY===&lt;br /&gt;
===AccelerationZ===&lt;br /&gt;
===GyroscopeX===&lt;br /&gt;
===GyroscopeY===&lt;br /&gt;
===GyroscopeZ===&lt;br /&gt;
===Battery===&lt;br /&gt;
===Validation===&lt;br /&gt;
&lt;br /&gt;
==Additional Information==&lt;br /&gt;
&lt;br /&gt;
===Using 32bit Executables on 64bit Installations===&lt;br /&gt;
BCI2000 supports compilation of the gUSBamp source module for 64bit targets. The resulting executable will run on 64bit systems, and work with the 64bit version of the gUSBamp drivers. However, the binary distribution of BCI2000 contains 32bit executables. These run fine under 64bit systems, but you will need to perform these additional driver installation steps to install 32bit gUSBamp API DLLs on 64bit systems:&lt;br /&gt;
*Execute gtec&#039;s 32bit driver installer on your 64bit system.&lt;br /&gt;
*After successful installation, execute gtec&#039;s 64bit driver installer on your 64bit system.&lt;br /&gt;
*You will now have both the 32bit API DLL and the 64bit API DLL installed, such that both 32bit and 64bit executables will be able to connect to a gUSBamp attached to the system&#039;s USB ports.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[User Reference:DataIOFilter]], [[Programming Reference:GenericADC Class]]&lt;br /&gt;
[[Category:Filters]][[Category:Data Acquisition]]&lt;/div&gt;</summary>
		<author><name>Madamek</name></author>
	</entry>
	<entry>
		<id>https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8101</id>
		<title>User Reference:gUnicornADC</title>
		<link rel="alternate" type="text/html" href="https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8101"/>
		<updated>2018-12-21T20:20:38Z</updated>

		<summary type="html">&lt;p&gt;Madamek: /* States */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Function==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===g.Unicorn Hardware===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Drivers====&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SampleBlockSize===&lt;br /&gt;
Samples per channel per digitized block. &lt;br /&gt;
Together with the sampling rate, this parameter determines how often per second data are collected, processed, and feedback is updated. For example, at 600 Hz sampling and a SampleBlockSize of 20, the system (e.g., source signal display, signal processing, and stimulus presentation) would be updated 30 times per second.&lt;br /&gt;
&lt;br /&gt;
===SamplingRate===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SourceCh===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SourceChannelList===&lt;br /&gt;
The list of channels that should be acquired from each device.&lt;br /&gt;
The total number of channels listed should correspond to &#039;&#039;SourceCh&#039;&#039;. For more than one device, &#039;&#039;SourceChDevices&#039;&#039; determines how the &#039;&#039;SourceChList&#039;&#039; values are mapped to each device. For example if &#039;&#039;SourceChDevices&#039;&#039; = &#039;8 8&#039; and &#039;&#039;SourceChList&#039;&#039; = &#039;1 2 3 4 13 14 15 16 5 6 7 8 9 10 11 12&#039;, then channels 1-4 and 13-16 will be acquired on the first device, and channels 5-12 will be acquired on the second device. These channels will be saved in the data file as 16 contiguous channels.&lt;br /&gt;
The order of channels does not matter; i.e., &#039;1 2 3 4&#039; is the same as &#039;2 3 1 4&#039;. The channels are always in ascending order on a single device.&lt;br /&gt;
Channels may not be listed twice on a single device; e.g., entering &#039;1 2 3 4 5 6 7 1&#039; if &#039;&#039;SourceChDevices&#039;&#039; = &#039;8&#039; will result in an error.&lt;br /&gt;
If this parameter is left blank (the default), then all channels are acquired on all devices.&lt;br /&gt;
&lt;br /&gt;
===SourceChGain===&lt;br /&gt;
&lt;br /&gt;
===SourceChOffset===&lt;br /&gt;
&lt;br /&gt;
===ChannelNames===&lt;br /&gt;
&lt;br /&gt;
==States==&lt;br /&gt;
===Counter===&lt;br /&gt;
===AccelerationX===&lt;br /&gt;
===AccelerationY===&lt;br /&gt;
===AccelerationZ===&lt;br /&gt;
===GyroscopeX===&lt;br /&gt;
===GyroscopeY===&lt;br /&gt;
===GyroscopeZ===&lt;br /&gt;
===Battery===&lt;br /&gt;
===Validation===&lt;br /&gt;
&lt;br /&gt;
==Additional Information==&lt;br /&gt;
&lt;br /&gt;
===Using 32bit Executables on 64bit Installations===&lt;br /&gt;
BCI2000 supports compilation of the gUSBamp source module for 64bit targets. The resulting executable will run on 64bit systems, and work with the 64bit version of the gUSBamp drivers. However, the binary distribution of BCI2000 contains 32bit executables. These run fine under 64bit systems, but you will need to perform these additional driver installation steps to install 32bit gUSBamp API DLLs on 64bit systems:&lt;br /&gt;
*Execute gtec&#039;s 32bit driver installer on your 64bit system.&lt;br /&gt;
*After successful installation, execute gtec&#039;s 64bit driver installer on your 64bit system.&lt;br /&gt;
*You will now have both the 32bit API DLL and the 64bit API DLL installed, such that both 32bit and 64bit executables will be able to connect to a gUSBamp attached to the system&#039;s USB ports.&lt;br /&gt;
&lt;br /&gt;
===Data Storage===&lt;br /&gt;
Unlike other systems, the USBamp is a DC amplifier system that digitizes at 24 bit. &lt;br /&gt;
Bandpass and notch filtering is performed on the digitized samples, resulting in floating point signal samples in units of &amp;lt;math&amp;gt;\mu V&amp;lt;/math&amp;gt;.&lt;br /&gt;
BCI2000 currently supports signed 16 bit integers and floating point numbers for its data storage.&lt;br /&gt;
If &#039;&#039;SignalType&#039;&#039; is set to int16, the floating point values have to be converted back into integers before they can be stored and transmitted to Signal Processing.&lt;br /&gt;
This is done by the following transformation: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathrm{sample}_\mathrm{stored}\mathrm{(A/D\,units)}=\frac{\mathrm{sample}_\mathrm{acquired}(\mu V)}\mathrm{SourceChGain}&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
(&#039;&#039;SourceChOffset&#039;&#039; is assumed (and required) to be zero for all channels.) &lt;br /&gt;
BCI2000 Signal Processing or any offline analysis routine can derive, as with &lt;br /&gt;
any other BCI2000 source module, sample values in &amp;lt;math&amp;gt;\mu V&amp;lt;/math&amp;gt; by subtracting, from &lt;br /&gt;
each stored sample, &#039;&#039;SourceChOffset&#039;&#039; (i.e., zero), and multiplying it with &lt;br /&gt;
&#039;&#039;SourceChGain&#039;&#039; for each channel. If &#039;&#039;SignalType&#039;&#039; is set to float32,&lt;br /&gt;
data samples are stored in units of &amp;lt;math&amp;gt;\mu V&amp;lt;/math&amp;gt;. In this case, &#039;&#039;SourceChGain&#039;&#039; should be&lt;br /&gt;
a list of 1&#039;s (because the conversion factor between data samples into &amp;lt;math&amp;gt;\mu V&amp;lt;/math&amp;gt; is&lt;br /&gt;
1.0 for each channel).&lt;br /&gt;
&lt;br /&gt;
Still, when values other than 0 and 1 are specified, a consistent data file will be produced, i.e. values will be transformed before they are written to the file, such that applying SourceChOffset and SourceChGain will reproduce the original values in &amp;lt;math&amp;gt;\mu V&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[User Reference:DataIOFilter]], [[Programming Reference:GenericADC Class]]&lt;br /&gt;
[[Category:Filters]][[Category:Data Acquisition]]&lt;/div&gt;</summary>
		<author><name>Madamek</name></author>
	</entry>
	<entry>
		<id>https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8100</id>
		<title>User Reference:gUnicornADC</title>
		<link rel="alternate" type="text/html" href="https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8100"/>
		<updated>2018-12-21T20:19:13Z</updated>

		<summary type="html">&lt;p&gt;Madamek: /* Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Function==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===g.Unicorn Hardware===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Drivers====&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SampleBlockSize===&lt;br /&gt;
Samples per channel per digitized block. &lt;br /&gt;
Together with the sampling rate, this parameter determines how often per second data are collected, processed, and feedback is updated. For example, at 600 Hz sampling and a SampleBlockSize of 20, the system (e.g., source signal display, signal processing, and stimulus presentation) would be updated 30 times per second.&lt;br /&gt;
&lt;br /&gt;
===SamplingRate===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SourceCh===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SourceChannelList===&lt;br /&gt;
The list of channels that should be acquired from each device.&lt;br /&gt;
The total number of channels listed should correspond to &#039;&#039;SourceCh&#039;&#039;. For more than one device, &#039;&#039;SourceChDevices&#039;&#039; determines how the &#039;&#039;SourceChList&#039;&#039; values are mapped to each device. For example if &#039;&#039;SourceChDevices&#039;&#039; = &#039;8 8&#039; and &#039;&#039;SourceChList&#039;&#039; = &#039;1 2 3 4 13 14 15 16 5 6 7 8 9 10 11 12&#039;, then channels 1-4 and 13-16 will be acquired on the first device, and channels 5-12 will be acquired on the second device. These channels will be saved in the data file as 16 contiguous channels.&lt;br /&gt;
The order of channels does not matter; i.e., &#039;1 2 3 4&#039; is the same as &#039;2 3 1 4&#039;. The channels are always in ascending order on a single device.&lt;br /&gt;
Channels may not be listed twice on a single device; e.g., entering &#039;1 2 3 4 5 6 7 1&#039; if &#039;&#039;SourceChDevices&#039;&#039; = &#039;8&#039; will result in an error.&lt;br /&gt;
If this parameter is left blank (the default), then all channels are acquired on all devices.&lt;br /&gt;
&lt;br /&gt;
===SourceChGain===&lt;br /&gt;
&lt;br /&gt;
===SourceChOffset===&lt;br /&gt;
&lt;br /&gt;
===ChannelNames===&lt;br /&gt;
&lt;br /&gt;
==States==&lt;br /&gt;
&lt;br /&gt;
==Additional Information==&lt;br /&gt;
&lt;br /&gt;
===Using 32bit Executables on 64bit Installations===&lt;br /&gt;
BCI2000 supports compilation of the gUSBamp source module for 64bit targets. The resulting executable will run on 64bit systems, and work with the 64bit version of the gUSBamp drivers. However, the binary distribution of BCI2000 contains 32bit executables. These run fine under 64bit systems, but you will need to perform these additional driver installation steps to install 32bit gUSBamp API DLLs on 64bit systems:&lt;br /&gt;
*Execute gtec&#039;s 32bit driver installer on your 64bit system.&lt;br /&gt;
*After successful installation, execute gtec&#039;s 64bit driver installer on your 64bit system.&lt;br /&gt;
*You will now have both the 32bit API DLL and the 64bit API DLL installed, such that both 32bit and 64bit executables will be able to connect to a gUSBamp attached to the system&#039;s USB ports.&lt;br /&gt;
&lt;br /&gt;
===Data Storage===&lt;br /&gt;
Unlike other systems, the USBamp is a DC amplifier system that digitizes at 24 bit. &lt;br /&gt;
Bandpass and notch filtering is performed on the digitized samples, resulting in floating point signal samples in units of &amp;lt;math&amp;gt;\mu V&amp;lt;/math&amp;gt;.&lt;br /&gt;
BCI2000 currently supports signed 16 bit integers and floating point numbers for its data storage.&lt;br /&gt;
If &#039;&#039;SignalType&#039;&#039; is set to int16, the floating point values have to be converted back into integers before they can be stored and transmitted to Signal Processing.&lt;br /&gt;
This is done by the following transformation: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathrm{sample}_\mathrm{stored}\mathrm{(A/D\,units)}=\frac{\mathrm{sample}_\mathrm{acquired}(\mu V)}\mathrm{SourceChGain}&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
(&#039;&#039;SourceChOffset&#039;&#039; is assumed (and required) to be zero for all channels.) &lt;br /&gt;
BCI2000 Signal Processing or any offline analysis routine can derive, as with &lt;br /&gt;
any other BCI2000 source module, sample values in &amp;lt;math&amp;gt;\mu V&amp;lt;/math&amp;gt; by subtracting, from &lt;br /&gt;
each stored sample, &#039;&#039;SourceChOffset&#039;&#039; (i.e., zero), and multiplying it with &lt;br /&gt;
&#039;&#039;SourceChGain&#039;&#039; for each channel. If &#039;&#039;SignalType&#039;&#039; is set to float32,&lt;br /&gt;
data samples are stored in units of &amp;lt;math&amp;gt;\mu V&amp;lt;/math&amp;gt;. In this case, &#039;&#039;SourceChGain&#039;&#039; should be&lt;br /&gt;
a list of 1&#039;s (because the conversion factor between data samples into &amp;lt;math&amp;gt;\mu V&amp;lt;/math&amp;gt; is&lt;br /&gt;
1.0 for each channel).&lt;br /&gt;
&lt;br /&gt;
Still, when values other than 0 and 1 are specified, a consistent data file will be produced, i.e. values will be transformed before they are written to the file, such that applying SourceChOffset and SourceChGain will reproduce the original values in &amp;lt;math&amp;gt;\mu V&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[User Reference:DataIOFilter]], [[Programming Reference:GenericADC Class]]&lt;br /&gt;
[[Category:Filters]][[Category:Data Acquisition]]&lt;/div&gt;</summary>
		<author><name>Madamek</name></author>
	</entry>
	<entry>
		<id>https://www.bci2000.org/mediawiki/index.php?title=System_Features&amp;diff=8099</id>
		<title>System Features</title>
		<link rel="alternate" type="text/html" href="https://www.bci2000.org/mediawiki/index.php?title=System_Features&amp;diff=8099"/>
		<updated>2018-12-21T16:47:56Z</updated>

		<summary type="html">&lt;p&gt;Madamek: /* Hardware Support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BCI2000 supports a variety of [[#Data_Acquisition_Systems|data acquisition systems]], [[#Brain_Signals|brain signals]], and [[#Paradigms|study/feedback paradigms]]. During operation, BCI2000 stores data in a common format (BCI2000 native or GDF), along with all relevant event markers and information about system configuration. BCI2000 also includes several tools for data import/conversion (e.g., a routine to load BCI2000 data files directly into Matlab) and export facilities into ASCII.&lt;br /&gt;
&lt;br /&gt;
BCI2000 also facilitates interactions with other software.  For example, Matlab scripts can be executed in real-time from within BCI2000, or BCI2000 filters can be compiled to execute as stand-alone programs.  Furthermore, a simple network-based interface allows for interactions with external programs written in any programming language.  For example, a robotic arm application that is external to BCI2000 may be controlled in real time based on brain signals processed by BCI2000, or BCI2000 may use and store along with brain signals behavioral-based inputs such as eye-tracker coordinates.&lt;br /&gt;
BCI2000 requires any of the supported data acquisition systems listed above.  We provide BCI2000 with full source code and all executables, which run on most current PCs running Microsoft Windows.  &lt;br /&gt;
&lt;br /&gt;
We provide the complete source code to the BCI2000 system.  It may be compiled using VisualStudio, and MinGW on Windows. For the status on other operating systems, and more details, see [[Programming Reference:Build System]].&lt;br /&gt;
&lt;br /&gt;
==Data Acquisition Systems==&lt;br /&gt;
===Hardware Support===&lt;br /&gt;
*[[User_Reference:gUSBampADC|g.USBamp]]&lt;br /&gt;
*[[User_Reference:gMOBIlabADC|g.MOBIlab]] &lt;br /&gt;
*[[User_Reference:gMOBIlabPlusADC|g.MOBIlab+ Bluetooth (g.tec)]]&lt;br /&gt;
*[[User_Reference:gUnicornADC|g.Unicorn]]&lt;br /&gt;
&lt;br /&gt;
===Support Through User Contributions===&lt;br /&gt;
====A/D Converter Boards====&lt;br /&gt;
*[[Contributions:DTADC|Data Translations, Inc.]]&lt;br /&gt;
*[[Contributions:NIADC|National Instruments, Inc.]], also [[Contributions:NIDAQ-MX|MX boards]]&lt;br /&gt;
*[[Contributions:DAS_ADC|Measurement Computing, Inc.]]&lt;br /&gt;
*[[Contributions:ModularEEG|Modular-EEG Systems]]&lt;br /&gt;
====Amplifiers/Digitizers====&lt;br /&gt;
*[[Contributions:TDTADC|Tucker-Davis Pentusa]]&lt;br /&gt;
*[[Contributions:Biosemi2ADC|Biosemi]]&lt;br /&gt;
*[[Contributions:BioRadioADC|BioRadio 150 (Cleveland Medical Devices, Inc.)]]&lt;br /&gt;
*[[Contributions:TMSiADC|Refa System (TMSi, Inc.)]]&lt;br /&gt;
*[[Contributions:EnobioADC|Enobio]]&lt;br /&gt;
*Ripple Grapevine&lt;br /&gt;
*[[Contributions:NeuroSky|NeuroSky]]&lt;br /&gt;
*[[Contributions:Emotiv|Emotiv EPOC]]&lt;br /&gt;
&lt;br /&gt;
====EEG Systems====&lt;br /&gt;
*[[Contributions:NeuroscanADC|Neuroscan, Inc.]]&lt;br /&gt;
*[[Contributions:RDAClientADC|BrainAmp]], [[Contributions:vAmpADC|V-Amp, QuickAmp]] (Brain Products)&lt;br /&gt;
*[[Contributions:MicromedADC|Micromed EEG Systems]]&lt;br /&gt;
*[[Contributions:AmpServerProADC|Electrical Geodesics Amp Server]]&lt;br /&gt;
*[[Contributions:NicoletOne|Viasys]]&lt;br /&gt;
&lt;br /&gt;
====MEG Systems====&lt;br /&gt;
*[[Contributions:ctfneurod|Whole-head systems from CTF, Inc.]]&lt;br /&gt;
&lt;br /&gt;
===Miscellaneous===&lt;br /&gt;
*[[User_Reference:SignalGeneratorADC|Virtual Device (i.e., Function Generator) for testing purposes]]&lt;br /&gt;
&lt;br /&gt;
==Brain Signals==&lt;br /&gt;
*[[Contributions:SWSignalProcessing|Slow Cortical Potentials (SCPs)]]&lt;br /&gt;
*[[User_Reference:P3TemporalFilter|Evoked Potentials]]&lt;br /&gt;
*EEG mu/beta Rhythms (ERD/ERS) (2 methods: [[User_Reference:ARFilter|AR]], [[User_Reference:FFTFilter|FFT]])&lt;br /&gt;
*ECoG Oscillations&lt;br /&gt;
*Single-Neuron Action Potentials&lt;br /&gt;
&lt;br /&gt;
==Paradigms==&lt;br /&gt;
===Feedback Applications===&lt;br /&gt;
*[[User_Reference:CursorTask|3D Cursor Movement Task]]&lt;br /&gt;
*[[User_Reference:StimulusPresentationTask|Auditory + Visual Stimulus Presentation incl. Real-Time Feedback]]&lt;br /&gt;
*[[User_Reference:P3SpellerTask|P300 Matrix Speller]]&lt;br /&gt;
&lt;br /&gt;
===User Contributions===&lt;br /&gt;
*[[Contributions:Speller|4-Choice Speller]]&lt;br /&gt;
*2D Robotic Arm Control (RCS-6, Robix, Inc.)&lt;br /&gt;
*[[Contributions:SlowWaveApp|Slow-Cortical Potential Spelling Paradigm]]&lt;br /&gt;
*[[Contributions:MFCdemo|Visual-C++ (MFC) Demo Application]]&lt;br /&gt;
&lt;br /&gt;
===User Interface Devices===&lt;br /&gt;
*[[User Reference:Logging Input|Joystick]]&lt;br /&gt;
*[[User Reference:Logging Input|Mouse]]&lt;br /&gt;
*[[User Reference:Logging Input|Keyboard]]&lt;br /&gt;
*[[Contributions:DataGloveLogger|7/14-Sensor Data Glove (Fifth Dimension Technologies, Inc.)]]&lt;br /&gt;
*Tobii Eye Trackers&lt;br /&gt;
*Nintendo Wii controller&lt;br /&gt;
*[[Contributions:NIDAQLogger|National Instruments MX boards to acquire analog/digital input in addition to the main data acquisition device]]&lt;br /&gt;
*[[Contributions:MicRecorderFilter|Audio input]]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[User Reference:Filters]], [[Programming Reference:Build System]], [[Contributions:Contents]]&lt;/div&gt;</summary>
		<author><name>Madamek</name></author>
	</entry>
	<entry>
		<id>https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicorn&amp;diff=8098</id>
		<title>User Reference:gUnicorn</title>
		<link rel="alternate" type="text/html" href="https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicorn&amp;diff=8098"/>
		<updated>2018-12-21T16:47:25Z</updated>

		<summary type="html">&lt;p&gt;Madamek: Madamek moved page User Reference:gUnicorn to User Reference:gUnicornADC: consistency&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[User Reference:gUnicornADC]]&lt;/div&gt;</summary>
		<author><name>Madamek</name></author>
	</entry>
	<entry>
		<id>https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8097</id>
		<title>User Reference:gUnicornADC</title>
		<link rel="alternate" type="text/html" href="https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8097"/>
		<updated>2018-12-21T16:47:25Z</updated>

		<summary type="html">&lt;p&gt;Madamek: Madamek moved page User Reference:gUnicorn to User Reference:gUnicornADC: consistency&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Function==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===g.Unicorn Hardware===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Drivers====&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SampleBlockSize===&lt;br /&gt;
Samples per channel per digitized block. &lt;br /&gt;
Together with the sampling rate, this parameter determines how often per second data are collected, processed, and feedback is updated. For example, at 600 Hz sampling and a SampleBlockSize of 20, the system (e.g., source signal display, signal processing, and stimulus presentation) would be updated 30 times per second.&lt;br /&gt;
&lt;br /&gt;
===SamplingRate===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SourceCh===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SourceChList===&lt;br /&gt;
The list of channels that should be acquired from each device.&lt;br /&gt;
The total number of channels listed should correspond to &#039;&#039;SourceCh&#039;&#039;. For more than one device, &#039;&#039;SourceChDevices&#039;&#039; determines how the &#039;&#039;SourceChList&#039;&#039; values are mapped to each device. For example if &#039;&#039;SourceChDevices&#039;&#039; = &#039;8 8&#039; and &#039;&#039;SourceChList&#039;&#039; = &#039;1 2 3 4 13 14 15 16 5 6 7 8 9 10 11 12&#039;, then channels 1-4 and 13-16 will be acquired on the first device, and channels 5-12 will be acquired on the second device. These channels will be saved in the data file as 16 contiguous channels.&lt;br /&gt;
The order of channels does not matter; i.e., &#039;1 2 3 4&#039; is the same as &#039;2 3 1 4&#039;. The channels are always in ascending order on a single device.&lt;br /&gt;
Channels may not be listed twice on a single device; e.g., entering &#039;1 2 3 4 5 6 7 1&#039; if &#039;&#039;SourceChDevices&#039;&#039; = &#039;8&#039; will result in an error.&lt;br /&gt;
If this parameter is left blank (the default), then all channels are acquired on all devices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==States==&lt;br /&gt;
&lt;br /&gt;
==Additional Information==&lt;br /&gt;
&lt;br /&gt;
===Using 32bit Executables on 64bit Installations===&lt;br /&gt;
BCI2000 supports compilation of the gUSBamp source module for 64bit targets. The resulting executable will run on 64bit systems, and work with the 64bit version of the gUSBamp drivers. However, the binary distribution of BCI2000 contains 32bit executables. These run fine under 64bit systems, but you will need to perform these additional driver installation steps to install 32bit gUSBamp API DLLs on 64bit systems:&lt;br /&gt;
*Execute gtec&#039;s 32bit driver installer on your 64bit system.&lt;br /&gt;
*After successful installation, execute gtec&#039;s 64bit driver installer on your 64bit system.&lt;br /&gt;
*You will now have both the 32bit API DLL and the 64bit API DLL installed, such that both 32bit and 64bit executables will be able to connect to a gUSBamp attached to the system&#039;s USB ports.&lt;br /&gt;
&lt;br /&gt;
===Data Storage===&lt;br /&gt;
Unlike other systems, the USBamp is a DC amplifier system that digitizes at 24 bit. &lt;br /&gt;
Bandpass and notch filtering is performed on the digitized samples, resulting in floating point signal samples in units of &amp;lt;math&amp;gt;\mu V&amp;lt;/math&amp;gt;.&lt;br /&gt;
BCI2000 currently supports signed 16 bit integers and floating point numbers for its data storage.&lt;br /&gt;
If &#039;&#039;SignalType&#039;&#039; is set to int16, the floating point values have to be converted back into integers before they can be stored and transmitted to Signal Processing.&lt;br /&gt;
This is done by the following transformation: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathrm{sample}_\mathrm{stored}\mathrm{(A/D\,units)}=\frac{\mathrm{sample}_\mathrm{acquired}(\mu V)}\mathrm{SourceChGain}&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
(&#039;&#039;SourceChOffset&#039;&#039; is assumed (and required) to be zero for all channels.) &lt;br /&gt;
BCI2000 Signal Processing or any offline analysis routine can derive, as with &lt;br /&gt;
any other BCI2000 source module, sample values in &amp;lt;math&amp;gt;\mu V&amp;lt;/math&amp;gt; by subtracting, from &lt;br /&gt;
each stored sample, &#039;&#039;SourceChOffset&#039;&#039; (i.e., zero), and multiplying it with &lt;br /&gt;
&#039;&#039;SourceChGain&#039;&#039; for each channel. If &#039;&#039;SignalType&#039;&#039; is set to float32,&lt;br /&gt;
data samples are stored in units of &amp;lt;math&amp;gt;\mu V&amp;lt;/math&amp;gt;. In this case, &#039;&#039;SourceChGain&#039;&#039; should be&lt;br /&gt;
a list of 1&#039;s (because the conversion factor between data samples into &amp;lt;math&amp;gt;\mu V&amp;lt;/math&amp;gt; is&lt;br /&gt;
1.0 for each channel).&lt;br /&gt;
&lt;br /&gt;
Still, when values other than 0 and 1 are specified, a consistent data file will be produced, i.e. values will be transformed before they are written to the file, such that applying SourceChOffset and SourceChGain will reproduce the original values in &amp;lt;math&amp;gt;\mu V&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[User Reference:DataIOFilter]], [[Programming Reference:GenericADC Class]]&lt;br /&gt;
[[Category:Filters]][[Category:Data Acquisition]]&lt;/div&gt;</summary>
		<author><name>Madamek</name></author>
	</entry>
	<entry>
		<id>https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8096</id>
		<title>User Reference:gUnicornADC</title>
		<link rel="alternate" type="text/html" href="https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8096"/>
		<updated>2018-12-21T16:45:24Z</updated>

		<summary type="html">&lt;p&gt;Madamek: /* g.USBamp Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Function==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===g.Unicorn Hardware===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Drivers====&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SampleBlockSize===&lt;br /&gt;
Samples per channel per digitized block. &lt;br /&gt;
Together with the sampling rate, this parameter determines how often per second data are collected, processed, and feedback is updated. For example, at 600 Hz sampling and a SampleBlockSize of 20, the system (e.g., source signal display, signal processing, and stimulus presentation) would be updated 30 times per second.&lt;br /&gt;
&lt;br /&gt;
===SamplingRate===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SourceCh===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SourceChList===&lt;br /&gt;
The list of channels that should be acquired from each device.&lt;br /&gt;
The total number of channels listed should correspond to &#039;&#039;SourceCh&#039;&#039;. For more than one device, &#039;&#039;SourceChDevices&#039;&#039; determines how the &#039;&#039;SourceChList&#039;&#039; values are mapped to each device. For example if &#039;&#039;SourceChDevices&#039;&#039; = &#039;8 8&#039; and &#039;&#039;SourceChList&#039;&#039; = &#039;1 2 3 4 13 14 15 16 5 6 7 8 9 10 11 12&#039;, then channels 1-4 and 13-16 will be acquired on the first device, and channels 5-12 will be acquired on the second device. These channels will be saved in the data file as 16 contiguous channels.&lt;br /&gt;
The order of channels does not matter; i.e., &#039;1 2 3 4&#039; is the same as &#039;2 3 1 4&#039;. The channels are always in ascending order on a single device.&lt;br /&gt;
Channels may not be listed twice on a single device; e.g., entering &#039;1 2 3 4 5 6 7 1&#039; if &#039;&#039;SourceChDevices&#039;&#039; = &#039;8&#039; will result in an error.&lt;br /&gt;
If this parameter is left blank (the default), then all channels are acquired on all devices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==States==&lt;br /&gt;
&lt;br /&gt;
==Additional Information==&lt;br /&gt;
&lt;br /&gt;
===Using 32bit Executables on 64bit Installations===&lt;br /&gt;
BCI2000 supports compilation of the gUSBamp source module for 64bit targets. The resulting executable will run on 64bit systems, and work with the 64bit version of the gUSBamp drivers. However, the binary distribution of BCI2000 contains 32bit executables. These run fine under 64bit systems, but you will need to perform these additional driver installation steps to install 32bit gUSBamp API DLLs on 64bit systems:&lt;br /&gt;
*Execute gtec&#039;s 32bit driver installer on your 64bit system.&lt;br /&gt;
*After successful installation, execute gtec&#039;s 64bit driver installer on your 64bit system.&lt;br /&gt;
*You will now have both the 32bit API DLL and the 64bit API DLL installed, such that both 32bit and 64bit executables will be able to connect to a gUSBamp attached to the system&#039;s USB ports.&lt;br /&gt;
&lt;br /&gt;
===Data Storage===&lt;br /&gt;
Unlike other systems, the USBamp is a DC amplifier system that digitizes at 24 bit. &lt;br /&gt;
Bandpass and notch filtering is performed on the digitized samples, resulting in floating point signal samples in units of &amp;lt;math&amp;gt;\mu V&amp;lt;/math&amp;gt;.&lt;br /&gt;
BCI2000 currently supports signed 16 bit integers and floating point numbers for its data storage.&lt;br /&gt;
If &#039;&#039;SignalType&#039;&#039; is set to int16, the floating point values have to be converted back into integers before they can be stored and transmitted to Signal Processing.&lt;br /&gt;
This is done by the following transformation: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathrm{sample}_\mathrm{stored}\mathrm{(A/D\,units)}=\frac{\mathrm{sample}_\mathrm{acquired}(\mu V)}\mathrm{SourceChGain}&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
(&#039;&#039;SourceChOffset&#039;&#039; is assumed (and required) to be zero for all channels.) &lt;br /&gt;
BCI2000 Signal Processing or any offline analysis routine can derive, as with &lt;br /&gt;
any other BCI2000 source module, sample values in &amp;lt;math&amp;gt;\mu V&amp;lt;/math&amp;gt; by subtracting, from &lt;br /&gt;
each stored sample, &#039;&#039;SourceChOffset&#039;&#039; (i.e., zero), and multiplying it with &lt;br /&gt;
&#039;&#039;SourceChGain&#039;&#039; for each channel. If &#039;&#039;SignalType&#039;&#039; is set to float32,&lt;br /&gt;
data samples are stored in units of &amp;lt;math&amp;gt;\mu V&amp;lt;/math&amp;gt;. In this case, &#039;&#039;SourceChGain&#039;&#039; should be&lt;br /&gt;
a list of 1&#039;s (because the conversion factor between data samples into &amp;lt;math&amp;gt;\mu V&amp;lt;/math&amp;gt; is&lt;br /&gt;
1.0 for each channel).&lt;br /&gt;
&lt;br /&gt;
Still, when values other than 0 and 1 are specified, a consistent data file will be produced, i.e. values will be transformed before they are written to the file, such that applying SourceChOffset and SourceChGain will reproduce the original values in &amp;lt;math&amp;gt;\mu V&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[User Reference:DataIOFilter]], [[Programming Reference:GenericADC Class]]&lt;br /&gt;
[[Category:Filters]][[Category:Data Acquisition]]&lt;/div&gt;</summary>
		<author><name>Madamek</name></author>
	</entry>
	<entry>
		<id>https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8095</id>
		<title>User Reference:gUnicornADC</title>
		<link rel="alternate" type="text/html" href="https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8095"/>
		<updated>2018-12-21T16:45:12Z</updated>

		<summary type="html">&lt;p&gt;Madamek: structure set&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Function==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===g.USBamp Hardware===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Drivers====&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SampleBlockSize===&lt;br /&gt;
Samples per channel per digitized block. &lt;br /&gt;
Together with the sampling rate, this parameter determines how often per second data are collected, processed, and feedback is updated. For example, at 600 Hz sampling and a SampleBlockSize of 20, the system (e.g., source signal display, signal processing, and stimulus presentation) would be updated 30 times per second.&lt;br /&gt;
&lt;br /&gt;
===SamplingRate===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SourceCh===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SourceChList===&lt;br /&gt;
The list of channels that should be acquired from each device.&lt;br /&gt;
The total number of channels listed should correspond to &#039;&#039;SourceCh&#039;&#039;. For more than one device, &#039;&#039;SourceChDevices&#039;&#039; determines how the &#039;&#039;SourceChList&#039;&#039; values are mapped to each device. For example if &#039;&#039;SourceChDevices&#039;&#039; = &#039;8 8&#039; and &#039;&#039;SourceChList&#039;&#039; = &#039;1 2 3 4 13 14 15 16 5 6 7 8 9 10 11 12&#039;, then channels 1-4 and 13-16 will be acquired on the first device, and channels 5-12 will be acquired on the second device. These channels will be saved in the data file as 16 contiguous channels.&lt;br /&gt;
The order of channels does not matter; i.e., &#039;1 2 3 4&#039; is the same as &#039;2 3 1 4&#039;. The channels are always in ascending order on a single device.&lt;br /&gt;
Channels may not be listed twice on a single device; e.g., entering &#039;1 2 3 4 5 6 7 1&#039; if &#039;&#039;SourceChDevices&#039;&#039; = &#039;8&#039; will result in an error.&lt;br /&gt;
If this parameter is left blank (the default), then all channels are acquired on all devices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==States==&lt;br /&gt;
&lt;br /&gt;
==Additional Information==&lt;br /&gt;
&lt;br /&gt;
===Using 32bit Executables on 64bit Installations===&lt;br /&gt;
BCI2000 supports compilation of the gUSBamp source module for 64bit targets. The resulting executable will run on 64bit systems, and work with the 64bit version of the gUSBamp drivers. However, the binary distribution of BCI2000 contains 32bit executables. These run fine under 64bit systems, but you will need to perform these additional driver installation steps to install 32bit gUSBamp API DLLs on 64bit systems:&lt;br /&gt;
*Execute gtec&#039;s 32bit driver installer on your 64bit system.&lt;br /&gt;
*After successful installation, execute gtec&#039;s 64bit driver installer on your 64bit system.&lt;br /&gt;
*You will now have both the 32bit API DLL and the 64bit API DLL installed, such that both 32bit and 64bit executables will be able to connect to a gUSBamp attached to the system&#039;s USB ports.&lt;br /&gt;
&lt;br /&gt;
===Data Storage===&lt;br /&gt;
Unlike other systems, the USBamp is a DC amplifier system that digitizes at 24 bit. &lt;br /&gt;
Bandpass and notch filtering is performed on the digitized samples, resulting in floating point signal samples in units of &amp;lt;math&amp;gt;\mu V&amp;lt;/math&amp;gt;.&lt;br /&gt;
BCI2000 currently supports signed 16 bit integers and floating point numbers for its data storage.&lt;br /&gt;
If &#039;&#039;SignalType&#039;&#039; is set to int16, the floating point values have to be converted back into integers before they can be stored and transmitted to Signal Processing.&lt;br /&gt;
This is done by the following transformation: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\mathrm{sample}_\mathrm{stored}\mathrm{(A/D\,units)}=\frac{\mathrm{sample}_\mathrm{acquired}(\mu V)}\mathrm{SourceChGain}&amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
(&#039;&#039;SourceChOffset&#039;&#039; is assumed (and required) to be zero for all channels.) &lt;br /&gt;
BCI2000 Signal Processing or any offline analysis routine can derive, as with &lt;br /&gt;
any other BCI2000 source module, sample values in &amp;lt;math&amp;gt;\mu V&amp;lt;/math&amp;gt; by subtracting, from &lt;br /&gt;
each stored sample, &#039;&#039;SourceChOffset&#039;&#039; (i.e., zero), and multiplying it with &lt;br /&gt;
&#039;&#039;SourceChGain&#039;&#039; for each channel. If &#039;&#039;SignalType&#039;&#039; is set to float32,&lt;br /&gt;
data samples are stored in units of &amp;lt;math&amp;gt;\mu V&amp;lt;/math&amp;gt;. In this case, &#039;&#039;SourceChGain&#039;&#039; should be&lt;br /&gt;
a list of 1&#039;s (because the conversion factor between data samples into &amp;lt;math&amp;gt;\mu V&amp;lt;/math&amp;gt; is&lt;br /&gt;
1.0 for each channel).&lt;br /&gt;
&lt;br /&gt;
Still, when values other than 0 and 1 are specified, a consistent data file will be produced, i.e. values will be transformed before they are written to the file, such that applying SourceChOffset and SourceChGain will reproduce the original values in &amp;lt;math&amp;gt;\mu V&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[User Reference:DataIOFilter]], [[Programming Reference:GenericADC Class]]&lt;br /&gt;
[[Category:Filters]][[Category:Data Acquisition]]&lt;/div&gt;</summary>
		<author><name>Madamek</name></author>
	</entry>
	<entry>
		<id>https://www.bci2000.org/mediawiki/index.php?title=System_Features&amp;diff=8094</id>
		<title>System Features</title>
		<link rel="alternate" type="text/html" href="https://www.bci2000.org/mediawiki/index.php?title=System_Features&amp;diff=8094"/>
		<updated>2018-12-21T16:41:39Z</updated>

		<summary type="html">&lt;p&gt;Madamek: /* Hardware Support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BCI2000 supports a variety of [[#Data_Acquisition_Systems|data acquisition systems]], [[#Brain_Signals|brain signals]], and [[#Paradigms|study/feedback paradigms]]. During operation, BCI2000 stores data in a common format (BCI2000 native or GDF), along with all relevant event markers and information about system configuration. BCI2000 also includes several tools for data import/conversion (e.g., a routine to load BCI2000 data files directly into Matlab) and export facilities into ASCII.&lt;br /&gt;
&lt;br /&gt;
BCI2000 also facilitates interactions with other software.  For example, Matlab scripts can be executed in real-time from within BCI2000, or BCI2000 filters can be compiled to execute as stand-alone programs.  Furthermore, a simple network-based interface allows for interactions with external programs written in any programming language.  For example, a robotic arm application that is external to BCI2000 may be controlled in real time based on brain signals processed by BCI2000, or BCI2000 may use and store along with brain signals behavioral-based inputs such as eye-tracker coordinates.&lt;br /&gt;
BCI2000 requires any of the supported data acquisition systems listed above.  We provide BCI2000 with full source code and all executables, which run on most current PCs running Microsoft Windows.  &lt;br /&gt;
&lt;br /&gt;
We provide the complete source code to the BCI2000 system.  It may be compiled using VisualStudio, and MinGW on Windows. For the status on other operating systems, and more details, see [[Programming Reference:Build System]].&lt;br /&gt;
&lt;br /&gt;
==Data Acquisition Systems==&lt;br /&gt;
===Hardware Support===&lt;br /&gt;
*[[User_Reference:gUSBampADC|g.USBamp]]&lt;br /&gt;
*[[User_Reference:gMOBIlabADC|g.MOBIlab]] &lt;br /&gt;
*[[User_Reference:gMOBIlabPlusADC|g.MOBIlab+ Bluetooth (g.tec)]]&lt;br /&gt;
*[[User_Reference:gUnicorn|g.Unicorn]]&lt;br /&gt;
&lt;br /&gt;
===Support Through User Contributions===&lt;br /&gt;
====A/D Converter Boards====&lt;br /&gt;
*[[Contributions:DTADC|Data Translations, Inc.]]&lt;br /&gt;
*[[Contributions:NIADC|National Instruments, Inc.]], also [[Contributions:NIDAQ-MX|MX boards]]&lt;br /&gt;
*[[Contributions:DAS_ADC|Measurement Computing, Inc.]]&lt;br /&gt;
*[[Contributions:ModularEEG|Modular-EEG Systems]]&lt;br /&gt;
====Amplifiers/Digitizers====&lt;br /&gt;
*[[Contributions:TDTADC|Tucker-Davis Pentusa]]&lt;br /&gt;
*[[Contributions:Biosemi2ADC|Biosemi]]&lt;br /&gt;
*[[Contributions:BioRadioADC|BioRadio 150 (Cleveland Medical Devices, Inc.)]]&lt;br /&gt;
*[[Contributions:TMSiADC|Refa System (TMSi, Inc.)]]&lt;br /&gt;
*[[Contributions:EnobioADC|Enobio]]&lt;br /&gt;
*Ripple Grapevine&lt;br /&gt;
*[[Contributions:NeuroSky|NeuroSky]]&lt;br /&gt;
*[[Contributions:Emotiv|Emotiv EPOC]]&lt;br /&gt;
&lt;br /&gt;
====EEG Systems====&lt;br /&gt;
*[[Contributions:NeuroscanADC|Neuroscan, Inc.]]&lt;br /&gt;
*[[Contributions:RDAClientADC|BrainAmp]], [[Contributions:vAmpADC|V-Amp, QuickAmp]] (Brain Products)&lt;br /&gt;
*[[Contributions:MicromedADC|Micromed EEG Systems]]&lt;br /&gt;
*[[Contributions:AmpServerProADC|Electrical Geodesics Amp Server]]&lt;br /&gt;
*[[Contributions:NicoletOne|Viasys]]&lt;br /&gt;
&lt;br /&gt;
====MEG Systems====&lt;br /&gt;
*[[Contributions:ctfneurod|Whole-head systems from CTF, Inc.]]&lt;br /&gt;
&lt;br /&gt;
===Miscellaneous===&lt;br /&gt;
*[[User_Reference:SignalGeneratorADC|Virtual Device (i.e., Function Generator) for testing purposes]]&lt;br /&gt;
&lt;br /&gt;
==Brain Signals==&lt;br /&gt;
*[[Contributions:SWSignalProcessing|Slow Cortical Potentials (SCPs)]]&lt;br /&gt;
*[[User_Reference:P3TemporalFilter|Evoked Potentials]]&lt;br /&gt;
*EEG mu/beta Rhythms (ERD/ERS) (2 methods: [[User_Reference:ARFilter|AR]], [[User_Reference:FFTFilter|FFT]])&lt;br /&gt;
*ECoG Oscillations&lt;br /&gt;
*Single-Neuron Action Potentials&lt;br /&gt;
&lt;br /&gt;
==Paradigms==&lt;br /&gt;
===Feedback Applications===&lt;br /&gt;
*[[User_Reference:CursorTask|3D Cursor Movement Task]]&lt;br /&gt;
*[[User_Reference:StimulusPresentationTask|Auditory + Visual Stimulus Presentation incl. Real-Time Feedback]]&lt;br /&gt;
*[[User_Reference:P3SpellerTask|P300 Matrix Speller]]&lt;br /&gt;
&lt;br /&gt;
===User Contributions===&lt;br /&gt;
*[[Contributions:Speller|4-Choice Speller]]&lt;br /&gt;
*2D Robotic Arm Control (RCS-6, Robix, Inc.)&lt;br /&gt;
*[[Contributions:SlowWaveApp|Slow-Cortical Potential Spelling Paradigm]]&lt;br /&gt;
*[[Contributions:MFCdemo|Visual-C++ (MFC) Demo Application]]&lt;br /&gt;
&lt;br /&gt;
===User Interface Devices===&lt;br /&gt;
*[[User Reference:Logging Input|Joystick]]&lt;br /&gt;
*[[User Reference:Logging Input|Mouse]]&lt;br /&gt;
*[[User Reference:Logging Input|Keyboard]]&lt;br /&gt;
*[[Contributions:DataGloveLogger|7/14-Sensor Data Glove (Fifth Dimension Technologies, Inc.)]]&lt;br /&gt;
*Tobii Eye Trackers&lt;br /&gt;
*Nintendo Wii controller&lt;br /&gt;
*[[Contributions:NIDAQLogger|National Instruments MX boards to acquire analog/digital input in addition to the main data acquisition device]]&lt;br /&gt;
*[[Contributions:MicRecorderFilter|Audio input]]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[User Reference:Filters]], [[Programming Reference:Build System]], [[Contributions:Contents]]&lt;/div&gt;</summary>
		<author><name>Madamek</name></author>
	</entry>
	<entry>
		<id>https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8093</id>
		<title>User Reference:gUnicornADC</title>
		<link rel="alternate" type="text/html" href="https://www.bci2000.org/mediawiki/index.php?title=User_Reference:gUnicornADC&amp;diff=8093"/>
		<updated>2018-12-21T16:39:37Z</updated>

		<summary type="html">&lt;p&gt;Madamek: Created blank page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Madamek</name></author>
	</entry>
</feed>