SpmImages.jl

A julia library to read and display SPM (scanning probe microscopy) images
Author alexriss
Popularity
2 Stars
Updated Last
3 Months Ago
Started In
November 2020

SpmImages.jl

Build Status Coverage Twitter

A julia library to read and display SPM (scanning probe microscopy) images. Currently, Nanonis and GXSM files are supported.

The commands are somewhat similar to the ones in the respective python version imagex.

Installation

Install from the Julia package registry:

pkg> add SpmImages

Getting started

using SpmImages
using Plots  # needs to be manually imported for plotting functions

# load an SPM image
ima = load_image("Image_445.sxm")

# Plot a specific image channel directly from the image
plot_channel(ima, "frequency shift")

# Get a channel as 2D data and directly plot it
c = get_channel(ima, "current");
plot_data(c.data, color=:lapaz, title="current", legend=:none)

# Plot using the Images library
using Images
d = get_channel(ima, "current bwd", origin="upper").data
d = d .- minimum(d)
d = d ./ maximum(d)
Gray.(d)

If you want to load GXSM images, use:

# load one channel
ima = load_image("dataset007-Xp-Topo.nc")

# load all channels into one object
fnames = filter(x -> occursin("dataset007-", x), readdir("nc", join=true))
ima = load_image(fnames)

# get the channel data
d1 = get_channel(ima, "Topo", origin="upper").data
d2 = get_channel(ima, "ADC2 bwd", origin="upper").data

Code examples can be found in the example notebook.

Get in touch

Please post issues, suggestions, and pull requests on github. Follow me on twitter for updates and more information about this project: Twitter

Related projects

  • SpmImageTycoon.jl: App to organize SPM images and spectra.
  • SpmSpectroscopy.jl: Julia library to read and analyze SPM spectra.
  • SpmGrids.jl: Julia library to read and analyze SPM grid spectroscopy.
  • imagex: Python scripts to analyze scanning probe images.
  • gridex: Python scripts to analyze 3D grid data.