Drücke „Enter”, um zum Inhalt zu springen.

Arbeiten mit BTK und Mokka

Patrick Mai 1

In der biomechanischen Forschung sammeln wir häufig Daten zur Bewegungserfassung (Markertrajektorien) und Kraft (analoge Daten), um die Gelenkkinematik (Gelenkwinkel und Gelenkwinkelgeschwindigkeiten) und die Gelenkkinetik (Gelenkmomente und Gelenkkraft) zu berechnen. Normalerweise werden diese experimentellen Daten mit Motion-Capturing-Software wie Qualysis Track Manager oder Vicon Nexus, um nur einige zu nennen, gesammelt. Unabhängig davon, welche Software zur Erfassung der biomechanischen Daten eingesetzt wird, hat sich die C3D-Dateierweiterung als Standard für die weitere Datenverarbeitung etabliert. Obwohl C3D-Dateien von der Motion-Capturing-Software geöffnet werden können, stehen ressourcenschonende und quelloffene Werkzeuge zur Visualisierung und Veränderung von C3D-Dateien zur Verfügung. In diesem Tutorial lernst Du, das

  1. Visualisieren von C3D Daten mit Hilfe von Mokka

  2. Laden von C3D Daten mit BTK in Matlab

  3. Downloads

1. Visualisieren von C3D Daten mit Hilfe von Mokka

Mokka ist eine frei nutzbare und plattformübergreifende Software zur einfachen Analyse biomechanischer Daten. Mokka kann von der Website http://biomechanical-toolkit.github.io/mokka/index.html heruntergeladen werden und erfordert keine Installation.

Nach dem Herunterladen und Entpacken der Mokka-Version für Dein Betriebssystem sollte der Ordner wie in Abbildung 1 dargestellt aussehen. Klicke auf Mokka und eine grafische Benutzeroberfläche (GUI), die wie Abbildung 2 aussieht, öffnet sich. 

Figure 1: Mokka folder after unpacking the .zip file.
Figure 2: The default Mokka GUI

Um eine C3D-Datei zu laden, klicke auf File und wähle Open. Dann kannst Du eine Datei auswählen, die Du visualisieren möchtest. Um sie auszuprobieren, kannst Du unsere Beispieldaten herunterladen. 

Bitte lade die Datei Running_Example.c3d. Danach sollte das GUI ähnlich wie in Abbildung 3 aussehen. Innerhalb der GUI kannst Du die erfassten 3-dimensionalen experimentellen Daten erkunden. Jeder graue Punkt repräsentiert einen sphärischen Marker, der am menschlichen Körper angebracht ist. Wenn Du auf einen bestimmten Marker klicken, wird der Name (oft als Marker-Label bezeichnet) im rechten Listenfeld (rechte Seite) hervorgehoben.

Mit der Play-Schaltfläche in der linken unteren Ecke der GUI kannst Du sehen, wie der Proband läuft. Alternativ kannst Du den Zeitbalken rechts neben der Abspielen-Schaltfläche verwenden, um jeden Frame (Zeitpunkt) Deiner Versuchsdaten zu überprüfen.

Das Diagrammfenster in der Mitte der GUI kann weitere Informationen über die einzelnen Komponenten Deiner Daten liefern. Falls das Diagrammfenster nicht angezeigt wird, gehe zu Fenster ->Layout -> 3D und Charts. Jetzt kannst Du beschriftete Markierungen aus dem Listenfeld in das Diagrammfenster ziehen und ablegen, um seine X-, Y- und Z-Koordinaten über jeden Zeitpunkt zu sehen.

Figure 3: The Mokka GUI after loading Running_Example.c3d

Innerhalb des Listenfeldes kannst Du auch nach unten zu den Daten der Kraftplattform scrollen (falls vorhanden). Für das mitgelieferte Beispiel wurde Force Platform #2 verwendet. Du kannst das Feld Kraftplattform #2 erweitern und die Kraftkomponenten (Kräfte und Momente) auf die gleiche Weise wie die Marker-Trajektorien visualisieren, indem Du die Komponente per Drag & Drop in die Diagrammansicht ziehst. Wenn jedoch viele Marker an Ihrem Teilnehmer angebracht sind, kann die visuelle Inspektion Deiner Marker-Trajektorien schnell unübersichtlich werden. Daher kann das Laden eines zu Deinen Daten passenden Modells hilfreich sein.

Für dieses Tutorial haben wir bereits ein Modell für unser Marker-Setup generiert. Um das Modell zu laden, gehe zu Edit -> Options. Markiere hier das Kästchen Use default configuration und klicke auf Choose Wähle die von uns bereitgestellte Datei namens full_body_Model.mvc . Nachdem die Operation abgeschlossen ist, sollte die 3D-Ansicht verschiedene farbige Marker und verbundene Segmente enthalten.

Figure 4: A whole body model adapted to our marker setup

Bitte beachte, dass das Modell an das verwendete Markerset angepasst wurde. Wenn Du Deine eigenen experimentellen Daten mit anderen Markernamen verwendest, musst Du neue Segmente entsprechend Deiner Marker-Label definieren. Neue Segmente können unter Tools -> Model -> New Segment generiert werden.

Für die weitere Datenverarbeitung ist es manchmal nützlich, Deine C3D-Dateien zu beschneiden. Mokka bietet hierfür eine einfache Möglichkeit. Innerhalb des Zeitbalkens kannst Du die Schieberegler am linken und rechten Ende verwenden, um die C3D-Datei zu beschneiden (oder auszuschneiden). Die Rahmen, die aus der C3D-Datei entfernt werden, sind blau markiert. Wenn Du mit der rechten Maustaste irgendwo in den Zeitbalken klickst, kannst Du Crop Frame of Interest auswählen. Schließlich musst Du die beschnittene Datei mit File -> Save As oder Save (um die bestehende Datei zu überschreiben) speichern.

Figure 5: Cropping C3D files

Obwohl Mokka für Visualisierungszwecke nützlich ist, ist es nicht möglich, die Gelenkkinematik und -kinetik zu berechnen. Dies wird auch außerordentlich zeitaufwendig, wenn viele experimentelle Daten im Stapelverfahren verarbeitet werden müssen. Im nächsten Schritt möchten wir Dir zeigen, wie Du C3D-Dateien in Matlab einlesen und bearbeiten kannst.

2. Laden von C3D Daten mit BTK in Matlab

Um C3D-Dateien in Ihren Matlab-Arbeitsbereich zu laden, musst Du zunächst einige zusätzliche, quelloffene Funktionen herunterladen. Das Biomechanical Toolkit (BTK) ist ein häufig verwendetes, plattformübergreifendes Toolkit zum Lesen, Schreiben und Verändern von C3D-Dateien.

Zuerst musst Du das BTK von der Website https://code.google.com/archive/p/b-tk/downloads herunterladen. Bitte stelle sicher, dass Du die richtige Version für Dein Betriebssystem herunterlädst. Für uns funktioniert die Version btk-0.3.0_Win7_MatlabR2009b_64bit.zip am besten. Nach dem Herunterladen des Toolkits musst Du das Archiv mit einem ganz normalen Archivkonverter entpacken.

Nun musst Du Matlab mitteilen, wo sich alle BTK-Funktionen befinden. Öffne Matlab, gehe zu Home Set Path Add with Subfolders… und wählen Sie den Ordner aus (in unserem Beispiel btk-0.3.0_Win7_MatlabR2009b_64bit, beachte, dass Du den entpackten Datenordner und nicht das komprimierte Zip-Archiv verwendest). Du kannst überprüfen, ob der Pfad korrekt eingestellt ist, wenn Du v = btkGetVersion in Dein Matlab-Befehlsfenster eingibst. Wenn Matlab eine Versionsnummer ausgibt (z.B. ‚0.3.0‘), ist der Pfad korrekt eingestellt.

Figure 6: Ssetting the right folder path in Matlab

Du kannst jetzt C3D-Dateien mit Matlab lesen, manipulieren und schreiben. Die vollständige Liste der BTK-Funktion findest Du auf der folgenden Webseite http://biomechanical-toolkit.github.io/docs/Wrapping/Matlab/annotated.html

In der Download-Sektion unten findest Du alle Beispiel-C3D-Daten und einen Beispiel-Matlab-Code. Dieser Code zeigt Dir, wie Du virtuelle Marker einlesen und einer C3D-Datei (statischer Trial) hinzufügen kannst. Darüber hinaus zeigt Dir der Code, wie Du die Standzeit auf der Grundlage von Kraftdaten berechnen und Touchdown und Toe-Off-Ereignisse zu einer C3D-Datei hinzufügen (Lauf Trial).

3. Downloads

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.