# Rhopoint Instruments Manual > Dieses Online-Handbuch bietet eine zentrale, verbindliche Referenz für sämtliche Hardware und Software von Rhopoint Instruments und begleitet Anwender von der ersten Einrichtung bis hin zu komplexen… This file contains the full manual content as Markdown. # Einleitung Dieses Online-Handbuch bietet eine zentrale, verbindliche Referenz für sämtliche Hardware und Software von Rhopoint Instruments und begleitet Anwender von der ersten Einrichtung bis hin zu komplexen Anwendungen und Datenauswertungen. Es richtet sich an Bediener, Qualitäts- und Laborpersonal, F&E-Teams sowie Systemintegratoren, die Rhopoint-Lösungen in Produktion und Labor einsetzen. ## Über Rhopoint Instruments Rhopoint Instruments ist ein in Großbritannien ansässiger Hersteller von Prüfgeräten für die Qualitätskontrolle, spezialisiert auf die Messung von Oberflächen- und Materialerscheinung. Das Portfolio hat sich von Glanzmessgeräten zu einem umfassenden Angebot entwickelt und umfasst Geräte für Gloss, Haze, DOI, Textur, Defektanalyse, Farbton, Opazität, Transparenz, Reibungskoeffizient und Verpackungsperformance. ## Verantwortlichkeiten und Voraussetzungen Dieses Handbuch setzt voraus, dass Anwender mit den grundlegenden Sicherheitsbestimmungen in Labor und Produktion vertraut sind und dass die Messgeräte innerhalb der in jedem Produktkapitel angegebenen Umgebungs- und Elektroparameter betrieben werden. Es ersetzt keine standortspezifischen Risikobeurteilungen oder Dokumente des Qualitätsmanagementsystems, sondern ist als Ergänzung zu bestehenden ISO-basierten Qualitätsrahmen und lokalen Arbeitsanweisungen vorgesehen. ## Software ### Appearance Elements Appearance Elements ist die zentrale PC-Anwendung für den Betrieb von Rhopoint-Messgeräten und die Arbeit mit den erfassten Daten. Sie begleitet Anwender vom Verbinden eines Geräts über das Durchführen von Messungen bis zur Anzeige der Ergebnisse in einem übersichtlichen Messbildschirm mit Tabellen, Bildern und Diagrammen. Dedizierte Module konzentrieren sich auf unterschiedliche Aufgaben wie Gloss, Textur und Effektpigmente, sodass die Oberfläche nur jene Werkzeuge anzeigt, die für das aktive Messgerät und den jeweiligen Workflow relevant sind. Ergebnisse können in Dateien oder einer Datenbank gespeichert werden; zusätzlich lässt sich die Software in einem reinen Auswertungsmodus starten, um bestehende Jobs zu analysieren, Statistiken zu erzeugen und Berichte zu erstellen, ohne dass ein Messgerät angeschlossen sein muss. [Appearance Elements (AE)](rhopoint-appearance-elements.md) ### Elements Hub Elements Hub ist ein schlanker Konnektivitätsdienst, der Rhopoint-Messdaten anderen Software- und Automatisierungssystemen zugänglich macht. Er stellt Live-Werte, Status- und einfache Steuerungsfunktionen aus den Messgeräten externen SPC-Paketen, SPS-Steuerungen, Robotern und Cobots über Standardanbindungen bereit, sodass diese Systeme auf Echtzeit-Erscheinungsmessungen reagieren können. Indem er als zentraler Hub zwischen Rhopoint-Geräten und Drittsystemen fungiert, vereinfacht er Integrationsprojekte und vermeidet kundenspezifische Treiber in jedem Client-System. [Elements Hub (EH)](rhopoint-elements-hub.md) ### Rhopoint COM Agent Rhopoint COM Agent ist eine Windows-Anwendung, die über eine serielle (COM-)Verbindung gesendete Messdaten von Rhopoint-Messgeräten – etwa dem FT3-Schichtdickenmessgerät – erfasst. Sie erkennt das eingehende Format und schreibt jedes Ergebnis in eine einfache TXT-Datei, eine strukturierte CSV-Datei oder tippt die Werte per Tastaturemulation direkt in ein anderes Programm – etwa in eine Tabellenzelle, eine QS-Datenbank oder ein ERP-Formular. Im Demo-Modus lässt sie sich auch ohne angeschlossenes Messgerät ausprobieren. [Rhopoint COM Agent](rhopoint-com-agent.md) ### Rhopoint Symmetron Rhopoint Symmetron ist ein kostenloses Diagnosewerkzeug, das prüft, ob ein PC für den Betrieb von Rhopoint-Software und -Messgeräten bereit ist. Vor der Installation überprüft es, ob der Rechner die technischen Voraussetzungen erfüllt – Betriebssystem, Arbeitsspeicher, USB-3-Anschlüsse, Kameratreiber und Netzwerkanbindung – und hilft anschließend dabei, schreibgeschützte Diagnoseinformationen zu sammeln, um Probleme gemeinsam mit dem Rhopoint-Support zu lösen. Es benötigt keine Lizenz und verändert ohne Zustimmung nichts am System. [Rhopoint Symmetron](rhopoint-symmetron.md) ## Messgeräte ### Rhopoint Aesthetix Rhopoint Aesthetix ist ein modularer, kamerabasierter Doppelsensor, der detaillierte Bilder einer Oberfläche unter kontrollierter Beleuchtung erfasst, um Gloss, Haze, Textur, Sparkle, Welligkeit und Defekte zu bewerten. Er wird über USB an einen Windows-PC angeschlossen und nutzt wahrnehmungsbasierte Metriken, um zu beschreiben, wie Oberflächen vom menschlichen Auge wahrgenommen werden. [Rhopoint Aesthetix](rhopoint-aesthetix.md) ### Rhopoint TAMS Rhopoint TAMS ist ein Handmessgerät für hochwertige, hochglänzende Oberflächen, das bewertet, wie gut ein Finish insgesamt aussieht und wie gut Teile zueinander passen. Ein Niedrigglanz-Modul prüft zusätzlich E-Coat, Kunststoffe und ähnliche Rohmaterialien, beschreibt Oberflächenrauheit und Welligkeit und ermöglicht es, frühe Prozessschritte mit dem finalen Erscheinungsbild zu verknüpfen. [- Rhopoint TAMS -](rhopoint-tams.md) --- # Rhopoint Aesthetix ![Rhopoint Aesthetix](../_images/1766070875282-rhopoint-aesthetix-product-image-in-hand-on-painted-panel-grey-panel.jpg) [Erste Schritte mit Aesthetix](rhopoint-aesthetix-getting-started-with-aesthetix.md) ### Was ist Rhopoint Aesthetix? Rhopoint Aesthetix ist ein **modularer, kamerabasierter Sensor zur Oberflächenerscheinungs-Messung**, der erfasst, wie reale Oberflächen vom menschlichen Auge wahrgenommen werden – über ein breites Materialspektrum hinweg, darunter Lacke, Kunststoffe, Metalle und strukturierte Beschichtungen. Er nutzt hochauflösende Bildgebung, kontrollierte Mehrwinkel-Beleuchtung und austauschbare Adapter, um detaillierte Reflexions- und Oberflächenbilder von flachen Platten, kleinen Teilen und gekrümmten Bauteilen sowohl im Labor als auch in der Produktion zu erfassen. In einer einzigen Messung kann Aesthetix mehrere Aspekte der Erscheinung charakterisieren – darunter Textur, Welligkeit, Haze, DOI, Sparkle, Körnigkeit, Kratzer und andere sichtbare Defekte – und jede Kenngröße direkt mit gespeicherten Bildern verknüpfen. Dieser bildgestützte Ansatz erleichtert es Bedienern, Qualitätsingenieuren und F&E-Teams, visuelle Vorgaben zu definieren, Materialien und Prozesse auf einer gemeinsamen Skala zu vergleichen und Erscheinungsanforderungen unternehmensweit klar zu kommunizieren. ![Techniker betrachten den Aesthetix-Messbildschirm](../_images/1766070761055-aesthetix-technicians-looking-at-screen.jpg) --- # Reinigung des Aesthetix-Sensors ## Reinigung des Aesthetix-Sensors Diese Seite erläutert, wie die Optik und die Kontaktflächen des Aesthetix-Sensors gereinigt werden, um zuverlässige Messungen zu gewährleisten und Schäden am Messgerät oder an den Proben zu vermeiden. ### Sicherheit und allgemeine Regeln - Das Sensorgehäuse darf nicht geöffnet werden. - Vor jeder Reinigung in der Software laufende Messungen stoppen. - Niemals Haushaltsreiniger, scheuernde Materialien oder nicht freigegebene Lösungsmittel an Sensor oder Adaptern verwenden. --- ### Reinigung der Sensorlinsen und des Optikfensters Das Optikfenster und die internen Linsen sind Präzisionskomponenten und dürfen ausschließlich mit einem **dedizierten Linsenreinigungs-Set** gereinigt werden (z. B. Kamera-/Optik-Reinigungs-Set mit Blasebalg, Linsenpinsel und Linsentüchern bzw. -tuch). 1. Das Fenster bei guter Beleuchtung auf Staub, Fingerabdrücke oder Schlieren prüfen. 2. Losen Staub mit dem Blasebalg aus dem Reinigungs-Set entfernen; nicht mit dem Atem pusten. 3. Verbleibende Partikel mit dem weichen Linsenpinsel des Sets sehr leicht abstreifen. 4. Bei Fingerabdrücken oder Schlieren eine kleine Menge Linsenreinigungsflüssigkeit auf ein Linsentuch/Mikrofasertuch des Sets aufbringen (niemals direkt auf das Fenster). 5. Das Fenster behutsam in geraden Bahnen abwischen, anschließend sofort mit einem frischen Linsentuch trocknen. Nicht erlaubt: - Papierhandtücher, Standardtücher oder Wattestäbchen verwenden. - Stark drücken, in Kreisbewegungen reiben oder benutzte Tücher wiederverwenden. - Flüssigkeit direkt auf den Sensor sprühen oder tropfen. > [!warning] > Eine nicht korrekt durchgeführte Reinigung der Optik kann zu Messproblemen führen. > Im Zweifelsfall den Rhopoint-Service kontaktieren – nach Möglichkeit das Messgerät zur Werks- oder Service-Center-Reinigung einsenden. *** ### Reinigung der Adapter und Kontaktflächen 1. Den Adapter vom Sensor abnehmen. 2. Die äußeren Kontaktflächen und Gummifüße mit einem sauberen, fusselfreien Tuch abwischen, das bei Bedarf leicht mit Wasser oder mildem Reinigungsmittel angefeuchtet ist; anschließend gründlich trocknen. 3. Die Messöffnung frei von Lack, Staub und Fasern halten; bei Bedarf den Blasebalg aus dem Reinigungs-Set um die Blende herum einsetzen (direkten Kontakt mit der Optik vermeiden). Lösungsmittel, die Gummi oder Kunststoffteile angreifen können, sind zu vermeiden. Vor dem erneuten Anbringen des Adapters müssen alle Flächen vollständig trocken sein. *** ### Best Practice zur Vermeidung von Verunreinigungen - Sensor und Adapter bei Nichtgebrauch im zugehörigen Koffer aufbewahren. - Das Messgerät nicht mit der Messfläche auf staubigen oder lackierten Oberflächen ablegen. - Keine Messungen auf nicht ausgehärteten oder stark verschmutzten Beschichtungen durchführen. --- # Cobot and Inline Setup > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ![image description](../_images/1770462827802-2026-02-07_11-12.png) ## Fixing the Aesthetix The Aesthetix aluminium chassis should be fixed at two points (2) Rhopoint supply fixtures and brackets that can be used to integrate to Cobot/Robot or inline mounting points - contact us for more details. ## Positioning the device- contact measurement Before taking a measurement the device must be positioned so that the base of the adaptor is in contact with the surface and completely flat. ## Procedure for non-contact measurement If measuring the gloss of curved parts the [Non-Contact Small Area Gloss Adaptor (2mm)](rhopoint-aesthetix-curved-surfaces-non-contact-measurement-non-contact-small-area-gloss-adaptor-2mm.md) should be attached. -For all other measurements the bottom adaptor (1) should be removed. -Position the sensor sensor so the bottom part of the Aesthetix (without base) is 10mm from the surface. -Use the interactive measurement mode to check the correct part of the sample is in positioned in the FOV, and that the gloss reflection is in the middle of the sensor. [How to measure Surface Brilliance](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-surface-brilliance-how-to-measure-surface-brilliance.md) ## Considerations for Non-contact measurement **Ambient lighting**- measurments are largely unaffected by changes in ambient light conditions, however do not use outside or in direct sunlight without shielding optics from gross changes in light conditions. **Positional Accuracy**- For accurate measurement the focal distance must be maintained to 10mm +/- 0.2mm (measured from the bottom of the sensor unit) with a maximum angular error of +/- 0.5° parallel and perpendiular to the measurement plane **Moving Material**- Gloss, Haze, DOI measurements can be measured on a moving line, other measurements which require observer camera images require a stationary material. --- # Getting Started with Aesthetix > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The Aesthetix is a camera-based measurement sensor that is not a stand‑alone instrument and must always be used in combination with Rhopoint Appearance Elements or Elements Hub software. This page explains the basic setup requirements and how to connect the sensor so it can be safely and correctly controlled by the software.​ ## System requirements Aesthetix must be connected to a compatible Windows 11 PC or tablet with Rhopoint Appearance Elements or Rhopoint Headless Elements installed; it cannot perform measurements or display results on its own. The host device must have an available USB 3.0 port, sufficient storage for images and results, and user permissions to install and run the software.​ ## Software The Rhopoint Aesthetix can be used with two software packages- **Appearance Elements (AE)** is Rhopoint Instruments PC based measurement and data analytics software. [Install Appearance Elements](rhopoint-appearance-elements-install-ae.md) [Using Aesthetix with Appearance Elements](rhopoint-appearance-elements-using-aesthetix-with-ae.md) **Headless Elements (HE)** is a headless connection hub for third party applications such as SPC, PLC and laboratory management software. [Install Elements Hub](rhopoint-elements-hub-install-elements-hub.md) --- # Packing List > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ## Package contents - Aesthetix sensor with USB-C connector - Gloss module calibration standard - USB stick containing: - Appearance Elements software installer - Lanyard hand strap - Small part and curved surface adapter - Calibration certificates - Printed quick start guide - Cleaning Cloth - Optional: - Texture measurement calibration standard - Rubber base standard adapter - Rubber base small part and curved surface adapter - Measurement stand - Non-contact small part and curved surface adapter - Bespoke part adaptors - USB-A connector cable - 3m connector USB-C cable --- # Specifications and Dimensions | Gerät | Aesthetix | |-------------------------|------------------------------------------------------------------------------------| | Größe (H × L × B) [mm] | 104 × 177 × 83 | | Gewicht [g] | 802 | | Stromversorgung | USB-3.0-Port am steuernden PC/Tablet (max. 7,2 W, min. 2,4 W) | | Steuerung | Software-ausgelöste Messung oder Read-Taste am Messgerät | | Schnittstelle | USB 3.0 USB-C oder Thunderbolt | | Innen-/Außeneinsatz | Tragbares Gerät; Einsatz innen oder außen möglich, primär jedoch im Labor. | | Höhenlage | Bis 2000 Meter | | Temperatur | Betriebstemperatur: 15 °C – 40 °C (60 °F – 104 °F) | | Relative Luftfeuchte | Betriebsfeuchte: bis 85 % (nicht kondensierend) | | Spiegelnde Optik | | |------------------------------|------------------------------------------------| | Geometrie | 60° | | Messfleckgröße [mm] | 9 × 18 Ellipse (2 × 4 mit Adapter) | | Aspekulare Optik | | |------------------------|--------------------------------------------------| | Geometrie | 10°x:0°; 45°c:0°; 60°x:0°; 20 mm Linienlicht | | FOV [mm] | 18 × 24 | | Analysierter Bereich [mm] | variiert | | Auflösung (Oberfläche) | 9,2 µm/Pixel (109 Pixel/mm) | --- # Storage and Handling > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ## Storage and handling To maintain performance, the Aesthetix should be stored and handled as a precision optical instrument. - Avoid impacts: Do not knock, drop or subject the instrument to shock as this may damage optics or electronics. - Temperature stabilisation: If the instrument has experienced a large temperature change, allow it to stabilise to ambient before use to prevent internal misting. - Environmental protection: Prevent exposure to moisture, chemicals and corrosive vapours during storage and operation. - Measuring aperture: Do not insert objects into the measuring aperture; this can damage the measuring system. - Cleaning: Clean housing and screen only with a soft, slightly moist cloth; chemical resistance cannot be guaranteed for all solvents. - Sunlight and humidity: Avoid prolonged direct sunlight, continuous high humidity or condensation. --- # Curved Surfaces & Non-Contact Measurement > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. #aesthetix The Rhopoint Aesthetix sensor uses a modular, magnetic base system that accepts a range of jigs and adapters for different sample types and geometries. These accessories can be quickly removed and reattached, enabling repeatable positioning for flat panels, curved components, small parts and delicate surfaces in both contact and non‑contact configurations. To remove an adapter, pull gently on it to separate it from the base. The adapter is held in place magnetically, so it will release cleanly without tools when a light, even pulling force is applied. ##### Standard Adaptor (included with standard Aesthetix) Flat surfaces- ideal for laboratory measurement of test panels [Standard Adaptor](rhopoint-aesthetix-curved-surfaces-non-contact-measurement-standard-adaptor-included-with-standard-device.md) ##### Curved Surface and small area gloss adaptor (included with standard Aesthetix) Measure gloss in a smaller area and measurement of cylindrical parts. [Curved surface and small area gloss adaptor](rhopoint-aesthetix-curved-surfaces-non-contact-measurement-curved-surface-and-small-area-gloss-adaptor-included-with-standard-device.md) #### Small Parts Gloss, Haze and DOI measurement of small parts- [Novo Curve small aperture adaptor](rhopoint-aesthetix-curved-surfaces-non-contact-measurement-novo-curve-small-aperture-adaptor.md) ##### Improved Grip on Flat Surfaces Non slip rubber feet improve measurement improve positional stability on high slip surfaces, ideal for in field measurement- [Four-point rubber contact adaptor](rhopoint-aesthetix-curved-surfaces-non-contact-measurement-four-point-rubber-contact-adaptor.md). ##### Improved Grip on Cylindrical Parts Non slip rubber feet improve measurement improve positional stability on high slip surfaces, ideal for in field measurement of large cylinders- [Four-point rubber contact adaptor](rhopoint-aesthetix-curved-surfaces-non-contact-measurement-four-point-rubber-contact-adaptor.md). #### Improved Grip on Large-radius Complex curved surfaces Non slip rubber feet improve measurement on high slip surfaces, ideal for in field measurement- [Three‑point rubber contact adaptor](rhopoint-aesthetix-curved-surfaces-non-contact-measurement-three-point-rubber-contact-adaptor.md) #### Curved Surfaces Complex Curved Surfaces- [Three-point rubber contact adaptor - small aperture](rhopoint-aesthetix-curved-surfaces-non-contact-measurement-three-point-rubber-contact-adaptor-small-aperture.md) #### Non-Contact measurement Small area gloss adaptor (needed for measuring gloss of curved surfaces)-[Non-Contact Small Area Gloss Adaptor (2mm)](rhopoint-aesthetix-curved-surfaces-non-contact-measurement-non-contact-small-area-gloss-adaptor-2mm.md) --- # Adaptor Mount > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. #aesthetix The adaptor mount is designed to allow multiple mounting options for the Aesthetix, it attaches to the Aesthetix using the mounting holes on each end of the device. It is provided with the lab stand but can also be purchased separately. **Part Number- B8000-300** The adaptor mount has two options for mounting the device, direct mounting on the measurement stand or four mounting holes designed to take M6 socket cap screws. Central hole is used in the lab stand, 4 remaining holes can be used for mounting using M6 screws. ![Adaptor Mount](../_images/1770909947836-adaptor-mount.png) If using the lab stand attach the adaptor plate to the adaptor mount using the thumb screw. ![image description](../_images/1770909718302-PXL_20260212_122008289.jpg) Attach the mount to the Aesthetix using the supplied 1/4 UNC screws. ![](../_images/1770909724276-PXL_20260212_122103244.jpg) ![](../_images/1770909728970-PXL_20260212_122128346.jpg) Adaptor mount fitted showing the lab stand adaptor plate. ![](../_images/1770909734449-PXL_20260212_122200744.jpg) --- # Bespoke jigs and fixtures ### Maßgeschneiderte Vorrichtungen Der Rhopoint Aesthetix kann mit 3D-gedruckten Vorrichtungen für wiederholbare Messungen an kleinen Teilen oder gekrümmten Oberflächen eingesetzt werden. > [!tip] Rhopoint bietet einen Design-Service für 3D-Vorrichtungen und Halterungen an. Für die Eigenentwicklung von Vorrichtungen und Halterungen kann Rhopoint kontaktiert werden, um ein 3D-Design-Beratungspaket inklusive Beispiel-STL-Dateien zu erhalten. > [!info] Nach jedem Adapterwechsel muss das Messgerät erneut kalibriert werden. ![Lenkrad](../_images/1770907569861-steering-wheel.png) ![Maßgeschneiderte Vorrichtung](../_images/1770907563838-custom.png) --- # Curved surface and small area gloss adaptor (included with standard device) > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ### Small Area Gloss Adaptor The small area gloss adapter is designed for curved surfaces or for resolving gloss in small areas where the standard Aesthetix gloss measurement spot is too large. The V-shaped cut-outs are designed to allow accurate positioning of small cylindrical components. It reduces the gloss measurement aperture from 9 × 12 mm to approximately 2 × 3 mm, allowing accurate measurements on tighter curves and small localised areas that need to be individually identified and characterised. The flat smooth base of this adaptor makes it most suitable for flat panels or very gently curved surfaces. For more complex curved surfaces consider the three or four point adaptors. The small area gloss adaptor is supplied as standard with the Aesthetix sensor. **Part Number B8000-032** ![B8000-032](../_images/1768404294198-B8000-032.png) --- # Four-point rubber contact adaptor > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The four‑point rubber contact adaptor with the standard gloss aperture is intended for measuring flat panels and other planar surfaces where extra stability is required. It retains the normal Aesthetix gloss spot size, making it suitable for general paints and coatings applications while improving instrument handling on larger samples. ​ Four certified rubber contact elements support the instrument at the corners of the adaptor, helping the sensor sit flat and securely on the surface during measurement. This added stability reduces the risk of sliding, improving repeatability and making it easier to obtain consistent gloss, haze and DOI readings on panels in laboratory and production environments. **Part Number- B8000-039** ![B8000-039](../_images/1770739556252-B8000-039.png) --- # Four-point rubber contact adaptor - small aperture > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The four‑point rubber contact adaptor is designed for measuring cylindrical and regularly curved objects such as pipes, tubes and rods. With the 2 mm gloss spot size provided by the small‑area optics, the device is suitable for measuring the gloss of cylinders with diameters down to 40 mm, while still maintaining reliable alignment on the curvature. ​ Its four certified rubber contact points support the instrument along the long axis of the object, positioning the gloss aperture precisely on the curved surface for stable, repeatable readings. The rubber material is compatible with paint shop environments and minimises the risk of marking fresh or sensitive coatings during measurement. For best results when measuring cylinders place the instrument along the flattest edge of the sample as shown below. **Part Number B8000-040** ![B8000-040](../_images/1770800537414-B8000-039-with-pipe.png) ![B8000-039](../_images/1770739556252-B8000-039.png) --- # Laboratory Measurement Stand > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The Rhopoint Aesthetix Lab Stand enables users to take precise, non‑contact measurements of delicate materials and curved surfaces, ensuring accuracy without risking damage or deformation. Curved parts can be manipulated using live view to ensure correct alignment. **Part Number- B8000-010** ![](../_images/1770463097372-2026-02-07_11-17.png) ### Procedure for non-contact measurement The pre-calibrated Aesthetix should be attached to the stand with the [standard](rhopoint-aesthetix-curved-surfaces-non-contact-measurement-standard-adaptor-included-with-standard-device.md) or [small area gloss adaptor](rhopoint-aesthetix-curved-surfaces-non-contact-measurement-curved-surface-and-small-area-gloss-adaptor-included-with-standard-device.md) attached. **Set Focal Distance** - Place the part (3) to be measured on the stand. - Wind the handle (1) until the bottom plate is in contact with the measurement surface, **Check positioning** - Use the interactive measurement mode to ensure the correct part of the sample is in the FOV, and if measuring gloss that the gloss reflection is in the middle of the sensor. [How to measure Surface Brilliance](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-surface-brilliance-how-to-measure-surface-brilliance.md) - Note the height of the laboratory stand z-axis (4) **Remove Base** - Lift the Aesthetix (1) and remove the base, if measuring the gloss of curved parts replace with the [Non-Contact Small Area Gloss Adaptor (2mm)](rhopoint-aesthetix-curved-surfaces-non-contact-measurement-non-contact-small-area-gloss-adaptor-2mm.md). - Wind (1) to the correct height (4) z-axis (4) - Use the interactive measurement mode to check the correct part of the sample is in position, and that the gloss reflection is in the middle of the sensor. [How to measure Surface Brilliance](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-surface-brilliance-how-to-measure-surface-brilliance.md) - Measure the sample. --- # Non-Contact Small Area Gloss Adaptor (2mm) > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ### Non-Contact Measurement The Non-Contact Small Area Gloss Adaptor (2mm) is designed to allow non-contact measurement when using the Aesthetix with a Lab Stand, Co-Bot or mounted on a custom designed frame/jig. The adaptor must be used with a gap of 2mm between the bottom face and the sample to be measured. ​ This adaptor incorporates the small‑area gloss aperture, enabling accurate measurements on localised features and curved parts. **Part Number- B8000-034** ![B8000-034](../_images/1770811750745-B8000-034.png) --- # Novo Curve small aperture adaptor > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The Novo-Curve small aperture adapter converts the Aesthetix sensor into a Novo-Curve–style glossmeter for very small parts and features. When this adapter is fitted the instrument is used upside down so that small components can be placed and manipulated on top of the adapter surface. The V-shaped cut-outs are designed to allow accurate positioning of small cylindrical components. ​ With this adapter, the measurement port is reduced to a hole of approximately 2-3 mm diameter, allowing precise gloss measurements on tiny areas that are difficult to measure with the standard aperture. Small parts can be manually positioned and rotated during measurement to find and characterise the exact region of interest. ​ When the Novo-Curve small aperture adapter is attached, the 0° camera path is blocked, so the 0° images and live view are not available. In this configuration the instrument can only be used for standard gloss, haze (without compensation) and DOI measurements and not for full image-based Aesthetix metrics. **Part number- B8000-041** ![B8000-041](../_images/1768405567249-B8000-041.png) --- # Standard Adaptor (included with standard device) > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The standard adaptor is designed for contact measurements on flat, rigid panels and is the default choice for most Aesthetix applications in paints and coatings laboratories. It provides a gloss measurement spot of approximately 9 mm by 12 mm, allowing the instrument to average appearance over a relatively large area that is representative of typical coated test panels and production parts. The standard adaptor is supplied as standard with the Aesthetix sensor. **Part Number- B8000-031** ![B8000-031](../_images/1768405619734-B8000-013.png) --- # Three-point rubber contact adaptor - small aperture > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The three‑point rubber contact adaptor with small aperture is designed to improve stability when measuring complex curved surfaces using a tripod contact arrangement. Three rubber feet support the instrument at well‑defined points, helping it sit securely on irregular or multi‑axis curves while keeping the optics correctly oriented to the surface. ​ This adaptor incorporates the small‑area gloss aperture, enabling accurate measurements on localised features and tight radii where the standard spot size would be too large. The combination of tripod stability and reduced measurement area makes it particularly suitable for small, contoured components and detailed inspection zones on complex geometries. **Part Number- B8000-036** ![B8000-036](../_images/1770811152707-B8000-036.png) --- # Three‑point rubber contact adaptor > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The three‑point rubber contact adaptor with the standard gloss aperture is designed to improve stability when measuring complex curved or slightly irregular surfaces. Three rubber feet form a tripod support, helping the instrument sit securely on the surface and maintain the correct orientation for the standard gloss measurement spot. ​ Because the standard gloss aperture is retained, this adaptor is suitable for routine gloss, haze and DOI measurements where a full‑size measurement area is required but positioning is more challenging. The tripod contact pattern reduces rocking and variation in contact, improving repeatability on contoured panels and other parts that are not perfectly flat. **Part Number- B8000-035** ![B8000-035](../_images/1770811152707-B8000-036.png) --- # Rhopoint TAMS > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. [Getting Started with TAMS](rhopoint-tams-getting-started-with-tams.md) ![image description](../_images/1770486623097-TAMS1.jpg.webp) ## What is Rhopoint TAMS? Rhopoint TAMS (Total Appearance Measurement System) is a **portable, imaging‑based instrument** that quantifies how reflective surfaces actually appear to a human observer. It was developed with Volkswagen AG for automotive body panels, but the same principles apply to any product where perceived finish quality is critical, including domestic appliances, consumer electronics, plastic components, decorative metalwork and coil‑coated sheet. TAMS uses Phase Measurement Deflectometry and high‑resolution surface mapping to capture how a surface reflects and distorts structured patterns in **less than 10 seconds**, directly on the part. The instrument generates detailed 2D and 3D data and converts this into perception‑based High Gloss metrics such as Contrast, Sharpness, Waviness and Dimension, along with composite indices Quality (Q) and Harmony (H) that describe overall appearance and panel‑to‑panel matching in a way that aligns with human vision. In separate a Low Gloss mode, TAMS focuses on surface topography and roughness for stages such as raw material, E‑coat and primer. The full‑field altitude map is filtered using ISO GPS‑style methods (for example ISO 16610 / ISO 25178 concepts) to generate optical roughness and waviness values compatible with modern surface specifications, linking roughness control directly to final visual appearance. --- # TAMS kalibrieren ## TAMS kalibrieren Vor jeder Messung muss das TAMS mit der mitgelieferten Kalibrierplatte kalibriert werden, damit Fokus und Referenzwerte korrekt eingestellt sind. ### Kalibrierplatte Die Platte enthält drei Standards: - **Plastic-ref** – für die Fokussierung auf die Oberfläche. - **Silver-ref** – für die Bildschirm-Fokussierung und die Referenzkalibrierung. - **Check tile-ref** – ausschließlich für die spätere Verifizierung (nicht während der Kalibrierung verwendet). ### Kalibrierung starten 1. Am Messgerät **Menu → Calibration → Start calibration process** auswählen. 2. Mit **YES** bestätigen und **OK** drücken. ### Schritt 1 – Plastic-ref 1. Das TAMS auf den **Plastic-ref**-Standard (oberer Standard) aufsetzen. 2. Sicherstellen, dass alle vier Füße flächig auf dem Standard aufliegen. 3. **Continue** auswählen und **OK** drücken. Das TAMS stellt nun den Oberflächen-Autofokus ein. ### Schritt 2 – Silver-ref 1. Das TAMS auf den **Silver-ref**-Standard (spiegelartiger mittlerer Standard) umsetzen. 2. Sicherstellen, dass alle vier Füße flächig auf dem Standard aufliegen. 3. **Continue** auswählen und **OK** drücken. Das TAMS stellt nun den Bildschirm-Autofokus und die Referenzkalibrierung ein und kehrt anschließend in den normalen Betriebsmodus zurück. ### Schritt 2 – Gloss 1. Das TAMS auf den **Gloss-ref**-Standard umsetzen. 2. Sicherstellen, dass alle vier Füße flächig auf dem Standard aufliegen. 3. **Continue** auswählen und **OK** drücken. Das TAMS kalibriert nun die Gloss-Messung. --- # Cleaning the TAMS > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ## Cleaning the TAMS sensor This page explains how to clean the TAMS optical area and contact surfaces to maintain reliable measurements while avoiding damage to the instrument or sample surfaces. ### Safety and general rules - Do not open the instrument housing or remove any internal covers. - Always stop measurements and, where possible, switch off the instrument before cleaning. - Never use household cleaners, abrasive pads or unapproved solvents on any part of TAMS. *** ### Cleaning the sensor lenses and LCD screen The viewing window and internal optics of TAMS are precision components. They must only be cleaned using a **dedicated lens cleaning kit** (for example a camera/optical kit with blower, soft lens brush and lens tissues or microfiber cloth). 1. Place the instrument on a stable surface with the measurement aperture facing up. 2. Inspect the optical window under good lighting for dust, fingerprints or smears. 3. Use the blower from the lens kit to remove loose dust and particles; do not use your breath. 4. If particles remain, use the soft lens brush from the kit with very light strokes, avoiding any pressure on the window. 5. For fingerprints or smears, apply a small amount of lens cleaning fluid to a clean lens tissue/microfiber from the kit. 6. Wipe the window gently in straight lines, then dry immediately with a fresh, dry lens tissue. Do not: - Spray or drip liquid directly onto the measurement aperture. - Use paper towels, standard cloths, cotton buds or abrasive wipes. - Press hard on the window, scrub in circles or reuse dirty tissues. > [!warning] > Optic cleaning may result in measurement issues if not performed correctly. > Contact Rhopoint Service if in any doubt- if possible return instrument for factory or service centre cleaning *** ### Cleaning the rubber feet and contact area The soft rubber feet around the measurement base form the light enclosure and protect the surface being measured. Keep them clean to avoid contamination and sealing issues. 1. Wipe the rubber feet and surrounding base gently with a clean, lint‑free cloth slightly dampened with water or mild detergent if needed. 2. Remove any paint flakes, dust or debris, taking care not to push contamination into the optical aperture. 3. Allow the rubber to dry completely before using TAMS again. Avoid strong solvents that may swell or damage the rubber material. *** ### Good practice to prevent contamination - Store TAMS in its case or on the docking station when not in use. - Avoid placing the measurement base on dusty, abrasive or heavily contaminated surfaces. - Allow freshly painted surfaces to flash off and harden according to process guidelines before measurement. - Inspect the optical window regularly; clean promptly if contamination is visible or if measurement stability degrades. Regular cleaning with a dedicated lens cleaning kit and careful handling will help preserve the optical performance of TAMS and ensure stable, repeatable appearance measurements over the life of the instrument. --- # Getting Started with TAMS > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ### System requirements TAMS can be used as a **hand‑held, stand‑alone instrument**, operated directly via its built‑in screen, menus and on‑board storage for fast checks on the line, in the lab or at the audit station. When you want PC control and advanced analysis, TAMS can be connected to a compatible Windows 10 or 11 PC or tablet with Rhopoint software installed. The host device should provide a stable USB connection (or approved wireless link), sufficient storage for maps and results, and user permissions to install and run Rhopoint applications. ### Software TAMS works with two Rhopoint software platforms: - **Appearance Elements (AE)** – full GUI software for running measurements, viewing TAMS maps and images, and managing jobs, batches and reports alongside other Rhopoint instruments. - **Headless Elements (HE)** – a background service used when TAMS is integrated into automated or third‑party systems, providing measurement control and data access without the full AE user interface. --- # High Gloss Mode > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ## High Gloss Mode overview High Gloss Mode evaluates smooth, reflective surfaces where visual impression is critical, such as painted panels, plastics, decorative metals, glass and high‑gloss coatings. TAMS projects a series of patterns onto the surface and uses techniques such as Phase Measurement Deflectometry, Optical Transfer Function analysis and line deformation methods to characterise how the surface reflects and distorts these patterns. This behaviour is condensed into a set of perception‑based metrics, so users can see at a glance how good a finish looks and how closely different parts or samples match. ## Quality and Harmony metrics High Gloss Mode reports two main indices: **Quality (Q)** and **Harmony (H)**. - **Quality (Q)** describes the overall visual appearance of a high gloss surface, combining contrast, sharpness and waviness into a single 0–100% value, where 0% indicates a poor, dull or highly distorted finish and 100% represents a mirror‑like surface. - **Harmony (H)** describes how similar two high gloss surfaces are when viewed side by side, for example adjacent panels or reference versus production. A value below 1 suggests that most observers would accept the difference in texture and orange peel between the two; values above 1 indicate differences that many viewers are likely to notice and find unacceptable. These indices are designed to follow how people actually judge surfaces, making them suitable for specification, process control and communication with non‑specialists. ## Colour‑dependent perception in High Gloss Mode TAMS Quality automatically includes **basecoat colour** through the contrast parameter, so dark and light colours are handled correctly. Contrast depends on colour—white and metallic finishes have low contrast, while deep black can approach 100%—which changes how strongly texture, haze and DOI are seen. Because colour is built into the measurement, surfaces with very different colours can be controlled on the **same Quality and Harmony scale**, instead of using separate limits or rules for each colour shade. This simplifies specifications and ensures that appearance control reflects what people actually see on the finished product. ## Underlying appearance parameters To calculate Quality and Harmony, TAMS first extracts several sub‑characteristics from the reflected image. - **Contrast (C)** measures the difference between bright highlights and dark areas in the reflection and is directly linked to surface colour: deep black, high‑impact finishes give high contrast, while white and metallic surfaces have low contrast. - **Sharpness (S)** quantifies how clearly details are reflected. At close distances it indicates how well fine features are reproduced; at normal viewing distance it is closely related to haze and clarity. Values range from 0% (blurred, low definition) to 100% (very crisp reflection). - **Waviness (W)** describes the overall wave‑like distortion of the reflection caused by larger‑scale texture or orange peel. A value of 0 corresponds to a visually flat surface with minimal distortion; values up to around 30 represent increasingly wavy, distorted reflections. - **Dimension (D)** indicates the dominant texture scale seen at a typical viewing distance of around 1.5 m. It is expressed in millimetres, typically between 0.5 and 8 mm, and helps distinguish fine, tight texture from coarse, large‑scale structure. Together, these parameters allow High Gloss Mode to summarise complex reflection behaviour into intuitive numbers that match visual perception and support both quality control and process optimisation on any high gloss surface. --- # Low Gloss Mode > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Low Gloss Mode is used to evaluate surfaces where texture and roughness dominate the visual impression, such as pre‑treated metals, primers, electro‑coats, matt and semi‑gloss finishes, and many raw or semi‑finished materials. In these situations, the final appearance of any high‑gloss topcoat depends strongly on the underlying roughness and waviness, so measuring earlier process steps provides valuable insight and control. In this mode, TAMS generates a full‑field 3D altitude map of the surface and derives roughness‑ and texture‑based parameters from this map. ## Quality Control roughness and texture parameters Low Gloss Mode reports several key indices from the altitude map, without applying additional filtering in the standard algorithm. - **Optical‑Ra (O‑Ra)** is an image‑based equivalent of the familiar Ra parameter, calculated as the arithmetical mean deviation of the altitude profile across the measured area. It is derived from the 3D map, so it captures roughness over a defined field rather than a single line. - **Optical‑Rq (O‑Rq)** is the root‑mean‑square deviation of the altitude profile, analogous to Rq in classical roughness analysis. Like O‑Ra, it is computed from the full‑field elevation data to give a robust description of surface height variation. - **Waviness** describes the larger‑scale movement of the surface texture using slope information and standard deviation calculations. Values run from 0 (very low texture) to around 30 (very strong texture), and are often influenced by upstream processes such as rolling, forming or blasting. - **Quality (Q)** in this mode is derived from waviness and expressed on a 0–100 scale, providing a single indicator of how smooth or textured the surface is from a process standpoint. These parameters allow users to quantify how well different stages (for example substrate, pre‑treatment, low gloss coatings) prepare a surface for later finishing, and to understand which processes have the greatest impact on final appearance. ## Advanced roughness analysis For applications that require more classical ISO‑style roughness evaluation, Low Gloss Mode can be extended with the **O‑Rough** algorithm. In this configuration, TAMS applies ISO‑16610 band filtering to the altitude map before calculating roughness characteristics. Users can define high‑pass, low‑pass or band‑pass filters, including multiple bands, to isolate specific wavelength ranges of interest. After filtering, TAMS calculates parameters such as Sa, RaX, RaY and RsM according to ISO 25178, using the full measurement field. This provides a direct bridge between TAMS measurements and traditional profilometers or areal topography systems, making it easier to compare results, set shared limits and integrate low gloss surface control into existing ISO GPS‑based specifications. --- # Packing List > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ## Packing list The instrument is supplied as a standard package, complete with all accessories required to calibrate, operate and recharge the unit: - Rhopoint TAMS instrument - Rubber instrument aperture cap - 2 × 3.7 V 6800 mAh Li‑Ion batteries - Power supply (9 V / 2 A) for charging - Calibration plate (plastic‑ref, silver‑ref, gloss reference tile) - Quick Start Guide - Lanyard (fitted to instrument) - Protective carry case with custom foam insert - 16 GB SD card containing: - Optimap Reader software - User manual (PDF) - Smart Manager data management software - Release notes (PDF) - Cleaning cloth --- # Powering the TAMS > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ## Powering the TAMS The Rhopoint TAMS is powered by two removable high‑capacity lithium‑ion cells. When fully charged, the instrument will operate continuously for approximately 5 hours or more than 1,500 readings. The mains charger will fully recharge the instrument in under 5.5 hours when the TAMS is switched off and in charging mode. To charge the TAMS, connect the charger output plug to the power input socket (1), then connect the charger to a suitable mains supply. ![image description](../_images/1770490416655-2026-02-07_18-53.png) To reduce charging time and conserve power it is recommended to charge the instrument in powered off state. When plugged into power the main screen indicates charging progress (1) ![image description](../_images/1770490731916-2026-02-07_18-56.png) Extra battery sets are available with an external charging station so spare batteries can be charged and swapped in during long or intensive use. To change batteries, remove the screws (1), slide off each compartment lid (2), withdraw the cells and fit the new ones; the battery bays are keyed so cells can only be inserted in the correct orientation. ![image description](../_images/1770490968549-2026-02-07_19-02.png) To switch the instrument on, press the lower side button (1), after about 25 seconds TAMS is ready; press any key to proceed to the main screen. ![image description](../_images/1770491362281-2026-02-07_19-07.png). ## Soft Reset If the instrument ever becomes unresponsive, it can be reset by pressing and holding the top side button (2) for about 15 seconds. ## Sleep mode TAMS includes an automatic sleep function to conserve battery power. After a configurable period of inactivity it prepares to switch off, emitting three quick beeps followed by a 10‑second window in which any key press cancels shutdown. If no key is pressed, three normal beeps are emitted and the instrument powers down. ## Battery swap behaviour When new batteries are fitted, TAMS automatically learns their capacity. After a swap it starts up and goes straight to the main screen; a pop‑up confirms the change and instructs to unplug the PSU and wait about 15 seconds while this update completes. --- # Select Surface Type and Algorithim > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ## High Gloss Mode – select surface type and algorithm To use High Gloss Mode, TAMS must be set to the correct surface type and algorithm so that Quality and Harmony are calculated for smooth, reflective finishes. ### Choose the High Gloss surface type 1. Open the **Menu**. 2. Go to **My Car** (or the surface settings section, depending on firmware). 3. Set **Surface type** to the option used for high‑gloss, top‑coated surfaces (typically **C‑Coat** or equivalent in your version). This tells TAMS that measurements will be taken on smooth, reflective finishes rather than low‑gloss or raw surfaces. ### Select the High Gloss algorithm 1. Open **Menu → Admin → Quality control algorithm**. 2. For the chosen surface type (for example **C‑Coat**), scroll through the available algorithms. 3. Select the standard High Gloss algorithm (typically **CC‑TAMS‑STD** or the site‑specific High Gloss mode name). 4. Confirm the selection with **OK**. In this configuration, TAMS reports the sub‑parameters **Contrast (C)**, **Sharpness (S)**, **Waviness (W)** and **Dimension (D)** for each measurement, and uses them to calculate the perception‑based indices **Quality (Q)** and **Harmony (H)** after batching. ### When to use other algorithms If special evaluation methods are required for particular products or customers, additional High Gloss algorithms may be available as options under the same surface type. These can be selected in the same way as CC‑TAMS‑STD. Custom algorithms should only be used where specified by internal procedures or Rhopoint support; otherwise the standard High Gloss mode is recommended for general use. --- # Specifications and Dimensions > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. | Device | TAMS (Total Appearance Measurement System) | |-----------------------|---------------------------------------------------------------------------| | Size (H x L x W) [mm] | 172 x 129 x 53 | | Weight [g] | 1,000 (including batteries) | | Power | Rechargeable lithium‑ion batteries or external 9 V DC, 2.0 A PSU | | Control | 5 touch keys, 2 physical buttons, sensor system | | Interface | Micro USB (data), SD card (data transfer) | | Indoor/Outdoor | Portable use in lab, audit room and production line environments | | Operating temperature | 15°C – 40°C | | Storage temperature | 0°C – 45°C | | Calibration env. | 22°C ± 2.5°C, ≤ 55% RH | | Relative humidity | Operating humidity: up to 85% (non‑condensing) *(for site use)* | | Memory | >100,000 readings | | SD card slot | Up to 32 GB (data transfer only) | | Readings per charge | Approx. 1,200 | | Optical system / imaging | | |----------------------------------|---------------------------------------------------------------| | Measurement area (FOV) [mm] | 27 x 16 | | Surface image type | Monochrome surface image | | Surface / height map resolution | 37 µm/pixel (X/Y) <0.1 µm (z) | | Measurement principle | Phase Measurement Deflectometry (PMD), 3D altitude maps | | Standards / analysis | DIN EN ISO 4287 (Ra‑like), DIN EN ISO 25178 (Sa‑like), ISO GPS compatible | | Typical acquisition time | 5 s | | Typical computation time | 2 s (depends on image saving and filtering options) | ``` --- # Take a measurement > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ## Measure with TAMS This section explains how to take a basic measurement with TAMS and how to interpret the status LED during the measurement cycle. ### Before measuring - Ensure TAMS has been [**calibrated**](rhopoint-tams-calibrate-the-tams.md) on the supplied plate. - Check that the **aperture** and the **surface** are clean and dry. - Select the correct **surface type and algorithm** (for example High Gloss or Low Gloss) in the menu. ### Start a measurement The current shutter mode is shown by the letter in the centre button on the main screen: - **M – Manual**: Press the middle touch key or the lower side button to start a reading. - **S – Sensor**: Lower TAMS onto the surface; when sensor mode is active, contact on the feet automatically starts the measurement. - **A – Auto**: Press the middle key once to start an automatic sequence of measurements. Keep the instrument still once the measurement has been triggered. ### LED status during measurement The LED near the aperture shows the measurement status and when it is safe to move TAMS: - **Red LED** – TAMS is capturing images and 3D height data. Keep the instrument firmly in place with all four feet on the surface; do not move it. - **Blue LED** – Image capture is complete and TAMS is calculating results. It is now safe to lift or move the instrument away from the surface. - **Green LED** – The measurement cycle is finished and results are available on the main screen for review. ### View the results After the LED turns green: - The main screen displays the key parameters for the active mode (for example Contrast, Sharpness, Waviness, Dimension, Quality, Harmony, O‑Ra or O‑Rq). - Batch name, result index and job mode are shown in the header and footer. - Use the left/right keys to scroll through stored results, and the **Info** key to see configuration and job details linked to the measurement. All measurements are saved automatically in TAMS and can be reviewed on the instrument or exported via SD card for further analysis. --- # Batching Measurements > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ## Batching measurements with TAMS Batching is used to group several individual measurements on the same part, surface or condition and to calculate averaged values such as Quality and Harmony. Working with batches improves repeatability and makes it easier to compare results between samples, lines or process settings. ### Why use batches? - Reduces the influence of local variation or single outliers. - Provides average values for key metrics (for example Q, H, O‑Ra, O‑Rq, W). - Organises results by part, panel, process step or job. For most applications, at least **three measurements per batch** are recommended. ### Batch modes Batch behaviour is configured in the **Admin → Batch settings** menu: - **Manual batch mode** – The operator decides when to close a batch. - **Auto batch mode** – TAMS automatically closes a batch after a set number of measurements (Auto batch count). Choose manual mode for ad‑hoc measurements and investigations; use auto mode for routine checks where the same number of positions is measured each time. ### Creating a batch (manual mode) 1. Ensure the correct **surface type and algorithm** are selected. 2. Take a series of measurements on the same part or condition (for example three or more spots on a panel). 3. When finished, press and hold the batch button (as defined in your firmware) to **close the batch**. 4. TAMS calculates the average values for that batch and, in high‑gloss mode, adds the **Quality (Q)** and **Harmony (H)** indices. If Job mode is set to **Manual** or **Guided** with a database loaded, TAMS can also prompt for a **batch name** linked to part or job information. ### Creating a batch (auto mode) 1. In **Batch settings**, set **Batch mode = Auto** and choose an **Auto batch count** (for example 3). 2. Take measurements as normal. 3. After the specified number of measurements is reached, TAMS automatically closes the batch and calculates the averages and Q/H or roughness indices. Auto mode is especially useful in guided workflows where the same pattern of points is measured on each part. ### Reviewing batched results On the **Main screen**, TAMS offers two review modes: - **By result** – scrolls through every individual measurement in order. - **By batch** (Q&H mode) – jumps between batch averages only (COUNT #0), which include Quality and Harmony in high‑gloss mode. Use the left/right keys to move through results, and the **Info** screen to see batch index, count and any job/part information. Batched data can later be exported via SD card and analysed in Smart Manager, Appearance Elements or other tools. --- # Setting up the batch and job database > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ### Setting up the batching database The batching database works together with **Job Mode** to attach part and process information to batches and, in Guided mode, to step through a defined list of parts in a fixed order. It is stored as one or two CSV files loaded into TAMS from the SD card. #### Create the main database file (TAMSdatabase.csv) The main database is an Excel/CSV file with up to 15 columns and up to 100 rows (including the header). - **File name:** `TAMSdatabase.csv` - **Separator:** Comma or semicolon (detected automatically). Structure: - **Column 1 – Part name (required):** List of batch/part names (for example “Panel A”, “Door LH”, “Cover 1”). This name can be used as the batch name and is shown on the main screen in Manual and Guided Job Modes. - **Columns 2–15 – Additional fields (optional):** May include model, colour, process step, environment, coating type, repair status, customer, etc. Up to 15 fields in total (including Part name), with a maximum of 60 characters per entry. Example: |Part name|Model|Colour|Process|Environment|Clear coat|Repair| |---|---|---|---|---|---|---| |Hood|A123|Blue|Line 1|Lab|Type X|None| |Door|A123|Blue|Line 1|Production|Type X|Stage 1| |Roof|A123|White|Line 2|Exterior|Type Y|Stage 2| #### Fields shown on the Info screen Up to four database fields can be displayed on the **Info** screen: - These must be in **columns 2 to 5** of `TAMSdatabase.csv`. - Typical choices include model, colour, process and environment, helping identify each batch during review. #### Loading the batching database 1. Copy `TAMSdatabase.csv` to the **root** of the SD card (not inside a folder). 2. Insert the SD card into the TAMS SD slot. 3. On the instrument, open **Menu → My Car → Load database from SD card**. 4. Wait for the “Loading database completed” message, then return to the main screen. Job Mode can now use the part list and fields when naming and organising batches. --- ### Using the database with Job Mode Job Mode is set in **Menu → My Car → Job mode** and defines how the database is used. - **OFF** - Database is ignored. - Batches are recorded without names; suitable for quick checks. - **Manual** - Database is used as a pick‑list when closing batches. - After a batch is closed, the instrument prompts to assign a name or leave it unset. - Available names come from **Column 1 (Part name)** in `TAMSdatabase.csv`. - **Guided** - Database is used to guide the operator through a predefined list of parts. - After selecting **Start new job/car**, identification fields are set, and the next part to measure is shown at the bottom of the main screen. - Parts are presented in the order they appear in **Column 1**, or in a sequence list if configured (see below). In both Manual and Guided modes, part names and associated fields are stored with each batch for easier filtering and analysis later. --- ### Configuring sequence lists (optional) Sequence lists allow Guided Job Mode to follow different measurement orders (for example S1, S2, S3…) using an additional sequence file. #### Step 1 – Add a SEQUENCE field to TAMSdatabase.csv In `TAMSdatabase.csv`: - Add a column named exactly **`SEQUENCE`** (it must not be Column 1). - For each part, enter the sequence ID to which it belongs (for example S1, S2, S3…). Example: |Part name|Model|Colour|Process|SEQUENCE|Clear coat|Repair| |---|---|---|---|---|---|---| |Hood|A123|Blue|Line 1|S1|Type X|None| |Door|A123|Blue|Line 1|S1|Type X|Stage 1| |Roof|A123|White|Line 2|S2|Type Y|Stage 2| Include an entry such as `none` in the SEQUENCE column for parts that should follow the default order and not use a special sequence. #### Step 2 – Create the sequence file (TAMSsequence.csv) Create a second CSV file: - **File name:** `TAMSsequence.csv` - Same basic limits as the main database (up to 15 fields, up to 99 items per list). Structure: - Each **column header** is a sequence ID (S1, S2, S3, etc.). - Under each header, list the **Part name** entries in the exact order you want them measured in that sequence. Example: |S1|S2| |---|---| |Hood|Roof front| |Door|Roof back| |Roof|Trunk| Save the file and copy it to the **root** of the SD card alongside `TAMSdatabase.csv`. #### Step 3 – Load and use sequences in Guided Job Mode 1. Load both `TAMSdatabase.csv` and `TAMSsequence.csv` from the SD card using **Load database from SD card**. 2. Set **Job mode = Guided** in the My Car menu. 3. When starting a new guided job, select the desired sequence (for example S1, S2…). 4. TAMS will now propose parts in the order defined in `TAMSsequence.csv` for that sequence. If the sequence file or selected list is not found, TAMS automatically falls back to using the order in **Column 1** of `TAMSdatabase.csv`. --- # Using the Job Mode > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Job Mode controls how TAMS organises measurements into named jobs or parts. It can be used simply to record a few readings, or to guide an operator through a predefined list of parts using a database. #### Job Mode options Job Mode has three settings: - **OFF** - No job or part information is used. - TAMS records measurements and batches, but does not ask for batch names. - Best for quick checks and ad‑hoc measurements. - **Manual** - The operator chooses job/part information when closing a batch. - TAMS can prompt for a **batch name** taken from a database (for example a list of parts). - Suitable when parts are measured in flexible order, but still need to be labelled. - **Guided** - TAMS guides the operator through a predefined list of parts or positions. - Each batch is linked to a specific item in the database (for example “Panel A”, “Panel B”). - Best when a complete product must be measured in a specific sequence. Set Job Mode in **Menu → My Car → Job mode** (names may vary slightly with firmware). --- # Using Guided Job Mode > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Guided mode is designed for repeated, structured measurement routines. 1. Set **Job mode = Guided** in the My Car menu. 2. Choose **Start new job/car** (wording depends on firmware). 3. Enter any required identification fields (for example serial number or product ID). 4. TAMS displays the **next part to measure** on the main screen. 5. Measure and batch as normal; when the batch for that part is complete, TAMS moves on to the next part in the sequence. Guided mode continues until all parts from the list have been measured, at which point a message such as “Finished” is shown. To repeat the routine for another item, select **Start new job/car** again. If a listed part cannot be measured, a long‑press on the relevant key (as defined in the instrument) allows it to be **swapped** (measured later) or **ignored** for that job. --- # Using Manual Job Mode > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Manual mode links batches to names, without enforcing a fixed sequence. 1. Set **Job mode = Manual** in the My Car menu. 2. (Optional) Load a measurement database from SD card so that part names are available. 3. Take measurements and close batches as usual (manual or auto batching). 4. When a batch is closed, TAMS prompts whether to assign a name. - Choose a name from the list (for example a part or job ID) or skip naming. On the main screen, the current job mode is shown at the bottom (for example “Job mode: Manual”) and the selected batch name appears on the top line. --- # Connecting TAMS via LAN > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. TAMS is connected to a local network using [WIFI](rhopoint-tams-connecting-tams-to-your-pc-or-network-connecting-tams-via-wifi.md) or via an ethernet cable. ![image description](../_images/1773143810762-tams-ethernet.png) TAMS is supplied with cables and adaptors for connection![image description]![image description](../_images/1773160120182-Screenshot-2026-03-10-162737.png) Alternatively the TAMS can be connected to a PC via a wired LAN connection. ![image description](../_images/1773143231822-tams-ethernet-pc.png) Additional cables (supplied) are used to connect to a PC ![image description](../_images/1773160568807-Screenshot-2026-03-10-163444.png) Slide down the door on the TAMS to access the Micro USB port (1) ![image description](../_images/1773151291324-ziSTtfVG8W.png) --- # Connecting TAMS via WIFI > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. To set up wifi TAMS uses an AP mode connection to connect to a local network: **MENU>Admin>Device Settings>Factory>Connectivity>Wifisetup** ![image description](../_images/1773144435906-SC0REKUHCv.png) 1. Switch WIFI to **ON** 2. Click WIFI setup The TAMS will initialise wifi and wait for a connection. The green dot (1) indicates the wifi is initialised. ![image description](../_images/1773147693677-VjlCdgAuQK.png) On your PC navigate to Wifi and network settings in windows 11. ![image description](../_images/1773144875310-id8qAi4JoW.png) Show available networks then double click on TAMS_AP. When prompted enter the password **Tams1234** in a browser navigate to the following website- [10.42.0.1](http://10.42.0.1/) 1. In the dropdown select the network you wish to connect to 2. Enter the wifi password for this network 3. Press connect ![image description](../_images/1773145555930-t7NDbVaw94.png) Once connected the number of green circles (1) indicate the strength of the wifi signal 2- good, 1- OK, 0- poor ![image description](../_images/1773148376985-8IejBn9PFX.png) --- # Software > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ## Appearance Elements Appearance Elements is PC software that runs Rhopoint instruments, guiding the user through measurement, storing results and showing images, maps and graphs. Different modules focus on tasks such as gloss, texture, and effect pigments and the software can also be used just to review and report existing data. [- Appearance Elements (AE) -](rhopoint-appearance-elements.md) ## Elements Hub Elements Hub is a connection hub that shares Rhopoint measurement data with other factory systems like SPC software, PLCs and robots. It lets automation cells and quality systems see live results and instrument status without complex custom integration. [Elements Hub (EH)](rhopoint-elements-hub.md) --- # AE Licence Manager > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. To install instrument and module licences, follow these steps: 1. Licences are emailed to you when your instrument is shipped from the Rhopoint factory. 2. Download the received licenses onto your PC. 3. Click the License Manager (1) button. ![image description](../_images/1769526360548-license-button.png) 4. Press the add licenses button (2) 5. Select the saved license(s) to install them. ![image description](../_images/1769526562514-license-wind.png) ## Additional Information **Replacement Licenses:** If you've lost your licenses, you can request them to be resent. Contact sales@rhopointinstruments.com and provide: - The serial number of your instrument **Demo Licenses:** Rhopoint offers a free 2-week trial for all instruments and modules. To obtain a demo license, contact sales@rhopointinstruments.com. **Additional Licenses:** To purchase licenses for a new module please contact your regional Rhopoint office, premium authorised distributor or send an email to sales@rhopointinstruments.com. --- # AE Software Update > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. When connected to the web, Rhopoint Appearance Elements will check for updates. ![image description](../_images/1769526229122-update.png) Updated software will include Security updates, bug fixes, an updated manual and feature enhancements. The availability of a new update is indicated as a orange alert (1) on the toolbar. To install new software click on the alert and follow on-screen instruction. Installing a new update will not affect saved data or remove licenses. Update notification [Connect an Instruments to AE](rhopoint-appearance-elements-connect-an-instrument-to-ae.md) --- # Calibrating an Instrument in AE > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. To calibrate an instrument in AE click on the calibration icon (1) ![image description](../_images/1769777008352-2026-01-30_12-42.png) > [!info] The calibration buttons may be greyed out and unavailable if an instrument is not connected or a valid license file is not installed. --- # Changelog > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The changelog for Appearance Elements is publicly available online. You can view the full, up-to-date list of changes at:\ [https://changelog.rhopointservice.com/products/appearance-elements](https://changelog.rhopointservice.com/products/appearance-elements) All change-entries are listed there, typically ordered by date or release version, so you can easily follow along from earliest releases to the most recent. ## What is a Changelog A changelog is a curated, chronologically ordered list of all the notable changes made in a project. It records enhancements, bug fixes, new features, removals, and technical adjustments. The purpose is to provide users, developers, and stakeholders with a transparent view of how the product has evolved over time. ## Purpose of the Changelog The changelog serves several key purposes: - **Transparency**: Users can see what has changed, fixed, added or removed. - **Tracking Progress**: Helps maintainers and contributors track what work has been completed, what remains, and what has been delivered. - **User Communication**: Users can decide whether to upgrade or migrate based on what changes are relevant to them. - **Historical Reference**: Provides a record for debugging, auditing, or reviewing the evolution of the product. - **Planning**: Helps align future expectations by showing past patterns and the pace of development. --- # Connect an Instrument to AE > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Click the Device icon (1) to access the connection menu.![image description](../_images/1769526684546-device-button.png) ![](../_images/1754297100531-connectionwindow.png) ## Device Manager- Main Screen Press (1) to add a device via **Device Manager add a new device screen** ![image description](../_images/1769767100165-2026-01-30_09-57.png) Press (2) to search for previously connected device. Press (3) to close the device manager window. If the sensor becomes disconnected, press the refresh button (3) to re-start the sensor discovery process. ## Device Manager- Add a device screen ![image description](../_images/1769767699486-2026-01-30_10-08.png) Click on the new device type (1) and follow on screen instructions. Click (2) exit or return to leave this screen. > [!info] This discovery process takes up to 45 seconds dependent on hardware and configuration. - [Using Aesthetix with AE](rhopoint-appearance-elements-using-aesthetix-with-ae.md) - [Using TAMS with AE](rhopoint-appearance-elements-using-tams-with-ae.md) ## Device Manager- Main Screen ![image description](../_images/1769768321102-2026-01-30_10-18.png) Available devices are listed with a green stats icon (1) Press (2) to connect to an available device. Press (3) to access device information. Press (4) to forget a device. Press (5) to enter "Viewer mode" ## Device Manager- TAMS ![image description](../_images/1773149440023-2sz9s05o8n.png) To connect a TAMS, click add a device>TAMs. Enter the numerical part of the serial number (1) and click submit. --- # Copy and Paste > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ![image description](../_images/1770731582892-Screenshot-2026-02-10-135206.png) For quick and easy excel reporting, select images , right click in the table to copy and paste all the data displayed in the table. --- # How to use AE without a license > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Appearance Elements can be used, license free to interrogate and manipulate previously measured data. It is not necessary to connect an instrument to access this feature. Click the Device icon (1) to access the connection menu.![image description](../_images/1769526684546-device-button.png) Press the arrow button (1) to enter the viewer menu. ![image description](../_images/1769769511438-2026-01-30_10-37.png) Select the device type required (1) ![image description](../_images/1769770527808-2026-01-30_10-37.png) --- # Initiate a measurement in AE > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. To take a measurement in AE click on the measurement icon (1) ![image description](../_images/1769775492181-2026-01-30_12-17.png) AE can be configured to take multiple measurements at set time intervals. To access the measurement set up menu- RIGHT click on the measurement icon ![image description](../_images/1769775727129-Screenshot-2026-01-30-122032.png) Some instruments and modules have a interactive measurement mode. This mode uses a live view from a device camera to aid with sample positioning or allows measurement parameters to be fine tuned during the measurement process. To initiate interactive measurement press the interactive measurement icon (1) ![image description](../_images/1769776165846-2026-01-30_12-26.png) > [!tip] Measurements can also be initiated by pressing the read button on a connected instrument. > [!info] Measurement buttons are greyed out and unavailable if an instrument is not connected or a valid license file is not installed. --- # Install AE > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Appearance Elements is the Rhopoint software used to operate multiple Rhopoint Instruments. The latest version of Appearance Elements can be installed from the Rhopoint website. The functions of Rhopoint Appearance Elements include measurement control, quality control reporting, results analysis, and database storage. Before installing, please check the [System Requirements](rhopoint-appearance-elements-system-requirements.md) for the host PC. ## Installation Visit [Rhopoint Instruments Website](https://www.rhopointinstruments.com/help-services/resources/software/) to download the latest software installer. Double-click the `AppearanceElements.msi` package to install the software. Follow the onscreen instructions. > [!info] Installation requires administrator permissions. The installation itself does **not** install any device drivers — drivers are installed on first start with an instrument connected. See the [IT Deployment Guide](rhopoint-appearance-elements-it-deployment-guide.md) for details. [Start AE Software](rhopoint-appearance-elements-start-ae-software.md) --- # IT-Deployment-Leitfaden Diese Seite richtet sich an die **IT-Administratoren**, die Rhopoint Appearance Elements (AE) und das Aesthetix-Gerät auf den PCs im Unternehmen ausrollen und betreuen. Sie erklärt, was wohin installiert wird, welche Rechte wann und warum benötigt werden und welchen Netzwerkzugriff die Software nutzt. Der Leitfaden ist in zwei Teile gegliedert: - **Appearance Elements** — die Software-Installation und die Software selbst. - **Aesthetix** — was zusätzlich gilt, wenn ein Aesthetix-Gerät verwendet wird. Hardware- und Betriebssystemanforderungen findest du unter [Systemvoraussetzungen](rhopoint-appearance-elements-system-requirements.md). Die Installationsanleitung für Endanwender steht unter [AE installieren](rhopoint-appearance-elements-install-ae.md). ## Voraussetzungen - **Betriebssystem:** Windows 11, x64. Siehe [Systemvoraussetzungen](rhopoint-appearance-elements-system-requirements.md). - Nicht unterstützt: x86 und ARM. - **Runtime:** AE benötigt die **.NET 10 Desktop Runtime** und die **ASP.NET Core Runtime 10** (x64). Diese sind im Installer enthalten und werden bei der Installation automatisch mitinstalliert, falls noch nicht vorhanden — ein separates Ausrollen der Runtime ist nicht nötig. - **WebView2:** Teile der Oberfläche nutzen die **Microsoft Edge WebView2 Runtime**, die in Windows 11 bereits enthalten ist. - **Rechte:** Für die Installation und für die einmalige Treiberinstallation (siehe unten) werden lokale Administratorrechte benötigt. ## Appearance Elements (nur Software) - AE wird **pro Rechner** nach `%PROGRAMFILES%\Rhopoint Instruments Ltd\Rhopoint Appearance Elements 2` installiert. Da nach Program Files geschrieben wird, **muss der Installer mit Administratorrechten** ausgeführt werden. - Während der Installation werden **keine Gerätetreiber** installiert. Treiber werden beim ersten Start behandelt — siehe Abschnitt **Aesthetix (gerätespezifisch)** weiter unten. - Benutzerbezogene Einstellungen, die lokale Messdatenbank und Logdateien liegen im Benutzerprofil unter `%LOCALAPPDATA%\Rhopoint Instruments Ltd\Rhopoint Appearance Elements 2`: - `\Settings` — Anwendungseinstellungen - `\Vault-` — lokale Messdatenbank - `\Logs\` — Logdateien - `\Screenshots` — gespeicherte Screenshots Diese Daten sind benutzerbezogen und werden standardmäßig nicht per Roaming übertragen — beachte das bei servergespeicherten Profilen (Roaming), nicht-persistentem VDI und Backups. > [!info] Auch ohne angeschlossenes Gerät läuft AE — vorhandene Daten lassen sich ansehen, auswerten und als Bericht ausgeben. Treiber werden nur für die Kommunikation mit der Hardware benötigt. ## Aesthetix (gerätespezifisch) Wird ein Aesthetix verwendet, muss AE mit dem Gerät kommunizieren. Dadurch kommen eine Inter-Process-Communication (IPC) und eine einmalige Treiberinstallation hinzu. ### Der Aesthetix-Kernel-Prozess - Um mit dem Gerät zu kommunizieren, startet AE einen separaten Prozess, **`Aesthetix.exe`**, aus `…\Rhopoint Appearance Elements 2\Aesthetix_Kernel\bin`. - `Aesthetix.exe` kommuniziert mit AE über **TCP auf Port 45681**. Obwohl AE ausschließlich lokal darauf zugreift, bindet der Kernel den Listener derzeit an **alle Schnittstellen (`0.0.0.0`)**, nicht nur an Loopback. > [!warning] Da `Aesthetix.exe` an `0.0.0.0` bindet, wertet die Windows-Firewall den Prozess als lauschenden Dienst und zeigt beim ersten Start eine **Firewall-Abfrage**. Bestätige diese, oder rolle vorab eine **eingehende Zulassen-Regel für TCP 45681** (bzw. für `Aesthetix.exe`) aus. Die IT muss außerdem sicherstellen, dass keine andere Anwendung Port 45681 auf dem PC bereits belegt. Der in AE integrierte System Check prüft sowohl den Port als auch die Firewall. ### Treiberinstallation (erster Start mit Gerät) - Beim **ersten Start mit angeschlossenem Aesthetix** und noch nicht installierten Treibern startet `Aesthetix.exe` die **Treiberinstallation**. Da hierbei Treiber installiert werden, zeigt Windows eine **UAC-Abfrage**, die ein Administrator bestätigen muss. - **Warum kann das nicht schon bei der Installation passieren?** Zuerst muss die genaue Hardware-Konfiguration des angeschlossenen Geräts ermittelt werden — und das kann nur `Aesthetix.exe`. Erst dann ist bekannt, welche Treiber wie installiert werden müssen. Das setzt ein angeschlossenes Gerät und einen laufenden Kernel voraus und ist zum Installationszeitpunkt nicht möglich. - Also: **Starte AE einmal mit angeschlossenem Aesthetix** und bestätige die UAC-Abfrage (ein Standardbenutzer kann das abschließen, sofern ein Administrator die Rechteerweiterung bestätigt). - Wurden die Treiber dieses eine Mal installiert, erscheint bei **folgenden Starts keine Abfrage** mehr und es werden **keine Administratorrechte** benötigt. > [!warning] Wird AE installiert, aber nie einmal als Admin mit angeschlossenem Gerät gestartet, fehlen die Treiber und das Gerät verbindet sich nicht. ### Verbindung / USB - Das Aesthetix wird über **USB 3.0 (USB-C oder Thunderbolt)** angebunden und meldet sich als Machine-Vision-Kamera (USB3 Vision). Verwende einen echten USB-3.x-Port; USB-2-Ports und manche Hubs verursachen Verbindungs- oder Bandbreitenprobleme. ### USB-Massenspeicher (Kalibrierdaten) > [!warning] Zusätzlich zur Kamera meldet sich das Aesthetix als **USB-Flash-Laufwerk (Wechseldatenträger)**. Beim Start liest `Aesthetix.exe` die Kalibrierdaten, die Seriennummer und die Optical Map des Geräts von diesem Laufwerk. Ist der **Zugriff auf USB-Massenspeicher per IT-Richtlinie gesperrt**, kann der Kernel diese Daten nicht lesen und **das Gerät funktioniert nicht** — eine Ausnahme ist zwingend erforderlich. Erlaube den USB-Massenspeicher für das Aesthetix — idealerweise gezielt für dieses Gerät (über dessen Hardware-ID), statt USB-Speicher generell zu öffnen. Die Windows-Mechanismen, die den Zugriff sperren können — alle geprüft durch Symmetrons Test *USB Flash Drive Access* und den in AE integrierten System Check — sind: - `HKLM\SYSTEM\CurrentControlSet\Services\USBSTOR` — der USBSTOR-Dienst muss aktiviert sein (`Start` = 3), nicht deaktiviert (`Start` = 4). - `HKLM\SOFTWARE\Policies\Microsoft\Windows\RemovableStorageAccess` — die Richtlinie *Wechseldatenträger: Jeglichen Zugriff verweigern* (`Deny_All`) muss aus sein, oder das Gerät muss ausgenommen werden. - `HKLM\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies` — `WriteProtect` sollte aus sein; Lesezugriff ist zwingend, und das Gerät benötigt eventuell auch Schreibzugriff. - Eine etwaige DLP- / Endpoint-Protection-USB-Kontrolle von Drittanbietern muss das Gerät ebenfalls zulassen (Allowlist). ## Netzwerkzugriff (Updates, Lizenzierung, Diagnose) Zum Messen läuft AE vollständig offline. Die folgenden Endpunkte sind **ausschließlich ausgehend über HTTPS (443)** und aktivieren Online-Funktionen; gib sie im Proxy/in der Firewall frei, wo diese Funktionen gewünscht sind: - `*.rhopointservice.net` — Software-Updates, Asset-Download, Update-Prüfungen, Fehler- und Feedback-Meldungen. - `*.rhopointservice.com` — Lizenzaktivierung und -prüfung, Changelog, Fehlercode-Auflösung, Assets. - `www.rhopointinstruments.com` — Produkt-Newsfeed und Software-Downloads. Eingehende Verbindungen aus dem Internet werden nicht benötigt. ## Diagnose und Fehlersuche ### Rhopoint Symmetron (empfohlen) **Rhopoint Symmetron** ist ein kostenloses, eigenständiges Diagnosewerkzeug und der beste Ausgangspunkt für die IT: Es benötigt keine Lizenz und setzt keine installierte Rhopoint-Software voraus. Lade es von — es hält sich selbst aktuell, und alle Prüfungen sind rein lesend (read-only). Siehe [Rhopoint Symmetron](rhopoint-symmetron.md). Damit kannst du: - **Vor der Installation** — die Kompatibilitätsprüfungen für das vorgesehene Produkt (z. B. *Appearance Elements + Aesthetix*) ausführen und bestätigen, dass der PC alle Anforderungen erfüllt: Betriebssystem, Arbeitsspeicher, USB-3-Controller und -Ports, Kameratreiber und Konnektivität. Siehe [Kompatibilitätsprüfungen ausführen](rhopoint-symmetron-running-compatibility-checks.md). - **Konnektivität prüfen** — bestätigen, dass der PC die Rhopoint-Onlinedienste erreicht; hilfreich, wenn ein Proxy oder eine Firewall dazwischenliegt. Siehe [Konnektivität](rhopoint-symmetron-connectivity.md). - **Bei Problemen** — der Reiter [Diagnose](rhopoint-symmetron-diagnose.md) sammelt Anwendungslogs, Windows-Error-Reporting-Absturzberichte und relevante Event-Log-Einträge zu Appearance Elements oder zum Aesthetix-Kernel und bündelt sie als ZIP oder sendet sie mit einem Klick an den Rhopoint-Support. ### In AE integrierter System Check AE enthält außerdem einen integrierten **System Check**, der Betriebssystem, CPU-Architektur, Arbeitsspeicher, die .NET-Runtime, USB-3-Controller und -Ports, den Zugriff auf USB-Flash-Laufwerke, die Verfügbarkeit von TCP-Port 45681, Windows-Firewall-Regeln und registrierte Antiviren-Software meldet — praktisch, sobald AE installiert ist und sich ein PC nicht verbindet. ### Antiviren- / Endpoint-Protection-Software Antiviren- oder Endpoint-Protection-Software kann stören — durch Echtzeit-Scans von Aufnahmedateien, das Blockieren von USB-Geräten oder verhaltensbasierte Erkennung des Kernels. Bei Verbindungs- oder Leistungsproblemen empfiehlt es sich, das Installationsverzeichnis und `Aesthetix.exe` auf die Ausnahmeliste zu setzen und das USB-Gerät zuzulassen. Siehe auch [Geräteverbindungsprobleme](rhopoint-appearance-elements-trouble-shooting-device-connection-problems.md). --- # Start AE Software > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ## Start the software Double-click the Rhopoint Appearance Elements icon created on the desktop to start the software. ![Desktop icon](../_images/1769529338522-ae-icon.png) Rhopoint Appearance Elements desktop icon ## Software Update When connected to the web AE will check Rhopoint Servers for an update. [AE Software Update](rhopoint-appearance-elements-ae-software-update.md) ## Additional setup On the first start, the camera drivers are checked. If the drivers are missing, they will be installed upon confirming the following dialog: ![Install USB vision](../_images/1768553555163-1744381983081-install-usb-vision.png) USB camera driver installation [Install Module Licenses](rhopoint-appearance-elements-ae-licence-manager.md) --- # System Requirements > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Before installing Appearance Elements, check the requirements for the host PC. ## Recommended System Requirements - **OS:** Windows 11 (Windows 10 support ends October 2025) - **Memory:** 16 GB - **CPU:** x64 (x86 and ARM are not supported) - **Port:** USB 3.0 USB-C or Thunderbolt - **Screen Resolution:** 1920 x 1080 ## Minimum System Requirements - **OS:** Windows 11 (Windows 10 support ends October 2025) - **Memory:** 8 GB - **CPU:** x64 (x86 and ARM are not supported) - **Port:** USB 3.0 USB-C or Thunderbolt - **Screen Resolution:** 1440 x 900 --- # Using the Database > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Selected measurements can be saved dynamically in the results database. Results saved in the database are marked with a “D” (1) ![image description](../_images/1770369567740-20260206-091854-screenshot-ae.png)] Measurements marked with a D in the database column are saved in the Appearance Elements database. To add measurements to the database - Click on the dashed circle next to the measurement. - Select multiple measurements in the selection column and click the Save to Database icon. Several results can be saved in the database by selecting them (1) and clicking the Save to Database icon (2)]![image description](../_images/1770369766355-20260206-092145-screenshot-ae.png)![image description](../_images/1770369881257-20260206-092401-screenshot-ae.png) > [!tip] Once results are uploaded to the database they cannot be removed from measurement view. Measurements deleted from the measurement view will remain in the Database. To delete measurements from the database it is necessary to access the database view. Changes to text or batches made in the Results Table will automatically be updated in the database. ## Database viewer To access the data base view click the Data Base View icon (1) ![image description](../_images/1770370005249-20260206-092609-screenshot-ae.png) > [!info] If the database view icon is greyed out, the user does not have required permissions to access the database and cannot delete saved data. ![image description](../_images/1770370097621-20260206-092734-screenshot-ae.png). Measurements saved in the database are listed. - Search the database (1) - Double click a measurement (2) saved in the database to restore it to the measurement view. - Highlight an entry and click (3) to add it to the data table. - Highlight a measurement and click the delete icon (4) to remove it from the database. --- # Navigating the Main Screen > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ![image description](../_images/1770023975543-2026-02-02_09-18.png) 1. [Action Bar](rhopoint-appearance-elements-navigating-the-main-screen-action-bar.md) 2. [Device Manager](rhopoint-appearance-elements-navigating-the-main-screen-device-manager.md) 3. [Module Bar](rhopoint-appearance-elements-navigating-the-main-screen-module-bar.md) 4. [License Manager](rhopoint-appearance-elements-navigating-the-main-screen-license-manager.md) 5. [- Data Bar -](rhopoint-appearance-elements-navigating-the-main-screen-data-bar.md) 6. [Data Table](rhopoint-appearance-elements-navigating-the-main-screen-data-table.md) 7. [Systems Info](rhopoint-appearance-elements-navigating-the-main-screen-systems-info.md) 8. Screen Snip 9. Notification Alert 10. Help button --- # Action Bar > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ![image description](../_images/1770024947975-2026-02-02_09-35.png) 1. **Measure Button** Click here to start a measurement- results will be recorded in the measurement table. [Initiate a measurement in AE](rhopoint-appearance-elements-initiate-a-measurement-in-ae.md) A "greyed out" measurement button indicates the licence for this module is not present or expired. [Install a new licence](rhopoint-appearance-elements-ae-licence-manager.md) 2. **Calibration** Press to begin Calibration [Calibrating an Instrument in AE](rhopoint-appearance-elements-calibrating-an-instrument-in-ae.md) 3. **Interactive Measurement Button** Pressing this button will start an interactive measurement, this includes live views from the Aesthetix camera to allow for sample alignment and adjustment of measurement parameters. Interactive measurement is not available for certain modules or instruments- this button will not be present in the Action Bar 4. **Table View** Press this button to toggle the table view. [Data Table](rhopoint-appearance-elements-navigating-the-main-screen-data-table.md) --- # Device Manager > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ![image description](../_images/1770025340663-2026-02-02_09-41.png) This button is used to manage and connect instruments to AE. [Connect an Instrument to AE](rhopoint-appearance-elements-connect-an-instrument-to-ae.md) > [!info] The device manager button is also used to configure AE to read existing data. > - [How to use AE without a license](rhopoint-appearance-elements-how-to-use-ae-without-a-license.md) --- # License Manager > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ![image description](../_images/1770040611022-20260202-135624-screenshot-ae.png) Press this icon to access the [License Manager](rhopoint-appearance-elements-navigating-the-main-screen-license-manager.md) The **License Manager** installs and manages licenses for instruments and modules in Appearance Elements. [AE Licence Manager](rhopoint-appearance-elements-ae-licence-manager.md) - Instrument licenses enable live connection and measurement; module licenses enable specific analysis workflows. - Without a valid license, modules run in viewer‑only mode and measurement buttons are greyed out. [How to use AE without a license](rhopoint-appearance-elements-how-to-use-ae-without-a-license.md) You can check the validity of your licenses at [licence-check.rhopointservice.com](https://licence-check.rhopointservice.com/). --- # Module Bar > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The **module bar** in Rhopoint Appearance Elements is where you choose which measurement modules are active in your session. It now supports Aesthetix, Rhopoint TAMS and Rhopoint ID, so what you see depends on both your licenses and the connected instrument. ![image description](../_images/1770368595970-20260206-090239-screenshot-ae.png) ## Module concept - Each module (for example Surface Brilliance, Effect Finish, Texture, Polishing Quality, TAMS waviness/texture, ID transparency) groups specific metrics and visualisations into a focused workflow. [- Aesthetix Modules -](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules.md), [TAMS Modules](rhopoint-appearance-elements-using-tams-with-ae-tams-modules.md) --- # Systems Info > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ![image description](../_images/1770732565714-2026-02-10_14-03.png) 1. Software version number 2. Access changelog. 2. Insider program. 3. Start system checks. 5. Access logfiles 6. About information. 7. Screen font size. 8. Submit a comment. 9. Report a bug. 10. Take a screen shot 11. Notification icon. 12. Help menu. --- # Data Bar > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ![image description](../_images/1770729763977-2026-02-02_14-01.png) 1. [Save Data](rhopoint-appearance-elements-navigating-the-main-screen-data-bar-save-and-load-data.md) 2. [Load Data](rhopoint-appearance-elements-navigating-the-main-screen-data-bar-save-and-load-data.md) 3. [Save to database](rhopoint-appearance-elements-using-the-database.md) 4. [Load from the database](rhopoint-appearance-elements-using-the-database.md) 5. [Delete selected/all measurements](rhopoint-appearance-elements-navigating-the-main-screen-data-table-deleting-data.md) 6. Open Ometrix 7. Take a screen shot --- # Save and load data > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ![image description](../_images/1770041509303-20260202-141130-screenshot-ae.png) Results can be saved (1) or imported (2) from the measurement table. ![image description](../_images/1770041310004-2026-02-02_14-07.png) Import/Export options are chosen by clicking on the relevant tab (1) > [!tip] To share or archive results a Rhopoint Appearance Archive file (.raa) should be used. For analysis in Excel, .csv files can be exported. Map data can be exported as a .xyz file > [!note] Beta Feature- Selected results (including images) can be exported as a (.pdf) report. --- # Data Table > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Data table overview The data table in Appearance Elements (AE) is the central place where all measurements from connected instruments are listed, organised and edited. Each row represents a single measurement, while columns show key information such as batch name, instrument, module, time stamp and all selected parameters for that result (for example gloss, haze, waviness, roughness or scratch metrics). Click the magnifier icon for any row in the data table to open that measurement and view all associated content, including images, topographical maps, profiles and graphs. ![image description](../_images/1770730027798-2026-02-10_13-26.png) 1. Use the **[magnifier lens](rhopoint-appearance-elements-navigating-the-main-screen-data-table-viewing-measurement-images-and-graphs.md)** to see measurement images, graphs and topographical maps. 2. Click the **[database](rhopoint-appearance-elements-using-the-database.md)** column to add a measurement to the database. 3. Select a measurement row(s) for [**copy and paste**](rhopoint-appearance-elements-copy-and-paste.md), add to the **[database](rhopoint-appearance-elements-using-the-database.md)**, or [**deletion**](rhopoint-appearance-elements-navigating-the-main-screen-data-table-deleting-data.md). 4. A colour patch represents the measured RGB colour of the surface. 5. Right click on column heading to access filter and sort tools. --- # Batching Results > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ## Working with batches in Appearance Elements Batches in Appearance Elements are used to group related measurements so that data can be analysed, compared and reported more effectively. Batches appear as **tabs (1)** at the top of the data table, and the batch name is also shown in the **Batch column (2)** for each measurement row. ![image description](../_images/1770131637884-20260203-151324-screenshot-ae.png) ### Creating and naming batches - Click the **+(3)** button above the data table to open a new batch tab, then enter a name for this batch. - Alternatively, type a new batch name directly into the **Batch** column for any measurement; this automatically creates the batch and assigns that measurement to it. ### Adding measurements to a batch - When you take a new measurement while a specific batch tab is active, that measurement is automatically added to the currently selected batch. - You can also drag and drop existing measurements from the table onto a batch tab to move or copy them into that batch. ### Creating a batch from selected measurements - To build a batch from existing data, select the desired measurements using the **selection box (1)** in the table. - Right‑click on the selection and choose **Create batch**; a new batch is created and all selected measurements are assigned to it. ![image description](../_images/1770131846917-20260203-151655-screenshot-ae.png) --- # Deleting Data > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Click the delete icon (1) while no measurements are selected to delete **all** data from the table.![image description](../_images/1770897102345-2026-02-12_11-50.png) A dialog window will ask for confirmation. ![image description](../_images/1770897189591-2026-02-12_11-48.png) To delete **selected** readings ![image description](../_images/1770897419457-22.png) Drag selected rows to the delete icon (1) or press the delete key on you computer keyboard. --- # Statistical Analysis > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. To perform basic statistical analysis on a number of measurements. ![image description](../_images/1770896278931-2026-02-12_11-37.png) First select the required measurements, then right click in the table. ![image description](../_images/1770896289143-Screenshot-2026-02-10-135206.png) Click on **Combine selected Results** ![image description](../_images/1770896661992-2026-02-12_11-43.png) A new line is added to the table- the sample name is set to **Generated Average.** This line is the calculated average for all parameters in the table from the selected measurements. --- # Viewing Measurement Images and Graphs > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ![image description](../_images/1770129291169-20260203-143354-screenshot-ae.png) Clicking the **magnifier icon (1)** opens a detailed view of the selected measurement, giving access to all associated images and graphs for that result. This lets you go beyond single numbers and explore how the surface or material actually looks and behaves under the instrument’s optics. ### What you can see with the magnifier Depending on the connected instrument and active module, the magnifier view can include: - **Gloss camera images (Aesthetix / gloss modules):** High‑resolution images showing specular reflections, linking gloss, haze and DOI values to visible effects such as halos, streaks or hotspots. - **Topographical maps (Rhopoint TAMS, Aesthetix Texture):** 3D height maps and 2D contour views that reveal hills, valleys, orange peel and texture cells, with tools for zoom, rotation and cross‑section profiles. - **Surface images and defect overlays (Aesthetix scratch/defect modules):** Observer‑camera images with highlighted scratches, dents or contamination overlaid on the real surface image. - **Profiles and graphs (all instruments):** Line profiles, roughness plots, reflectance or appearance curves that show how key metrics change across the measured area. ### Why this is useful - These instrument‑specific images and graphs make it much easier to **understand** why certain values are high or low, by directly showing the underlying defects, texture, structure or optical behaviour. - They support **rich reporting**, allowing you to combine numeric metrics (gloss, haze, waviness, roughness, transparency, scratches, etc.) with visual evidence (images, maps, profiles) when communicating with colleagues, customers or suppliers. ![image description](../_images/1770129991958-20260203-144522-screenshot-ae.png) An example image from the Texture module shows a detailed topographial map (1) of the surface and a user selected surface profile (2) from the map. Clicking on the tabs shows other options 2D surface map (3), watershed feature analysis (4), a colour surface image (5) and a section where the user can take and store photographs of the sample and add further information. --- # Device Connection Problems > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ## Cable Length When connecting devices via USB 3.0, it is recommended to use cables no longer than 3 meters to avoid common issues. Using longer USB 3.0 cables can lead to several problems due to various technical limitations. Here are the key issues: - **Signal Degradation** - Attenuation: As the length of the USB cable increases, the strength of the signal weakens due to attenuation. This can result in data transmission errors or complete failure to communicate. - Interference: Longer cables are more susceptible to electromagnetic interference (EMI), which can further degrade the signal quality. - **Power Delivery** - Voltage Drop: Longer cables can cause a drop in voltage, leading to insufficient power being delivered to the device. This can cause devices to malfunction or not operate at all. - Current Limitations: The resistance in the longer cables can limit the current, affecting the performance of devices that require more power. - **USB Specification Limits** - Standard Length: The USB 3.0 specification limits the maximum length of cables to 3 meters. Exceeding this length can lead to unreliable performance because the USB standard is optimized for shorter cables. - Signal Timing: Longer cables can introduce latency in signal timing, which can disrupt the synchronous data transfer required by USB 3.0. - **Data Transfer Rates** - Reduced Speeds: The high-speed data transfer capabilities of USB 3.0 (up to 5 Gbps) can be compromised with longer cables. This can lead to reduced transfer speeds, making the connection less efficient. - Error Rates: Increased length can raise the error rates during data transmission, leading to repeated retransmissions and thus lower effective data rates. ### Solutions to mitigate USB cable problems - **Active USB Cables**: These cables have built-in signal boosters or repeaters that help maintain signal integrity over longer distances. - **USB Hubs with Power**: Using powered USB hubs can help maintain the necessary power levels and signal quality over extended distances by boosting the signal at each stage. - **Optical USB Cables**: These convert electrical signals to light and back, reducing signal degradation and allowing for much longer cable lengths. --- # Log Files > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. This document provides information on how to locate, access, and use log files generated by the Æ Appearance Elements software. Log files are invaluable tools for troubleshooting and problem-solving and can be retrieved from a specified directory within your system. The following sections will guide you on how to find these files, understand their naming conventions, and employ them for effective troubleshooting. ## Location The log files for the software are located in your local drive. You can find them in this directory: `%LOCALAPPDATA%\Rhopoint Instruments Ltd\Rhopoint Appearance Elements 2\Logs`. For example, if your username is `username`, the full path will be: `C:\Users\username\AppData\Local\Rhopoint Instruments Ltd\Rhopoint Appearance Elements 2\Logs` ## Accessing Log Files To access the log files, look at the version display in the bottom right corner of the main application window. Click on this version number to open the log files folder. ## Log File Naming The log files are named according to the date when they were generated. This allows you to easily identify logs from a specific time. ## Log File Usage Please remember that these log files can be highly helpful in troubleshooting any issues you may face. We encourage you to send them to the Rhopoint Instruments Customer Support whenever you seek help regarding any problems. The logs provide our support team with valuable information, aiding them in effectively diagnosing and addressing your concerns. --- # Using Aesthetix with AE > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ## Install Appearance Elements [Install AE](rhopoint-appearance-elements-install-ae.md) ## Connect the Aesthetix to AE The Aesthetix must be connected to an available USB 3.0 port on your PC, Laptop or Windows Tablet. [Connect an Instruments to AE](rhopoint-appearance-elements-connect-an-instrument-to-ae.md) ## Configure the Aesthetix Sensor The Aesthetix can be configured with a standard measurement adaptor, small area/curved surface adaptor, or special jigs or adaptors. [Aesthetix removeable adaptors and jigs](rhopoint-aesthetix-curved-surfaces-non-contact-measurement.md) ## Select a Module The Rhopoint Aesthetix can be used with multiple software modules to measure different aspects of surface appearance and quality. --- # Calibrating Aesthetix in AE > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Once a module is chosen, it may be required to calibrate the sensor. ## Calibration Standards The following standards must be used dependent on the module. | Module | Standard | |------------------------|-----------------------------------| | Gloss Module | B8000-011 Gloss Module Standard | | Texture Module | B8000-012 Texture Module Standard | | Coatings Physical Test | B8000-011 Gloss Module Standard | Modules which do not require calibration include: - Sparkle Module Click on the calibration icon to begin calibration and follow the on-screen instructions. [Calibrating an Instrument in AE](rhopoint-appearance-elements-calibrating-an-instrument-in-ae.md) > [!tip] Calibration interval > The instrument should be checked by measuring the calibration tile daily and comparing read values with the certified values. If values are out of tolerance, recalibrate the sensor. > [!warning] Calibration artifacts must be clean with no contamination, visible damage, or fingerprints. --- # Aesthetix Modules Overview > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The Module Bar is used to select Measurement Modules. ![image description](../_images/1769527060840-modules.png) 1. **Visual Demo** A feature which gives the user control over the instrument cameras and light sources. [Read more](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-visual-demo-module.md) 2. **Surface Brilliance Module** Measure the gloss, perception gloss, haze, sharpness, DOI and orange-peel on a surface. [Read more](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-surface-brilliance.md) 3. **Effect Finish Module** Analyses the appearance of metallic and pearlescent pigments, anodised metals and natural sparkling materials. [Read more](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-effect-finish-module.md) 4. **Texture Module** Captures surface roughness, cell amplitude and size, and hill to valley reflectiveness of textured surfaces. [Read more](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-texture-module.md) 5. **Cross-cut Adhesion Module** Objectively quantify the results of adhesion strength tests using digital imaging analysis. [Read more](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-cross-cut-module.md) 6. **Linear Scratch Module** Measure the size and area of linear defects visible in 0/45° lighting conditions. [Read more](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-linear-scratch-module.md) 7. **Polishing Quality Module** Measure the size and area of radial defects visible in 0/45° lighting conditions. [Read more](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-polishing-quality-module.md) 8. **Boring Thickness Module** Resolve the thickness of every individual layer in a multi-layer coating stack from a single Säberg-drilled crater. [Read more](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-boring-thickness-module.md) --- # Visual demo module > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. This module is used to manually control Aesthetix light sources and cameras. Surface or gloss images from these screens can be saved with or without overlays. ## Surface View Mode ![image description](../_images/1769527415660-demo.png) ### Surface View Controls 1. 45 Degree Light- toggle between all on and all off. 2. Overlay control- switch on overlays to indicate measurement areas for Aesthetix Modules. 3. Camera exposure control, click "A" to activate auto-exposure or use manual slider. 4. Individual LED control (Line light, 6 x 45 degree ring lights, 10 degree spotlight ) 5. Image Controls (Reset view, switch to gloss view, reset camera, copy image to clipboard, save image to file) Visual demo specular camera ## Gloss View Mode ![image description](../_images/1769528603447-gloss-demo.png) ### Gloss view controls 1. 45 degree light sources toggle on/off. 2. Toggle gloss measurment area indicator. 3. Toggle gloss light source on/off. 4. Camera exposure control, click "A" to activate auto-exposure or use manual slider. 5. Image Controls (Reset view, switch to surface view, reset camera, copy image to clipboard, save image to file). --- # Boring Thickness Module Overview > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The Aesthetix Boring Thickness Module measures the individual layer thicknesses of a multi-layer coating system by imaging a precision-drilled conical crater (Säberg drill / "Säberg method") and converting the visible ring radii into micrometre values. Where conventional non-contact thickness gauges (magnetic, eddy current) only return the **total** dry-film thickness, the boring method allows you to **resolve each layer of the coating stack individually** — primer, basecoat, clearcoat — from a single measurement. ### Why Layer-Resolved Thickness Matters #### Quality Control of Multi-Layer Systems Modern paint and coating systems frequently consist of three or more functional layers. Each layer has its own role (corrosion protection, colour, gloss, weather resistance) and its own specified thickness window. A correct **total** dry-film thickness is not sufficient to prove that the system was applied correctly — a thick primer compensating for a thin topcoat passes a magnetic gauge but fails the actual specification. #### Verification of Application Process Boring thickness measurement is used in automotive OEM, architectural coatings, anti-corrosion coatings (ISO 12944), and industrial paint application to verify that each spray pass deposited the intended amount of material. #### Reference Method The boring (Säberg drill) method is a recognised destructive reference method for dry-film thickness measurement under **ISO 2808** ("Paints and varnishes — Determination of film thickness"). It is typically used to calibrate non-destructive gauges or to investigate failures detected with non-destructive techniques. ### How Boring Thickness Works with Aesthetix A precision drill bit with a known, fixed cone angle (the **Drill Angle**) cuts a shallow conical crater through the entire coating stack and into the substrate. Because the cone angle is known, each layer interface intersects the cone surface as a circular ring whose radius is directly proportional to the layer's depth. ![](../_images/20260610142210-boring-thickness-sample.png) The Aesthetix camera images the crater from above. The user — or Aesthetix' automatic detection — places one circle on every visible ring boundary. The module then calculates each layer thickness from adjacent ring radii using: $$ \text{Layer thickness}\;[\mu\text{m}] = \left| r_\text{outer} - r_\text{inner} \right| \times \tan(\text{Drill Angle}) \times \frac{\text{mm}}{\text{pixel}} \times 1000 $$ with N concentric circles producing N − 1 layer thicknesses (outermost circle = top of the coating system, innermost circle = bottom of the deepest layer). ![](../_images/20260610144035-TBD-boring-empty-preview.png) ### Required Tool: The Säberg Drill The Boring Thickness Module requires a separate, manually operated Säberg drill (sometimes called "drill grinder" or "PIG drill") to prepare the sample. The drill is not part of the Aesthetix system; commonly used bits have cone angles of **5.7°**, **10°**, **20°** or **30°**. The actual cone angle of the bit used **must** be entered as the Drill Angle parameter in Appearance Elements — see [Boring Thickness Parameters](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-boring-thickness-module-boring-thickness-parameters.md). ### When to Use This Module - Determining the thickness of **individual** layers in a multi-layer coating stack - Validating coating specifications layer-by-layer - Calibrating or auditing non-destructive thickness gauges - Investigating coating failures where layer-specific information is required ### Considerations Boring thickness measurement is **destructive**: the drill removes a small, conical area of coating down to the substrate. The measured area cannot be restored and the substrate is exposed at the drill site, requiring touch-up. Where a non-destructive total dry-film thickness measurement is sufficient, that method should be preferred and the boring method reserved for cases where layer resolution is needed. ### Boring Thickness Module Documentation - [Boring Thickness Parameters](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-boring-thickness-module-boring-thickness-parameters.md) — Drill Angle, Invert Image, Center Lock - [How to Measure with Boring Thickness Module](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-boring-thickness-module-how-to-measure-with-boring-thickness-module.md) — Standard automatic workflow - [Boring Thickness Manual Mode](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-boring-thickness-module-boring-thickness-manual-mode.md) — Manual placement and editing of ring boundaries - [Boring Thickness Measurement Guide](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-boring-thickness-module-boring-thickness-measurement-guide.md) — Best practices, troubleshooting, edge cases --- # Boring Thickness Manual Mode > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Manual mode lets you place, move, resize and remove ring boundaries by hand. Use it when automatic detection misses a layer, places a ring on a non-boundary feature, or fails entirely on low-contrast samples. The procedure described in [How to Measure with Boring Thickness Module](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-boring-thickness-module-how-to-measure-with-boring-thickness-module.md) applies up to the point where you would press **Auto**. From there, replace step 6 with the manual workflow below. ### Drawing a Ring The way you create a ring depends on whether **Center Mode** is Locked or Free — see [Boring Thickness Parameters](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-boring-thickness-module-boring-thickness-parameters.md) for the parameter itself. #### Center Mode Free — Edge-to-Edge Drawing 1. Click on the live image at one edge of the ring you want to capture. 2. Hold the mouse button and drag to the opposite edge of the same ring. 3. Release the mouse. A ring is created whose diameter equals the distance between the two click points. This mode is intended for asymmetric craters or for samples where you want to follow each visible ring exactly. #### Center Mode Locked — Radius from Reference Centre 1. Make sure at least one reference ring (the first ring in the list) already exists. If none exists, draw it first with Center Mode temporarily Free, then enable Locked again. 2. Click anywhere on the rim of the next ring. The new ring is created with the **same centre** as ring #1 and a radius equal to the distance from the centre to the click point. This mode is the recommended workflow for a correctly drilled concentric Säberg crater. ### Selecting a Ring Click directly on the outline of an existing ring. The ring turns **blue** and a dashed bounding box with five interactive nodes appears: ![](../_images/20260611165222-TBD-boring-manual-circle-nodes.png) - **Centre node** — drag to move the ring (with Center Lock on, all rings move together). - **Four corner nodes** — drag to resize the ring. The ring stays circular (width and height are kept equal). ### Editing Ring Values Numerically The ring list on the right of the module shows every ring with its **Radius**, **Center X** and **Center Y** in millimetres. These fields are directly editable: click into a cell, type the new value, and press Enter. Use this when you have an external reference for the expected ring radii (for example, a calibration standard). The **#** column is the ring order. The order can be changed by drag-and-drop within the list; this affects only the display, not the measurement. ### Removing a Ring Click the **trash** icon in the ring's row in the list. The ring is removed from the image and the remaining rings are renumbered automatically. ### Recommended Manual Workflow 1. Open the Boring Thickness module and set the Drill Angle (see [Boring Thickness Parameters](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-boring-thickness-module-boring-thickness-parameters.md)). 2. Place the instrument on the sample and run Auto-Exposure. 3. Decide on Center Mode — **Locked** for a correctly drilled crater, **Free** for an asymmetric one. 4. Draw or auto-detect the rings. 5. Edit any misaligned rings using the bounding-box nodes or the numerical fields in the ring list. 6. Visually verify that every ring sits exactly on a layer boundary and that no spurious rings remain. 7. Press the **Tick** button to save the measurement. 8. Review the overlay and accept or reject as in step 9 of [How to Measure with Boring Thickness Module](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-boring-thickness-module-how-to-measure-with-boring-thickness-module.md). ### When to Prefer Manual Mode over Auto - The coating has low inter-layer contrast and automatic detection misses layers. - The crater has visible imperfections (drill marks, swarf, dust) that automatic detection picks up as false boundaries. - You are calibrating against a reference sample with known ring radii and want full control. - You only want to measure a **subset** of the visible layers (for example, only top and bottom). --- # Boring Thickness Measurement Guide > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. This guide collects best practices, common pitfalls, and troubleshooting steps for the Boring Thickness Module. For the standard workflow see [How to Measure with Boring Thickness Module](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-boring-thickness-module-how-to-measure-with-boring-thickness-module.md), and for manual placement see [Boring Thickness Manual Mode](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-boring-thickness-module-boring-thickness-manual-mode.md). ### Sample Preparation The quality of the boring measurement depends almost entirely on the quality of the drilled crater. Aesthetix can only measure what is visible in the image. - **Use a sharp, clean drill bit.** A worn bit produces an irregular cone and frayed layer edges. - **Drill at a stable, perpendicular angle** to the coating surface. A tilted drill produces an **elliptical** crater whose rings are no longer truly concentric and whose radii do not match the cone geometry — the calculated thicknesses will be biased. - **Drill deep enough** to reach into the substrate. The outermost ring must correspond to the original coating surface; the innermost ring must lie clearly within the deepest layer (or in the substrate itself). - **Clean the crater** with a soft brush or compressed air. Drill swarf and dust create false features that confuse automatic detection. ### Imaging the Crater - Always run **Auto-Exposure** before measuring. Boundaries between layers of similar colour are very sensitive to exposure. - If the coating colours are such that an inner layer is **darker** than the layer above it (for example, dark primer under a lighter topcoat), enable **Invert Image** in the properties panel — see [Boring Thickness Parameters](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-boring-thickness-module-boring-thickness-parameters.md). - Centre the crater in the live image. Rings near the image edge are subject to greater lens distortion and their radii will be slightly biased. ### Choosing the Drill Angle The Drill Angle parameter must exactly match the physical angle of the drill bit used. Common bits are engraved with their angle. | Drill Angle | Magnification of layer thickness | |---|---| | 5.7° | × 10 (Δr × 0.0997 ≈ Δr / 10) | | 10° | × 5.67 | | 20° | × 2.75 | | 30° | × 1.73 | Smaller angles "stretch" thin layers over a wider radial distance and are preferred for thin coatings; larger angles concentrate the crater and are preferred for thick coatings on small samples. See [Drill Angle](glossary-of-measurement-parameters-drill-angle.md) in the glossary. ### Center Mode — When Locked and When Free - **Locked (recommended default):** Use for any correctly drilled, geometrically concentric crater. Center Lock removes subpixel detection noise that would otherwise produce slightly offset rings. - **Free:** Use only when you deliberately want to follow visibly non-concentric rings, for example to investigate a tilted drill or an asymmetric crater. ![](../_images/20260611164621-TBD-boring-centre-locked.png) ### Verifying the Result After the measurement is calculated, the overlay shows numbered layer labels between adjacent rings and a "Layers:" summary in the top-left corner of the result image. Cross-check: - **Layer count.** The module produces N − 1 layers from N rings. If you expected three layers but the table shows two, one ring is missing. - **Plausibility of values.** Typical decorative paint layers are in the range of 10–80 µm; primers may be 20–60 µm; industrial heavy-duty coatings can reach several hundred µm. Values orders of magnitude off this range usually point to a wrong Drill Angle. - **Total Depth.** Compare the total depth to an independent non-destructive thickness measurement on the same sample, if available. ### Troubleshooting | Symptom | Likely cause | Fix | |---|---|---| | Automatic detection finds no rings | Crater too dark, too bright, or filled with swarf | Re-run Auto-Exposure; clean the crater; try Invert Image | | Automatic detection misses one ring | Low contrast between two adjacent layers | Add the missing ring manually — see [Boring Thickness Manual Mode](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-boring-thickness-module-boring-thickness-manual-mode.md) | | Rings slightly offset from each other | Subpixel detection noise on a concentric crater | Enable Center Lock | | Rings clearly off-centre | Drill held at an angle, crater is elliptical | Re-drill perpendicular; results from a tilted crater are biased | | Layer thicknesses one order of magnitude wrong | Drill Angle parameter does not match the physical bit | Check engraved angle on the bit; correct the Drill Angle in properties; press Set | | Layer thicknesses are wrong but proportional | mm/pixel calibration of the Aspec camera is off | Recalibrate the device — see the calibration section of the Aesthetix manual | | More than five visible layers | Module table stores only Layer 1–5 Depth | Plan ahead: drill only the layers you need to resolve, or export the raw layer depth list | ### When Not to Use This Module - For routine total dry-film thickness on a known coating, a non-destructive magnetic or eddy-current gauge is faster, non-destructive, and sufficient. - For very thin coatings (< 5 µm total) the radial spread of the rings is below the lateral resolution of the Aspec camera and the measurement becomes unreliable. - For samples where the substrate is not visually distinguishable from the deepest coating layer, the innermost ring cannot be placed reliably. --- # Boring Thickness Parameters > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The Boring Thickness module exposes three measurement parameters in the right-hand properties panel. They control how Appearance Elements interprets the imaged crater and converts pixel radii into layer thicknesses in micrometers. Presets can also be created and saved. ![](../_images/20260611094523-TBD-Measure-Params.png) ### Drill Angle The cone angle of the Säberg drill bit used to prepare the sample, in degrees. - **Default:** 5.7° - **Allowed range:** 0° – 90° - **Typical values:** 5.7°, 8.5°, 14°, 26.6°, 45° (depending on the bit physically used) > [!warning] The Drill Angle is the single most important parameter for accuracy. The calculated layer thicknesses are directly proportional to `tan(Drill Angle)`. Entering the wrong angle does **not** produce a warning — the module will return plausible but incorrect µm values. Always verify the engraved angle on the drill bit before measuring. #### When to Adjust Whenever the drill bit physically used to prepare the crater is replaced with a different angle. The default of 5.7° matches the most common Säberg bit but is not universal. See also: [Drill Angle](glossary-of-measurement-parameters-drill-angle.md) in the glossary. ### Marker Color A toggle that inverts the captured image before ring detection runs. - **Options:** Dark or Light The setting determines where the Auto mode finds the outer edge of the formed crater. ### Center Mode A toggle that forces all rings to share a single common centre point. - **Options:** Free or Locked (per-user preference; the last setting is restored when AE is launched). - **Effect when Locked:** - Any new ring you draw inherits the centre of the **first** ring in the list. - When you drag the centre node of any ring, **all** rings move together as a group. - When you set to Locked with rings already present, all existing rings are immediately recentred onto the centre of ring #1. #### When to Use Set Center Mode to Locked for any **correctly drilled** Säberg crater — by geometry the rings are truly concentric, and locking the centre prevents subpixel detection noise from producing slightly offset circles, improving the consistency of layer radii. Use Free Center Mode only when the crater itself is visibly asymmetric (for example, the drill was held at a slight angle) and you need to follow the actual ring positions rather than enforce a perfect cone. ### Presets The default preset uses the 5.7° Drill Angle and the Dark Marker Color, default presets are not editable. To create presets: - Press the plus button to open the Preset Creation Wizard - Enter a name for your preset and press OK ![](../_images/20260611105342-TBD-Preset-name.png) - Enter a description if required, this can be left blank - The parameters are now editable, set the desired parameters and Press the save button to save the changes - Presets can be deleted by opening a preset using the drop down and pressing the delete icon --- # Boring Thickness Tool > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The Rhopoint Boring Thickness tool is used to create a controlled, shallow conical crater in a coated surface, thereby exposing the full coating stack in cross-section for measurement and analysis. ![](../_images/Boring tool.jpg) ## Boring Thickness Tool Parts ![](../_images/B8010-Paint Borer 2 (1).jpg) ## How it works: - The tool uses a rotating drill that is gently pressed against the sample surface. The weight of the Turn Wheel and Collet assembly is designed to exert a good amount of pressure for most coatings. - As the Turn Wheel is rotated, it gradually removes material in a circular motion, forming a tapered (conical) crater rather than a straight hole. - Because the crater is angled, each layer within the coating stack is spread out along the slope. - This effectively magnifies the apparent thickness of each layer, making them easier to observe and measure using the Aesthetix. - The process continues until the crater passes through all coating layers and slightly into the substrate, ensuring the complete stack is revealed. In summary: Instead of drilling a simple hole, the tool creates a precise angled cross-section, allowing accurate measurement of coating thickness by analysing the exposed layer widths along the crater surface. ## Using the Boring Thickness Tool: WARNING: Boring drills are sharp, handle with extreme care. - Remove the base cover to access the drill ![](../_images/Boring Tool 2.png) - Select the drill based on the guide below: ![](../_images/TBD-Drill table.png) - Insert the drill into the collet aligning the edge of the collet with the step in the drill ![](../_images/Boring tool 1.png) - Tighten the collet, the drill height is now set - If the surface of the sample is light make a dark area using a black paint marker - If the surface of the sample is dark make a light area using a white paint marker - Holding the turn wheel up to avoid the drill hitting the surface align the tool over the marked area ![](../_images/TBD-Sample-Alignment.png) - Let the turn wheel lower until the drill hits the drilling surface, hold the main body to prevent movement and rotate the turn wheel until the desired crater is formed (this can be checked by gently lifting the drill) ![](../_images/TBD-Paint-Borer-Sample-Crater.png) - You are now ready to measure the thickness of your coating [How to Measure with Boring Thickness Module](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-boring-thickness-module-how-to-measure-with-boring-thickness-module.md) --- # How to Measure with Boring Thickness Module > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. This guide describes the standard, automatic workflow for measuring layer thicknesses on a Säberg-drilled multi-layer coating sample. For manual placement or editing of the ring boundaries, see [Boring Thickness Manual Mode](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-boring-thickness-module-boring-thickness-manual-mode.md). ### Before You Start - A Säberg drill bit of a **known** cone angle has been used to prepare a clean conical crater through the coating stack down to (or close to) the substrate. - The Aesthetix device is connected, calibrated, and listed in the device manager. - The drilled site is clean and free of dust or drill swarf. ### Step-by-Step 1. **Open the Boring Thickness module** In the Module Bar, select the Boring Thickness Module. ![](../_images/20260610145244-TBD-module-bar-with-boring.png) 2. **Enter the Drill Angle** In the right-hand properties panel, set the **Drill Angle** to match the cone angle engraved on the drill bit used to prepare the sample (for example 5.7°). Confirm by pressing **Set**. See [Boring Thickness Parameters](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-boring-thickness-module-boring-thickness-parameters.md) for details on every parameter. 3. **Place the instrument on the sample** Position the Aesthetix flat over the drilled crater so the crater is centred and entirely visible in the live image. 4. **Optimise the camera exposure** Press the **Auto-Exposure** button (the "A ±" button below the live image). All rings should be clearly visible with sharp contrast between adjacent layers. Set the Marker color, this will enable the detection of the outer circle. 5. **Enable Center Lock (recommended)** For a correctly drilled, concentric crater, enable **Center Lock** in the properties panel. This forces every detected ring to share the same center point and improves consistency. 6. **Run automatic ring detection** Press the **Auto** button. Appearance Elements takes a preview measurement and places one circle on each detected ring boundary. ![](../_images/20260611162434-TBD-boring-auto-detection.png) 7. **Verify the detected rings** Inspect each detected ring against the actual layer boundary in the image: - If a ring is missing, add it manually — see [Boring Thickness Manual Mode](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-boring-thickness-module-boring-thickness-manual-mode.md). - If a ring is misplaced, select it (single click on the ring outline) and drag its edge to align it, or edit Radius / Center X / Center Y directly in the ring list on the right. - If a ring was detected on a feature that is not a layer boundary (dust, scratch, drill swarf), remove it using the trash icon in its row. - Coating or Layer Thickness is calculated below the Circle properties 8. **Run the measurement** Press the **Tick** button. Appearance Elements saves the layer thicknesses from the current ring radii and the Drill Angle to the measurement table. 10. **Inspect the result in the table** Return to the table view (Navigate to Table View button). The measurement appears as a row with **Total Depth**, **Drill Angle**, and individual **Layer 1–5 Depth** columns. ![](../_images/20260611163920-TBD-boring-data-table.png) Expanding the row reveals the drill image, the overlay with numbered rings, and a per-layer thickness table. ![](../_images/20260611164121-TBD-boring-expanded-result.png) ### Tips for a Good First Measurement - Always perform an Auto-Exposure first; an over- or under-exposed image will both confuse automatic detection and hide subtle layer boundaries. - The outermost ring corresponds to the **top** of the coating system (Layer 1 = topcoat); the innermost ring corresponds to the **bottom** of the deepest measurable layer. - The module supports up to **five** layers in the data table (Layer 1 Depth … Layer 5 Depth). Drilling six or more visible rings is technically possible but additional layers will not be stored as separate table columns. --- # Cross-cut Module Overview > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Aesthetix Cross-cut Module replaces the subjective visual analysis of cross-cut panels with reproducible imaging measurement. In the paint and coatings industry, adhesion is a critical property that determines the durability and performance of a coating under various conditions. In the paint and coatings industry, adhesion is a critical property that determines the durability and performance of a coating under various conditions. The Cross-cut Test, standardized by ISO (International Organization for Standardization) under ISO 2409, is a widely recognized method for evaluating the adhesion of a coating to a substrate. ### Why Cross-cut Testing is Important #### Adhesion as a Key Quality Indicator Coatings are applied to protect surfaces from environmental damage, corrosion, or wear, and to enhance aesthetics. A coating's ability to adhere strongly to a substrate ensures it performs its intended function over time without peeling, flaking, or detaching. #### Reliability Across Industries Cross-cut testing is used globally to ensure coatings meet consistent quality and performance standards. It helps manufacturers, contractors, and end-users to validate product reliability, regardless of the substrate type or environmental conditions. #### Ease and Precision The test involves making a grid of cuts (cross-cuts) through the coating down to the substrate using a specialized cutting tool. After the grid is created, adhesive tape is applied and removed to assess the coating's adhesion based on the extent of detachment or flaking observed in the cut areas. The results are graded on a numerical scale, making it a simple yet precise evaluation method. #### Standardized Benchmarking By following the ISO 2409 standard, the test provides a clear benchmark for comparing coating performance. This helps in quality control, product development, and ensuring compliance with industry regulations. ### Cross-cut Testing with Aesthetix The Aesthetix device leverages the principles of the ISO Cross-cut Test to provide accurate and repeatable measurements of cross-cuts, not being subject to daily form. With Aesthetix, users can efficiently and neutrally assess the durability of their coatings, ensuring they meet both performance expectations and industry standards. This empowers paint and coating professionals to achieve superior product performance and durability. ### Cross-cut Properties The standard method for ISO 2409 proposes to cut six horizontal and six vertical lines. The Default setting for Appearance Elements is to use this setup with a cut spacing of 2.0 mm, a cut thickness of 0.2mm and a detection threshold of 10%. ![Cross-cut default properties](../_images/1765873971468-crosscut-default-properties.png) #### Cut Spacing Cut Spacing (also called line spacing) is the distance between the centers of nearby cut lines. #### Cut Thickness Cut Thickness is how wide each cut line is. #### Cut Detection Threshold Cut Detection Threshold controls how the system tells the difference between areas with coating and areas where the coating has been removed. The system starts with an automatic guess based on image brightness. ##### Purpose: This setting helps fine-tune the system's guess so it better separates coated from uncoated areas. It's especially useful near the edges where the coating may only be partly removed. - Raise the threshold to include more subtle changes—this helps catch areas where the coating was lightly removed. - Lower the threshold to ignore faint signals or small amounts of leftover coating—this helps avoid marking coated areas as removed. ##### When to adjust: Adjust the Cut Detection Threshold if the automatic setting makes mistakes, such as: - Marking coated areas as removed, or - Missing areas where the coating was actually removed. Make small changes and check the results to get the best separation between coated and uncoated regions. #### Manual Measurement Method After setting the properties of the cross-cut detection, the preview will display the cross-cut grid. ![Crosscut preview with grid](../_images/1768553950617-1765875103309-crosscut-preview-with-grid.png) > [!info] The white grid in the preview will mirror the settings in properties and will only appear after you have taken at least one measurement. Please arrange the grid and the cross-cut image as close as possible, as only a matching overlay would ensure a perfect result. If you see that your grid does not match, please modify the properties accordingly. ![Cross-cut example 1](../_images/1768553916659-1765874234299-Cross-Cut1.png) Ideal results should look like as in the images below; note that the images show detected remaining coating in green overlay colour: ![Cross-cut example 2](../_images/1768553922086-1765874258882-Cross-Cut2.png) If you are experiencing issues with the selection of remaining coating, please adjust the Cut Detection Threshold until the resulting overlay is covering the area correctly. ### Testing Coatings with Low Absorption Against the Substrate For samples having a brighter coating compared to the substrate, you might be experiencing issues. In this case, it might help to use the “Invert Map” setting, to differentiate the cross-cut by inverting the image and then performing the analysis. --- # Cross-cut Adhesion Auto Mode > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Automatic mode uses image analysis to automatically detect the cuts in the grid and evaluate adhesion with consistent, repeatable results. [Manual Mode](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-cross-cut-module-cross-cut-adhesion-manual-mode.md) in the Cross-cut Adhesion module lets the user interactively align the grid and fine‑tune detection settings for difficult materials, such as low-contrast coatings or uneven cross-cut grids. 1. **Activate Interactive Measurement** - In the crosscut module, press the interactive measurement button. ![image description](../_images/1770390197104-20260206-150251-screenshot-ae.png) 2. **Optimize Camera Exposure** Place the instrument on the cross cut test- a clear live image of the surface should be visible. To adjust the image; - Use the **Auto-Exposure** button (1) to optimise the camera exposure for the surface's reflectivity. - If necessary, manually adjust the exposure using the slider. (2). ![image description](../_images/1771336191176-mt3KTaUDVn.png) 3. **Choose Automatic mode (1)** - Check the Auto mode icon is in the on position (1). ![image description](../_images/1771336385711-7E8WZCSRGp.png) 4. **Choose test parameters** - Set grid size (1) and cut parameters to match the test panel (2). - Press the set button (3) to redraw the red guide box (4). - Move the instrument so the guide box (4) is positioned outside the test grid. - Press (5) to start a trial measurement. ![image description](../_images/1771337401360-cP05KQVFzi.png) 5. **Testing on white or light colours** The default setup detects cut lines that are lighter than the background. When testing light colours the lines can be darker than the background. If cut lines are darker that the background colour; - Switch off auto contrast (1) and select invert image (2) ![image description](../_images/1771346495247-mhV2e32uKz.png) ## 6. **Finetuning the detected paint area** The cut detection threshold can be adjusted to; - Finetune a measurement so edges are more accurately defined. - Isolate a certain colour of remaining material, for example when determining intercoat adhesion. 7. **Adjusting the cut detection threshold** - Click on/off the found overlay (1). ![image description](../_images/1771339094383-lwwyUZJvLQ.png) - The green overlay should match the area of undamaged coating. Increasing the threshold (1) makes the detection algorithm more sensitive. Decreasing the threshold (1) makes it less sensitive. ![image description](../_images/1771347333397-DMG3Eqbyfz.png) ![image description](../_images/1771341106852-Screenshot-2026-02-17-150754.png) When the found ovelay matches the undamaged pain area; - Click the accept measurement button (1) to include it in the table. ![image description](../_images/1771347699720-va48Vla7YQ.png) --- # Cross-cut Adhesion Manual Mode > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Manual mode in the Cross-cut Adhesion module lets the user interactively align the grid and fine‑tune detection settings for difficult materials, such as low-contrast coatings or uneven cross-cut grids. 1. **Activate Interactive Measurement** - In the crosscut module, press the interactive measurement button. ![image description](../_images/1770390197104-20260206-150251-screenshot-ae.png) 2. **Optimize Camera Exposure** Place the instrument on the cross cut test- a clear live image of the surface should be visible. To adjust the image; - Use the **Auto-Exposure** button (1) to optimise the camera exposure for the surface's reflectivity. - If necessary, manually adjust the exposure using the slider. (2). ![image description](../_images/1771336191176-mt3KTaUDVn.png) 3. **Choose Automatic mode (1)** - Check the Auto mode icon is in the off position (1). ![image description](../_images/1771419899924-Rnl7BzjuR1.png) 4. **Choose test parameters** - Set grid size (1) and cut parameter (2) to match the test panel. - Move the instrument so test pattern is in the centre of the window (3). ![image description](../_images/1771420519172-8NPx37BcwM.png) 5. **Align the grid** - Click on the four corners of the test grid (1,2,3,4) ![image description](../_images/1771421128507-BwyfL05pyC.png) > [!tip] Zoom in with your mouse scroll wheel for precise placement of corners.![image description](../_images/1771421416815-2mCG6cmuWr.png) Press the set button (1) to draw the grid, check the alignment and cut thickness match the test grid (3) ![image description](../_images/1771421608959-ptFBGYKokH.png) Press the trial button (1) to analyse the sample. ![image description](../_images/1771421719706-reoOY2D6ah.png) 5. **Testing on white or light colours** The default setup detects cut lines that are lighter than the background. When testing light colours the lines can be darker than the background. If cut lines are darker that the background colour; - Switch off auto contrast (1) and select invert image (2) ![image description](../_images/1771421856694-GyZ5oE5Gl0.png) 6. **Finetuning the detected paint area** The cut detection threshold can be adjusted to; - Finetune a measurement so edges are more accurately defined. - Isolate a certain colour of remaining material, for example when determining intercoat adhesion. 7. **Adjusting the cut detection threshold** - Click on/off the found overlay (1). ![image description](../_images/1771339094383-lwwyUZJvLQ.png) - The green overlay should match the area of undamaged coating. Increasing the threshold (1) makes the detection algorithm more sensitive. Decreasing the threshold (1) makes it less sensitive. ![image description](../_images/1771347333397-DMG3Eqbyfz.png) ![image description](../_images/1771341106852-Screenshot-2026-02-17-150754.png) When the found overlay matches the undamaged pain area; - Click the accept measurement button (1) to include it in the table. ![image description](../_images/1771347699720-va48Vla7YQ.png) --- # Cross-cut Module Measurement Guide > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ### How Does Aesthetix Measure Cross-cut Adhesion? The Aesthetix measures cross-cut adhesion using its **Cross-cut Module**, which is designed to evaluate coating adhesion strength based on the ISO 2409 standard. This involves creating a grid of cuts through the coating down to the substrate and analysing the extent of coating detachment after adhesive tape is applied and removed. #### Measurement Process: 1. **Image Capture**: High-resolution images of the cross-cut area are captured 2. **Grid Removal**: The Aesthetix creates a virtual grid based on the user input on cut numbers and thiCkness, thickness, the grid is excluded from the analysis. 3. **Analysis**: The software analyses the coating detachment, identifying areas where the coating has peeled or flaked. 4. **Quantification**: Results are expressed as the percentage of remaining coating within the grid, providing an objective measure of adhesion. This automated process ensures repeatable and accurate results, eliminating subjective errors often associated with manual evaluations. --- ### Measurements Provided by Aesthetix for Cross-cut Adhesion The Aesthetix provides several metrics to quantify cross-cut adhesion: 1. **Remaining Coating Percentage**: The percentage of intact coating remaining within the cross-cut grid after testing. 2. **Cut Detection Threshold**: Adjustable sensitivity for distinguishing adhered and detached coating areas. 3. **Grid Overlay Accuracy**: Ensures precise alignment of the measurement grid with the cross-cut area. #### Comparison and Application: - Use **Remaining Coating Percentage** for general adhesion strength assessment. - Adjust the **Cut Detection Threshold** for coatings with varying contrast or brightness relative to the substrate. - For coatings with low absorption or challenging substrates, use the **Invert Map** setting to improve detection accuracy. For most applications, the **Remaining Coating Percentage** is sufficient for quality control purposes, while threshold adjustments are useful for specific materials or substrates. --- ### Visualising Cross-cut Adhesion Using Appearance Elements The Rhopoint Appearance Elements software provides tools to visualise cross-cut adhesion: 1. **Open Cross-cut View**: - Navigate to the "Cross-cut Module" in the software. - View a live image of the cross-cut area with an overlaid grid. 2. **Analyse Remaining Coating**: - Use colour-coded overlays (e.g., green for adhered areas, red for detached areas) to visualise adhesion performance. - Adjust grid alignment or detection thresholds if needed. 3. **Detailed Metrics Display**: - Access quantitative results in a dedicated results panel, including remaining coating percentage and cut spacing/thickness parameters. 4. **Export Results**: - Save images and data for reporting or further analysis. --- ### Improving Coating Adhesion To improve coating adhesion: 1. **Surface Preparation**: - Clean surfaces thoroughly to remove contaminants like oils, dust, or residues. - Use surface treatments such as sanding, etching, or priming to enhance mechanical bonding. 2. **Coating Formulation**: - Adjust binder content in paint formulations to improve adhesion properties. - Include additives that promote better wetting and bonding with substrates. 3. **Application Process**: - Ensure consistent application thickness and uniformity. - Avoid application in high humidity or extreme temperatures that could affect curing. 4. **Curing Conditions**: - Follow recommended curing times and temperatures to ensure proper film formation and bonding. 5. **Substrate Compatibility**: - Select coatings compatible with specific substrate materials (e.g., metals, plastics). By combining these adjustments with precise measurements from Aesthetix, manufacturers can enhance coating performance and ensure compliance with quality standards. --- # Cross-cut Parameters > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. | Parameter | Description | | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 60° Gloss | Conventional 60° gloss value. | | Undamaged | Percentage of the cross‑hatched test area that remains fully coated after the adhesion test; higher values indicate better coating adhesion to the substrate. | | ASTM Class | Adhesion rating according to ASTM D3359, expressed in standard classes (for example 5B to 0B) based on the amount of coating removed in the cross-cut grid. | | ISO Class | Adhesion rating according to ISO 2409, using ISO classes (0 to 5) to describe the degree of flaking and detachment around the cuts. | | RGB Colour | Red, green and blue channel values from the cross-cut image, used to document the visual appearance of the test area | --- # How to Measure with Cross-cut Module > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ### How to measure Cross-cut Adhesion 1. **Activate Interactive Measurement** - Press the interactive measurement button. ![image description](../_images/1770390197104-20260206-150251-screenshot-ae.png) 2. **Optimize Camera Exposure** - Use the **Auto-Exposure** button (1) to optimise the camera exposure for the surface's reflectivity. - If necessary, manually adjust the exposure using the slider. (2). ![image description](../_images/1771336191176-mt3KTaUDVn.png) 3. **Choose Automatic or Manual Mode (1)** In **auto mode** AE detects the cuts, draws the virtual grid and calculates the amount of removed coating. For irregular grids or tricky applications, the user can use **manual mode** to select the corners of the cross cut grid. ![image description](../_images/1771336385711-7E8WZCSRGp.png) --- # Effect Finish Module Overview > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The **Effect Finish module** characterises coatings containing metallic, effect pigments by measuring sparkle, graininess, waviness, gloss and RGB colour, so you can control how dynamic, coarse and colourful the finish appears under real viewing conditions. It links image-based sparkle metrics with conventional gloss measurements to describe effect finishes in a way that closely follows human visual perception. ### Purpose of this module - Quantify the key visual attributes of effect coatings, including sparkle density and visibility, graininess, waviness/orange peel, gloss and colour, under defined geometries. - Provide perception-aligned parameters for effect finishes, helping formulators and OEMs specify and agree on target appearance for metallic and pearlescent systems. ### Where this module can be used - Automotive and commercial vehicle exterior and interior parts using metallic or pearlescent basecoats, tricoats or coloured effect layers. - Consumer electronics, appliances, packaging, cosmetics and other products that rely on controlled sparkle, graininess and overall surface character to support branding and premium appearance. ### What this module measures - Sparkle metrics (Density, Area, Brightness, Visibility in RGB channels at 10° and 45°) that describe how many sparkle points are visible, how large they are and how bright they appear from different angles. - Graininess, waviness, gloss and RGB colour, giving a combined description of coarseness, orange peel and overall reflectivity/colour of the effect finish. ### How to use this module - In Appearance Elements, select the Effect Finish module, choose the appropriate fixture or stand for your sample geometry, and perform the recommended calibration on the supplied reference standard. - Place the Aesthetix sensor over the area of interest, trigger one or more measurements, and store the results in the relevant job, batch or template for later comparison. ### How to interpret the results - Use sparkle Density, Area, Brightness and Visibility (at 10° and 45°) to judge how intense, coarse and angle-dependent the sparkle effect appears compared to target or reference panels. - Combine graininess, waviness, gloss and RGB data to determine whether the overall coarseness, orange peel and colour of the effect coating fall within agreed appearance specifications for your application. --- # Effect Finish Parameters > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. |Index|Description (Effect Finish module)| |---|---| | 60° |60° Gloss; overall specular reflectance level of the effect coating.| |Waviness|Waviness of the effect finish, describing large‑scale distortion of reflections.| |Graininess|Perceived coarseness or fineness of the metallic/effect flake structure in the coating.| |Density (10°)|Number of visible sparkle points per 100 mm² area near 10°, indicating how densely flakes sparkle head‑on.| |Area (10°)|Average sparkle size near 10°, describing the typical area of individual sparkle elements.| |Brightness (10°)|Average luminance of sparkle points near 10°, describing how bright the sparkles appear head‑on.| |Visibility (10°)|Average perceived brightness of sparkle elements near 10°, considering their visibility and the background colour of the material.| |Density (45°)|Number of visible sparkle points per 100 mm² area at 45°, indicating flake activity at the side view.| |Area (45°)|Average sparkle size at 45°, describing the typical area of individual sparkle elements off‑specular.| |Brightness (45°)|Average luminance of sparkle points at 45°, describing perceived sparkle brightness from the side.| |Visibility (45°)|Average perceived brightness of sparkle elements at 45°, considering their visibility and the background colour of the material.| |SpR (10°)|Red‑channel sparkle intensity measured close to the viewing direction at 10°.| |SpG (10°)|Green‑channel sparkle intensity measured close to the viewing direction at 10°.| |SpB (10°)|Blue‑channel sparkle intensity measured close to the viewing direction at 10°.| |SpR (45°)|Red‑channel sparkle intensity measured at the off‑specular 45° viewing direction.| |SpG (45°)|Green‑channel sparkle intensity measured at the off‑specular 45° viewing direction.| |SpB (45°)|Blue‑channel sparkle intensity measured at the off‑specular 45° viewing direction.| |R|Average red‑channel surface colour of the effect finish (RGB).| |G|Average green‑channel surface colour of the effect finish (RGB).| |B|Average blue‑channel surface colour of the effect finish (RGB).| --- # Interpreting Effect Finish Parameters > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ### How Does Aesthetix Measure Sparkle and Graininess? The Aesthetix measures **sparkle** and **graininess** using advanced imaging techniques that capture surface reflectance under specific lighting conditions. - **Sparkle Measurement**: Sparkle is quantified by identifying and analyzing bright points of light (sparkle points) that are significantly brighter than their surroundings under directional illumination. The system captures high-dynamic-range images using multiple light sources at 45° and a single image at 10° angles. The visibility, density, and size of these sparkle points are calculated based on contrast thresholds, luminance, and spatial distribution. - **Graininess Measurement**: Graininess is assessed under diffuse lighting conditions. The software analyzes the spatial variation in the luminance factor of the surface, focusing on intermediate spatial frequencies. This captures the non-uniform, granular texture perceived as graininess. ### Measurements Provided by Aesthetix for Sparkle and Graininess #### Sparkle Metrics: 1. **Sparkle Density**: Number of visible sparkle points per 100 mm². 2. **Sparkle Visibility**: Average intensity of visible sparkle points relative to the background. 3. **Sparkle Area**: Average size of individual sparkle points in square micrometers. #### Graininess Metrics: 1. **Graininess Value (G)**: Quantifies the perceived coarseness of a surface under diffuse lighting, adjusted for luminance levels. #### Comparison and Application: - Use **Sparkle Density** and **Visibility** for applications where the brightness and concentration of sparkle points are critical (e.g., automotive coatings or cosmetics). - Use **Graininess Value** for assessing surface uniformity in diffuse lighting, especially in applications like interior finishes or textured coatings. For most applications, both metrics provide complementary insights into surface appearance. Choose based on whether directional (sparkle) or diffuse (graininess) lighting conditions dominate in the product's end-use environment. ### Visualizing Sparkle and Graininess Using Appearance Elements The Rhopoint Appearance Elements software allows detailed visualization of sparkle and graininess: 1. **Sparkle Visualization**: - Open the "Sparkle View" tab to see a high-resolution image of sparkle points. - Adjust thresholds to highlight visible sparkle elements. - Use color-coded overlays to differentiate between sparkle density and visibility. 2. **Graininess Visualization**: - Switch to the "Graininess Map" view to see a luminance variation map. - Analyze spatial frequency data to understand the granularity distribution. 3. **Interactive Tools**: - Use zoom and pan tools to inspect specific regions. - Compare multiple samples side-by-side to evaluate consistency. ### Adjusting Sparkle and Graininess To modify sparkle or graininess: 1. **For Sparkle**: - Increase pigment size or concentration in coatings to enhance sparkle density. - Optimize application methods (e.g., spray angle or curing conditions) to improve uniformity. - Use directional additives or effect pigments for more pronounced sparkle effects. 2. **For Graininess**: - Adjust pigment dispersion or particle size during formulation to reduce graininess. - Ensure even application thickness to minimize texture inconsistencies. - Use finer polishing techniques or smoother substrates for a more uniform appearance. By leveraging Aesthetix measurements, manufacturers can fine-tune processes to achieve desired visual effects while maintaining consistency across production batches. --- # Taking a Measurement - Effect Finish Module > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ### How to measure Sparkle and Graininess The measurement button is used to start single or multiple measurement that are sent directly to the table. 1. Ensure the sensor is calibrated. 2. To access the multiple readings feature, right click on the measurement button. 3. Press the measurement button to start (1) ![](../_images/1770389072243-20260206-144325-screenshot-ae.png) ### How to measure sparkle and graininess using the interactive measurement feature The interactive measurement function is a "live" view of the sample surface. The surface camera is used to identify particular areas of interest on the surface before starting a measurement. ![](../_images/1770389864220-20260206-145524-screenshot-ae.png) 1. Take a measurement 2. Start calibration Procedure 3. Switch to main screen with table 4. Recentre camera view 5. Switch on 10 degree spot light 6. Switch on 45 degree light source(s) 7. Standard sparkle measurement area. ### Measurement Procedure 1. Ensure the sensor is calibrated. 2. Press the button (1) to activate the interactive measurement feature. ![](../_images/1770390197104-20260206-150251-screenshot-ae.png) 3. Adjust the light sources as required, recommended setting are 45 Degree Light Sources- all illuminated, or single spot light only illuminated. 4. Use the auto-exposure button to optimize the camera exposure for the surface's reflectivity. 5. Manually adjust exposure if needed using the slider or input box. 6. The blue square indicates the measurement area for this module. 7. To measure the sparkle and graininess of an identified area on the surface move the sensor until the required area is enclosed by the blue square. > [!info] Adjusting the exposure settings do not affect measurements. This control is used to get a clear surface image for positioning purposes. --- # Linear Scratch Module Overview > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The **Linear Scratch module** uses the 45° circumferential light source and observer camera to detect and quantify linear and small-area defects—such as scratches, dents, streaks and contamination—that are visible under normal viewing conditions, for example in a laboratory light booth or typical office lighting. It turns what would normally be a subjective visual check under standard room lighting into clear numerical indicators that can be trended, compared and specified. ### Purpose of this module - Identify and measure linear and local defects that reduce perceived surface quality in everyday viewing environments, not just under extreme or artificial inspection lighting. - Provide process feedback so you can compare cleaning, coating and handling steps, and set objective pass/fail limits for scratches, dents, streaks and visible contamination. ### How defects are detected - The module uses a 45° circumferential light source to illuminate the surface uniformly from all directions at 45°, closely mimicking common overhead and light‑booth conditions while enhancing the visibility of defects. - A camera observes the same area and captures high‑resolution images in which scratches, dents, streaks and contaminants appear as local changes in brightness, relative to the surrounding surface. - Image‑processing algorithms then separate these defect features from the normal background appearance, classify them by type and geometry, and calculate parameters such as length, area, count and visibility. ### Directional categorisation: horizontal and vertical scratches Detected linear features are further analysed by their orientation on the surface and automatically classified as predominantly horizontal or vertical scratches. By comparing the total length, area and count of horizontal versus vertical scratches, the Aesthetix can reveal inhomogeneity or directional damage, for example abrasion caused by a process step that acts mainly in one direction (such as machine polishing, wiping or conveyor contact). This directional information helps users diagnose root causes more quickly, adjust process settings (tool paths, wiping direction, handling fixtures) and verify that corrective actions have reduced directional scratching rather than simply changing its orientation. ### Role of sensitivity - A **Sensitivity** control adjusts how strongly the detection algorithm responds to subtle defect features in the images. - At **low sensitivity**, only the most obvious scratches and defects are reported, corresponding to marks that are clearly visible under normal office or light‑booth conditions. - At **medium sensitivity**, the module reveals finer streaks, lighter scratches and small contamination spots that may be noticed by trained inspectors or under slightly more critical viewing. - At the **highest sensitivity**, all visible linear and local features are highlighted, including faint defects that may only be noticed under very critical inspection, while still being evaluated within a normal‑lighting context. ### What this module measures - **Length parameters** (total, vertical and horizontal) describe how extensive linear defects such as scratches and streaks are, and whether they are predominantly oriented in one direction. - **Area parameters** quantify how much of the measured region is covered by detected defects (scratches, dents, contamination), again split into total, vertical and horizontal components where applicable. - **Count parameters** report how many individual defect features are present for each orientation or class, giving a simple defect density measure. - **Visibility parameters** express how noticeable these defects are under typical viewing conditions, combining their size, brightness and contrast into perception‑based values. ### How to use this module in practice - Use lower sensitivity settings and the visibility parameters to set realistic acceptance criteria that reflect what customers and end‑users see in laboratory booths, offices or showrooms. - Increase sensitivity when you need to diagnose underlying quality issues, compare alternative process steps, or ensure that a premium surface remains visually clean and uniform under more critical inspection. - Trend defect metrics over time or between batches to confirm that surface preparation, coating, polishing and handling processes are stable, and that any changes in materials or equipment do not introduce new visible defects. --- # Linear Scratch Parameters > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. |Index|Name / Title|Unit|Description| |---|---|---|---| |60°|60° Gloss|GU|Conventional 60° gloss value indicating overall specular reflectance of the polished area.| |Min Length|Minimum Detection Length|µm|Parameter which determines the minimum length of detected scratches.| |Sensitivity|Sensitivity of Detection|–|Parameter which controls the sesnistivity of the scratch detection algorithm.| |Mask Radius|10° Spot Covering Mask Area|Pixel|Parameter which sets the radius of the analysis mask used around the 10° spot when detecting scratches.| |Length|Average Scratch Length|µm|Average length of all detected scratches in the measurement area.| |Length V|Average Scratch Lengh Vertical|µm|Average length of scratches predominantly oriented in the vertical direction.| |Length H|Average Scratch Lengh Horizontal|µm|Average total length of scratches predominantly oriented in the horizontal direction.| |Area|Total Scratched Area|µm²|Combined area covered by all detected scratches.| |Area V|Scratched Area Vertical|µm²|Total area of vertically oriented scratches.| |Area H|Scratched Area Horizontal|µm²|Total area of horizontally oriented scratches.| |Count|Total Scratches|–|Total number of scratches detected in the analysed area.| |Count V|Scratches Vertical|–|Number of vertically oriented scratches.| |Count H|Scratches Horizontal|–|Number of horizontally oriented scratches.| |Visibility|Scratch Visibility Average|AU*|Average perceived visibility of all detected scratches.| |Visibility V|Scratch Visibility Vertical|AU*|Perceived visibility of vertically oriented scratches.| |Visibility H|Scratch Visibility Horizontal|AU*|Perceived visibility of horizontally oriented scratches.| |R (RGB)|Red Channel Colour|Intensity (0–255)|Average red-channel surface colour in the analysed area.| |G (RGB)|Green Channel Colour|Intensity (0–255)|Average green-channel surface colour in the analysed area.| |B (RGB)|Blue Channel Colour|Intensity (0–255)|Average blue-channel surface colour in the analysed area.| *AU = arbitrary (instrument) units. --- # Measuring Linear Scratches > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. #### Select a measurement mode ![image description](../_images/1769613224491-20260128-151302-screenshot-ae.png) To measure polishing quality with default or last used parameters, press (1) a measurement will be made and the results will be added to the data table. To adjust parameters before starting a measurement, click the interactive measurement icon (2). #### Analysis Preview ![image description](../_images/1769619253701-20260128-165324-screenshot-ae.png) The analysis preview shows a live view from the observer camera. A blue box (1) shows the measurement area. Adjust settings (3) to change camera exposure settings (changing exposure in this view does not effect measurement). Press (2) to take a a trial measurement. #### Measurement Preview ![image description](../_images/1769619548558-20260128-165700-screenshot-ae.png) When a preview measurment has been completed the results are shown in a preview window. The left image shows the identified damage on the surface, adjusting the measurement parameters (1) will change the amount of detected damage. [How to adjust Polishing Quality Parameters](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-polishing-quality-module-adjusting-polishing-quality-parameters.md) The overlay control (2) highlight 'horizontal', 'vertical' or 'all' scratches. These values are recorded seperately in the measurement data and can be used to detect directional damage in the surface. To recalculate the measurement results (4) adjust the parameters (1) and press apply parameters icon (3). #### Complete or restart measurement ![image description](../_images/1769614625496-20260128-153638-screenshot-ae.png) To complete the measurement process, press the tick icon (1)- the trial measurement values will be transfered to the data table. To restart the process press the cancel icon (2). #### Review measurement results ![image description](../_images/1769614744886-20260128-153841-screenshot-ae.png) To review measurments in the table, press the table icon (1). --- # Polishing Quality Module Overview > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The **Polishing Quality module** evaluates how well a high-gloss surface has been polished by simultaneously quantifying gloss, haze, sharpness/DOI and polishing defects such as scratches, swirls and holograms. It turns what would normally be a subjective visual judgement into objective, repeatable numbers that closely reflect how clean, sharp and defect‑free the surface appears to the human eye. ### Purpose of this module - Optimise and control polishing processes by measuring the presence and severity of fine scratches, swirls and holograms together with gloss, haze and sharpness. - Provide perception‑aligned metrics that allow OEMs, body shops and suppliers to agree clear pass/fail limits for polishing quality, reducing rework and disputes. ### Where this module can be used - High‑gloss automotive exterior and interior components, including clearcoats, spot repairs, piano black trims and high-end refinish work. - Premium consumer goods, furniture, glass and plastic parts where ultra‑smooth, scratch‑free finishes are critical for perceived quality and brand image. ### What this module measures - Gloss, haze (including LogH / LogH C) and sharpness/DOI to characterise overall reflectivity, depth of finish and image clarity of the polished surface. - Scratch and polishing defect metrics such as scratch length, scratch count, total area and visibility giving a detailed map of swirl marks and micro‑scratches. ### How to use this module - In Rhopoint Appearance Elements, select the Polishing Quality module, choose the correct adaptor or stand for the part geometry, and calibrate on the supplied reference tile as recommended. - Position the Aesthetix sensor over the area of interest (for example a polished panel or spot repair), trigger one or more measurements, then save the numerical results and images into the relevant job, batch or template. ### How to interpret the results - Use gloss, haze and sharpness/DOI values to confirm that the overall level of mirror‑like finish meets specification, and to detect over‑ or under‑polishing with the haze parameters. - Review scratch length, area, count and visibility values (and corresponding images) to decide whether swirls, holograms and micro‑scratches are below acceptable thresholds, and to compare different polishing compounds, pads or process steps. --- # Adjusting Polishing Quality Parameters > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ![image description](../_images/1769611003606-20260128-143516-screenshot-ae.png) ### **1. Minimum Length** - **Purpose:** Sets the smallest size of defects to be included in the analysis, measured in microns. - **How It Works:** - Larger values exclude smaller defects, focusing on more significant imperfections. - Smaller values include finer defects but may increase detection of irrelevant marks. - **Adjustment Steps:** 1. Begin with a moderate value based on your quality standards (Default is 100 microns). 2. Decrease the value if you need to detect shorter defects. 3. Increase the value to focus only on larger imperfections. 4. Adjust based on the typical size of defects relevant to your product quality criteria. ### **2. Sensitivity** - **Purpose:** Controls the threshold for detecting linear defects based on their visibility (contrast against the background). - **Options:** Lowest, Low, Moderate, High, Highest - **How It Works:** - Higher sensitivity detects more subtle defects but may include false positives. - Lower sensitivity focuses on more prominent defects, potentially missing subtle ones. - **Adjustment Steps:** 1. Start with "Lowest" sensitivity. 2. If important defects are missed, increase the sensitivity. ### **3. Mask Radius** - **Purpose:** Excludes the direct reflection of the high-intensity spot from the analysis. 1. The default radius removes the spot reflection in smooth mirror like surface. 2. Increase the radius if surface haze or polishing marks are increasing the reflected spot size and interfering with defect detection. --- # Interpreting Polishing Quality Results > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ### How Does Aesthetix Measure Polishing Quality (Scratches, Swirls, and Holograms)? The Aesthetix evaluates polishing quality by using **high-resolution imaging and advanced algorithms** to detect and quantify surface defects such as scratches, swirls, and holograms. These imperfections are identified based on their unique visual characteristics under specific lighting conditions. #### Measurement Process: 1. **Directional Illumination**: The Aesthetix uses multiple light sources, including a **10° point light** and a **45° ring light**, to illuminate the surface. These lighting setups enhance the visibility of defects like scratches, swirls, and holograms. 2. **High-Resolution Imaging**: A camera captures detailed images of the illuminated surface. Scratches appear as linear features, swirls as concentric circular patterns, and holograms as elongated streaks starting from the light source. 3. **Image Analysis**: The system applies image segmentation algorithms to isolate and quantify these defects. Metrics such as defect length, width, density, and orientation are calculated. This approach ensures precise detection of polishing defects that are often difficult to identify under standard inspection conditions. --- ### Additional Measurements Provided by Aesthetix In addition to detecting scratches, swirls, and holograms, the Aesthetix provides several advanced metrics to further analyse surface quality: 1. **Sharpness**: - Measures the clarity and definition of edges in reflected images. - Higher sharpness values (measured in Sharpness Units [SU]) indicate clearer reflections with well-defined edges. - Useful for assessing overall surface quality and how well the surface reflects fine details. 2. **Distinctness of Image (DOI)**: - Evaluates the overall clarity of reflected images. - Higher DOI values indicate less distortion in reflections, making it ideal for applications requiring smooth finishes (e.g., automotive coatings). 3. **LogHaze C**: - Quantifies technical haze caused by light scattering around a specular reflection. - Important for identifying micro-textures or contaminants that reduce clarity. 4. **Visual Haze Outdoor (VHout)**: - Adjusts haze measurements to match human perception under outdoor lighting conditions. - Critical for applications where products are viewed in bright sunlight or high-intensity lighting environments. #### Comparison and Application: - Use **Sharpness** for high-gloss surfaces where edge clarity is critical (e.g., automotive finishes or polished metals). - Choose **DOI** when assessing the overall distinctness of reflections is more important than edge sharpness. - Select **LogHaze C** for technical analysis of haze caused by micro-textures or contaminants. - Opt for **Visual Haze Outdoor** when evaluating surfaces intended for outdoor use, ensuring defects like holograms or haze are not visible under sunlight. Each metric provides unique insights into surface quality; selecting the right one depends on your specific application requirements. --- ### Visualising Polishing Quality Using Appearance Elements The Rhopoint Appearance Elements software enables detailed visualisation of polishing quality: 1. **Open Defect View**: - Navigate to the "Defect View" tab in the software. - Use directional lighting options (e.g., 10° point light) to highlight surface imperfections. 2. **Analyse Defects**: - Scratches appear as linear features in the captured images. - Swirls are displayed as circular patterns, while holograms appear as elongated streaks. - Colour-coded overlays can be applied to distinguish between defect types. 3. **Visualise Advanced Metrics**: - Access additional views for Sharpness, DOI, LogHaze C, and Visual Haze Outdoor. - Compare these metrics side-by-side with defect visualisations to correlate numerical values with observed imperfections. 4. **Quantitative Analysis**: - View metrics such as scratch density, swirl intensity, sharpness units (SU), DOI values, and haze levels in the results panel. - Compare multiple samples side-by-side for consistency checks. 5. **Export Results**: - Save annotated images and data for reporting or further analysis. --- ### Improving Polishing Quality (Reducing Visibility of Scratches, Swirls, and Holograms) To improve polishing quality and reduce visible defects: 1. **Optimise Polishing Techniques**: - Use finer abrasives or polishing compounds to minimise scratches. - Avoid excessive pressure during rotary polishing to reduce swirl marks. - Use dual-action polishers instead of rotary tools to prevent holograms. 2. **Control Environmental Factors**: - Ensure a clean workspace to avoid introducing dust or debris during polishing. - Maintain consistent temperature and humidity to optimise compound performance. 3. **Use High-Quality Materials**: - Select premium polishing pads and compounds designed for specific surface types. - Ensure compatibility between pads, compounds, and coatings. 4. **Inspect Regularly During Polishing**: - Periodically check surfaces under directional lighting to identify defects early. - Adjust techniques or materials as needed based on real-time feedback. 5. **Apply Protective Coatings**: - Use sealants or ceramic coatings after polishing to protect against future scratches or defects. By leveraging precise measurements from Aesthetix alongside these improvement strategies, manufacturers can achieve consistently high-quality finishes with minimal visible imperfections while ensuring alignment with human perception under various lighting conditions. --- # Measuring Polish Quality > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. #### Select a measurement mode ![image description](../_images/1769613224491-20260128-151302-screenshot-ae.png) To measure polishing quality with default or last used parameters, press (1) a measurement will be made results will be added to the data table. To adjust parameters before starting a measurement, click the interactive measurement icon (2). #### Surface Preview ![image description](../_images/1769612174576-20260128-145459-screenshot-ae.png) The surface preview is used to position the sample over an area of interest. The 45 degree ring lights show surface damage and marks. Analysis for polishing marks is made using the 10 degree spot light- press (2) to activate this. #### Analysis Preview ![image description](../_images/1769612688502-20260128-150332-screenshot-ae.png) A blue box (1) shows the measurement area. Press (2) to take a a trial measurement. Adjust settings (3) to change camera exposure settings (changing exposure in this view does not effect measurement). #### Measurement Preview ![image description](../_images/1769613965001-20260128-152430-screenshot-ae.png) When a preview measurement has been completed the results are shown in a preview window. The left image shows the identified damage on the surface, adjusting the measurement parameters (1) will change the amount of detected damage. [How to adjust Polishing Quality Parameters](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-polishing-quality-module-adjusting-polishing-quality-parameters.md) The overlay control (2) highlight 'horizontal', 'vertical' or 'all' scratches. These values are recorded separately in the measurement data and can be used to detect directional damage in the surface. To recalculate the measurement results (4) adjust the parameters (1) and press apply parameters icon (3). #### Complete or restart measurement ![image description](../_images/1769614625496-20260128-153638-screenshot-ae.png) To complete the measurement process, press the tick icon (1)- the trial measurement values will be transferred to the data table. To restart the process press the cancel icon (2). #### Review measurement results ![image description](../_images/1769614744886-20260128-153841-screenshot-ae.png) To review measurements in the table, press the table icon (1). --- # Polishing Quality Parameters > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. |Index|Name / Title|Unit|Description| |---|---|---|---| |60°|60° Gloss|GU|Conventional 60° gloss value indicating overall specular reflectance of the polished area.| |S|Sharpness|%|Measures image sharpness/clarity in the reflected image, related to DOI; higher values mean crisper reflections.| |MC Haze|Michelson Haze|HU|Quantifies haze as low-contrast veiling around reflections that reduces clarity on polished surfaces.| |LogH C|LogHaze Compensated|logHU|Compensated LogH value that corrects for gloss level, aligning more closely with visual perception of haze.| |VisH-Out|Visual Haze Outdoors|VHU|Perception-based haze index modelling how haze appears under outdoor/daylight conditions.| |VisH-In|Visual Haze Indoors|VHU|Perception-based haze index modelling how haze appears under indoor/controlled lighting.| |DOI|Distinctness of Image|%|Describes how clearly objects are reflected in the surface; low DOI indicates milky or blurred reflections.| |Min Length|Minimum Detection Length|µm|Parameter which determines the minimum length of detected scratches.| |Sensitivity|Sensitivity of Detection|–|Parameter which controls the sesnistivity of the scratch detection algorithm.| |Mask Radius|10° Spot Covering Mask Area|Pixel|Parameter which sets the radius of the analysis mask used around the 10° spot when detecting scratches.| |Length|Average Scratch Length|µm|Average length of all detected scratches in the measurement area.| |Length V|Average Scratch Lengh Vertical|µm|Average length of scratches predominantly oriented in the vertical direction.| |Length H|Average Scratch Lengh Horizontal|µm|Average total length of scratches predominantly oriented in the horizontal direction.| |Area|Total Scratched Area|µm²|Combined area covered by all detected scratches.| |Area V|Scratched Area Vertical|µm²|Total area of vertically oriented scratches.| |Area H|Scratched Area Horizontal|µm²|Total area of horizontally oriented scratches.| |Count|Total Scratches|–|Total number of scratches detected in the analysed area.| |Count V|Scratches Vertical|–|Number of vertically oriented scratches.| |Count H|Scratches Horizontal|–|Number of horizontally oriented scratches.| |Visibility|Scratch Visibility Average|AU*|Average perceived visibility of all detected scratches.| |Visibility V|Scratch Visibility Vertical|AU*|Perceived visibility of vertically oriented scratches.| |Visibility H|Scratch Visibility Horizontal|AU*|Perceived visibility of horizontally oriented scratches.| |R (RGB)|Red Channel Colour|Intensity (0–255)|Average red-channel surface colour in the analysed area.| |G (RGB)|Green Channel Colour|Intensity (0–255)|Average green-channel surface colour in the analysed area.| |B (RGB)|Blue Channel Colour|Intensity (0–255)|Average blue-channel surface colour in the analysed area.| *AU = arbitrary (instrument) units. --- # Surface Brilliance Overview > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The Surface Brilliance module provides a complete, perception-based evaluation of glossy surfaces by combining gloss, visual gloss, haze, sharpness/DOI, waviness and RGB colour into a single measurement. It is designed to show how “brilliant” or mirror-like a surface appears to the human eye, going far beyond traditional gloss units. ### Purpose of this module Quantify all key contributors to high-gloss appearance, including reflectivity, image sharpness, haze and orange peel/waviness on coated or polished surfaces. Provide perception-aligned metrics that reduce disputes between suppliers and customers by matching measured values to what people actually see. ### Where this module can be used High-gloss exterior and interior coatings in automotive, commercial vehicles, marine and rail applications. Premium consumer goods, electronics, furniture, appliances, and other products where mirror-like finishes and brand-defining appearance are critical. ### What this module measures Gloss and Visual Gloss: Conventional gloss values and perception-based gloss scales that better reflect how bright and glossy the surface appears. Haze, Visual Haze, Sharpness/DOI and Waviness: Metrics for cloudiness, clarity of reflected images and orange peel, plus luminance and RGB colour for full surface characterisation. ### How to use this module In Appearance Elements, select the Surface Brilliance module and choose the appropriate adapter (for example, standard flat panel, curved or small-area adaptor) for your part geometry. Position the Aesthetix sensor on the surface (or at the defined non-contact distance), run a calibration as recommended, then take one or more measurements and save them to the chosen job, batch or template. ### How to interpret the results Use gloss and Visual Gloss to compare overall brightness and reflectivity; higher values typically indicate a more brilliant, mirror-like finish. Assess haze, Visual Haze, Sharpness/DOI and Waviness to understand whether defects such as cloudiness, orange peel or loss of image clarity are within acceptable tolerance bands for your product. --- # DOI & Sharpness Measurement Guide > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. |DOI Units|Description| |---|---| |0-50 %|No discernible reflected image.| |50-70 %|Low DOI, a reflected image is barely visible.| |70-90 %|Moderate DOI, a distinct reflected image is visible.| |90-95 %|High DOI, showing a very clear and distinct reflected image.| |95-100 %|Very high DOI, indicating an exceptionally clear reflection.| ### What are sharpness and DOI? How does Aesthetix these values? How do these values compare, which one should i use for my application? How Can I visualise DOI/Sharpness Using Appearance Elements? How can I change the DOI and Sharpness of a surface? #### Sharpness and DOI Sharpness and Distinctness of Image (DOI) are related measurements that quantify the clarity and definition of reflections on a surface. #### Sharpness Sharpness specifically assesses the clarity and definition of edges within a reflected image. It is measured on a scale from 0 to 100 Sharpness Units (SU), where higher values indicate clearer, sharper reflections[^1]. #### Distinctness of Image (DOI) DOI evaluates the overall clarity and distinctness of the entire reflected image. It quantifies how clearly and undistorted an image is reflected off a surface[^1]. ### Aesthetix Measurement Method The Aesthetix measures sharpness by: 1. Capturing a high-resolution image of a light source reflected on the sample surface using its camera sensor 2. Analyzing the sharpness of edges in this reflected image 3. Deriving a sharpness value that correlates with human visual perception[^1] For DOI, the Aesthetix likely uses a similar image-based approach, analyzing the overall clarity of the reflected image rather than focusing specifically on edge sharpness. ### Comparison and Usage Sharpness is generally considered more advanced and sensitive than traditional DOI measurements, especially for high-quality surfaces[^1]. - Sharpness provides more detailed information about edge clarity in reflections - Sharpness correlates better with human visual perception - Sharpness can detect subtle differences in very high-quality surfaces that DOI may miss For most modern applications, especially those involving high-gloss or high-quality surfaces, sharpness is recommended over DOI. However, DOI may still be used for backwards compatibility with existing specifications or standards[^1]. ### Visualizing in Appearance Elements To visualize sharpness/DOI in Appearance Elements: 1. Use the live view feature from the gloss camera 2. Switch to the gloss camera view using the switch camera icon 3. Use auto-exposure to optimize for the surface's reflectivity 4. Manually adjust exposure if needed 5. Control the specular light source, line light, and spotlight as needed[^2] The software will display sharpness/DOI values and may provide visual representations of the reflected image quality. ### Changing DOI and Sharpness To improve DOI and sharpness of a surface: 1. Enhance surface smoothness through finer polishing or sanding techniques 2. Optimize coating formulations to promote better leveling and flow 3. Improve application methods to minimize orange peel and other texture issues 4. Ensure proper curing conditions to allow coatings to level optimally 5. Use high-quality basecoats or primers to create a smoother foundation 6. For plastic parts, optimize molding conditions to reduce surface defects 7. Consider using flow additives in coatings to promote better leveling Remember that changes to improve sharpness/DOI may affect other surface properties, so consider the overall impact on the product's appearance and performance[^1]. Start writing your section content here. --- # Gloss Measurement Advice > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Tips include, when to use Gloss or Visual Gloss, sensor placement and calibration advice. ### Measurement Advice Make sure the instrument is placed flat on the surface. Regularly calibrate the instrument, once per day is recommended. [Calibrating an Instrument in AE](rhopoint-appearance-elements-calibrating-an-instrument-in-ae.md) For curved surfaces use the curved surface measurement adapter and interactive measurement feature. [Curved Surfaces & Non-Contact Measurement](rhopoint-aesthetix-curved-surfaces-non-contact-measurement.md) ### Measurement Advice—Curved Surfaces It is not advisable to measure curved surfaces with a radius of <0.5m with the standard gloss adaptor setup. The instrument is supplied with a curved surface/small parts adaptor which reduces the measurement spot to 2x4 mm- this makes it suitable for curved surfaces. [How to Measure Curved Surfaces](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-surface-brilliance-how-to-measure-curved-surfaces.md) ### Measurement Advice—Complex Parts For complex shapes or small radius parts it is difficult to correctly position the instrument during measurement - for best results - Measure non-contact using measurement stand or cobot. - Use the live positioning feedback to ensure correct positioning. - For highly reproducible results create 3D printed jigs to position the part in the correct position. ### Measurement Advice—Small Areas It is possible to measure small areas using curved surface/small parts adaptor use the interactive measurement feature to correctly position the instrument before measuring. ### Standard Gloss compared to Visual Gloss - Standard Gloss is does not match customer perception when comparing different coloured materials. - Gloss measurement alone does not detect surface effects that reduce the appearance quality of high gloss materials- such as Haze, Orange Peel and poor sharpness. ### Measurement tip-When to measure with Standard Gloss Standard gloss measurement is Important for quality control of materials with existing specifications, Aesthetix standard gloss measurements are fully compliant with ISO and ASTM international norms. Backward compatibility with customers instruments- Aesthetix 60 degree gloss values are perfectly correlated to those supplied by Rhopoint IQ or NG glossmeters or BYK Micro Gloss instruments. When a quantitative measurement of light reflection is required. For Gloss measurements that better correlate with perception use VISUAL GLOSS. For high gloss surfaces- Haze, Sharpness and Waviness are often superior predictors of surface quality than Gloss measurement. ### Measurement tip-When Standard Gloss is important Backwards compatibility with existing measurements : Standard gloss measurements are fully compliant with ISO and ASTM international norms. Regulatory and Technical Specifications: Many industries have defined standards for gloss levels that need to be met. In such cases, using a glossmeter ensures compliance with these technical specifications. --- # How to Measure Curved Surfaces > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Measuring the relfected atributes of curved surfaces is challenging (or impossible) with a standard glossmeter. The Rhopoint Aesthetix addresses these issues with its advanced optical design, optional small measurement beam and interactive measurement feature. ### **Preparation** 1. **Adaptor Selection** - Replace the standard flat surface adaptor with the curved surface/small parts adaptor, Novo-Curve Adaptor or custom 3D printed Jig. This adaptor reduces the beam size, making it suitable for curved surfaces. [Aesthetix removeable adaptors and jigs](rhopoint-aesthetix-curved-surfaces-non-contact-measurement.md) - To attach the adaptor: - Remove the standard adaptor by pulling it off (magnetically attached). - Attach the curved surface adaptor securely in its place. 2. **Calibration** - Recalibrate the instrument after changing adaptors to ensure accurate measurements. Use the supplied calibration tile certified to meet traceability standards. 3. **Positioning Tools (Optional)** - For repeatable measurements on small or complex parts, use bespoke 3D-printed jigs or a laboratory stand. These tools help maintain consistent positioning during measurement. --- ### **Measurement Procedure** #### **Using the Curved Surface Adaptor** 1. **Instrument Placement* - Use the interactive measurement feature to ensure that the measurement beam is centred on the reflection image. Misalignment can lead to inaccurate results. [How to measure Surface Brilliance](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-surface-brilliance-how-to-measure-surface-brilliance.md) 2. **Measurement Execution* - Press the measurement button once alignment is confirmed. The Aesthetix will capture data for gloss, haze, DOI, and other parameters simultaneously. #### **Non-Contact Measurement (Optional)** For fragile or delicate surfaces: 1. Mount the Aesthetix on a height-adjustable stand or integrate it into a COBOT system. Ensure that the focal distance is maintained at 10 mm ± 0.5 mm from the target surface. 2. Follow steps for live alignment and execute measurements as described above. --- ### **Tips for Accurate Measurement** - Avoid measuring surfaces with a radius smaller than 0.5 m using standard adaptors; always use the curved surface adaptor for such cases. - For highly complex shapes, consider non-contact measurement methods combined with custom jigs or COBOT systems for precise alignment. - Regularly calibrate the instrument to maintain accuracy, especially after changing adaptors or environmental conditions. ### **Applications** The Rhopoint Aesthetix excels in industries requiring precision appearance control of curved components, such as: - Automotive (e.g., chrome trims, high-gloss paint finishes) - Medical devices (e.g., orthopedic implants) - Consumer electronics (e.g., buttons, casings) - Pharmaceuticals and confectionery (e.g., pills, candy coatings). --- By following these steps and leveraging its advanced features, you can achieve reliable and repeatable measurements of curved surfaces with your Rhopoint Aesthetix instrument. --- # How to measure Surface Brilliance > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The measurement button is used to start single or multiple measurement that are sent directly to the table. 1. Calibrate the sensor 2. To access the multiple readings feature, right click on the measurement button. 3. Press the measurement button to start. ![image description|80](../_images/1768553956447-1765814078567-Measurement-button.png) ### How to measure Surface Brilliances on surfaces using the interactive measurement feature The interactive measurement function is a "live" view of the sample surface. It is used to identify particular areas of interest when measuring surface brilliance. ### Measurement Procedure 1. Ensure the sensor is calibrated. 2. Press the button (1) to activate the interactive measurement feature. ![Interactive button|80](../_images/1768553589939-1754310729325-Interactive-button.png) ![Gloss interpretation](../_images/1768553596817-1754310849676-gloss-interpretation-2.png) 3. Use the auto-exposure button ( A+/) to optimise the camera exposure for the surface's reflectivity. 4. Manually adjust exposure if needed using the slider. 5. The red dashed area on the live display indicates the target measurement zone for the gloss sensor gloss. 6. If measuring a curved or uneven surface ensure the gloss reflection (3) is centered in the red dashed box (2) by manually adjusting the orientation of the sample or sensor. 7. To measure the gloss of a specific area on the surface move the sensor until the required area is covered by the correct red ellipse (4 & 5). > [!info] Adjusting the exposure settings in the preview screen do not affect measurements. The reflected gloss image on this high gloss coating is intense and sharp & positioned centrally for an accurate gloss measurement. The surface image shows the area on the surface where the gloss is measured (4- measurement area for standard gloss adaptor & 5- Small area/ curved surface adaptor) > [!info] Appearance Elements automatically corrects for minor sample misalignment, if the gloss peak is within the central region (6) gloss measurement will be accurate. ![Gloss interpretation](../_images/1768553603928-1754310954090-gloss-interpretation-1.png) The gloss peak for matt and semi-gloss surfaces is less distinct, for alignment purposes ensure the brightest part of the image is within the red square (2). Matt surfaces will reflect a image without a peak, ensure the red dashed box on the camera sensor sensor is evenly lit before taking a measurement. --- # Interpreting Gloss > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ### Gloss Values and Their Meaning Gloss is measured in Gloss Units (GU). Here are some typical gloss values for different materials: |Material|60-Degree Gloss Value| |:--|:--| |Automotive Clearcoat|85-95 GU| |Semi-Gloss Paint|50-75 GU| |Satin Paint|25-35 GU| |Matte Paint|5-15 GU| |Polished Metals|300-950 GU| |Perfect Mirror|1000 GU| Higher values indicate a more reflective, glossier surface. ### Visualising Gloss in Appearance Elements ### How to Change Surface Gloss To change the gloss of a surface: 1. **Surface Texture**: Smoother surfaces generally have higher gloss. Polishing or sanding can increase gloss, while roughening the surface can decrease it. 2. **Coating Formulation**: For coated surfaces, adjust the refractive index of the coating. Higher refractive index materials tend to be glossier. 3. **Pigmentation**: For paints, the type and amount of pigments can affect gloss. Generally, fewer pigments result in higher gloss. 4. **Application Method**: The way a coating is applied can impact gloss. Spray application often yields higher gloss than brush application. 5. **Curing Conditions**: For certain coatings, the curing process can affect final gloss. Proper curing conditions are essential for achieving desired gloss levels. 6. **Substrate**: The underlying material can influence gloss. A smoother substrate often results in a glossier finish. Remember that changing gloss may affect other surface properties, so consider the overall impact on the product's performance and appearance. --- # Interpreting MC Michelson Contrast Haze > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Haze refers to the scattering of light by a surface that causes a reduction in the contrast of a reflected image. It results in a milky appearance which can reducing the perceived depth of the finish ### Michelson Contrast Haze- MC H (HU) The MC H parameter, or Michelson Contrast Haze, in the Rhopoint Aesthetix is a haze metric based on Michelson contrast. [Michelson Contrast Haze MCH](glossary-of-measurement-parameters-michelson-contrast-haze-mch.md) It quantifies the difference between the luminance of the specular highlight and the adjacent off-specular regions. This method provides insights into how surface microstructure affects visual haze, which traditional haze measurements may overlook. The MC H parameter, or Michelson Contrast Haze, in the Rhopoint Aesthetix is a haze metric based on Michelson contrast. It quantifies the difference between the luminance of the specular highlight and the adjacent off-specular regions. This method provides insights into how surface microstructure affects visual haze, which traditional haze measurements may overlook. --- # Surface Brilliance parameters > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. | Parameter | Description | | ---------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 60° Gloss | Conventional 60° gloss value indicating how much light is reflected in the specular direction. | | Visual Gloss | Perception-based gloss scale that predicts how bright and glossy the surface appears to the human eye. | | Haze and Compensated Haze | Measures light scatter around the main reflection that causes a milky halo and reduces the depth of finish for high gloss coatings. | | Michelson Contrast Haze MCH | A visual haze metric that quantifies the loss of contrast between the specular highlight and adjacent regions using Michelson contrast, directly reflecting how hazy and sharp the surface appears to the eye | | Visual Haze | Perception-based haze metrics that describe how hazy the surface looks under different viewing conditions. | | DOI Distinctness of Image | Quantifies the distinctness of image in the reflection. | | Sharpness | Quantifies the sharpness and edge definition in the reflection; high values mean crisp, mirror-like images. | | Waviness | Describes orange peel and surface undulations that distort reflected images over larger spatial scales. | | RGB colour | Captures colour information (red, green, blue channels) from the surface image for basic colour and appearance tracking. | --- # Surface Haze Measurement Guide > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ### What is Haze? Haze refers to the scattering of light by a surface that causes a reduction in the contrast of a reflected image. It results in a milky appearance which can reduce the perceived depth and clarity of a finish. Haze is often caused by microscopic surface irregularities, contaminants, coating defects, or subsurface imperfections that scatter light in various directions. ### How Aesthetix Measures Haze The Aesthetix measures haze using an advanced imaging technique: 1. It captures a high-dynamic-range (HDR) image of the surface reflection 2. The system analyzes the light distribution around the main specular reflection 3. It quantifies the amount of scattered light in specific angular regions This method allows for a more comprehensive assessment of haze compared to traditional haze meters. ### Haze Metrics Provided by Aesthetix The Aesthetix provides several haze-related metrics: ### What is Haze? Haze refers to the scattering of light by a surface that causes a reduction in the contrast of a reflected image. It results in a milky appearance which can reduce the perceived depth and clarity of a finish. Haze is often caused by microscopic surface irregularities, contaminants, coating defects, or subsurface imperfections that scatter light in various directions. ### How Aesthetix Measures Haze The Aesthetix measures haze using an advanced imaging technique: 1. It captures a high-dynamic-range (HDR) image of the surface reflection 2. The system analyzes the light distribution around the main specular reflection 3. It quantifies the amount of scattered light in specific angular regions This method allows for a more comprehensive assessment of haze compared to traditional haze meters. ### Haze Metrics Provided by Aesthetix The Aesthetix provides several haze-related metrics: 1. LogH (LogHaze): Logarithmic haze value in logHU 2. LogH C: Logarithmic haze with background compensation in logHU 3. Haze C: Haze with background compensation in HU 4. MC H (Contrast Haze): Calibrated contrast haze value in HU 5. Visual Haze Indoors: Visual haze value for indoor viewing conditions in VHU 6. Visual Haze Outside: Visual haze value for outdoor viewing conditions in VHU - [Haze and Compensated Haze](glossary-of-measurement-parameters-haze-and-compensated-haze.md) - [Michelson Contrast Haze MCH](glossary-of-measurement-parameters-michelson-contrast-haze-mch.md) - [Visual Haze](glossary-of-measurement-parameters-visual-haze.md) #### Comparison and Usage - LogH and LogH C provide logarithmic scales, which can be useful for materials with a wide range of haze values. - Haze C and MC H offer linear scales with background compensation, providing more accurate results for coloured or textured surfaces. - Visual Haze metrics (Indoors and Outside) are perception-based measurements that correlate closely with human observation under different lighting conditions. For most applications, Visual Haze metrics are recommended as they best represent how haze is perceived by human observers. Use Visual Haze Indoors for products primarily viewed indoors, and Visual Haze Outside for products exposed to outdoor lighting. For technical or research applications where comparison to traditional haze measurements is needed, LogH or Haze C may be more appropriate. ### Visualizing Haze in Appearance Elements ### Altering Surface Haze To alter the haze of a surface: 1. Surface Polishing: Fine polishing can reduce surface irregularities and decrease haze. 2. Coating Formulation: Adjust the coating formula to include additives that promote smoother surface formation or reduce micro-texture. 3. Application Technique: Optimize spray patterns, drying conditions, and curing processes to minimize surface irregularities during coating application. 4. Surface Cleaning: Thoroughly clean the surface to remove contaminants that may contribute to haze. 5. Substrate Preparation: Ensure the underlying substrate is smooth and free of defects that could telegraph through the coating. 6. Post-Treatment: For some materials, post-application treatments like heat or UV curing can help reduce haze by promoting better surface levelling. 7. Environmental Control: Control humidity and temperature during application and curing to prevent issues like blushing that can increase haze. Remember that altering haze may affect other surface properties, so consider the overall impact on the product's appearance and performance when making changes. 1. Haze : Logarithmic haze value in logHU 2. LogH C: Logarithmic haze with background compensation in logHU 3. Haze C: Haze with background compensation in HU 4. MC H (Contrast Haze): Calibrated contrast haze value in HU 5. Visual Haze Indoors: Visual haze value for indoor viewing conditions in VHU 6. Visual Haze Outside: Visual haze value for outdoor viewing conditions in VHU #### Comparison and Usage - LogH and LogH C provide logarithmic scales, which can be useful for materials with a wide range of haze values. - Haze C and MC H offer linear scales with background compensation, providing more accurate results for coloured or textured surfaces. - Visual Haze metrics (Indoors and Outside) are perception-based measurements that correlate closely with human observation under different lighting conditions. For most applications, Visual Haze metrics are recommended as they best represent how haze is perceived by human observers. Use Visual Haze Indoors for products primarily viewed indoors, and Visual Haze Outside for products exposed to outdoor lighting. For technical or research applications where comparison to traditional haze measurements is needed, LogH or Haze C may be more appropriate. ### Visualizing Haze in Appearance Elements ### Altering Surface Haze To alter the haze of a surface: 1. Surface Polishing: Fine polishing can reduce surface irregularities and decrease haze. 2. Coating Formulation: Adjust the coating formula to include additives that promote smoother surface formation or reduce micro-texture. 3. Application Technique: Optimize spray patterns, drying conditions, and curing processes to minimize surface irregularities during coating application. 4. Surface Cleaning: Thoroughly clean the surface to remove contaminants that may contribute to haze. 5. Substrate Preparation: Ensure the underlying substrate is smooth and free of defects that could telegraph through the coating. 6. Post-Treatment: For some materials, post-application treatments like heat or UV curing can help reduce haze by promoting better surface leveling. 7. Environmental Control: Control humidity and temperature during application and curing to prevent issues like blushing that can increase haze. Remember that altering haze may affect other surface properties, so consider the overall impact on the product's appearance and performance when making changes. --- # Visual Gloss - for enhanced correlation with human perception > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ### When to use Visual Gloss GU compared to Standard Gloss GU Visual gloss is better suited for applications where human perception is crucial, standard gloss is useful when compliance to a standard is key or measurements need to match historic specifications. Balancing between these two methods can be essential depending on the specific requirements of the project or product [de/Glossary of measurement parameters/60° Gloss (Aesthetix)](glossary-of-measurement-parameters-60-gloss-aesthetix.md) [Visual Gloss](glossary-of-measurement-parameters-visual-gloss.md) ### Measurement tip-When Visual Gloss is important Subjective Perception is Key: If the goal is to understand how people perceive the glossiness of a surface under real-world conditions, VG is more appropriate. This is crucial in industries where the aesthetic and visual appeal are critical, such as in automotive finishes, furniture, consumer electronics, and interior design. Both measurements are visible simultaneously in Rhopoint Appearance Elements software. Product Development and Marketing: When developing products where the consumer's perception influences their decision to purchase, VG can provide insights into how potential buyers might view the product under typical use conditions. Quality Control: If the product quality is judged visually by consumers, VG assessments can help ensure consistency in how products are perceived in the marketplace. --- # Visual Haze - predict haze visibility in different viewing environments > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. NEW Visual Haze measurement is more sensitive and more consistent with human perception because it accounts for illumination conditions and background paint colour. Visual haze is calculated considering the luminosity of the background colour and the luminosity of the near specular reflection (Haze). Two values are provided to account Haze visibility in two different viewing conditions, indoor viewing compared to outdoor viewing in strong sunlight. [Visual Haze](glossary-of-measurement-parameters-visual-haze.md) ![Two panels visual haze](../_images/1770383259317-1756895955798-two-panels-visual-haze.png) Two panels with identical reflective properties but Haziness is not visible on the white material. Visual Haze records the perceived haziness. > [!info] High levels of technical haze (LogH C) on low contrast colours are not visible but may cause the material to fall outside of specification. Visual Haze matches human perception and used to avoid unnecessary material rejections and over processing. ### Visual Haze VH Indoor Vhin and Visual Haze Outdoor Vhout Haze effects are amplified in strong sunlight- swirls whirls and holograms which are not visible in indoor conditions are prominent when illuminated by a high intensity light-source. ![Surface defects not detected](../_images/1770383295052-1756896165898-surface-defects-not-detected-loghc.png) Surface Defects which are not detected by technical haze (LogH C) are very visible in strong sunlight. The Aesthetix can predict the visibility of haze, scratches and polishing marks in workshop and sunny outdoor conditions. |Conditions|Surface illumination|Specular Illumination| |---|---|---|---| |VHin|Standard indoor lighting|0.5k Lux|25k cd/m2| |VHout|Sunny day- clear sky|100k Lux|1.6m cd/m2| > [!info] Coatings or materials which are to be viewed in outdoor conditions should be assessed using the Visual Haze Outdoor (Vhod) parameter- which will quantify the visibility of unwanted haziness in all conditions, avoiding customer dissatisfaction and material re-work. |Haze|Surface|Description/Perception| |---|---|---| |<50 Hu (Indoor or outdoor)|High Quality Surface|Almost perfect surface- haze not visible under normal viewing conditions.| |50-100|Ultra Low Haze Surface|Good depth of finish- Barely visible halo around reflected light sources.| |100-250|Visible Haze|Depth of finish is compromised- swirls and polishing marks are visible| |250-300|Hazy Surface|Poor quality finish| |300-500|Poor Quality Surface|Prominent halos, holograms or polish marks. Poor depth of finish| --- # Waviness Measurement Guide > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ### What is Waviness? Waviness refers to gentle undulations or waves visible on a surface that is meant to be smooth. In coated surfaces, this effect is often called "orange peel" because the texture resembles the skin of an orange. Waviness is an optical effect caused by large structures (0.1-10mm) on the surface of the material. For high gloss finishes, excessive waviness reduces the perceived quality by disrupting the uniformity and clarity of reflected images. Waviness is a key parameter when observers judge the appearance quality of high gloss coatings. A smoother, low waviness coating is perceived as higher quality compared to a similar surface with more surface texture (higher waviness). ### How Aesthetix Measures Waviness The Aesthetix measures waviness by quantifying the distortion in a 25mm straight line reflected in the material surface. ### Waviness Values and Their Meaning The Aesthetix waviness scale is highly correlated to Rhopoint TAMS waviness - a measurement parameter derived from multiple human perception trials. The value quantifies the visual impact of orange peel observed in high gloss coatings at a viewing distance of 1.5m. This value has been proven effective for quantifying orange peel in sectors such as automotive, yacht Coatings, powder coatings and high quality furniture. [Waviness (Aesthetix)](glossary-of-measurement-parameters-waviness-aesthetix.md) ### Waviness values and their meanings: - 2 WU: Piano Finish - Very smooth with no visible waviness. Imparts a feeling of very high quality. - 2-5 WU: Low orange peel - Smooth finish, orange peel is barely visible with a good or neutral impact on judgement of surface finish. - 5-10 WU: Standard Orange Peel - Surface with moderate orange-peel which is visible and is a factor when judging finish quality, especially on high contrast colors (black). - 10-15 WU: High Orange peel - Surface with prominent orange peel which has a negative impact on surface quality judgement. ### Changing the Waviness of a Surface To change the waviness of a surface: 1. Improve Application Technique: Proper spraying distance, angle, and technique can reduce uneven paint distribution that leads to orange peel. 2. Adjust Paint Viscosity: Use paint with the correct viscosity for better flow and leveling, reducing bumpy finishes. 3. Control Environmental Factors: Maintain appropriate humidity and temperature during application and drying to prevent uneven drying that can cause orange peel. 4. Enhance Surface Preparation: Adequate sanding and cleaning of the surface before painting can minimize imperfections that contribute to waviness. 5. Allow Proper Curing Time: Sufficient drying time between coats can result in a more even surface texture. 6. Optimize Equipment Settings: Use the correct nozzle size and pressure settings on spray guns for proper paint atomization. 7. Address Substrate Issues: Improve the underlying material quality, as texture in the substrate can telegraph through the coating layers, causing visible orange peel[^1]. Remember that changing waviness may affect other surface properties, so consider the overall impact on the product's appearance and performance when making adjustments. --- # Texture Module Overview > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The Rhopoint **Aesthetix Texture Module** provides objective analysis of the surface characteristics critical to visual perception and quality control for textured surfaces. Textured surfaces are those with irregular or patterned finishes, differing from smooth or flat surfaces. These textures can be natural or manufactured and include features like ridges, grooves, bumps, or grains that affect the material's tactile and visual properties. Examples include: Leather-like Surfaces: Found in automotive interiors and furniture, mimicking natural leather. Coated Surfaces: Textured paint or powder coated surfaces on metal or plastic, influencing appearance and feel. Plastic pars: Moulded textures in consumer electronics and automotive components for grip and aesthetics Textured surfaces are crucial in many industries for their impact on product aesthetics, functionality, and consumer perception, such as automotive, powder coating and leather manufacture, ensuring enhanced quality control, product development, and consistency across global supply chains. Using Aesthetix, the user can reduce subjective errors associated with visual inspection, ensuring measured surfaces have the required perceived quality and good harmony with adjacent parts. ### Measurement Method RGB colour, gloss, reflectivity, and 3D topography measurements are combined into a single measurement, delivering precise and repeatable results. The Aesthetix uses utilizes photometric stereo techniques to estimate surface normals and calculate 3D topography, providing a detailed height map of the surface. A watershed algorithm is then applied to segment the topography into cells, allowing for the analysis of cell size and area. 60° gloss is measured and reported, fully compliant with international norms ASTM D523 & ISO 2813. RGB colour is measured using 45°:0° geometry and the reported values are calculated using the average RGB pixel value of the area captured by the observer camera. Reflectance parameters are calculated using the gloss camera & reflectance differences measured using the observer camera. ### Texture feature properties (watershed methodology) #### Watershed Overview To separate features on the surface, a so-called “watershed algorithm” is applied to the topographic height map. A flooding analogy can be used to understand the watershed principle. The measured topographical map can be treated like a landscape of hills and valleys. When water is poured into the landscape, and the water level rises, the valleys (which are the local minima of the gradient image) start filling up with water, separating the hills as islands (“features”). When water from two different valleys meet and merge, a dam (or watershed line) is constructed to prevent merging. These watershed lines effectively become the boundaries between different regions in the image. The result is a segmented image where each region is separated by watershed lines, corresponding to different features within the surface. ![Topographical height map](../_images/1768553889275-1765872897972-watershed-cells.png) **Topographical height map of a surface with watershed analysis applied** Control over how the watershed lines are constructed in Appearance Elements is given in the “Feature Properties” settings. --- # Adjusting Texture Module User Parameters > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ### Adjusting the Feature Properties (Watershed parameters) #### Manual Adjustment of the Feature separation 1. **Visual Inspection** Start by visually inspecting the height image and the initial segmentation results by using the default settings _(Default: Feature separation: 3px, Feature selection: 70%)_. ![image description](../_images/1768553716485-1765814390016-watershed-map-with-selection.jpg) _In the image above, the default settings have not segmented the whole map successfully- by visual inspection we can see that some features are not separated. In this example features are separated by low areas (valleys) and represent distinct high areas or hill._ 2. **Adjust Thresholds** Modify the watershed parameters in “Feature properties” and observe the effect on the feature detection. Adjust Feature properties and test different values, then evaluate their impact on the segmentation. #### Feature Separation (Watershed Morphology) This parameter increases the gap between the found features (hills) by the separation value (number of pixels) Increasing the amount of Pixels used will separate some touching features, and thus increase the number of detected features (hills). > [!info] Note that if the value is too high smaller features (hills) can be completely eroded and will no longer be detected. #### Feature Selection (Watershed Selection Percentage) This value from 0% to 100% determines which size of features (hills) are included in the evaluation after separation. While increasing this number will exclude smaller unwanted features, it should be reduced for smaller shapes. In the analysis the watershed algorithm has not separated all the features (hills)- the feature separation parameter “Feature selection” should be increased. #### Watershed parameter adjustment To adjust the areas selected by the watershed. - Click the settings button on the right side menu. - Click the plus button to expand “Feature properties”. ![image description](../_images/1768553724904-1765814434439-feature-properties-settings.png) Adjust “Feature Separation” (watershed morphology) and “Feature Selection” (Watershed Selection Percent) parameters. - Press "Set" button. - Press "Recalculate last" button. Increased Feature Separation value will now correctly analyse the shapes. |!![image description](../_images/1768553755408-1765814505396-feature-separation-before.png)|!![image description](../_images/1768553767781-1765814538985-feature-separation-after.png)| |---|---| |Before|After| #### Invert feature map algorithm Standard textures and Leather are described by hills which are spatially separated by valleys. Some technical textures, however, form the actual texture by hills (along their maxima). For these textures, the standard algorithm will not yield a good or none result, in which case the algorithm has to be “inverted”. When this happens, please use the “Invert Feature Map” setting, set and recalculate. Example: the measurement of a technical laser texture does not yield any reasonable results, no matter what is set up in feature selection. ![image description](../_images/1768553735911-1765814454157-invert-feature-before.png) After selection of “Invert Feature Map” and setting appropriate values, the results become reasonable. ![image description](../_images/1768553747025-1765814470569-invert-feature-after.png) #### Cutting the area of interest For some applications it might be advisable that the area of interest is cut to a smaller or even larger region than the default (10.00mmx10.00mm), e.g., for steel or metallized surfaces. This helpful in those cases were there are damages or over illumination due to material albedo at the edges. In this case, you cut to a more specific region, defining an area by width and height (X and Y) distance, around the centre point of the image (0/0). For example, Standard setup 10.00mmx10.00mm, from centre point 5.00mm to the left and to the right, as well as 5.00mm up and 5.00mm down. ![image description](../_images/1768553806809-1765872778305-texture-preview-1425-settings.png) Cut to 10x10, or 5mm in all directions: enter 10mm Width and Height, “Set” and “Recalculate last”. ![image description](../_images/1768553820360-1765872829682-heightmap-sa-rough.png) > [!info] This has a direct influence on the texture parameters except gloss, so be careful and check your results. --- # Interpreting Surface Texture Results > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ### How Does Aesthetix Measure Surface Texture? The Aesthetix uses advanced optical and computational techniques to measure surface texture. It employs **photometric stereo imaging** to estimate surface normals and create detailed 3D topographical maps. These maps represent the height variations across the surface, allowing precise analysis of texture features. The system uses a **watershed algorithm** to segment the surface into distinct cells (hills and valleys), enabling the quantification of structural features such as height, size, and distribution. Key steps in the measurement process: 1. **Image Capture**: The system captures multiple images under different lighting conditions to calculate surface normals. 2. **3D Topography**: A height map is generated to represent the vertical variations of the surface. 3. **Segmentation**: The watershed algorithm separates features into cells, identifying hills, valleys, and their boundaries. 4. **Analysis**: Metrics such as roughness, cell amplitude, cell size, and reflectivity are calculated from the segmented data. ### Measurements Provided by Aesthetix for Surface Texture and Reflectivity The Aesthetix provides a comprehensive set of metrics to describe surface texture and reflectivity: #### Texture Metrics - **Sa (Roughness)**: Standard deviation of amplitude (height variations) across the surface. - **Ca (Cell Amplitude)**: Average height difference between hills and valleys, measured in perceived microns (p-µm). - **Cn (Cell Number)**: Total number of distinct cells or features within the measurement area. - **Cs (Cell Size)**: Includes mean, minimum, maximum, and standard deviation of cell sizes (mm²). - **Hs (Hill Size)**: Average cross-sectional area of elevated features (mm²). #### Reflectivity Metrics - **R (Reflectivity)**: Average reflectivity value of the surface in arbitrary units. - **RC (Reflective Contrast)**: Difference in reflectivity between hills and valleys. - **RH/RV**: Reflectivity values specific to hills and valleys. #### Comparison and Application - Use **Sa** for general roughness analysis when evaluating overall surface smoothness. - Select **Ca** for assessing depth or relief of textures that influence tactile or visual perception. - Use **Cn** and **Cs** for understanding feature density and uniformity, critical for textured coatings or molded parts. - Reflectivity metrics like **RC** are ideal for determining how texture impacts visual contrast or glossiness. Choose metrics based on your application: - For functional surfaces requiring uniformity (e.g., automotive interiors), focus on **Cn**, **Cs**, and **RC**. - For aesthetic surfaces where depth or relief matters (e.g., leather-like finishes), prioritize **Ca** and **Sa**. ### Visualizing Surface Texture Using Appearance Elements The Rhopoint Appearance Elements software enables users to visualize and analyze surface texture in detail. Follow these steps to effectively examine the surface's 3D structure, depth, and features: 1. **Open the 3D View in the Left Window**: - Navigate to the left-hand panel of the software and select the "3D View" tab. - The surface's topographical map will be displayed as a 3D model, color-coded to represent height variations. - Use the mouse or navigation tools to rotate, zoom, and pan the 3D map for a comprehensive view of the surface. 2. **Use the Profile Tool in the Map Window**: - Switch to the "Map View" in the central window to view a 2D representation of the surface's height map. - Select the "Profile Tool" (typically represented by a line icon). - Click and drag across the map to draw a line indicating your region of interest. This line will serve as a cross-section for further analysis. 3. **Open the Profile View in the Right Window**: - Navigate to the right-hand panel and select the "Profile View" tab. - The profile view will display a cross-sectional graph of the surface along the drawn line, showing height variations in **perceived microns (p-µm)**. - Peaks represent hills or elevated areas, while valleys indicate depressions or lower regions on the surface. 4. **Analyze Cell Size Using the Features Window**: - Open the "Features Window" in the right-hand panel. - This window provides detailed information about identified surface features, including hills, valleys, and cells segmented by a watershed algorithm. - Metrics such as cell size (mean, minimum, maximum), cell amplitude (height differences), and cell number are displayed. These values help evaluate texture uniformity, density, and depth. 5. **Adjust Visualization Settings**: - Modify watershed parameters (e.g., feature separation or selection) in the settings menu to refine feature detection and segmentation. - Use color scales or visual overlays to enhance specific areas of interest. By combining these tools, you can gain a detailed understanding of your surface's texture, including its depth, uniformity, and structural features. This visualization process is essential for quality control, product development, and ensuring consistency across manufacturing processes. ### Adjusting Surface Texture or Reflectivity To modify surface texture: 1. **Surface Preparation**: - Sanding or polishing can reduce roughness (**Sa**) and improve smoothness. - Texturing processes like embossing or chemical etching can enhance relief (**Ca**) or create specific patterns. 2. **Tool Design or Wear**: - Cell size is fixed during tool design and manufacture, Reflectivity and cell depth can be effected by tool wear. (**Cn**, **Cs**) and reflectivity (**R**, **RC**). By selecting appropriate processes based on Aesthetix measurements, you can achieve desired aesthetic or functional outcomes while maintaining consistency across production batches. --- # Texture Module Parameters |Index|Name / Titel|Einheit|Beschreibung| |---|---|---|---| |60°|60° Gloss|GU|Konventioneller 60°-Gloss-Wert des strukturierten Bereichs; gibt das Gesamtniveau der spiegelnden Reflexion an.| |Sa Rough|Areal Surface Roughness|p-µm|Durchschnittliche Höhenvariation über dem Messbereich anhand ungefilterter topografischer Daten, ausgedrückt in perceived microns.| |Ca|Cell Amplitude|p-µm|Mittlere Höhe der Textur-„Zellen" (Merkmale) relativ zur lokalen Mittelebene.| |Cn|Cell Number|–|Gesamtanzahl der erkannten Texturzellen im analysierten Bereich.| |Cs|Mean Cell Size|p-µm|Durchschnittliche laterale Größe der erkannten Texturzellen.| |CsMin|Minimum Cell Size|p-µm|Kleinste erkannte Zellgröße innerhalb des Messbereichs.| |CsMax|Maximum Cell Size|p-µm|Größte erkannte Zellgröße innerhalb des Messbereichs.| |CsDev|Cell Size Standard Deviation|p-µm|Streuung der Zellgrößen; zeigt an, wie gleichmäßig die Texturmerkmale sind.| |Hs|Hill Size|p-µm|Typische Größe der erhöhten „Hill"-Merkmale auf der Oberfläche.| |F|Fill Factor|–|Anteil der Fläche, der von erkannten Texturzellen oder Hills eingenommen wird.| |R|Reflectivity|–|Mittleres Reflektivitätsniveau des strukturierten Oberflächenbereichs.| |RC|Reflective Contrast|–|Differenz der Reflektivität zwischen Texturmerkmalen und Umgebung.| |RV|Reflectivity in Valleys|–|Reflektivität in den Tal-(Tief-)Bereichen der Textur.| |RH|Reflectivity on Hills|–|Reflektivität auf den Hill-(Hoch-)Bereichen der Textur.| |Fsep|Feature Separation|µm|Erfasst die Anwendereinstellung für den Parameter Feature Separation.| |Fsel|Feature Selection|%|Erfasst die Anwendereinstellung für die Feature-Selection-Analyse.| |FThld|Feature Threshold|-1 bis +1|Erfasst die Anwendereinstellung für die Feature-Threshold-Analyse.| |R (RGB)|Red RGB Colour|Intensität (0–255)|Mittlere Oberflächenfarbe im Rotkanal innerhalb des strukturierten Bereichs.| |G (RGB)|Green RGB Colour|Intensität (0–255)|Mittlere Oberflächenfarbe im Grünkanal innerhalb des strukturierten Bereichs.| |B (RGB)|Blue RGB Colour|Intensität (0–255)|Mittlere Oberflächenfarbe im Blaukanal innerhalb des strukturierten Bereichs.| Topografische Diagrammskala – Perceived Microns [pµm] --- # Using TAMS with AE > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ## Install Appearance Elements [Install AE](rhopoint-appearance-elements-install-ae.md) ## Connect the TAMS to AE The Aesthetix must be connected to an available USB 3.0 port on your PC, Laptop or Windows Tablet. [Connect an Instruments to AE](rhopoint-appearance-elements-connect-an-instrument-to-ae.md) --- # TAMS Modules > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ![image description](../_images/1773151922485-sJ3RAR4d4W.png) ## TAMS modules overview Appearance Elements offers two TAMS modules: **TAMS HG** for high‑gloss, appearance‑critical surfaces and **TAMS LG** for low‑ to mid‑gloss, structure‑driven surfaces. Both use the same batching, statistics and reporting tools, but expose different parameters. The available modules are determined by the licenses installed in the connected TAMS. ## TAMS HG – High Gloss module TAMS HG is used for clearcoats and other high‑gloss finishes where visual impression and matching between parts matter most. It reports Contrast, Sharpness, Waviness and Dimension, plus perception‑based Quality (Q) and Harmony (H) indices, with direct access to the underlying reflection images in the AE data table. ## TAMS LG – Low Gloss module TAMS LG is used for raw materials, E‑coat, primers and matt finishes, where surface structure and roughness dominate. It focuses on full‑field topography and waviness, providing optical roughness–style parameters from TAMS 3D maps so you can track how each process step changes the surface and relates to final appearance. --- # TAMS High Gloss > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The TAMS HG (High Gloss) module provides a **complete, perception‑based evaluation of clear‑coat and other high‑gloss surfaces** by combining Contrast, Sharpness, Waviness and Dimension into the Quality (Q) and Harmony (H) indices. It is designed to show how smooth, deep and consistent a finish appears to the human eye, going far beyond simple gloss readings. ## Purpose of this module Quantify all key contributors to high‑gloss appearance, including contrast (colour impact), image sharpness, orange peel/waviness and dominant texture size on coated or polished surfaces. Provide perception‑aligned Quality and Harmony metrics that match measured values to what people actually see, reducing disagreements between plants, suppliers and OEM appearance engineers. ## Where this module can be used High‑gloss exterior and interior coatings in automotive and commercial vehicles, including body panels, bumpers, mirrors and add‑on parts. Other reflective products such as decorative metals, plastics, appliances and consumer goods where premium, uniform appearance across parts or assemblies is critical. ## What this module measures Contrast, Sharpness, Waviness and Dimension: Core TAMS parameters describing colour‑dependent impact, clarity of reflections, orange peel strength and dominant texture scale at showroom distance. Quality (Q) and Harmony (H): Single‑number indices predicting overall appearance quality and the visual match between adjacent parts, so you can judge both individual surfaces and panel‑to‑panel consistency on a common scale. ## How to use this module In Appearance Elements, select the TAMS HG module, choose the appropriate job or batch, and configure TAMS for C‑Coat high‑gloss measurement using the required algorithm (for example CC‑TAMS‑STD). Place TAMS on a clean, representative area of the surface, take one or more measurements per part, and store the results in the chosen batch; use guided or manual job modes if you want to follow a defined measurement route around a vehicle or product. ## How to interpret the results Use Quality (Q) to judge how good the high‑gloss finish appears overall and to set pass/fail limits or targets; higher Q indicates smoother, deeper, more mirror‑like surfaces. Use Harmony (H), together with Waviness, Dimension, Contrast and Sharpness, to see whether adjacent parts match visually and to diagnose whether any mismatch is driven mainly by texture level, texture scale, colour/contrast or clarity. --- # TAMS High Gloss Appearance Parameters > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. TAMS High Gloss parameters describe how a smooth, reflective surface actually appears to a human observer, rather than just reporting traditional gloss or waviness values. Together they quantify image clarity, contrast, texture and panel‑to‑panel matching, so users can link measured numbers directly to visible differences in perceived quality. | Parameter | Description | | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Quality Q | Composite quality index (0–100) that combines contrast, sharpness, waviness into a single score describing how clean, deep and mirror-like a high gloss surface appears. | | Harmony H | Panel-to-panel matching index that quantifies how consistently different parts look to each considering differences in the amplitude of waviness and structure size. | | Contrast C | Measures the contrast between the specular highlight and background as determined by the base paint colour. | | Sharpness S | Describes the sharpness of reflected edges and fine detail; higher values indicate crisp, well-focused images that correlate with high DOI and premium perceived quality. High values indicate a hazy surface when viewed at 1.5m. | | Waviness (TAMS) W | Quantifies the visual impact of orange peel viewed at 1.5m, higher values indicate more visible texture and lower perceived smoothness. | | Dimension D | Describes the dominant wavelength of surface structure visible at a 1.5 m viewing distance, helping explain visible differences in orange peel. Low values (<2mm) indicate a surface dominated by shortwave texture, larger values (>7mm) indicate a surface dominated by longer wave texture. | | Long-Wave Texture LW | Long-wave texture index that quantifies the visual impact of large-scale undulations and flow in the surface. | |Short-Wave Texture SW | Short-wave texture index that describes finer-scale micro-structure on the surface; higher SW values mean more small-scale texture that can make reflections look grainy and reduce perceived smoothness. | | DOI (TAMS) | TAMS distinctness-of-image metric that quantifies how clearly patterns are reflected on the surface; higher DOI values correspond to sharper, less distorted images and a higher perceived finish quality. | | Gloss 20° (TAMS) | High-sensitivity 20° gloss value measured within the TAMS system, providing a conventional gloss scale for very high gloss finishes so appearance data can be linked back to existing gloss specifications. | | Rspec (TAMS) | Peak gloss value measured in the specular highlight that is sensitive to surface texture. | --- # Elements Hub Overview > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ### Elements Hub Elements Hub is a background service that makes Rhopoint instruments visible to the rest of your factory and laboratory systems. It sits between devices and third‑party software, collecting measurements and status from instruments and then sharing this information in a simple, consistent way. Typical connections include SPC and quality systems, PLCs, robots, cobots and other automation controllers that need live appearance data to make decisions. By using Elements Hub as a single connection point, external systems do not need their own custom drivers for each Rhopoint device. Instead, they can subscribe to measurement values, pass/fail results and basic control signals from instruments such as Rhopoint Aesthetix, Rhopoint TAMS and Rhopoint ID through standard interfaces. This reduces integration effort, speeds up commissioning and makes it easier to maintain a connected appearance measurement environment over time. The Rhopoint Elements Hub web service exposes a versioned REST API for discovering devices, controlling connected hardware, collecting measurements, and administering the hub. The API is documented via Swagger/OpenAPI and ships with an auto-configured Swagger UI at runtime. Use this guide to start the service, explore the available endpoints, and generate strongly typed clients from the OpenAPI description. --- # API Overview > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The Elements Hub REST API provides comprehensive access to device discovery, connection, measurement acquisition, calibration, image streaming, and self-administration. This page is the top-level map — every section links to the detailed reference for the matching endpoints. For an interactive way to explore and try the API see the [Swagger UI Guide](rhopoint-elements-hub-swagger-ui-guide.md). For strongly typed client libraries see [Client Code Generation](rhopoint-elements-hub-client-code-generation.md). ### API Version Current version: **1.0** All endpoints are versioned and follow the pattern: `/v1/{resource}`. The default base URL is `http://localhost:42042` — see [Network Binding](rhopoint-elements-hub-security-notice.md#network-binding) for how to change it. ### Workflow at a Glance Almost every integration follows the same sequence. See [Endpoints — Functionality](rhopoint-elements-hub-endpoints-functionality.md) for the prose walkthrough and step-by-step links: 1. [Initialize lifecycle services](rhopoint-elements-hub-endpoints-functionality-lifecycle.md) 2. [Start a device scan](rhopoint-elements-hub-endpoints-functionality-device-scans.md) 3. [Connect to a discovered device](rhopoint-elements-hub-endpoints-functionality-connected-devices.md) 4. [Calibrate](rhopoint-elements-hub-endpoints-functionality-calibrations.md) (where required) 5. [Trigger measurements](rhopoint-elements-hub-endpoints-functionality-measurement-triggers.md) and / or [consume image streams](rhopoint-elements-hub-endpoints-functionality-image-streams.md) 6. [Disconnect](rhopoint-elements-hub-endpoints-functionality-connected-devices.md#disconnecting-a-device) 7. [Shut down lifecycle services](rhopoint-elements-hub-endpoints-functionality-lifecycle.md) ### Endpoint Reference | Area | Reference | Endpoints | | --- | --- | --- | | Service lifecycle | [Lifecycle](rhopoint-elements-hub-endpoints-functionality-lifecycle.md) | `POST /v1/lifecycle/initialize`, `POST /v1/lifecycle/shutdown` | | Device discovery | [Device Scans](rhopoint-elements-hub-endpoints-functionality-device-scans.md) | `POST/GET/DELETE /v1/device-scans`, `GET /v1/available-devices` | | Device connection | [Connected Devices](rhopoint-elements-hub-endpoints-functionality-connected-devices.md) | `POST/GET/DELETE /v1/devices`, property lookup | | Measurements | [Measurement Triggers](rhopoint-elements-hub-endpoints-functionality-measurement-triggers.md) | `GET/POST /v1/devices/{deviceId}/measurement-triggers`, `POST /v1/measurements/decode` | | Calibration | [Calibrations](rhopoint-elements-hub-endpoints-functionality-calibrations.md) | `GET/POST /v1/devices/{deviceId}/calibrations`, `GET /calibrations/status` | | Live imaging | [Image Streams](rhopoint-elements-hub-endpoints-functionality-image-streams.md) | `POST/DELETE /v1/devices/{deviceId}/image-streams/{sourceKey}`, `start`/`configure`/`snapshot`/`stream` | | Host diagnostics | [System](rhopoint-elements-hub-endpoints-functionality-system.md) | `GET /v1/system/version`, `GET /v1/system/checks`, `POST /v1/system/errors/raise-exception` | | Self-update | [App Updates](rhopoint-elements-hub-endpoints-functionality-app-updates.md) | `GET /v1/app-updates/info`, `POST /v1/app-updates/action` | ### Cross-Cutting Topics - [Error Handling](rhopoint-elements-hub-error-handling.md) — uniform `ErrorInfo` response format and the `id.rhopointservice.com/E` reference URLs. - [Security Notice](rhopoint-elements-hub-security-notice.md) — current authentication and transport posture; **important to read before exposing the hub on a network**. - [Measurement Image Formats](rhopoint-elements-hub-measurement-image-formats.md) — encoding of device images inside measurement containers (PNG / JPEG / raw). - [RAE File Format](rhopoint-elements-hub-rae-file-format.md) — binary layout of the measurement container produced by `Measurement Triggers`. - [Mock Devices](rhopoint-elements-hub-mock-devices.md) — running the API without physical hardware for development and CI. ### Core Concepts #### Devices - **Available Devices** — devices discovered by a running scan that can be connected. See [Polling Discovered Devices](rhopoint-elements-hub-endpoints-functionality-device-scans.md#polling-discovered-devices). - **Connected Devices** — devices currently connected and ready for operations. See [Connected Devices](rhopoint-elements-hub-endpoints-functionality-connected-devices.md). - **Device Class** — identifies the model behind a device record (e.g. `aesthetix`, `aesthetix-inline`, `id-inline`, plus `-mock` variants). The class drives which calibrations, measurements and image sources are available — see [Aesthetix](rhopoint-elements-hub-instruments-aesthetix.md) for one example. #### Scans - **Device Scans** — background processes that discover available devices on the network or attached via USB. See [Device Scans](rhopoint-elements-hub-endpoints-functionality-device-scans.md). - One scan covers exactly one device class. To search for multiple classes in parallel, start multiple scans. #### Measurements & Operations - **Measurement Triggers** — commands that initiate data acquisition from connected devices. See [Measurement Triggers](rhopoint-elements-hub-endpoints-functionality-measurement-triggers.md). - **Calibrations** — operations that re-reference the device's measurement chain against known standards. See [Calibrations](rhopoint-elements-hub-endpoints-functionality-calibrations.md). - **Commands** — device-class–specific actions, discoverable via `GET /v1/devices/{deviceId}/commands`. - **Container Formats** — output containers for measurements, currently `raeBinary` (default) and `raeJson`. See [Container Formats](rhopoint-elements-hub-endpoints-functionality-measurement-triggers.md#container-formats) and [RAE File Format](rhopoint-elements-hub-rae-file-format.md). ### HTTP Methods Used | Method | Usage | | --- | --- | | `GET` | Retrieve information (devices, scans, status, snapshots). | | `POST` | Create resources or initiate operations (connect devices, start scans, trigger measurements, run calibrations). | | `DELETE` | Remove resources (disconnect devices, stop scans, stop image streams). | ### Content Types #### Request - `application/json` — used by every endpoint that accepts a body, except `POST /v1/measurements/decode`. - `multipart/form-data` — only by `POST /v1/measurements/decode` (file upload for RAE decoding, see [Decoding the Container Client-Side](rhopoint-elements-hub-endpoints-functionality-measurement-triggers.md#decoding-the-container-client-side)). #### Response | Content type | Endpoint(s) | | --- | --- | | `application/json` | Standard API responses, including `ErrorInfo` payloads — see [Error Handling](rhopoint-elements-hub-error-handling.md). | | `application/vnd.rhopoint.rae+binary` | `POST /v1/devices/{deviceId}/measurement-triggers` with `containerFormat: raeBinary` — see [RAE File Format](rhopoint-elements-hub-rae-file-format.md). | | `image/png` / `image/jpeg` / `image/bmp` | Snapshots and single-image endpoints — see [Snapshot — Single Frame](rhopoint-elements-hub-endpoints-functionality-image-streams.md#snapshot-single-frame). | | `image/x-raw` | Raw device images embedded in a measurement container — see [Measurement Image Formats](rhopoint-elements-hub-measurement-image-formats.md). | | `text/event-stream` | Live image streams — see [Consuming the Stream (SSE)](rhopoint-elements-hub-endpoints-functionality-image-streams.md#consuming-the-stream-sse). | | `text/plain` | `GET /v1/logs`. | ### Response Patterns Successful responses use the shape documented on each endpoint's reference page. There is no uniform "envelope" wrapping every response — for example, `GET /v1/devices` returns a JSON array of device records, `GET /v1/system/version` returns an object, and a successful measurement returns the raw RAE container as a binary body. Error responses always follow a single schema, regardless of which endpoint produced them. See [Error Handling](rhopoint-elements-hub-error-handling.md) for the full `ErrorInfo` format, the `errorCode`/`errorUrl` contract, and recommended client patterns. ### Authentication None. Any caller that can reach the listening socket can call every endpoint. Read [Security Notice](rhopoint-elements-hub-security-notice.md) before binding the hub to anything other than `localhost`. ### Rate Limiting Currently, no rate limiting is implemented, but clients should: - Avoid excessive polling of [`GET /v1/available-devices`](rhopoint-elements-hub-endpoints-functionality-device-scans.md) or status endpoints — once a second is typically sufficient. - Allow adequate time between measurement triggers — many measurements take several seconds on the device side. - Reuse a single connection over many measurements rather than connect/disconnect cycles; see [Connected Devices — Best Practices](rhopoint-elements-hub-endpoints-functionality-connected-devices.md#best-practices). ### Asynchronous Operations A few operations follow a start-then-poll pattern rather than blocking on the response: - [Device scanning](rhopoint-elements-hub-endpoints-functionality-device-scans.md) — `POST` starts the scan, `GET /v1/available-devices` polls for results, `DELETE` stops. - [Application download](rhopoint-elements-hub-endpoints-functionality-app-updates.md) — `POST .../action "download"` stages the update, `GET .../info` reports `updateDownloaded`. - [Image streams](rhopoint-elements-hub-endpoints-functionality-image-streams.md) — `POST .../start` enables the stream, `GET .../stream` opens an SSE subscription, `DELETE` tears down. Connect / disconnect, measurements and calibrations are **synchronous**: the `POST` does not return until the operation has finished on the device. Make sure the HTTP client timeout is long enough — at least 30 s is a safe baseline for measurements and calibrations. --- # Changelog > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The changelog for Elements Hub is publicly available online. You can view the full, up-to-date list of changes at:\ [https://changelog.rhopointservice.com/products/elements-hub](https://changelog.rhopointservice.com/products/elements-hub) All change-entries are listed there, typically ordered by date or release version, so you can easily follow along from earliest releases to the most recent. ## What is a Changelog A changelog is a curated, chronologically ordered list of all the notable changes made in a project. It records enhancements, bug fixes, new features, removals, and technical adjustments. The purpose is to provide users, developers, and stakeholders with a transparent view of how the product has evolved over time. ## Purpose of the Changelog The changelog serves several key purposes: - **Transparency**: Users can see what has changed, fixed, added or removed. - **Tracking Progress**: Helps maintainers and contributors track what work has been completed, what remains, and what has been delivered. - **User Communication**: Users can decide whether to upgrade or migrate based on what changes are relevant to them. - **Historical Reference**: Provides a record for debugging, auditing, or reviewing the evolution of the product. - **Planning**: Helps align future expectations by showing past patterns and the pace of development. --- # Client Code Generation > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. This guide explains how to obtain the OpenAPI specification (swagger.json) from the Elements Hub API server and generate client code for various programming languages using [OpenAPI Generator](https://openapi-generator.tech/docs/generators). ## Getting the OpenAPI Specification ### 1. Access Swagger UI The Elements Hub server provides an interactive Swagger UI interface accessible at: `http://localhost:42042/swagger/` > [!note] Replace localhost:42042 with your actual server address and port. ### 2. Download swagger.json The OpenAPI specification is available in JSON format at:\ [http://localhost:42042/swagger/v1/swagger.json](http://localhost:42042/swagger/v1/swagger.json) You can download this file using: **curl**\ `curl -o swagger.json http://localhost:42042/swagger/v1/swagger.json` **wget**\ `wget -O swagger.json http://localhost:42042/swagger/v1/swagger.json` **PowerShell**\ `Invoke-WebRequest -Uri "http://localhost:42042/swagger/v1/swagger.json" -OutFile "swagger.json"` ## Client Code Generation with OpenAPI Generator ### Method 1: Using Docker (Recommended) The easiest way to generate client code is using the official OpenAPI Generator Docker image. #### Basic Usage ```bash docker run --rm \ -v ${PWD}:/local \ openapitools/openapi-generator-cli generate \ -i /local/swagger.json \ -g "generator-name" \ -o /local/out/generated-client \ --additional-properties=your-additional-properties ``` #### Language-Specific Examples **C# Client:** ```bash docker run --rm \ -v ${PWD}:/local \ openapitools/openapi-generator-cli generate \ -i /local/swagger.json \ -g csharp \ -o /local/generated-client-csharp \ --additional-properties=apiName=RhopointElementsHubClient,packageName=Rhopoint.ElementsHub.Client,nullableReferenceTypes=true,targetFramework=net9.0 ``` **C++ Client:** ```bash docker run --rm \ -v ${PWD}:/local \ openapitools/openapi-generator-cli generate \ -i /local/swagger.json \ -g cpp-restsdk \ -o /local/out/cpp-client \ --additional-properties=apiPackage=com.rhopointinstruments.elementshub.api,modelPackage=com.rhopointinstruments.elementshub.model,packageName=RhopointHeadlessElements ``` **Python Client:** ```bash docker run --rm \ -v ${PWD}:/local \ openapitools/openapi-generator-cli generate \ -i /local/swagger.json \ -g python \ -o /local/generated-client-python \ --additional-properties=packageName=rhopoint_elements_hub_client,projectName=rhopoint-elements-hub-client ``` **JavaScript/TypeScript Client:**\ This example uses the Angular framework. ```bash docker run --rm \ -v ${PWD}:/local \ openapitools/openapi-generator-cli generate \ -i /local/swagger.json \ -g typescript-angular \ -o /local/generated-client-typescript \ --additional-properties=npmName=rhopoint-elements-hub-client ``` #### PowerShell Examples (Windows) **C# Client:** ```powershell docker run --rm ` -v ${PWD}:/local ` openapitools/openapi-generator-cli generate ` -i /local/swagger.json ` -g csharp ` -o /local/generated-client-csharp ` --additional-properties=apiName=RhopointElementsHubClient,packageName=Rhopoint.ElementsHub.Client,nullableReferenceTypes=true,targetFramework=net9.0 ``` ### Method 2: Using NPM Package You can also install and use the OpenAPI Generator via NPM.\ This example uses the Angular framework. ```bash # Install globally npm install -g @openapitools/openapi-generator-cli # Generate client code openapi-generator-cli generate \ -i swagger.json \ -g typescript-angular \ -o generated-client-typescript ``` ## Supported Generators OpenAPI Generator supports numerous programming languages and frameworks. Here are some popular options: ### Client Libraries - **csharp** - C# client library - **python** - Python client library - **java** - Java client library - **javascript** - JavaScript client library - **typescript-axios** - TypeScript client with Axios - **typescript-fetch** - TypeScript client with Fetch API - **go** - Go client library - **php** - PHP client library - **ruby** - Ruby client library - **swift5** - Swift 5 client library - **kotlin** - Kotlin client library - **dart** - Dart client library - [more](https://openapi-generator.tech/docs/generators) ### Documentation - **html2** - HTML documentation - **markdown** - Markdown documentation ## Automation Scripts ### Bash Script for Multiple Languages Create a script `generate-clients.sh`: ```bash #!/bin/bash # Download latest OpenAPI spec curl -o swagger.json http://localhost:42042/swagger/v1/swagger.json # Generate clients for multiple languages languages=("csharp" "cpp-client" "python" "typescript-angular" "java" "go") for lang in "${languages[@]}"; do echo "Generating $lang client..." docker run --rm \ -v ${PWD}:/local \ openapitools/openapi-generator-cli generate \ -i /local/swagger.json \ -g $lang \ -o /local/generated-client-$lang \ --additional-properties=packageName=RhopointElementsHubClient done echo "Client generation completed." ``` ### PowerShell Script for Windows Create a script `Generate-Clients.ps1`: ```powershell # Download latest OpenAPI spec Invoke-WebRequest -Uri "http://localhost:42042/swagger/v1/swagger.json" -OutFile "swagger.json" # Define languages to generate $languages = @("csharp", "cpp-client", "python", "typescript-angular", "java", "go") foreach ($lang in $languages) { Write-Host "Generating $lang client..." docker run --rm ` -v ${PWD}:/local ` openapitools/openapi-generator-cli generate ` -i /local/swagger.json ` -g $lang ` -o /local/generated-client-$lang ` --additional-properties=packageName=RhopointElementsHubClient } Write-Host "Client generation completed." ``` ## Best Practices ### 1. Version Control - Keep the `swagger.json` file in version control. - Generate clients as part of your build process. - Tag client versions to match API versions. - Use a wrapper project to better separate the generated client from your actual project. ### 2. CI/CD Integration ```yaml # Example GitHub Actions workflow name: Generate API Clients on: push: paths: - 'swagger.json' jobs: generate-clients: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Generate C# Client run: | docker run --rm \ -v ${PWD}:/local \ openapitools/openapi-generator-cli generate \ -i /local/swagger.json \ -g csharp \ -o /local/clients/csharp ``` ### 3. Customization - Use custom templates when the default generation doesn't meet your needs - Validate generated code with your coding standards - Consider post-processing scripts for additional customization ## Troubleshooting ### Common Issues **Docker Volume Mounting:** - On Windows, ensure Docker Desktop has access to the drive containing your files. - Use absolute paths if relative paths don't work. **OpenAPI Specification Validation** ```bash # Validate your OpenAPI spec docker run --rm \ -v ${PWD}:/local \ openapitools/openapi-generator-cli validate \ -i /local/swagger.json ``` **Generator-Specific Issues:** - Check the [OpenAPI Generator documentation](https://openapi-generator.tech/docs/generators) for generator-specific options - Use `--help` flag to see available options for each generator ### Getting Help - Review available generators: https://openapi-generator.tech/docs/generators - Check configuration options: https://openapi-generator.tech/docs/configuration - Community support: https://github.com/OpenAPITools/openapi-generator/issues --- # Error Handling > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. All Elements Hub endpoints return a uniform JSON error response when a request cannot be fulfilled. The response carries enough information for a client to react programmatically (a stable, machine-readable `errorCode`) as well as for a human to debug the issue (a `message` and an `errorUrl`). ### Response Format Every error response uses the same `ErrorInfo` schema, regardless of which endpoint produced the error: ```json { "httpStatusCode": 404, "errorCode": "E5", "errorUrl": "https://id.rhopointservice.com/E5", "message": "No connected device was found with identifier '12f1d7dd07ac42a088c8f961b39d68ff'.", "exceptionType": "ConnectedDeviceNotFoundException", "stackTrace": null, "innerError": null, "details": null } ``` | Field | Type | Description | | --- | --- | --- | | `httpStatusCode` | int | The HTTP status code of the response (also present in the response headers). | | `errorCode` | string | Stable, machine-readable identifier of the form `E` (e.g. `E5`, `E42`). The single source of truth for what failed. Document and react to this value in your client. | | `errorUrl` | string \| null | Permanent URL with details about the error, of the form `https://id.rhopointservice.com/`. | | `message` | string | Human-readable explanation of the failure, often with the offending identifier or value interpolated. | | `exceptionType` | string \| null | The .NET exception type that produced the error. Useful for support tickets but should not drive client logic — use `errorCode` instead. | | `stackTrace` | string \| null | Only populated in development builds. Always `null` in production. | | `innerError` | object \| null | If the error wraps another error, a nested `ErrorInfo` describing the cause. | | `details` | object \| null | Additional contextual information about the error as a free-form key/value map (e.g. parameter that failed validation). | ### The `errorUrl` Pattern Every `errorCode` resolves to a dedicated page under `https://id.rhopointservice.com/`. For example: - `https://id.rhopointservice.com/E5` — connected device not found - `https://id.rhopointservice.com/E42` — invalid `imageFormat` parameter - `https://id.rhopointservice.com/E16` — unrecognised container format The page is the authoritative reference for each code and is kept in sync with the codebase. Treat it as your primary lookup when you encounter an unfamiliar `errorCode`. Linking directly to this URL from your own application's error UI is encouraged — the URL is stable across hub releases. ### How to React on the Client Recommended pattern: 1. Parse the response body as JSON whenever the HTTP status is in the `4xx` or `5xx` range. 2. Switch on `errorCode` — not on `message` and not on `exceptionType` — to drive recovery logic. 3. Surface `message` (and optionally `errorUrl`) in user-facing error displays. 4. Log the full `ErrorInfo` payload, including `innerError`, for support and debugging. Example client-side handling: ```bash curl -i http://localhost:42042/v1/devices/does-not-exist ``` ```http HTTP/1.1 404 Not Found Content-Type: application/json { "httpStatusCode": 404, "errorCode": "E5", "errorUrl": "https://id.rhopointservice.com/E5", "message": "No connected device was found with identifier 'does-not-exist'.", "exceptionType": "ConnectedDeviceNotFoundException", "stackTrace": null, "innerError": null, "details": null } ``` ### Validation Errors from ASP.NET In addition to `ErrorInfo` responses, a small number of endpoints — those that use built-in ASP.NET model validation — may return the standard `ProblemDetails` format on HTTP `400 Bad Request` when a request body is structurally invalid (missing required field, wrong type). These responses look like: ```json { "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1", "title": "One or more validation errors occurred.", "status": 400, "errors": { "DeviceIdentifier": [ "The DeviceIdentifier field is required." ] } } ``` Treat `ProblemDetails` as an indicator that the request never reached business logic — fix the request shape, then retry. Business-logic errors always use the `ErrorInfo` format above. ### Testing Error Handling The hub exposes a dedicated endpoint to provoke each major error category, useful for verifying client-side handling: ```http POST /v1/system/errors/raise-exception Content-Type: application/json { "errorType": "device" } ``` | `errorType` | Triggers | | --- | --- | | `device` | A simulated device-layer exception (`ErrorInfo`, with a non-zero `errorCode`). | | `notfound` | An HTTP 404 with `ErrorInfo`. | | `unhandled` | An uncaught exception, exercising the global exception handler. | Use these in your integration tests to ensure your client correctly parses `ErrorInfo` and reacts on `errorCode`, not on transport-level details. ### Best Practices - React on `errorCode`, not on `message` text — the message is localisable and may change between releases. The `errorCode` is contractually stable. - Always log `innerError` chains in full. The root cause is often deeper than the top-level message suggests. - For user-facing dialogs, show `message` and link to `errorUrl`. Do not surface `exceptionType` or `stackTrace` to end-users. - Treat any `5xx` response as transient unless `errorCode` indicates otherwise — retry with backoff before failing the operation. - Treat any `4xx` response (except `408`, `429`) as a permanent failure of that request — fix the request before retrying. --- # Install Elements Hub > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The latest version can be downloaded from [https://download.rhopointservice.net/elements-hub](https://download.rhopointservice.net/elements-hub) If you want to download a specific version, you can do so by specifying the version parameter, for example: [https://download.rhopointservice.net/elements-hub?version=1.6.4](https://download.rhopointservice.net/elements-hub?version=1.6.4) --- # Measurement Image Formats > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. This guide explains how to control the encoding of the device images that Elements Hub returns inside a measurement (RAE) container, and how to decode the raw image payload from C++. ## Background When a measurement is triggered against an Aesthetix device, the resulting RAE container can include one or more device images — for example the scratch view, the surface view, the LED sparkle stack or the LED shade stack. By default these images are encoded as PNG. Callers can choose the encoding per measurement: PNG, JPEG, or the unaltered raw bytes that the device sent. ## Selecting the encoding The encoding is selected through the optional `imageFormat` operation parameter when triggering a measurement: ```http POST /v1/devices/{deviceId}/measurement-triggers Content-Type: application/json { "measurementKey": "measure", "containerFormat": "raeBinary", "parameters": [ { "key": "metricGroupKeys", "value": ["..."] }, { "key": "imageFormat", "value": "image/x-raw" } ] } ``` | `imageFormat` value | Encoding used in the container | Container MIME type | |---|---|---| | *(omitted)* | PNG (default) | `image/png` | | `image/png` | PNG | `image/png` | | `image/jpeg` | JPEG, quality 90 | `image/jpeg` | | `image/x-raw` | Raw device bytes (see below) | `image/x-raw` | Unknown values are rejected with HTTP 400 and the error code `E42InvalidImageFormat`. > [!note] > A small number of device images (surface, waviness, spot) are post-processed (cropped) on the hub side before being encoded. With `image/png` and `image/jpeg` you receive the cropped variant; with `image/x-raw` you receive the original, **uncropped** bytes as emitted by the device. Most images — including the shade images (`ledShadeImages_*`) — are not post-processed, so all three encodings cover identical pixel data. ## Locating images in the container The container exposes the device images as `File` components in the measurement tree. Array images such as the shade stack use one entry per slot with a numeric suffix: ``` ledShadeImages (Array) ├── ledShadeImages_0 (File, MimeType=image/x-raw) ├── ledShadeImages_1 (File) ├── ledShadeImages_2 (File) ├── ledShadeImages_3 (File) ├── ledShadeImages_4 (File) └── ledShadeImages_5 (File) ``` The `BinaryData` field of each `File` component holds the byte stream — either the encoded PNG/JPEG or the raw layout described in the next section, depending on the `imageFormat` you requested. ## Layout of `image/x-raw` Every raw image starts with a fixed 16-byte little-endian header, immediately followed by the pixel data: ``` +------------------------------------------+ | Header (16 bytes, little-endian) | +------------------------------------------+ | Offset 0..3 : Height (int32)| | Offset 4..7 : Width (int32)| | Offset 8..11 : Channels (int32)| | Offset 12..15 : BytesPerPixel (int32)| +------------------------------------------+ | Pixel data (Height * Stride bytes) | | Row-major, top-down | +------------------------------------------+ ``` - **Endianness**: little-endian for every header field. - **Stride** (bytes per row): `(Width * Channels * BytesPerPixel * 8 + 7) / 8` — byte-aligned, no row padding. For all current device images this is simply `Width * Channels * BytesPerPixel`. - **No padding** between the header and the pixel data. ### Pixel formats The combination of `Channels` and `BytesPerPixel` describes the pixel layout: | Channels | BytesPerPixel | Pixel format | Element type | |---|---|---|---| | 1 | 1 | 8-bit grayscale | `uint8` | | 1 | 4 | 32-bit float grayscale (e.g. physical measurement values) | `float32` | | 3 | 1 | 24-bit colour, **BGR order** (not RGB) | `uint8[3]` | No other combinations occur in current Aesthetix firmware. > [!tip] > Parse the format out of the header rather than hard-coding a format per image type. The device firmware may change which format it uses for a given image in future updates. ## Parsing the raw stream in C++ ### Header & pixel view (endian-safe, no external dependencies) ```cpp #include #include #include struct AesthetixRawImage { int32_t height; int32_t width; int32_t channels; int32_t bytesPerPixel; const uint8_t* pixels; // points into the original buffer std::size_t pixelByteCount; }; inline int32_t readInt32LE(const uint8_t* p) { return static_cast( static_cast(p[0]) | static_cast(p[1]) << 8 | static_cast(p[2]) << 16 | static_cast(p[3]) << 24); } AesthetixRawImage parseAesthetixRaw(const uint8_t* data, std::size_t size) { if (size < 16) throw std::runtime_error("Header too short"); AesthetixRawImage img{}; img.height = readInt32LE(data + 0); img.width = readInt32LE(data + 4); img.channels = readInt32LE(data + 8); img.bytesPerPixel = readInt32LE(data + 12); const std::size_t expected = static_cast(img.height) * img.width * img.channels * img.bytesPerPixel; if (size - 16 < expected) throw std::runtime_error("Pixel buffer too short"); img.pixels = data + 16; img.pixelByteCount = expected; return img; } ``` ### Building an OpenCV `cv::Mat` OpenCV uses **BGR** internally, so it matches the Aesthetix colour layout without any `cvtColor` conversion. ```cpp #include cv::Mat toCvMat(const AesthetixRawImage& img) { int cvType; if (img.channels == 1 && img.bytesPerPixel == 1) cvType = CV_8UC1; else if (img.channels == 1 && img.bytesPerPixel == 4) cvType = CV_32FC1; else if (img.channels == 3 && img.bytesPerPixel == 1) cvType = CV_8UC3; // BGR else throw std::runtime_error("Unsupported pixel format"); // Wraps the bytes without copying; clone if the source buffer may be freed. return cv::Mat(img.height, img.width, cvType, const_cast(img.pixels)).clone(); } ``` ### Normalising float images for display ```cpp // channels=1, bytesPerPixel=4 holds real float32 values (e.g. physical // quantities) whose range is not bounded to [0,1]. Scale before rendering: cv::Mat displayable; cv::normalize(floatMat, displayable, 0, 255, cv::NORM_MINMAX, CV_8UC1); ``` ## Common pitfalls - **BGR is not RGB.** Three-channel images use BGR ordering. Swap the channels (or rely on OpenCV's native BGR handling) before passing the data to libraries that expect RGB. - **Float images need scaling.** `bytesPerPixel = 4` images are real `float32` data whose value range is not bounded to `[0, 1]`. Renderers must normalise the values. - **Read header values with `memcpy` or byte-shifting.** A `reinterpret_cast` is undefined behaviour on architectures with strict alignment when the buffer is not 4-byte aligned. The `readInt32LE` helper above sidesteps this and is also endian-portable. - **Compute the stride; don't hard-code it.** Although the byte size today is `Width * Channels * BytesPerPixel`, computing the stride keeps your code robust if new pixel formats are introduced. - **Validate header values.** Reject negative or implausibly large `Height`/`Width` values before multiplying them; a corrupt stream could otherwise overflow `size_t`. - **PNG/JPEG of post-processed images vs. raw originals.** A handful of device images (surface, waviness, spot) are cropped server-side before being encoded as PNG or JPEG. The `image/x-raw` payload is the **uncropped** original. The shade images and most other images are not post-processed, so all three encodings cover identical pixel data. ## See also - [Swagger UI Guide](rhopoint-elements-hub-swagger-ui-guide.md) — explore the `measurement-triggers` endpoint interactively and try the different `imageFormat` values. - [Client Code Generation](rhopoint-elements-hub-client-code-generation.md) — generate a strongly typed REST client for C++ (`cpp-restsdk`) from the OpenAPI specification. --- # Mock Devices > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Mock devices in Elements Hub provide simulated device behaviour for development, testing and demonstration. They implement the same interfaces as real devices but return predictable, simulated data without requiring physical hardware. Every endpoint described in this manual works against a mock device — including [scans](rhopoint-elements-hub-endpoints-functionality-device-scans.md), [connect/disconnect](rhopoint-elements-hub-endpoints-functionality-connected-devices.md), [measurements](rhopoint-elements-hub-endpoints-functionality-measurement-triggers.md) and [image streams](rhopoint-elements-hub-endpoints-functionality-image-streams.md). ### When to Use Mock Devices - **Development**: build and test integrations without physical instruments. - **CI / automated tests**: deterministic, hardware-free test runs. - **Demonstrations**: show the API surface without a hardware setup. - **Training**: learn the workflow before touching real equipment. ### Available Mock Device Classes | Device class | Backed by | Behaviour | | --- | --- | --- | | `aesthetix-mock` | `AesthetixMockDevice` | Simulates an Aesthetix; loads measurement data from a `.rae` file (see [Mock data file](#mock-data-file) below); fixed serial number `AEX8000000`. | | `aesthetix-inline-mock` | `AesthetixMockDevice` (alias) | Identical to `aesthetix-mock` — same implementation, exposed under the inline class name for client code that scans by device class. | | `id-inline-mock` | `IdInlineMockDevice` | Simulates an ID Inline; returns predefined inspection metrics and procedurally generated test images; fixed serial number `12345`. | Apart from the device class, mock devices are addressed and used exactly like real devices — there is no separate URL prefix or parameter. ### Using a Mock Device Just substitute the device class in a regular [scan request](rhopoint-elements-hub-endpoints-functionality-device-scans.md): ```http POST /v1/device-scans Content-Type: application/json { "deviceClass": "aesthetix-mock" } ``` ```bash curl -X POST http://localhost:42042/v1/device-scans \ -H "Content-Type: application/json" \ -d '{ "deviceClass": "aesthetix-mock" }' ``` Then poll for the discovered device, connect, and use it as documented for the real variant: ```bash # Wait for discovery curl http://localhost:42042/v1/available-devices # Connect using the identifier from the response curl -X POST http://localhost:42042/v1/devices \ -H "Content-Type: application/json" \ -d '{ "deviceIdentifier": "" }' # Trigger a measurement — same payload as for a real device curl -X POST http://localhost:42042/v1/devices//measurement-triggers \ -H "Content-Type: application/json" \ -d '{ "measurementKey": "measure", "containerFormat": "raeBinary" }' \ --output measurement.rae ``` The `` is returned by `GET /v1/available-devices` and is a hex string generated by the hub at scan time — it is **not** derived from the device class or serial number. ### What the Mocks Actually Return #### `aesthetix-mock` / `aesthetix-inline-mock` - **Connect**: succeeds instantly, no hardware initialisation. - **Calibrations**: same set as the real device (see [Calibration](rhopoint-elements-hub-instruments-aesthetix-calibration.md)) but with simulated execution. - **Measurements**: the hub reads a pre-recorded `.rae` file from disk and returns its first measurement (see [Mock data file](#mock-data-file)). If the file is missing, `POST /measurement-triggers` fails with [`E20UnableToFindMockFile`](rhopoint-elements-hub-error-handling.md). - **Images**: procedurally generated colour-grid patterns, PNG-encoded, with the source-key label overlaid. #### `id-inline-mock` - **Connect**: succeeds instantly. Accepts the real device's `flipX` / `flipY` parameters but does not act on them. - **Measurements**: returns a small fixed set of metrics (haze, sharpness, clarity, waviness, transmission) plus a generated sample image. - **Images**: procedurally generated 1280 × 1024 BMP patterns, returned with MIME type `image/bmp`. ### Mock Data File The Aesthetix mock devices need a real `.rae` file on disk to return measurement data. The path is fixed: ``` {dataDirectory}/aesthetix-mock.rae ``` `{dataDirectory}` is the `dataDirectory` passed to [`POST /v1/lifecycle/initialize`](rhopoint-elements-hub-endpoints-functionality-lifecycle.md). If the file is missing, every measurement request fails with `E20UnableToFindMockFile`. There is no `appsettings.json` switch to point the mock at a different file — drop a recorded `.rae` at the path above instead. > [!tip] > A working starting point is any RAE file produced by a real Aesthetix measurement. Copy it to `{dataDirectory}/aesthetix-mock.rae` once and every subsequent mock measurement replays it. ### Mock vs Real Devices | Aspect | Mock device | Real device | | --- | --- | --- | | Scanning | Instant discovery | Hardware-dependent timing | | Connection | Always succeeds | May fail; see [`E8`](rhopoint-elements-hub-error-handling.md) | | Calibrations | Simulated, no physical target needed | Requires the physical reference target | | Measurements | File-replay (Aesthetix) or fixed data (ID Inline) | Live sensor readings | | Images | Generated grid patterns | Camera captures | | Streams | Same SSE protocol, generated frames | Real-time camera frames | | Performance | Deterministic | Variable | ### Best Practices - Develop and CI-test against the mock; switch to the real device only for final validation. - Pin the test `.rae` file in version control alongside the integration tests that consume it. - Keep mock-only assumptions out of integration tests — the workflow should be identical to the real-device path, only the device class changes. - For tests that exercise the failure path, deliberately omit the mock `.rae` file and assert on `E20UnableToFindMockFile`. ### Related Pages - [Device Scans](rhopoint-elements-hub-endpoints-functionality-device-scans.md) — scan request shape and response format - [Connected Devices](rhopoint-elements-hub-endpoints-functionality-connected-devices.md) — connect/disconnect lifecycle - [Measurement Triggers](rhopoint-elements-hub-endpoints-functionality-measurement-triggers.md) — measurement payload - [Error Handling](rhopoint-elements-hub-error-handling.md) — `ErrorInfo` schema and error codes --- # Security Notice > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. > [!warning] > Elements Hub does **not** currently provide any built-in authentication, authorisation or transport security. Anyone who can reach the listening socket can call every endpoint described in this manual, including connecting and disconnecting devices, triggering calibrations, and reading live image streams. Deploy the hub only on trusted networks, behind appropriate network controls. This page summarises the security-relevant defaults of the hub, the threat model they imply, and the practical mitigations available to integrators. ## Current Security Posture | Layer | Default | Implication | | --- | --- | --- | | Authentication | None | Any caller is treated as fully privileged. | | Authorisation | None | All endpoints are equally reachable. | | Transport | HTTP (cleartext) | Traffic is observable on the local network. HTTPS is not configured out of the box. | | Network binding | `http://localhost:42042` by default | Only loopback connections are accepted unless explicitly changed. | | CORS | `AllowedHosts: "*"` | Cross-origin requests are not restricted by the hub. The browser still enforces the same-origin policy unless CORS is configured. | | Rate limiting | None | A misbehaving client can pin a device or saturate the host. | The hub is designed to live next to the instrument on a controlled workstation or in a controlled production network — not as an internet-facing service. ## Network Binding The hub listens on `http://localhost:42042` by default. The chosen port can be observed in the startup log and is also exposed via the [Swagger UI Guide](rhopoint-elements-hub-swagger-ui-guide.md) at `http://:/swagger/`. To bind a different address — for example to expose the hub to other machines on the LAN — pass `--urls`: ```bash # Loopback only (default behaviour, explicit form) ElementsHub.exe --urls "http://localhost:42042" # All interfaces — exposes the hub to every reachable network ElementsHub.exe --urls "http://0.0.0.0:42042" # A specific NIC IP ElementsHub.exe --urls "http://192.168.10.5:42042" ``` > [!warning] > Binding to `0.0.0.0` or to a non-loopback address makes every endpoint reachable from any host that can route to the chosen IP. Combined with the lack of authentication, this is equivalent to placing administrative control of the instrument on an open network share. Do this only in segregated networks where every participating host is trusted. If the default port is already in use, the hub falls back to a free port on the same loopback address and prints the actual binding in the startup log. Clients that hard-code `42042` must be prepared to receive an alternative port. ## Cleartext Traffic The hub does not configure HTTPS by default. Measurement results, image streams and configuration data are transmitted in cleartext. On a single workstation this is generally acceptable; over a shared network it is not. If you must expose the hub across a network, place an HTTPS-terminating reverse proxy (IIS, nginx, Caddy, Envoy) in front of it and disable the hub's direct binding on the external interface. The proxy can also add the authentication that the hub itself lacks. ## Threat Model Assume any process or user that can connect to the hub's listening socket can: - Connect any discovered device and read live image streams from it. - Trigger calibrations, including ones that overwrite previously stored reference values. - Read or download measurement containers — including ones still in progress. - Read the hub's log file via `GET /v1/logs`, which may contain device serial numbers and operational metadata. - Initiate an in-place application update via `POST /v1/app-updates/action`. Do **not** treat the listening socket as confidential by virtue of running on a workstation. On a multi-user host, every local user account can reach `localhost:42042`. ## Recommended Mitigations For each deployment scenario, pick the smallest set that brings residual risk into your operational comfort zone: | Scenario | Mitigation | | --- | --- | | Single-user lab workstation, single integrator | Keep the default loopback binding. Do not change `--urls`. | | Multi-user workstation | Restrict access to the hub's listening port via Windows Firewall to the integrator's account. | | LAN-attached production cell | Run the hub behind a reverse proxy that terminates TLS and enforces authentication (mTLS, OAuth or API key headers). Bind the hub itself to loopback so it is only reachable through the proxy. | | Multiple instruments per workstation | One hub instance per device, bound to distinct loopback ports. | | Remote support / diagnostics | Use an out-of-band channel (RDP, SSH tunnel) rather than exposing the hub directly. | ## Future Work Authenticated, authorised and TLS-protected access is on the roadmap. Until shipped, treat this page as the authoritative description of the hub's security posture — do not assume any implicit protection. --- # Starting the application > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. To start the application, find it in the Start menu or locate the executable in `%LOCALAPPDATA%\com.rhopointinstruments.elements-hub.release\current` --- # Swagger UI Guide > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. This guide explains how to use the interactive Swagger UI to explore, test, and understand the Elements Hub REST API without writing any code. ## Accessing Swagger UI ### 1. Start Elements Hub Server Ensure your Elements Hub server is running. By default, it runs on [http://localhost:42042](http://localhost:42042) > [!note] Replace localhost:42042 with your actual server address and port. ### 2. Open Swagger UI Navigate to the Swagger UI in your web browser: [http://localhost:42042/swagger/](http://localhost:42042/swagger/)\ The server automatically redirects the root URL (`/`) to the Swagger UI, so you can also simply visit: [http://localhost:42042](http://localhost:42042) ![Swagger UI](../_images/1758204210663-swagger-ui.png) ## Swagger UI Interface Overview ### Main Components The Swagger UI interface consists of several key sections: 1. **API Information Header** - API title and version - Server information - Base URL 2. **Endpoint Groups (Tags)** - Organized by functionality (System, Lifecycle, Devices, etc.) - Collapsible sections for better navigation 3. **Individual Endpoints** - HTTP method and path - Brief description - Parameters and response information 4. **Global Controls** - Authorization settings - Server selection - Response format options ## Exploring API Endpoints ### Expanding Endpoint Groups Click on any endpoint group to expand it and see the available operations. ### Understanding HTTP Methods Each endpoint shows its HTTP method with colour coding: - **🟢 GET** (Green) - Retrieve data - **🔵 POST** (Blue) - Create or trigger operations - **🟡 PUT** (Yellow) - Update existing resources - **🔴 DELETE** (Red) - Remove resources ### Viewing Endpoint Details Click on any individual endpoint to expand its details: ![Open GET](../_images/1758204963242-swagger-ui-open.png) ## Testing API Endpoints ### Simple GET Request Example Let's test the system version endpoint: 1. **Expand the System group** and click on `GET /v1/system/version` 2. **Click "Try it out"** button ![Try it out](../_images/1758205633602-swagger-ui-try-it.png) 3. **Click "Execute"** to make the request ![Execute GET](../_images/1758205861241-swagger-ui-execute.png) The response will show: - **Response Code** (e.g., 200 for success) - **Response Body** with the actual data - **Response Headers** - **Request URL** that was called ![GET response](../_images/1758205951464-swagger-ui-get-response.png) ### POST Request with Parameters Let's test initialising the lifecycle services: 1. **Expand the Lifecycle group** and click on `POST /v1/lifecycle/initialize` 2. **Click "Try it out"** 3. **Edit the request body** in the text area: ```json { "dataDirectory": "C:\\ProgramData\\ElementsHub\\Data", "logDirectory": "C:\\ProgramData\\ElementsHub\\Logs" } ``` ![POST with payload](../_images/1758206445946-swagger-ui-payload.png) 4. **Click "Execute"** ### POST Request with Path Parameters For endpoints that require path parameters: 1. **Expand Connected Devices** and click on `GET /v1/devices/{deviceId}` 2. **Click "Try it out"** 3. **Enter the device ID** in the parameter field 4. **Click "Execute"** ## Understanding Request and Response Schemas ### Request Body Schemas When an endpoint accepts a request body, Swagger UI shows: - **Property names** and their types - **Required fields** (marked with \*) - **Example values** - **Property descriptions** You can click on the schema to see more details and copy the example JSON. ### Response Schemas Each endpoint shows possible response codes and their schemas: - **200 Success** responses with data structure - **400 Bad Request** error format - **404 Not Found** responses - **Other status codes** as applicable ## Working with Different Content Types ### Image Responses Some endpoints return images (like device camera captures): 1. **Navigate to** `GET /v1/devices/{deviceId}/images/latest` 2. **Select the appropriate Accept header** (e.g., `image/jpeg`) 3. **Execute the request** The response will show the image data or provide a download link. ### File Downloads For endpoints that return files, Swagger UI will provide options to download or view the file content. ## Error Handling and Debugging ### Common Error Responses When requests fail, Swagger UI displays helpful error information. ### Request Validation Errors If your request doesn't match the expected schema, Swagger UI will highlight: - Missing required fields - Invalid data types - Out-of-range values - Format violations ### Network and Server Errors For connectivity issues check: - Server is running - Correct URL and port - Network connectivity - Firewall settings ## Advanced Features ### Multiple API Versions If multiple API versions are available, you can switch between them: ### Server Selection If multiple servers are configured, you can select which one to use: ### Downloading OpenAPI Specification You can download the raw OpenAPI specification: Look for a link to download the `swagger.json` file for use with code generators. ## Best Practices for Testing ### 1. Start with System Endpoints Always begin by testing basic system endpoints: - `GET /v1/system/version` - Verify server is running - `POST /v1/lifecycle/initialize` - Initialize services ### 2. Follow the Logical Flow For device operations, follow this sequence: 1. Initialize lifecycle services 2. Start a device scan 3. Check available devices 4. Connect to a device 5. Perform device operations 6. Disconnect when done ### 3. Check Dependencies Some endpoints depend on others being called first: - Device operations require initialization. - Device connections require scanning. - Measurements require connected devices. ### 4. Use Realistic Test Data When testing with sample data: - Use valid file paths for directory parameters. - Use realistic device identifiers. - Follow the expected data formats. ### 5. Monitor Response Times Pay attention to response times for operations: - Some operations (like device scanning) may take time. - Check for appropriate timeout handling. - Consider async patterns for long-running operations. ## Troubleshooting Common Issues ### "Try it out" Button Not Working - Ensure JavaScript is enabled in your browser. - Check for browser console errors (press `F12` on your keyboard). - Try refreshing the page. ### CORS Errors If testing from a different domain: - CORS may need to be configured on the server or proxy. - Try accessing from the same domain as the API. ### Large Response Handling For endpoints that return large amounts of data: - UI may slow down or freeze. - Responses may be truncated in the UI. - Consider using dedicated API clients for large data sets. - Check response size limits. ## Integrating with Development Workflow ### Documentation and Discovery Use Swagger UI for: - **API Documentation** - Understanding available endpoints. - **Schema Discovery** - Learning request/response formats. - **Quick Testing** - Validating API behaviour. - **Example Generation** - Getting sample requests for development. ### Code Generation Preparation After exploring with Swagger UI: 1. Download the OpenAPI specification. 2. Use it with code generators (see chapter Client Code Generation). 3. Reference the tested examples in your generated clients. ## Tips for Effective API Exploration ### 1. Start Simple Begin with read-only operations (GET requests) before attempting modifications. ### 2. Keep Notes Document successful request patterns for later reference in your applications. ### 3. Test Edge Cases Try invalid inputs to understand error handling and validation rules. ### 4. Understand State Some operations change system state - be aware of the order of operations. ### 5. Use Browser Developer Tools Monitor network requests in browser development tools for additional debugging information. --- # Endpoints - Functionality > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The process and order of calls is nearly identical for all instruments. This ensures consistency and simplifies integration across different devices. Following a standardized sequence also makes it easier to debug, extend, and maintain the system over time. The typical workflow follows these steps: 1. **[Lifecycle — Initialize](rhopoint-elements-hub-endpoints-functionality-lifecycle.md)** The system is initialized and prepared for operation. This step sets up the environment, allocates necessary resources, and ensures the application is ready to interact with instruments. 2. **[Start a Device Scan](rhopoint-elements-hub-endpoints-functionality-device-scans.md)** The system performs a scan to discover available instruments. This ensures that only devices that are present, powered, and accessible are considered for connection. 3. **[Connect to Device](rhopoint-elements-hub-endpoints-functionality-connected-devices.md)** Once a specific instrument is identified, you can establish a connection. At this point, communication channels are opened and verified. 4. **[Stop the Device Scan](rhopoint-elements-hub-endpoints-functionality-device-scans.md#stopping-a-scan)** After a successful connection, scanning should be stopped to reduce resource usage and avoid unnecessary interference with the established session. 5. **[Trigger Measurements or Execute Commands](rhopoint-elements-hub-endpoints-functionality-measurement-triggers.md)** The core functionality takes place here. Measurements can be triggered, data can be acquired, or commands can be executed depending on the device's capabilities and the needs of the workflow. 6. **[Disconnect from Device](rhopoint-elements-hub-endpoints-functionality-connected-devices.md#disconnecting-a-device)** When all operations are completed, the instrument should be disconnected. This step ensures a clean release of resources and prevents potential conflicts with future connections. 7. **[Lifecycle — Shutdown](rhopoint-elements-hub-endpoints-functionality-lifecycle.md)** The system is shut down gracefully. Resources are released, processes are closed, and the environment is returned to a safe, stable state. --- ### Why This Process Matters - **Consistency**: All instruments follow the same flow, which reduces the learning curve for developers. - **Reliability**: Structured initialization and shutdown help prevent crashes and resource leaks. - **Scalability**: Adding new instruments is easier when they fit into a standardized lifecycle. - **Debugging**: Problems are easier to isolate when every session follows a predictable sequence. --- ### Endpoint Reference | Page | Endpoints | | --- | --- | | [Lifecycle](rhopoint-elements-hub-endpoints-functionality-lifecycle.md) | `POST /v1/lifecycle/initialize`, `POST /v1/lifecycle/shutdown` | | [Device Scans](rhopoint-elements-hub-endpoints-functionality-device-scans.md) | `POST/GET/DELETE /v1/device-scans`, `GET /v1/available-devices` | | [Connected Devices](rhopoint-elements-hub-endpoints-functionality-connected-devices.md) | `POST/GET/DELETE /v1/devices`, property lookup | | [Measurement Triggers](rhopoint-elements-hub-endpoints-functionality-measurement-triggers.md) | `GET/POST /v1/devices/{deviceId}/measurement-triggers`, `POST /v1/measurements/decode` | | [Calibrations](rhopoint-elements-hub-endpoints-functionality-calibrations.md) | `GET/POST /v1/devices/{deviceId}/calibrations`, `GET /calibrations/status` | | [Image Streams](rhopoint-elements-hub-endpoints-functionality-image-streams.md) | `POST/DELETE /v1/devices/{deviceId}/image-streams/{sourceKey}`, `start`/`configure`/`snapshot`/`stream` | | [System](rhopoint-elements-hub-endpoints-functionality-system.md) | `GET /v1/system/version`, `GET /v1/system/checks`, `POST /v1/system/errors/raise-exception` | | [App Updates](rhopoint-elements-hub-endpoints-functionality-app-updates.md) | `GET /v1/app-updates/info`, `POST /v1/app-updates/action` | Cross-cutting topics relevant to every endpoint: - [Error Handling](rhopoint-elements-hub-error-handling.md) — uniform `ErrorInfo` response format and `id.rhopointservice.com/E` reference URLs - [Security Notice](rhopoint-elements-hub-security-notice.md) — current authentication/transport posture and recommended deployment mitigations - [Measurement Image Formats](rhopoint-elements-hub-measurement-image-formats.md) — encoding of device images inside measurement containers (PNG / JPEG / raw) - [RAE File Format](rhopoint-elements-hub-rae-file-format.md) — binary layout of the measurement container This lifecycle ensures that instruments are used efficiently, reliably, and in a way that can be repeated across multiple environments and use cases. --- # App Updates > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The app-update endpoints expose the hub's self-update mechanism. The hub uses [Velopack](https://velopack.io/) under the hood to discover, download and apply releases. The endpoints surface that machinery through a small REST API so integrators can check for new versions, drive the update process from their own UI, and observe the resulting state without restarting the hub themselves until they are ready. ### Endpoints Overview | Method | Endpoint | Description | | --- | --- | --- | | GET | `/v1/app-updates/info` | Query the current update state (also performs a fresh update check) | | POST | `/v1/app-updates/action` | Drive the update workflow (Check / Download / Apply and Restart) | ### Update State ```http GET /v1/app-updates/info ``` ```bash curl http://localhost:42042/v1/app-updates/info ``` Performs an update check against the configured release channel and returns the resulting state: ```json { "currentVersion": "1.7.0", "availableVersion": "1.8.0", "updateAvailable": true, "updateDownloaded": false, "pendingRestart": false, "portable": false, "installed": true } ``` | Field | Type | Description | | --- | --- | --- | | `currentVersion` | string | The running hub version. `"###version###"` indicates an unbuilt developer copy. | | `availableVersion` | string | The newest version offered by the release feed, or `"-"` if no newer release is available. | | `updateAvailable` | bool | `true` if `availableVersion` is newer than `currentVersion`. | | `updateDownloaded` | bool | `true` once `Download` has finished and the package is staged on disk. | | `pendingRestart` | bool | `true` after `ApplyAndRestart` has prepared the swap and is waiting for the hub process to exit. | | `installed` | bool | `true` if the hub is running from an installed location (vs. a portable copy). | | `portable` | bool | `true` if the hub is running as a portable distribution. Updates may behave differently in this mode. | Calling `GET /info` triggers a fresh check against the release feed, so it is safe to use as the primary refresh entry point — there is no separate "refresh" verb. ### Driving the Update Workflow ```http POST /v1/app-updates/action?action=download ``` ```bash curl -X POST "http://localhost:42042/v1/app-updates/action?action=download" ``` The action is passed as a query-string parameter. No request body is required. | `action` value | Effect | Preconditions | | --- | --- | --- | | `check` | Re-runs the update check, refreshing `availableVersion` and `updateAvailable`. | None. | | `download` | Downloads the available release package in the background and stages it on disk. After completion `updateDownloaded` flips to `true`. | An update must be available (`check` has reported one). | | `applyAndRestart` | Applies the downloaded package and restarts the hub process. The client should expect the connection to drop. | `updateDownloaded` must be `true`. | Values are matched case-insensitively against the enum names, so `Check`, `check` and `CHECK` are equivalent. The response body of `POST /action` has the same shape as `GET /info` — call it once and observe the resulting state. ### Update Workflow ``` ┌──────────────────────┐ │ GET /info │ Initial state — reports updateAvailable └──────────┬───────────┘ │ updateAvailable == true ▼ ┌──────────────────────┐ │ POST /action "check" │ (optional, refreshes the check) └──────────┬───────────┘ │ ▼ ┌──────────────────────────┐ │ POST /action "download" │ Stages the package └──────────┬───────────────┘ │ updateDownloaded == true ▼ ┌──────────────────────────────────┐ │ POST /action "applyAndRestart" │ Hub restarts; connection drops └──────────────────────────────────┘ ``` Typical client implementation: 1. Call `GET /info` at start-up (or on a slow timer) and surface the update banner when `updateAvailable` is `true`. 2. When the user agrees to update, `POST /action "download"`. Show progress as indeterminate (the API does not currently expose a percentage). 3. Once `updateDownloaded` is `true`, prompt the user to apply. On confirmation, `POST /action "applyAndRestart"` and treat the next failed request as the expected restart signal. 4. After the hub is back up, call `GET /info` again. `currentVersion` should now match the previous `availableVersion` and `updateAvailable` should be `false`. ### Error Cases | Condition | HTTP | Body | | --- | --- | --- | | `download` / `applyAndRestart` called before `check` ever reported an update | 400 | `"There is new version available for update. Have you performed the update check first?"` | | `applyAndRestart` called before `download` finished | 424 | `"Update is not downloaded. Please download the update first."` | | Unknown action value | 400 | `"Unknown action \"\"."` | The body of these failures is a plain string, not an [`ErrorInfo`](rhopoint-elements-hub-error-handling.md) record, because the responses come from ASP.NET's built-in validation rather than the device error pipeline. Treat any non-2xx response as an indication that the request did not advance the update state. ### Best Practices - Poll `GET /info` no more often than once every few minutes. There is no rate-limiting, but the underlying check hits the release feed. - Do not call `applyAndRestart` without explicit user confirmation — connected devices are disconnected when the hub exits, which can interrupt a running measurement workflow. - Stop all device scans and measurements before applying an update. The hub graceful-shutdown path will handle this, but proactive cleanup avoids surprise errors on the client side. - Use `portable` and `installed` to decide whether to show the update UI at all. A portable copy can be replaced manually; an installed one is the typical update target. --- # Calibrations > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Calibration brings a connected device's measurement chain back into agreement with a known reference (white, black, or height target). For instruments such as Aesthetix, a valid calibration is a precondition for trustworthy measurements — running a measurement on an uncalibrated device returns numbers, but they are not metrologically meaningful. The hub tracks the last calibration time per device and exposes a `status` endpoint so clients can prompt for re-calibration before it goes stale. ### Endpoints Overview | Method | Endpoint | Description | | --- | --- | --- | | GET | `/v1/devices/{deviceId}/calibrations` | List calibrations available on the connected device | | POST | `/v1/devices/{deviceId}/calibrations` | Execute a calibration | | GET | `/v1/devices/{deviceId}/calibrations/status` | Get current calibration status per calibration type | ### Listing Available Calibrations ```http GET /v1/devices/{deviceId}/calibrations ``` ```bash curl http://localhost:42042/v1/devices/12f1d7dd07ac42a088c8f961b39d68ff/calibrations ``` Returns the device's calibration definitions, including the parameters each one accepts. Example shape: ```json [ { "identifier": "white", "title": "White Calibration", "description": "Performs white reference calibration using the white calibration standard.", "category": "calibration", "parameters": [ { "key": "reflectance", "type": "Double", "description": "Percent, 0.42 ≙ 42 %" }, { "key": "visualContrast", "type": "Double", "description": "Percent, 0.42 ≙ 42 %" } ] } ] ``` The set of calibrations is device-class–specific. For example, an Aesthetix supports `white`, `black` and `height`, an Aesthetix Inline only `black`. See [Aesthetix-specific calibration details](rhopoint-elements-hub-instruments-aesthetix-calibration.md). ### Executing a Calibration ```http POST /v1/devices/{deviceId}/calibrations Content-Type: application/json { "calibrationKey": "white", "parameters": [ { "key": "reflectance", "value": 0.95 }, { "key": "visualContrast", "value": 0.92 } ] } ``` ```bash curl -X POST http://localhost:42042/v1/devices/12f1d7dd07ac42a088c8f961b39d68ff/calibrations \ -H "Content-Type: application/json" \ -d '{ "calibrationKey": "white", "parameters": [ { "key": "reflectance", "value": 0.95 }, { "key": "visualContrast", "value": 0.92 } ] }' ``` #### Request Body | Field | Type | Required | Description | | --- | --- | --- | --- | | `calibrationKey` | string | Yes | Identifier from `GET /v1/devices/{deviceId}/calibrations` (e.g. `white`, `black`, `height`). | | `parameters` | array | No | Calibration parameters as `{ "key": "...", "value": ... }` entries. Keys and value types are device-class–specific (see `GET` response). | #### Response ```json { "calibrationKey": "white", "success": true } ``` The call is synchronous and only returns once the calibration has completed on the device. Calibration can take several seconds; clients should set a generous HTTP timeout (≥30 s). > [!warning] > The physical calibration target must be in place **before** the request is sent. Calibrating against the wrong target will produce a successful response but invalid downstream measurements. See the device-specific calibration page for which target to use with which `calibrationKey`. ### Getting the Calibration Status ```http GET /v1/devices/{deviceId}/calibrations/status ``` Returns the current state of every calibration type the device supports: ```json { "deviceId": "12f1d7dd07ac42a088c8f961b39d68ff", "deviceSerialNumber": "AXI8000027", "calibrations": [ { "calibrationKey": "white", "lastCalibrationTime": "2025-11-10T07:32:14.000Z", "status": "CalibrationValid", "recommendedInterval": "2.00:00:00", "overdueInterval": "7.00:00:00" }, { "calibrationKey": "black", "lastCalibrationTime": null, "status": "NotCalibrated", "recommendedInterval": "2.00:00:00", "overdueInterval": "7.00:00:00" } ] } ``` #### Status Values | Status | Meaning | Recommended action | | --- | --- | --- | | `NotCalibrated` | No calibration of this type has ever been performed for this device's serial number. | Calibrate before measuring. | | `CalibrationValid` | Last calibration is younger than `recommendedInterval`. | Continue measuring. | | `CalibrationRecommended` | Last calibration is older than `recommendedInterval` but younger than `overdueInterval`. | Calibrate at the next convenient point. | | `CalibrationOverdue` | Last calibration is older than `overdueInterval`. | Calibrate before further measurements. | The intervals follow .NET `TimeSpan` formatting (`d.hh:mm:ss`). Typical defaults are 2 days (recommended) and 7 days (overdue), but the device definition is authoritative — read the values from the response rather than hard-coding them. ### Persistence Calibration data is stored per **serial number + device class**, not per session identifier. Disconnecting and re-connecting a device — or restarting the hub — does not invalidate previously persisted calibrations. The storage location is the `dataDirectory` passed to [`POST /v1/lifecycle/initialize`](rhopoint-elements-hub-endpoints-functionality-lifecycle.md). ### Best Practices - After connecting a device, call `GET /v1/devices/{deviceId}/calibrations/status` and surface any `NotCalibrated`, `CalibrationRecommended` or `CalibrationOverdue` entries to the operator before allowing measurements to start. - Calibrate in the order recommended by the device manufacturer (typically Black → White → Height for Aesthetix). Some calibrations depend on earlier ones being valid. - Read `parameters` from `GET /v1/devices/{deviceId}/calibrations` and only send the values listed there — sending unknown keys is silently ignored, which makes typos hard to spot. - Time the calibration prompts using the `status` endpoint, not your own scheduler — the intervals can change between firmware updates. ### Error Cases | Condition | HTTP | Error Code | | --- | --- | --- | | Connected device not found | 404 | `E5` | | Unknown `calibrationKey` for this device | 404 | `E28` | | Calibration timed out (hardware likely disconnected) | 502 | `E29` | See [Error Handling](rhopoint-elements-hub-error-handling.md) for the response format. --- # Connected Devices > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Once a device has been discovered by a [device scan](rhopoint-elements-hub-endpoints-functionality-device-scans.md), it can be connected and used for measurements, calibrations and image acquisition. A connected device occupies the hub's communication channel to the hardware until it is explicitly disconnected (or the hub is shut down). ### Endpoints Overview | Method | Endpoint | Description | | --- | --- | --- | | POST | `/v1/devices` | Connect a previously discovered device | | GET | `/v1/devices` | List all currently connected devices | | GET | `/v1/devices/{deviceId}` | Get a single connected device by identifier | | GET | `/v1/devices/{deviceId}/{propertyName}` | Read a single property of a connected device | | DELETE | `/v1/devices/{deviceId}` | Disconnect a device | ### Typical Workflow 1. [Initialize lifecycle services](rhopoint-elements-hub-endpoints-functionality-lifecycle.md) 2. [Start a device scan](rhopoint-elements-hub-endpoints-functionality-device-scans.md) for the relevant device class 3. Poll `GET /v1/available-devices` until the target device appears 4. Connect with `POST /v1/devices` 5. Use the device for [measurements](rhopoint-elements-hub-endpoints-functionality-measurement-triggers.md), calibrations and image acquisition 6. Disconnect with `DELETE /v1/devices/{deviceId}` 7. [Shut down lifecycle services](rhopoint-elements-hub-endpoints-functionality-lifecycle.md) ### Connecting a Device ```http POST /v1/devices Content-Type: application/json { "deviceIdentifier": "12f1d7dd07ac42a088c8f961b39d68ff" } ``` ```bash curl -X POST http://localhost:42042/v1/devices \ -H "Content-Type: application/json" \ -d '{ "deviceIdentifier": "12f1d7dd07ac42a088c8f961b39d68ff" }' ``` #### Request Body | Field | Type | Required | Description | | --- | --- | --- | --- | | `deviceIdentifier` | string | Yes | Identifier returned by `GET /v1/available-devices`. | | `parameters` | array | No | Optional list of device-class–specific connection parameters as `{ "key": "...", "value": ... }` entries. Most devices require no parameters. | #### Response A successful connect returns the device record, now extended with a `connectTime` timestamp: ```json { "identifier": "12f1d7dd07ac42a088c8f961b39d68ff", "deviceClass": "aesthetix-inline", "serialNumber": "AXI8000027", "serialNumbers": ["AXI8000027"], "hardwareVersion": "…", "firmwareVersion": "…", "softwareVersion": "…", "componentVersions": [], "connectTime": "2025-11-12T08:16:02.1234567+00:00" } ``` ### Listing Connected Devices ```http GET /v1/devices ``` Returns an array of connected devices in the same shape as the connect response. An empty array means no devices are currently connected. ### Getting a Single Connected Device ```http GET /v1/devices/{deviceId} ``` Use the `identifier` value as `{deviceId}`. Returns the full device record or HTTP 404 (`E5`) if no device with that identifier is connected. ### Reading a Single Property ```http GET /v1/devices/{deviceId}/serialNumber ``` The property-lookup endpoint returns the value of a single field of the device record. Useful when a client only needs one piece of information and wants to avoid parsing the full record. Returns HTTP 404 (`E4`) if the property does not exist on the device. ### Disconnecting a Device ```http DELETE /v1/devices/{deviceId} ``` ```bash curl -X DELETE http://localhost:42042/v1/devices/12f1d7dd07ac42a088c8f961b39d68ff ``` Disconnect cleanly releases the device's communication channel and persists any pending calibration or configuration state. Always disconnect explicitly before shutting down the hub if possible — although `POST /v1/lifecycle/shutdown` will also disconnect every device, an explicit disconnect surfaces errors immediately instead of during shutdown. ### Behaviour on Re-Connect - Disconnecting and re-connecting the same device returns a **new** identifier — the identifier is tied to a discovery session, not the hardware. After a re-connect, update any cached identifiers on the client side. - Calibration data is persisted by serial number and device class, so a re-connected device retains its previous calibration state without further action. ### Best Practices - Always check `GET /v1/available-devices` for the target serial number before calling `POST /v1/devices` — the identifier returned by an older scan may no longer be valid if the scan was stopped in between. - Wrap the connect/use/disconnect sequence in a try/finally on the client side to guarantee disconnect even when measurement errors occur. - For long-running integrations, prefer one persistent connection over repeated connect/disconnect cycles — the subprocess startup cost is the main reason connecting is slower than measuring. - Use `GET /v1/devices` after start-up to detect devices that may already be connected (for example, after the hub was restarted while clients still held the previous identifier). ### Error Cases | Condition | HTTP | Error Code | | --- | --- | --- | | Identifier does not match any discovered device | 404 | `E3` | | Connect failed (hardware error, device busy, …) | 502 | `E8` | | Requested connected device not found | 404 | `E5` | | Requested property does not exist on device | 404 | `E4` | See [Error Handling](rhopoint-elements-hub-error-handling.md) for the response format. --- # Device Scans > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Device scans discover instruments that are available to the host machine but not yet connected. A scan is an asynchronous, long-running background process — typically backed by a device-class–specific subprocess that polls hardware or the local network. Clients start a scan, poll the list of available devices, and either stop the scan once a device has been found or keep it running for continuous discovery. ### Endpoints Overview | Method | Endpoint | Description | | --- | --- | --- | | POST | `/v1/device-scans` | Start a new scan for a specific device class | | GET | `/v1/device-scans` | List all active scans | | GET | `/v1/device-scans/{scanId}` | Get a single scan by identifier | | GET | `/v1/device-scans/{scanId}/{propertyName}` | Read a single property of a scan | | DELETE | `/v1/device-scans/{scanId}` | Stop and remove a scan | > [!note] > Scans must be started against a known device class. The same device class is used later when connecting (see [Connected Devices](rhopoint-elements-hub-endpoints-functionality-connected-devices.md)). Common values are `aesthetix`, `aesthetix-inline`, `id-inline` and their `-mock` variants (see [Mock Devices](rhopoint-elements-hub-mock-devices.md)). ### Starting a Scan ```http POST /v1/device-scans Content-Type: application/json { "deviceClass": "aesthetix-inline" } ``` ```bash curl -X POST http://localhost:42042/v1/device-scans \ -H "Content-Type: application/json" \ -d '{ "deviceClass": "aesthetix-inline" }' ``` #### Request Body | Field | Type | Required | Description | | --- | --- | --- | --- | | `deviceClass` | string | Yes | Class of device to scan for (e.g. `aesthetix`, `aesthetix-inline`, `id-inline`) | | `serialNumberFilter` | string | No | Restrict discovery to devices whose serial number matches the given pattern | | `ipAddressFilter` | string | No | For network-discovered devices, restrict discovery to a specific IP address or range | #### What happens internally Starting a scan spawns the device-class–specific subprocess (for Aesthetix-family devices that is `Aesthetix.exe` / `AesthetixKernel.exe`). The subprocess handles direct communication with the device, including taking measurements and calculating metrics. It is kept alive for as long as the scan or any device connection of that class is active. ### Listing Active Scans ```http GET /v1/device-scans ``` Example response: ```json [ { "identifier": "9d8e2f1a-…", "scanFilter": { "deviceClass": "aesthetix-inline", "serialNumberFilter": null, "ipAddressFilter": null }, "status": "running", "foundDevices": [ "12f1d7dd07ac42a088c8f961b39d68ff" ] } ] ``` The `foundDevices` array contains the identifiers of every available device found by this scan so far. To retrieve the full device records, use [the available-devices endpoints](rhopoint-elements-hub-endpoints-functionality-connected-devices.md). ### Polling Discovered Devices While a scan is running, query `GET /v1/available-devices` to retrieve the discovered devices and their metadata: ```http GET /v1/available-devices ``` Example response: ```json [ { "discovered": "2025-11-12T08:15:26.7825826+00:00", "identifier": "12f1d7dd07ac42a088c8f961b39d68ff", "deviceClass": "aesthetix-inline", "serialNumber": "AXI8000027", "serialNumbers": [ "AXI8000027" ], "hardwareVersion": "…", "firmwareVersion": "…", "softwareVersion": "…", "componentVersions": [] } ] ``` The `identifier` field is what you pass to `POST /v1/devices` to establish a connection. See [Connected Devices](rhopoint-elements-hub-endpoints-functionality-connected-devices.md) for the follow-up step. ### Stopping a Scan ```http DELETE /v1/device-scans/{scanId} ``` ```bash curl -X DELETE http://localhost:42042/v1/device-scans/9d8e2f1a-… ``` Stopping a scan tears down the discovery loop. If no connected device of the same class remains, the associated subprocess is shut down as well. ### When to Stop the Scan - **USB-attached devices (Aesthetix, ID Inline)**: stop the scan once the device has been found and you are about to connect. Keeping the scan running adds no value and consumes a subprocess slot. - **Network-discovered devices (Aesthetix Inline)**: it is acceptable to keep the scan running while working with the device — discovery is low-cost, and clients may want to detect hot-plugged devices on the same network. ### Best Practices - Always start a scan **after** calling [`POST /v1/lifecycle/initialize`](rhopoint-elements-hub-endpoints-functionality-lifecycle.md). The hub rejects scan requests if the lifecycle services have not been initialized. - Treat the scan identifier as opaque; do not parse or rely on its format. - Poll `GET /v1/available-devices` rather than `GET /v1/device-scans/{scanId}` to read the discovered devices — `available-devices` returns full device records, `device-scans` returns identifiers only. - Stop scans you no longer need to free the underlying subprocess. - On shutdown, [`POST /v1/lifecycle/shutdown`](rhopoint-elements-hub-endpoints-functionality-lifecycle.md) stops all scans automatically; explicit `DELETE` is only required when you want to stop a scan mid-session. --- # Image Streams > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Image streams expose a continuous, low-latency video-like feed from a device's camera. They are intended for live preview, alignment and focus assistance — not for archival capture (use [measurements](rhopoint-elements-hub-endpoints-functionality-measurement-triggers.md) for that). A stream is configured once via `POST .../start`, then consumed either as a Server-Sent-Events feed for real-time delivery or polled frame-by-frame via the snapshot endpoint. ### Endpoints Overview | Method | Endpoint | Description | | --- | --- | --- | | POST | `/v1/devices/{deviceId}/image-streams/{sourceKey}/start` | Start a stream for a specific image source | | POST | `/v1/devices/{deviceId}/image-streams/{sourceKey}/configure` | Change exposure / scale / encoding while running | | GET | `/v1/devices/{deviceId}/image-streams/{sourceKey}/stream` | Subscribe to live frames via SSE (`text/event-stream`) | | GET | `/v1/devices/{deviceId}/image-streams/{sourceKey}/snapshot` | Pull a single frame (binary image) | | GET | `/v1/devices/{deviceId}/image-streams` | List all active streams on a connected device | | DELETE | `/v1/devices/{deviceId}/image-streams/{sourceKey}` | Stop and tear down the stream | ### Source Keys A device may expose more than one camera or imaging path. Each is addressed by a `sourceKey`. For Aesthetix devices the available keys are: | `sourceKey` | Camera | | --- | --- | | `spec` | Specular path | | `aspec` | Aspecular path | Other device classes may expose different keys; consult the device's documentation. ### Lifecycle ``` ┌──────────────────────────────┐ │ POST .../{sourceKey}/start │ ← configure exposure, scale, encoding └──────────────┬───────────────┘ │ ┌─────────┴─────────┐ │ │ ▼ ▼ GET .../stream GET .../snapshot (SSE feed) (single frame) │ │ │ POST .../configure (optional, while running) │ │ └─────────┬─────────┘ ▼ ┌──────────────────────────────┐ │ DELETE .../{sourceKey} │ └──────────────────────────────┘ ``` A stream remains active until explicitly stopped via `DELETE` or until the device is disconnected. Reconnecting to the device does not automatically restore previously running streams. ### Starting a Stream ```http POST /v1/devices/{deviceId}/image-streams/{sourceKey}/start Content-Type: application/json { "exposureTimeMilliseconds": 50, "scaleFactor": 0.5, "mimeType": "image/jpeg", "quality": 0.85 } ``` ```bash curl -X POST http://localhost:42042/v1/devices/12f1d7dd07ac42a088c8f961b39d68ff/image-streams/aspec/start \ -H "Content-Type: application/json" \ -d '{ "exposureTimeMilliseconds": 50, "scaleFactor": 0.5, "mimeType": "image/jpeg", "quality": 0.85 }' ``` #### Request Body All fields are optional — omit them to use the server defaults. | Field | Type | Default | Description | | --- | --- | --- | --- | | `exposureTimeMilliseconds` | double | device-dependent | Sensor exposure per frame. Typical range 1–1000 ms. Higher values yield brighter frames but lower frame rate. | | `scaleFactor` | double | `1.0` | Downscaling factor applied server-side before encoding. Lower values reduce bandwidth and CPU at the cost of resolution. Typical range 0.1–1.0. | | `mimeType` | string | `"image/png"` | Per-frame encoding. One of `image/png` or `image/jpeg`. PNG is lossless and larger, JPEG smaller and lossy. | | `quality` | double | `0.85` | JPEG quality (0.1–1.0). Ignored when `mimeType` is `image/png`. | #### Response ```json { "deviceId": "12f1d7dd07ac42a088c8f961b39d68ff", "sourceKey": "aspec", "exposureTimeMilliseconds": 50, "scaleFactor": 0.5, "mimeType": "image/jpeg", "quality": 0.85, "startedAt": "2025-11-12T08:20:15.4567890+00:00", "status": "active" } ``` ### Consuming the Stream (SSE) ```http GET /v1/devices/{deviceId}/image-streams/{sourceKey}/stream Accept: text/event-stream ``` The response is a Server-Sent-Events stream (RFC 8895). The hub sets `Content-Type: text/event-stream`, `Cache-Control: no-cache`, `Connection: keep-alive`. Each frame arrives as one SSE event: ``` data: {"mimeType":"image/jpeg","image":"","timestamp":"2025-11-12T08:20:15.5123456+00:00"} ``` #### Event Payload | Field | Type | Description | | --- | --- | --- | | `mimeType` | string | MIME type of the encoded frame (matches the stream's current `mimeType`). | | `image` | string | Base64-encoded image bytes. Decode and feed directly to your image viewer. | | `timestamp` | string | ISO-8601 capture time of the frame (with `+00:00` UTC offset). Useful for measuring end-to-end latency. | #### Error Events If the device errors out mid-stream, an SSE event with `event: error` is sent before the connection closes: ``` event: error data: {"errorCode":"","message":""} ``` Treat this as a terminal event — re-subscribe by issuing `GET .../stream` again, or stop and recreate the stream if the underlying error was caused by a configuration mismatch. #### Following the Stream from the Shell ```bash curl -N http://localhost:42042/v1/devices/12f1d7dd07ac42a088c8f961b39d68ff/image-streams/aspec/stream ``` `-N` disables curl's output buffering so each event prints as it arrives. Useful for smoke-testing the stream without writing a client. #### Consuming the Stream from a Browser `EventSource` is the standard Web API for SSE and the easiest way to consume the feed. The hub's bundled demo app (`/app/`) uses exactly this pattern: ```js const url = `http://localhost:42042/v1/devices/${deviceId}/image-streams/${sourceKey}/stream`; const source = new EventSource(url); source.onmessage = (event) => { const { mimeType, image, timestamp } = JSON.parse(event.data); document.getElementById('preview').src = `data:${mimeType};base64,${image}`; }; source.addEventListener('error', () => { source.close(); // terminal — re-subscribe by creating a new EventSource }); ``` The `data:` URL form works directly in `` tags, `.drawImage()` and `createImageBitmap()` without an explicit Base64 decode step. ### Snapshot — Single Frame ```http GET /v1/devices/{deviceId}/image-streams/{sourceKey}/snapshot ``` ```bash curl -o frame.jpg \ http://localhost:42042/v1/devices/12f1d7dd07ac42a088c8f961b39d68ff/image-streams/aspec/snapshot ``` Returns one frame as a raw binary image with the `Content-Type` set to the stream's current `mimeType` (`image/png`, `image/jpeg`, or `image/bmp`). Use this when you need a single frame on demand and do not want the overhead of opening an SSE connection. > [!note] > Snapshots and SSE both read from the same underlying camera. Pulling a snapshot while an SSE feed is active competes for the next frame and is rarely useful. The Elements Hub demo app disables the snapshot button while SSE is running for this reason. ### Reconfiguring a Running Stream ```http POST /v1/devices/{deviceId}/image-streams/{sourceKey}/configure Content-Type: application/json { "exposureTimeMilliseconds": 100, "scaleFactor": 0.75 } ``` The same field set as `start`; only the fields you include are changed. Already-subscribed SSE clients keep their connection — subsequent frames simply use the new configuration. Use this for live UI sliders that adjust exposure or scaling without forcing the user to disconnect and reconnect. ### Listing Active Streams ```http GET /v1/devices/{deviceId}/image-streams ``` Returns an array of `ImageStreamResponse` records (same shape as the `start` response), one per `sourceKey` that currently has an active stream on the device. An empty array means no stream is currently running. ### Stopping a Stream ```http DELETE /v1/devices/{deviceId}/image-streams/{sourceKey} ``` ```bash curl -X DELETE http://localhost:42042/v1/devices/12f1d7dd07ac42a088c8f961b39d68ff/image-streams/aspec ``` Stops the stream and releases the camera-side resources. Any SSE consumers see the connection close immediately after the next pending frame. `DELETE` is idempotent at the API level — calling it a second time returns `404` (`E37`), which most clients can ignore safely on shutdown paths. ### Best Practices - **Start before subscribe**: always issue `POST .../start` before `GET .../stream`. Subscribing without a started stream returns `404` (`E37`). - **Set `scaleFactor` for the consumer**: a 0.5 factor cuts bandwidth and CPU to roughly a quarter without a noticeable difference for live-preview use cases. Full-resolution streaming is rarely the right default. - **Prefer JPEG for live preview**: at quality 0.85 the file size is typically 5–10× smaller than PNG, and the artefacts are invisible at preview resolutions. - **Close `EventSource` on tab hide**: browsers throttle background tabs, which can starve a hot SSE connection. Listen for `visibilitychange` and close/reopen the stream as needed. - **Reconfigure rather than restart**: `POST .../configure` is faster than `stop` + `start` because the camera does not reinitialise. - **Stop on disconnect**: explicit `DELETE` on shutdown frees the camera immediately. `POST /v1/lifecycle/shutdown` will also stop all streams, but explicit cleanup surfaces errors earlier. ### Error Cases | Condition | HTTP | Error Code | | --- | --- | --- | | Connected device not found | 404 | `E5` | | Stream not started (subscribe/snapshot/configure/stop without a prior `start`) | 404 | `E37` | | Unsupported `sourceKey` for the device | 404 | device-class–specific | See [Error Handling](rhopoint-elements-hub-error-handling.md) for the response format. --- # Lifecycle > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Lifecycle management controls the initialization and shutdown of Elements Hub services. Proper lifecycle management ensures devices are properly configured and resources are cleaned up correctly. ### Endpoints Overview | Method | Endpoint | Description | | --- | --- | --- | | POST | `/v1/lifecycle/initialize` | Initialize services | | POST | `/v1/lifecycle/shutdown` | Shutdown services | ### Initialize Services Initialize the Elements Hub services with configuration settings. This must be called before using device-related functionality. #### Request ```http POST /v1/lifecycle/initialize Content-Type: application/json { "dataDirectory": "C:\\ProgramData\\ElementsHub\\Data", "logDirectory": "C:\\ProgramData\\ElementsHub\\Logs" } ``` ```bash curl -X POST http://localhost:42042/v1/lifecycle/initialize \ -H "Content-Type: application/json" \ -d '{ "dataDirectory": "C:\\ProgramData\\ElementsHub\\Data", "logDirectory": "C:\\ProgramData\\ElementsHub\\Logs" }' ``` #### Request Body | Field | Type | Required | Description | | --- | --- | --- | --- | | `dataDirectory` | string | Yes | Path for data storage | | `logDirectory` | string | Yes | Path for log files | The response body is the string `"Initialization complete."` on success. #### Directory Requirements ##### Data Directory - **Purpose**: Store device configurations, calibration data, measurement results. - **Permissions**: Read/write access required. - **Example**: `C:\ProgramData\ElementsHub\Data` ##### Log Directory - **Purpose**: Store device operation logs. - **Permissions**: Write access required. - **Example**: `C:\ProgramData\ElementsHub\Logs` ### Shutdown Services Gracefully shutdown all Elements Hub services, disconnect devices, and clean up resources. #### Request ```http POST /v1/lifecycle/shutdown ``` ```bash curl -X POST http://localhost:42042/v1/lifecycle/shutdown ``` The request body is empty. The response body is the string `"Service shutdown complete."` on success. #### Shutdown Process 1. **Stop Active Scans**: Cancel any running device scans. 2. **Disconnect Devices**: Safely disconnect all connected devices. 3. **Save State**: Persist any pending data or configurations. 4. **Release Resources**: Free system resources and handles. 5. **Close Logs**: Flush and close log files. ### Best Practices #### Initialization - Always initialize services before device operations. - Verify directory permissions before initialization. - Validate system health after initialization with [`GET /v1/system/checks`](rhopoint-elements-hub-endpoints-functionality-system.md#system-checks). #### Shutdown - Implement graceful shutdown in signal handlers. - Allow time for cleanup operations to complete. - Handle force shutdown scenarios. - Log shutdown events for troubleshooting. - Ensure resources are properly released. #### Directory Management - Use absolute paths for directories. - Ensure sufficient disk space. - Implement directory cleanup policies. - Monitor disk usage over time. - Backup critical data regularly. #### Error Recovery - Implement automatic retry for initialization failures. - Provide clear error messages to users. - Log all lifecycle events for debugging. - Handle partial initialization states. - Implement health checks after operations. --- # Measurement Triggers > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Measurement triggers are the primary way to obtain data from a connected instrument. A trigger executes a device-class–specific measurement procedure and returns a measurement container — by default a binary RAE file (see [RAE File Format](rhopoint-elements-hub-rae-file-format.md)) — containing all metric values, metadata and any attached device images. ### Endpoints Overview | Method | Endpoint | Description | | --- | --- | --- | | GET | `/v1/devices/{deviceId}/measurement-triggers` | List the measurement triggers available on the device | | POST | `/v1/devices/{deviceId}/measurement-triggers` | Execute a measurement | ### Listing Available Triggers ```http GET /v1/devices/{deviceId}/measurement-triggers ``` ```bash curl http://localhost:42042/v1/devices/12f1d7dd07ac42a088c8f961b39d68ff/measurement-triggers ``` The response describes which triggers the connected device supports and which parameters they accept. Example shape: ```json [ { "identifier": "measure", "title": "Measure", "category": "measure", "parameters": [ { "key": "metricGroupKeys", "type": "EnumArray", "description": "Specify the metric group keys measured." }, { "key": "imageFormat", "type": "String", "description": "Image encoding for images in the RAE container. Allowed values: 'image/png' (default), 'image/jpeg', 'image/x-raw'." } ] } ] ``` Use the listing endpoint to discover the parameter keys that are valid for the specific device class and firmware combination — they may evolve between releases. ### Executing a Measurement ```http POST /v1/devices/{deviceId}/measurement-triggers Content-Type: application/json { "measurementKey": "measure", "containerFormat": "raeBinary", "parameters": [ { "key": "metricGroupKeys", "value": ["sparkle", "scratchLinear"] }, { "key": "imageFormat", "value": "image/png" } ] } ``` ```bash curl -X POST http://localhost:42042/v1/devices/12f1d7dd07ac42a088c8f961b39d68ff/measurement-triggers \ -H "Content-Type: application/json" \ -d '{ "measurementKey": "measure", "containerFormat": "raeBinary", "parameters": [ { "key": "metricGroupKeys", "value": ["sparkle", "scratchLinear"] } ] }' \ --output measurement.rae ``` #### Request Body | Field | Type | Required | Description | | --- | --- | --- | --- | | `measurementKey` | string | Yes | Identifier of the trigger to execute, as returned by `GET /v1/devices/{deviceId}/measurement-triggers`. | | `containerFormat` | string | Yes | Output container format. One of `raeBinary` or `raeJson`. | | `parameters` | array | No | Operation parameters, as `{ "key": "...", "value": ... }` entries. Parameter keys and value types depend on the device. | #### Container Formats | `containerFormat` | Response `Content-Type` | When to use | | --- | --- | --- | | `raeBinary` | `application/vnd.rhopoint.rae+binary` | Default. Compact, CBOR-encoded, GZip-compressed binary file. Recommended for storage and transfer. See [RAE File Format](rhopoint-elements-hub-rae-file-format.md). | | `raeJson` | `application/json` | Human-readable JSON representation of the same data. Easier to inspect from a browser or `curl`, but considerably larger. | > [!note] > The container always contains the full measurement tree: scalar metrics, hierarchical groups, attached images, and metadata. The choice between `raeBinary` and `raeJson` affects encoding only, not content. ### Image Encoding Device images embedded in the container are PNG-encoded by default. The optional `imageFormat` operation parameter on Aesthetix devices selects an alternative encoding: | `imageFormat` value | Encoding in the container | Container MIME type | | --- | --- | --- | | *(omitted)* or `image/png` | PNG | `image/png` | | `image/jpeg` | JPEG, quality 90 | `image/jpeg` | | `image/x-raw` | Original kernel bytes (16-byte header + pixel data) | `image/x-raw` | See [Measurement Image Formats](rhopoint-elements-hub-measurement-image-formats.md) for the binary layout of `image/x-raw`, parsing examples, and per-image notes (some images are cropped server-side before PNG/JPEG encoding; the raw payload is uncropped). ### Aesthetix Metric Groups For Aesthetix-family devices the `metricGroupKeys` parameter selects which metric groups participate in the measurement. Typical values include `sparkle`, `scratchLinear`, `scratchRadial`, `gloss`, `haze`, `cell`, `waviness`, `crossCut`, `shadeImages`. See [Aesthetix — Available Measurements](rhopoint-elements-hub-instruments-aesthetix.md#available-measurements) for the full list. Pass an empty array or omit the parameter to use the device's default selection. ### Decoding the Container Client-Side If you receive a binary RAE container and want to decode it without parsing the format yourself, the hub also exposes: ```http POST /v1/measurements/decode Content-Type: multipart/form-data ``` Upload a `.rae` file as form data and receive the parsed measurement components as JSON. Useful for testing and one-off decoding from environments where embedding a RAE parser is impractical. ### Best Practices - Call the `GET` endpoint once after connecting and cache the trigger metadata for the lifetime of the connection — the parameter list does not change while the device is connected. - Validate `parameters` against the metadata returned by `GET` to avoid runtime parameter errors. - For Aesthetix devices, restrict `metricGroupKeys` to the metrics you actually need. Each group adds processing time on the device side; an unrestricted measurement is several seconds slower than a single-group measurement. - Prefer `raeBinary` for any data that is going to be stored — the size difference compared to `raeJson` is significant for measurements that contain images. ### Error Cases | Condition | HTTP | Error Code | | --- | --- | --- | | Connected device not found | 404 | `E5` | | Unknown `measurementKey` | 404 | `E15` | | Unrecognised `containerFormat` | 400 | `E16` | | Invalid `imageFormat` value (Aesthetix) | 400 | `E42` | | Hardware error during measurement | 502 | device-class–specific (e.g. `E38`, `E39`, `E40`) | See [Error Handling](rhopoint-elements-hub-error-handling.md) for the response format. --- # System > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The system endpoints expose diagnostic information about the running Elements Hub instance and its host machine. They are useful during deployment, support sessions, and for verifying that a client's error-handling path works end-to-end. ### Endpoints Overview | Method | Endpoint | Description | | --- | --- | --- | | GET | `/v1/system/version` | Hub version and environment information | | GET | `/v1/system/checks` | Run the built-in host system checks | | POST | `/v1/system/errors/raise-exception` | Trigger a controlled error response (testing only) | ### Version ```http GET /v1/system/version ``` ```bash curl http://localhost:42042/v1/system/version ``` Returns the version of the running hub and which environment it was built for: ```json { "version": "1.7.0+abc1234", "environment": "release", "componentVersions": {} } ``` | Field | Type | Description | | --- | --- | --- | | `version` | string | Hub version including build metadata. | | `environment` | string | Build category (e.g. `release`, `debug`, `nightly`). | | `componentVersions` | object | Map of internal component → version. May be empty in production builds. | > [!note] > If `version` returns `"###version###"` and `environment` returns `"###category###"`, you are running a build whose version placeholders were not replaced — typically a developer build straight from source. Treat this as "unversioned" rather than a real release. ### System Checks ```http GET /v1/system/checks ``` ```bash curl http://localhost:42042/v1/system/checks ``` Runs a short series of host checks and returns the aggregated result: ```json { "passed": true, "runs": [ { "runIdentifier": 1, "status": "Passed", "details": "USB Controller Version 3" }, { "runIdentifier": 2, "status": "Passed", "details": "Minimum Memory" }, { "runIdentifier": 3, "status": "Passed", "details": "Free Memory" } ] } ``` #### Checks Performed | Check | Requirement | Severity | | --- | --- | --- | | **USB Controller Version 3** | At least one xHCI (USB 3.x) controller is present. | Error | | **Minimum Memory** | The host has at least 8 GB of installed RAM. | Error | | **Free Memory** | At least 2 GB of RAM is currently free. | Warning | `passed` reflects the aggregate: it is `true` only if every error-severity check passed. Warning-severity checks contribute to the per-run `status` but do not flip the top-level `passed` flag. #### When to Run the Checks - After installation, before connecting hardware for the first time. - When a support session starts — the output is small and pastes cleanly into a ticket. - As an automated readiness probe in container/VM deployments. ### Triggering a Controlled Error ```http POST /v1/system/errors/raise-exception?errorType=device ``` ```bash curl -X POST "http://localhost:42042/v1/system/errors/raise-exception?errorType=device" ``` Used to verify that a client correctly parses and reacts to [`ErrorInfo`](rhopoint-elements-hub-error-handling.md) responses. The endpoint deliberately fails with the chosen error category. | `errorType` | Triggers | | --- | --- | | `device` | A device-layer exception (`ErrorInfo` with `errorCode = E31`). | | `notfound` | An HTTP 404 (`ErrorInfo` with `errorCode = E31`). | | `unhandled` | An uncaught exception, exercising the global exception handler. | | anything else | HTTP 400 (`ErrorInfo` with `errorCode = E31`). | Use this in integration tests to ensure your client switches on `errorCode` and surfaces the `message` correctly. See [Error Handling](rhopoint-elements-hub-error-handling.md) for the full response format. > [!warning] > This endpoint exists exclusively for testing. Do not call it from production code paths. ### Best Practices - Cache the `version` response on the client; it does not change at runtime. - Run `/checks` once at start-up and surface failures to the operator before allowing measurements. Use it in CI to verify that test hosts meet the minimum requirements. - Pin client behaviour to `errorCode` values returned by the test endpoint — if you can handle `E31` correctly, the rest of the error surface tends to fall in line. --- # Instruments > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Elements Hub supports the following instrument families. Each page covers the connect-parameters, available measurements, calibrations, and any device-specific quirks. - [Aesthetix](rhopoint-elements-hub-instruments-aesthetix.md) — dual-camera appearance sensor (gloss, haze, sparkle, scratch, texture, waviness, …) - [Calibration](rhopoint-elements-hub-instruments-aesthetix-calibration.md) — white, black and height calibration of the Aesthetix - [ID Inline](rhopoint-elements-hub-instruments-id-inline.md) — inline inspection device (pass/fail metrics, linearisation, MTF) - [Aesthetix Inline](rhopoint-elements-hub-instruments-aesthetix-inline.md) — network-attached Aesthetix variant For development and CI without physical hardware, every class above has a `-mock` counterpart — see [Mock Devices](rhopoint-elements-hub-mock-devices.md). --- # ID Inline > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. This guide provides detailed information about working with ID Inline instruments using the Elements Hub API. If you do not want to use the REST API directly, consider generating the SDK library. See [Client Code Generation](rhopoint-elements-hub-client-code-generation.md) ### Device Workflow The typical workflow for using an ID Inline device follows these steps: 1. [Initialize lifecycle services](rhopoint-elements-hub-endpoints-functionality-lifecycle.md) 2. [Start a scan](rhopoint-elements-hub-endpoints-functionality-device-scans.md) with `deviceClass: id-inline` (or `id-inline-mock` for testing — see [Mock Devices](rhopoint-elements-hub-mock-devices.md)) 3. [Monitor available devices](rhopoint-elements-hub-endpoints-functionality-device-scans.md#polling-discovered-devices) 4. [Connect to the device](rhopoint-elements-hub-endpoints-functionality-connected-devices.md) using the discovered identifier 5. [Stop the scan](rhopoint-elements-hub-endpoints-functionality-device-scans.md#stopping-a-scan) 6. Calibrate / tare (measurementKey: `tare`) 7. [Measure](rhopoint-elements-hub-endpoints-functionality-measurement-triggers.md) (measurementKey: `measure`) 8. [Disconnect](rhopoint-elements-hub-endpoints-functionality-connected-devices.md#disconnecting-a-device) 9. [Shut down lifecycle services](rhopoint-elements-hub-endpoints-functionality-lifecycle.md) ### Complete Workflow Example #### Step 1: Lifecycle Initialize Before any device operations, initialize the Elements Hub services: ```http POST /v1/lifecycle/initialize Content-Type: application/json { "dataDirectory": "C:\\ProgramData\\ElementsHub\\Data", "logDirectory": "C:\\ProgramData\\ElementsHub\\Logs" } ``` #### Step 2: Scan for ID Inline Devices Start scanning for available ID Inline devices: ```http POST /v1/device-scans Content-Type: application/json { "deviceClass": "id-inline" } ``` **Response:** ```json { "identifier": "abc123def", "scanFilter": { "deviceClass": "id-inline", "serialNumberFilter": null, "ipAddressFilter": null }, "status": "scanning", "foundDevices": [] } ``` #### Step 3: Get Available Devices Retrieve the list of currently discovered devices: ```http GET /v1/available-devices Accept: application/json ``` The endpoint returns every device discovered by any active scan; there is no filter parameter. Filter client-side on `deviceClass` if you need to. **Response:** ```json [ { "discovered": "2042-11-07T12:22:14.9762102+00:00", "identifier": "abc123def", "deviceClass": "id-inline", "serialNumber": "12345", "serialNumbers": [ "12345" ], "hardwareVersion": "…", "firmwareVersion": "…", "softwareVersion": "…", "componentVersions": [] } ] ``` #### Step 4: Connect to Device Connect to a specific ID Inline device using its identifier: ```http POST /v1/devices Content-Type: application/json { "deviceIdentifier": "abc123def", "parameters": [ { "key": "flipX", "value": false }, { "key": "flipY", "value": false } ] } ``` **Connection Parameters:** | Parameter | Type | Description | Default | | --- | --- | --- | --- | | `flipX` | Boolean | Flip image horizontally | `false` | | `flipY` | Boolean | Flip image vertically | `false` | **Response:** ```json { "connectTime": "2042-11-07T12:25:45Z", "identifier": "abc123def", "deviceClass": "id-inline", "serialNumber": "12345", "serialNumbers": ["12345"], "hardwareVersion": "…", "firmwareVersion": "…", "softwareVersion": "…", "componentVersions": [] } ``` #### Step 5: Stop Scan Once connected, stop the device scan to free up resources. Use the **scan** identifier (returned by `POST /v1/device-scans` in Step 2), not the device identifier: ```http DELETE /v1/device-scans/ ``` The `foundDevices` array in the scan response contains the **identifiers** of every device discovered during the scan, not their serial numbers. #### Step 6: Calibrate Device (Tare) Before taking measurements, calibrate the device using the "tare" measurement trigger. This establishes a baseline reference for subsequent measurements: The tare functionality will be moved to the calibrations endpoint in a future release. ```http POST /v1/devices/idInline-ABC12345/measurement-triggers Content-Type: application/json { "measurementKey": "tare", "containerFormat": "raeJson" } ``` #### Step 7: Take Measurements Execute measurement operations using the "measure" trigger: ```http POST /v1/devices/abc123def/measurement-triggers Content-Type: application/json { "measurementKey": "measure", "containerFormat": "raeBinary", "parameters": [ { "key": "align", "value": true }, { "key": "expose", "value": true }, { "key": "includeAttachments", "value": true } ] } ``` The two container formats `raeBinary` and `raeJson` are available. **Measurement Parameters:** | Parameter | Type | Description | Default | | --- | --- | --- | --- | | `align` | Boolean | Perform automatic alignment before measurement | `true` | | `expose` | Boolean | Perform automatic exposure adjustment before measurement | `true` | | `includeAttachments` | Boolean | Include image data in the measurement result | `true` | #### Step 8: Disconnect from Device When finished with measurements, disconnect from the device: ```http DELETE /v1/devices/abc123def ``` #### Step 9: Lifecycle Shutdown When shutting down your application, properly shutdown the internal Elements Hub services: ```http POST /v1/lifecycle/shutdown ``` ### Image Acquisition Retrieve images from the ID Inline device: ```http GET /v1/devices/abc123def/images/camera Accept: image/png ``` --- # Aesthetix > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Rhopoint Aesthetix is a modular dual-camera–based sensor that captures detailed images of a surface under controlled lighting and derives a wide range of appearance metrics from them: gloss, haze, sparkle, scratches, texture, waviness, defects and more. It connects to the host PC over USB and is exposed to Elements Hub through the device class `aesthetix`. > [!note] > For the network-attached inline variant see [Aesthetix Inline](rhopoint-elements-hub-instruments-aesthetix-inline.md). Both variants share most of this guide, but the inline variant supports a reduced metric set and a single calibration type — the per-feature notes below call this out where it matters. ### Workflow Summary 1. [Initialize lifecycle services](rhopoint-elements-hub-endpoints-functionality-lifecycle.md) 2. [Start a scan](rhopoint-elements-hub-endpoints-functionality-device-scans.md) with `deviceClass: aesthetix` 3. [Connect to the discovered device](rhopoint-elements-hub-endpoints-functionality-connected-devices.md) 4. [Calibrate](rhopoint-elements-hub-instruments-aesthetix-calibration.md) (white → black → height) before the first measurement of the session 5. [Trigger measurements](rhopoint-elements-hub-endpoints-functionality-measurement-triggers.md) with the metric groups your workflow needs 6. [Disconnect](rhopoint-elements-hub-endpoints-functionality-connected-devices.md) and [shut down](rhopoint-elements-hub-endpoints-functionality-lifecycle.md) ### Connect Parameters Aesthetix devices accept no operation parameters on `POST /v1/devices`. Only the `deviceIdentifier` is required. ### Calibration The Aesthetix exposes three calibration types via the [calibration endpoints](rhopoint-elements-hub-endpoints-functionality-calibrations.md): | `calibrationKey` | Purpose | Parameters | | --- | --- | --- | | `white` | Reflectance + visual contrast reference, using the white standard | `reflectance` (0–1), `visualContrast` (0–1) | | `black` | Black specular **and** aspecular reference, using the black standard | `gloss` (GU) | | `height` | Height reference, using the texture standard | `height` (µm) | The Aesthetix Inline variant only exposes `black`. See [Calibration](rhopoint-elements-hub-instruments-aesthetix-calibration.md) for the recommended order, the physical setup for each target, and troubleshooting tips. ### Available Measurements The Aesthetix exposes one measurement trigger, `measure`, executed via [`POST /v1/devices/{deviceId}/measurement-triggers`](rhopoint-elements-hub-endpoints-functionality-measurement-triggers.md). Which metrics it actually computes is selected through the `metricGroupKeys` parameter — pass an array of the keys below: | Metric group key | What it produces | Notes | | --- | --- | --- | | `gloss` | Gloss value, visual gloss, gloss ROI, 3D gloss plot | Requires valid black calibration | | `fastGloss` | Faster, lower-fidelity gloss value | | | `haze` | Haze C, contrast haze, log-haze, MC-DOI, visual haze indoors/outside, haze ROIs | | | `visualContrast` | Visual contrast value | Requires valid white calibration | | `visualGloss` | Visual gloss value | Requires valid white/black calibration | | `visualHaze` | Visual haze value | | | `contrastHaze` | Contrast haze value | | | `sparkle` | Sparkle density, graininess, RGB, visibility / area / brightness / hue arrays, sparkle albedo image, 7 LED sparkle images, 7 LED sparkle overlays | | | `scratchLinear` | Scratch length, visibility, count, area, area-mean and length-mean for linear scratches; scratch image; horizontal and vertical overlays | | | `scratchRadial` | Same metrics as `scratchLinear` but for radial scratches | | | `cell` | Cell number, amplitude, size, std-dev, max/min, hill size, fill factor, texture R/Rc/Rv/Rh, roughness, watershed metrics, cell overlay, 3D texture plot | | | `roughness` | Surface roughness | | | `grit` | Grit metric | | | `waviness` | Waviness, PCI waviness, tension, waviness image | | | `pciWaviness` | PCI waviness value (subset of `waviness`) | | | `tension` | Tension value (subset of `waviness`) | | | `bloom` | Bloom metric | | | `crossCut` | Cross-cut class (ASTM, ISO), percent, image, full overlay, found overlay | Requires the cross-cut module | | `sharpness` | Sharpness metric | | | `spot` | Spot image | | | `shadeImages` | Six LED shade images | No metric values — image stack only | | `surface` | Surface RGB mean, surface image (cropped) | | The `metricGroupKeys` parameter accepts a list of these keys; pass only the groups you actually need. Each additional group adds processing time on the device side. ### Measurement Parameters In addition to `metricGroupKeys`, the `measure` trigger accepts: | Parameter | Type | Description | | --- | --- | --- | | `metricGroupKeys` | EnumArray | Selects which metric groups participate in the measurement. See table above. | | `includeAttachments` | Boolean | Whether to include attachments such as images in the result. Defaults to `true`. | | `imageFormat` | String | Image encoding inside the container: `image/png` (default), `image/jpeg`, or `image/x-raw`. See [Measurement Image Formats](rhopoint-elements-hub-measurement-image-formats.md). | ### Available Commands Beyond measurements and calibrations, the Aesthetix exposes one command via [the commands endpoint](rhopoint-elements-hub-endpoints-functionality-connected-devices.md): | Command identifier | Purpose | Parameters | | --- | --- | --- | | `updateCalibrationValues` | Update the stored calibration target values without performing a full calibration. Useful when only the target values for a known good calibration have changed. | `glossCalibrationTarget`, `visualContrastCalibrationTarget`, … (see `GET /commands`) | ### Image Output Device images embedded in a measurement container — surface, sparkle, scratch, cross-cut, cell, waviness, spot, shade — are PNG-encoded by default. Use the `imageFormat` parameter to request JPEG (smaller) or raw bytes (uncropped originals straight from the device kernel). See [Measurement Image Formats](rhopoint-elements-hub-measurement-image-formats.md) for the binary layout of `image/x-raw` and parsing examples in C++. ### Mock Variant For development and CI without physical hardware, the hub offers the device class `aesthetix-mock`. It exposes the same endpoints and parameter shapes but does not return real images or metric values. See [Mock Devices](rhopoint-elements-hub-mock-devices.md). --- # Calibration > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The Aesthetix is calibrated via the generic [calibration endpoints](rhopoint-elements-hub-endpoints-functionality-calibrations.md) — `GET/POST /v1/devices/{deviceId}/calibrations` and `GET /calibrations/status`. This page covers the Aesthetix-specific calibration types, what physical target each one needs, and the recommended order. ### Available Calibration Types | `calibrationKey` | Title | Physical target | Parameters | | --- | --- | --- | --- | | `white` | White Calibration | White calibration standard | `reflectance` (0–1), `visualContrast` (0–1) | | `black` | Black Calibration | Black calibration standard | `gloss` (GU) | | `height` | Height Calibration | Texture standard | `height` (µm) | Every calibration is valid for **two days** (recommended interval) and goes overdue after **seven days**. The hub tracks the timestamps per device serial number — see [`GET /calibrations/status`](rhopoint-elements-hub-endpoints-functionality-calibrations.md#getting-the-calibration-status). > [!note] > The Aesthetix Inline variant only exposes `black`. The `white` and `height` calibrations are not available there. ### Recommended Order Run the calibrations in this sequence the first time a device is calibrated, after a long idle period, or whenever the status endpoint reports `NotCalibrated` / `CalibrationOverdue`: 1. **Black** — establishes the optical zero for the specular and aspecular paths. 2. **White** — references the reflectance and visual-contrast scales against the white standard. 3. **Height** — references the height scale against the texture standard. White and height depend on a valid black calibration; running them first against an outdated black reference yields wrong scaling. The hub does not enforce this order, so the integrator's UI or workflow must. ### White Calibration Used to reference reflectance and visual-contrast measurements against the white calibration standard supplied with the instrument. ```http POST /v1/devices/{deviceId}/calibrations Content-Type: application/json { "calibrationKey": "white", "parameters": [ { "key": "reflectance", "value": 0.95 }, { "key": "visualContrast", "value": 0.92 } ] } ``` | Parameter | Unit | Notes | | --- | --- | --- | | `reflectance` | Fraction (`0.95` ≙ 95 %) | The reflectance value printed on the white standard. | | `visualContrast` | Fraction (`0.92` ≙ 92 %) | The visual-contrast value printed on the white standard. | **Before sending the request:** place the white standard over the measurement window with the white surface facing the optics. Hold the instrument steady — the device captures multiple frames during calibration. ### Black Calibration Establishes the optical zero. The Aesthetix performs both **specular** and **aspecular** black calibration in a single request; the Aesthetix Inline only performs specular. ```http POST /v1/devices/{deviceId}/calibrations Content-Type: application/json { "calibrationKey": "black", "parameters": [ { "key": "gloss", "value": 0.5 } ] } ``` | Parameter | Unit | Notes | | --- | --- | --- | | `gloss` | GU (Gloss Units) | The gloss value printed on the black standard. | **Before sending the request:** place the black standard over the measurement window with the black surface facing the optics. ### Height Calibration References the height (texture) scale against the texture standard. ```http POST /v1/devices/{deviceId}/calibrations Content-Type: application/json { "calibrationKey": "height", "parameters": [ { "key": "height", "value": 50.0 } ] } ``` | Parameter | Unit | Notes | | --- | --- | --- | | `height` | µm | The reference height of the texture standard, in micrometres. | **Before sending the request:** place the texture standard over the measurement window. Ensure it sits flat and centered. ### Verifying the Result After the call returns successfully, query the status to confirm the new timestamp: ```http GET /v1/devices/{deviceId}/calibrations/status ``` A freshly executed calibration moves to `CalibrationValid` and its `lastCalibrationTime` matches the request time (within network skew). If the status remains `NotCalibrated` after a successful response, the calibration parameter values were likely ignored — re-check the `key` names against `GET /v1/devices/{deviceId}/calibrations`. ### Troubleshooting | Symptom | Likely cause | Fix | | --- | --- | --- | | `E29 Calibration timeout` | The instrument disconnected during the calibration sequence. | Reconnect the device (re-scan + connect) and retry. | | Calibration succeeds but downstream measurements are clearly wrong | Wrong physical target was on the window, or the target values printed on the standard were entered with the wrong scale (e.g. `95` instead of `0.95`). | Re-calibrate with the correct target and verify `reflectance`/`visualContrast` are passed as fractions, not percentages. | | Status stays `NotCalibrated` after a 200 OK response | Parameter `key` was misspelled and ignored. | Read the accepted keys from `GET /v1/devices/{deviceId}/calibrations` and retry. | | Calibration takes longer than the HTTP client timeout | Default client timeouts (often 5–10 s) are too short for calibration. | Raise the per-request timeout to at least 30 s. | ### Error Cases | Condition | HTTP | Error Code | | --- | --- | --- | | Connected device not found | 404 | `E5` | | Unknown `calibrationKey` | 404 | `E28` | | Calibration timed out (likely hardware disconnect) | 502 | `E29` | See [Error Handling](rhopoint-elements-hub-error-handling.md) for the full response format. --- # Aesthetix Inline > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. This guide provides detailed information about working with Aesthetix Inline instruments using the Elements Hub API. ### Device Workflow The typical workflow for using an Aesthetix Inline device follows these steps: 1. [Initialize lifecycle services](rhopoint-elements-hub-endpoints-functionality-lifecycle.md) 2. [Start a scan](rhopoint-elements-hub-endpoints-functionality-device-scans.md) with `deviceClass: aesthetix-inline` 3. [Poll the list of available devices](rhopoint-elements-hub-endpoints-functionality-device-scans.md#polling-discovered-devices) until the target appears 4. [Connect to the instrument](rhopoint-elements-hub-endpoints-functionality-connected-devices.md) using the discovered identifier 5. *(Optional)* Stop the scan — for Aesthetix Inline it is acceptable to keep the scan running while working with the device 6. Calibrate (see [Calibration](rhopoint-elements-hub-instruments-aesthetix-calibration.md)) 7. [Trigger measurements](rhopoint-elements-hub-endpoints-functionality-measurement-triggers.md) 8. [Disconnect the device](rhopoint-elements-hub-endpoints-functionality-connected-devices.md) 9. [Shut down lifecycle services](rhopoint-elements-hub-endpoints-functionality-lifecycle.md) --- # RAA File Format > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The RAA file format is the archive companion of the [RAE File Format](rhopoint-elements-hub-rae-file-format.md): a standard **ZIP archive** that bundles multiple RAE files. It is used to export and transfer whole sets of measurements in a single file. ### Structure - An RAA file is a regular ZIP archive (PKZIP format) with the file extension `.raa`. Any standard ZIP library or archive tool can open it. - Each entry in the archive is a complete binary RAE file containing **one measurement**, named after the measurement's source identifier: `.rae`. - There is no manifest or index file — the archive entries themselves are the content. ``` example.raa (ZIP) ├── 0d9f4c1e-6a2b-4f43-9c1a-2f5e8d7b3a10.rae ├── 3b7e02aa-91c4-4d0f-8f6d-64c2a92f4b77.rae └── b1a4f6d2-3c8e-45b9-a0d7-9e5c31f8e2c4.rae ``` ### Parsing 1. **Open** the file with a ZIP library. 2. **Iterate** over the entries and read each one into memory. 3. **Parse** each entry as a binary RAE file (see [Decompression and parsing](rhopoint-elements-hub-rae-file-format-decompression-and-parsing.md)). > [!note] > The RAE-level `Compression` setting varies per entry: some writers store the entries uncompressed at the RAE level and let the ZIP compression do the work, others gzip the RAE payload as well. Always evaluate the `Compression` property of each entry's [File Header](rhopoint-elements-hub-rae-file-format-file-header.md) instead of assuming one or the other. ### Where RAA files are used - **Rhopoint Appearance Elements (AE)** exports and imports measurement collections as `.raa` files. - **PDF reports** generated by AE can carry the underlying measurement data as an embedded `.raa` attachment, so the original measurements can be re-imported from the report itself. ### MIME type There is no dedicated MIME type for RAA files; since the container is a plain ZIP archive, use `application/zip` when transferring RAA files over HTTP. --- # RAE File Format > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The RAE file format is an open and flexible format to transport any kind of measurement. It consists of three main parts: - The "magic string" at the beginning of the file for file identification. - The container properties (the file header) - The actual data. The data containers are RFC 8949 Concise Binary Object Representation (CBOR) encoded ([cbor.io](https://cbor.io/), [Wikipedia CBOR](https://en.wikipedia.org/wiki/CBOR)). \ CBOR is a compact, efficient binary serialization format, designed to be easily parsed and interoperable. It is ideal for transmitting structured data. \ There are a lot of free implementations for reading/writing CBOR for every widely used programming language like C#, C++, Java, or TypeScript: [https://cbor.io/impls.html](https://cbor.io/impls.html) ### File structure - [File Identification](rhopoint-elements-hub-rae-file-format-file-identification.md) — the magic string at the start of every RAE file - [MIME Type](rhopoint-elements-hub-rae-file-format-mime-type.md) — `application/vnd.rhopoint.rae+binary` - [File Header](rhopoint-elements-hub-rae-file-format-file-header.md) — CBOR-encoded `RaeBinaryFile` record - [Decompression and parsing](rhopoint-elements-hub-rae-file-format-decompression-and-parsing.md) — gzip and CBOR decoding steps ### Payload structure - [MeasurementComponentMetaTuple](rhopoint-elements-hub-rae-file-format-measurementcomponentmetatuple.md) — the payload: an array of meta/component tuples - [MeasurementComponent](rhopoint-elements-hub-rae-file-format-measurementcomponent.md) — the measurement tree: components, metadata, source - [Measurement Data Types](rhopoint-elements-hub-rae-file-format-measurement-data-types.md) — polymorphic data records: single values and files ### Related formats - [JSON Variant](rhopoint-elements-hub-rae-file-format-json-variant.md) — the same content as a plain JSON document (`application/vnd.rhopoint.rae+json`) - [RAA File Format](rhopoint-elements-hub-raa-file-format.md) — an archive (ZIP) bundling multiple RAE files --- # File Identification > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The RAE file format begins with a specific sequence of bytes to uniquely identify the file type and its version. This sequence is known as the magic string. The purpose of the magic string is to allow software tools to quickly recognize and validate the file format before attempting to process it. The magic string structure is as follows:\ `RAECBOR<0xFF>` ### Breakdown of the Magic String 1. **`RAE`**:\ A fixed three-character prefix that identifies the file as an RAE format file. 2. **Version Byte** (``):\ A single byte that specifies the version of the RAE format. This allows for future backward-compatible updates to the format. - The current version is `0x01`, indicating the initial version of the RAE format. 3. **`CBOR`**:\ A variable length string indicating that the file's data container uses the CBOR (Concise Binary Object Representation) encoding format. 4. **Terminator Byte** (`<0xFF>`):\ A single byte with the value `0xFF`, marking the end of the magic string and the start of the file header. This ensures unambiguous parsing and serves as a delimiter for file processing tools. ### Example An example of the magic string in a hexadecimal representation for the current version (`0x01`) would look like this:\ `52 41 45 01 43 42 4F 52 FF` - `52 41 45`: ASCII for "RAE". - `01`: Version byte (current version). - `43 42 4F 52`: ASCII for "CBOR". - `FF`: Terminator byte. This sequence is the first part of the file and ensures that any system or tool attempting to parse the file can quickly verify its format, version, and encoding type. --- # File Header > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The file header, encoded using the CBOR format, contains critical metadata about the RAE file and its content. The `RaeBinaryFile` is the root record for the RAE file format in its binary representation. It starts directly after the terminator byte of the magic string (see [File Identification](rhopoint-elements-hub-rae-file-format-file-identification.md)) and extends to the end of the file. ### Properties - **Format** (required):\ Identifies the data format contained within the file. For now, only `"MeasurementComponentMetaTuple[]"` is supported — an array of [MeasurementComponentMetaTuple](rhopoint-elements-hub-rae-file-format-measurementcomponentmetatuple.md) records. - **Version** (required):\ Indicates the version of the file format. The current version is `1`. - **Compression** (optional):\ Specifies the compression algorithm used for the `Data` byte array. If not set, it defaults to `"none"`. Currently, only `"gzip"` is supported. - **EncryptionAlgorithm** (optional):\ Specifies the encryption algorithm applied to the data (if any). Encryption is not implemented in the current version; files are written with `"none"`. - **HashAlgorithm** (optional):\ Describes the hashing algorithm used to validate data integrity. Currently `"sha256"`. - **Hash** (optional):\ A hash string used for data integrity checks. It is calculated over the `Data` byte array **as stored in the file** (i.e. after compression), using the algorithm specified in `HashAlgorithm`. - **DataContainer** (required):\ Indicates the encoding of the payload inside `Data` after decompression. Currently, this is always `"cbor"`. - **DataSize** (required):\ The size of the `Data` byte array in bytes. - **Data** (required):\ The actual measurement data stored as a byte array. The data is compressed using the specified compression algorithm (or left uncompressed if `Compression = "none"`) and contains a CBOR-encoded container matching the `Format`. > [!note] > In the CBOR encoding, the map keys are the property names in **lowerCamelCase**: `format`, `version`, `compression`, `encryptionAlgorithm`, `hashAlgorithm`, `hash`, `dataContainer`, `dataSize`, `data`. The `Data` byte array is stored as a CBOR byte string. ### Declaration ```csharp public record RaeBinaryFile { public required string Format { get; set; } public required int Version { get; set; } public string? Compression { get; set; } public string? EncryptionAlgorithm { get; set; } public string? HashAlgorithm { get; set; } public string? Hash { get; set; } public required string DataContainer { get; set; } public required int DataSize { get; set; } public required byte[] Data { get; set; } } ``` --- # Decompression and parsing > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The `Data` byte array of the [File Header](rhopoint-elements-hub-rae-file-format-file-header.md) may be compressed using the `gzip` algorithm. Once decompressed, it is a CBOR container holding a collection of [MeasurementComponentMetaTuple](rhopoint-elements-hub-rae-file-format-measurementcomponentmetatuple.md) objects. ### Steps to parse an RAE file 1. **Validate** the magic string and version byte at the start of the file (see [File Identification](rhopoint-elements-hub-rae-file-format-file-identification.md)) and skip past the `0xFF` terminator. 2. **Deserialize** the remainder of the file with a CBOR parser to obtain the `RaeBinaryFile` header record (see [File Header](rhopoint-elements-hub-rae-file-format-file-header.md)). 3. **Verify** the integrity of the `Data` byte array (optional): compute the hash specified by `HashAlgorithm` over the `Data` bytes as stored and compare it against `Hash`. 4. **Decompress** the `Data` byte array (if `Compression` is not `"none"`). 5. **Deserialize** the decompressed data using a CBOR parser. 6. **Interpret** the result based on the `Format` value. For now, this is always an array of [MeasurementComponentMetaTuple](rhopoint-elements-hub-rae-file-format-measurementcomponentmetatuple.md) maps. --- # MIME Type > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The MIME type for the RAE file format is:\ `application/vnd.rhopoint.rae+binary` A MIME (Multipurpose Internet Mail Extensions) type is a standardized way to describe the nature and format of a file's content. The assigned MIME type for the RAE file format indicates that it is a proprietary binary file created and managed by Rhopoint Instruments. Below is a breakdown of the MIME type components: 1. **`application`**:\ This denotes that the RAE file is an application-specific binary file rather than text or multimedia content. 2. **`vnd.rhopoint`**:\ The `vnd.` prefix specifies that this is a vendor-specific MIME type, followed by `rhopoint`, which identifies Rhopoint Instruments as the creator and maintainer of the format. 3. **`rae`**:\ This refers to the specific file format name, "RAE," associated with Rhopoint's measurement system. 4. **`+binary`**:\ The `+binary` suffix indicates that the file content is encoded in a binary format, as opposed to text-based formats like JSON or XML. ### Usage The MIME type `application/vnd.rhopoint.rae+binary` is critical for ensuring proper handling and identification of RAE files in various systems. It is used in the following scenarios: - **File Transfer**: To specify the file type during HTTP communication (e.g., as the `Content-Type` or `Accept` header in REST APIs). - **File Storage**: To associate the correct file type metadata with stored RAE files. - **File Parsing**: To ensure applications recognize and process RAE files with the appropriate decoders and parsers. By adhering to this MIME type, systems and software can reliably identify RAE files and process them correctly in accordance with Rhopoint's specifications. --- # MeasurementComponentMetaTuple > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. After decompression (see [Decompression and parsing](rhopoint-elements-hub-rae-file-format-decompression-and-parsing.md)), the payload of an RAE file is a **CBOR array**. Each element of the array is one `MeasurementComponentMetaTuple` — a pair of the searchable metadata (`Meta`) and the actual measurement tree (`Component`) of a single measurement. ```csharp public record MeasurementComponentMetaTuple { public required MeasurementMeta Meta { get; init; } public required MeasurementComponent Component { get; init; } } ``` In the CBOR encoding, each tuple is a map with two keys: | Key | Type | Description | |---|---|---| | `meta` | map | The `MeasurementMeta` record (see below) | | `component` | map | The root [MeasurementComponent](rhopoint-elements-hub-rae-file-format-measurementcomponent.md) of the measurement tree | ### Encoding rules These rules apply to the whole payload (tuples, components, and data records): - **Map keys** are the property names in **lowerCamelCase** (e.g. `MeasurementIdentifier` → `measurementIdentifier`). - **Unset properties** are written as CBOR `null`; parsers must treat `null` and a missing key the same way. - **Enum values** are written as lowerCamelCase strings (e.g. `Single` → `"single"`, `FileReference` → `"fileReference"`). - **Timestamps** are ISO 8601 round-trip strings in UTC (e.g. `"2026-07-07T12:34:56.7890123+00:00"`). - **Byte arrays** are CBOR byte strings. > [!note] > The [JSON Variant](rhopoint-elements-hub-rae-file-format-json-variant.md) of the RAE format uses different, abbreviated key names. The tables below list both. ### MeasurementMeta `MeasurementMeta` holds the descriptive, searchable metadata of a measurement. It is stored separately from the measurement tree so applications can list and filter measurements without loading the (potentially large) measurement data. | Property | CBOR key | JSON key | Type | Description | |---|---|---|---|---| | Identifier | `identifier` | `id` | string | Database identifier of the meta record. May be `null`; importers typically discard it and assign a new one. | | Version | `version` | `ver` | integer | Schema version of the record. Currently `2`. | | SourceIdentifier | `sourceIdentifier` | `srcId` | string | Identifier assigned by the system that produced the measurement (a GUID). Stable across export/import. | | MeasurementIdentifier | `measurementIdentifier` | `mId` | string | Identifier of the measurement component this meta record belongs to. | | ModuleIdentifier | `moduleIdentifier` | `modId` | string | Identifier of the software module that produced the measurement. | | MeasurementType | `measurementType` | `mType` | string (enum) | Type of the root component, see [MeasurementComponent](rhopoint-elements-hub-rae-file-format-measurementcomponent.md) for the list of values. | | Timestamp | `timestamp` | `time` | string (ISO 8601) | Time the measurement was stored. | | SourceTimestamp | `sourceTimestamp` | `srcTime` | string (ISO 8601) | Time the measurement was taken on the source device. | | Index | `index` | `index` | integer | Sequential index of the measurement. | | Name | `name` | `name` | string | Display name of the measurement. | | Project | `project` | `proj` | string | Project the measurement is assigned to. | | Batch | `batch` | `bat` | string | Batch the measurement is assigned to. | | Customer | `customer` | `cust` | string | Customer the measurement is assigned to. | | Comments | `comments` | `com` | string | Free-text comments. | | Tags | `tags` | `tag` | array of strings | User-defined tags. | | SearchableText | `searchableText` | `search` | string | Pre-built text used for full-text search. | ### Example (CBOR diagnostic notation) ``` [ { "meta": { "identifier": null, "version": 2, "sourceIdentifier": "0d9f4c1e-6a2b-4f43-9c1a-2f5e8d7b3a10", "measurementIdentifier": "0d9f4c1e-6a2b-4f43-9c1a-2f5e8d7b3a10", "moduleIdentifier": "surface-brilliance", "measurementType": "composite", "timestamp": "2026-07-07T12:34:56.7890123+00:00", "sourceTimestamp": "2026-07-07T12:34:55.1230000+00:00", "index": 42, "name": "Sample A", "project": "Door panels", "batch": "Batch 7", "customer": null, "comments": null, "tags": ["oem", "topcoat"], "searchableText": "Sample A Door panels Batch 7" }, "component": { ... } } ] ``` The structure of the `component` map is described in [MeasurementComponent](rhopoint-elements-hub-rae-file-format-measurementcomponent.md). --- # MeasurementComponent > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. A `MeasurementComponent` is a node in the measurement tree. A measurement is usually a **composite** root component that contains one child component per metric or image; child components can themselves contain further components, so arbitrary hierarchies are possible. ``` Measurement (composite) ├── Gloss 60° (single, data = 87.3) ├── DOI (single, data = 92.1) └── ledShadeImages (array) ├── ledShadeImages_0 (file, data = binary image) ├── ledShadeImages_1 (file, data = binary image) └── ... ``` ### Properties | Property | CBOR key | JSON key | Type | Description | |---|---|---|---|---| | Identifier | `identifier` | `id` | string | Database identifier. May be `null`; importers typically discard it and assign a new one. | | Version | `version` | `ver` | integer | Schema version of the record. Currently `2`. | | SourceIdentifier | `sourceIdentifier` | `srcId` | string | Identifier assigned by the system that produced the measurement. | | Type | `type` | `type` | string (enum) | **Required.** The component type, see below. | | Name | `name` | `name` | string | Name of the component (e.g. the metric name). | | Timestamp | `timestamp` | `time` | string (ISO 8601) | Time the component was stored. | | SourceTimestamp | `sourceTimestamp` | `srcTime` | string (ISO 8601) | Time the component was recorded on the source device. | | Data | `data` | `data` | map | The measurement value or file, see [Measurement Data Types](rhopoint-elements-hub-rae-file-format-measurement-data-types.md). `null` for pure grouping nodes. | | Metadata | `metadata` | `meta` | map | Additional metadata about the value, see below. | | Source | `source` | `src` | map | Information about where the measurement was taken, see below. | | Components | `components` | `comp` | array of maps | Child components (nested `MeasurementComponent` records). | | SourceSignature | `sourceSignature` | `srcSig` | string | Signature created by the source device (data authenticity). | | Signature | `signature` | `sig` | string | Signature of the record. | ### Component types The `type` value is one of the `MeasurementTypes` enum members (written in lowerCamelCase): | Value | Meaning | |---|---| | `single` | A single value; `data` holds the value. | | `composite` | A grouping node; the children live in `components`. | | `continuous` | A continuously recorded series of values. | | `graph` | Graph/curve data. | | `file` | A file embedded in the component; `data` is a `FileBinaryData` record. | | `fileReference` | A reference to a file stored elsewhere; `data` is a `FileReferenceData` record. | | `array` | An ordered collection of components of the same kind (e.g. an image stack). | ### Metadata The optional `metadata` map describes the value in `data`: | Property | CBOR key | JSON key | Type | Description | |---|---|---|---|---| | Unit | `unit` | `unit` | string | Unit of the value (e.g. `"GU"`). | | Accuracy | `accuracy` | `accuracy` | string | Accuracy of the value. | | Environment | `environment` | `env` | map | A nested `MeasurementComponent` describing environmental conditions (e.g. temperature) at the time of measurement. | ### Source The optional `source` map describes where the measurement was taken: | Property | CBOR key | JSON key | Type | Description | |---|---|---|---|---| | DeviceIdentifier | `deviceIdentifier` | `deviceId` | string | Identifier (e.g. serial number) of the measuring device. | | LocationName | `locationName` | `loc` | string | Human-readable location name. | | Latitude | `latitude` | `lat` | string | Geographic latitude. | | Longitude | `longitude` | `lon` | string | Geographic longitude. | ### Declaration ```csharp public record MeasurementComponent : Identifiable { public required MeasurementTypes Type { get; set; } public string? Name { get; set; } public DateTimeOffset? Timestamp { get; set; } public DateTimeOffset? SourceTimestamp { get; set; } public IMeasurementData? Data { get; set; } public IMetadata? Metadata { get; set; } public IMeasurementSource? Source { get; set; } public List? Components { get; set; } public string? SourceSignature { get; set; } public string? Signature { get; set; } } public enum MeasurementTypes { Single, Composite, Continuous, Graph, File, FileReference, Array } ``` --- # Measurement Data Types > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The `data` map of a [MeasurementComponent](rhopoint-elements-hub-rae-file-format-measurementcomponent.md) is **polymorphic**: depending on the component type it holds a single value, an embedded file, or a file reference. All variants share a common set of base keys. ### Base keys (all data records) | Property | CBOR key | JSON key | Type | Description | |---|---|---|---|---| | — | `class` | — | string | Type discriminator, see below. Only present in the binary (CBOR) encoding. | | ClassType | `classType` | `class` | string | Logical type of the record: `"SingleMeasurement"` or `"FileReference"`. | | Version | `version` | `ver` | integer | Schema version of the data record. Currently `1`. | | ValueType | `valueType` | `valueType` | string | .NET type name of the value, e.g. `"System.Double"`, `"System.Int32"`. | | SerializedValue | `serializedValue` | `value` | string | The value serialized as a JSON string, e.g. `"42.42"`. | | Value | `value` | — | any | The value encoded natively (number, string, map, …). Only present in the binary (CBOR) encoding. | > [!warning] > The key `class` means different things in the two encodings, and so does `value`: > - In the **binary (CBOR)** encoding, `class` is the type discriminator (the internal record name, e.g. `"SingleMeasurementDataGenericDto"`, `"FileReferenceDataGenericDto"` or `"FileBinaryDataGenericDto"`) and the logical type lives in `classType`. The native value lives in `value`, and the JSON-serialized copy in `serializedValue`. > - In the **[JSON Variant](rhopoint-elements-hub-rae-file-format-json-variant.md)**, `class` holds the logical type (`"SingleMeasurement"` / `"FileReference"`) and `value` holds the JSON-serialized value string. There is no separate discriminator or native value. When reading a binary RAE file, use `class` to select the concrete record type. To read the value itself you can usually use the native `value` directly; the reference implementation reconstructs it from `serializedValue` + `valueType`. ### SingleMeasurementData Used with `single` components. It adds no keys beyond the base keys — the measurement value lives in `value` / `serializedValue`. The value is typically a number, but any JSON-serializable type is allowed (`valueType` tells you what it is). Example (CBOR diagnostic notation): ``` { "class": "SingleMeasurementDataGenericDto", "classType": "SingleMeasurement", "version": 1, "valueType": "System.Double", "serializedValue": "87.3", "value": 87.3 } ``` ### FileReferenceData Used with `fileReference` components. It describes a file without embedding its content: | Property | CBOR key | JSON key | Type | Description | |---|---|---|---|---| | FileIdentifier | `fileIdentifier` | `fileId` | string | Identifier of the file. | | Filename | `filename` | `name` | string | Original file name. | | MimeType | `mimeType` | `type` | string | MIME type of the file content (e.g. `"image/png"`, `"image/x-raw"`). | | HashData | `hashData` | `hash` | map | Hash of the file content, see below. | | Metadata | `metadata` | `meta` | map | File metadata, see below. | The **HashData** map: | Property | CBOR key | JSON key | Type | Description | |---|---|---|---|---| | Algorithm | `algorithm` | `alg` | string (enum) | Hash algorithm. Currently `"sha256"`. | | Hash | `hash` | `hash` | string | The hash value. | The **FileMetadata** map: | Property | CBOR key | JSON key | Type | Description | |---|---|---|---|---| | Author | `author` | `author` | string | Author of the file. | | Created | `created` | `created` | string (ISO 8601) | Creation time of the file. | ### FileBinaryData Used with `file` components. It extends `FileReferenceData` by embedding the file content: | Property | CBOR key | JSON key | Type | Description | |---|---|---|---|---| | BinaryData | `binaryData` | `bin` | byte string | The raw file content. In the binary encoding this is a CBOR byte string; in the [JSON Variant](rhopoint-elements-hub-rae-file-format-json-variant.md) it is Base64-encoded. | Device images returned by Elements Hub use this record — see [Measurement Image Formats](rhopoint-elements-hub-measurement-image-formats.md) for the image encodings and how to decode the `image/x-raw` payload. Example (CBOR diagnostic notation, binary data shortened): ``` { "class": "FileBinaryDataGenericDto", "classType": "FileReference", "version": 1, "valueType": null, "serializedValue": null, "value": null, "fileIdentifier": "surfaceImage", "filename": "surfaceImage.png", "mimeType": "image/png", "hashData": null, "metadata": null, "binaryData": h'89504E470D0A1A0A...' } ``` --- # JSON Variant > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Besides the binary representation, the RAE format has a JSON representation with the MIME type:\ `application/vnd.rhopoint.rae+json` A JSON RAE document is a plain UTF-8 JSON text — it has **no magic string, no compression and no hash**. The root object is the `RaeJsonFile` record: | Key | Type | Description | |---|---|---| | `format` | string | Identifies the data format. Currently always `"MeasurementComponentMetaTuple[]"`. | | `version` | integer | Version of the file format. The current version is `1`. | | `dataContainer` | string | Encoding of the payload. Currently always `"json"`. | | `data` | array | The measurements, one object per [MeasurementComponentMetaTuple](rhopoint-elements-hub-rae-file-format-measurementcomponentmetatuple.md). | ### Differences to the binary encoding The payload objects have the same structure as in the binary encoding, but: - **Abbreviated keys** are used (e.g. `mId` instead of `measurementIdentifier`, `srcId` instead of `sourceIdentifier`). The tables in [MeasurementComponentMetaTuple](rhopoint-elements-hub-rae-file-format-measurementcomponentmetatuple.md), [MeasurementComponent](rhopoint-elements-hub-rae-file-format-measurementcomponent.md) and [Measurement Data Types](rhopoint-elements-hub-rae-file-format-measurement-data-types.md) list both key sets. - **Unset properties are omitted** instead of being written as `null`. - **Binary content** (e.g. embedded files) is Base64-encoded. - In data records, `class` holds the logical type (`"SingleMeasurement"` / `"FileReference"`) and `value` holds the JSON-serialized value string — see the note in [Measurement Data Types](rhopoint-elements-hub-rae-file-format-measurement-data-types.md). ### Example ```json { "format": "MeasurementComponentMetaTuple[]", "version": 1, "dataContainer": "json", "data": [ { "Meta": { "srcId": "0d9f4c1e-6a2b-4f43-9c1a-2f5e8d7b3a10", "mId": "0d9f4c1e-6a2b-4f43-9c1a-2f5e8d7b3a10", "mType": "composite", "time": "2026-07-07T12:34:56.7890123+00:00", "name": "Sample A", "ver": 2 }, "Component": { "type": "composite", "name": "Measurement", "comp": [ { "type": "single", "name": "Gloss 60°", "data": { "class": "SingleMeasurement", "ver": 1, "value": "87.3", "valueType": "System.Double" }, "meta": { "unit": "GU" }, "ver": 2 } ], "ver": 2 } } ] } ``` --- # Rhopoint Symmetron Rhopoint Symmetron ist ein kostenloses Diagnose-Werkzeug, das prüft, ob ein PC bereit ist, Rhopoint-Software und -Instrumente zu betreiben. Vor der Installation eines Rhopoint-Produkts überprüft Symmetron, ob der Host-PC die technischen Anforderungen erfüllt — Betriebssystem, Arbeitsspeicher, USB-3-Anschlüsse, Kameratreiber, Netzwerkverbindung und mehr. Nach der Installation hilft es dir und dem Rhopoint-Support, Probleme zu verstehen und zu beheben, indem es Diagnoseinformationen sammelt. Symmetron ist schnell installiert, hält sich selbst aktuell und verändert nie etwas am System ohne deine Zustimmung. Alle Prüfungen sind rein lesend. ![](../_images/symmetron-main-screen-de.png) ## Was du mit Symmetron tun kannst 1. [Symmetron installieren](rhopoint-symmetron-install-symmetron.md) — das Werkzeug herunterladen und ausführen. 2. [Kompatibilitätsprüfungen ausführen](rhopoint-symmetron-running-compatibility-checks.md) — dein Rhopoint-Produkt auswählen und prüfen, ob der PC dessen Anforderungen erfüllt. 3. [Konnektivität](rhopoint-symmetron-connectivity.md) — bestätigen, dass der PC die Rhopoint-Onlinedienste erreicht, und die Verbindungsgeschwindigkeit messen. 4. [Diagnose](rhopoint-symmetron-diagnose.md) — Logs, Absturzberichte und Ereignisanzeige-Einträge einer installierten Rhopoint-Anwendung sammeln. 5. [System-Info](rhopoint-symmetron-system-info.md) — eine detaillierte Übersicht über Hard- und Software des PCs anzeigen. 6. [Lizenzprüfung](rhopoint-symmetron-licence-check.md) — eine Rhopoint-Lizenz lokal prüfen und die Host-ID des PCs ablesen. 7. [Fernwartung](rhopoint-symmetron-remote-support.md) — einer Fernwartungssitzung mit einem Rhopoint-Techniker beitreten. 8. [MCP-Server](rhopoint-symmetron-mcp-server.md) — eine KI-Assistenz mit Symmetron verbinden, damit sie diesen PC prüfen und bei der Kompatibilitätsbewertung helfen kann. 9. [Diagnose an Rhopoint senden](rhopoint-symmetron-sending-diagnostics-to-rhopoint.md) — ein vollständiges Diagnosepaket mit einem Klick an den Rhopoint-Support senden. ## Unterstützte Rhopoint-Produkte Symmetron kann einen PC für jedes der folgenden Rhopoint-Produkte prüfen: - Appearance Elements + Aesthetix - Appearance Elements + TAMS - Appearance Elements + Optimap - Elements Hub + Aesthetix - Elements Hub + AIDO - COM Agent - AI Lab - IDTX Lab - Quick Report App > [!info] Symmetron ist ein eigenständiges Werkzeug. Es benötigt keine Lizenz und keine installierte Rhopoint-Software, um die Kompatibilitätsprüfungen auszuführen. --- # Konnektivität Die Registerkarte **Konnektivität** prüft, ob der PC die Rhopoint-Onlinedienste erreichen kann, und lässt dich die Geschwindigkeit der Internetverbindung messen. Das ist nützlich, wenn Software-Updates, Lizenzaktivierung oder Diagnose-Uploads nicht funktionieren. ![](../_images/symmetron-connectivity-de.png) ## Erreichbarkeit der Dienste Auf **Jetzt prüfen** klicken, um zu testen, ob dieser PC jeden der Rhopoint-Onlinedienste erreichen kann. ![](../_images/symmetron-service-reachability-de.png) Symmetron prüft die folgenden Dienste: | Dienst | Verwendet für | |---|---| | **Zeitdienst** | Prüfung der Systemuhr für Lizenz- und Anmeldeprüfungen | | **Diagnose-Upload** | Senden von Diagnosepaketen an den Rhopoint-Support | | **Speedtest-Server** | Den Geschwindigkeitstest auf dieser Registerkarte | | **Software-Downloads** | Herunterladen und Aktualisieren von Rhopoint-Software | | **Rhopoint-Website** | Allgemeiner Website-Zugriff | Jede Zeile zeigt einen von drei Zuständen, zusammen mit dem HTTP-Status und der Antwortzeit: | Anzeige | Bedeutung | |---|---| | **Grüner Haken** | Der Dienst hat normal geantwortet (HTTP 200). | | **Gelbe Warnung** | Der Dienst ist erreichbar, hat aber nicht wie erwartet geantwortet (zum Beispiel ein anderer HTTP-Status). Er ist online, aber möglicherweise ist etwas falsch konfiguriert. | | **Rotes Kreuz** | Der Dienst war überhaupt nicht erreichbar — der Grund wird angezeigt. | > [!info] Wird ein Dienst als nicht erreichbar angezeigt, sind die häufigsten Ursachen eine Unternehmens-Firewall, ein Proxyserver oder ein Webfilter, der die Adresse blockiert. Teile das Ergebnis deiner IT-Abteilung oder dem Rhopoint-Support mit. ## Geschwindigkeitstest Auf **Geschwindigkeitstest starten** klicken, um den Download- und Upload-Durchsatz der Verbindung gegen den Rhopoint-Speedtest-Server zu messen. ![](../_images/symmetron-speed-test-de.png) Das Ergebnis wird als zwei Kacheln angezeigt: 1. **Download** — wie schnell Daten empfangen werden können, in Mbit/s. 2. **Upload** — wie schnell Daten gesendet werden können, in Mbit/s. Das ist vor allem beim Hochladen von Diagnosepaketen wichtig. Jede Kachel zeigt außerdem die übertragene Datenmenge und die benötigte Zeit. --- # Diagnose Die Registerkarte **Diagnose** sammelt Informationen zur Fehlersuche aus einer Rhopoint-Anwendung, die bereits auf dem PC installiert ist. Wenn eine Anwendung abstürzt oder sich fehlerhaft verhält, ist dies der schnellste Weg, alles zu erfassen, was der Rhopoint-Support zur Untersuchung benötigt. ![](../_images/symmetron-diagnose-de.png) ## Anwendung auswählen Über das Auswahlmenü oben wählen, welche Anwendung diagnostiziert werden soll: 1. **Appearance Elements** — sammelt Appearance-Elements-Logs und zugehörige Ereignisse. 2. **Aesthetix Kernel** — sammelt Informationen über die Aesthetix-Messengine. 3. **Eigene Anwendung …** — auf **Durchsuchen …** klicken, um die ausführbare Datei (`.exe`) einer beliebigen anderen Anwendung auszuwählen. ![](../_images/symmetron-diagnose-application-selection-de.png) ## Diagnose sammeln Auf **Diagnose sammeln** klicken. Symmetron erfasst Folgendes, alles rein lesend: ![](../_images/symmetron-diagnose-results-de.png) - **Windows-Ereignisanzeige** — relevante Einträge der letzten 30 Tage. Auf *Alle Einträge anzeigen* klicken, um die vollständige Liste aufzuklappen. - **Anwendungs-Logs** — die von der gewählten Anwendung geschriebenen Logdateien, mit Größe und Datum. - **WER-Absturzberichte** — Einträge aus Windows-Fehlerberichterstattung, einschließlich Ausnahmecode und fehlerhaftem Modul, sofern verfügbar. ## Ergebnisse teilen Sobald die Informationen gesammelt wurden, erscheinen unten drei Aktionen: ![](../_images/symmetron-diagnose-actions-de.png) 1. **Als ZIP exportieren** — alles in einem ZIP-Archiv auf dem PC speichern, etwa um es an eine E-Mail anzuhängen. 2. **Zusammenfassung kopieren** — eine Textzusammenfassung in die Zwischenablage kopieren. 3. **An Rhopoint senden** — die gesammelte Diagnose direkt an den Rhopoint-Support senden. Siehe [Diagnose an Rhopoint senden](rhopoint-symmetron-sending-diagnostics-to-rhopoint.md). --- # Symmetron installieren Rhopoint Symmetron ist ein schlankes Diagnose-Werkzeug. Die Installation ist der empfohlene Weg, Symmetron zu nutzen: Das Installationsprogramm richtet die benötigten Abhängigkeiten ein und hält das Werkzeug automatisch aktuell. ## Herunterladen Lade die aktuelle Version von Symmetron unter [download.rhopointservice.net/symmetron](https://download.rhopointservice.net/symmetron) herunter. ## Installation 1. Das Symmetron-Installationsprogramm über den Link oben herunterladen. 2. Das Installationsprogramm doppelklicken und den Anweisungen auf dem Bildschirm folgen. 3. Symmetron über das Startmenü starten. ![](../_images/symmetron-installation.png) > [!info] Das Installationsprogramm richtet alle benötigten Abhängigkeiten ein und sucht automatisch im Hintergrund nach Updates und installiert sie — so läuft stets die neueste Diagnose mit allem, was sie braucht. ## Systemanforderungen Symmetron selbst hat sehr geringe Anforderungen: - **Betriebssystem:** Windows 10 (Build 19041 / 20H1) oder neuer - **CPU:** x64 - **Speicher:** Einige hundert MB freier Speicherplatz > [!info] Symmetron benötigt keine installierte Rhopoint-Software, um zu laufen. Es ist dafür gedacht, *vor* der Installation eines Rhopoint-Produkts verwendet zu werden. [Erste Kompatibilitätsprüfung ausführen](rhopoint-symmetron-running-compatibility-checks.md) --- # Lizenzprüfung Die Registerkarte **Lizenzprüfung** lässt dich eine Rhopoint-Lizenz auf diesem PC untersuchen — um zu bestätigen, dass sie gültig ist, zu sehen, was sie abdeckt, und wann sie abläuft. Die gesamte Verarbeitung erfolgt lokal. ![](../_images/symmetron-licence-check-de.png) > [!info] Die gesamte Verarbeitung erfolgt auf diesem Gerät. Lizenzschlüssel werden nirgendwohin gesendet. ## Eine Lizenz laden Es gibt mehrere Wege, eine Lizenz zu laden: 1. **Lizenz öffnen** — zu einer Rhopoint-Lizenzdatei navigieren und sie öffnen. 2. **Zwischenablage lesen** — eine in die Zwischenablage kopierte Lizenz einlesen. 3. **Diesen PC durchsuchen** — den PC automatisch nach installierten Rhopoint-Lizenzen durchsuchen. 4. **Ziehen und Ablegen** — eine Lizenzdatei an eine beliebige Stelle im Symmetron-Fenster ziehen. > [!info] Symmetron erkennt eine Lizenz auch automatisch, wenn du eine Lizenzdatei oder einen Lizenztext in die Zwischenablage kopierst, und wechselt für dich zu dieser Registerkarte. ## Ergebnis lesen Sobald eine Lizenz geladen ist, zeigt Symmetron, ob sie gültig ist, und listet ihre Details auf. ![](../_images/symmetron-valid-licence-de.png) Wird eine einzelne Lizenz geladen, wird sie direkt angezeigt; werden mehrere gefunden, kannst du eine aus der Liste auswählen und mit **Zurück zur Lizenzliste** zurückkehren. ## Host-ID Die Eingabekarte zeigt die **Host-ID dieses PCs** — die eindeutige Hardware-Kennung dieser Maschine. > [!info] Wenn du bei Rhopoint eine hostgebundene Lizenz anforderst, wirst du nach dieser Host-ID gefragt. Du kannst sie hier oder auf der Registerkarte [System-Info](rhopoint-symmetron-system-info.md) kopieren. --- # MCP-Server Die Registerkarte **MCP-Server** ermöglicht es einer KI-Assistenz, sich mit Symmetron zu verbinden und diesen PC für dich zu prüfen. Sobald der Server gestartet ist, kann eine KI-Assistenz — etwa Claude oder ein lokales Modell — die rein lesenden Diagnose-Werkzeuge von Symmetron nutzen, um die Maschine zu untersuchen und einzuschätzen, ob sie die Anforderungen eines Rhopoint-Produkts erfüllt, und was zu ändern ist, falls nicht. Dies ist eine optionale, fortgeschrittene Funktion für IT-Personal und Integrationspartner, die bereits eine KI-Assistenz einsetzen. Wenn du einen PC nur selbst prüfen möchtest, nutze stattdessen die Registerkarte [Checks](rhopoint-symmetron-running-compatibility-checks.md). ![](../_images/symmetron-mcp-server-de.png) Der Server ist **deaktiviert, bis du ihn startest**, ist nur auf diesem PC erreichbar und liest — wie der Rest von Symmetron — ausschließlich Informationen. Er verändert nie etwas an deiner Maschine. ## Den Server starten 1. Die Registerkarte **MCP-Server** öffnen. 2. Auf **Server starten** klicken. 3. Der Status wechselt zu **Läuft** und eine Server-Adresse erscheint, zum Beispiel `http://127.0.0.1:8787/mcp`. ![](../_images/symmetron-mcp-running-de.png) Zum Stoppen auf **Server stoppen** klicken. Der Server stoppt außerdem automatisch, wenn du Symmetron schließt, sowie nach einer Zeit der Inaktivität (siehe *Automatisch stoppen* unten). ## Deine KI-Assistenz verbinden Wähle deinen KI-Client unter **Client-Konfiguration**. Symmetron zeigt für jeden die exakte Konfiguration zum Kopieren an — einschließlich der aktuellen Adresse —, sodass du sie direkt in deinen Client einfügen kannst. | Client | Wie er sich verbindet | |---|---| | **Claude Code** | Eine einzelne Befehlszeile, mit der sich der Server hinzufügen lässt. | | **Claude Desktop** | Ein Schnipsel für `claude_desktop_config.json`. | | **Gemini CLI** | Ein Schnipsel für `~/.gemini/settings.json`. | | **Mistral Vibe** | Ein Schnipsel für `~/.vibe/config.toml`. | | **Ollama** | Ein Schnipsel für die MCPHost-Bridge (`~/.mcphost.json`), da Ollama kein eingebautes MCP besitzt. | > [!info] Der KI-Client muss auf **diesem selben PC** laufen, da der Server nur lokal erreichbar ist. Cloud-Assistenten wie ChatGPT oder Perplexity können ihn nicht erreichen und werden daher nicht unterstützt. ![](../_images/symmetron-mcp-clients-de.png) ## Was die KI-Assistenz sehen kann Solange der Server läuft, kann die Assistenz die folgenden rein lesenden Werkzeuge nutzen: | Fähigkeit | Was sie liefert | |---|---| | **Systeminformationen** | Betriebssystem, Prozessor, Speicher, Datenträger, Grafik und USB-Controller. | | **Kompatibilitätsprüfungen ausführen** | Führt die Prüfungen für ein gewähltes Rhopoint-Produkt aus und gibt jedes Ergebnis zurück. | | **Konnektivität** | Ob die Rhopoint-Onlinedienste von diesem PC aus erreichbar sind. | | **Installierte Lizenzen** | Die auf diesem PC installierten Rhopoint-Lizenzen, mit Ablauf und Gültigkeit. | | **Diagnosebericht** | Der vollständige Symmetron-Diagnosebericht für diesen PC. | | **Aktuelle Logs** | Die neuesten Einträge aus der Symmetron-Logdatei. | Es gibt außerdem eine geführte Anweisung **„assess compatibility"**, mit der die Assistenz eine vollständige Prüfung für ein bestimmtes Produkt durcharbeiten und die Probleme und Empfehlungen zusammenfassen kann. ## Datenschutz und Sicherheit Der Server ist auf Sicherheit ausgelegt, aber es lohnt sich zu verstehen, was er tut: - **Nur lesend.** Er liest ausschließlich Diagnoseinformationen und verändert diesen PC nie. - **Nur lokal.** Er ist nur von diesem PC aus erreichbar und hat kein Passwort. Solange er läuft, kann ihn jedes Programm auf diesem PC abfragen — starte ihn also nur, wenn du es beabsichtigst. - **Deine Daten gehen mit der Assistenz mit.** Informationen, die die KI liest — etwa Rechnername, Hardware-ID und installierte Lizenzen —, werden an den KI-Anbieter deines Clients weitergegeben, genau so, als hättest du sie selbst in diese Assistenz eingegeben. > [!info] Starte den Server nur, wenn eine KI-Assistenz diesen PC prüfen soll, und stoppe ihn danach wieder. Die Aktivitätsliste zeigt dir alles, was die Assistenz angefragt hat. ## Automatisch stoppen Damit der Server nie versehentlich weiterläuft, stoppt Symmetron ihn nach einer Zeit ohne Aktivität automatisch. Über das Menü **Automatisch stoppen bei Inaktivität** die Dauer wählen (5, 15, 30 oder 60 Minuten) oder auf **Aus** setzen, damit der Server läuft, bis du ihn selbst stoppst. Deine Wahl wird gespeichert. ## Verbindung testen Auf **Verbindung testen** klicken, um zu bestätigen, dass der laufende Server erreichbar ist und funktioniert. Symmetron prüft den Server aus der App heraus und meldet, wie viele Werkzeuge verfügbar sind — eine schnelle Möglichkeit sicherzustellen, dass alles eingerichtet ist, bevor du deine Assistenz verbindest. ## Aktivität Die Liste **Aktivität** zeigt jedes Server-Ereignis und jede Anfrage der Assistenz mit Zeitstempel — so siehst du jederzeit, was abgefragt wurde, während der Server lief. Auf **Leeren** klicken, um die Liste zu leeren. --- # Fernwartung Die Registerkarte **Fernwartung** ermöglicht es einem Rhopoint-Techniker, sich mit deinem PC zu verbinden, um dir direkt zu helfen. Du behältst die Kontrolle: Eine Fernwartungssitzung startet erst, wenn du die Sitzungsnummer eingibst, die dir der Techniker nennt. ![](../_images/symmetron-remote-support-de.png) ## Einer Sitzung beitreten 1. Den Rhopoint-Support kontaktieren. Der Techniker nennt dir eine **Sitzungsnummer** (zum Beispiel `894-135-7866`). 2. Die Sitzungsnummer in das Feld eingeben. 3. Auf **Verbinden** klicken. Symmetron öffnet die Fernwartungssitzung in deinem Browser, und der Techniker kann dann deinen Bildschirm sehen, um zu helfen. > [!info] Symmetron erkennt eine Sitzungsnummer auch automatisch, wenn du sie in die Zwischenablage kopierst, und füllt sie für dich ein. Ist die Nummer ungültig, bittet Symmetron dich, sie im Format `xxx-xxx-xxxx` erneut einzugeben. --- # Kompatibilitätsprüfungen ausführen Die Registerkarte **Checks** ist das Herzstück von Symmetron. Du wählst das Rhopoint-Produkt aus, das du einsetzen möchtest, und Symmetron führt eine Reihe rein lesender Prüfungen aus, um zu bestätigen, dass dieser PC alle technischen Anforderungen für dieses Produkt erfüllt. ## Produkt auswählen Beim Öffnen von Symmetron zeigt die Registerkarte „Checks" die Produktauswahl. Jede Kachel steht für ein Rhopoint-Produkt oder eine Produktkombination. ![](../_images/symmetron-checks-de.png) Auf die Kachel klicken, die zum geplanten Produkt passt. Symmetron startet sofort die Prüfungen für dieses Produkt. Verfügbare Produkte sind: 1. Appearance Elements + Aesthetix 2. Appearance Elements + TAMS 3. Appearance Elements + Optimap 4. Elements Hub + Aesthetix 5. Elements Hub + AIDO 6. COM Agent 7. AI Lab 8. IDTX Lab 9. Quick Report App > [!info] Jedes Produkt führt einen passenden Satz an Prüfungen aus. Ein Profil für Appearance Elements + Aesthetix prüft beispielsweise den Kameratreiber und die benötigten USB-3-Anschlüsse, während ein reines Netzwerkprodukt andere Dinge prüft. ## Ergebnisse lesen Während die Prüfungen laufen, erscheinen die Ergebnisse in der Liste **Ergebnisse** unter der Auswahl. Eine Übersichtsleiste oben zählt, wie viele Prüfungen bestanden haben, eine Warnung ausgelöst haben, fehlgeschlagen sind oder eine Information zurückgegeben haben. ![](../_images/symmetron-example-checks-de.png) Jede Ergebniszeile zeigt: 1. Ein Status-Symbol — Bestanden, Warnung, Fehler oder Information. 2. Den Namen der Prüfung (zum Beispiel *Betriebssystem*, *USB-3-Controller*, *Kameratreiber*). 3. Eine kurze Erläuterung sowie Details wie den gefundenen Wert. Die Ergebnisse sind so sortiert, dass die wichtigsten Befunde — Fehler und Warnungen — oben erscheinen. | Status | Bedeutung | |---|---| | **Bestanden** | Die Anforderung ist erfüllt. Keine Aktion nötig. | | **Warnung** | Der PC funktioniert wahrscheinlich, aber etwas ist nicht ideal und kann Probleme verursachen. | | **Fehler** | Eine Anforderung ist nicht erfüllt. Das Produkt wird voraussichtlich nicht funktionieren, bis dies behoben ist. | | **Information** | Hintergrundinformation, weder bestanden noch fehlgeschlagen. | ![](../_images/symmetron-check-warning-example-de.png) ## Prüfungen erneut ausführen Nachdem etwas am PC geändert wurde — etwa nach dem Anschließen eines Geräts, dem Installieren eines Treibers oder dem Freigeben von Speicher — lassen sich die Prüfungen erneut ausführen. - In der Übersichtsleiste auf **Ändern** klicken, um ein anderes Produkt zu wählen, oder - auf **Erneut ausführen** klicken, um die Prüfungen desselben Produkts noch einmal auszuführen. ![](../_images/symmetron-check-profile-actions-de.png) ## Ergebnisse an Rhopoint senden Wenn eine Prüfung fehlschlägt und du Hilfe möchtest, unter den Ergebnissen auf **An Rhopoint senden** klicken, um den Prüfbericht an den Rhopoint-Support weiterzuleiten. Einzelheiten unter [Diagnose an Rhopoint senden](rhopoint-symmetron-sending-diagnostics-to-rhopoint.md). > [!info] Erscheint die Meldung *„Keine Prüfungen für dieses Profil auf der aktuellen Plattform"*, wird das gewählte Produkt vom Betriebssystem dieses PCs nicht unterstützt. --- # Diagnose an Rhopoint senden Egal auf welcher Registerkarte du dich befindest — Symmetron kann alles, was es über den PC weiß, in einem einzigen Diagnosepaket bündeln und an den Rhopoint-Support senden. So erhält das Support-Team das vollständige Bild in einem Schritt. ## Aktionen in der Kopfzeile Die Schaltflächen oben rechts im Fenster sind auf jeder Registerkarte verfügbar: ![](../_images/symmetron-diagnostics-save-log-actions-de.png) 1. **Diagnose senden** — erstellt ein vollständiges Diagnosepaket (Systeminformationen, die neuesten Prüfergebnisse, installierte Lizenzen, Konnektivität und das Anwendungs-Log) und öffnet den Sende-Dialog. 2. **Speichern** — erstellt dasselbe Paket, speichert es aber als ZIP-Datei auf dem PC, etwa um es selbst an eine E-Mail anzuhängen. 3. **Handbuch** — öffnet das Symmetron-Handbuch im Webbrowser. ## Der Sende-Dialog Wenn du etwas an Rhopoint senden möchtest — aus der Kopfzeile, aus den Ergebnissen der [Checks](rhopoint-symmetron-running-compatibility-checks.md) oder von der Registerkarte [Diagnose](rhopoint-symmetron-diagnose.md) —, erscheint derselbe Dialog. ![](../_images/symmetron-send-diagnostics-dialog-de.png) Auszufüllen: 1. **Name** *(erforderlich)* — dein Name. 2. **E-Mail** *(erforderlich)* — deine E-Mail-Adresse, damit Rhopoint antworten kann. 3. **Kommentar** — eine kurze Beschreibung des Problems oder dessen, was du sendest. Die im Paket enthaltenen Anhänge sind unten aufgelistet. Auf **An Rhopoint senden** klicken, um hochzuladen. ![](../_images/symmetron-report-sent-de.png) Bei erfolgreichem Upload zeigt Symmetron eine **Referenznummer** an. Nenne diese Nummer bei jeder Rückfrage an den Rhopoint-Support, damit dein Bericht schnell gefunden werden kann. > [!info] Dein Name und deine E-Mail werden für das nächste Mal gespeichert. Der Kommentar und die Anhänge werden nur gesendet, wenn du auf **An Rhopoint senden** klickst. --- # System-Info Die Registerkarte **System-Info** zeigt eine detaillierte, rein lesende Übersicht über Hard- und Software des PCs. Sie ist eine schnelle Möglichkeit, die Spezifikation der Maschine festzuhalten, wenn ein Problem gemeldet oder eine Konfiguration bestätigt werden soll. ![](../_images/symmetron-system-info-de.png) ## Angezeigte Informationen Die Informationen sind in Karten gruppiert: | Karte | Inhalt | |---|---| | **System** | Betriebssystem und Build, Rechnername, aktueller Benutzer, Hersteller/Modell, Domäne oder Arbeitsgruppe, Laufzeit und die Hardware-ID (Host-ID) des PCs. | | **Prozessor & Speicher** | Prozessormodell, Kern- und Thread-Anzahl, Taktrate sowie gesamter/freier Arbeitsspeicher. | | **Grafik** | Installierte Grafikadapter und ihre Treiberversionen. | | **Speicher** | Feste Laufwerke mit freiem und gesamtem Speicherplatz. | | **USB-Controller** | Die im PC vorhandenen USB-Controller. | | **Laufzeitumgebung** | Die Software-Laufzeitumgebung. | ![](../_images/symmetron-system-info-details-de.png) ## Aktualisieren und kopieren - **Aktualisieren** — die Systeminformationen erneut einlesen (nützlich nach einer Hardware-Änderung). - **Alles kopieren** — die gesamte Systemübersicht in die Zwischenablage kopieren, bereit zum Einfügen in eine E-Mail oder ein Support-Ticket. ![](../_images/symmetron-system-info-actions-de.png) > [!info] Die **Hardware-ID (Host-ID)** identifiziert diesen PC eindeutig und ist derselbe Wert, der beim Ausstellen einer hostgebundenen Rhopoint-Lizenz verwendet wird. Siehe [Lizenzprüfung](rhopoint-symmetron-licence-check.md). --- # Rhopoint COM Agent Rhopoint COM Agent ist eine Windows-Anwendung, die Messdaten erfasst, die Rhopoint-Instrumente — etwa das FT3-Schichtdickenmessgerät — über eine serielle (COM-)Verbindung senden, und sie in etwas Nutzbares verwandelt: strukturierte Dateien auf der Festplatte oder Werte, die direkt in ein anderes Programm getippt werden. Sobald das Instrument ein Ergebnis ausgibt, liest COM Agent es ein, erkennt das Datenformat und schreibt es im gewählten Format heraus: als rohe **TXT**-Datei, als strukturierte **CSV**-Datei oder durch **Tastatur-Emulation**, sodass die Werte direkt im aktuell fokussierten Feld erscheinen (einer Tabellenzelle, einer QA-Datenbank, einem ERP-Formular …). ![](../_images/com-agent-main-screen-de.png) ## Was du mit COM Agent tun kannst 1. [COM Agent installieren](rhopoint-com-agent-install-com-agent.md) — Anwendung herunterladen, installieren und starten. 2. [Instrument verbinden](rhopoint-com-agent-connecting-an-instrument.md) — COM-Port und Baudrate wählen und prüfen, dass Daten ankommen. 3. [Ausgabeformate](rhopoint-com-agent-output-formats.md) — jede Messung in TXT- und/oder CSV-Dateien schreiben. 4. [Tastatur-Emulation](rhopoint-com-agent-keyboard-emulation.md) — gemessene Werte direkt in ein anderes Programm tippen, mit konfigurierbaren Trennzeichen. 5. [Messungen erfassen](rhopoint-com-agent-capturing-measurements.md) — Erfassung starten und stoppen und die Live-Aktivität verfolgen. 6. [Demo-Modus](rhopoint-com-agent-demo-mode.md) — die Anwendung ohne angeschlossenes Instrument ausprobieren. 7. [Lizenzierung](rhopoint-com-agent-licensing.md) — die Live-Erfassung durch Hinzufügen einer Lizenz freischalten; der Demo-Modus funktioniert immer ohne. 8. [Einstellungen und Sprache](rhopoint-com-agent-settings-and-language.md) — deine Konfiguration wird gespeichert, und die Oberfläche ist in dreizehn Sprachen verfügbar. 9. [Start über die Befehlszeile](rhopoint-com-agent-command-line-launch.md) — vorkonfiguriert starten und automatisch erfassen (für die Automatisierung). 10. [COM Agent aktualisieren](rhopoint-com-agent-updating-com-agent.md) — die Anwendung aktuell halten. ## Unterstützte Instrumente COM Agent liest die serielle Ausgabe von Rhopoint-Instrumenten, darunter: - **FT3** Schichtdickenmessgerät > [!info] COM Agent bietet derzeit vollständiges strukturiertes (CSV-)Parsing für das FT3-Schichtdickenformat *„print all samples"*. Andere Instrumente werden als Rohtext erfasst; strukturiertes Parsing wird ergänzt, sobald Beispieldaten verfügbar sind. Tastatur- und TXT-Ausgabe funktionieren für jedes Instrument. > [!info] COM Agent läuft nur unter Windows. Es wird als eigenständige Anwendung ausgeliefert — eine separate .NET-Installation ist nicht erforderlich — und hält sich automatisch aktuell. --- # COM Agent installieren Rhopoint COM Agent ist eine schlanke Windows-Anwendung. Das Installationsprogramm richtet alles Nötige ein und hält die Anwendung automatisch aktuell. ## Download Lade die aktuelle Version von COM Agent unter [download.rhopointservice.net/com-agent](https://download.rhopointservice.net/com-agent) herunter. ## Installation 1. Lade das COM-Agent-Installationsprogramm über den Link oben herunter. 2. Doppelklicke auf das Installationsprogramm und folge den Anweisungen am Bildschirm. 3. Starte **Rhopoint COM Agent** über das Startmenü. > [!info] COM Agent ist eigenständig — es ist keine separate .NET-Laufzeitinstallation erforderlich. Das Installationsprogramm prüft außerdem im Hintergrund automatisch auf Updates und installiert sie, sodass du stets die aktuelle Version nutzt. ## Systemvoraussetzungen - **Betriebssystem:** Windows 10 (Build 19041 / 20H1) oder neuer - **CPU:** x64 oder ARM64 - **Ein freier serieller (COM-)Port** — entweder ein integrierter Port oder ein USB-zu-Seriell-Adapter — um dein Instrument anzuschließen. Manche Instrumente benötigen ein spezielles Kabel (siehe [Übersicht](rhopoint-com-agent.md)). ## Erster Start Wenn COM Agent startet, ist das Hauptfenster in zwei Bereiche geteilt: - **Links** die Konfiguration: Verbindungseinstellungen und Ausgabeoptionen. - **Rechts** die Live-Aktivität: Status, Anzahl der empfangenen Messungen, die letzte Messung und ein Aktivitätsprotokoll. Die Schaltfläche **Start / Stopp** befindet sich oben rechts, über dem Messungszähler, und ist immer sichtbar. ![](../_images/com-agent-main-screen-de.png) [Weiter: Instrument verbinden](rhopoint-com-agent-connecting-an-instrument.md) --- # Instrument verbinden Im **Live**-Modus liest COM Agent Messdaten direkt von einem Instrument über eine serielle (COM-)Verbindung. ![](../_images/com-agent-connection-de.png) ## 1. Hardware anschließen 1. Verbinde das Instrument über sein serielles Kabel oder einen USB-zu-Seriell-Adapter mit dem PC. Manche Instrumente (CBT1.2, NovoHaze TX) benötigen ein spezielles Kabel — siehe [Übersicht](rhopoint-com-agent.md). 2. Schalte das Instrument ein. ## 2. Verbindungseinstellungen wählen Im Bereich **Verbindung** links: | Einstellung | Beschreibung | | --- | --- | | **Modus** | Auf **Live** setzen, um von einem seriellen Port zu lesen. (Mit **Demo** lässt sich die App ohne Hardware ausprobieren — siehe [Demo-Modus](rhopoint-com-agent-demo-mode.md).) | | **COM-Port** | Wähle den Port, an dem dein Instrument angeschlossen ist. Klicke auf die **Aktualisieren**-Schaltfläche, um nach dem Einstecken eines Adapters erneut nach Ports zu suchen. | | **Baudrate** | Die serielle Geschwindigkeit. Der Standard für Rhopoint-Instrumente ist **19200**. | | **Teil-Markierung** | Das Zeichen, das das Instrument zur Kennzeichnung jedes Teils eines vollständigen Datensatzes ausgibt. Standard ist **^**. | | **Teil-Anzahl** | Wie viele Teil-Markierungen einen vollständigen Datensatz ergeben. Standard ist **4**. | > [!info] **Teil-Markierung** und **Teil-Anzahl** teilen COM Agent mit, wann eine Messung vollständig ist. Ein Datensatz wird erst geschrieben, wenn die erwartete Anzahl an Markierungen empfangen wurde und die Zeile endet — so werden halb empfangene Messungen nicht gespeichert. Die Standardwerte passen zu Rhopoint-Instrumenten; ändere sie nur auf Anweisung des Rhopoint-Supports. ## 3. Wählen, was mit den Daten geschehen soll Lege fest, wie jede Messung gespeichert oder weitergegeben werden soll: - Dateien schreiben — siehe [Ausgabeformate](rhopoint-com-agent-output-formats.md). - Werte in ein anderes Programm tippen — siehe [Tastatur-Emulation](rhopoint-com-agent-keyboard-emulation.md). Du kannst diese kombinieren (zum Beispiel eine CSV-Datei schreiben *und* den Mittelwert in eine Tabelle tippen). ## 4. Erfassung starten Drücke **Start** (oben rechts) und führe eine Messung am Instrument durch. Das Aktivitätsprotokoll rechts bestätigt, dass Daten ankommen. Siehe [Messungen erfassen](rhopoint-com-agent-capturing-measurements.md) für Details. > [!warning] Lässt sich der gewählte COM-Port nicht öffnen (zum Beispiel, weil ihn bereits ein anderes Programm verwendet), zeigt COM Agent einen Fehler. Schließe das andere Programm oder wähle einen anderen Port und versuche es erneut. [Weiter: Ausgabeformat wählen](rhopoint-com-agent-output-formats.md) --- # Ausgabeformate COM Agent kann jede abgeschlossene Messung in eine Datei schreiben. Wähle einen **Ausgabeordner** und aktiviere ein oder mehrere **Ausgabeformate**. Die Formate lassen sich beliebig kombinieren. ![](../_images/com-agent-output-formats-de.png) ## Ausgabeordner Klicke neben *Ausgabeordner* auf **Durchsuchen…** und wähle, wohin die Dateien geschrieben werden sollen. Jede Messung erzeugt eine neue Datei mit einem eindeutigen, mit Zeitstempel versehenen Namen, sodass nie etwas überschrieben wird: ``` 2025-10-11T11-03-56Z-00007-3f9c1a2b-….csv ``` Der Name enthält den UTC-Zeitstempel, einen laufenden Zähler und eine eindeutige Kennung. ## Formate | Format | Was es erzeugt | | --- | --- | | **Textdatei (.txt)** | Die Rohdaten genau wie vom Instrument empfangen, ohne Verarbeitung. Funktioniert für jedes Instrument. | | **CSV-Datei (.csv)** | Eine strukturierte Tabellendatei mit benannten Spalten und metrischen Einheiten. Erfordert ein erkanntes Datenformat (derzeit das FT3-Schichtdickenformat *„print all samples"*). | | **Tastatur-Emulation** | Tippt die Werte in ein anderes Programm, statt eine Datei zu schreiben — siehe [Tastatur-Emulation](rhopoint-com-agent-keyboard-emulation.md). | > [!info] Du kannst mehrere Formate gleichzeitig nutzen. Aktiviere zum Beispiel **Text** und **CSV**, um ein Roharchiv neben einer strukturierten Datei zu behalten, oder **CSV** und **Tastatur**, um die Daten abzulegen *und* einen Wert in dein QA-System zu tippen. ## CSV-Exportoptionen ![](../_images/com-agent-csv-options-de.png) Wenn **CSV** aktiviert ist, erscheint ein Bereich **CSV-Optionen** mit vier Einstellungen, die steuern, wie die Datei geschrieben wird. COM Agent wählt sinnvolle Standardwerte anhand deiner Sprache und Region, sodass du sie in den meisten Fällen unverändert lassen kannst. | Option | Auswahl | Wirkung | | --- | --- | --- | | **Trennzeichen** | Komma "," · Semikolon ";" · Tabulator "→" | Das Zeichen zwischen den Spalten. | | **Zeitformat** | ISO 8601, UTC · ISO 8601, lokal | Format der Spalte *Timestamp*: UTC (z. B. `2025-10-11T11:03:56Z`) oder lokale Zeit mit Offset (z. B. `2025-10-11T13:03:56+02:00`). | | **Dezimaltrennzeichen** | Punkt "." · Komma "," | Das Dezimalzeichen für numerische Werte. Datumsangaben und Kennungen werden nie verändert. | | **Dateikodierung** | UTF-8 · UTF-8 mit BOM | Ob am Dateianfang eine Byte-Order-Mark geschrieben wird. Eine BOM hilft einigen Tabellenprogrammen (zum Beispiel Excel), UTF-8 zu erkennen und die µm-Überschriften korrekt anzuzeigen. | > [!tip] **Trennzeichen** und **Dezimaltrennzeichen** richten sich standardmäßig nach der Konvention deiner Region: Regionen, die Listenwerte mit einem Semikolon trennen (der Großteil Europas), starten mit **Semikolon + Komma-Dezimal**, andere (zum Beispiel Englisch) mit **Komma + Punkt-Dezimal**. So lässt sich die Datei per Doppelklick sauber in deinem lokalen Tabellenprogramm öffnen. Sobald du eine Einstellung änderst, wird deine Auswahl gemerkt. ## CSV-Struktur Für das FT3-Schichtdickenformat erzeugt COM Agent eine Zeile pro Einzelmessung, zusammen mit den zusammenfassenden Statistiken und den Instrument-Metadaten. Einheiten werden in Mikrometer (µm) angegeben. | Spalte | Beispiel | Bedeutung | | --- | --- | --- | | Index | 1 | Probennummer innerhalb des Satzes | | Measurement (µm) | 1090.9 | Der einzelne Messwert | | Min (µm) | 1088.4 | Minimum des Satzes | | Max (µm) | 1090.9 | Maximum des Satzes | | Mean (µm) | 1089.4 | Mittelwert des Satzes | | StdDev (µm) | 0.990 | Standardabweichung des Satzes | | Template | 10 | Das Datenformat des Instruments | | Device_ID | FTG38041012H | Seriennummer / ID des Instruments | | Test_Date | 2025-10-07 | Prüfdatum (ISO 8601) | | Calibration_Date | 2025-10-11 | Datum der letzten Kalibrierung | | Test_Time | 11:03:56 | Prüfzeitpunkt | | Sample_Count | 5 | Anzahl der Proben im Satz | | Timestamp | 2025-10-11T11:03:56Z | Wann COM Agent den Satz empfangen hat, im gewählten *Zeitformat* | > [!info] Die geräteeigenen Werte *Test_Date* / *Test_Time* stammen von der Geräteuhr und haben keine Zeitzone. Die Spalte **Timestamp** ist der Zeitpunkt, zu dem dein PC den Satz empfangen hat, und folgt daher der Option *Zeitformat* (UTC oder lokal). > [!info] Empfängt COM Agent Daten, die nicht als strukturiertes Format erkannt werden, wird die CSV-Datei für diese Messung übersprungen und ein Hinweis erscheint im Aktivitätsprotokoll. Die rohe **TXT**-Ausgabe (sofern aktiviert) wird unabhängig vom Format immer geschrieben. [Weiter: Werte in ein anderes Programm tippen](rhopoint-com-agent-keyboard-emulation.md) --- # Tastatur-Emulation Die Tastatur-Emulation lässt COM Agent **gemessene Werte direkt in ein anderes Programm tippen** — genau so, als hättest du sie auf der Tastatur eingegeben. Das ist ideal, um Messwerte in eine Tabelle, eine QA-Datenbank, eine ERP-Maske oder eine beliebige andere Anwendung einzugeben, ohne zu kopieren und einzufügen. Wenn eine Messung abgeschlossen ist, tippt COM Agent die gewählten Werte in **das Fenster und Feld, das gerade den Tastaturfokus hat**. ![](../_images/com-agent-keyboard-options-de.png) ## Aktivieren Aktiviere unter [Ausgabeformate](rhopoint-com-agent-output-formats.md) **Tastatur-Emulation**. Darunter erscheinen die **Tastatur-Optionen**. ## Werte Aktiviere einen oder mehrere zu tippende Werte. **Mittelwert** ist standardmäßig ausgewählt. | Wert | Tippt | | --- | --- | | **Mittelwert** | Den Mittelwert des Messsatzes | | **Minimum** | Den kleinsten Messwert | | **Maximum** | Den größten Messwert | | **Std.-Abw.** | Die Standardabweichung | | **Messwerte** | Jeden einzelnen Messwert | | **Rohdaten** | Die vollständigen Rohdaten wie vom Instrument empfangen | Sind mehrere Werte ausgewählt, werden sie in der angezeigten Reihenfolge getippt, jeweils getrennt durch das gewählte **Trennzeichen**. ## Trennzeichen und Suffix | Option | Zweck | | --- | --- | | **Trennzeichen** | Die Taste, die *zwischen* den Werten (und zwischen einzelnen Messwerten) gedrückt wird. Wähle **Tabulator**, **Eingabe** oder **Keine**. | | **Suffix** | Die Taste, die *nach dem letzten* Wert gedrückt wird. Wähle **Tabulator**, **Eingabe** oder **Keine**. | > [!info] Verwende **Tabulator**, um zur nächsten Zelle oder zum nächsten Feld zu springen, oder **Eingabe**, um eine Eingabe zu bestätigen / in die nächste Zeile zu wechseln. Beispiel: *Trennzeichen = Tabulator* und *Suffix = Eingabe* füllt eine Zellenzeile und springt dann in die nächste Zeile — perfekt für Tabellen. ## Dezimaltrennzeichen Stelle das **Dezimaltrennzeichen** passend zum Zielprogramm ein — typischerweise ein Punkt (`.`) für englische Gebietsschemata oder ein Komma (`,`) für deutsche/französische Gebietsschemata. ## Tastatur-Verzögerung Die **Tastatur-Verzögerung** legt eine kurze Pause nach jedem emulierten Tastenanschlag fest. > [!warning] Kommen getippte Werte **fehlerhaft oder mit wiederholten Zeichen** an, erhöhe die Tastatur-Verzögerung. Manche Anwendungen und PCs nehmen injizierte Tastenanschläge langsamer an als andere. Beginne mit dem Standardwert und erhöhe ihn (zum Beispiel auf 100 ms), bis die Werte korrekt erscheinen. Die Einstellung wird pro PC gespeichert. ## Beispiel Mit ausgewähltem **Mittelwert** und **Minimum**, *Trennzeichen = Tabulator*, *Suffix = Eingabe*, ergibt sich beim Tippen in eine Tabelle: ``` 1089.4 ⇥ 1088.4 ⏎ ``` Der Mittelwert landet in der ersten Zelle, das Minimum in der nächsten, und der Cursor springt in die folgende Zeile — bereit für die nächste Messung. > [!info] Die Tastatur-Emulation schreibt keine Datei. Um eine Aufzeichnung zu behalten *und* Werte zu tippen, aktiviere zusätzlich **Text** oder **CSV** unter [Ausgabeformate](rhopoint-com-agent-output-formats.md). [Weiter: Messungen erfassen](rhopoint-com-agent-capturing-measurements.md) --- # Messungen erfassen Sobald du die [Verbindung](rhopoint-com-agent-connecting-an-instrument.md) konfiguriert und deine [Ausgabe](rhopoint-com-agent-output-formats.md) gewählt hast, kannst du mit der Erfassung beginnen. ## Starten und Stoppen Drücke **Start** (oben rechts). COM Agent öffnet den seriellen Port und wartet auf eingehende Daten. Die Schaltfläche wird zu **Stopp**; drücke sie, um die Sitzung zu beenden und den Port freizugeben. Während die Erfassung läuft, ist die Konfiguration links **gesperrt**, sodass sie nicht mitten in der Sitzung geändert werden kann. ![](../_images/com-agent-running-de.png) ## Das Live-Panel Die rechte Seite zeigt in Echtzeit, was passiert: | Element | Bedeutung | | --- | --- | | **Status-Badge** | **Bereit** vor dem Start, **Empfangsbereit** während der Erfassung, **Fehler** bei einem Verbindungsproblem. | | **Empfangene Sätze** | Ein laufender Zähler der in dieser Sitzung erfassten vollständigen Messungen. | | **Letzte Messung** | Mittelwert, Minimum, Maximum und Std.-Abw. der jüngsten Messung (für erkannte Formate). | | **Aktivitätsprotokoll** | Eine scrollende Liste von Ereignissen: empfangene Daten, geschriebene Dateien (mit vollständigem Pfad), Tastatur-Ausgabe und etwaige Warnungen. Mit **Leeren** wird sie geleert. | ## Eine Messung durchführen 1. Drücke in COM Agent auf **Start**. 2. Löse wie gewohnt eine Messung am Instrument aus. 3. Das Aktivitätsprotokoll zeigt *„Receiving data…"* an, gefolgt vom Pfad jeder geschriebenen Datei, oder einen *„[Keyboard]"*-Eintrag, wenn die Tastatur-Emulation aktiviert ist. 4. Der Zähler **Empfangene Sätze** erhöht sich und **Letzte Messung** wird aktualisiert. > [!info] Jede abgeschlossene Messung wird unabhängig behandelt — du kannst in einer Sitzung beliebig viele durchführen. Es ist nicht nötig, zwischen den Messungen zu stoppen und neu zu starten. > [!warning] Wechselt der Status auf **Fehler** (zum Beispiel, weil das Kabel abgezogen oder das Instrument ausgeschaltet wurde), stoppe die Sitzung, prüfe die Verbindung und starte erneut. [Weiter: ohne Instrument ausprobieren](rhopoint-com-agent-demo-mode.md) --- # Demo-Modus Im Demo-Modus kannst du COM Agent **ohne angeschlossenes Instrument** ausprobieren. Statt von einem seriellen Port zu lesen, erzeugt COM Agent auf Knopfdruck eine realistische Demo-Messung — nützlich, um die Anwendung kennenzulernen, deinen Ausgabeordner oder deine Tastatur-Einrichtung zu testen oder eine Vorführung zu geben. ![](../_images/com-agent-demo-mode-de.png) ## Demo-Modus verwenden 1. Setze **Modus** im Bereich Verbindung auf **Demo**. Die COM-Port- und Baudraten-Einstellungen verschwinden — sie werden nicht benötigt. 2. Wähle deine [Ausgabeformate](rhopoint-com-agent-output-formats.md) und bei Bedarf die [Tastatur-Optionen](rhopoint-com-agent-keyboard-emulation.md), genau wie im Live-Modus. 3. Drücke **Start**. 4. Drücke irgendwo die **rechte Alt-Taste** — auch in einem anderen Programm —, um eine Demo-Messung einzufügen. Jeder Druck auf die rechte Alt-Taste erzeugt eine vollständige Demo-Messung, die dann gemäß deinen Ausgabeeinstellungen geschrieben und/oder getippt wird, genau wie ein echter Messwert. > [!info] Der Demo-Modus ist der schnellste Weg, deine **Tastatur-Emulation** zu überprüfen: Modus auf Demo setzen, Tastatur-Ausgabe aktivieren, in eine Tabelle klicken, Start drücken und die rechte Alt-Taste tippen — die Werte erscheinen in den Zellen. > [!info] Die Demo-Daten verwenden das FT3-Schichtdickenformat, funktionieren also mit CSV-Ausgabe und allen Tastatur-Werten (Mittelwert, Min, Max, Std.-Abw., Messwerte). [Weiter: Lizenzierung](rhopoint-com-agent-licensing.md) --- # Lizenzierung COM Agent benötigt eine gültige Lizenz, um **Live-Messungen** von einem Instrument zu erfassen. Der [Demo-Modus](rhopoint-com-agent-demo-mode.md) funktioniert immer ohne Lizenz, sodass du die Anwendung jederzeit erkunden und deine Ausgabe- und Tastatur-Einrichtung testen kannst. Dein Lizenzstatus ist oben rechts im Fenster stets sichtbar: - Ein grünes **Aktive Lizenzen: N** zeigt an, dass die Live-Erfassung freigeschaltet ist. - Ein rotes **Keine aktiven Lizenzen** bedeutet, dass nur der Demo-Modus verfügbar ist. ![](../_images/com-agent-licence-manager-de.png) ## So funktionieren Lizenzen Eine COM-Agent-Lizenz kann auf zwei Arten gebunden sein: - **An diesen Computer (Host-ID)** — schaltet die Live-Erfassung auf diesem PC frei, für jedes angeschlossene Instrument. - **An eine Geräte-Seriennummer** — schaltet nur die Messungen dieses bestimmten Instruments frei, auf jedem PC. Verwende dies, wenn eine Lizenz einem Instrument statt einem Computer folgen soll. ## Eine Lizenz anfordern 1. Klicke oben rechts auf die Lizenz-Anzeige (oder auf **Lizenz hinzufügen**), um den **Lizenzmanager** zu öffnen. 2. Kopiere deine **Host-ID** mit der Kopier-Schaltfläche daneben. Für eine gerätegebundene Lizenz notiere stattdessen die Seriennummer deines Instruments. 3. Sende die Host-ID (oder Seriennummer) an Rhopoint Instruments, um deine Lizenzdatei zu erhalten. > [!info] Die Host-ID identifiziert diesen bestimmten Computer. Eine host-gebundene Lizenz schaltet die Live-Erfassung nur auf dem Rechner frei, für dessen Host-ID sie ausgestellt wurde. ## Eine Lizenz importieren 1. Öffne den **Lizenzmanager** und klicke auf **Lizenz importieren…**. 2. Wähle die erhaltene Lizenzdatei (`.lic`, `.txt` oder `.json`). Du kannst mehrere Dateien gleichzeitig auswählen. 3. Die Lizenz erscheint in der Liste und die Anzeige wird grün — die Live-Erfassung ist jetzt freigeschaltet. ## Lizenzen verwalten Der Lizenzmanager listet jede installierte Lizenz auf, mit: - **Woran sie gebunden ist** — *Dieser Rechner*, *Geräte-Seriennummer: …* oder *Beliebiger Rechner*. - **Status und Ablauf** — zum Beispiel *Gültig · Läuft ab 2027-01-31*. Mit dem **Papierkorb**-Symbol neben einer Lizenz entfernst du sie. > [!info] Eine an eine Geräte-Seriennummer gebundene Lizenz verarbeitet nur Messungen, deren Geräte-ID dazu passt. Andere am selben PC angeschlossene Instrumente werden ignoriert, sofern sie nicht ebenfalls lizenziert sind. > [!warning] Wenn du **Start** für die Live-Erfassung drückst, ohne eine gültige Lizenz zu haben, zeigt COM Agent eine Meldung an und startet nicht. Importiere entweder eine Lizenz oder schalte den **Modus** auf **Demo**. [Weiter: Einstellungen und Sprache](rhopoint-com-agent-settings-and-language.md) --- # Einstellungen und Sprache ## Deine Einstellungen werden gespeichert COM Agent speichert deine Konfiguration automatisch — Modus, COM-Port, Baudrate, Teil-Markierung und -Anzahl, Ausgabeordner, Ausgabeformate und alle Tastatur-Optionen. Beim nächsten Start der Anwendung ist alles genau so, wie du es verlassen hast, sodass du einfach **Start** drücken kannst. Die Einstellungen werden pro Windows-Benutzer gespeichert. ## Sprache COM Agent ist in dreizehn Sprachen verfügbar: **Englisch**, **Tschechisch**, **Deutsch**, **Spanisch**, **Französisch**, **Italienisch**, **Niederländisch**, **Polnisch**, **Portugiesisch**, **Türkisch**, **Koreanisch**, **Japanisch** und **Chinesisch**. Wähle deine Sprache über das Dropdown oben links im Fenster, neben dem Logo. Die Oberfläche wechselt sofort, und deine Wahl wird für das nächste Mal gespeichert. ![](../_images/com-agent-language-de.png) [Weiter: Start über die Befehlszeile](rhopoint-com-agent-command-line-launch.md) --- # Start über die Befehlszeile COM Agent kann über die Befehlszeile vorkonfiguriert gestartet werden und beginnt sofort mit der Erfassung. Das ist praktisch für die Automatisierung — etwa der Start aus einem anderen Programm, über eine Verknüpfung oder ein Startskript mit fester Konfiguration. Das Anwendungsfenster öffnet sich weiterhin normal; die Parameter füllen lediglich die Einstellungen für dich aus, und die Erfassung startet automatisch. ``` RhopointComAgent.exe --mode live --port COM3 --output "C:\Data" --file-extension csv+txt ``` ## Optionen Die Optionsnamen entsprechen den Einstellungen im Fenster. Jede weggelassene Option behält ihren gespeicherten Wert. | Option | Werte / Beispiel | Bedeutung | | --- | --- | --- | | `--mode` | `live` oder `demo` | Erfassungsmodus. `demo` benötigt keinen COM-Port. | | `--port` | `COM3` | Serieller Port (für die Live-Erfassung erforderlich). | | `--baud` | `19200` | Baudrate. | | `--part-marker` | `^` | Markierung, die einen vollständigen Messsatz abgrenzt. | | `--part-count` | `4` | Anzahl der Teile, die einen vollständigen Satz bilden. | | `--output` | `"C:\Data"` | Ausgabeordner für TXT-/CSV-Dateien. | | `--file-extension` | `txt`, `csv`, `csv+txt`, `keyboard` | Ausgabeformat(e); mehrere mit `+` kombinieren. | | `--csv-delimiter` | `comma`, `semicolon`, `tab` | CSV-Spaltentrennzeichen. | | `--csv-decimal` | `dot`, `comma` | Dezimaltrennzeichen für CSV-Zahlen. | | `--csv-time-format` | `utc`, `local` | Format der CSV-Spalte *Timestamp*. | | `--csv-encoding` | `utf8`, `utf8-bom` | CSV-Dateikodierung (mit oder ohne Byte-Order-Mark). | | `--keyboard-value` | `mean`, `min`, `max`, `stddev`, `measurements`, `raw` | Zu tippende(r) Wert(e); mehrere mit `+` kombinieren. | | `--keyboard-separator` | `tab`, `enter`, `none` | Taste zwischen den getippten Werten. | | `--keyboard-suffix` | `tab`, `enter`, `none` | Taste nach dem letzten Wert. | | `--keyboard-decimal` | `.` oder `,` | Dezimaltrennzeichen für getippte Werte. | | `--keyboard-delay` | `40` | Pause in Millisekunden nach jedem Tastenanschlag. | | `--start` | *(ohne Wert)* | Mit den gespeicherten Einstellungen starten, wenn keine weiteren Parameter angegeben sind. | Die Erfassung startet automatisch, sobald ein Parameter angegeben wird (oder `--start` allein). ## Beispiele Von COM3 in CSV- und TXT-Dateien erfassen: ``` RhopointComAgent.exe --port COM3 --output "C:\QA\Thickness" --file-extension csv+txt ``` Mittelwert und Minimum tab-getrennt in die fokussierte Anwendung tippen: ``` RhopointComAgent.exe --port COM3 --file-extension keyboard --keyboard-value mean+min --keyboard-separator tab ``` Im Demo-Modus starten (kein Instrument nötig): ``` RhopointComAgent.exe --mode demo --output "C:\Data" --file-extension txt ``` > [!info] Das Fenster öffnet sich wie gewohnt, sodass du die Live-Aktivität verfolgen und die Erfassung jederzeit stoppen kannst. Setze Pfade mit Leerzeichen in Anführungszeichen. > [!warning] Die Live-Erfassung benötigt weiterhin eine gültige [Lizenz](rhopoint-com-agent-licensing.md). Ist die Start-Konfiguration unvollständig oder ungültig (zum Beispiel ein nicht vorhandener Ausgabeordner), zeigt COM Agent dieselbe Meldung wie bei einem manuellen Start. [Weiter: COM Agent aktuell halten](rhopoint-com-agent-updating-com-agent.md) --- # COM Agent aktualisieren COM Agent hält sich automatisch aktuell. ## Automatische Updates Beim Start prüft COM Agent im Hintergrund auf eine neue Version. Ist eine verfügbar, erscheint oben rechts im Fenster eine kleine Benachrichtigung. ![](../_images/com-agent-update-notification-de.png) - Klicke auf **Jetzt aktualisieren**, um das Update herunterzuladen und zu installieren. COM Agent lädt die neue Version herunter, zeigt einen Fortschrittsbalken und startet sich dann mit der neuen Version neu. - Klicke auf das **✕**, um die Benachrichtigung auszublenden und mit der aktuellen Version weiterzuarbeiten. Beim nächsten Start wirst du erneut erinnert. > [!info] Updates sind optional und werden nur angewendet, wenn du dich dafür entscheidest. COM Agent unterbricht niemals eine laufende Erfassung für ein Update. ## Deine Version prüfen Die aktuelle Version wird in der Titelleiste des Fensters angezeigt (zum Beispiel *Rhopoint COM Agent 1.2.3*). --- > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. # Glossary of measurement parameters --- # 10° Sparkle Measurement > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The Effect Finish module also measures how visible and intense sparkle effects appear close to the viewing direction using a 10/0 geometry, where the surface is illuminated at 10° and observed near the normal. At this near-specular angle, sparkle contributes directly to head‑on appearance, so these parameters are important for matching what users see when looking straight at an effect coating. ## Density (10°) - Density (10°): Sparkle Density 10° is the number of visible sparkle points per 100 mm² at 10°, describing how densely the surface appears filled with sparkle elements when viewed close to the observer direction. - Higher Density (10°) values indicate a more crowded, active sparkle field in head‑on viewing. ## Area (10°) - Area (10°): Sparkle Area 10° is the average size of detected sparkle elements at 10°, representing the typical image area covered by individual sparkles in near-specular viewing. - Larger Area (10°) values suggest coarser, more prominent sparkle particles when viewed head‑on, while smaller values correspond to a fine, pin‑point sparkle structure. ## Brightness (10°) - Brightness (10°): Sparkle Brightness 10° is the average luminance of the sparkle points at 10°, indicating how bright each sparkle appears. - Higher Brightness (10°) values mean that individual sparkle points are more intense. ## Visibility (10°) - Visibility (10°): Sparkle Visibility 10° is the average perceived brightness of sparkle elements at 10°, taking into account their visibility and the background colour of the material. - This parameter is designed to correlate with human perception of how noticeable the sparkle effect is in near head‑on viewing, combining contributions from density, area and brightness against the underlying coating colour. ## SpR (10°), SpG (10°), SpB (10°) - SpR (10°): Sparkle Red 10° is the red-channel intensity of sparkle elements seen at 10°, indicating how strong the red component of the sparkle appears in near head‑on viewing. - SpG (10°): Sparkle Green 10° is the green-channel intensity of sparkle elements seen at 10°, describing the green contribution to the sparkle impression. - SpB (10°): Sparkle Blue 10° is the blue-channel intensity of sparkle elements seen at 10°, describing the blue component of the sparkle effect in near-specular viewing. | Parameter group | Parameter | Unit | Description | |----------------------|-------------------|---------------------|------------------------------------------------------------------------------------------------------------------------------------| | 10° sparkle metrics | SpR (10°) | Intensity (0–255) | Red‑channel sparkle intensity at 10°, indicating how strong the red component of the sparkle appears in near head‑on viewing. | | | SpG (10°) | Intensity (0–255) | Green‑channel sparkle intensity at 10°, describing the green contribution to the sparkle impression. | | | SpB (10°) | Intensity (0–255) | Blue‑channel sparkle intensity at 10°, describing the blue component of the sparkle effect in near-specular viewing. | | | Density (10°) | 1/100 mm² | Number of visible sparkle points per 100 mm² at 10°, describing how densely the surface appears filled with sparkle elements. | | | Area (10°) | mm² | Average size of detected sparkle elements at 10°, representing the typical image area covered by individual sparkles. | | | Brightness (10°) | AU* | Average luminance of the sparkle points at 10°, indicating how bright each sparkle appears relative to the surrounding surface. | | | Visibility (10°) | AU* | Average perceived brightness of sparkle elements at 10°, taking into account their visibility and the background colour of the material. | \*AU = arbitrary (instrument) units. --- # 45° Sparkle Measurement > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The Effect Finish module quantifies how visible and intense sparkle effects appear when an effect coating is viewed at a 45/0 geometry, i.e. illuminated at 45° and observed close to the normal. At this angle, sparkle is often more pronounced and directional, so these parameters are particularly useful for matching appearance in real-world viewing conditions on automotive and other effect-coated parts. ## SpR (45°), SpG (45°), SpB (45°) - SpR (45°): Sparkle Red 45° is the red-channel intensity of sparkle elements seen at 45°, indicating how strong the red component of the sparkle appears at this off‑specular angle. - SpG (45°): Sparkle Green 45° is the green-channel intensity of sparkle elements seen at 45°, describing the green contribution to the sparkle impression. - SpB (45°): Sparkle Blue 45° is the blue-channel intensity of sparkle elements seen at 45°, describing the blue component of the sparkle effect. ## Density (45°) - Density (45°): Sparkle Density 45° is the number of visible sparkle points per 100 mm² at 45°, describing how densely the surface appears filled with sparkle elements when viewed from this angle. - Higher Density (45°) values indicate a busier, more active sparkle field, whereas lower values correspond to a sparser, more subtle effect. ## Area (45°) - Area (45°): Sparkle Area 45° is the average size of detected sparkle elements at 45°, representing the typical image area covered by individual sparkles. - Larger Area (45°) values suggest coarser, more prominent sparkle particles, while smaller values correspond to fine, pin‑point sparkle. ## Brightness (45°) - Brightness (45°): Sparkle Brightness 45° is the average luminance of the sparkle points at 45°. - Higher Brightness (45°) values mean that individual sparkle points are more intense. ## Visibility (45°) - Visibility (45°): Sparkle Visibility 45° is the average perceived brightness of sparkle elements at 45°, taking into account their visibility and the background colour of the material. - This parameter is designed to correlate with human perception of how noticeable the sparkle effect is at 45°, combining contributions from density, area and brightness against the underlying coating colour. | Parameter group | Parameter | Unit | Description | |----------------------|-------------------|------------------|------------------------------------------------------------------------------------------------------------------------------------| | 45° sparkle metrics | SpR (45°) | Intensity (0–255)| Red‑channel sparkle intensity at 45°, indicating how strong the red component of the sparkle appears at this off‑specular angle. [3] | | | SpG (45°) | Intensity (0–255)| Green‑channel sparkle intensity at 45°, describing the green contribution to the sparkle impression. [3] | | | SpB (45°) | Intensity (0–255)| Blue‑channel sparkle intensity at 45°, describing the blue component of the sparkle effect. [3] | | | Density (45°) | 1/100 mm² | Number of visible sparkle points per 100 mm² at 45°, describing how densely the surface appears filled with sparkle elements. [3] | | | Area (45°) | mm² | Average size of detected sparkle elements at 45°, representing the typical image area covered by individual sparkles. [3] | | | Brightness (45°) | AU* | Average luminance of the sparkle points at 45°, indicating how bright each sparkle appears relative to the surrounding surface. [3] | | | Visibility (45°) | AU* | Average perceived brightness of sparkle elements at 45°, taking into account their visibility and the background colour of the material. [3] | \*AU = arbitrary (instrument) units. --- # 60° Gloss (Aesthetix) ## Parameterbeschreibung Definition: Gloss bezeichnet das gesamte glänzende Erscheinungsbild einer Oberfläche, wenn Licht direkt von ihr reflektiert wird. Die Messung erfolgt üblicherweise mit Glanzmessgeräten, die die Menge des reflektierten Lichts unter bestimmten Winkeln quantifizieren. Bedeutung: Gloss ist das am weitesten verbreitete Maß für die Fähigkeit einer Oberfläche, Licht spiegelnd zu reflektieren, und trägt damit zum glänzenden Erscheinungsbild bei. Hohe Gloss-Werte deuten auf helle, spiegelartige Finishs hin, während niedrige Werte auf matte oder stumpfe Oberflächen verweisen. ## Wie wird gemessen? Die spiegelnde Lichtquelle (1) des Aesthetix projiziert einen kontrollierten Lichtstrahl unter 60° auf die Oberfläche (2) und erfasst die reflektierte Intensität mit der Gloss-Kamera (3). ![Optischer Aufbau des Gloss-Sensors](../_images/1767093483656-Aesthetix-Gloss-Camera.png) **Der optische Aufbau des Gloss-Sensors** Das Signal wird mit einem kalibrierten Referenzstandard verglichen und in Gloss-Einheiten ausgegeben. Die Messungen entsprechen ISO 2813 und ASTM D523, den anerkannten Normen für die Gloss-Messung. ![Spiegelnde Reflexion einer Glas-Kalibrierstandards, erfasst durch den Gloss-Sensor](../_images/1767191029152-Screenshot-2025-12-31-142140-gloss-in-sensor.png) **Spiegelnde Reflexion eines Kalibrierstandards, erfasst von der Gloss-Kamera. Zur Einhaltung der Winkeltoleranzen der Norm wird das Licht im gelben Bereich integriert.** ## Anwendungen Routinekontrolle von hochglänzenden, halbglänzenden und matten Beschichtungen in Automobilindustrie, Möbelbau, Kunststoffverarbeitung, Verpackung und Konsumgütern. Verifizierung, dass Produktionsteile vor der Auslieferung den Mustertafeln oder Kundenvorgaben hinsichtlich Glanzgrad entsprechen. ## Technische Spezifikationen | Position | Spezifikation / Wert | |-------------------------------------------|-------------------------------------------------------------------------------------| | Gloss-Index | 60° Gloss (alle Aesthetix-Module, die Gloss ausgeben) | | Gloss-Einheit | GU (Gloss Units) | | Messgeometrie | 60° spiegelnde Gloss-Geometrie | | Field of View (FOV) | 18 × 24 mm | | Standard-analysierter Gloss-Bereich | 18 × 9 mm | | Optionaler kleiner Gloss-Messfleck | 4 × 2 mm | | Weitere analysierte Bereiche (Module) | Effect Finish: 10 × 10 mm; Texture: bis 15 × 15 mm; Polishing Quality: 10 × 10 mm | | Oberflächenauflösung | 9,2 µm/Pixel (109 Pixel/mm) | | Wiederholbarkeit, 0–10 GU | ±0,1 GU | | Wiederholbarkeit, 10–100 GU | ±0,2 GU | | Wiederholbarkeit, 100–1000 GU | ±0,2 % vom Messwert | | Reproduzierbarkeit, 0–10 GU | ±0,2 GU | | Reproduzierbarkeit, 10–100 GU | ±0,5 GU | | Reproduzierbarkeit, 100–1000 GU | ±0,5 % vom Messwert | Diese Wiederhol- und Reproduzierbarkeitswerte setzen eine korrekte Kalibrierung auf einer zertifizierten Gloss-Fliese, stabile Umgebungsbedingungen sowie eine gleichbleibende Probenpositionierung und Messpraxis voraus. --- # Bloom R, G, B > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Surface bloom is a near‑specular scattering effect that appears as a loss of reflective contrast in a mirror‑like surface and can include a subtle colour shift that is not detected by conventional monochromatic haze meters. Standard haze meters use a light source and detector combination filtered to the photopic V(λ) response of the human eye, producing a single luminance‑weighted signal, so wavelength‑dependent scattering can be visually apparent yet remain largely undetected in the measured haze value. To detect this phenomenon, the Aesthetix instrument uses an unfiltered white LED arranged as a 10‑degree spotlight and an RGB camera, analysing the near‑specular region of the reflected image. The bloom is quantified independently in each colour channel as a normalised ratio of the bloom signal to a calibrated specular reference signal, and the spatial extent of the bloom in each channel is reported as an area in $\text{mm}^2$. The red, green and blue bloom indices are defined as: $$ B_{R} = \frac{S_{\text{bloom},R}}{S_{\text{spec},R}} $$ $$ B_{G} = \frac{S_{\text{bloom},G}}{S_{\text{spec},G}} $$ $$ B_{B} = \frac{S_{\text{bloom},B}}{S_{\text{spec},B}} $$ where $B_{R}, B_{G}, B_{B}$ are the dimensionless bloom values for the red, green and blue channels, $S_{\text{bloom},R/G/B}$ are the measured near‑specular bloom signals, and $S_{\text{spec},R/G/B}$ are the corresponding calibrated specular signals used for normalisation. For each channel, the bloom size (area of the near‑specular scattering region exceeding a defined threshold) is calculated in $\text{mm}^2$, providing both an intensity‑based metric ($B_{R/G/B}$) and a geometric metric (bloom area) to characterise the magnitude and chromatic character of surface bloom. --- # Ca—Cell Amplitude > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Ca (reported in [p-µm] (perceived microns)) is defined as the average amplitude of all cells features identified within the texture of a material. It quantifies the difference between the highest and lowest points, (Average Height of cells- Average Depth of valleys) providing a measure of the vertical dimension of the texture. This parameter is used to understand the depth and relief of the surface texture, which directly influences visual and tactile perception. ![image description](../_images/1768553820360-1765872829682-heightmap-sa-rough.png) **A higher cell amplitude indicates a more pronounced texture, lower values will be measured on smoother materials.** Unit- [Perceived Microns pµm](glossary-of-measurement-parameters-unit-perceived-microns-p-m.md) --- # Cn—Cell Number > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Cn refers to the total number of distinct cells or surface features identified within the field of measurement depending on the watershed parameters set. This measurement is crucial for understanding the density and distribution of the texture features, which influence visual and tactile qualities. --- # Contrast (TAMS High Gloss) > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ## Contrast (C) – High gloss mode ### Definition Contrast (C) is a **colour‑dependent index** that quantifies the difference between bright highlights and dark areas in the reflected image on a high gloss surface. It describes how “strong” the reflection appears and captures the influence of basecoat colour on perceived appearance. ### Unit and range Contrast is expressed in percent (%): - White and light metallic surfaces show low contrast (<30%)). - Deep black can approach 100% contrast. ### Measurement conditions Contrast is available in High Gloss Mode when the surface type is set to C‑Coat and a high‑gloss algorithm such as CC‑TAMS‑STD is selected. It is calculated from the reflected pattern images captured by TAMS. ### Colour dependence and visual meaning Contrast is directly linked to the **colour and optical density** of the surface: - On dark, high‑contrast colours (for example black), reflections exhibit a large intensity range between bright and dark regions, so texture, haze and DOI defects are much more visible. - On light or metallic colours with low contrast, the same physical orange peel or haze can be far less noticeable to the observer. Because of this, Contrast acts as a bridge between colour and texture. It explains why strict texture limits that are appropriate for black cars may be unnecessarily tight for silver, and why controlling only colour‑blind metrics (such as waviness or DOI alone). ### Relationship to other TAMS parameters and indices Contrast plays a central role in the perception‑based metrics used in High Gloss Mode: - With **Sharpness (S)**, it defines how vivid and detailed the reflection looks – high C and high S give deep, crisp images, while low C or low S make the surface appear flat or hazy. - It influences the **Quality (Q)** index, helping Q respond correctly to differences between dark and light colours by reflecting the real visual impact on the customer. - Through its colour dependence, it supports more realistic **Harmony (H)** assessments across different colours, ensuring that panel‑to‑panel matching is judged in a way that aligns with human perception. ### Typical interpretation - **C > 70%:** High‑impact, deep colour (e.g. solid black or dark shades). Texture, orange peel and haze are very visible; tight control of Sharpness, Waviness and Harmony is usually required. - **C ≈ 30–70%:** Medium contrast colours (mid‑tones, some saturated colours). Texture and haze are visible but less critical than on deep black. - **C < 30%:** Low‑contrast finishes (whites, light metallics, pastel shades). The same texture level that is unacceptable on black may be visually acceptable here. --- # CsDev—Cell Size Standard Deviation > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The Cell Size Standard Deviation reflects the variation in cell sizes across the surface. By dividing the standard deviation by the mean cell size, the resulting value is normalized, allowing for comparability between different types of structures. This index indicates how much the sizes of the cells vary from the average, helping to understand the consistency of the surface structure. --- > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. # CsMax—Maximum Cell Size --- # CsMin—Minimum Cell Size > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Cell Size Minimum represents the size of the smallest cell among all those included in the data analysis. It gives insight into the minimum limit of the structural features present on the surface. --- # Cs—Mean Cell Size > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Mean Cell Size is the average size of the cells included in the analysis, measured in square millimetres [mm²]. To find this value, the areas of all included cells are measured, and their mean (average) value is calculated. It provides an overall sense of the typical size of the structural features on the surface. --- # Dimension (TAMS High Gloss) > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ## Dimension (D) – High gloss mode ### Definition Dimension (D), also referred to as **Dominant Structure Size**, indicates the main texture scale that an observer perceives on a high gloss surface at typical showroom viewing distance (around 1.5 m). It describes whether the orange peel structure appears fine and tight or coarse and large‑scale. ### Unit and range Dimension is expressed in millimetres (mm). Typical values for automotive clear‑coat lie between about 0.5 mm and 8 mm. - Lower D values correspond to fine, closely spaced orangepeel. - Higher D values correspond to coarser, more widely spaced structure. ### Measurement conditions Dimension is available in High Gloss Mode when the surface type is set to C‑Coat and a high‑gloss algorithm such as CC‑TAMS‑STD is selected. It is derived from the measured surface texture spectrum used for waviness and other appearance parameters, so it does not require any extra measurement steps beyond a normal clear‑coat reading on a clean, defect‑free area. ### Visual meaning at showroom distance At around 1.5 m, Dimension describes the characteristic spacing of the surface waves that form the orange peel pattern: - **Small D (fine structure):** The surface shows a tight, fine orange peel. - **Large D (coarse structure):** The surface shows broad, large‑scale waves. Because it reflects the dominant spatial scale rather than just the amplitude, Dimension helps explain why two panels with similar waviness can still look different to the eye. ### Relationship to other TAMS parameters and indices Dimension works alongside the other High Gloss parameters: - With **Waviness (W)** it separates “how strong” the orange peel is (W) from “how large” the texture cells are (D). - It supports interpretation of **Harmony (H)** by indicating whether a panel‑to‑panel mismatch is mainly due to differences in texture scale. In the latest SMS‑based Harmony algorithm, D is retained as a diagnostic value even though it is no longer used directly in the H calculation. - Together with **Sharpness (S)** and **Contrast (C)**, it helps engineers understand whether perceived appearance issues are dominated by coarse body‑shape variations, finer orange peel, or haze. ### Typical interpretation - **D < 1 mm:** Very fine texture. - **D ≈ 1–4 mm:** Shortwave orangepeel dominant in the painted surface. - **D > 4 mm:** Longerwave orangepeel dominates the surface. --- # DOI—Distinctness of Image (Aesthetix) > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. DOI (Distinctness of Image) is a surface appearance parameter that describes how clearly objects and edges are reflected in a glossy surface. ## Parameter description DOI indicates the sharpness of reflected images: high DOI means crisp, mirror‑like reflections, while low DOI indicates blurred, distorted or surfaces where orange‑peel distorts reflections. It is expressed as a percentage, with 100% representing an ideal mirror and lower values representing increasing loss of image clarity. ## How is it measured? Software analyses the reflected gloss image, a sharp, well‑defined image yields high DOI, a blurred gloss image will return lower values. ## Applications Assessing and optimising the visual quality of automotive bodywork, bumpers and high‑gloss trim where mirror‑like reflections are critical. Controlling polishing, sanding and coating processes for premium furniture, pianos, consumer electronics and decorative plastics to minimise orange peel and achieve a high‑quality finish. DOI is a crucial value for polished stone and concrete applications. DOI values are correlated between Rhopoint Aesthetix and Rhopoint IQ measurement systems. | Item | Specification / Value | | ------------------------- | ------------------------------------------------------------------------------------ | | Index name | DOI | | Description | Measures how clearly and sharply images and edges are reflected from a surface | | Unit | % (0–100%, where 100% represents a perfectly sharp, undistorted reflection) | | Measurement geometry | Specular reflection geometry (typically 60° or 20°, depending on module/instrument) | | Measurement principle | Analysis of the spread and distortion of reflected light around the specular angle | | Field of view (FOV) | 18 × 24 mm (Aesthetix optical head) | | Standard analysed area | 18 × 9 mm (shared with gloss/DOI measurements) | | Optional small spot | 4 × 2 mm (small‑area adapter, where available) | | Other analysed areas | Effect/texture modules up to 10 × 10 mm or 15 × 15 mm, depending on configuration | | Measurement range | 0–100% | | Repeatability (typical) | ±0.2% DOI | | Reproducibility (typical) | ±0.5% DOI | | Primary use | Quantifying orange peel, surface smoothness and image clarity on high‑gloss finishes | --- # Drill Angle > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. **Drill Angle** is the cone angle of the Säberg drill bit used to prepare a sample for layer-resolved coating thickness measurement with the [Boring Thickness Module](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-boring-thickness-module.md). ### Definition The Drill Angle is the full angle between the cone surface of the drill bit and the perpendicular to the coating surface. It is a physical property of the drill bit and is normally engraved on the bit by its manufacturer. ### Why It Matters The Boring Thickness Module converts the radial distance between adjacent ring boundaries (visible in the image of the drilled crater) into a layer thickness using: > **Layer thickness [µm]** = | r_outer − r_inner | × tan(Drill Angle) × mm/pixel × 1000 The calculated thickness is therefore directly proportional to `tan(Drill Angle)`. Entering the wrong angle produces plausible-looking but incorrect µm values without any warning from the software. ### Typical Values | Drill Angle | Magnification factor (1 / tan) | Preferred for | |---|---|---| | 5.7° | × 10.04 | Thin coatings, layered systems with sub-50 µm layers | | 10° | × 5.67 | General multi-layer paint systems | | 20° | × 2.75 | Thicker industrial coatings | | 30° | × 1.73 | Very thick coatings on small samples | ### In Appearance Elements - **Parameter location:** Boring Thickness module → properties panel → Drill Angle - **Default:** 5.7° - **Allowed range:** 0° – 90° See also: [Boring Thickness Parameters](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-boring-thickness-module-boring-thickness-parameters.md), [Layer Depth](glossary-of-measurement-parameters-layer-depth.md), [Total Depth](glossary-of-measurement-parameters-total-depth.md). --- # F—Fill Factor > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The Fill Factor index represents the ratio of the mean hill size to the mean cell size, expressed as a percentage. It provides a measure of how much of the cell area is occupied by hills, indicating the density of the elevated structures on the surface or distance between structures. --- # Graininess > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Graininess describes how coarse or fine an effect coating appears under **diffuse** viewing conditions, similar to looking at a panel outside on a cloudy day when the light is spread evenly across the sky. In this situation and the underlying flake texture of the coating becomes more visible than sharp, directional sparkle from the metallic particles. ## What Graininess represents - Graininess quantifies the low‑frequency mottling or speckle pattern caused by non-uniform flake distribution and local brightness variations across the surface that are most apparent under diffuse conditions. - Higher Graininess values indicate a more visibly textured, patchy or “noisy” effect, while lower values indicate a more uniform, fine and homogeneous finish. ## How Graininess is measured - The parameter is derived from the spatial variation in reflected intensity within the measured area, using data from all six illumination directions and processing it to remove specular contributions from the sparkling elements. ## How to use Graininess in practice - Use Graininess, referenced to diffuse viewing conditions (cloudy‑day type lighting), to set and check appearance specifications for metallic and pearlescent coatings, ensuring that production parts match master panels in perceived coarseness under typical daylight, showroom or indoor lighting. - Compare Graininess alongside sparkle metrics and waviness to separate diffuse‑appearance texture issues (e.g. layout, flocculation) from directional sparkle behaviour when diagnosing or optimising effect coatings. ## Technical specification | Parameter | Description | |----------------------|------------------------------------------------------------------------------------------------------------------------------------| | Graininess | Quantifies how coarse or fine an effect coating appears under diffuse, cloudy‑day type viewing conditions. | | Viewing mode | Assessed under diffuse illumination so that sparkle is suppressed and the underlying flake texture becomes more visible. | | Measurement principle| Derived from the spatial variation in reflected intensity within the measured area, using data from all six illumination directions and processing it to remove specular contributions from sparkling elements. | | Visual meaning | Higher values indicate a more mottled, noisy or patchy look; lower values indicate a smoother, more uniform and silky appearance. | | Typical use | Used to set and check appearance specifications for metallic and pearlescent coatings to simulate viewing in diffuse, cloudy‑day conditions. | --- # Harmony (TAMS High Gloss) > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ## Harmony (H) – High gloss mode ![image description](../_images/1770633628437-2026-02-09_10-39.png) **Comparing Samples 1 & 2 demonstrate poor harmony H=1.8 (1), Samles 2 & 3 show acceptable harmony H=0.9 (2)** ### Definition Harmony (H) is a **perception‑based index** that quantifies how similar the surface texture of two high gloss painted parts appears when viewed side by side (for example fender/door or quarter panel/fuel flap). It expresses whether differences in orange peel and texture between parts are small enough to be acceptable to most observers. ![image description](../_images/1770629452657-2026-02-09_09-29.png) **Panels (1) & (2) have dissimilar surface structure shown in the spectra (3) this results in a poor harmony H=2.4. Panels (4) and (5) have acceptable harmony H=0.7 and similar surface texture (6).** ### Unit and range Harmony is a dimensionless index on the TAMS display, typically ranging from around 0.0 to 8.0 Lower values indicate good harmony (small perceived difference), while higher values indicate larger differences that are more likely to be seen as a mismatch. In practice, values below 1 are usually acceptable, whereas values clearly above 1 flag parts that may need process adjustment or rework. ### Measurement conditions Harmony is available in High Gloss Mode when the surface type is set to C‑Coat and the CC‑TAMS‑STD algorithm is selected. Harmony is calculated by comparing measurements from a reference surface (for example a master panel or agreed “good” part) to measurements from production parts, with each batch based on several readings per part to ensure stable averages. ### Spectral Matching Score (SMS) – new Harmony basis Harmony is now calculated using the **Spectral Matching Score (SMS)** method, which uses the complete surface texture spectrum from both surfaces being compared. Instead of relying only on differences in waviness and a single dominant texture size, the updated algorithm derives several spectral parameters from each surface, scales and weights them, and then combines them into the Harmony value. This spectral approach improves correlation with visual assessments and keeps the familiar Harmony (Hz) scale for users. ### Role of waviness, dimension and sharpness In the updated Harmony algorithm, the SMS method replaces the direct use of the Dimension (D) value in the calculation, but D is still shown on the TAMS display as a useful indicator when multiple dominant structure sizes are present. Because the full spectrum is used, sharpness‑related information from very short wavelengths is now included alongside waviness‑related components, so Harmony responds more closely to the texture features that observers actually see. Users should treat Harmony (H) as the primary acceptability index for panel‑to‑panel matching, while using D as a diagnostic aid rather than a direct quality criterion. ### Typical interpretation - **H < 1.0:** Panels are visually well matched in texture; differences are generally acceptable in production and in the showroom. - **H ≈ 1.0–2.0:** Noticeable but often tolerable differences, which may still require attention on dark or premium Class A surfaces. - **H > 2.0:** Clear texture mismatch; likely to draw attention and reduce perceived vehicle quality, typically prompting process optimisation or rework. --- # Haze and Compensated Haze > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ## Parameter description Haze describes the scattering of light by a surface that creates a milky halo around the main reflection and reduces contrast in the reflected image. It diminishes the perceived depth and clarity of high‑gloss finishes and is usually undesirable on premium surfaces. Haze (C), often reported as LogH C, is a compensated haze parameter that corrects for the influence of background colour and diffuse reflection, providing a more stable haze value across different colours and effects. ## How is it measured? ![image description](../_images/1767194246312-haze-.png) ** Haze is calculated by measuring the amount of light in the near specular region (pink area) and comparing it to calibration values. Log Haze (C) combines this with luminosity values from the observer camera** The Aesthetix sensor captures a high‑dynamic‑range image of the specular reflection at 60° and analyses the distribution of light around the main gloss peak. Haze is quantified from the amount of light present in defined off‑specular regions (typically a few degrees either side of the specular angle), generating a base haze value. Haze (C) / LogH C is then calculated by applying a logarithmic and colour‑compensated transformation to the haze data, reducing the impact of underlying shade and diffuse reflection and aligning the scale with familiar Rhopoint gloss‑haze conventions. ## Applications Quality control of high‑gloss and dark coatings in automotive, electronics and decorative applications, where even low levels of haze are visually obvious. Monitoring polishing, clearcoat formulation and process conditions to minimise cloudiness and maintain a deep, clear “wet look” finish on premium products and furniture. Routine production monitoring and specification setting where parts of different colours, tints or metallic content must be compared using a single, robust haze scale, especially for Class A surfaces such as body panels, appliances and high‑end furniture. ## Technical Specifications | Item | LogH (Log Haze) | LogH C (Log Haze compensated) | |-----------------------------------|--------------------------------------------------|---------------------------------------------------------| | Index name | LogH | LogH C | | Description | Logarithmic reflection haze | Logarithmic reflection haze with colour compensation | | Unit | logHU | logHU | | Measurement geometry | 60° specular, off‑specular bands near gloss angle | 60° specular, off‑specular bands near gloss angle | | Field of view (FOV) | 18 × 24 mm | 18 × 24 mm | | Standard analysed area | 18 × 9 mm | 18 × 9 mm | | Optional small spot | 4 × 2 mm | 4 × 2 mm | | Measurement range (typical) | 0–500 logHU | 0–500 logHU | | Repeatability (typical) | ±1 logHU | ±1 logHU | | Reproducibility (typical) | ±10 logHU | ±10 logHU | | Primary use | Historical specifications only | Routine QA and specifications where colour‑independent haze values are needed | --- # Hs—Hill Size > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. This is the average cross-sectional area of the hills within the analyzed cells, measured in square millimetres [mm²]. The algorithm detects the cross-sections of the hills and calculates the mean area. The threshold height used to define the cross-sections is parameterized, meaning it can be adjusted based on specific analysis requirements. Understanding hill size helps in evaluating the distribution and prominence of these elevated features. --- # Layer Depth > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. **Layer Depth** (also referred to as **Layer Thickness**) is the dry-film thickness of one individual layer within a multi-layer coating system, in micrometres (µm), as resolved by the [Boring Thickness Module](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-boring-thickness-module.md). ### Definition In a Säberg-drilled crater imaged by Aesthetix, each layer interface appears as a circular ring. Layer Depth is the thickness of the coating material between two adjacent rings, calculated as: > **Layer Depth [µm]** = | r_outer − r_inner | × tan(Drill Angle) × mm/pixel × 1000 with `r_outer` and `r_inner` the radii of the two rings bounding the layer in image pixels, [Drill Angle](glossary-of-measurement-parameters-drill-angle.md) the cone angle of the drill bit, and mm/pixel the calibrated pixel scale of the Aesthetix Aspec camera. ### Layer Numbering Layers are numbered from the **outside in** of the crater, which corresponds to the **top down** of the original coating stack: - **Layer 1 Depth** — outermost (top) layer, typically the topcoat / clearcoat - **Layer 2 Depth** — next layer down, typically the basecoat - **Layer 3 Depth** — next layer down, typically the primer - **Layer 4–5 Depth** — additional sub-layers if present With **N** detected rings the module produces **N − 1** layer depths. The data table stores up to five layers (Layer 1 Depth … Layer 5 Depth). ### Units Always reported in micrometres (µm), formatted with two decimal places. ### In Appearance Elements - **Columns:** Layer 1 Depth, Layer 2 Depth, Layer 3 Depth, Layer 4 Depth, Layer 5 Depth in the Boring Thickness data table - **Detail view:** A per-layer thickness data grid is shown in the expanded result panel of any Boring Thickness measurement. See also: [Drill Angle](glossary-of-measurement-parameters-drill-angle.md), [Total Depth](glossary-of-measurement-parameters-total-depth.md), [Boring Thickness Parameters](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-boring-thickness-module-boring-thickness-parameters.md). --- # Michelson Contrast Haze MCH > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. MCH (Michelson Contrast Haze) is a visual haze parameter that quantifies the loss of contrast between the specular highlight and its surrounding area using the Michelson contrast formula, closely matching how hazy the surface appears to the eye. ## Parameter description MCH describes how much the halo around the specular highlight reduces the contrast between bright and dark regions in the reflected image. A low MCH value indicates a sharp, well‑defined highlight with high contrast, while a higher MCH value indicates a hazier surface with a broader, more washed‑out highlight. ## How is it measured? The instrument captures a high‑dynamic‑range image of the gloss highlight and the neighbouring background at the 60° geometry. [image description](1767615972660-MCH.png) Michelson contrast is calculated from the luminance of the bright highlight region and the adjacent darker region, and this contrast value is converted into the MCH haze scale used for reporting and comparison. ## Applications Characterising visual haze on high‑gloss coatings where small differences in haze and contrast are seen by observers but not well captured by traditional haze scales. Setting appearance limits and monitoring production for premium automotive, electronics and decorative finishes, ensuring that perceived haze remains within acceptable visual tolerances. | Item | Specification / Value | |---------------------------|----------------------------------------------------------------------------------------| | Index name | MC H (Michelson Contrast Haze) | | Metric type | Visual haze based on Michelson contrast of the specular highlight and adjacent regions | | Unit | HU (Haze Units) | | Measurement geometry | 60° specular, contrast evaluated between highlight and near specular haze region | | Standard analysed area | 18 × 9 mm | | Optional small spot | 4 × 2 mm | | Measurement range | 0–150 HU (typical working range) | | Repeatability (typical) | ± 0.2HU | | Reproducibility (typical) | ± 0.5 HU | | Primary use | Quantifying visually perceived haze/halo around highlights on high‑gloss surfaces | --- # Quality (TAMS High Gloss) > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ## Quality (Q) – High gloss mode ### Definition Quality (Q) is a **perception-based index** that describes the overall visual appearance of a high gloss clear-coat surface. It combines contrast, sharpness and waviness into a single value that reflects how good or bad the finish looks to an observer. ### Unit and range Q is expressed in percent (%), from 0% (very poor, strongly distorted reflections) to 100% (mirror-like, premium appearance). Typical automotive clear-coats fall between these extremes depending on process and substrate. ### Measurement conditions Q is available in High Gloss Mode when the surface type is set to C-Coat and the CC‑TAMS‑STD algorithm is selected on TAMS. Measurements should be taken on near-flat, clean, defect-free areas; at least three readings are recommended before closing the batch to obtain averaged Q results. ### Related parameters The following sub-parameters are calculated for each measurement and used to derive Q: - Contrast (C): Relative intensity difference between bright and dark areas in the reflected pattern, 0–100%. Higher values indicate deeper, more vivid reflections. - Sharpness (S): Clarity of the reflected image across viewing distances, 0–100%. Lower values indicate haze or blurred reflections. - Sharpness-Q (Sq): Internally scaled sharpness term (0–100%) used by the Quality algorithm; not normally displayed. - Waviness (W): Degree of large-scale surface undulation or orange peel, typically from 0 (flat) to around 30 (very wavy). - Dimension (D): Dominant structure size perceived at typical viewing distance, reported in millimetres. ### Computation principle Q is calculated using a proprietary algorithm that combines Contrast, Sharpness (including Sq) and Waviness to match human visual grading of clear-coat appearance. Higher contrast and sharpness increase Q, while higher waviness reduces it. ### Colour dependence and advantage An important advantage of the TAMS Quality index is that the basecoat colour is inherently taken into account through the contrast term when calculating Q. This allows Quality to be assessed consistently across different colours instead of assuming that all colours behave like a neutral reference. ![image description](../_images/1770628022874-2026-02-09_08-56.png) **Three panels with medium (1)., good (2) and exceptional (3) quality.** Conventional instruments that control only surface waviness or DOI often ignore the effect of colour, even though colour strongly influences how defects are perceived by the customer. For example, on a black, high-contrast car, haze and poor DOI are highly visible because they reduce the depth of finish and dramatically lower perceived quality, while on a metallic silver car the same level of DOI and haze can be almost invisible to the end user. If both vehicles are controlled using only waviness and DOI limits, this can lead to unnecessary rework and over-processing on sensitive dark colours and, at the same time, an inappropriate focus on parameters that are less relevant for some lighter colours. ### Typical interpretation High Q values indicate smooth, glossy surfaces with clean, undistorted reflections; low Q values indicate visible texture, haze or orange peel that reduce perceived quality. Target Q limits can be set for production, with tighter bands used for premium or Class A surfaces. ### Applications Quality (Q) in high gloss mode is used wherever consistent visual appearance of coated surfaces is critical. Typical applications include: - Automotive exterior body panels, bumpers, mirrors and add-on parts for meeting OEM appearance specifications and harmony targets across the vehicle. - High gloss coatings on consumer electronics, appliances and furniture to differentiate premium finishes and control variation between batches or suppliers. - Process development and troubleshooting for paint, clear-coat and polishing operations, where Q trends support optimisation of application, curing and sanding/buffing parameters and its colour sensitivity helps avoid over-processing or misjudging certain colours. --- # RC—Reflective Contrast > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. This index quantifies the difference in reflectivity between the hills and valleys of the surface topography. The algorithm separates the surface data into valleys and hills using a parameterized threshold height. It then calculates the mean reflectivity values for both areas and uses the contrast formula: contrast = (hill + valley) / (hill − valley) This provides a measure of how much the reflectivity differs between the elevated and depressed areas of the surface. --- # RGB Colour > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. **RGB Colour** records the basic colour information of the surface image as three separate channels: red (R), green (G) and blue (B). ## Parameter description RGB Colour describes the appearance of the surface in terms of its digital image colour values rather than in a colour‑space such as CIELab. Each pixel in the observer‑camera image has an R‑G‑B triplet; the reported RGB Colour values are the average red, green and blue channel intensities over the analysed area, giving a simple numerical description of surface shade and tone. ## How is it measured? - The observer camera captures a colour‑corrected image of the surface using 45° circumferential illumination and 0° observation geometry. - Software averages the red, green and blue pixel values within the defined measurement area (for example 18 × 9 mm), reporting three numbers: R, G and B. These values can be trended, compared between batches or exported for further colour analysis. ## Interpretation of values - Higher R values indicate a stronger red component, higher G values a stronger green component, and higher B values a stronger blue component in the surface colour. - Changes in RGB channel balance over time or between samples indicate colour drift, contamination, ageing or process variation, even when gloss and texture remain constant. ## Applications - Monitoring batch‑to‑batch colour consistency of coatings, plastics, inks and decorative films alongside gloss, haze and texture metrics. - Quickly flagging visible colour shifts on production lines or during development trials without needing a dedicated spectrophotometer, and documenting the appearance of standards, master panels and reference parts in quality systems. ## Technical Specification | Item | Specification / Value | |---------------------------|---------------------------------------------------------------------------------------------------------| | Index names | R, G, B | | Description | Average red, green and blue channel intensities from the surface image | | Units | 0–255 (8‑bit channel values) or normalised 0.0–1.0, depending on software configuration | | Measurement geometry | 45° circumferential illumination, 0° observation (observer camera) | | Field of view (FOV) | Dependent on module | | | Measurement principle | Capture of a colour image, followed by spatial averaging of R, G and B pixel values over the region | | Measurement range | Full sensor range for each channel (typically 0–255) | | Repeatability (typical) | Within ±1–2 channel | | Reproducibility (typical) | Within ±3–5 channel counts after re‑positioning and re‑measurement | | Primary use | Tracking colour/shade changes and documenting appearance alongside gloss, haze and texture parameters | --- # RH—Reflectivity on Hills > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. This is the average reflectivity value specifically for the areas classified as hills. It provides insight into the reflectivity characteristics of the elevated parts of the surface. --- # RV—Reflectivity in Valleys > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. This index represents the average reflectivity value for the areas classified as valleys. The centre of the valleys are represented by red lines on the feature maps. It helps in understanding the reflectivity properties of the lower, depressed regions of the surface. --- # R—Reflectivity > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The Mean Reflectivity index R represents the average reflectivity value of the surface, or a value for how the surface interacts with light, contributing to its visual characteristics such as gloss and brightness. Reflectivity is an absolute measurement but uses a non-standard unit (arbitrary units [arb'U]) specific to the measurement system. --- # Sa Rough—Areal Surface Roughness > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. **Sa Rough** – Areal Surface Roughness describes the average height variation of the surface over the full measured area, expressed in perceived microns (p‑µm) to reflect how roughness is seen in the Aesthetix texture image. The calculation uses unfiltered topographical information from the full 3D height map, so all peaks and valleys in the measurement area contribute to the result rather than a smoothed or wavelength‑limited profile. Lower Sa values indicate a smoother, more level surface, while higher values correspond to a rougher finish with more pronounced structure or texture. Unit- [Perceived Microns pµm](glossary-of-measurement-parameters-unit-perceived-microns-p-m.md) --- # Scratch Parameters > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ## How scratches are detected - Scratches are detected using a high‑intensity 10° spot light that illuminates the surface in a very directional way, similar to shining an inspection torch across a panel to reveal fine marks. - An observer camera captures a high‑resolution image of the illuminated area, and image‑processing algorithms analyse the bright, elongated features caused by light catching on scratch edges. ## Role of sensitivity - The Sensitivity setting controls how aggressively the system looks for scratches by adjusting detection thresholds in the image analysis. - At **low sensitivity**, only the more obvious scratches are reported, corresponding to defects that are easily visible under typical indoor or workshop lighting. - At **medium sensitivity**, the system reveals finer swirls and lighter polishing marks that may be visible under stronger point light sources, for example inspection lamps or showroom lighting. - At the **highest sensitivity**, the algorithm highlights almost all detectable line structures, including very faint scratches and holograms that may only become visible under high illuminance conditions, such as bright sunshine or intense inspection lighting. ## Length, Length V and Length H - **Length – Scratch Length Total Average (µm):** The average total length of all detected scratches within the measured area, giving an overall indication of how extensive linear defects are on the surface. - **Length V – Scratch Length Average Vertical (µm):** The average total length of scratches predominantly aligned in the vertical direction, useful for identifying directionality from specific polishing passes or tools. - **Length H – Scratch Length Average Horizontal (µm):** The average total length of scratches predominantly aligned in the horizontal direction, highlighting directional polishing patterns. ## Area, Area V and Area H - **Area – Total Scratched Area (µm²):** The combined surface area covered by all detected scratches, indicating how much of the inspected region is affected by polishing defects. - **Area V – Scratched Area Vertical (µm²):** The total area occupied by vertically oriented scratches, helping to separate their contribution from other defect directions. - **Area H – Scratched Area Horizontal (µm²):** The total area occupied by horizontally oriented scratches, useful when diagnosing process steps that introduce specific directional marks. ## Count, Count V and Count H - **Count – Total Scratches (–):** The number of individual scratches detected in the measurement, giving a simple measure of how densely the surface is covered with defects. - **Count V – Scratches Vertical (–):** The number of vertically oriented scratches, used to identify and track polishing steps that introduce mainly vertical marks. - **Count H – Scratches Horizontal (–):** The number of horizontally oriented scratches, indicating the prevalence of defects aligned with horizontal polishing movements. ## Visibility, Visibility V and Visibility H - **Visibility – Scratch Visibility Average (AU):** The average perceived visibility of all detected scratches, combining their brightness, contrast and size into a single perception‑based value. - **Visibility V – Scratch Visibility Vertical (AU):** The perceived visibility of vertically oriented scratches, highlighting whether vertical marks are particularly noticeable to the observer. - **Visibility H – Scratch Visibility Horizontal (AU):** The perceived visibility of horizontally oriented scratches, allowing judgement of whether horizontal swirls or holograms dominate the visual impression. --- # Sharpness (Aesthetix) > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. **Sharpness** is a surface appearance parameter that quantifies how clearly and crisply a surface reflects fine detail and edges in a mirrored image. ## Parameter description Sharpness indicates the edge clarity within a reflection rather than the overall brightness or gloss level. High sharpness values correspond to very clear, well‑defined edges and fine details in the reflected image, while low values indicate blurred, smeared or “soft” reflections that reduce the perceived quality and depth of finish. ## How is it measured? - The instrument illuminates the surface and captures a high‑resolution image of a reflected pattern or highlight at the specular geometry. - Software analyses edge transitions and local contrast within the reflected pattern; sharp, high‑contrast edges produce high sharpness values, whereas widened, low‑contrast edges reduce the sharpness value, which is typically reported on a 0–100 scale. ![image description](../_images/1768297503058-sharpness.png) **Sharpness measures the clarity of sharp edges visible in a reflection and is exceptionally sensitive to ultra-fine structures that only become visible at close viewing distances (typically under 20cm). In the example, two high-gloss surfaces show similar gloss and DOI values but the surface on the right has subtle micro-texture that softens edges in the reflection, reducing the quality of the finish.** ## Difference between Sharpness and DOI - Sharpness concentrates on the *local edge definition* in the reflection, making it very sensitive to small amounts of blurring that soften fine details and lines. - DOI (Distinctness of Image) evaluates the *overall fidelity of the reflected image*, responding more strongly to broader spreading and distortion caused by orange peel and larger‑scale texture than to subtle edge softening. ## Applications - Evaluating polishing quality and surface finish on automotive bodywork, piano and furniture lacquers, consumer electronics and decorative plastics where mirror‑like clarity is critical. - Monitoring process changes (substrate preparation, coating formulation, application and curing) to minimise micro‑texture and orange peel that reduce edge clarity, ensuring consistent premium appearance across parts and batches. ## Technical Specification | Item | Specification / Value | |---------------------------|--------------------------------------------------------------------------------------------------------| | Index name | S (Sharpness) | | Description | Measures the clarity and definition of sharp edges and fine details visible in the reflected image | | Unit | % (0–100%, higher values = crisper reflections) | | Measurement geometry | Specular reflection at 60° (shared with gloss/DOI) | | Measurement principle | Image‑based analysis of local edge contrast and edge width in the reflected pattern | | | Standard analysed area | 18 × 9 mm | | Optional small spot | 4 × 2 mm | | Other analysed areas | Effect / Texture / Polishing modules: up to 10 × 10 mm or 15 × 15 mm, depending on configuration | | Sensitivity | Highly sensitive to ultra‑fine surface texture visible at viewing distances below ~20 cm | | Measurement range | 0–100% | | Repeatability (typical) | ±0.2% sharpness | | Reproducibility (typical) | ±0.5% sharpness | | Primary use | Discriminating very high‑gloss finishes by edge clarity, revealing micro‑texture not seen in gloss alone | --- # Sharpness (TAMS High Gloss) > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ## Sharpness (S) – High gloss mode ### Definition Sharpness (S) is a **perception‑based index** that quantifies how accurately images are reflected in a high gloss surface. It describes how crisp or blurred the reflected pattern appears, linking directly to visual impressions of haze and clarity. ### Unit and range Sharpness is expressed in percent (%), from 0% (very low sharpness, heavily blurred reflection) to 100% (perfect image reproduction with no visible blur). On real automotive clear‑coat surfaces, values typically sit between these extremes depending on coating system and process settings. ### Measurement conditions Sharpness is available in High Gloss Mode when the surface type is set to C‑Coat and a high‑gloss algorithm such as CC‑TAMS‑STD is selected. Measurements should be taken on clean, defect‑free areas with good contact between the TAMS measuring base and the surface. ### Meaning at different viewing distances Sharpness characterises the surface across two practical viewing conditions: - At close distance (approximately <0.5 m), Sharpness indicates how well the surface reproduces fine details of the reflected pattern, such as edges and small features. - At showroom viewing distance (around 1.5 m), Sharpness is closely related to haze and clarity, describing how much the reflected image appears “milky” or washed out versus clean and transparent. High Sharpness means that reflections remain well defined at both distances; low Sharpness indicates that fine detail is lost and the surface appears hazy or smeared. ### Relationship to other parameters and indices Sharpness works together with other TAMS parameters to describe overall appearance: - With **Contrast (C)**, it defines how vivid and detailed the reflection looks, especially on dark, high‑contrast colours. - With **Waviness (W)** and **Dimension (D)**, it helps separate blur caused by haze (sharpness‑related) from distortion caused by large‑scale texture or orange peel. - A rescaled internal metric, **Sharpness‑Q (Sq)**, uses Sharpness and Contrast as inputs to improve the perceptual weighting in the Quality (Q) index; Sq itself is not shown on the instrument but is used in the Quality calculation. ### Typical interpretation - **S > 80%:** Very crisp reflections with minimal haze, typical of high‑end clear‑coat finishes and well‑polished surfaces. - **S ≈ 50–80%:** Poor sharpness for many production finishes. - **S < 50%:** Obvious haze and loss of detail in reflections; surfaces often appear “soft” or dull, signalling coating, curing or polishing issues that reduce perceived quality. In practice, Sharpness can be trended alongside Quality (Q) and Waviness (W) to diagnose whether loss of appearance quality is driven mainly by haze/clarity (low S) or by texture/orange peel (high W), guiding targeted adjustments to paint application, curing or polishing processes. --- # Total Depth > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. **Total Depth** is the sum of all individual [Layer Depths](glossary-of-measurement-parameters-layer-depth.md) of a coating stack, as measured by the [Boring Thickness Module](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-boring-thickness-module.md), in micrometres (µm). ### Definition > **Total Depth [µm]** = Σ Layer Depth_i for i = 1 … N − 1 where N is the number of detected rings in the Säberg-drilled crater and N − 1 is the number of resolved layers. ### Interpretation Total Depth represents the **complete dry-film thickness** of the coating system between the outermost detected ring (top of the coating) and the innermost detected ring (deepest measured layer). This value can be cross-checked against an independent non-destructive total dry-film thickness measurement (magnetic, eddy-current) on the same sample. A close match validates the boring measurement; a large discrepancy usually points to either: - A wrong [Drill Angle](glossary-of-measurement-parameters-drill-angle.md) (most common cause), - A miscalibrated mm/pixel scale of the Aesthetix Aspec camera, or - One or more missing rings — in particular a missing innermost ring will make the Total Depth appear smaller than the true total dry-film thickness. ### Units Always reported in micrometres (µm), formatted with two decimal places. ### In Appearance Elements - **Column:** Total Depth in the Boring Thickness data table - **Detail view:** Shown as "Total Layer Depth" alongside the per-layer table in the expanded result panel. See also: [Layer Depth](glossary-of-measurement-parameters-layer-depth.md), [Drill Angle](glossary-of-measurement-parameters-drill-angle.md), [Boring Thickness Parameters](rhopoint-appearance-elements-using-aesthetix-with-ae-aesthetix-modules-boring-thickness-module-boring-thickness-parameters.md). --- # Unit Perceived Microns pµm > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. The unit "perceived" is calculated from Photometric Stereo Topographical maps from the surface slopes and facets that are visible to the camera and calibrated using a 540µm artifact. Our optical system works best for surfaces with a texture amplitude of 0-1500 (1.5mm) microns with homogeneous reflectivity- in this range the Aesthetix measurement system is linear and obtains results highly correlated to other systems. > [!info] Note that as the texture gets bigger the measurement system becomes less linear-this is because the peaks and valleys of these large structures are less in focus, we also capture shadows in deep valleys that make it difficult to resolve the topography in those areas. --- # Visual Gloss > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ## Parameter description Visual Gloss is a perception-based gloss value that predicts how glossy a surface appears to the human eye, rather than just how much light it reflects in a single direction. It adjusts for effects such as colour, highlight contrast and surrounding brightness so that the scale better matches visual judgements across different materials and finishes. ​ ## How is it measured? The Aesthetix sensor captures a high dynamic range (HDR) image of the specular highlight and surrounding area at the standard 60° gloss geometry. The observer camera captures an image of the surface and measures its luminosity. ![image description](../_images/1767192256271-vg.png) **Reflection data from the gloss camera (1) is virtually combined with surface luminosity information from the observer camera (2) the result is visual gloss which describes the contrast of the gloss highlight against the background colour (3).** Software analyses intensity of the highlight and the background into a Visual Gloss value on a perceptual scale. ​ ## Applications Comparing gloss across different colours, coatings and substrates where standard gloss units do not reliably match what observers see. ​ Setting appearance specifications and pass/fail limits for premium high‑gloss products (automotive, electronics, furniture, decorative parts) using a metric that closely tracks customer perception. ## Technical Specifications | Item | Specification / Value | |-----------------------------------|----------------------------------------------------------------| | Visual gloss index | 60° Visual Gloss (60° V) | | Visual gloss unit | p‑GU (perceptual gloss units) | | Measurement geometry | 60° specular geometry with HDR image capture | | Field of view (FOV) | 18 × 24 mm | | Standard analysed visual‑gloss area | 18 × 9 mm | | Optional small visual‑gloss spot | 4 × 2 mm | | Repeatability, typical | Equivalent to ±0.2 GU over the 10–100 GU gloss range (expressed on the p‑GU scale) | | Reproducibility, typical | Equivalent to ±0.5 GU over the 10–100 GU gloss range (expressed on the p‑GU scale) | --- # Visual Haze > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. Visual Haze Indoors and Outdoors are perception-based haze values that describe how hazy a high‑gloss surface appears under typical indoor or outdoor lighting conditions. ## Parameter description Visual Haze values indicate the loss of contrast and clarity around the specular highlight, expressed on a dedicated VHU scale. Visual Haze Indoors is tuned for viewing under common interior lighting (artificial light, lower illuminance), while Visual Haze Outdoors is tuned for brighter, directional daylight where halos and cloudiness are more noticeable. ## How are they measured? The instrument captures a high‑dynamic‑range image of the specular reflection and adjacent regions at the 60° geometry. Software processes the image using different luminance and contrast weightings that represent indoor or outdoor viewing conditions, converting the result into Visual Haze Indoors (VHU) and Visual Haze Outdoors (VHU) values. ## Applications Visual Haze Indoors: specification and quality control of products primarily viewed under indoor lighting, such as interior automotive trim, furniture, domestic appliances and electronic devices. Visual Haze Outdoors: evaluation of exterior body panels, coated metalwork, signage and other surfaces exposed to daylight, ensuring that haze remains within acceptable limits in bright outdoor conditions. --- # Waviness (Aesthetix) > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. **Waviness** is a surface appearance parameter that quantifies the strength of orange peel – surface waves that distort reflections on otherwise glossy surfaces. ## Parameter description Waviness describes larger‑scale texture features on the surface (typically in the 0.1–10 mm range) that cause reflected straight lines to appear wavy rather than perfectly straight. Higher waviness values indicate more pronounced orange peel and a more obviously distorted reflection, while lower values correspond to smooth, piano‑like finishes with minimal visible structure. ## How is it measured? - The instrument projects a line or pattern onto the surface and records the reflected image using the observer camera. ![image description](../_images/1768300789240-waviness.png) **The distortion of the reflected of a straight line is captured by the observer camera. The visual effect of orange peel can seen in the reflected test charts on the right of the camera images.** - Software analyses how much the reflected line deviates from a mathematically straight reference; these deviations are converted into a waviness value (WU) that is calibrated to align with perception‑based orange‑peel scales at a typical viewing distance of around 1.5 m. ## Interpretation of values - Very low WU values correspond to “piano finish” surfaces with virtually no visible orange peel and a strong impression of quality. - Increasing WU values move through low, standard and high orange‑peel ranges, where the texture becomes clearly visible and increasingly negative for perceived surface quality, especially on dark, high‑gloss colours. ## Applications - Setting and monitoring orange‑peel targets on automotive body panels, bumpers, commercial vehicles and yacht coatings to match appearance standards. - To improve wavines- optimise coating systems, spray parameters, viscosity and curing conditions, waviness may also "telegraph" through from an imperfect substrate. Here is a parameter table for **Waviness**: | Item | Specification / Value | |---------------------------|------------------------------------------------------------------------------------------------------------------| | Index name | Waviness | | Unit | WU (Waviness Units) | | Description | Quantifies orange peel –surface undulations that distort reflections | | Measurement geometry | Specular reflection using projected line light and observer camera at fixed distance and angle | | | Analysed distance | 20mm line on surface. mm | Other analysed areas | Effect / Texture / Polishing modules: up to 10 × 10 mm or 15 × 15 mm, depending on configuration | | Perceptual basis | Scale aligned to human perception of orange peel at ~1.5 m viewing distance (correlated to Rhopoint TAMS scale) | | Typical value ranges (automotive) | < 2 WU: piano finish; 2–5 WU: low orange peel; 5–10 WU: standard orange peel; 10–15 WU: high orange peel | | Measurement range | Approx. 0–30 WU | | Repeatability (typical) | ±0.5 WU | | Reproducibility (typical) | ±1.0 WU | | Primary use | Setting and monitoring orange‑peel levels on high‑gloss coatings such as automotive, marine and furniture | --- # Waviness (TAMS High Gloss) > [!note] Diese Seite ist noch nicht auf Deutsch verfügbar und wird auf Englisch angezeigt. ## Waviness (W) – High gloss mode ### Definition Waviness (W) is a **perception‑based index** that describes the overall wavy or non‑flat character of a high gloss surface. It quantifies how strongly the reflected image is distorted by large‑scale surface waves and orange peel when viewed at typical showroom distance. ### Unit and range Waviness is reported in W‑units on a scale from 0 to 30. - 0 W indicates a visually flat surface with almost no distortion in the reflection. - 30 W represents a very wavy surface with strong, clearly visible distortion. In normal automotive clear‑coat applications, most values fall between these extremes, depending on substrate, coating system and process conditions. ### Measurement conditions Waviness is available in High Gloss Mode when the surface type is set to C‑Coat and a high‑gloss algorithm such as CC‑TAMS‑STD is selected. Measurements should be made on clean, defect‑free areas with good contact between the TAMS measurement base and the surface to ensure that the full texture is captured correctly. ### Visual meaning at showroom distance Waviness is defined with respect to how an observer sees the car at around 1.5 m viewing distance. At this distance, it describes: - The strength of the “orange peel” effect – how much straight lines and reflected features appear to ripple across the panel. - The overall smoothness of the body shape – whether the finish looks “liquid and calm” or “wavy and restless”. Low W gives calm, mirror‑like reflections; high W makes reflections appear broken, wavy and visually busy. ### Relationship to other TAMS parameters and indices Waviness works together with other TAMS metrics to describe appearance: - With **Sharpness (S)** it helps distinguish blur due to haze (low S) from distortion due to surface texture (high W). - With **Dimension (D)** it helps identify whether the dominant orange peel structure is fine or coarse. - W is a key input to the **Quality (Q)** index in High Gloss Mode and is also used (via spectral methods) in the **Harmony (H)** index for panel‑to‑panel matching. ### Typical interpretation - **W < 5:** Very smooth surface with minimal visible orange peel; reflections appear calm and undistorted, suitable for premium Class A areas. - **W ≈ 5–10:** Moderate orange peel that will show visible differences between processes or panels when compared directly. - **W > 10+:** Strong orange peel and distortion; surface looks visibly textured and may not meet high‑end appearance requirements, often indicating the need to optimise coating, levelling or polishing steps. By trending W alongside Quality (Q), Harmony (H), Sharpness (S) and Dimension (D), users can quickly see when loss of appearance is driven mainly by large‑scale texture and target process changes at the most influential paint stages.