A suite of Python libraries for high performance scientific computing of microscopy data.
Project description
==========
pycroscopy |statusimage|
==========
.. |statusimage| image:: https://travis-ci.org/pycroscopy/pycroscopy.svg?branch=master
.. contents::
What is pycroscopy?
-------------------
pycroscopy is a `python <http://www.python.org/>`_ package for image processing and scientific analysis of imaging modalities such as multi-frequency scanning probe microscopy, scanning tunneling spectroscopy, x-ray diffraction microscopy, and transmission electron microscopy.
With `pycroscopy <https://pycroscopy.github.io/pycroscopy/>`_ we aim to:
1. Serve as a hub for collaboration across scientific domains (microscopists, material scientists, biologists...)
2. provide a community-developed, open standard for data formatting
3. provide a framework for developing data analysis routines
4. significantly lower the barrier to advanced data analysis procedures by simplifying I/O, processing, visualization, etc.
To learn more about the motivation, general structure, and philosophy of pycroscopy, please read this `short introduction <https://github.com/pycroscopy/pycroscopy/blob/master/docs/pycroscopy_2017_07_11.pdf>`_.
Package Structure
-----------------
The package structure is simple, with 4 main modules:
1. `io`: Input/Output from custom & proprietary microscope formats to HDF5.
2. `processing`: Multivariate Statistics, Machine Learning, and Filtering.
3. `analysis`: Model-dependent analysis of information.
4. `viz`: Plotting functions and interactive jupyter widgets to visualize multidimenional data
Once a user converts their microscope's data format into an HDF5 format, by simply extending some of the classes in `io`, the user gains access to the rest of the utilities present in `pycroscopy.*`.
Installation
------------
Pycroscopy requires many commonly used python packages such as numpy, scipy etc. To simplify the installation process, we recommend the installation of Anaconda which contains most of the prerequisite packages as well as a development environment - Spyder.
1. Recommended - uninstall existing Python distribution(s) if installed. Restart computer afterwards.
 2. Install Anaconda 4.2 (Python 3.5) 64-bit - `Mac <https://repo.continuum.io/archive/Anaconda3-4.2.0-MacOSX-x86_64.pkg>`_ / `Windows <https://repo.continuum.io/archive/Anaconda3-4.2.0-Windows-x86_64.exe>`_ / `Linux <https://repo.continuum.io/archive/Anaconda3-4.2.0-Linux-x86_64.sh>`_
3. Install pycroscopy - Open a terminal (mac / linux) or command prompt (windows - if possible with administrator priveleges) and type:
.. code:: bash
pip install pycroscopy
4. Enjoy pycroscopy!
If you already have pycroscopy installed and want to update to the latest version, use the following command:
.. code:: bash
pip install -U --no-deps pycroscopy
If it does not work try reinstalling the package:
.. code:: bash
pip uninstall pycroscopy
pip install pycroscopy
If you would like to quickly view HDF5 files generated by and used in pycroscopy, we recommend `HDF View <https://support.hdfgroup.org/products/java/hdfview/>`_
Compatibility
~~~~~~~~~~~~~
* Pycroscopy was initially developed in python 2 but all current / future development for pycroscopy will be on python 3.5+. Nonetheless, we will do our best to ensure continued compatibility with python 2.
* We currently do not support 32 bit architectures
Getting Started
---------------
* Follow the instructions above to install pycroscopy
* See how we use pycroscopy for our scientific research in these `jupyter notebooks <https://github.com/pycroscopy/pycroscopy/blob/master/jupyter_notebooks/>`_. Many of them are linked to journal publications listed below.
* Please see the official `jupyter <http://jupyter.org>`_ website for more information about notebooks. This `youtube video <https://www.youtube.com/watch?v=HW29067qVWk>`_.
* See our `examples <https://pycroscopy.github.io/pycroscopy/auto_examples/index.html>`_ to get started on using and writing your own pycroscopy functions
* Videos and other tutorials are available at the `Institute For Functional Imaging of Materials <http://ifim.ornl.gov/resources.html>`_
* For more information about our functions and classes, please see our `API <https://pycroscopy.github.io/pycroscopy/pycroscopy.html>`_
* We have many translators that transform data from popular microscope data formats to pycroscopy compatible .h5 files. We also have `tutorials to get you started on importing your data to pycroscopy <https://pycroscopy.github.io/pycroscopy/auto_examples/plot_translator_tutorial.html#sphx-glr-auto-examples-plot-translator-tutorial-py>`_.
* Details regarding the defention, implementation, and guidelines for pycroscopy's `data format <https://github.com/pycroscopy/pycroscopy/blob/master/docs/Data_Format.md>`_ for `HDF5 <https://github.com/pycroscopy/pycroscopy/blob/master/docs/Pycroscopy_Data_Formatting.pdf>`_ are also available.
Journal Papers using pycroscopy
-------------------------------
1. `Big Data Analytics for Scanning Transmission Electron Microscopy Ptychography <https://www.nature.com/articles/srep26348>`_ by S. Jesse et al., Scientific Reports (2015); jupyter notebook `here 1 <http://nbviewer.jupyter.org/github/pycroscopy/pycroscopy/blob/master/jupyter_notebooks/Ptychography.ipynb>`_
Â
2. `Rapid mapping of polarization switching through complete information acquisition <http://www.nature.com/articles/ncomms13290>`_ by S. Somnath et al., Nature Communications (2016); jupyter notebook `here 2 <http://nbviewer.jupyter.org/github/pycroscopy/pycroscopy/blob/master/jupyter_notebooks/G_mode_filtering.ipynb>`_
Â
3. `Improving superconductivity in BaFe2As2-based crystals by cobalt clustering and electronic uniformity <http://www.nature.com/articles/s41598-017-00984-1>`_ by L. Li et al., Scientific Reports (2017); jupyter notebook `here 3 <http://nbviewer.jupyter.org/github/pycroscopy/pycroscopy/blob/master/jupyter_notebooks/STS_LDOS.ipynb>`_
Â
4. `Direct Imaging of the Relaxation of Individual Ferroelectric Interfaces in a Tensile-Strained Film <http://onlinelibrary.wiley.com/doi/10.1002/aelm.201600508/full>`_ by L. Li et al.; Advanced Electronic Materials (2017), jupyter notebook `here 4 <http://nbviewer.jupyter.org/github/pycroscopy/pycroscopy/blob/master/jupyter_notebooks/BE_Processing.ipynb>`_
5. Many more coming soon....
International conferences and workshops using pycroscopy
--------------------------------------------------------
* Dec 2017 - Materials Research Society conference
* Oct 31 2017 @ 6:30 PM - American Vacuum Society conference; Session: SP-TuP1; poster 1641
* Aug 9 2017 @ 8:30 - 10:00 AM - Microscopy and Microanalysis conference; X40 - Tutorial session on `Large Scale Data Acquisition and Analysis for Materials Imaging and Spectroscopy <http://microscopy.org/MandM/2017/program/tutorials.cfm>`_ by S. Jesse and S. V. Kalinin
* Aug 8 2017 @ 10:45 AM - Microscopy and Microanalysis conference - poster session
* Apr 2017 - Lecture on `atom finding <https://physics.appstate.edu/events/aberration-corrected-stem-teaching-machines-and-atomic-forge>`_
* Dec 2016 - Poster + `abstract <https://mrsspring.zerista.com/poster/member/85350>`_ at the 2017 Spring Materials Research Society (MRS) conference
Contact us
----------
* We are interested in collaborating with industry members to integrate pycroscopy into instrumentation or analysis software and can help in exporting data to pycroscopy compatible .h5 files
* We can work with you to convert your file formats into pycroscopy compatible HDF5 files and help you get started with data analysis.
* Join our slack project at https://pycroscopy.slack.com to discuss about pycroscopy
* Feel free to get in touch with us at pycroscopy (at) gmail [dot] com
* If you find any bugs or if you want a feature added to pycroscopy, raise an `issue <https://github.com/pycroscopy/pycroscopy/issues>`_. You will need a free Github account to do this
* If you would like to help us and are looking for topics we are / will work on, please look at our `To Do <https://github.com/pycroscopy/pycroscopy/blob/master/ToDo.rst>`_ page
pycroscopy |statusimage|
==========
.. |statusimage| image:: https://travis-ci.org/pycroscopy/pycroscopy.svg?branch=master
.. contents::
What is pycroscopy?
-------------------
pycroscopy is a `python <http://www.python.org/>`_ package for image processing and scientific analysis of imaging modalities such as multi-frequency scanning probe microscopy, scanning tunneling spectroscopy, x-ray diffraction microscopy, and transmission electron microscopy.
With `pycroscopy <https://pycroscopy.github.io/pycroscopy/>`_ we aim to:
1. Serve as a hub for collaboration across scientific domains (microscopists, material scientists, biologists...)
2. provide a community-developed, open standard for data formatting
3. provide a framework for developing data analysis routines
4. significantly lower the barrier to advanced data analysis procedures by simplifying I/O, processing, visualization, etc.
To learn more about the motivation, general structure, and philosophy of pycroscopy, please read this `short introduction <https://github.com/pycroscopy/pycroscopy/blob/master/docs/pycroscopy_2017_07_11.pdf>`_.
Package Structure
-----------------
The package structure is simple, with 4 main modules:
1. `io`: Input/Output from custom & proprietary microscope formats to HDF5.
2. `processing`: Multivariate Statistics, Machine Learning, and Filtering.
3. `analysis`: Model-dependent analysis of information.
4. `viz`: Plotting functions and interactive jupyter widgets to visualize multidimenional data
Once a user converts their microscope's data format into an HDF5 format, by simply extending some of the classes in `io`, the user gains access to the rest of the utilities present in `pycroscopy.*`.
Installation
------------
Pycroscopy requires many commonly used python packages such as numpy, scipy etc. To simplify the installation process, we recommend the installation of Anaconda which contains most of the prerequisite packages as well as a development environment - Spyder.
1. Recommended - uninstall existing Python distribution(s) if installed. Restart computer afterwards.
 2. Install Anaconda 4.2 (Python 3.5) 64-bit - `Mac <https://repo.continuum.io/archive/Anaconda3-4.2.0-MacOSX-x86_64.pkg>`_ / `Windows <https://repo.continuum.io/archive/Anaconda3-4.2.0-Windows-x86_64.exe>`_ / `Linux <https://repo.continuum.io/archive/Anaconda3-4.2.0-Linux-x86_64.sh>`_
3. Install pycroscopy - Open a terminal (mac / linux) or command prompt (windows - if possible with administrator priveleges) and type:
.. code:: bash
pip install pycroscopy
4. Enjoy pycroscopy!
If you already have pycroscopy installed and want to update to the latest version, use the following command:
.. code:: bash
pip install -U --no-deps pycroscopy
If it does not work try reinstalling the package:
.. code:: bash
pip uninstall pycroscopy
pip install pycroscopy
If you would like to quickly view HDF5 files generated by and used in pycroscopy, we recommend `HDF View <https://support.hdfgroup.org/products/java/hdfview/>`_
Compatibility
~~~~~~~~~~~~~
* Pycroscopy was initially developed in python 2 but all current / future development for pycroscopy will be on python 3.5+. Nonetheless, we will do our best to ensure continued compatibility with python 2.
* We currently do not support 32 bit architectures
Getting Started
---------------
* Follow the instructions above to install pycroscopy
* See how we use pycroscopy for our scientific research in these `jupyter notebooks <https://github.com/pycroscopy/pycroscopy/blob/master/jupyter_notebooks/>`_. Many of them are linked to journal publications listed below.
* Please see the official `jupyter <http://jupyter.org>`_ website for more information about notebooks. This `youtube video <https://www.youtube.com/watch?v=HW29067qVWk>`_.
* See our `examples <https://pycroscopy.github.io/pycroscopy/auto_examples/index.html>`_ to get started on using and writing your own pycroscopy functions
* Videos and other tutorials are available at the `Institute For Functional Imaging of Materials <http://ifim.ornl.gov/resources.html>`_
* For more information about our functions and classes, please see our `API <https://pycroscopy.github.io/pycroscopy/pycroscopy.html>`_
* We have many translators that transform data from popular microscope data formats to pycroscopy compatible .h5 files. We also have `tutorials to get you started on importing your data to pycroscopy <https://pycroscopy.github.io/pycroscopy/auto_examples/plot_translator_tutorial.html#sphx-glr-auto-examples-plot-translator-tutorial-py>`_.
* Details regarding the defention, implementation, and guidelines for pycroscopy's `data format <https://github.com/pycroscopy/pycroscopy/blob/master/docs/Data_Format.md>`_ for `HDF5 <https://github.com/pycroscopy/pycroscopy/blob/master/docs/Pycroscopy_Data_Formatting.pdf>`_ are also available.
Journal Papers using pycroscopy
-------------------------------
1. `Big Data Analytics for Scanning Transmission Electron Microscopy Ptychography <https://www.nature.com/articles/srep26348>`_ by S. Jesse et al., Scientific Reports (2015); jupyter notebook `here 1 <http://nbviewer.jupyter.org/github/pycroscopy/pycroscopy/blob/master/jupyter_notebooks/Ptychography.ipynb>`_
Â
2. `Rapid mapping of polarization switching through complete information acquisition <http://www.nature.com/articles/ncomms13290>`_ by S. Somnath et al., Nature Communications (2016); jupyter notebook `here 2 <http://nbviewer.jupyter.org/github/pycroscopy/pycroscopy/blob/master/jupyter_notebooks/G_mode_filtering.ipynb>`_
Â
3. `Improving superconductivity in BaFe2As2-based crystals by cobalt clustering and electronic uniformity <http://www.nature.com/articles/s41598-017-00984-1>`_ by L. Li et al., Scientific Reports (2017); jupyter notebook `here 3 <http://nbviewer.jupyter.org/github/pycroscopy/pycroscopy/blob/master/jupyter_notebooks/STS_LDOS.ipynb>`_
Â
4. `Direct Imaging of the Relaxation of Individual Ferroelectric Interfaces in a Tensile-Strained Film <http://onlinelibrary.wiley.com/doi/10.1002/aelm.201600508/full>`_ by L. Li et al.; Advanced Electronic Materials (2017), jupyter notebook `here 4 <http://nbviewer.jupyter.org/github/pycroscopy/pycroscopy/blob/master/jupyter_notebooks/BE_Processing.ipynb>`_
5. Many more coming soon....
International conferences and workshops using pycroscopy
--------------------------------------------------------
* Dec 2017 - Materials Research Society conference
* Oct 31 2017 @ 6:30 PM - American Vacuum Society conference; Session: SP-TuP1; poster 1641
* Aug 9 2017 @ 8:30 - 10:00 AM - Microscopy and Microanalysis conference; X40 - Tutorial session on `Large Scale Data Acquisition and Analysis for Materials Imaging and Spectroscopy <http://microscopy.org/MandM/2017/program/tutorials.cfm>`_ by S. Jesse and S. V. Kalinin
* Aug 8 2017 @ 10:45 AM - Microscopy and Microanalysis conference - poster session
* Apr 2017 - Lecture on `atom finding <https://physics.appstate.edu/events/aberration-corrected-stem-teaching-machines-and-atomic-forge>`_
* Dec 2016 - Poster + `abstract <https://mrsspring.zerista.com/poster/member/85350>`_ at the 2017 Spring Materials Research Society (MRS) conference
Contact us
----------
* We are interested in collaborating with industry members to integrate pycroscopy into instrumentation or analysis software and can help in exporting data to pycroscopy compatible .h5 files
* We can work with you to convert your file formats into pycroscopy compatible HDF5 files and help you get started with data analysis.
* Join our slack project at https://pycroscopy.slack.com to discuss about pycroscopy
* Feel free to get in touch with us at pycroscopy (at) gmail [dot] com
* If you find any bugs or if you want a feature added to pycroscopy, raise an `issue <https://github.com/pycroscopy/pycroscopy/issues>`_. You will need a free Github account to do this
* If you would like to help us and are looking for topics we are / will work on, please look at our `To Do <https://github.com/pycroscopy/pycroscopy/blob/master/ToDo.rst>`_ page
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pycroscopy-0.0.55.win-amd64.zip
(658.5 kB
view hashes)
Built Distribution
Close
Hashes for pycroscopy-0.0.55-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a81b780898493cd43ac980bcd7cdbff85794a6ecc2bd82e906abbe4ddf3e15a |
|
MD5 | 3c7cad529378478c1b1258b6681a5f3d |
|
BLAKE2b-256 | 9087b30daf63bbd47571e376f87a53b877ecc1ffd7ab230e78fe9dd4ccea0c93 |