Skip to main content

A Python library for training machine learning models for applications in electron microscopy.

Project description

Electron Microscopy Machine Learning (EMicroML)

Test library Code Coverage Documentation PyPi Version Conda-Forge Version License DOI

emicroml is a Python library for training machine learning models for applications in electron microscopy.

Visit the emicroml website for a web version of the installation instructions, the reference guide, and the examples archive.

The source code can be found in the emicroml GitHub repository.

Table of contents

Instructions for installing and uninstalling emicroml

Installing emicroml

For all installation scenarios, first open up the appropriate command line interface. On Unix-based systems, you could open e.g. a terminal. On Windows systems you could open e.g. an Anaconda Prompt as an administrator.

Before installing emicroml, it is recommended that users install PyTorch in the same environment that they intend to install emicroml according to the instructions given here for their preferred PyTorch installation option.

Installing emicroml using pip

Before installing emicroml, make sure that you have activated the (virtual) environment in which you intend to install said package. After which, simply run the following command:

pip install emicroml

The above command will install the latest stable version of emicroml.

To install the latest development version from the main branch of the emicroml GitHub repository, one must first clone the repository by running the following command:

git clone https://github.com/mrfitzpa/emicroml.git

Next, change into the root of the cloned repository, and then run the following command:

pip install .

Note that you must include the period as well. The above command executes a standard installation of emicroml.

Optionally, for additional features in emicroml, one can install additional dependencies upon installing emicroml. To install a subset of additional dependencies (along with the standard installation), run the following command from the root of the repository:

pip install .[<selector>]

where <selector> can be one of the following:

  • tests: to install the dependencies necessary for running unit tests;
  • examples: to install the dependencies necessary for executing files stored in <root>/examples, where <root> is the root of the repository;
  • docs: to install the dependencies necessary for documentation generation;
  • all: to install all of the above optional dependencies.

Alternatively, one can run:

pip install emicroml[<selector>]

elsewhere in order to install the latest stable version of emicroml, along with the subset of additional dependencies specified by <selector>. Note that the Python library pyprismatic>=2.0 must be installed prior to executing either of the last two commands with <selector> set to examples. The easiest way to install this additional dependency is within a conda virtual environment, using the following command::

conda install -y pyprismatic=*=gpu* -c conda-forge

if CUDA version >= 11 is available on your machine, otherwise users should run instead the following command::

conda install -y pyprismatic=*=cpu* -c conda-forge

For further discussions on running examples, see the pages Prerequisites for running example scripts or Jupyter notebooks without using a SLURM workload manager and Prerequisites for running example scripts or Jupyter notebooks using a SLURM workload manager.

Installing emicroml using conda

Before proceeding, make sure that you have activated the (virtual) conda environment in which you intend to install said package. For Windows systems, users must install PyTorch separately prior to following the remaining instructions below.

To install emicroml using the conda package manager, run the following command:

conda install -c conda-forge emicroml

The above command will install the latest stable version of emicroml.

Uninstalling emicroml

If emicroml was installed using pip, then to uninstall, run the following command:

pip uninstall emicroml

If emicroml was installed using conda, then to uninstall, run the following command:

conda remove emicroml

Learning how to use emicroml

For those new to the emicroml library, it is recommended that they take a look at the Examples page, which contain code examples that show how one can use the emicroml library. While going through the examples, readers can consult the emicroml reference guide to understand what each line of code is doing.

Reproducing data of preprints and published papers

Ultramicroscopy 283 (2026), 114347

The majority of the data presented in Ref. Fitzpatrick1 can be reproduced by running all of the examples listed on the page Examples of distortion estimation of CBED patterns.

How to cite emicroml

For estimation of optical distortion in CBED patterns

If you are using machine learning models constructed via our emicroml library to estimate optical distortion in convergent beam electron diffraction (CBED) patterns, please cite Ref. Fitzpatrick1.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

emicroml-0.0.7.tar.gz (6.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

emicroml-0.0.7-py3-none-any.whl (130.3 kB view details)

Uploaded Python 3

File details

Details for the file emicroml-0.0.7.tar.gz.

File metadata

  • Download URL: emicroml-0.0.7.tar.gz
  • Upload date:
  • Size: 6.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for emicroml-0.0.7.tar.gz
Algorithm Hash digest
SHA256 792df7516051a221b546863c9666091f5d92f8193f125a7f5a00d37d74ba7c2f
MD5 9a6fb6170e19582c76260451a454c403
BLAKE2b-256 297fba58b7a071699b5a76e3fde268152fc2e9300d955a94daa2694c0088ef64

See more details on using hashes here.

Provenance

The following attestation bundles were made for emicroml-0.0.7.tar.gz:

Publisher: publish_release_to_pypi.yml on mrfitzpa/emicroml

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emicroml-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: emicroml-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 130.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for emicroml-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 0e266e37b94f88c80bf821ae0171de277fbf2489e57f496a6b20f6ab24a26705
MD5 4ea82fedc3746d3fb1c1a431e85ab6ce
BLAKE2b-256 505e990228dda65784256bf3da09ba565e4aae7b306751e0fa8379fdd6e75e53

See more details on using hashes here.

Provenance

The following attestation bundles were made for emicroml-0.0.7-py3-none-any.whl:

Publisher: publish_release_to_pypi.yml on mrfitzpa/emicroml

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page