Releases: AFM-SPM/AFMReader
v0.0.7
This release brings two improvements to AFMReader
.spm
The pixel_to_nm_scaling is sometimes returned as 0 which comes from SPM.pxs() function. If this is the case we instead calculate the pixel_to_nm_scaling from the SPM.size attribute which holds the pixel and real (actual size and unit) for both axes. For now we stick with just using the scale from x-axis so only square images are supported but this may change in the future.
.topostats
With the refactoring of TopoStats to use data classes (see 1284) a .topostats object is now based on the dataclasses which have many attributes that are Numpy arrays. These need decoding when reading from the HDF5 file format that underpins the .topostats format and is now supported.
Pull Requests
- feature(spm): calculate px scaling from size if not available by @ns-rse in #184
- sum loading: Stop defaulting to 1nm/px when pixel to nm scaling cannot be found. by @SylviaWhittle in #181
- fix: decode numpy arrays; feature: topostats versions by @ns-rse in #177
CI and Docs
- ci(pypi): Improves PyPI publishing workflow by @ns-rse in #160
- style: linting docs/usage.md by @ns-rse in #182
- docs: Fix mkdocs DeprecationWarning by @ns-rse in #183
Full Changelog: v0.0.6...v0.0.7
v0.0.6
What's Changed
- tests(jpk): Adds sample
.jpk-qi-imageto test suite by @ns-rse in #155 - feature: new reader for
.h5-jpkfiles by @derollins in #152 - docs: Round out supported file formats by @ns-rse in #156
- [pre-commit.ci] pre-commit-autoupdate by @pre-commit-ci in #158
- Courtesy of Eva: Add µm support for .top, .stp files by @SylviaWhittle in #145
Full Changelog: v0.0.5...v0.0.6
v0.0.5
What's Changed
- Add general loader module by @MaxGamill-Sheffield in #140
- Minimum Python version >= 3.10 by @ns-rse in #143
- packaging: Set pySPM min version to 0.6.2 by @ns-rse in #146
- setup: Use AFM-SPM/pySPM fork by @ns-rse in #147
- chore: Revert pySPM to install from PyPI by @ns-rse in #150
Full Changelog: v0.0.4...v0.0.5
v0.0.4
Main Features
- Support for
.topand.stpfile formats - Improved support for
.jpkscaling
Bugs
- Corrected string clipping of error messages
What's Changed
- tests(spm): Adds test for spm_pixel_to_nm_scaling() by @ns-rse in #87
- ci: Adds pytest-testmon to local pre-commit hooks by @ns-rse in #89
- doc: Adds citing and used by section to README.md by @ns-rse in #91
- Add mypy to pre-commit and improve typehints by @ns-rse in #98
- style: Disable ruff A005 (stdlib-module-shadowing) by @ns-rse in #102
- States the outputs in the usage section by @MaxGamill-Sheffield in #104
- docs: Adds basic documentation using mkdocs by @ns-rse in #103
- feature: Ensure img_path is of type Path by @ns-rse in #108
- tests: FileNotFound consistently raised & tested by @ns-rse in #110
- feature: Returns just dictionary when loading .topostats by @ns-rse in #112
- Add file format STP by @SylviaWhittle in #113
- Scaling JPK data values correctly by @derollins in #118
- feature: introduce config file for JPK tags by @ns-rse in #124
- Vertically reflect JPK images by @derollins in #129
- rm string clipping for error message output by @MaxGamill-Sheffield in #131
- Add file format TOP by @SylviaWhittle in #135
- tests(topostats): Compare versions as strings by @ns-rse in #136
- tests: Adds pytest-loguru to test dependencies by @ns-rse in #137
- tests: make topostats tests flexible to key name by @ns-rse in #138
New Contributors
- @MaxGamill-Sheffield made their first contribution in #104
- @derollins made their first contribution in #118
Full Changelog: v0.0.3...v0.0.4
Hotfix: units when loading spm files
This hotfix addresses a bug where some .spm files fail to load due to having units of pm which weren't supported.
v0.0.2
What's Changed
- Add file type: .topostats by @SylviaWhittle in #53
- Add file type .gwy by @ahobbs7 in #61
- Formatting Gwyddion link correctly by @ns-rse in #62
- chore: Adds fair-software.eu badge to README.md by @ns-rse in #72
- chore: Explicitly define where package files reside by @ns-rse in #79
New Contributors
Full Changelog: v0.0.1...v0.0.2
v0.0.1
This is the initial release of AFMReader (nee topofileformats).
Support is present for reading the following Atomic Force Microscopy formats...
.asd- High-speed AFM.ibw- WaveMetrics.spm- Bruker's Format.jpk- Bruker
What's Changed
- Apply linting and formatting to codebase by @ns-rse in #11
- Adds workflow to run tests by @ns-rse in #12
- Adds code of conduct for contributing; expands README.md by @ns-rse in #18
- Switches to dynamic versioning with setuptools_scm by @ns-rse in #26
- Adds ids to tests via pytest.param by @ns-rse in #30
- Add file type: JPK by @SylviaWhittle in #36
- Add file type: SPM by @SylviaWhittle in #33
- Add file type: IBW by @SylviaWhittle in #34
- chore: Minimum Python 3.9; Splits optional dependencies by @ns-rse in #49
- ci: Add pypi.yaml to automate publishing to PyPI by @ns-rse in #54
- Add encoder option for 9.99 volt asd files by @SylviaWhittle in #50
Full Changelog: https://github.com/AFM-SPM/AFMReader/commits/v0.0.1