Changelog

List of changes in-between afmformats releases.

version 0.16.5

  • tests: add test for files that contain force data but no spring constant

version 0.16.4

  • enh: implement AFMData.columns_innate which is a list of columns present in the original data file

  • enh: implement AFMData.reset_data to remove all user-defined column data (i.e. columns not in AFMData.columns_innate or columns that override those)

version 0.16.3

  • fix: setting column data to AFMSegment did not work when column did only exist in raw data property

version 0.16.2

  • enh: implement __setitem__ for AFMSegment

  • ref: make data and raw_data private properties of AFMSegment

version 0.16.1

  • enh: support .jpk-qi-series files (by extension)

  • enh: improve error handling when data exported from the JPK software does not contain encoder scaling offset and multiplier

  • ref: use f-strings more often

version 0.16.0

  • BREAKING CHANGE: “segment” column is no longer boolean, so it cannot be used directly for indexing (#15)

  • fix: support modified AFM workshop file format (#17)

  • fix: segment data via AFMData.appr and AFMData.retr did not use user-defined data to identify segments, but the “segment” column from the raw data (this does not affect PyJibe or nanite which fo not make excessive use of these properties)

  • enh: add “segment count” key to meta data

  • enh: optimize segment handling: new class AFMSegment that caches segment indices (#16)

  • enh: properly test data types of metadata when setting them

version 0.15.0

  • feat: generally support creep-compliance and stress-relaxation data via the new “modalities” (supercedes “modality”) recipe key

  • feat: support for JPK creep-compliance data

  • enh: extract segment duration from JPK files

  • fix: ignore NaN values in JPK property files

  • ref: add separate meta data section for modality-related keys

  • ref: improvements of JPK metadata reader

  • tests: rename test data files to reflect format

version 0.14.4

  • docs: add section for implementing new file formats (#13)

  • fix: IndexError when trying to open .txt files that are no AFM files

  • ref: separate submodule for formats

version 0.14.3

  • enh: implement LazyMetaValue to speed-up loading JPK files

  • enh: perform caching in LazyData (minor speed-up)

version 0.14.2

  • fix: partially revert breaking change in 0.14.0 (“imaging mode” was previously used when exporting data in PyJibe and this metadata key should not change)

  • fix: add detect function for HDF5 format (afmformats attempted to load nanite rating containers)

  • enh: added height span for QMap data

  • tests: add .tab and .h5 test files

  • ref: renamed QMap feature “lowest height” to “height base point”

  • ref: changed prefix to “data” for all QMap data

version 0.14.1

  • fix: populate AFMQMap grid metadata for AFM workshop format (#12)

  • enh: speed-up QMap computation by decorator-based caching

  • ref: move QMap grid index computation to MetaData class

version 0.14.0

  • BREAKING CHANGE: changed ‘mode’ to ‘modality’ throughout afmformats

  • feat: introduced afmformats.AFMGroup, a container for AFMData (#11)

  • feat: introduced afmformats.AFMQMap for managing quantitative AFMData (#11)

  • feat: allow to use other derived classes of AFMData when loading experimental data via the data_classes_by_modality option

  • ref: AFMData.export is deprecated in favor of AFMData.export_data

  • ref: renamed submodule afm_fdist to mod_force_distance

version 0.13.3

  • enh: improve speed when loading data by avoiding accessing data during initialization

  • fix: JPK file format reader speed regression caused by #10 (implemented ArchiveCache)

version 0.13.2

  • enh: make sure people don’t think they can load a data file with a different spring constant or sensitivity

version 0.13.1

  • fix: make sure callback functions are always used

version 0.13.0

  • feat: support zipped AFM workshop map data (#5)

  • feat: added find_data method

  • enh: make MissingMetaDataError class special (missing metadata are stored as property)

  • enh: add “detect” function for JPK file format

  • docs: add missing objects to __all__ (autoapi)

  • ref: code cleanup

version 0.12.6

  • ref: DeprecationWarning: np.float from numpy 1.20

version 0.12.5

  • fix: JPK file format reader kept the zip files open indefinitely which resulted in OSError “Too many open files” (#10)

  • ci: removed appveyor build

version 0.12.4

  • fix: opening .h5 files failed with AttributeError

  • ref: setup.py test is deprecated

version 0.12.3

  • build: migrate to GitHub Actions

version 0.12.2

  • fix: properly sort curves within JPK files

version 0.12.1

  • maintenance release

version 0.12.0

  • ref: rewrite JPK data file reader: new JPKReader class (#4)

  • enh: add new LazyData class for loading data on demand (#4)

version 0.11.0

  • feat: allow defining “detect” method to determine whether a recipe can open a file (#7)

version 0.10.2

  • maintenance release

version 0.10.1

  • fix: parsing issue when loading .ibw files without AM/PM in “Time” metadata (#8)

  • enh: make sure “time” is always parsed as HH:MM:SS.S when adding it to MetaData

  • enh: compute “curve id” and “session id” from “date”, “time”, and “enum” if not given in MetaData

version 0.10.0

  • feat: allow to override metadata when loading data

  • feat: support new file format from AFM workshop (.csv)

  • feat: support new file format from JPK (.jpk-qi-data)

  • feat: support new file format from NT-MDT (.txt exported by Nova)

  • enh: implement AFMFormatRecipe class for handling and verifying recipe dictionaries

  • enh: implement register_format function

version 0.9.0

  • feat: support new file format from Asylum Research, Igor (.ibw)

  • ref: always compute piezo range metadata instead of taking it from the set value in the acquisition settings (JKP format)

version 0.8.0

  • enh: do not export “index” column to HDF5 files to save disk space

  • enh: save column units when exporting to HDF5

  • ref: moved class methods and constants from “afm_fdist” to “afm_data”

  • docs: add code reference, basic usage, and list of file formats

version 0.7.1

  • fix: exporting to HDF5 did not work when a h5py.Group was used

  • fix: exporting to HDF5 did not reset the “enum” key

  • enh: use gzip compression in HDF5 file format

  • enh: allow “h5” and “hdf5” as HDF5 file format specifiers during export

version 0.7.0

  • BREAKING CHANGE: piezo height is now loaded as “calibrated” and not as “nominal” (JPK file format)

  • fix: metadata acquisition “duration” and “point count” only showed data of apporach part (JPK file format)

  • enh: load metadata “speed” and “rate” separately for approach and retract part

  • ref: restructured meta data organization

version 0.6.0

  • feat: force-distance metadata can now be saved and loaded for the .tab file format (#3)

  • feat: implement new HDF5-based file format (read/write)

  • feat: support piezo height (JPK file format)

  • enh: improve parsing of JPK files (#1)

version 0.5.2

  • ref: drop pandas dependency (#2)

version 0.5.1

  • fix: allow “force-modulation” feedback mode

version 0.5.0

  • feat: meta data summary with MetaData.get_summary

version 0.4.1

  • ref: group meta data by topic

  • fix: identifier in JPK file format was actually session identifier

version 0.4.0

  • BREAKING CHANGE: change metadata key names

  • enh: add class for checking metadata

version 0.3.0

  • feat: support tab-separated values file format (.tab)

  • fix: file formats were not registered correctly

  • ref: derive file format errors from own error classes

version 0.2.0

  • compatibility changes towards nanite

version 0.1.0

  • initial version