Muse file editing

csv

#1

Dear all,

Three of my Master students are currently using the 2014 headbands for their thesis.

They used markers during data acquisition.

Unfortunately, in so doing they introduced non-asciii characters « é » and « â » in the muse files.

This disrupts the conversion of the muse files into csv or mat formats.

I have been trying to edit the muse files to remove these characters. However when I open the files in muse player these markers don’t appear at all. They are however visible when I open them in notepad.

Is there anyway that we can correct these files ? (change the marker’s name so that they don’t bug the conversion process ; or at least remove them from the files altogether).

Data acquisition is well underway and one of the student will loose all her research data if we can’t come up with a solution.

Help would be greatly appreciated.

Best regards.


#2

Can you convert to the muse player flat text format ok, or does that fail as well?

muse-player.exe -q -v -f input.muse -O output.txt


#3

HI,

I get the same message error (UnicodeEncodeError) when trying to convert a muse file to a txt format (see below).

To clarify my previous post I initially opened the muse file directly in notepad without trying to format the file beforehand.

Output:

  • OSC-replay file: /Applications/fichiermuse/DA07_EEG_T1.txt
    Parsing file /Applications/fichiermuse/DA07_EEG_T1
    Muse File version #2
    Playback Time: 377.3s : Sending Data Exception in thread Thread-2:
    Traceback (most recent call last):
    File “/Users/Shared/Jenkins/Home/jobs/MusePlayer-MacOS-1.8.x/workspace/build/muse-player/out00-PYZ.pyz/threading”, line 810, in __bootstrap_inner
    File “/Users/Shared/Jenkins/Home/jobs/MusePlayer-MacOS-1.8.x/workspace/build/muse-player/out00-PYZ.pyz/threading”, line 763, in run
    File “/Users/Shared/Jenkins/Home/jobs/MusePlayer-MacOS-1.8.x/workspace/build/muse-player/out00-PYZ.pyz/output_handler”, line 73, in start
    File “/Users/Shared/Jenkins/Home/jobs/MusePlayer-MacOS-1.8.x/workspace/build/muse-player/out00-PYZ.pyz/output_handler”, line 35, in broadcast_message
    File “/Users/Shared/Jenkins/Home/jobs/MusePlayer-MacOS-1.8.x/workspace/build/muse-player/out00-PYZ.pyz/output_handler”, line 484, in receive_msg
    UnicodeEncodeError: ‘ascii’ codec can’t encode character u’\xe9’ in position 43: ordinal not in range(128)

#4

Can you upload one of the smaller recordings, so I can take a look.


#5

I created a small muse file with the markers used in our study.

We get the same error message as for our experimental files.

The file can be accessed using this link

Thanks for your help


#6

After a lot of messing about with python dependencies, I was finally able to compile Muse Player from the original Interaxon source files, find the bugs and patch them!

Here is my Muse Player v1.9.1

Changes:
* UTF-8 support for CSV [-C]
* UTF-8 support for OSC [-O]
* Increased accuracy for OSC output (removed 6dp limit)

Note that you must remove the Unicode characters before you convert to MatLab. I tried to fix it so that it would directly convert to MatLab, but unfortunately the MatLab conversion code is buried deep in a non-Interaxon library.

To convert to MatLab, you can now do the following:
muse-player.exe -q -v -f input.muse -O temp.txt
Manually remove all Unicode characters from temp.txt
muse-player.exe -q -v -o temp.txt -M output.matlab

I’ll be emailing my code changes to Interaxon so they can patch the official Muse Player too :slight_smile:


Non asciii characters « é » and « â »
2016 Headband Museplayer MATLAB issues
Muse Direct and Muse Player failure
#7

Thank you so much for your time and help :wink:
I relally appreciate.
Best


#9

I don’t have MatLab myself, so I’m not sure how to show you how to get to the data, but I installed a standalone MatLab file viewer HDFView and I can confirm that a test file I converted with Muse Player has the following data structures in it: IXDATA, config, device and elements… and all my data was there as expected.


#10

Hi, Enigma644, I have tried to transform muse file to a matlab file accroding to your muse-player v 1.9.4. I did not found the elements. But I did not firstly transform a temporary text file to remove the unicode characters. Because I have no idea how to determine the uniclde character. I directly transform the muse file to a matlab file by using your muse-player. Fninally i can not find the elements in matlab file. How can I deal with it? Thank you very much.


#11

Do you see the elements if you look at the file with HDFView? I don’t use MatLab myself, so I can’t comment on that.


#12

Dear romari, I have the same problem. Have you solved it? Thank you very much!


#14

the muse headband that you used was 2016 or 2014? I was using the 2016, but it seems that I can not select the preset. the preset 21 was by default.


#15

I want to purchase the Muse Monitor. But I am not sure whether i can get a transfored matlab file including the elements by using your app? in fact, i used the muse direct record a 40-s data, but there are only raw EEG data, acc data, and dlrf data regardless of CSV or matlab. Is that normal? Do you khow the reasons? Can you tell me the right method to transform a matlab file? I would greatly appreciate it, if you could help me.


#16

The command line guide is here.
So to go from .Muse to .Matlab, you’d need to do:

muse-Player -q -v -f recording.muse -M output.matlab

#17

Hi, Enigma644, I am planning to purchase your muse monitor. I used the muse headband 2016 record EEG, can i get all the data as presented in your muse monitor website in a CSV or Mtalab file? In additon, can you give me your test data in a CSV or matlab? That depends on whether I purchase the muse monitor. Thank you very much your help


#18

Muse Monitor will record in .Muse or .CSV format. You can convert to MatLab using Interaxon’s muse-player tool. If you want a sample CSV or Muse format recording, please email me at Support@MuseMonitor.com.

To give you a quick idea of the data you’ll get, these are the CSV column headers:
TimeStamp, Delta_TP9, Delta_AF7, Delta_AF8, Delta_TP10, Theta_TP9, Theta_AF7, Theta_AF8, Theta_TP10, Alpha_TP9, Alpha_AF7, Alpha_AF8, Alpha_TP10, Beta_TP9, Beta_AF7, Beta_AF8, Beta_TP10, Gamma_TP9, Gamma_AF7, Gamma_AF8, Gamma_TP10, RAW_TP9, RAW_AF7, RAW_AF8, RAW_TP10, AUX_RIGHT, Accelerometer_X, Accelerometer_Y, Accelerometer_Z, Gyro_X, Gyro_Y, Gyro_Z, HeadBandOn, HSI_TP9, HSI_AF7, HSI_AF8, HSI_TP10, Battery, Elements

The last column Elements will contain data if there is a blink, jaw clench, or manually entered data marker.


#19

@feng I tried to reply to your email, but I got back something in chinese saying it was blocked, so I’ll reply here.

Only the above data is output in the recording.

If you want discrete frequency values these are easy to calculate from the raw data. There are many many different ways to calculate discrete frequency (window sizes, hamming, filtering etc.), so including just one specific way doesn’t really make much sense; Especially as doing so would make the app much slower on low end devices and creates much much greater file sizes.

FFT is best done as a post processing exercise, then you can work with large windows and get very granular results. Most phones simply do not have the processing power to perform live FFT on large window sizes. For an example of this, set the window size to the largest one in Muse Monitor and you will see that although the discrete frequency graph now has much more detail the update frame rate is much much slower.

If you need help calculating FFT, this page has FFT code in many languages.