All Projects → scholi → Pyspm

scholi / Pyspm

Licence: apache-2.0
Python library to handle Scanning Probe Microscopy Images. Can read nanoscan .xml data, Bruker AFM images, Nanonis SXM files as well as iontof images(ITA, ITM and ITS).

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Pyspm

Uav Mapper
UAV-Mapper is a lightweight UAV Image Processing System, Visual SFM reconstruction or Aerial Triangulation, Fast Ortho-Mosaic, Plannar Mosaic, Fast Digital Surface Map (DSM) and 3d reconstruction for UAVs.
Stars: ✭ 106 (+324%)
Mutual labels:  sfm, image-processing
Ibeabfhr
Image Brightness Enhancement Automatically Based on Fast Haze Removal
Stars: ✭ 23 (-8%)
Mutual labels:  image-processing
Postprocessing
A post processing library that provides the means to implement image filter effects for three.js.
Stars: ✭ 830 (+3220%)
Mutual labels:  image-processing
Prlib
Pre-Recognition Library - library with algorithms for improving OCR quality.
Stars: ✭ 18 (-28%)
Mutual labels:  image-processing
Hass Google Coral
RETIRED - instead use https://github.com/robmarkcole/HASS-Deepstack-object
Stars: ✭ 16 (-36%)
Mutual labels:  image-processing
Schwartz.js
ASCII Art JavaScript library
Stars: ✭ 19 (-24%)
Mutual labels:  image-processing
Ai sudoku
GUI based Smart Sudoku Solver that tries to extract a sudoku puzzle from a photo and solve it
Stars: ✭ 830 (+3220%)
Mutual labels:  image-processing
Logorain Ascii Art
Logorain-ASCII-Art: A simple Image to ASCII Art converter
Stars: ✭ 24 (-4%)
Mutual labels:  image-processing
Concise Ipython Notebooks For Deep Learning
Ipython Notebooks for solving problems like classification, segmentation, generation using latest Deep learning algorithms on different publicly available text and image data-sets.
Stars: ✭ 23 (-8%)
Mutual labels:  image-processing
Dmsmsgrcg
A photo OCR project aims to output DMS messages contained in sign structure images.
Stars: ✭ 18 (-28%)
Mutual labels:  image-processing
Pdi
Códigos produzidos durante a cadeira de processamento de imagens
Stars: ✭ 18 (-28%)
Mutual labels:  image-processing
Ndarray Vision
Computer vision library built on top of ndarray
Stars: ✭ 17 (-32%)
Mutual labels:  image-processing
Mousemorph
Tools for MRI mouse brain morphometry
Stars: ✭ 19 (-24%)
Mutual labels:  image-processing
Pesdk Ios Examples
A fully customizable photo editor for your app.
Stars: ✭ 837 (+3248%)
Mutual labels:  image-processing
Neural Neighbors
A simple web application for browsing similar images
Stars: ✭ 23 (-8%)
Mutual labels:  image-processing
Lightning Bolts
Toolbox of models, callbacks, and datasets for AI/ML researchers.
Stars: ✭ 829 (+3216%)
Mutual labels:  image-processing
Slicergitsvnarchive
Multi-platform, free open source software for visualization and image computing.
Stars: ✭ 896 (+3484%)
Mutual labels:  image-processing
Texturize
Image Quilting for Texture Transfer.
Stars: ✭ 18 (-28%)
Mutual labels:  image-processing
Python Compare Images
This repository is mainly about comparing two images. The technique used is SSIM. i.e. Structural Similarity Index Measure We use some of the inbuilt functions available in python's skimage library to measure the SSIM value. Along with SSIM we also measure the MSE ( Mean Square Error ) To know more about the SSIM technique Refer Here: https://en.wikipedia.org/wiki/Structural_similarity
Stars: ✭ 25 (+0%)
Mutual labels:  image-processing
Kht
Kernel-Based Hough Transform for Detecting Straight Lines in Images
Stars: ✭ 24 (-4%)
Mutual labels:  image-processing

Downloads Build License Python 3.6 DOI

pySPM

pySPM is a python library (python3, but should be compatible with python2) in order to read, handle and plot Scanning Probe Microscopy (SPM) images as well as ToF-SIMS data.

For now it support the following formats:

  • Nanoscan .xml file format
  • Bruker
  • Iontof ToF-SIMS fileformats:
    • ITA
    • ITM
    • ITS
  • Nanonis SXM file

Important

This library is offered as it is and is still in development. Please note that reading the raw data was done by reverse engineering and guessing and not with a manual as the file format is proprietary. It seems to work well with the data used by the developer of this library, but there is NO GUARANTY that this library will work correctly with your own specific data.

If you find bugs and issues, please report them to the developer: https://github.com/scholi/pySPM/issues

Dependencies

This library requires the following packages

  • mendatory
    • numpy
    • scipy
    • matplotlib
  • for PCA
    • scikit-learn
    • pandas
  • for GUI
    • pyQT5
  • displaying progressbar (while passing the prog=True parameter to functions)
    • tqdm

Installation

Just open a terminal (on Windows hit key [WINDOWS]+R, then type cmd, then [ENTER])

pip install pySPM

Documentation

The documentation is still in its early stage read the documentation

There is also a short introduction to pySPM for ToF-SIMS data

Citing

If you use this library for your work, please think about citing it. DOI

Olivier Scholder. (2018, November 28). scholi/pySPM: pySPM v0.2.16 (Version v0.2.16). Zenodo. http://doi.org/10.5281/zenodo.998575

News

ITA files are writable

From now on you can, not only view the ita files, but you can also write them by supplying the parameter readable=False to pySPM.ITA or pySPM.ITM. For the moment this is still a non-user-friendly procedure, but you can edit each ITStr Block with the edit_block() function. Be careful, because if the new data has a different size than the old one, a new block is created, but the old one is also kept. This means that your ITA file size will grow. You can also add new channels and images with the more user-friendly function pySPM.ITA.add_new_images(). ⚠️ It is highly advised to copy the ita file before making any change. You can use the following code to copy the ita in a temporary ita before making any change.

from shutil import copyfile
import pySPM
copyfile(filename, "temp.ita")
A = pySPM.ITA("temp.ita", readonly=False)

New tools

The library comes with three scripts to make your life easier. Those scripts are located in your python folder in the Scripts directory. You can also run them from the command line.

stability

Allows you to select a measurement folder and display the Emission Current and Suppressor voltage in function of the time/scan number. This allows you to verify the stability of your source during your measurements. stability_screenshot

see the wiki for more info

plotter

Allows you to plot the parameter logged by your logfile. If SurfaceLab is running this script will detect which logfile is beeing saved and will display the values live (the plot is refreshed every 3s in order add the new data). You can also provide as first argument the logfile path (or in windows you can drag&drop the logfile over the plotter app). plotter_screenshot

see the wiki for more info

timer

If you are using SurfaceLab, this app will display a small progressbar of your measurement and will calculate the remaining time in function of the elapsed time, the total number of scans and the elapsed number of scan. timer_screenshot

see the wiki for more info

spectra

This tool can display spectra, visualize rapidly peaks assignment and perform fast mass calibration. You can give an ITA filename as argument or if none a GUI filedialog will ask you for one. You will then see your spectrum. You can navigate with the scroll of the mouse to zoom in & out. You can use the keyboard + and - to shift your spectra by ±1 Dalton. You can use left-mouse-button and drag to shift your spectra. You can perform very quick mass calibration by Right-Mouse-Click on one measurement peak (hold the mouse) the move to the element mark you want to assign your peak and release the mouse. The mass calibration values should then be updated on the left table and the mass calibration performed live so that you can see immediately the changes. spectra_screenshot

see the wiki for more info

Toy dataset

As the data are big and not necessary for the library another package pySPM_data was created with several AFM and ToF-SIMS data. After downloding the data from the link above, you can then install it with pip:

pip install pySPM_data-0.2.4-py3-none-any.whl

or update it with

pip install -U pySPM_data-0.2.4-py3-none-any.whl
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].