Jump to content

Contributions:NeuroOmegaADC

From BCI2000 Wiki
Revision as of 15:01, 28 June 2021 by Abelsten (talk | contribs)

Versioning

Author

Alexander Belsten (belsten@neurotechcenter.org)

Version History

  • 2021/06/17: Initial working release R6310.

Source Code Revisions

  • Initial development: 6274
  • Known to compile under: 6319
  • Broken since: --

Functional Description

This source module allows you to collect electrophysiological data from the Alpha Omega Neuro Omega clinical recording system. The Neuro Omega can record from a variety of modalities, such as ECoG, sEEG, micro and macro contacts. It is often used for the placement of deep brain stimulating electrodes, facilitated by its ability to sonify local field potentials and drive the DBS lead to precise depths.

Integration into BCI2000

Compile the source module by enabling BUILD_PRIVATE in your CMake configuration and generating the BCI2000 solution. Access to the private directory in the SVN is necessary. Then compile the source module, and make NeuroOmegaADC the source module in your batch file.

Connection to BCI2000 PC

You will need both the Neuro Omega clinical system, and a PC with BCI2000 installed and the NeuroOmegaADC source module compiled. The BCI2000 PC connects to the Neuro Omega via a CAT6 ethernet cable. On the back of the Neuro Omega, you will find three ethernet ports. Connect the CAT6 cable into one that is not currently occupied, and connect the other end to the BCI2000 PC. It is a good idea to use a ethernet isolator to prevent transfer of significant current between the two systems.

Now that the two systems are connected physically, the BCI2000 PC's IPv4 address can be configured such that it is on the same subnet as the Neuro Omega. This can be done by checking the IPv4 address and subnet mask on the Neuro Omega system ethernet adapter, and setting the BCI2000 PC's ethernet adapter to the same subnet mask and setting an appropriate IPv4 address.


Parameters

NeuroOmegaMAC

This parameter should be the MAC address of the Neuro Omega system.

HostMAC

This parameter should be the MAC address of the BCI2000 recording computer.

RecordingChIDs

This parameter should be a list of channel IDs corresponding the channels you want to record from. Each of these channels must have the same sampling rate.

SourceCh

This parameter should be "auto", as it is determined by the size of the "RecordingCHIDs" parameter.

SampleBlockSize

Number of samples that are transmitted at a time.

SamplingRate

Some channels on the Neuro Omega are recorded at different sampling rates so this parameter is dictated by the configuration of the clinical system and must be manually entered accordingly. Information on how to check the sampling rate of a given channel is coming soon.

SourceChGain

SourceChOffset

ChannelNames

This should be set to auto, as the names of the channels will be automatically acquired from the Neuro Omega.

EnablePortInputs

Currently does not work!

Enabling this parameter will record from both 16-bit D-Sub digital input connectors to the Port1 and Port2 states.

DetectionType

This dictates what triggers a high value from the 16-bit digital inputs. If set to mean, bit values from the Ports will be accumulated over the duration of a sample block and the state will be equal to the mean of these accumulated values. If set to RisingEdge, the state's bit values for a block will be high if the corresponding bit was high during that block.

ChannelInfo

This is a read only parameter that will be populated with channel information from the Neuro Omega (namely the mapping between channel IDs (integers) and channel names).

States

NeuroOmegaTimeStamp

Port1

This is a 16-bit state recorded from the 16-bit D-Sub digital input 1 connector on the Neuro Omega.

Port2

This is a 16-bit state recorded from the 16-bit D-Sub digital input 2 connector on the Neuro Omega.

See also

User Reference:Filters, Contributions:ADCs