This is a an OpenElectrophy, one hour, User Interface (UI) tutorial.
This page aims to present a step by step example of how to use the OpenElectrophy graphical user interface. Briefly, it shows an example of how to insert new data into the database, how to visualize and explore these new data, and finally how to detect events of interest like spikes and oscillations. More detailed informations about all these steps can be found in the manual_page. Moreover, this page is an introduction to the UI only, if you want an introduction on how to write analysis script with OpenElectrophy Python classes, please refer to scripting_page.
Before starting you need to have Python and OpenElectrophy properly installed on your computer. See Installation section.
For a better understanding it is a good idea to also read the class_definitions section.
OpenElectrophy deals with MySQL server or an SQLite database file. It is easier to start with a SQLite file. So we use this in the demo but keep in mind that the MySQL server is more powerful.
If the database you have selected is empty, you should now face the standard OpenElectrophy window with no data.
To import data, in the Menu: Dataset -> Import data in this db :
The data are now stored in the database.
Sometimes in order to see them in OpenElectrophy you need to refresh the knowledge OpenElectrophy has of the database. For that click on the upper right “tool” button -> popup menu -> refresh view, or press F5.
A new line “Block: 1” appeared in the “Hierarchic explorer”. This explorer is a tree view of the database content. You can unfold the tree content by clicking on the arrows at the beginning of each line and get something like this:
You can observe that we have one block, in which are presents 5 segments, in which are presents 4 analogsignals, 2 epocharrays and 6 spiketrains.
But with a db, you can have many views on your data. Click on the tab ByRecordingChannelGroup and you get another view: one block, in which are present 4 recordingpoints and 6 units. Each recordingpoint has 5 analogsignals. The data are the same, only the way they are viewed is different.
If you right-click on any line, you get a contextual menu which is object-dependent. For example, if you right click on any block you have:
If you choose the “Edit” option, you have access to the parameters related to the block stored in the database and managed by OpenElectrophy. You can simply modify any of these fields but you need to click on the “Save” button to get the new parameter values stored in the database.
Now let’s plot the data:
The bottom toolbar allow to either:
In order to speed the plot refresh time, each time the plot is moving, only a subsampled analogsignal is plotted. The full signal is plotted after one second with no action on the plot
Using the Control or Shift keys, you can select multiple analogsignals before right-clicking on one of them to get the contectual menu. Then choosing “View analogsignals” will plot all selected signals in the same window.
But at first all signals will overlap each other. To correct for this, left click in the plot area to get the plot paramater window.
Click on “Spread all identical gain” to add offsets to the signals and separate them.
Below “Automatic color”, click on “Progressive” to have different colors for each analogsignal.
In OpenElectrophy main window, the analogsignal contextual menu (right click) also propose to “View Time Frequency”. This plots at time-frequency map of all the selected analogsignals. Just select one signal and plot its time frequency map. As for standard plot, clicking in the plot area will open the time frequency parameter window. Adjust the clim (maximum oscillatory power represented by the colorscale) to 1.5 as below:
Then moving in the time frequency plot you should get something like that:
Note the time frequency map is computed on the fly, you do not need to pre-compute them, store them and plot them. But this could be a limitation for very slow computers or very large number of simultaneously plotted maps.
Finally, the contextual menu of Segment object allows to make some simultaneous plots of objects in the segment.