Since last Wednesday was a national holiday, there was no meeting with Karsten. As I mentioned last week, the assignment he gave me seemed to be more than enough to keep me busy for a while: building a basic classifier.
Since last week’s work didn’t really give me the results that I was hoping for, I put in a little extra effort this week. Although I worked on my thesis project for approximately 38 hours (which is significantly more than the required 28 hours), I regret to say that I was not yet able to build the basic classifier that Karsten asked for. What I did accomplish this week is:
- writing the Muse headband output properly to files
- receiving events (= experienced emotions) and writing them to files
- visualizing the Muse headband output in Matlab (an example is given below)
- refining the app interface (switch and toggle buttons instead of regular buttons, including visual connection status indicators, …)
- writing the Muse headband output properly to an SQLite database in order to be able to access it efficiently shortly after (<-> writing to files in order to be able to visualize the signals on a computer)
If it had not been for the extensive amount of debugging, this list would have kept on going for a while, I guess. Alas, when I was finished with the core functionality (= writing the sensor output to files and logging events), a few problems arose:
- automatically connecting and disconnecting the sensor upon entering and leaving the activity screen, respectively, made the app crash
- listening for data packets containing status indicator values introduced a lot of buggy behavior
Although I managed to fix both issues, I once again lost a precious amount of time in doing so. Furthermore, I am currently facing some new problems:
- my phone’s Bluetooth and WiFi suddenly stopped working last night. I’ve been looking into this problem today, but it seems that I am going to have to bring it back to the store for reparation. This in turn means that I won’t be able to test on a regular basis anymore, since the phones that can be borrowed from the HCI department are also often needed by some bachelor students for their final project around this time.
- the sensor output is pushed to the phone, not pulled. A major disadvantage here is that this output is received at irregular intervals, making it difficult to trigonometrically interpolate the values and subsequently extract relevant periodic features (e.g. amplitude, frequency, …) in order to be able to build a decent classifier. Currently, I am still searching for adequate libraries that provide methods to calculate the non-uniform discrete Fourier transform of a one-dimensional signal, but it seems that none are readily available at first glance.
All in all, I’m quite happy with the results that I achieved this past week. Despite all these obstacles, I am confident that I will be able to deliver a nice product at the end of this challenging journey.