Artikel
Verzweigungen im Graphen von Altron: gleichzeitig speichern, mitteln und anzeigen
Angenommen, Sie haben im Labor mehrere Stunden lang eine Probe unter der Kamera. Sie möchten auf dem Monitor ein ruhiges, rauscharmes Bild sehen, alle Rohdaten für die spätere Analyse speichern und zusätzlich alle paar Sekunden eine Momentaufnahme für einen Bericht anfertigen. Das sind drei Anforderungen an eine Kamera. In Altron lösen Sie das, indem Sie den Graphen verzweigen.

Was bedeutet Verzweigen?
Jeder Graph in Altron besteht aus Knoten, die durch Verbindungen verknüpft sind. Die Kamera steht am Anfang der Kette. Danach folgt die Verarbeitung, am Ende stehen Speicher- und Anzeigeknoten. Der Ausgang eines Knotens muss nicht nur zu einem Knoten führen. Sie können mehrere Verbindungen vom Ausgang eines Knotens ziehen, und jede Verbindung bildet einen eigenen Zweig.
Beim Verzweigen werden die Daten nicht kopiert, sondern nur gemeinsam genutzt. Ein zusätzlicher Anzeige- oder Speicherzweig kostet also keinen zusätzlichen Speicher.
Das ist die wichtigste Entscheidung. Jeder Zweig erhält genau die Daten, die am Verzweigungspunkt fließen. Einige einfache Regeln:
- Zweigen Sie den Zweig, der Daten für die Analyse speichert, nach den physikalischen Sensorkorrekturen wie Schwarzwert sowie Dunkel- und Weißkorrektur ab. Dieser Zweig muss aber vor kosmetischen Änderungen wie Gamma liegen.
- Legen Sie Glättung und Schärfung, die nur fürs Auge gedacht sind, in den Anzeigezweig, damit die gespeicherten Daten unverändert bleiben.
- Wenn Ihr eigenes Programm Daten aus der Mitte des Pfads abgreifen muss, schließen Sie an dieser Stelle einen Knoten Data Holder an. Dieser Knoten verändert die Daten nicht, sondern hält lediglich eine Kopie für externen Code bereit.
Bauen Sie diese Struktur unter Tools › Flow Graph Editor auf:
- Platzieren Sie zuerst die Kamera, dann die grundlegenden Korrekturen, etwa die Dunkel- und Weißkorrektur mit dem Knoten Correction.
- Ziehen Sie vom Ausgang der letzten Korrektur die erste Verbindung zu einem Knoten zum Speichern von Rohdaten. Dieser Zweig speichert alles vollständig.
- Ziehen Sie die zweite Verbindung zu einem Knoten Smoothing mit der Stufe Continuous Average und führen Sie dessen Ausgang einer Anzeige zu. Dieser Zweig zeigt das ruhige, gemittelte Bild.
- Verbinden Sie die dritte Verbindung direkt mit einer weiteren Anzeige, damit Sie auch die ungemittelten Live-Daten sehen.
- Speichern Sie den Graphen und drücken Sie im Hauptprogramm Recreate All. Die Änderung wird erst wirksam, wenn die Kette neu aufgebaut ist.
Für periodische Momentaufnahmen setzen Sie einen Knoten ImagingInterval an den Anfang des Zweigs und schließen den Speicherknoten dahinter an. Er hat drei Modi:
Achten Sie unbedingt auf die Option Apply to saving too. Ist sie aktiviert, zeichnen die Speicherknoten nach diesem Knoten nur die durchgelassenen Proben auf, und Sie erhalten eine Zeitrafferaufnahme. Ist sie nicht aktiviert, entlastet die Ausdünnung nur die Verarbeitung und Anzeige nach dem Knoten, und Speicherknoten ignorieren seinen Ausgang. Während in diesem Fall ein Speicherknoten derselben Kamera aufzeichnet, lässt der Knoten alle Daten durch, damit in der Aufnahme nichts verloren geht.
Unter den Standard-Graphen von Altron gibt es außerdem ein fertiges Beispiel namens Default_AreaScan_Color_Usb3+ImagingIntervalForDataSaving, von dem Sie ausgehen können.
- Gamma oder Schärfung vor den Verzweigungspunkt zum Speichern setzen und sich dann wundern, warum die gespeicherten Daten nicht zu den Messungen passen.
- Nach dem Ändern des Graphen Recreate All vergessen.
- Ein rechenintensiver Anzeigezweig, der die ganze Kette verlangsamt. Prüfen Sie auf der Registerkarte Performance, welcher Knoten den größten CPU-Anteil beansprucht, und setzen Sie ein ImagingInterval im Modus Max rate davor.
Lassen Sie den Graphen vor einer langen Aufnahme einige Minuten laufen und vergleichen Sie auf der Registerkarte Internal Info die Ein- und Ausgangsdatenraten jedes Knotens. Ist der Ausgang eines Knotens plötzlich niedriger als sein Eingang, ohne dass Sie das beabsichtigt haben, gehen genau in diesem Knoten Daten verloren.
Eine allgemeinere Erklärung zu Verarbeitungspipelines finden Sie unter Wikipedia (Englisch).
Häufige Fragen zu Graphen und Aufnahme haben wir in unseren Häufige Fragengesammelt. Wenn Ihr Graph eine besondere Struktur benötigt, schreiben Sie uns über die Kontaktseite , und wir entwerfen ihn gemeinsam.