A library to analize and plot AFM scans
Project description
README
Overview
This script provides tools for analyzing and visualizing surface profiles exported from Gwyddion .txt files. It allows you to create height maps, profile plots, perform peak/valley detection, and compute statistical metrics and model fits from surface data.
Installation
pip install pygwy_txt_analysis
Important File Naming Convention
To ensure proper ordering in the aggregated plots, the filenames of the .txt files has to have the x-axis parameter as first number in the file name.
1s_sample.txt
5s_sample.txt
10s_sample.txt
Classes and Initialization
PygwyTxt
Handles reading, analysis, and visualization of a single Gwyddion .txt scan file.
Initialization parameters:
file_path: str– Path to the input.txtfile containing surface data.scan_size_x: float– Horizontal scan size in micrometers.scan_size_y: float– Vertical scan size in micrometers.name: str, optional– Custom name for the dataset. Defaults to the filename.peak_finder_settings: PeakFinderSettings, optional– Settings controlling peak/valley detection.skip_header: int, optional– Skips that many rows at the start of the input file. Default: 0.input_unit: astropy.unit, optional– Gives the unit of the data in the input file. Default: astopy.unint.mz_multiplier, optional– Scales the z value with the given multiplier
Key methods:
plot_scan()– Creates a heatmap of the full scan.plot_profile()– Plots the height profile along the central scan line.plot_profile_section(start, stop, line)– Plots a selected section of a chosen scan line.plot_debug(line)– Visualizes detected peaks and valleys for inspection.export_stats()– Saves calculated statistics as a JSON file.
Automatically computed values:
- Mean height and mean period
- Standard deviation, minimum, maximum
StatJson
Collects and processes multiple JSON statistic files to visualize aggregated results or fits.
Initialization parameters:
base_path: str– Directory containing JSON statistic files.
Key methods:
plot(plot_type, x_label, x_unit, plot_name_appendix='', model=None, params=None, show_title=True, x_log=False, y_log=False)– Plots mean and standard deviation of height (plot_type=0) or period (plot_type=1). Optionally applies a model fit.export_plot_data(plot_type)– Exports the plotted data (including fits) to a CSV file.
PeakFinderSettings
Defines configurable parameters for the scipy.signal.find_peaks algorithm to control peak and valley detection.
Initialization parameters (all optional):
height– Required height of peaks.threshold– Required vertical difference between peaks and neighbors.distance– Minimum horizontal distance between peaks.prominence– Required prominence of peaks.width– Required width of peaks.wlen– Window length for peak prominence evaluation.rel_height– Relative height at which the peak width is measured.plateau_size– Range of flat peak plateaus.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pygwy_txt_analysis-0.0.6.tar.gz.
File metadata
- Download URL: pygwy_txt_analysis-0.0.6.tar.gz
- Upload date:
- Size: 26.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f8e40aa5d8e4d64563ce2c5b0ae2ab892bb9bb279364d9868c44243c312b3c72
|
|
| MD5 |
8829ca96532ec5a5ce607de156a54578
|
|
| BLAKE2b-256 |
4700f8018fc93d7be0d2d83e656885833b393bb044d17ee232dcca91a44b80c4
|
File details
Details for the file pygwy_txt_analysis-0.0.6-py3-none-any.whl.
File metadata
- Download URL: pygwy_txt_analysis-0.0.6-py3-none-any.whl
- Upload date:
- Size: 20.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d96d49d978e6bb69002708e7c87b853b087b8386e95cb252189ee9c4f6baf34e
|
|
| MD5 |
dda40893ef29cd1164e661527c0a44ac
|
|
| BLAKE2b-256 |
bb8f5ae555d98a5b8f34d616d0b1f53bf98312f8929bb736f252bd993fe94d42
|