Kelvin Probe Force Microscopy (KPFM) data analysis.
Motiviation
Collect useful code for custom Kelvin probe force microscopy experiments into a single repository. The motivation for using a single repository is prior experience and this article.
Structure
A tentative structure for the repository is
kpfm
├── __init__.py
├── _version.py
├── experiment
│ └── __init__.py
├── tests
│ ├── __init__.py
│ └── test_kpfm.py
├── scratch
│ ├── __init__.py
│ └── temporary_code.py
└── util
├── __init__.py
└── plot.py
Each experiment is contained in its own module. The util module collects useful functions and decorators that are useful across a range of modules. Tests are placed in the tests module. Scratch contains a place for code that will not be maintained. If a particular experiment or procedure is useful over a longer period, it can be moved to its own experiment module.
Development life cycle of new code
Workup data and write provisional code in an IPython notebook
- If many data files are going to be processed in this way, move the routine to a new module in scratch.
Workups in scratch come with no guarantees that they will not break.
In practice, it would be useful to create a new copy of the temporary code if there is likely to be significant breakage.
If the experiment is useful enough, copy / edit the scratch code and move it to its own experiment folder. In doing so, we commit to leave the experiment in a usable, backward compatible state, which means consistent LabView code for collecting the data, as well as consistent, backward-compatible routines for working up the data.
The idea would be that with a powerful set of utility, signal processing, and data analysis tools in the kpfm package, many analyses could be performed quickly at (1) or (2). Even having a file in scratch (perhaps copied occasionally as the data analysis or LabView code changes significantly) is a significant improvement over code copied between IPython notebooks. The other consideration is that it is a large investment of time to maintain code, so that code related to a “one-off” experiment should be saved, but not maintained.
Features
TODO
Documentation
The full documentation is at http://kpfm.rtfd.org.
History
0.1.0 (2017-03-28)
First release on GitHub.
Release files for kpfm 0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kpfm-0.3-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Release files / kpfm-0.3-py2.py3-none-any.whl
| Download URL | kpfm-0.3-py2.py3-none-any.whl |
|---|---|
| Size | 29.1 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
dc9eb1b3581580cafbdca5963b0a85db9ebfc70f2577a8a4bb3671168cba1fe6
|
|
BLAKE2b-256 checksum How to use checksums |
853af1b4c5badc1ba9f5d3e458a5ff1fa99c9b089e2e744c3574faa88850758f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |