Skip to content

This small python project to evaluate and plot csv data of emotouch

License

Notifications You must be signed in to change notification settings

LexQzim/emotouchplotter

Repository files navigation

emotouchplotter

This small python project to evaluate and plot csv data of emotouch.

Content

How to use?

This is a short introduction in this project

Preperations

  1. You need python 3
  2. You need to install pip
  3. Create a folder data/origin and paste there your .csv files
  4. Update filenames in main.py

Install and run

1.

Create a virtual environment within your project folder with

python -m venv virtualEnv

If you get an error then try

py -m venv virtualEnv

2.

Activate virtual environment

.\virtualEnv\Scripts\activate

If you get an error which says that it isn't allowed to run a script. In that case you need to update your execution policy in windows. Type the following command into your powershell. To start powershell just press windows key and type powershell into the searchbar. Then you will get a suggestion to open powershell as admin. Do it. You need administration right to execute the following command:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

For more details about this change look here:

3.

Install all necessary packages with

pip install -r requirements.txt

4.

Start programm with

python main.py

If you get an error then try

py main.py

This is only for the first start. Later you just need to activate the virtual environment and can directly start the script.

Obsolete scripts

You can find some old scripts within the directory obsolete scripts. This is just for history because there are not functional. But if you want to see how it starts then check them out.

Detailed beginners guide (ger)

Die folgende Anleitung wird der einfachsheitshalber auf deutsch formuliert.

Installation von Python

Um das Skript ausführen zu können wird auf dem PC Python benötigt. Es gibt mehrere Möglichkeiten Python auf dem Windows System zu installieren. Die einfachste die die Installation aus dem Windows Store.

Installationsmöglichkeit 1

Öffne die Eingabeaufforderung in Windows. Dazu drückst du die Windowstaste und gibt in die Suche cmd ein. Dann wird die die Eingabeaufforderung als Option angezeigt.

Beispiel:
grafik

Nun gibst du hier einfach python ein. Darauf sollte sich der Windows Store öffnen und dir direkt ein passende Pythonversion vorschlagen. Führe nun die Installation aus.

Installationsmöglichkeit 2

Eine Installationsdatei für Windows lässt sich direkt online (https://www.python.org/downloads/) runterladen. Achtet hier darauf, dass hier mindestens die Python Version 3.10 verwendet wird. Führt anschließend die Installation aus und achtet hier darauf, dass der Hacken bei der Pfadeinstellung gesetzt ist.

Beispiel:
grafik

Dieser Hacken bedeutet, dass Python in die Umgebungsvariablen integriert wird und somit von der Konsole aus überall auf dem PC genutzt werden kann. Damit du aber Python ohne Probleme nutzen kannst, musst in den Windowseinstellung noch eine Option deaktiveren. Ich empfehle dazu den ersten Lösungsvorschlag aus diesem Beitrag zu übernehmen.

Python auf dem eigenen System testen

Nach Abschluss der Installation kann mittels der Konsole (Eingabeaufforderung) geprüft werden, ob Python richtig installiert wurde. Öffne dazu zunächst die Konsole. Im einfachsten Fall drückst du die Windowstaste und gibst dann die Suche cmd ein und wählst dann die Eingabeaufforderung aus.

Nun gibst du folgende Befehle in die Konsole ein:

python --version

und

pip --version

Als Ausgabe wird die angezeigt, welche Version du aktuell auf dem System installiert hast.

Beispiel:
grafik

Was ist pip?

pip ist ein kleiner Helfer, worüber leicht neue Pakete in Python installiert werden können. Mit diesen Paketen lassen sich die Basisfunktionen von Python erweitern und ermöglichen so eine vielseitige Softwareentwicklung.

Installation und Einrichtung der Entwicklungsumgebung VScode

Es handelt sich ja hierbei um blanken Quellcode. Um diesen vernünftig lesen und bearbeiten zu können empfiehlt es sich eine Entwicklungsumgebung einzurichten. Ich empfehle hier VSCode. Es handelt sich dabei um einen Texteditor, welche durch Erweiterungen für jede Programmiersprache, aber auch für die Bearbeitung von verschiedenen Datein, wie .csv und .json, individuell eingerichtet und angepasst werden kann. Gleichzeitig ist der kostenlos und für alle nutzbar.

Starte den Editor nach der erfolgreichen Installation. Klicke in der unteren linken Ecke das Zahnradsymbol an und wähle Erweiterungen (Extensions) aus (Tastenkombination: Strg + Shift + X). Gib dann in die Suche Python ein und installiere die erste vorgeschlagene Erweiterung von Microsoft.

Beispiel:
grafik

Du kannst nun im Editor testen, ob du von hier aus Python ausführen kannst. Führe Die Tastenkombination Strg + Shift + Ö aus und es sollte sich innerhalb des Editors eine Konsole öffnen. Gib auch hier wieder python --version ein. Du solltest auch hier wieder die Versionsnummer von Python angezeigt bekommen. Solltest du hier einen Fehler erhalten, dass python nicht gefunden werden kann, dann versuche es mal mit dem Befehl py --version.

Beispiel:
grafik

Runterladen und Einrichten vom Projekt

Lade dir nun das gesamte Projekt aus github runter. Im einfachsten Fall kannst du dir das Paket als .zip-Datei runterladen und auf deinem PC abspeichern:

Beispiel:
grafik

Entpacke das Archiv in einem Ordner deiner Wahl.

Öffne nun VSCode, falls das noch nicht geschehen ist, und öffne hier den Projektorder. Dazu klickst du oben links auf Datei (File) und dann auf Order öffnen... (Open Folder...). Alternativ kannst du auch die Tastenkombination Strg + K und dann Strg + O verwenden. Wähle hier nun deinen Projektordner aus.

Beispiel:
grafik

Installiere nun das Paket virtualenv mit dem Befehl

pip install virtualenv

Beispiel:
grafik

Nun kannst du die Schritte unter dem Abschnitt Install and run ausführen.

Wie funktioniert das Script?

Beim ersten Start wird dir auch direkt der Order data mit dem Unterordner origin erzeugt. Darin legst du deine .csv Dateien ab. Du findest diese Ordner nun in deinem Projektordner. Alternativ kannst du auch in VSCode einen Rechtsklick auf den Ordner machen und dann auf Reveal in File Explorer auswählen. Dann öffnet sich der Ordner und du kannst darin deine .csv Dateien ablegen.

Beispiel:
Screenshot 2023-07-15 231420

Für die Bearbeitung werden die Zeitreihen (timeline) und die Sitzungsdaten (session) Daten benötigt. Lade dir diese beiden Daten aus Emotouch herunter und füge diese in den Ordner origin ein. Achte bei den Dateinamen darauf, dass keine Leerzeichen enthalten sind. Ersetze alle Leerzeichen durch einen Unterstrich _

Beispiel:
aus: emoTouchaus- einschleichend MIT aufforderung_version1.7 (100 ms)_object_metadata_v1.6.1
wird: emoTouch_aus_einschleichend_MIT_aufforderung_version1.7
(100_ms)_object_metadata_v1.6.1

Achte darauf, dass du vor dem Herrunterladen der .csv-Dateien das Trennzeichen richtig einstellst. Ich würde hier das Semikolon empfehlen. Ansonsten müsstest du das sonst im Skript entsprechend anpassen.

Beispiel:
Screenshot 2023-07-15 232159

Es gibt mehrere .py-Dateien. Die main.py ist dabei die Hauptdatei. Von hier aus wird alles ausgeführt. In der plotSettings.py finden sich alle Grundeinstellungen für die Plots. Wie z.b. die Titel und auch die Dateinamen. Hier musst du einmal deine Einstellungen setzen und kontrollieren. In der pandaReader.py werden die .csv Dateien eingelesen und entsprechend konvertiert. Je nach dem, welche Informationen du weiter verarbeiten willst, solltest du hier ggf. nachschauen und anpassen. Für die Bearbeitung der .csv Datein wurde die Bibliothek panda verwendet. Dieses macht es recht einfach, da die gewünschte Spalte über den Namen erfasst werden kann. In searbornDrawer.py werden die Plots erstellt. Dazu wird die Bibliothek seaborn verwendet. Diese harmoniert perfekt mit der Pandas Bibliothek, da das Dateiformat direkt und in die seaborn-Methoden eingebunden werden kann. Alle Einstellungen und Feinjustierungen lassen sich auch hier einfach direkt über den entsprechenden Spaltennamen vornehmen.

Beispiel:
Screenshot 2023-07-15 234314

Der Start des Skript erkennst du an der Zeile

if __name__ == "__main__":

Alles unterhalb dieser Anweisung wird beim Aufruf der main.py ausgeführt. Hier kannst du durch Auskommentieren und Einfügen definieren, welche Plots du erzeugen möchtest.

Mit einem # vor der Zeile kannst du alle unnötigen Zeilen auskommentieren bzw. wenn du es entfernst, dann wird die Zeile wieder aktiv.

Wichtige Notiz

Achte darauf, dass die Endungen der Dateinamen auch passend zu den spezifischen Endungen von emotouch passen. Die Dateinamen setzen sich nämlich immer aus 2 - 3 Elementen zusammen.

(Sitzungname) _ (Version_1.7) _ (Typ_der_Datei).csv

Es reicht, wenn du den ersten Teil (Sitzungsname) in die Liste fileNames hinzufügst. Der mittlere Teil kommt nur in den resampelten Dateien vor. Der Rest wird im Skript an den entsprechenden Stellen generisch zusammen gesetzt. Die Variablen sind dabei so benannten, wie der geforderte String (Textabschnitt).

Ergebnisse

Die Ergebnisse des Programm finden sich dann alle im Ordner data

Übrigens

Du kannst das Script auch direkt über die Playtaste im Editor starte. Wenn du eine .py-Datei geöffnet hast, dann findest du das Symbol oben rechts.

Beispiel: grafik

About

This small python project to evaluate and plot csv data of emotouch

Resources

License

Stars

Watchers

Forks

Languages