Skip to main content

Build Status

Ask DeepWiki

SurfaceTopography

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.

Quick Start

from SurfaceTopography import read_topography

# Read a topography file (format is auto-detected)
topography = read_topography('surface.opd')

# Get basic properties
print(f"Grid size: {topography.nb_grid_pts}")
print(f"Physical size: {topography.physical_sizes}")
print(f"RMS height: {topography.rms_height_from_area()}")

# Compute the power spectral density (PSD)
q, psd = topography.power_spectrum_from_profile()

# Compute the autocorrelation function (ACF)
r, acf = topography.autocorrelation_from_profile()

# Plot the topography
import matplotlib.pyplot as plt
plt.pcolormesh(*topography.positions_and_heights())
plt.colorbar(label='Height')
plt.show()

Supported File Formats

SurfaceTopography supports over 35 file formats from commercial surface profilometers:

Format Description
al3d Alicona AL3D files
asc ASCII text files (generic)
bcr BCR-STM files
datx Zygo DATX files
di Digital Instruments / Bruker AFM files
ezd Nanosurf EZD files
frt FRT profilometer files
gwy Gwyddion GWY files
h5 HDF5 files
hgt NASA SRTM HGT elevation files
ibw Igor Pro binary wave files (Asylum Research)
jpk JPK Instruments files
lext Olympus LEXT files
mat MATLAB .mat files
mdt NT-MDT (Solver, Ntegra) AFM files
metropro Zygo MetroPro files
mi Park Systems / Molecular Imaging files
mitutoyo Mitutoyo surface roughness files
mnt Digital Surf Mountains MNT files
nc NetCDF files
nmm PTB NMM files
nms Nanofocus NMS files
npy NumPy binary files
oir Olympus OIR files
opd Wyko OPD files
opdx Wyko OPDx files
os3d Digital Metrology OmniSurf3D files
plu Sensofar PLU files
plux Sensofar PLUX files
poir Olympus POIR (zip) files
ps Keyence profilometer files
qep Mahr MarWin QEP profile archives
sdf ISO 25178-71 SDF files
sur Digital Surf SUR files
tmd TrueMap TMD files
vk Keyence VK files
wsxm WSxM files
x3p ISO 25178-72 X3P files
xyz XYZ point cloud files
zmg KLA Zeta ZMG files
zon Keyence ZON files

If you use this code, please cite:

Documentation

This README file contains a brief introduction into the code. The full documentation can be found at https://contactengineering.github.io/SurfaceTopography/.

Installation

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

Funding

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

surfacetopography-1.24.0.tar.gz (1.4 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

surfacetopography-1.24.0-cp314-cp314-win_amd64.whl (3.5 MB view details)

Uploaded CPython 3.14Windows x86-64

surfacetopography-1.24.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

surfacetopography-1.24.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

surfacetopography-1.24.0-cp314-cp314-macosx_14_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

surfacetopography-1.24.0-cp313-cp313-win_amd64.whl (3.4 MB view details)

Uploaded CPython 3.13Windows x86-64

surfacetopography-1.24.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

surfacetopography-1.24.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

surfacetopography-1.24.0-cp313-cp313-macosx_14_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

surfacetopography-1.24.0-cp312-cp312-win_amd64.whl (3.4 MB view details)

Uploaded CPython 3.12Windows x86-64

surfacetopography-1.24.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

surfacetopography-1.24.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

surfacetopography-1.24.0-cp312-cp312-macosx_14_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

surfacetopography-1.24.0-cp311-cp311-win_amd64.whl (3.4 MB view details)

Uploaded CPython 3.11Windows x86-64

surfacetopography-1.24.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

surfacetopography-1.24.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

surfacetopography-1.24.0-cp311-cp311-macosx_14_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

surfacetopography-1.24.0-cp310-cp310-win_amd64.whl (3.4 MB view details)

Uploaded CPython 3.10Windows x86-64

surfacetopography-1.24.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

surfacetopography-1.24.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

surfacetopography-1.24.0-cp310-cp310-macosx_14_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

Details for the file surfacetopography-1.24.0.tar.gz.

File metadata

  • Download URL: surfacetopography-1.24.0.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for surfacetopography-1.24.0.tar.gz
Algorithm Hash digest
SHA256 cfed800b43b497fcb86d38057e36c388aa851348c32f1c452ef53cea4068011d
MD5 e8a417afc6857537ced834d6dc79af6c
BLAKE2b-256 798911366b315a6e0426f762439b8dd32a2f4343dc14094ca139ed0eedcef6d8

See more details on using hashes here.

File details

Details for the file surfacetopography-1.24.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for surfacetopography-1.24.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 ce66d4b9509821bb76d1f02672614cac222dfea7fd44abff1c3f4c1c007f0a77
MD5 c03716e5747fbf0648db756ceb5fcdf7
BLAKE2b-256 9341a0838903169da22a5f3a99703fec3eacb0c7c66476db1319d8ebbedf9c9f

See more details on using hashes here.

File details

Details for the file surfacetopography-1.24.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for surfacetopography-1.24.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f8813f52515cc3210c8c3ad562b7fa8fb31ea7c66b14511a619c143ef2521045
MD5 884be7f04a80f7e592c1af8e511908b6
BLAKE2b-256 d7820c7011f6a882c714557bec458a2447934620f0c33c796c2819d2ee89266f

See more details on using hashes here.

File details

Details for the file surfacetopography-1.24.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for surfacetopography-1.24.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 48bca04c153d5f06b44af0862b6548c779bafa38d71983cdb0ccd3175b6697eb
MD5 bf82e333de254f232900c20448f69f8b
BLAKE2b-256 2a648a3a553a8f067c0c9aacc8afe48b2ab6e14b402cb9875b97ba7b6198b650

See more details on using hashes here.

File details

Details for the file surfacetopography-1.24.0-cp314-cp314-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for surfacetopography-1.24.0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 ef2ef1cbfb04c1ad1c706e8400b8627ef886a7d44ad1491099d0d504997063f3
MD5 3197af028f9c713156c880b2b9549539
BLAKE2b-256 718748d7bc2d13e04ce0c3ca804f2674d20ecb5a82a9a1de8d43267ec3a93222

See more details on using hashes here.

File details

Details for the file surfacetopography-1.24.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for surfacetopography-1.24.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f20e15425f2bbe612591558c4617bddf33974784ef71ac8b05a23946013cf2c4
MD5 052b7fbab551409bd43571bca02d689f
BLAKE2b-256 3b5f29f0a03606b038ca5a9cfb042ff50ac92d45995ef9c900ab342e37a80219

See more details on using hashes here.

File details

Details for the file surfacetopography-1.24.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for surfacetopography-1.24.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 02da140cf40d50a0767ed6053362ec17c36f3e2c3b30f60a66bdb57a5f5d41c4
MD5 b663d0da05ec96a0e789112aa690a183
BLAKE2b-256 29be6158adfe887c4e22a7daf759336d2c51729b758b52be8dac6b5e866ca24f

See more details on using hashes here.

File details

Details for the file surfacetopography-1.24.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for surfacetopography-1.24.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 434497ee72470ef503b3d3274fe55102e35a4cbfba9df1f3767802c717291c93
MD5 7b43e97cff5197e0a1ee7c633c5522cf
BLAKE2b-256 5639f92472a59058b5502601f3ec30d6a71104eb6120ac399f8861ffbba97d40

See more details on using hashes here.

File details

Details for the file surfacetopography-1.24.0-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for surfacetopography-1.24.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 48c17a9fe21ef8d6ffff3da813ec33150dcadfbf17b9408be2c0b610a0179252
MD5 b819e1dabab9cd1d08cdfd50fb008db4
BLAKE2b-256 679de0174aef28f8c7a76dc237e9fe31866937f751b4330af078c783bde742d0

See more details on using hashes here.

File details

Details for the file surfacetopography-1.24.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for surfacetopography-1.24.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 08b98c420afb12d35eff3e3f349c0781517fbc1380bc10ba99f13016af1ebd8c
MD5 3eea65da1c8800e6699be6c421453adc
BLAKE2b-256 64269b8795ef54b1c7a8536b3157d244487a170ec5cf0cb89fd29b3f5830e21f

See more details on using hashes here.

File details

Details for the file surfacetopography-1.24.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for surfacetopography-1.24.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9142a1effb4e16de80c92db578a3c82e9b71a115c1f52e557f363679b43a4d85
MD5 afc062532d616d7b7cc958251a137775
BLAKE2b-256 7def0fb0ccbe8eb35a68a530db2fa1afec7610fbb1b48e2271571b536c281253

See more details on using hashes here.

File details

Details for the file surfacetopography-1.24.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for surfacetopography-1.24.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8b25db781a9b4a0b56c2d425ebffa55a1738a2c41b5a9e28919e977e37c0dbdd
MD5 d77b9f30736f5e78d7a687a3a9b87f32
BLAKE2b-256 f304598395d812c01b784bf5b9f580d6e564879b1f564acc18526fd3fcc7200d

See more details on using hashes here.

File details

Details for the file surfacetopography-1.24.0-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for surfacetopography-1.24.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 3c044ac7a0b05eeaf51c1cd1d82f8961c9292c960f0d8ecadde8aebd67bb950c
MD5 ee643ab23d2638a1f383e0997f0d974d
BLAKE2b-256 27e7dbbb3d620238e0565715c1d197cc9c380a60c70376607d315924781a2255

See more details on using hashes here.

File details

Details for the file surfacetopography-1.24.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for surfacetopography-1.24.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9ec5516a5b081841588ca62bd4e6e1c2eaa7ec4ba4cc6515e28a8b8546d2d4cd
MD5 eb26b26423360093345fc2dde30ac62a
BLAKE2b-256 a996fbb05214f99a45e0c1706ef43b24bbafcef990f2837c4b9fe74ea13fe9f7

See more details on using hashes here.

File details

Details for the file surfacetopography-1.24.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for surfacetopography-1.24.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dbb876a94cb457ae7f6b5eefd61d06f6f1a21bdc8b8e91e35e250e4ff9da4605
MD5 0515c2869dac04f2ec0e73c24f358160
BLAKE2b-256 0df03b68d21d00908c5023b48b12dfb77ff9f4d1f777fe7dc6e747026ddc42cf

See more details on using hashes here.

File details

Details for the file surfacetopography-1.24.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for surfacetopography-1.24.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a6e62b38d7e2e87f337d2e8ea4e849b701d56133e616c393ef4cd2134c2bf5fa
MD5 ef50dde61c5bd2b3995a4b4e70bd582c
BLAKE2b-256 175795a03f3da40f3e2b4039d58b585bbe857fbbc751e81414bced42619cd854

See more details on using hashes here.

File details

Details for the file surfacetopography-1.24.0-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for surfacetopography-1.24.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 36eb1622a55fe85ba881ba01ca1a2fbd18d9dc15bc959380c8749916c666e2d6
MD5 e61a5a4de6897c351e7adf162b0375a9
BLAKE2b-256 8bad76cb03e76dc9c29c38b0956fe968c3a63068b459bb48b2151e42c70b867d

See more details on using hashes here.

File details

Details for the file surfacetopography-1.24.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for surfacetopography-1.24.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 45cff9684ba40e169649550aa915cc3b9e8f541498979004cd4ffc061f2a2979
MD5 46f5f0c405395d8147b90164fe75c362
BLAKE2b-256 09d7cb54d819f351a4108fe6cf4568122e335067dd4b171a9034b8bfc1451700

See more details on using hashes here.

File details

Details for the file surfacetopography-1.24.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for surfacetopography-1.24.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1eca2e5d06d1091ee97a78d2a00c9800057331be10eba5a615905d2b1d5e3b9a
MD5 b8404162b3e396e3453b38031ee61371
BLAKE2b-256 2d1bbf1eae8740a966093cc837431ab54617253b160ff2bb23fb6f85ea44512c

See more details on using hashes here.

File details

Details for the file surfacetopography-1.24.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for surfacetopography-1.24.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 00ed1e9be403968a216f4d595b60a2280b883d86f4240a73c14e6860f957882d
MD5 ae7a5f1e43c3694ee454a6c31287d875
BLAKE2b-256 7c8df0c7f9105ff0301b18560ad7c9a320afde3e4b32e86fc36239a65d6bb7f4

See more details on using hashes here.

File details

Details for the file surfacetopography-1.24.0-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for surfacetopography-1.24.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 c4558b1bd3332c9df37dab76d09b7d1fe7f1ad91278428e43554f07e29aea412
MD5 ed37ef087bc5b26da0d463ae8a41e5b5
BLAKE2b-256 644b8da217263561b5b3e28b401d70258d0f3ef4bad80553eb8cf3cc88166477

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.24.0 This release

21 files

1.23.0

21 files

1.22.0

21 files

1.21.1

20 files

1.21.0

21 files

1.20.0

16 files

1.19.1

21 files

1.19.0

21 files

1.18.3

21 files

1.18.2

21 files

1.18.1

21 files

1.18.0

21 files

1.17.1

21 files

1.17.0

21 files

1.16.2

16 files

1.16.1

16 files

1.16.0

16 files

1.15.1

16 files

1.15.0

16 files

1.14.2

6 files

1.14.1

6 files

1.14.0

6 files

1.13.13

6 files

1.13.12

6 files

1.13.11

6 files

1.13.10

6 files

1.13.9

6 files

1.13.8

6 files

1.13.7

6 files

1.13.6

6 files

1.13.5

6 files

1.13.4

6 files

1.13.3

6 files

1.13.2

6 files

1.13.1

5 files

1.13.0

5 files

1.12.2

4 files

1.12.1

1 file

1.12.0

1 file

1.11.3

4 files

1.11.2

4 files

1.11.1

4 files

1.11.0

4 files

1.10.1

4 files

1.10.0

4 files

1.9.0

4 files

1.8.0

4 files

1.7.0

4 files

1.6.3

4 files

1.6.2

4 files

1.6.1

4 files

1.6.0

4 files

1.5.0

4 files

1.4.1

4 files

1.4.0

4 files

1.3.3

5 files

1.3.2

5 files

1.3.1

5 files

1.3.0

5 files

1.2.6

1 file

1.2.5

1 file

1.2.4

1 file

1.2.3

1 file

1.2.2

1 file

1.2.1

2 files

1.2

2 files

1.1

2 files

1.0

2 files

0.101.3

2 files

0.101.2

2 files

0.101.1

2 files

0.101.0

2 files

0.100.3

2 files

0.100.2

2 files

0.100.1

2 files

0.100.0

2 files

0.99.3

2 files

0.99.2

2 files

0.99.1

2 files

0.99.0

2 files

0.98.2

2 files

0.98.1

2 files

0.98.0

2 files

0.97.5

2 files

0.97.4

2 files

0.97.3

2 files

0.97.2

2 files

0.97.1

2 files

0.97.0

2 files

0.96.0

2 files

0.95.2

2 files

0.95.1

2 files

0.95.0

2 files

0.94.0

2 files

0.93.0

2 files

0.92.0

3 files

0.91.5

2 files

0.91.4

2 files

0.91.3

2 files

0.91.2

2 files

0.91.0

1 file

0.90.0

1 file

0.0.0

31 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page