Skip to content
Snippets Groups Projects
Select Git revision
  • 109e204e7115e7670291f8609d33e18f0634c335
  • main default protected
2 results

superflat_scripts

  • Clone with SSH
  • Clone with HTTPS
  • Superflat_Scripts

    Description

    A set of Python scripts to standardize metrology data processing among the participant to the Superflat PCP project

    Last updates

    31/05/2023:

    New features added since November 2022:

    • Computation of the PSD when the ROI contains a small number of invalid data points.

      After applying the Tukey window, Invalid data points are interpolated by cubic splines. If the number of bad data points in a line exceeds 20% this line is discarded from further computation. The percentage of invalid points in the ROI is printed to the console.

    • Computation of the sagittal slope errors.

    • Detrending by an X and Y polynomial of specified degree.

    • Saving the processing results in a pickle file for later editing.

    • Bug fixes:

      • Extraction of pixel size from some MX files.
      • Extra blank lines in .xyz files.

    15/11/2022:

    ROI selection window now displays rectangle coordinates when dragging with the mouse. 2nd degree detrending was fixed to handle 'invalid data'.

    Separate class for .datx file handling. Should work for nearly all MetroPro or MX version. Some older datx versions used szip compression. They are readable providing more recenf Hdf5 dlls than the standard ones are installed in the h5py directory.

    Installation

    Superflat_Scripts package requires the following scripts are installed:

    • h5py
    • numpy
    • scipy
    • matplotlib

    It also uses the following packages which should be available with a basic Conda installation

    • math
    • tkinter
    • pathlib

    Installation commands with Conda

    Optionally create a new environment

      conda create -n superflat numpy scipy h5py matplotlib

    or install the required packages in an existing environment

      conda activate myenv
      conda install numpy scipy h5py matplotlib

    Download the Superflat scripts package, either with git command

      git clone https://gitlab.synchrotron-soleil.fr/OPTIQUE/leaps/superflat_scripts

    either by getting and unpacking the zip file available from the Superflat git repository

      https://gitlab.synchrotron-soleil.fr/OPTIQUE/leaps/superflat_scripts/-/archive/main/superflat_scripts-main.zip

    To update the package with a newer version, enter the following command from your superflat_scripts directory

      git pull https://gitlab.synchrotron-soleil.fr/OPTIQUE/leaps/superflat_scripts

    Usage

    Typical use is given by Superflat_main.py. Comment included in this file should help to taylor a script matching your needs

    After activating your environment and switching to Superflat_scripts directory simply type:

      python Superflat_main.py

    Support

    In case you are missing some functionnality or have suggestions for upgrades, please contact Fançois Polack: Francois.polack@synchrotron-soleil.fr

    known issues

    We observed some internal variability in .datx file of different origins. The present implementation is working with .datx files where Surface is stored contiguously without compression. Reading will fail if the Surface dataset is stored in a chunked compressed mode. Please report, with the console output, if you face such an issue.

    Some .datx files seem to contain more than one surface dataset. HeightMap.read_Zygofile will read the first "Surface" dataset pointed in the /MetaData table

    Contributing

    This package was started on sample scripts provided by Uwe Flechsig uwe.flechsig@psi.ch. It has been extended by Fançois Polack francois.polack@synchrotron-soleil.fr, namely to include input from main Zygo interferomtric data formats, exclude invalid data from computations and a prescribed percentage of outlier pixels from the statistics

    Authors and acknowledgment

    License

    This is an open source projects, no idea of the kind of license we should claim for

    Project status

    Version 1.0 First release for test pupose

    Collaborate with your team