Alle Projekte

CellStretcher

Software-Projekt | Forschungssoftware

Bild des Projekts CellStretcher

Desktop-Anwendung zur Steuerung eines Zelldehnungsgeräts am Institut für Allgemeine Physiologie der Universität Ulm. Sie entstand ursprünglich im Modul SE-Projekt in meinem Studium und wird heute aktiv im Forschungsbetrieb eingesetzt.

Rolle
Entwicklung im Zweierteam mit Schwerpunkt Desktop-Anwendung
Zeitraum
01/2026 - 10/2026
Technologien
C#, .NET 9, Avalonia, CommunityToolkit.Mvvm, LiveCharts, SDL3, xUnit, Fumadocs

Ausgangslage

Am Institut für Allgemeine Physiologie der Universität Ulm werden Zellen auf einer elastischen Membran gedehnt, um unter dem Mikroskop zu beobachten, wie sie auf mechanische Belastung reagieren. Das Gerät dafür, ein Cell Stretcher, bewegt die Membran über zwei Arme und drei Motoren und wird per USB angesteuert.

Für das Gerät gab es bereits drei Vorgänger-Programme. Sie waren jedoch fehleranfällig und nicht auf die Arbeitsweise der Forschenden zugeschnitten. Gebraucht wurde deshalb eine neue Software, mit der sich das Gerät zuverlässig bedienen und Dehnungsabläufe festlegen lassen, die sich exakt wiederholen.

Umsetzung

Die Software habe ich zusammen mit einem Kommilitonen im Modul SE-Projekt entwickelt. Sie besteht aus zwei Teilen: der StretcherAPI, einer .NET-Bibliothek, die über die serielle Schnittstelle mit dem Gerät spricht, und der Desktop-Anwendung StretcherUI auf Basis von Avalonia. Mein Schwerpunkt lag auf der Desktop-Anwendung und der Dokumentation, an der API haben wir gemeinsam gearbeitet.

  • Gerätesteuerung als eigenes Paket: Die API ist als eigenständiges NuGet-Paket von der Oberfläche getrennt. Jede Bewegung wird vor dem Senden gegen die Grenzen des Geräts geprüft, und die Oberfläche bleibt frei von Hardwaredetails.
  • Simulationsmodus: Eine simulierte serielle Schnittstelle ersetzt bei Entwicklung und Tests das echte Gerät. So laufen die Tests in der CI ohne Hardware, und neue Funktionen lassen sich ohne Laborzugang ausprobieren.
  • Protokolle aus Bausteinen: Dehnungsabläufe entstehen in einem Drag-and-drop-Editor aus Stretch-, Wait- und Loop-Blöcken, die sich beliebig verschachteln lassen. Eine Vorschau zeigt den Verlauf vorab als Diagramm, ungültige Schritte wie zu schnelle Bewegungen werden schon vor dem Start erkannt.
  • Bedienung am Mikroskop: Unter dem Mikroskop sieht man die Membran nicht direkt. Eine Live-Visualisierung spiegelt deshalb jede Bewegung der Arme, ein markierter Punkt kann beim Dehnen im Bild zentriert bleiben, und neben Tastenkürzeln lässt sich das Gerät auch mit einem Gamepad steuern.
Der Protokolleditor mit verschachtelten Schleifen und der Vorschau des Dehnungsverlaufs
Der Protokolleditor: Blöcke links, Vorschau des Dehnungsverlaufs rechts

Ergebnis

Die Software wird heute im Forschungsbetrieb des Instituts eingesetzt. Builds für Windows und macOS entstehen automatisch in einer CI-Pipeline, und eine eigene Dokumentation erklärt Forschenden die Einrichtung, den Protokolleditor und die Einstellungen, Entwickelnden die API und die Oberfläche.

Von 09/2026 bis 10/2026 habe ich die Anwendung als wissenschaftliche Hilfskraft weiter betreut, auf Basis des Nutzerfeedbacks erweitert und gewartet. Der Quellcode ist als Open Source auf GitHub verfügbar.