Kundenspezifische TRM4-Versionen für den Batch-Betrieb

Das TRM4 Batch Modul ist eine maßgeschneiderte Lösung, die wir unseren Kunden zum Durchführen von TRM4-Berechnungen im Batchverfahren anbieten. Dabei definieren die Kunden, welchen Satz von TRM4-Eingabeparametern sie ändern und auf welche Ausgabeparameter sie zugreifen wollen. Im Gegenzug stellen wir eine C-Programmierschnittstelle für TRM4 zur Verfügung, welche sich in Software von Drittanbietern mit kompatibler C-Schnittstelle (z.B. Python, Matlab) einbinden lässt, um TRM4-Berechnungen im Batchverfahren für die definierten Ein- und Ausgabeparameter durchzuführen.

Arbeitsweise des TRM4 Batch Modul

Ablauf von Berechnungen mit dem TRM4 Batch Modul.
Ablauf von Berechnungen mit dem TRM4 Batch Modul.

Der Ausgangspunkt der Berechnungen mit dem TRM4 Batch Modul ist eine in der graphischen Benutzeroberfläche von TRM4 erzeugte tr4-Datei, welche als Vorlage für die Spezifikation des elektro-optischen Systems und der Umweltbedingungen dient. Diese Datei muss den in der Registerkarte „Einschränkungen“ beschriebenen Bedingungen genügen.

In einem zweiten Schritt wird diese tr4-Datei mit dem TRM4 Batch Modul eingelesen. Beim Auftreten eines Fehlers, hilft Ihnen die Diagnosefunktion des TRM4 Batch Modul bei der Fehlerbehebung. Nach dem erfolgreichen Einlesen der Datei, erhält der Benutzer ein Handle (Zeiger) auf den Satz der vereinbarten Eingabeparameter. Mit diesem Handle kann der Benutzer die Eingabeparameter nach Belieben ändern.

Für jede Änderung der Eingabeparameter kann eine TRM4-Berechnung durchgeführt werden. Wenn während der Berechnung ein Fehler auftritt, hilft die Diagnosefunktion des TRM4 Batch Modul erneut bei der Fehlerbehebung. Der Benutzer kann die Berechnungsergebnisse für den definierten Satz von Ausgabeparametern mit Hilfe eines Handles auslesen und für eine weitere Verarbeitung verwenden.

Die Eingabemaske „Target, Scenario and Task“ der graphischen Benutzeroberfläche von TRM4v3.
Die Eingabemaske „Target, Scenario and Task“ der graphischen Benutzeroberfläche von TRM4v3. Die grün umrandeten Eingabefelder für Parameterwerte können mit dem TRM4 Batch Modul geändert werden, die rot umrandeten Einstellregler nicht.

In der grafischen Benutzeroberfläche von TRM4 gibt es grundsätzlich zwei Arten von Feldern in den Eingabemasken für die Spezifikation des elektro-optischen Systems, der Umgebungsbedingungen und der Beobachtungsaufgabe: Felder die einem numerischen Wert zugeordnet sind und Felder die GUI-Steuerelementen (z.B. Optionsschaltfläche, Listenfeld, Kontrollkästchen) entsprechen. Das TRM4 Batch Modul kann nur auf diejenigen Eingabeparameter zugegriffen werden, welche Feldern mit numerischen Werten entsprechen.

Als Beispiel hierfür, zeigt die folgende Abbildung die Eingabemaske “Target, Scenario and Tasks” in dem Ziel, Hintergrund und Beobachtungsaufgabe spezifiziert werden. Mit einem roten Rechteck markierte Felder sind GUI-Steuerelemente und daher nicht als Eingabeparameter im TRM4 Batch Modul änderbar. Mit grünen Rechtecken markierten Felder, hingegen, sind numerischen Werten zugeordnet und daher als Eingabeparameter zulässig. Externe Daten, wie die spektrale Hintergrundreflektivität, werden ebenfalls als numerischer Wert betrachtet. In diesem Fall muss nur das Steuerelement „Spectral“ ausgewählt werden. Das TRM4 Batch Modul verwendet dann die in der zugrundeliegenden Tabelle gespeicherten Daten, unabhängig davon, ob es sich um voreingestellte (hier „green grassland“) oder vom Benutzer eingegebene Daten handelt.

Die volle Funktionalität des TRM4 Batch Modules wird über eine C-API mit folgenden exportierten Funktionen bereitgestellt:

Funktion Beschreibung
int bm_init()

Diese Funktion ist der Ausgangspunkt für alle Berechnungen mit dem TRM4 Batch Modul. Sie reserviert Speicherplatz und der Rückgabewert gibt an, ob dies erfolgreich war.

Der dazugehörige Punkt im Berechnungsablauf ist „Start“.

struct user_input * const bm_user_input()

Diese Funktion erzeugt ein Handle für die Struktur user_input, in welcher die Eingabeparameter abgelegt werden.

Der dazugehörige Punkt im Berechnungsablauf ist „Edit parameters“.

const struct user_output * const bm_user_output()

Diese Funktion erzeugt ein Handle für die Struktur user_output, in welcher die Ausgaben abgelegt werden.

Der dazugehörige Punkt im Berechnungsablauf ist „Read out and save results for postprocessing“.

int bm_open(const char *)

Diese Funktion öffnet eine tr4-Datei deren Name als Argument übergeben wird. Der Rückgabewert gibt an, ob dies erfolgreich war.

Der dazugehörige Punkt im Berechnungsablauf ist „Open tr4 project file in Batch Module“.

int bm_calculate()

Durch diese Funktion wird die TRM4-Berechnung gestartet. Der Rückgabewert gibt an, ob die Berechnung erfolgreich war.

Der dazugehörige Punkt im Berechnungsablauf ist „Calculate“.

const char * bm_diagnostics()

Diese Diagnosefunktion bietet den gleichen Umfang wie das Diagnosefenster in der Benutzeroberfläche von TRM4. Darüber hinaus werden zusätzliche Informationen ausgegeben, falls die Funktionen bm_open() oder bm _calculate() nicht korrekt ausgeführt wurden.

Der dazugehörige Punkt im Berechnungsablauf ist „Diagnostics“.

int bm_term()

Dies ist die letzte Funktion, die bei Verwendung des TRM4 Batch Modules aufgerufen wird. Dadurch wird der Speicherplatz freigegeben.

Der dazugehörige Punkt im Berechnungsablauf ist „End“.

Zu beachten ist dabei, dass die Strukturen user_input und user_output auf die Bedürfnisse des Kunden zugeschnitten sind und definiert werden müssen, bevor ein kundenspezifisches TRM4 Batch Modul bereitgestellt werden kann, da die Methoden bm_open (const char *), bm_calculate () und bm_diagnostics () kundenspezifischen Inhalt liefern.

Weitere Informationen

 

Sensorsimulation

Sie wollen mehr über unsere Projekte und Kompetenzen im Bereich Modellierung und Simulation von elektro-optischen Systemen erfahren? Dann besuchen Sie doch die Seite der Forschungsgruppe Sensorsimulation.

 

Haben Sie Fragen zu unserem Forschungsthema oder Interesse an einer Zusammenarbeit? Zögern Sie nicht uns zu kontaktieren. Wir unterstützen Sie gerne mit unseren Kompetenzen.

 

Abteilung Optronik

Sie wollen mehr über unsere Projekte und spezifischen Kompetenzen im Bereich Optronik erfahren?