Organize Scanning Probe Microscopy (SPM, STM, AFM) Images and Spectra.
GPL-3.0 License
Cross-platform app to manage and edit scanning probe microscopy (SPM) images and spectra. It supports scanning tunneling microscopy (STM) and atomic force microscopy (AFM) images and spectra.
Features Demo Supported file formats Disclaimer Installation Installation (alternative) Cite Case study Tips and tricks Accessing the database Technical background Third party libraries Contribute Related projects
It is best to play around with the app yourself, so go ahead and install it.. Example data can be found in the test directory.
Currently, Nanonis files have the most extensive support. GXSM and Asylum Research file support is implemented and needs further testing. If you want to contribute to the development or testing, please get in touch with me. If you come across any issues or have suggestions for other file formats, please let me know.
Currently, the app should be considered experimental. It has undergone limited testing and I can not guarantee that it will work flawlessly. It is conceivable that some of the calculations potentially give erroneous results under certain circumstances.
The app never modifies or deletes your original data. However, in case of any unexpected problems, you might lose the modifications saved within the app. Even though this has never happened to me, I still advice to backup the database regularly (I personally do not do that, though). The app creates a database in each project directory under _spmimages_cache/db.jld2
(some older versions of this file are kept as well). This file contains all your edits, keywords, etc. and can be copied as a backup. Any filesystem backup solution should handle this.
Please only use the app if you read the disclaimer above and feel brave enough to do so.
Use SpmImage Tycoon Installer. It will install a compiled version of SpmImage Tycoon with much improved startup speed. Furthermore, it can create startmenu and desktop shortcuts. This way of installation also allows to copy the app from one computer to another, by simply copying the installation directory.
Usage is simple:
using Pkg
Pkg.add("SpmImageTycoonInstaller")
using SpmImageTycoonInstaller
install()
This will install a compiled version of SpmImage Tycoon. The installation will typically take 10 to 20 minutes and take up around 1 GB of space. The same procedure can be used to update to the latest version.
As an alternative to the automatic installation process described above, you can manually install SpmImage Tycoon:
using Pkg
Pkg.add("SpmImageTycoon")
using SpmImageTycoon
tycoon()
(if there are any firewall requests, please accept them - it is only for local server/client communication)
using Pkg
Pkg.update()
If you use the app for your scientific work, please consider citing it:
@article{Riss_JOSS_2022,
doi = {10.21105/joss.04644},
url = {https://doi.org/10.21105/joss.04644},
year = {2022},
publisher = {The Open Journal},
volume = {7},
number = {77},
pages = {4644},
author = {Alexander Riss},
title = {SpmImage Tycoon: Organize and analyze scanning probe microscopy data},
journal = {Journal of Open Source Software}
}
You can stop reading here and start using the app now.
julia --threads=auto
. This is automatically done by the SpmImage Tycoon Installer.<homedir>/.spmimagetycoon/settings.toml
file.The app uses a HDF5-compatible database, which can be read using Python, Julia, or any other language that supports HDF5. An example of how to access the database using Python is shown here.
Ok, now you really can stop reading.
The app is written in Julia, using Blink.jl for the Electron-based frontend.
The Julia source code is in the src directory, the HTML, CSS, and JavaScript source code for the frontend is in the res directory.
The program relies on
The following javascript and css libraries are included in the app:
Contributions are very welcome. Please post issues, suggestions, and pull requests on github. If you want to contribute to the code, take a look at the technical background and contribution guidelines; and please get in touch with me.
Follow me on X (twitter) for updates and more information about this project: