Difference between revisions of "Interacting with NIC"

From Neuroelectric's Wiki
Jump to: navigation, search
(Sending Markers to NIC from other software or hardware)
(Sending Markers to NIC from other software or hardware)
Line 26: Line 26:
 
  26751 -27912 35611 42003 532345 64344 12967 40731 0 1382432459800
 
  26751 -27912 35611 42003 532345 64344 12967 40731 0 1382432459800
 
  ...
 
  ...
 +
 +
[[File:Markers audio signal.png|200px|thumb|left| Plot of markers received by NIC and an audio signal recorded by Enobio]]
 +
Please take as an example [[Media:Matlab Markers Example.zip | ''this'']] Matlab code which connects to NIC to send markers every time a tone is played back through the sound card. If you connected the output of the computer sound card to one of the Enobio electrodes you would be able to see the alignment between the markers and the played tones.
  
 
<!-- talk about LSL client: string and integer markers -->
 
<!-- talk about LSL client: string and integer markers -->

Revision as of 16:41, 25 October 2013

In this page we describe how you can interact with NIC (Neuroelectrics Instrument Controller, the software for control with NE devices) using other software.

About Synchronization: general principles

Sending Markers to NIC from other software or hardware

NIC provides a server that other software can connect to in order to receive markers. Those received markers are synchronized with the EEG streaming for further analysis.

This NIC server is running in the TCP/IP port 1234. Up to five clients can simultaneously send markers to NIC by making a TCP/IP connection to this port.

Once a client is connected it needs to send the following string in order to send a marker:

<TRIGGER>XXXX</TRIGGER>

Where XXXX can represent any integer number different from zero (from -2147483647 to +2147483647). This marker will be co-registered in the output files generated by NIC to the corresponding EEG sample. For instance, in the output tabulated text file, there is a column just after the timestamp that is filled with zeros. When a marker is received its corresponding number is set to that column. See the following example:

...
26748	-27675	35631	42398	532666	64345	12376	40988	0	1382432459788
26865	-26683	35685	42450	532711	64821	12376	41046	0	1382432459790
26810	-26821	35531	41997	532821	64945	13164	41099	0	1382432459792
26749	-26995	35325	42008	532712	64377	13478	41286	0	1382432459794
26796	-27245	35932	42391	532923	64245	13620	41117	300	1382432459796  <-- Reception of the marker #300
26622	-27510	35501	42630	532876	64193	13031	40986	0	1382432459798
26751	-27912	35611	42003	532345	64344	12967	40731	0	1382432459800
...
Plot of markers received by NIC and an audio signal recorded by Enobio

Please take as an example this Matlab code which connects to NIC to send markers every time a tone is played back through the sound card. If you connected the output of the computer sound card to one of the Enobio electrodes you would be able to see the alignment between the markers and the played tones.


Receiving data streams from NIC using TCP/IP

Controlling NIC with Matlab: the MatNIC toolkit