Release Notes: v1.1.0 (2026-08-09)
Erstes funktionsfähiges Release von LumiScan Area Detector. Frühere Versionen registrierten die Data-Layer-Knoten der Anwendung, lieferten aber ein festes Platzhalter-Ergebnis zurück; nichts von dem Folgenden war also vorher nutzbar.
Neu
Flächenerkennung. <module>/detect-area/execute findet die Regionen in einem Kamerabild und meldet
Fläche und Position jeder einzelnen sowie die Gesamtfläche über alle. Ein Referenzbild ist nicht
nötig: Sie beschreiben, was als Region zählt, über ihre Helligkeit, ihre Größe und ihre Rundheit.
Fünf Wege, eine Region zu finden, gewählt über input/method. CIRCLE durchläuft einen Bereich von
Intensitätsstufen und behält, was auf mehreren davon wie ein Blob aussieht - das hält auch, wenn die
Beleuchtung nicht stabil ist; die anderen vier binarisieren einmal und nehmen jede zusammenhängende
Region, unabhängig von ihrer Form. Alle fünf melden eine gemessene Pixelfläche.
Eine Wahl des Schwellwerts beim Messen, input/method-specific/corrected/min-level. Ein lokaler
Schwellwert folgt ungleichmäßiger Beleuchtung und eignet sich für feine Merkmale; ein globaler nimmt
eine massive Region als Ganzes, und genau das braucht das Messen eines massiven Teils.
Formfilter - Fläche, Rundheit, Konvexität und Länglichkeit -, sodass nur die interessierenden Regionen gemeldet werden; die Bedeutung jedes Filters ist auf dem Knoten selbst erklärt.
Optionale Vorverarbeitung vor der Erkennung: Laplacian of Gaussian, Difference of Gaussians oder Determinant of Hessian.
Eine Region of Interest pro Durchlauf, input/crop, um die Suche einzuschränken und zu
beschleunigen.
Mehrere Module, jedes mit eigenen Einstellungen und Ergebnissen, sodass eine Installation mehrere Kameras überwachen kann. Eine Lizenz gilt für zehn Module.
Die Formen der Regionen, wenn Sie sie anfordern. input/publish fügt neben den Messwerten Umrisse,
vereinfachte Polygone und Masken hinzu, jeweils auf einem eigenen Data-Layer-Knoten. Standardmäßig
leer, und dann kostet ein Durchlauf genau so viel wie zuvor. Die Masken für den ganzen Frame und pro
Region sind gewöhnliche Bildknoten, eine andere Anwendung liest sie also mit dem Code, den sie bereits
für ein Kamerabild hat.
(In 1.2.0 zurückgezogen: Ein einzelnes Label-Bild hat sie alle ersetzt.)
Ein Status bei jeder Operation: output/status-code und output/status-text, wobei ein negativer
Code immer bedeutet, dass der Durchlauf fehlgeschlagen ist und nichts erzeugt hat.
Gut zu wissen
Jede ungültige Eingabe wird sofort gemeldet, und jede Meldung nennt den zu ändernden Knoten statt
eines internen Feldnamens - threshold/min (250) must not exceed threshold/max (220).
Ein leeres Ergebnis bedeutet, dass keine Regionen zutrafen, und sonst nichts: Jeder andere Grund, aus dem ein Durchlauf nichts erzeugen könnte, wird vor der Erkennung abgefangen und als negativer Statuscode gemeldet.
Die Formen sind bewusst nicht im Ergebnis-Flatbuffer enthalten. Über die REST-API kommt ein Flatbuffer als ein JSON-String mit Zahlen in Anführungszeichen an, ein Array von Koordinaten kommt also als Array von Strings zurück - zu langsam, um es zu verwenden. Stattdessen enthält das Ergebnis die Punktanzahlen pro Region, mit denen sich die veröffentlichten Puffer zerlegen lassen.
Schalten Sie beim Messen massiver Teile input/method-specific/corrected/min-level aus. Ein lokaler
Schwellwert vergleicht ein Pixel mit seiner Umgebung, sodass die Mitte einer großen massiven Region -
wo die Umgebung gleich hell ist - herausfällt und die Region hohl gemessen wird. Siehe
Eine Szene analysieren.