Title:
Title:
PTB_ISO_14999-4_KPI_Uncertainty_Tool
Authors:
Authors:
Schake, Markus, Physikalisch-Technische Bundesanstalt (PTB), Fachbereich 4.2, Bild- und Wellenoptik, ORCID: 0000-0002-9883-3494
Contributors:
Contributors:
HostingInstitution: Physikalisch-Technische Bundesanstalt (PTB)
Languages:
Languages:
de
DOI:
DOI:
10.7795/740.20260128
Resource Type:
Resource Type:
PTB: Software, DINI: Software, DataCite: Software
Publisher:
Publisher:
Physikalisch-Technische Bundesanstalt (PTB)
Rights:
Rights:
https://creativecommons.org/licenses/by/4.0/
CC-BY 4.0 International
Dates:
Dates:
Available: 2026-02-03
Classifications:
Classifications:
OCIS 120.3180 Interferometry ; OCIS 120.2830 Height measurements ; OCIS 120.4800 Optical standards and testing ; OCIS 120.6650 Surface measurements, figure
File:
File:
Download File (application/zip) 20.5 MB
MD5 Checksum: 2a885cd62d8464f4a81868dcb857f3da
SHA256 Checksum: c53d3c40b4d8b9d210e8057b17218c1af37ee8bfd43feeda6b7f959a5fa6fd56
Keywords:
Keywords:
ISO 14999-4 ; peak-to-valley ; robust Peak-to-valley ; root-mean-square ; irregularity ; interferometry ; calibration ; measurement uncertainty
Abstract:
Abstract:
The provided python software and Simulation data "PTB_ISO_14999-4_Zernike_Surface_Tool" enables the simulation and/or fitting of surface topographies on circular or rectangular apertures.
The provided python software and Simulation data "PTB_ISO_14999-4_KPI_Uncertainty_Tool" enables the user to determine the expanded measurement uncertainties of characteristic ISO 14999-4 KPIs (PV, PV%, PVr, RMS) in dependence of specified input uncertainties for topography height uncertainty at each Pixel and lateral displacement uncertainty for a specified sample under test (SUT) topography.
The user is enabled to:
-generate simulated custom topographies based on Zernike coefficients
-fit custom measurement data provided in a specified format and use it as input data
-receive the expanded measurement uncertainties of the ISO 14999-4 KPIs (PV, PV%, PVr, RMS) for the selected input data

The main executable files are:
-"ISO_14999-4_KPI_Uncertainty_Tool.py"
-"ISO_14999-4_Zernike_Tool_15_01_2026.py"
User data should be provided via the *.json files as explained in "Instruction for Input data.txt"

For more details about the specific folders and files contained in the package see section "Description of the individual files".
Table of Contents:
Table of Contents:
Description of the individual files:
The subfolders contain:
-"PTB_ISO_14999-4_Zernike_Surface_Tool": To generate and fit topography data and check the implementation of Zernike polynomial fitting.
-"Instruction for Input data.txt" File with explanation about how to use the software.
-Executable python script "ISO_14999-4_Zernike_Tool_15_01_2026.py"
-Auxiliary python script "zernike_poly_xy_cartesian_V16012026.py" with functions used in "ISO_14999-4_Zernike_Tool_15_01_2026.py" to
perform the fitting.
-"parameter_dict.json" a generic *.json file with an example of the data structure for user input, which is evaluated in
"ISO_14999-4_Zernike_Tool_15_01_2026.py"
most of the relevant user modifications may be performed by changing parameters in the "parameter_dict.json"
as explained in "Instruction for Input data.txt".
-Three *.json files "Example_Measurement_data_Masterball.json", "Example_Measurement_data_ZeissDK7417.json","Synthetic_Topodata_rectangle.json" with topography input data examples,
which may be replaced by custom topography data in the same format.


-"PTB_ISO_14999-4_KPI_Uncertainty_Tool": To generate and fit topography data, and evaluate ISO 14999-4 KPI uncertainties in specified scenarios.
-"Instruction for Input data.txt" File with explanation about how to use the software.
-Executable python script "ISO_14999-4_KPI_Uncertainty_Tool.py"
-Auxiliary python script "zernike_poly_xy_cartesian_V16012026.py" with functions used in "ISO_14999-4_KPI_Uncertainty_Tool.py" to
perform the fitting.
-"parameter_dict.json" a generic *.json file with an example of the data structure for user input, which would be evaluated in
"ISO_14999-4_KPI_Uncertainty_Tool.py"
most of the relevant user modifications may be performed by changing parameters in the "parameter_dict.json"
as explained in "Instruction for Input data.txt".
-Three *.json files "Example_Measurement_data_Masterball.json", "Example_Measurement_data_ZeissDK7417.json", "Synthetic_Topodata_rectangle.json" with topography input data
examples, which may be replaced by custom topography data in the same format.
-6 Subfolders "results_*" containing graphical depictions of KPI uncertainties for reference and a "parameter_dict_***.json" file, which
may be used to repeat the specific experiment using "ISO_14999-4_KPI_Uncertainty_Tool.py".
-1 "Nominal_KPIs" folder containing results for the nominal KPIs of the example topographies and "parameter_dict_***.json"
files to repeat the experiments using "ISO_14999-4_KPI_Uncertainty_Tool.py".
Remark:
Remark:
recommended software for execution:
The Software was tested with
-IDE Spyder 6.1.2
-Visual Studio Code Version: 1.107.1
-Python 3.11.4
All software required to run the simulation is open access.
The python toolboxes required are: sys, os, numpy, matplotlib and json, which all may be installed using the "conda" package manager

Authors

Schake, Markus, Physikalisch-Technische Bundesanstalt (PTB), Fachbereich 4.2, Bild- und Wellenoptik, ORCID: 0000-0002-9883-3494

PTB-OAR Menu

Switch language: german flag