Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
ss18:gui [2018/08/23 15:24] zerbian [struktureller Teil] |
ss18:gui [2018/08/24 18:46] (aktuell) zerbian |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
======GUI====== | ======GUI====== | ||
- | Die Benutzeroberfläche bildet den zentralen Punkt des Programmes. Von hier aus werden andere Teile des Codes aufgerufen und ausgeführt. Der Code für das Gui ist in den den funktionalen und in den strukturellen Teil geteilt. | + | Die Benutzeroberfläche bildet den zentralen Punkt des Programmes. Von hier aus werden andere Teile des Codes aufgerufen und ausgeführt. Der Code für das Gui wird in einen funktionalen und einen strukturellen Part unterteilt.((von J.Zerbian)) |
- | =====funktionaler Teil===== | + | Um die GUI zu implementieren haben wir für die Pythonbibliothek ''tkinter'' entschieden. Diese ist standardmäßig bei Python dabei und ist zudem auch mit den gängisten Betriebsystemen kompatibel (Windows, macOS, Linux). Diese Bibliothek bietet sehr viele Möglichkeiten, für GUI Elemente, jedoch darf man die Einarbeitungszeit für den Umgang mit ''tkinter'' nicht unterschätzen. |
+ | |||
+ | =====Funktionaler Teil===== | ||
====gui_main.py===== | ====gui_main.py===== | ||
- | Mit dieser Datei startet man das Hauptprogramm. Hier findet die KOmmunikation zwischen dem Tracking und der Datenstruktur statt. | + | Mit dieser Datei startet man das Hauptprogramm. Hier findet die Kommunikation zwischen dem Tracking und der Datenstruktur statt. |
===init=== | ===init=== | ||
- | * initialisieren des Guifensters | + | * Initialisieren des Guifensters |
- | * anlegen des Seitenmanager für die einzelnen Tabs | + | * Anlegen des Seitenmanager für die einzelnen Tabs |
===openVideo=== | ===openVideo=== | ||
Zeile 18: | Zeile 20: | ||
===autoDetect=== | ===autoDetect=== | ||
* ruft die setup-Methode des Tracker Moduls auf | * ruft die setup-Methode des Tracker Moduls auf | ||
- | * initialisiert der Pucks für die Datenstruktur | + | * Initialisieren der Pucks für die Datenstruktur |
===manualDetect=== | ===manualDetect=== | ||
===outputTable=== | ===outputTable=== | ||
- | * öffnet einen Speicherndialog zum speichern der Puckdaten aus der Datenstruktur in einer Tabllendatei | + | * öffnet einen Speicherdialog zum Speichern der Puckdaten aus der Datenstruktur in einer Tabellendatei |
===toggle=== | ===toggle=== | ||
- | * sorgt dafür, dass der Trackingvorgang pausiert und fortgesetzt werden kann. | + | * sorgt dafür, dass der Trackingvorgang pausiert und wieder fortgesetzt werden kann. |
- | * ruft ''task'' auf, falls das Tracking fortgesetzt wird | + | * ruft ''task'' auf, wenn das Tracking fortgesetzt wird |
===task=== | ===task=== | ||
* ruft die run-Methode des Tracker Moduls auf | * ruft die run-Methode des Tracker Moduls auf | ||
- | * übergibt die vom Tracker übergebenen Positionsdaten an die Datenstruktur weiter | + | * übergibt die vom Tracker übergebenen Positionsdaten an die Datenstruktur |
* ruft ''update_view'' auf | * ruft ''update_view'' auf | ||
Zeile 41: | Zeile 43: | ||
===timeconvert=== | ===timeconvert=== | ||
- | * wandelt eine eine in Millisekunden übergebene Zeitspanne in das HH:MM:SS Format um | + | * wandelt die in Millisekunden übergebene Zeitspanne in das HH:MM:SS Format um |
===close_plot=== | ===close_plot=== | ||
Zeile 50: | Zeile 52: | ||
===calc_heat=== | ===calc_heat=== | ||
- | * übergibt die Positionsdaten aus der Datenstruktur and die ''calculate'' Methode in ''gui_heat'' | + | * übergibt die Positionsdaten aus der Datenstruktur an die ''calculate'' Methode in ''gui_heat'' |
=====struktureller Teil===== | =====struktureller Teil===== | ||
- | Die Gui ist so programmiert, dass die Tabs jeweils in ihrer eignen Datei sind. Diese Datein befinden sich im Ordner ''gui_pages''. | + | Das Gui ist so programmiert, dass die Tabs jeweils in ihrer eigenen Datei sind. Diese Dateien befinden sich in dem Ordner ''gui_pages''. |
====gui_landing==== | ====gui_landing==== | ||
Zeile 60: | Zeile 62: | ||
====gui_input==== | ====gui_input==== | ||
- | zeigt zwei Schaltflächen zum öffnen des Videos und der Kaskade | + | zeigt zwei Schaltflächen zum Öffnen des Videos und der Kaskade. (siehe ''openVideo'' oder ''openCascade'') |
====gui_setup==== | ====gui_setup==== | ||
- | zeigt zwei Schaltflächen zur ditektierung der Pucks im Video (siehe | + | zeigt zwei Schaltflächen zur Ditektierung der Pucks im Video. (siehe ''autoDetect'') |
+ | |||
+ | ====gui_calc==== | ||
+ | verwaltet den Tracking-Prozess. Hier befindet sich die Schaltfläche zum Starten und Pausieren des Trackingprozesses und zeigt den aktuellen Fortschritt an. (siehe ''toggle'' und ''update_view'') | ||
+ | |||
+ | ====gui_heat==== | ||
+ | zeigt die entsprechende Heatmap zur Aufenthaltswahrscheinlichkeit der Pucks an. (siehe calc_heat) | ||
+ | ====gui_mb==== | ||
+ | zeigt die Maxwell-Boltzmann-Verteilung für die Pucks an. (siehe calc_mb) |