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
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
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.23.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.23.0-cp314-cp314-win_amd64.whl (3.5 MB view details)

Uploaded CPython 3.14Windows x86-64

surfacetopography-1.23.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.23.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.23.0-cp314-cp314-macosx_14_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

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

Uploaded CPython 3.13Windows x86-64

surfacetopography-1.23.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.23.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.23.0-cp313-cp313-macosx_14_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

surfacetopography-1.23.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.23.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.23.0-cp312-cp312-macosx_14_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

surfacetopography-1.23.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.23.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.23.0-cp311-cp311-macosx_14_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

surfacetopography-1.23.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.23.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.23.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.23.0.tar.gz.

File metadata

  • Download URL: surfacetopography-1.23.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.23.0.tar.gz
Algorithm Hash digest
SHA256 b13893590fc1444d4a76b829dde0df35f74db81f26e578bf37724c1e8d1dd47b
MD5 340eadb4c30e5d1b8a86919f48f43c45
BLAKE2b-256 7553084daaeef0489d2e667036246db9d0bad8e8ddda01659f9573797161d070

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for surfacetopography-1.23.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 0f3bdf1b4ddb79c6256164ceed809fc632c3936e6c6701e621b0cacfea216bb9
MD5 f701ced3fb02fe9dde7e31fc0b3a8d61
BLAKE2b-256 1a65e702eedcb149cb758e2238202aec97cd040680a06211321fc31c83199551

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for surfacetopography-1.23.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 95eff6ffbe0b3d13a3622bf4c4d0bc6ffa9672b3f94282b177e998702d390bf1
MD5 b1d62becc1e29a423224132c664d0127
BLAKE2b-256 204e019ae896a07f5a96060cb914a21a45c7ee81226c8b4f4d3200ec89baf95a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for surfacetopography-1.23.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4c563388aac205c70705a0bfa33a620b35f064e0ba3693b9a501db6bc3b2d5bd
MD5 df3ea7e91f4979e569b849727eabdfa6
BLAKE2b-256 78d6c1ebc74f6e18d3a7063e1018fcef0f63703bb604a0b7e1a65125d3b677b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for surfacetopography-1.23.0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 768d43a501566ed78ad7f46403166f6cc3e0ba610389cd575e364b4d1f396c1d
MD5 7357b9c1f80eeac68210d3b8870c6e9c
BLAKE2b-256 0c736a3143f49c07a72f9ba1d6f97560385cef9c782132144445751b8a076957

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for surfacetopography-1.23.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ae28317ec95fcb1b31fc0bebfb6029fc8440269c2023660b7bd2f45be12242f2
MD5 822fe3c575d0bedcac0718bf2d3b6ed2
BLAKE2b-256 7fa0c0aa7aab3c076c161126cca2b5b098c963db2c65eb5384450c7120af7785

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for surfacetopography-1.23.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2fd4ce29a9ca44ee7f7714eb09379f3e682f91e40608c6b2b6df206eadfc23a3
MD5 9714a07390b6a8ae631da10c76ad0ac7
BLAKE2b-256 85c28ac71f30954068c87db84bf62ab60172f87f515404775b54d0f099585154

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for surfacetopography-1.23.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 77d20c9ea6bb8a9bf31f7c4fc6293783b9032609327ee85bda6439515b93ace7
MD5 e0656baf8cc4061b8fa29dab05fd8995
BLAKE2b-256 d5b632d0aad19765caadc9c1dcb87271618ec9767841059c73795038f6914e0d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for surfacetopography-1.23.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 6e2a597c8af70016eaa97120fc69da32c92430c84b32926986e4ae4433cff011
MD5 8d11868ee21d4c77de61d53da7716c5e
BLAKE2b-256 387aefe4afbd751c9b91194a82c72157767180130ba95beaec0be45f7c5a7b74

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for surfacetopography-1.23.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 84462d1978d385b07549fe7f7cefeb80066825deff3a475eb319043e08b1b5b9
MD5 8b751727f50881f09fcdcfc563c019cb
BLAKE2b-256 b03723c7e95904db020cb4010bcf291be2b9e1c456e2d2733948043c65a086dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for surfacetopography-1.23.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 eb1fa3779eca0b901155ff732aea499dedf3e28c7ba8034387e9e6471f8b3aaf
MD5 cf8a73646869c0e3d2acac04c182d0ec
BLAKE2b-256 30e726ea5899e397194be30ba8cc09657b54e4310205a296b6d754724aff8e1b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for surfacetopography-1.23.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0d51dd4ff15b8e669f1015a6635ef15c6bffce2ff25490245f53780340d51927
MD5 2071e5a6da6ef525d2f16b85facb02ba
BLAKE2b-256 809de7718b0d35413919e94e0e2987e67e6ec1c82172b7ae80a5419b68eb5b73

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for surfacetopography-1.23.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 7f0284d9d453550c4aab2197e85fe9672b340f106bf64c02167903ea0bae0fb6
MD5 f86d20c8bcfa0a7fdf13a5b6e20e8cb4
BLAKE2b-256 b7ca024a5efdfa0d515ef39f8ae7e060b3a00bd43dd4053eadba8f52dff0bbb7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for surfacetopography-1.23.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 19e37af97ca5cdeb9234677e64e41c3d08f241ba28e50404fb67b23685daecbb
MD5 3a3954f1dd77417ce7fa533aa6dcb571
BLAKE2b-256 ca90ca18506186ad2a92452b9bfafd77a291dd577b81b13d75e6c6fa6e3fa00c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for surfacetopography-1.23.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 673b38005d853467f7b1585073f93c715f0615b8b9b76b0421b82ce5b358febc
MD5 8842732c5ed4420491084b4aabd60347
BLAKE2b-256 82eb2ebe7b1726a86b78175b611971135705ba921debc9b5200a99acc19aab84

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for surfacetopography-1.23.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1c38ef3c72591d33afbb17cfd1cda04670142f9c451334aa8be40bba7614e3b1
MD5 ffbc420c97b54b762d0a89adae373ca4
BLAKE2b-256 3f23b25e6b0cd47f04a79c5c58fa3f9e8c76b4eff8b4c7889e4b09a9b00e3bf3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for surfacetopography-1.23.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f803211e0caea3040a167b2c3e3ac724b2fd1e4a23b92e60b26577b67f257ae2
MD5 cb876485cdcfed7b10bac06c9bb81d33
BLAKE2b-256 7b03285de0ac0b37c55b204447169dcfafdced4ad0c78bfd567444076148eb0b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for surfacetopography-1.23.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 97d828ce6dde296725f333e3275d0e70638241d12346d40789301ed5af8298c2
MD5 e4a8d39e264387d6500a8ed1930e47fb
BLAKE2b-256 3bf22bb7acb508b2a1371f4d90e30725ff1306446db912cd4e846ce01bf04bc0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for surfacetopography-1.23.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ffb2bbe845445d489c13fe1cb210149255873d0f96855c50627de798cd0d6ab4
MD5 0e4fa0e74e31a73b74616324b36f764a
BLAKE2b-256 ed73668f6d9b4cc75cb651ddc24d0940c8711345847b680b379017585776b2ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for surfacetopography-1.23.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ed987df988072de36e152f8bc2a23855d3d7517d182abd5172d6197f5f05dfab
MD5 62973a70ccb5b60e9fe1b553d0009d2c
BLAKE2b-256 753b2bf95335a7daaaa3ad26a1948bfea270f7785513efff4e4177b5d423a167

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for surfacetopography-1.23.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 d9afbc5bbdbab8881060e913be0a383c5a40633087d9f91e6c6a83418f9e5e8a
MD5 4fe05c65d6a58a249e45553136f1da94
BLAKE2b-256 d8a2b1e7b5df8d524d9be4826ad2e7fdbc890d4271e4f6d1df2cea5fd82d32fc

See more details on using hashes here.

Release history Release notifications | RSS feed

1.24.0

21 files

This release

1.23.0 This release

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