The Topo Player is a Matlab application that allows users to input multiple time points of topographical data, and create a movie of electrical activity represented on a standard topographical map.
Montage frames are currently not supported with Matlab versions before 2018.
- Preprocessed EEG data in standard form (columns=timepoints,rows=voltage channels)
- Chanlocs file (this is the standard chanlocs file used when using EEG Lab's topoplot function. See EEG Lab Documentation for more details.
-
Clone/download files
git clone https://github.com/aymather/Topo_player.git
-
Add files to Matlab Path (don't forget to add with subfolders)
-
At the command line type
TopoStudio
which will bring up the following GUI: -
The top section named "Compiler" is where you will select files to compile your movie. Data is your preprocessed EEG data matrix (columns = timepoints, rows = channel voltage). Chanlocs File is your standard chanlocs file. And at the end you can type in a file name and hit ENTER to name your file. Note: do not give your file name an extension, the program will do this for you!
-
Once you have compiled your movie, you may now play it. At the bottom you can see the "Stage." This is where you will prepare your movie. Since all we have at this point is a compiled movie, let's just load that in and play it. Click on "Select Movie File" and find the .mat file you just created. When you hit enter you should see that that file is chosen under the button you just pressed. Now hit "Play Movie."
-
Now that you've seen your movie in action, you can now pick out individual frames to present along side your movie. Just above the stage there are two sections called "Stage Individual Frames" and "Stage Custom Frames."
- Go to "Stage Individual Frames" and type in a time (in milliseconds) that you would like to see displayed along side your movie. Important: This application assumes a sample rate of 500 Hz which means that for each column of data, two milliseconds have passed. Therefore, giving an odd number as an input will give you an error. Also, the very first column of your data (frame 1) is considered timepoint 0
- Then give your frame a title.
- Once you have those two fields filled out, click "Add to Stage". You should see now at the Staging area that the title of your frame has been added! The Staging area will keep track of all the settings currently staged. Now you can add a couple more individual frames, or you can click "Play Movie."
- If you want to stage a Custom frame, you must first create it. Go just above to the sections titled "Create Custom Montage" and "Create Custom Average."
- A custom montage will loqok like an array of topoplots all placed into a single frame.
- Select your movie file that you created from step 4.
- Give your range of time points from start to finish.
- Finally, name the new custom frame (don't give it an extension).
- Important: Montage frames are currently not supported in Matlab versions earlier than 2018
- A custom averaged frame takes averages from your EEG data, so you need those raw files.
- Select your preprocessed EEG data.
- Select your chanlocs file.
- Give a time range to average together.
- Name your file, without an extension.
-
Now that you've created your custom frames, go back to "Stage Custom Frame" and it is the same process as staging an individual frame, except you must select the file that you just created in step 7.
-
In your Staging area, there is also a field called Wait Time. This is the amount of time that the program will "Wait" in between frames, slowing your movie down (i.e., the bigger this number, the slower your movie will run). Default speed is 0 which is as fast as possible. Type in a number and hit ENTER to commit it to the stage.
-
If you don't like what's on your stage, no worries! There's a "Reset Stage" button right next to the "Play Movie" button. It will clear your entire stage.
- Speed issue: Currently the movie cannot play very fast. Looking for a more effecient way to display frames in topo_player()
- Support for Create Montage Frame: Find a way to support montage frames for Matlab versions earlier than 2018.
Program written by: Alec Mather