pyTEMlib#
Python framework for model based analysis of TEM/STEM data
What?#
The
pyTEMlib
package:is a part of the pycroscopy ecosystem based on python
enables quantitative analysis through model based approach
provides routines for the analysis of diffraction, image and spectroscopic datasets
handles one, two, three, and four dimensional datasets
works in jupyter notebooks and in python programs.
provides dialog windows for metadata and analysis input in jupyter notebooks and in python programs.
The
pyTEMlib
covers:Diffraction: Single and poly crystalline diffraction data and analysis in parallel and convergent illumination
Imaging: Image analysis, atom detection and image stack registration.
EELS: It provides a framework for quantification of EELS spectra and spectrum images.
Just as scipy uses numpy underneath, scientific packages like pyTEMlib use
sidpy format for dataset representation and
pyNSID for all file-handling.
Dialogs are based on ipython widgets
The packages sidpy and pyNSID use popular packages such as numpy, h5py, dask, matplotlib, etc. for most of the storage, computation, and visualization.
Why?#
pyTEMlib originates in the need for teaching and the development of new techniques for TEM/STEM data analysis. Please, see my lecture note(-books) for information on the background of analysis.
1. Growing data sizes
Cannot use desktop computers for analysis
Need: High performance computing, storage resources and compatible, scalable file structures
2. Increasing data complexity
Sophisticated imaging and spectroscopy modes resulting in 5,6,7… dimensional data
Need: Robust software and generalized data formatting
3. Multiple file formats
Different formats from each instrument. Proprietary in most cases
Incompatible for correlation
Need: Open, instrument-independent data format
4. Expensive analysis software
Software supplied with instruments often insufficient / incapable of custom analysis routines
Commercial software (Eg: Matlab, Origin..) are often prohibitively expensive.
Need: Free, powerful, open source, user-friendly software
5. Closed science
Analysis software and data not shared
No guarantees of reproducibility or traceability
Need: open source data structures, file formats, centralized code and data repositories
Who?#
We envision pyTEMlib to be a convenient package that facilitates all scientists to analyse data and develop new methods of anlysis, without being burdened with basic code functionality.
This project is being led by staff members at Oak Ridge National Laboratory (ORNL), and professors at University of Tennessee, Knoxville
We invite anyone interested to join our team to build better, free software for the scientific community
Please visit our credits and acknowledgements_ page for more information.
If you are interested in integrating our in your existing package, please get in touch with us.