Giter Site home page Giter Site logo

imbalence / em-tool Goto Github PK

View Code? Open in Web Editor NEW
6.0 3.0 2.0 44 KB

an ImageJ toolset for EM image analysis

Home Page: https://imagej.net/IMBalENce

License: GNU General Public License v3.0

ImageJ Macro 78.85% Python 21.15%
imagej-macro fiji-macro microscopy-images microscopy

em-tool's Introduction

EM-tool

An ImageJ plugin set for EM image analysis

DOI

Overview

This is a suite of ImageJ plugins that are used for processing images acquired from electron microscopes. Currently the main focus is on SEM images, but I will keep working on streamline the image processing of both SEM and TEM data.

2024-06-25 Update note: Add scan rotation reading for FEI metadata. Add ECP image and new metadata format support for new JEOL microscopes. Fix non-ASCII unit sign reading bug for JEOL metadata.
2022-06-14 Update note: Add Python script plugin for Tescan SEM tiff metadata reading. Add instruction page for flat field correction. Correct FEI metadata display bug.

Components and Functions

Click the links below to find more about each tool.

  1. [ SEM FEI metadata and scale ] reads FEI SEM acquisition metadata from tiff tags and set image scale based on pixel size.
  2. [ SEM FEI databar cut ] cuts databar from FEI SEM images, then save image and databar as individual files. (Page in preparation)
  3. [ SEM JOEL Scale ] sets image scale based on pixel size store in the .txt file associated with SEM image.
  4. [ SEM ZEISS metadata scale ] reads ZEISS SEM acquisition metadata from tiff tags and set image scale based on pixel size.
  5. [ SEM Hitachi metadata scale ] The basic function of this plugin should be working. However, the Hitachi images seem can be detected automatically by Bioformat plugin and pop up the import dialog box. Therefore, this plugin will not be actively updated.
  6. [ Image feature measurement annotation ] measures and mark the size of features. It annotates the length of line tool in a calibrated image and export measurement results.
  7. [ Flat field correction ] Applies flat filed correction to a folder of images for large area mapping to mitigate chess pattern after stitching.
  8. [ TEM .ser .dm3 folder export ] This tool convert TIA EM image .ser files and Gatan .dm3 files in a folder to TIFF format.
  9. [ SEM_tescan metadata ] Python script that reads Tescan SEM metadata and set scale based on pixel size.
  10. [ TEM DE camera calibration ] Python script for calibrating the pixel size of images acquired from a TEM DE(Direct Electron)-branded camera.

Installation

Installation via Fiji updater

1. Fiji (Fiji Is Just ImageJ) should be installed on your computer.

2. Click "Help | Update... to open the Fiji updater. If it's the first time updating your Fiji, it might take some time to download the update files and may also require to restart Fiji a few times. Once done, click "Help / Update..." again to bring up the ImageJ updater window.

EMtool_01.jpg

3. Click "Manage update sites".

EMtool_02.jpg

4. Find and tick "EM tool", URL "https://sites.imagej.net/IMBalENce/".

5. If the update site does not show, you can manually add the site by clicking "Add update site". Type in Name "EM tool", URL "https://sites.imagej.net/IMBalENce/"

EMtool_03.jpg

6 Close the "Manage Update Sites" window and click the "Apply Changes" button on the "ImageJ Updater Window".

7. Once update is completed, restart Fiji. You should be able to see the plugins "EM tool" installed in the top toolbar.

Manual Installation

If you only want to use one of the plugins you can follow these steps:

1. The source code of these macro scripts can be viewed on my github page.

2. Download the plugin you want.

3. Save .ijm files in the desired location within your imageJ application

4. Go to "Plugins|Macros|Install..." to add the macros, or drag-and-drop the .ijm file into ImageJ/Fiji

em-tool's People

Contributors

imbalence avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

em-tool's Issues

Reading images pixel size with non-ASCII micron sign [JEOL IT800]

This is a bug raised from a user in the Microscopy Listserver group email communications.

This issue happened on there JEOL IT800 SEM. When using the SEM_JEOL_Scale plugin, the scale was incorrectly set with a series of strange strings (image below).

unnamed

After some investigation, it was found that the greek letter (mu) in the micron unit is a non-ASCII character. Therefore, the current plugin decode the unit as "μm" and the incorrectly parsed unit occupies 3 characters instead of 2 for um.

FEI databar cut malfunctioning for some FEI images

Currently, the FEI databar is recognized by a 1 pix height white line between image and databar. This was developed based on images saved from a relatively older version of FEI xtUI. Images from a later version xtUI does not show this white line and cause the plugin to malfunctioning - generating a 1 pix height databar file.

This can be rewrite to set a known image pixel resolution in a dialog box.

Zeiss Scale picometer

Hi,

I am currently using your tools for the images I make at the Zeiss SEM in our university. So far it works great, but I have found a little bug. If the scale is below the nm regime, our microscope (I am not shure if this is the case for every Zeiss microscope) sets the scale in values of pm instead of nm or µm. Therefore, the plugin does not determine the scale of the image all together.
As I looked through the code, I found that the scale is determine to be either ending in nm or um and therefore it does not set the scale, if it is in the um range. This could simply be fixed by adding a check for pm.

I did fix the error my self, however I am not sure how to properly contribute it to your repository. Could you fix this your self or shell I give it a try?

Additionally, we have a second Zeiss SEM, which stores the scale value not as "Image Pixel Size" instead it uses just "Pixel Size". At the moment, I wrote an additional script, where I replaced the metadata name. However, I am not completely sure how to check it either value exists and to use that one.

Thank you very much for your work on the plugin!

Best
Robin

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.