LEARNING CENTER · TUTORIAL

Erste Schritte mit der heliAlgo Library

Die heliAlgo Library stellt sofort einsetzbare Algorithmen zur Verarbeitung von Heliotis 3D-Messdaten bereit. Dieses Tutorial gibt einen Überblick über die verfügbaren Algorithmuspakete, Installation und Programmierschnittstellen und zeigt die Integration anhand eines einfachen Python-Beispiels.

Zusammenfassung

Die heliAlgo Library erweitert klassische Machine-Vision-Software um spezialisierte Algorithmen zur Verarbeitung von Heliotis 3D-Messdaten. Viele dieser Algorithmen nutzen spezifisches Wissen über die Messprinzipien und Daten von Heliotis und kommen auch intern in Heliotis Referenz- und Produktionssoftware zum Einsatz.

heliAlgo ist nicht als Ersatz für bestehende Machine-Vision-Bibliotheken gedacht, sondern als Ergänzung. Die Algorithmen können mit HALCON, OpenCV, eigenen Algorithmen oder anderen Komponenten einer bestehenden Machine-Vision-Anwendung kombiniert werden.

Bindings stehen für C/C++, CLR (C#, LabVIEW), Python, Rust, HALCON und Aurora Vision zur Verfügung. Dabei werden unabhängig von der Programmierschnittstelle dieselben Kernalgorithmen verwendet.

Die Standardpakete der heliAlgo Library sind kostenlos verfügbar. Lediglich das Paket ISO Roughness zur Berechnung normgerechter Oberflächenparameter erfordert eine zusätzliche Lizenz.

Kurzanleitung

1. heliAlgo herunterladen und installieren

Die aktuelle Version der heliAlgo Library kann im Software-Downloadbereich von Heliotis heruntergeladen werden. Installer stehen für Windows und Linux zur Verfügung. Für den Download ist ein Heliotis Login erforderlich.

Im Installer können die benötigten Algorithmuspakete und Programmierschnittstellen ausgewählt werden. In den meisten Fällen empfehlen wir die Installation der vollständigen Library. Dabei werden auch die lokale Dokumentation und Programmierbeispiele installiert.

2. Algorithmuspakete

heliAlgo ist in funktionale Pakete für unterschiedliche Verarbeitungsaufgaben gegliedert:

  • C4 Algos – Algorithmen speziell für heliCam C4 Daten
  • Calibration – Kalibrierung, Korrektur und Stitching
  • Data Cleaning – unter anderem Ausreisserentfernung und Polynomial Fit
  • Surface Algorithms – Verarbeitung von Oberflächen- und Phasendaten, einschliesslich Guided Phase Unwrapping
  • System Checks – Charakterisierung optischer Systeme, beispielsweise Fokus- und MTF-Analyse
  • ISO Roughness – normgerechte Oberflächenparameter
  • Utilities – zusätzliche Hilfsfunktionen
  • Experimental – bereits nutzbare Algorithmen, deren API sich in zukünftigen Versionen noch ändern kann

Die Verzeichnisstruktur der Installation bildet diese funktionalen Pakete ab und enthält zusätzlich die ausgewählten Bindings, Dokumentation und Beispiele.

3. Dokumentation verwenden

Jedes Algorithmuspaket enthält eine ausführliche lokale Dokumentation. Unter Background Information werden Funktionsweise und Einsatz des jeweiligen Algorithmus sowie relevante Randbedingungen und Einschränkungen beschrieben.

Separate Bereiche dokumentieren die Schnittstellen für die verschiedenen Programmierumgebungen mit den jeweiligen Funktionen und Parametern. Die Dokumentation ist damit ein guter Ausgangspunkt für die Integration eines heliAlgo Algorithmus in eine bestehende Anwendung.

4. heliAlgo in die eigene Anwendung integrieren

Bindings stehen für folgende Programmierumgebungen zur Verfügung:

C/C++ · CLR (C#, LabVIEW) · Python · Rust · HALCON · Aurora Vision

Lediglich die Programmierschnittstelle unterscheidet sich. Die zugrunde liegenden heliAlgo Algorithmen bleiben identisch und können damit in unterschiedlichen Machine-Vision-Umgebungen eingesetzt werden.

5. Beispiel: Guided Phase Unwrapping mit Python

Im Tutorial wird eine einfache Verarbeitungskette mit Guided Phase Unwrapping aus dem Paket Surface Algorithms und Polynomial Fit aus Data Cleaning gezeigt.

Ausgangspunkt sind ein gewickeltes Phasenbild und das zugehörige Amplitudenbild. Guided Phase Unwrapping verwendet beide Eingangsdaten. Die Amplitude liefert Informationen über die Messqualität und hilft dem Algorithmus bei der Wahl eines geeigneten Pfades für das Phase Unwrapping. Dadurch wird das Risiko reduziert, dass sich lokale Phasenfehler über grössere Bereiche der Oberfläche fortpflanzen.

Anschliessend wird mit einem Polynomial Fit erster Ordnung die übergeordnete Ebene entfernt. Im letzten Schritt werden die Phasenwerte unter Berücksichtigung der Messwellenlänge von Radiant in eine physikalische Oberflächenhöhe umgerechnet.

Das Ergebnis kann als 2D-Höhenkarte dargestellt oder innerhalb der Machine-Vision-Anwendung weiterverarbeitet werden.

6. Lizenzierung

Die Standardfunktionen der heliAlgo Library sind kostenlos verfügbar; die entsprechende Standardlizenz ist in der Installation enthalten.

Für das Paket ISO Roughness ist eine zusätzliche Lizenz erforderlich. Mit dem mitgelieferten Hardware ID Tool kann die Hardware-ID des Ziel-PCs ermittelt werden. Heliotis kann darauf basierend die entsprechende Lizenzdatei bereitstellen. Alternativ kann die Lizenz bei Bedarf an einen HALCON Dongle gebunden werden.

Bei einem Update von heliAlgo wird eine vorhandene Lizenzdatei automatisch erkannt und beibehalten.

Share this post