Skip to content

PinkShnack/TEMUL

Repository files navigation

TEMUL

Functions for image and signal processing, based on the packages Scikit-image, Hyperspy, Atomap, PyPrismatic, ASE, periodictable etc. Written by members of the TEMUL group from the University of Limerick, Ireland (though we welcome all help, hints and contributions!)

Documentation & Installation

pip install temul-toolkit

For full installation instructions and documentation, go to temul-toolkit.readthedocs.io.

To use the vast majority of the temul functionality, import it from the api module::

import temul.api as tml

Interactive Notebooks in the Browser

Jupyter Notebooks and MyBinder allow us to analyse data in the browser without needing any downloads using the below "launch binder" button.

Binder

If the button does not work, try this link instead. You also share this link with others for quick access.

  • To run through some code documentation tutorials, go to the "code_tutorials" folder after clicking the above button.

  • To analyse data published in the listed scientific papers, go to the "publication_examples" folder after clicking the above button.

Example Publications that have used the TEMUL Toolkit

Publication Details Folder Location in TEMUL
M. Hadjimichael, Y. Li et al, Metal-ferroelectric supercrystals with periodically curved metallic layers, Nature Materials 2021 publication_examples/PTO_supercrystal_hadjimichael
K. Moore et al Highly charged 180 degree head-to-head domain walls in lead titanate, Nature Communications Physics 2020 publication_examples/PTO_Junction_moore
K. Moore et al Charged Domain Wall and Polar Vortex Topologies in a Room-Temperature Magnetoelectric Multiferroic Thin Film, ACS Appl. Mater. Interfaces 2022, 14, 4 Coming soon
E.N. O'Connell et al TopoTEM: A Python Package for Quantifying and Visualizing Scanning Transmission Electron Microscopy Data of Polar Topologies, Microsc Microanal. 2022 doi:10.1017/S1431927622000435 URL Arxiv Version (to be updated while M&M version is not open access (it will be soon!) See the Docs

Cite TEMUL Toolkit/TopoTEM

To cite the latest TEMUL toolkit, use the following DOI:

  • DOI

To cite all TEMUL Toolkit versions, use this DOI:

  • DOI

You can also cite the TopoTEM publication if you only worked with polarisation-type analysis.

  • See the TopopTEM publication here. It is annoyingly still not open access. Until that point, see the ArXiv link about in the table, or contact me via the Discussion tab above.

Information for developers

Linting (PEP8)

We use flake8 to enforce coding style:

pip install -r tests/requirements.txt
flake8 temul
flake8 tests
flake8 docs

Testing

Tests are carried out with pytest:

pip install -r tests/requirements.txt
pytest tests

Documentation (docs)

To build the docs, do the following::

pip install -r docs/requirements.txt
sphinx-build docs _build  # open "index.html" in the "_build" directory

Make sure that the docs build locally and online (if you have the rights to check that).

Incrementing version

temul gets its version from the latest git tag. If you think that a new version should be published, create a tag on the master branch (if you have the necessary permissions to do so):

git tag -a 'x.y.z' -m 'new tag'
git push --tags <remote>

GitHub Actions will then automatically build source package and wheels and publish them on PyPI.