Giter Site home page Giter Site logo

molecular-bionics-labs / simplipytem Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gabriel-ing/simplipytem

0.0 0.0 1.0 744.76 MB

Package to make analysis of transmission electron microscopy images simple.

License: GNU General Public License v3.0

Python 100.00%

simplipytem's Introduction

SimpliPyTEM: an open source project to simplify Python-based analysis of electron microscopy data with added focus on in situ videos

Figure showing effect of SimpliPyTEM-GUI

Please see full documentation at https://simplipytem.readthedocs.io/en/latest/

Installation

Install SimpliPyTEM using pip:

pip install SimpliPyTEM

This is best done using a clean environment to ensure there are no clashes with existing installs:

conda create --name SimpliPyTEM python=3.8
conda activate SimpliPyTEM
pip install SimpliPyTEM

The library is then available in Python code using standard imports, eg:

from SimpliPyTEM.Micrograph_class import Micrograph

The GUI can be opened from the terminal (assuming the correct conda environment is activated) with the command:

SimpliPyTEM-GUI

Installation from github

To install from github, first download the repository, either using the Download Zip option after clicking the green <> Code button, or use the command:

git clone https://github.com/gabriel-ing/SimpliPyTEM.git

Then, in the command line enter the SimpliPyTEM folder (if the zip folder was downloaded, this needs to be unzipped first) and use the command:

pip install -e .

pip is used again here as it will ensure that all the dependencies are installed.

Intro

SimpliPyTEM introduces the Micrograph and MicroVideo classes to process images and videos respectively. These aim to make many basic functions incredibly simple, without the need for knowledge of more complex libraries which are performing the functions. Functions included are adding a scalebar, enhancing contrast and equalising histogram, converting to 8bit images, binning, and filtering with many common filters (Median, gaussian, low-pass, weiner and non-local means). Video frames can easily be averaged together in both simple averaging and running averaging ways.

The image data within these classes are kept in numpy arrays, which is the most common format for using images in other applications, which makes it easy to use the files for downstream processes like thresholding and particle analysis.

On top of the simplified Python functions, I have also implemented an app to automate the image analysis - this allows all the files in a directory to be processed (eg. filtered, contrast-enhanced, add scalebar, save as jpg) to make looking at, presenting and downloaded images much faster and the filesizes much smaller. This is also combined with outputting the images onto a pdf document or an html file which then allows for viewing images and videos as a webpage. This type of automation is designed to make viewing the results of an experiment a rapid and straightforward process

If there are any features that you would like to be added - for example compatibility with other filetypes, or if things aren't working as you expect them to, please feel free to open an issue and I will do my best to sort it for you! Please also be aware that I am a final year PhD student with my own research so I will help when I can find the time...

I would also like to welcome any additions from potential contributors, whether it is practical examples of code being used, bugs being fixedd or the introduction of new functionalities. Again, feel free to raise an issue or contact me directly if you would like help with these things .

simplipytem's People

Contributors

gabriel-ing avatar

Forkers

nishaibec

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.