Micromed is company based in Italy that develops systems for clinical neurophysiology. One of the systems that is used commonly in combination with real-time analysis and BCI is their ECoG amplifier, with which neuronal activity can be recorded directly from the brain surface using up to 128 channels. The Micromed ECoG system has the feature of sending the data over the network to be analyzed in external software. The Micromed acquisition software can connect to a remote TCP server. Once the connection is made, the data is streamed from the acquisition software TCP client towards the TCP server.
The rt_micromedproxy function implements the interface between the Micromed acquisition software and the FieldTrip buffer. Using the tcp_udp_ip toolbox, it implements the TCP server to which the Micromed acquisition software can connect. Once the connection is made, rt_micromedproxy starts reading the header information (number of channels and sampling frequency) and subsequently the data. The data that is streaming from the Micromed acquisition software is written to the FieldTrip buffer. Interfacing Matlab and/or FieldTrip to the realtime Micromed ECoG data stream therefore is as simple as starting the rt_micromedproxy in one Matlab instance, configure the Micromed acquisition software to send the data to that computer, and in another Matlab session use the functions:
read_header(filename) read_data(filename, ...) read_event(filename, ...)
where you specify
'buffer://hostname:port'
as the filename to the reading functions.
The rt_micromedproxy function is included in the FieldTrip release as pre-compiled *.p file. That means that you cannot see or modify the source code. The rt_micromedproxy function is not released under an open source license, because the Micromed system is licensed according to certain ISO regulations. Since the external link interferes with their system, Micromed does not allow the external TCP link to be documented. However, the company has indicated that upon request from registered Micromed users the source code of the rt_micromedproxy can be released to that user.
If you want to have the source code of the rt_micromedproxy, please contact Cristiano Rizzo at Micromed (for the permission) and Robert Oostenveld at the Donders Centre (for the copy of the latest code).
The Micromed system is also supported by BCI2000, which means that you can use the interface between BCI2000 and FieldTrip as an alternative to the rt_micromedproxy function. That interface is documented here and here.