Read and analyze surface topographies with Python. This code implements basic classes for handling uniform and nonuniform surface topography data. It contains a rich set of import filters for experimental surface topography data. Surface topographies can be easily analyzed using standard (rms height, power spectrum, ...) and some special purpose (autocorrelation function, variable bandwidth analysis, ...) statistical techniques.
If you use this code, please cite:
- Jacobs, Junge, Pastewka, Surf. Topogr. Metrol. Prop. 1, 013001 (2017)
- Röttger el al., Surf. Topogr. Metrol. Prop. 10, 035032 (2022)
The following badge should say tests passing. This means that all automated tests completed successfully for the master branch.
This README file contains a brief introduction into the code. The full documentation can be found at https://contactengineering.github.io/SurfaceTopography/.
Detailed instruction for the installation are provided in the documentation. If you want to install from source
you need to run git submodule update --init
after a fresh checkout.
The most basic configuration of SurfaceTopography installs all requirements autonomously python3 -m pip install SurfaceTopgography
If you need an editable install (e.g. for development purposes), make sure you disable build isolation:
python3 -m pip install --no-build-isolation -e .
You need to manually install ninja
, meson-python
, pytest
, runtests
, DiscoverVersion
and numpy
before:
python3 -m pip install ninja meson-python pytest runtests DiscoverVersion numpy
ContactEngineering provides container descriptions at the ce-container-stack.
For getting started quickly with Docker and SurfaceTopography
in a ready-to-run JupyterLab environment, try
docker run -p 8888:8888 imteksim/jupyterlab-surfacetopography:latest
Navigate to the JupyterLab server in your browser as instructed by the terminal output and launch a notebook with the SurfaceTopography
kernel.
Development of this project is funded by the European Research Council within Starting Grant 757343 and by the Deutsche Forschungsgemeinschaft within projects PA 2023/2 and EXC 2193.