profile_params — ROUGHNESS measure op

• Datenarten: signal → table

• Aufruf: import fullseye as fs; fs.ledger.profile_params(p, dx=1.0, n_sampling=5) (die Implementierung direkt: import roughness; roughness.profile_params(p, dx=1.0, n_sampling=5); aus dem Register: opsroughness.get("profile_params"))

Verwendung

Profil-Rauheitskenngrößen Ra/Rq/Rz/Rt/Rp/Rv/Rsk/Rku (ISO 4287).

Argumente

p Bandgefiltertes Profil (1-D).

dx Abtastabstand. Wirkt nicht auf die Parameter selbst, wird aber für die Angabe von sampling_length

benötigt (ohne Einheiten lassen sich die Bedingungen von Rz nicht angeben).

n_sampling Anzahl der Einzelmessstrecken. Default in ISO 4287 ist 5.

★ Gibt Rz und Rt beide zurück —— der Definitionsunterschied wird hier beseitigt Rz nach ISO 4287 ist "die Messstrecke in n_sampling gleiche Teile geteilt und je Abschnitt größte Spitzenhöhe + größte Taltiefe gemittelt". Rt dagegen ist die größte Höhendifferenz über die gesamte Messstrecke. Auf demselben Profil unterscheiden sich die Werte, und je nach Literatur oder Gerät schwankt, was mit "Rz" gemeint ist. Wer beide zurückgibt, kann sie nicht verwechseln.

Gemessen (512 Punkte, Profil bei λc=80 µm abgeschnitten; gewählt wurde eine Zeile mit 1 tiefen Kratzer):

Rz (Mittel über 5 Abschnitte) 1.5076

Rz_max (Maximum der Abschnitte) 5.4706

Rt (gesamte Messstrecke) 5.4706

Rt / Rz 3.63

Da der Kratzer nur in 1 Abschnitt liegt, verdünnt das Mittel über 5 Abschnitte seinen Beitrag auf 1/5. Auf demselben Profil heißen zwei um das 3.6-fache verschiedene Zahlen beide "Rz". Entfernt man aus derselben Zeile nur den Kratzer, sinkt Rt/Rz auf 1.21 —— die Lücke öffnet sich nur bei einem isolierten Merkmal, daher heißt "auf unserem Gerät stimmen sie überein, also sind sie gleich" nur, dass man noch kein Gegenbeispiel getroffen hat.

★ Falle —— das Rz eines einzelnen Profils repräsentiert nicht das flächenhafte Sz Auf einer Fläche mit in Zeilenrichtung laufenden Bearbeitungsspuren (512x512, 4 tiefe Kratzer, λc=80 µm), gemessen mit je 171 Profilen pro Richtung:

• Rq in Spaltenrichtung, senkrecht zu den Riefen, ist das 2.67-fache der parallelen Zeilenrichtung (0.1853 gegenüber 0.0694). Gleiche Oberfläche, gleiches Gerät, nur die Richtung ist anders.

• Rt in Zeilenrichtung streut zwischen Minimum 0.2765 / Maximum 5.4706 um das 19.8-fache.

• Profile, die 80 % des flächenhaften Sz (5.9694) erreichen: 6 von 171 (3.5 %).

Für Rq genügen wenige Profile, für Rz nicht —— selbst beim gleichen 1-D-Profil braucht jeder Parameter eine andere Anzahl. Wer Rz angibt, muss Anzahl und Richtung stets mit angeben.

Details der Definition (Abweichungen von der Norm werden hier ausdrücklich genannt)

• Die Bezugslinie ist die Mittellinie über die gesamte Messstrecke (keine Gerade nach kleinsten Quadraten). Neigung vorher mit surface_form_remove oder surface_filter entfernen.

• Rp / Rv / Rsk / Rku werden über die gesamte Messstrecke berechnet (nicht je Abschnitt gemittelt).

• Ist die Messstrecke nicht durch n_sampling teilbar, wird der Rest verworfen. Die Zahl der verworfenen Punkte wird in dropped_samples zurückgegeben.

fail-closed

• Nicht 1-D / weniger als 8 Punkte / enthält NaN oder Inf.

• n_sampling kleiner als 1, oder weniger als 4 Punkte pro Abschnitt.

• Das Profil ist vollkommen eben (Rq=0).

Ausführlicher Anwendungsleitfaden

• Leitfaden zur Familie surface_roughness

Referenzen (Beispieldaten, Literatur)

• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).

• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.

• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• poc_food_cutting_measure — py -3.11 examples/poc_food_cutting_measure.py

• poc_surface_roughness — py -3.11 examples/poc_surface_roughness.py

Typkompatible Folge-Operatoren (nehmen table als Eingabe)

—

Gleiche Kategorie (measure)

surface_params · surface_psd


*Provenance: roughness.py — ROUGHNESS Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.