This small python project to evaluate and plot csv data of emotouch.
This is a short introduction in this project
- You need python 3
- You need to install pip
- Create a folder data/origin and paste there your .csv files
- Update filenames in main.py
Create a virtual environment within your project folder with
python -m venv virtualEnv
If you get an error then try
py -m venv virtualEnv
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:
Install all necessary packages with
pip install -r requirements.txt
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.
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.
Die folgende Anleitung wird der einfachsheitshalber auf deutsch formuliert.
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.
Ö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.
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.
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.
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.
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.
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.
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.
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
.
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:
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.
Installiere nun das Paket virtualenv
mit dem Befehl
pip install virtualenv
Nun kannst du die Schritte unter dem Abschnitt Install and run ausführen.
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.
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.
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.
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.
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).
Die Ergebnisse des Programm finden sich dann alle im Ordner data
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.