GNU General Public License v3.0

项目介绍

fredericjs/surfalize 是一个托管在 GitHub 上的开源项目,主要使用 Python 编写,采用 GNU General Public License v3.0 许可证,目前获得 76 个 Star、26 次 Fork。

仓库全名
fredericjs/surfalize
开源许可证
GNU General Public License v3.0
Star 数
76
Fork 数
26
未关闭 Issue
3

README 摘要

)](https://doi.org/10.3390/nano14131076) surfalize is a python package for analyzing microscope topography measurement data in terms of surface roughness and other topographic parameters. It is intended primarily for microtextured surfaces and is supposed to replace software packages such as MountainsMap, MultiFileAnalyzer and Gwyddion for the most common tasks. Surfalize WebApp (beta) Surfalize is now also…

完整内容见 GitHub 原始 README 或本页 。

常见问题

surfalize 用什么语言开发?

主要使用 Python 编写,采用 GNU General Public License v3.0 许可证,目前有 76 个 Star。

surfalize 可以免费商用吗?

仓库标注的许可证为 GNU General Public License v3.0,商用前请先阅读仓库 LICENSE 文件确认授权范围。

如何获取 surfalize 的源码?

可以直接克隆仓库:git clone https://github.com/fredericjs/surfalize.git,默认分支为 main;安装与运行步骤见仓库 README。

surfalize 最近还在维护吗?

仓库最近一次更新为 2 周前,当前有 3 个未关闭 Issue;Star 数为 76,可作为社区活跃度的参考。

关于

A python module to analyze surface roughness and periodic texture parameters

描述取自 GitHub 官方 API,中文内容由 GitRead 中文社区 编辑团队整理。

简要分析

热度分
132
价值分
53
活跃状态
活跃

语言占比

Python

README


PyPI version Documentation Status Python Package Tests Publication

surfalize is a python package for analyzing microscope topography measurement data in terms of surface roughness and other topographic parameters. It is intended primarily for microtextured surfaces and is supposed to replace software packages such as MountainsMap, MultiFileAnalyzer and Gwyddion for the most common tasks.

Surfalize WebApp (beta)

Surfalize is now also available as an interactive webapp under surfalize.com, running entirely clientside powered by pyodide.

Disclaimer

The authors make no guarantees for the correctness of any results obtained using this package. The package is an early work in progress and may introduce changes to both implementation details and public API at any point in time. Any results should be validated against established software to verify their correctness, especially when they are intended to be used for scientific publications.

Some parts of the package are more mature and some are in early development stage.

Cite this library

If you publish data generated with this library, please consider citing this publication:

F. Schell, C. Zwahr, A. F. Lasagni. Surfalize: A Python Library for Surface Topography and Roughness Analysis Designed for Periodic Surface Structures. Nanomaterials. 2024, 13, 1076.

How to install

To install the latest release of surfalize, run the following command:

pip install surfalize

If you want to install from source, clone this git repository and run the following command in the root folder of the cloned repository.

pip install .

While earlier versions used Cython, the current version is pure Python and can be installed without a C-compiler.

Documentation

The documentation is hosted on readthedocs.

Currently supported file formats

Manufacturer Format Reading Writing
Keyence .vk4, .vk6, .vk7 Yes No
Keyence .cag Only extraction No
Leica .plu Yes No
Sensofar .plu, .plux Yes No
Digital Surf .sur Yes Yes
KLA Zeta .zmg Yes No
Wyko .opd Yes No
Nanofocus .nms Yes No
Alicona .al3d Yes Yes
Digital Surf .sdf Yes Yes
Gwyddion .gwy Yes No
Digital Metrology .os3d Yes No
IAU FITS Working Group .fits Yes No
Zygo .dat Yes No
OpenFMC .x3p Yes No
TrueMap .tmd Yes Yes
General .xyz Yes No

Supported roughness parameters

This package aims to implement all field parameters defined in ISO 25178-2:2021. Currently, the following parameters are supported:

Category Parameter Full name Validated against
Height Sa Arithmetic mean height Gwyddion, MountainsMap
Sq Root mean square height Gwyddion, MountainsMap
Sp Maximum peak height Gwyddion, MountainsMap
Sv Maximum valley depth Gwyddion, MountainsMap
Sz Maximum height Gwyddion, MountainsMap
Ssk Skewness Gwyddion, MountainsMap
Sku Kurtosis Gwyddion, MountainsMap
Hybrid Sdr1 Developed interfacial area ratio Gwyddion2, MountainsMap
Sdq Root mean square gradient MountainsMap
Spatial Sal Autocorrelation length -
Str Texture aspect ratio -
Std Texture direction -
Ssw Dominant spatial wavelength -
Functional Sk Core roughness depth MountainsMap
Spk Reduced peak height MountainsMap
Svk Reduced dale height MountainsMap
Spkx Maximum peak height -
Svkx Maximum pit depth -
Sak1 Area of the hills -
Sak2 Area of the dales -
Smr1 / Smrk1 Material ratio 1 MountainsMap
Smr2 / Smrk2 Material ratio 2 MountainsMap
Smr© Areal material ratio MountainsMap
Smc(mr) Inverse areal material ratio MountainsMap
Sxp Peak extreme height MountainsMap
Sdc Material ratio height difference -
Functional (volume) Vmp Peak material volume MountainsMap
Vmc Core material volume MountainsMap
Vvv Dale void volume MountainsMap
Vvc Core void volume MountainsMap
Vm(p) Material volume -
Vv(p) Void volume -

1 Per default, Sdr calculation uses the algorithm proposed by ISO 25178 and also used by MountainsMap By keyword argument, the Gwyddion algorithm can be used instead.
2 Gwyddion does not support Sdr calculation directly, but calculates surface area and projected area.

Supported profile roughness parameters

The Profile class supports the calculation of profile roughness parameters. Profiles can be extracted from a Surface (e.g. via get_horizontal_profile, get_vertical_profile or get_oblique_profile) or constructed directly. The peak/valley parameters Rp, Rv and Rz are evaluated per sampling length and averaged over the evaluation length according to ISO 4287, controlled by the n_sections argument (default 5).

Category Parameter Full name
Height Ra, Rq, Rp, Rv, Rz, Rt Amplitude parameters
Rsk, Rku Skewness, kurtosis
Hybrid Rdq Root mean square slope
Functional Rk, Rpk, Rvk Core / reduced peak / reduced dale
Rpkx, Rvkx Maximum peak height / pit depth
Rak1, Rak2 Area of the hills / dales
Rmr1 / Rmrk1, Rmr2 / Rmrk2 Material ratios
Rmr©, Rmc(mr) (Inverse) material ratio
Rxp, Rdc Extreme height / ratio height diff
Functional (volume) Vmp, Vmc, Vvv, Vvc, Vm(p), Vv(p) Volume parameters

Supported parameters of 1d-periodic surfaces

Additionally, this package supports the calculation of non-standard parameters for periodic textured surfaces with one- dimensional periodic structures. The following parameters can be calculated:

Parameter Description
Period Dominant spatial period of the 1d-surface texture
Depth Peak-to-valley depth of the 1d-texture profiles
Aspect ratio Ratio of peak-to-valley depth to spatial period
Homogeneity Homogeneity factor (0 < H < 1) calculated from Gini analysis
Orientation Clockwise angle of the dominant texture to the vertical axis

Supported operations

Operation Description
Leveling Subtraction of least squares fit to a plane
Zeroing Sets the lowest datapoint of the surface to zero
Centering Sets the average value of the surface elevation to zero
Zooming Magnifies the surface by a specified factor
Cropping Crops the surface in a specified rectangle
Rotation Rotates the surface by a specified angle in degrees
Alignment Aligns the surface with the dominant texture direction by rotation
Outlier removal Removes outliers outside n standard deviation from the mean
Thresholding Thresholding based on areal material ratio
Filtering Applies a Gaussian highpass, lowpass or bandpass filter

评论

暂无评论