Original & Filterbild
Vergleichen Sie links das unveränderte Bild mit dem Ergebnis der Filter rechts. So erkennen Sie, ob der Wurm vollständig erhalten bleibt.
Wormtracker zerlegt Wurmfilme in Einzelbilder, erkennt Konturen und wertet Bewegung aus. Diese Anleitung begleitet Sie von der Aufnahme bis zu gespeicherten Messergebnissen.
Fläche, Länge, Schwerpunktgeschwindigkeit, geglättete Schwerpunktgeschwindigkeit, Mobilitätsfrequenz und Winkelgeschwindigkeit.
Wormtracker für Windows, ein geeigneter Wurmfilm und ausreichend Speicher für BMP-Einzelbilder. Für den Videoimport werden ffmpeg.exe und ffprobe.exe im Ordner FFmpeg neben der Anwendung benötigt.
Beginnen Sie mit einem kurzen, gleichmäßig beleuchteten Film und einer bekannten Kalibrierung.
Nutzen Sie die Werkzeugfunktion „split film to pictures“. Der Import läuft lokal mit FFprobe und FFmpeg. Start- und Endbild begrenzen bei Bedarf den Bildbereich. Bei MCP-Laboraufträgen entsteht automatisch ein neuer Arbeitsordner.
Den Import verstehen →Wählen Sie den erzeugten Bildbestand über „select film“. Links sehen Sie das Original, rechts das Filterbild. Stellen Sie im Register filter die Bildfilter ein und wenden Sie sie mit „apply filter“ an. Die Statusanzeige sollte genau 1 worms melden.
Filter richtig einstellen →Tragen Sie im Register calibration die Werte Ihrer Aufnahme ein. Beschränken Sie bei störenden Rändern den räumlichen Bereich über ROI. Prüfen Sie mehrere Bilder, auch am Anfang und Ende.
Kalibrierung & ROI →Starten Sie „process film“. Der Schalter wird während der Verarbeitung zur Stoppfunktion. Übernehmen Sie nur eine vollständig und erfolgreich abgeschlossene Auswertung.
Messwerte beurteilen →Bewahren Sie CSV, Textausgabe, Parameter und Bildbestand zusammen auf. Bei MCP-Laboraufträgen enthält job.json das dauerhafte Auftragsprotokoll; die Übersicht „Gespeicherte Auswertungen“ hilft beim Wiederfinden.
Die englischen Bezeichnungen entsprechen den Bedienelementen der Anwendung. Fahren Sie über ein Werkzeug, um seinen Hinweistext zu lesen.

Vergleichen Sie links das unveränderte Bild mit dem Ergebnis der Filter rechts. So erkennen Sie, ob der Wurm vollständig erhalten bleibt.
Mit first picture, last picture und dem Bildnummernfeld wechseln Sie durch den Bestand.
Unter den Bildern stehen Verarbeitungshinweise. Die Statuszeile zeigt unter anderem Bild und Anzahl erkannter Würmer.
| Hinweis im Programm | Aufgabe |
|---|---|
| split film to pictures | Videodatei in Einzelbilder zerlegen. |
| select film | Vorhandenen Bildbestand auswählen. |
| apply filter | Aktuelles Bild mit den eingestellten Filtern prüfen. |
| process film / stop process | Film auswerten bzw. laufende Verarbeitung abbrechen. |
| graph of frequency calculation | Grafische Darstellung zur Frequenzberechnung öffnen. |
| process group of films | Die vorhandene Gruppenverarbeitung öffnen. |
Die Register filter, view, calibration, experiment und data bündeln die Einstellungen. Das Register experiment enthält ältere Experimentfelder; für automatisierte Laborergebnisse verwenden Sie die filmbezogenen CSV- und JSON-Dateien.
Wormtracker wertet einen Bildbestand aus. Beim Videoimport werden dafür BMP-Dateien mit Zeitstempeln erzeugt.
FFmpeg verfügbar sind.Im Register data finden Sie unter film explode die Felder start image und stop image. Bei der MCP-Schnittstelle sind Bildindizes nullbasiert und die Grenzen eingeschlossen. stopFrame: 0 bedeutet Filmende.
Beispiel: startFrame: 10 und stopFrame: 20 wählen elf Bilder aus. Der räumliche ROI ist davon unabhängig.

Ältere BMP-Ordner können weiterhin ausgewählt und in der Ablageübersicht angezeigt werden. Ohne job.json besitzen sie jedoch kein MCP-Auftragsprotokoll. Originalfilme werden bei MCP-Laboraufträgen nur gelesen; jeder Auftrag verwendet einen neuen Arbeitsordner.
Das Ziel ist ein zusammenhängendes Objekt, das den Wurm abbildet. Optimieren Sie die Erkennung zuerst an einzelnen Bildern.
| Feld | Wirkung / Bedienhinweis |
|---|---|
| gamma1 / gamma2 | Verändern die Helligkeitsverteilung vor bzw. nach weiteren Filtern. MCP verlangt für beide Gammawerte 0,01 bis 100, auch bei ausgeschaltetem Filter. Prüfen Sie die Wirkung im Filterbild. |
| stretch | Spreizt den Grauwertbereich. Der untere Wert muss kleiner als der obere sein; beide liegen zwischen 0 und 255. |
| dilatation | Morphologische Bearbeitung der Bildstruktur. Kontrollieren Sie, dass Wurm und Störstellen dadurch nicht zu einem Objekt verschmelzen. |
| median | Reduziert Bildrauschen. Die Zahl bestimmt die Wiederholungen; MCP erlaubt 0 bis 20. |
| two color | Wandelt das Bild mit einem Schwellwert von 0 bis 255 in zwei Farben um. Stellen Sie ihn so ein, dass die Kontur erhalten bleibt und Hintergrundrauschen verschwindet. |
| filter size | Begrenzt die Größe erkannter Objekte in Bildpixeln. Minimum und Maximum müssen zur Aufnahme passen; das Minimum darf das Maximum nicht überschreiten. |
| calculate | Schaltet die nachfolgende Wurmerkennung ein. |
head / tail bietet real, real relative, average und average relative. Für reproduzierbare Vergleiche müssen Modus, averaging und hysteresis mit dokumentiert werden.
averaging entspricht dem Glättungszeitraum averageMs in Millisekunden. hysteresis entspricht dem Parameter damping. Diese Einstellungen können die Auswertung beeinflussen; ändern Sie sie nicht unbemerkt zwischen Vergleichsfilmen.
Der Beispielimport liefert 97 Bilder aus einem Film mit 720 × 480 Pixeln. Weil mehrere Würmer im Bild sichtbar sind, begrenzt ein rechteckiger ROI die Auswertung auf den mittleren Wurm. Im Filterbild bleiben andere schwarze Objekte sichtbar; die Erkennung berücksichtigt den festgelegten ROI.

Im Register view lassen sich Konturen (boarder), ROI, Schwerpunkt (mass center), Endpunkte (ends), Kettenglieder (chain links) und Nummern einblenden. Nutzen Sie diese Ansichten zur Kontrolle der erkannten Struktur.

Erst eine zur Aufnahme passende Kalibrierung macht aus Bildkoordinaten physikalische Größen.

| Oberfläche | MCP-Parameter | Einheit |
|---|---|---|
| diameter | diameterMm | Millimeter |
| pixel x | pixelsX | Pixel |
| pixel y | pixelsY | Pixel |
| magnification | zoom | Faktor |
Übernehmen Sie diese Werte aus der dokumentierten Kalibrierung Ihres Aufnahmesystems. Alle Werte müssen positiv sein. Ein gespeicherter Parametersatz ist eine Berechnungsgrundlage und ersetzt keine Prüfung des realen Maßstabs.
Im Register filter wählen Sie unter ROI den räumlichen Auswertebereich. Damit können etwa Ränder oder störende Bereiche ausgeschlossen werden.
| Oberfläche | MCP-Typ | Geometrie |
|---|---|---|
| total | 0 | Gesamtes Bild. |
| rectangle | 1 | Zwei Eckpunkte; positive Breite und Höhe. |
| polygon | 2 | Mindestens drei Punkte; das Polygon muss eine Fläche besitzen. |
| circle | 3 | Elliptischer Bereich innerhalb zweier Eckpunkte. |
Wählen Sie rectangle oder circle und setzen Sie mit zwei Linksklicks im Originalbild die gegenüberliegenden Eckpunkte. Für polygon setzen Sie nacheinander die Eckpunkte und beenden die Eingabe mit einem Rechtsklick; mindestens drei Punkte sind erforderlich. Ein Rechtsklick während der Rechteck- oder Kreiseingabe bricht diese ab. Prüfen Sie den gewählten Bereich anschließend im Register view mit eingeschaltetem ROI.
Eine erfolgreiche Verarbeitung allein genügt nicht: Kontrollieren Sie Erkennung, Kalibrierung und gespeicherte Parameter.
| Messgröße | Einheit | JSON-Feld |
|---|---|---|
| Ausgewertete Zeitspanne | s | durationSeconds |
| Mittlere Fläche | mm² | meanAreaMm2 |
| Mittlere Länge | mm | meanLengthMm |
| Mittlere Schwerpunktgeschwindigkeit | mm/s | meanCenterSpeedMmPerSecond |
| Geglättete Schwerpunktgeschwindigkeit | mm/s | meanSmoothedCenterSpeedMmPerSecond |
| Mobilitätsfrequenz | Hz | mobilityFrequencyHz |
| Mittlere Winkelgeschwindigkeit | °/s | meanAngularSpeedDegreesPerSecond |
Die Mobilitätsfrequenz beschreibt eine aus der Bewegung berechnete Frequenz. Sie ist eine andere Größe als die zurückgelegte Strecke pro Zeit. Verwenden Sie für den Vergleich dieselben Aufnahme- und Auswertungseinstellungen.
Übernehmen Sie nur abgeschlossene Messungen mit state: "completed" und valid: true. Ein erfolgreicher Import ist noch keine Messung. Fehlgeschlagene oder abgebrochene Auswertungen dürfen nicht als Nullmessungen interpretiert werden. Bei Stapeln prüfen Sie jeden Filmeintrag einzeln.
Die hier dokumentierte CElegans-Auswertung verarbeitet alle 97 Bilder über 3,203 Sekunden und liefert einen verfolgten Wurm. MCP meldet completed und valid: true. Diese technische Gültigkeit bestätigt den abgeschlossenen Ablauf; sie bestätigt keinen unabhängig geprüften physikalischen Maßstab.

Demo-Ergebnis mit Einheiten und Parametern herunterladen ↓
Die filmbezogene CSV dient der tabellarischen Weiterverarbeitung, TXT der Textausgabe. Das Ergebnis-JSON enthält Kennzahlen mit Einheiten, Parameter und Dateipfade. Bewahren Sie immer den zugehörigen Parametersatz auf.
Der ältere CSV-Export schreibt Einzelzeilen nur bis Count - 2. Deshalb können zum Beispiel 92 Bilder zu 91 Einzelzeilen führen. Das bedeutet nicht automatisch, dass ein Bild beim Import fehlt.
Die ältere Experiment-Zusammenfassung verwendet nicht vollständig befüllte interne Werte. Für MCP-Laboraufträge verwenden Sie das Ergebnis-JSON und die filmbezogene CSV. Historische Referenzvergleiche prüfen ausgewählte Abläufe und ersetzen keine vollständige wissenschaftliche Validierung sämtlicher Messgrößen.
MCP-Laboraufträge erhalten eigene Ordner. Bilder und Ergebnisse bleiben nach der Verarbeitung erhalten.

Standardmäßig liegt LabRuns neben der jeweils gestarteten EXE. Mit outputDirectory lässt sich ein anderer Zielordner festlegen. Jeder Auftrag bekommt einen neuen Zeitstempel-/GUID-Ordner.
Das Auftragsprotokoll job.json bleibt dauerhaft gespeichert. Der MCP-Befehl wormtracker_result hält dagegen nur den letzten Auftrag im Arbeitsspeicher bereit.
Öffnen Sie „Gespeicherte Auswertungen“. Die Übersicht zeigt Datum, Status, Film, Bildanzahl, Speicherbedarf und Ordner. Weitere Ablageordner lassen sich hinzufügen.
Die Ordnerauswahl wird in LabStorage.json neben der EXE gespeichert. Verschiedene EXE-Ordner besitzen daher eigene Ablagekonfigurationen.
Über load und save im Register filter verwalten Sie die bestehenden Programmeinstellungen. MCP kann INI- oder JSON-Parameter laden und mit wormtracker_save_parameters eine neue UTF-8-JSON-Datei schreiben. Vorhandene JSON-Dateien werden dabei nicht überschrieben.
Die lokale MCP-Schnittstelle kann Filme auswählen, Parameter prüfen, Auswertungen starten und Ergebnisse lesen.
Der Server wormtracker bindet ausschließlich an 127.0.0.1. Der Standardport ist 8765; weitere Instanzen können andere Ports verwenden. Lesen Sie die tatsächliche URL aus der jeweiligen Instanz. Die Authentifizierung erfolgt über X-MCP2Delphi-Token. Halten Sie das lokale Token privat.
wormtracker_open_film wählt den Film; Parameter über wormtracker_get_parameters lesen und bei Bedarf ändern.wormtracker_validate_parameters prüft Einstellungen. Mit geladenen Bildern kann ready: true zusätzlich Bildbezug und Zeitstempel prüfen.wormtracker_run importiert und analysiert. Die unmittelbare Antwort enthält eine jobId.wormtracker_progress abfragen, bis busy: false ist.wormtracker_result lesen und den Status jedes Ergebnisses prüfen.{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "wormtracker_run",
"arguments": {
"fileName": "C:\\Messungen\\wurm.avi",
"parametersFile": "C:\\Messungen\\parameter.json",
"outputDirectory": "C:\\Messungen\\LabRuns"
}
}
}Beispielpfade durch vorhandene lokale Dateien ersetzen. Die HTTP-Authentifizierung richtet Ihr MCP-Client ein; sie ist nicht Teil dieses JSON-Beispiels.
| Aufgabe | Befehle |
|---|---|
| Film & Verarbeitung | wormtracker_open_film, wormtracker_import, wormtracker_analyse, wormtracker_run, wormtracker_batch |
| Fortschritt & Ergebnis | wormtracker_status, wormtracker_progress, wormtracker_cancel, wormtracker_result |
| Parameter | wormtracker_get_parameters, wormtracker_validate_parameters, wormtracker_set_parameters, wormtracker_load_parameters, wormtracker_save_parameters |
| Vorschau & Hilfe | wormtracker_preview, wormtracker_lab_help |
| Ablage | wormtracker_storage_list, wormtracker_storage_add, wormtracker_storage_result, wormtracker_storage_show |
| Oberfläche & Dokumentation | wormtracker_ui_state, wormtracker_select_tab, wormtracker_screenshot |
Mit wormtracker_batch werden Filme nacheinander ausgewertet. Ohne explizite parametersFile verwendet der Stapel filmbezogene INI-Begleitdateien. Es läuft jeweils nur ein Laborauftrag. Währenddessen bleiben Parameteränderungen und weitere Aufträge gesperrt; Fortschritt und kooperativer Abbruch sind erreichbar.
| Status | Bedeutung |
|---|---|
queued | Auftrag vorgemerkt. |
running | Verarbeitung läuft. |
completed | Auftrag abgeschlossen. Bei Messungen zusätzlich valid prüfen. |
failed | Fehler; Fehlermeldung und betroffenen Film prüfen. |
cancelled | Abgebrochen; keine gültige abgeschlossene Messung. |
completed_with_errors | Stapel teilweise fehlgeschlagen; jeden Filmeintrag prüfen. |
Der aktuelle Katalog aus tools/list ist maßgeblich für Namen und Argumente. Ältere Aufträge lassen sich über wormtracker_storage_result aus ihrer job.json lesen.
Prüfen Sie zunächst den Bildbestand und die aktuelle Filtervorschau.
Prüfen Sie den Dateipfad sowie FFmpeg/ffmpeg.exe und FFmpeg/ffprobe.exe neben der gestarteten EXE. Kontrollieren Sie Schreibrechte im Zielordner und freien Speicher. Die Build-Skripte allein installieren FFmpeg nicht.
Prüfen Sie, ob Bilder geladen sind und calculate aktiviert ist. Kontrollieren Sie Schwellwert, Objektgrößenfilter und ROI anhand des Original- und Filterbilds. Ein zu strenger Größenfilter kann den Wurm vollständig ausschließen.
Prüfen Sie Schmutz, Bildrand und zerfallene Konturen. Passen Sie ROI und Filter an, ohne Teile des Wurms auszuschließen. Die aktuelle Messpipeline benötigt genau ein Objekt pro Bild.
Lesen Sie zunächst wormtracker_get_parameters. Prüfen Sie insbesondere Gammawerte von 0 (auch bei ausgeschaltetem Filter), die Stretchgrenzen, die Reihenfolge von Minimum und Maximum sowie Kalibrierung und ROI-Punkte. Verwenden Sie wormtracker_validate_parameters, bevor Sie einen Auftrag starten.
Prüfen Sie diameter, pixel x, pixel y und magnification anhand Ihrer Aufnahme. Prüfen Sie zusätzlich Zeitstempel, Bildbereich und Glättungsparameter. Übernehmen Sie keine Beispielwerte ohne eigene Kalibrierung.
Fragen Sie wormtracker_progress ab. Während eines laufenden Laborauftrags sind diese Änderungen absichtlich gesperrt. Warten Sie auf das Ende oder verwenden Sie wormtracker_cancel und warten Sie auf den abgeschlossenen Abbruch.
wormtracker_result liefert nur den letzten Auftrag im Arbeitsspeicher. Suchen Sie in „Gespeicherte Auswertungen“ und lesen Sie das gespeicherte job.json über wormtracker_storage_result.
completed_with_errors ist kein Gesamterfolg. Prüfen Sie die einzelnen Filme und übernehmen Sie nur gültige, erfolgreich abgeschlossene Messungen.
Das kann durch die bestehende Exportgrenze Count - 2 entstehen. Vergleichen Sie Bildbestand und Importprotokoll; beurteilen Sie einen vermeintlichen Importverlust nicht allein anhand der CSV-Zeilenzahl.