Image processing

Synonyms
Image pre-processing
Image filtering
Image preprocessing
Image postprocessing
Image post-processing
Image manipulation
Description

A collection of Image Processing and Analysis (IPA) functions used at the Facility for Advanced Imaging and Microscopy (FAIM).

has function
need a thumbnail
Description

JIPipe is a visual programming language to realize code-free workflow building for ImageJ-based image analyses. GUI, graphical user interface. Currently, JIPipe unifies the functionality of over 1,000 ImageJ commands into a standardized interface, represented as nodes in the pipeline flow chart. The window-based data management implemented in ImageJ is replaced with a table-based model designed for batch processing. JIPipe is also available from within the ImageJ update service.

has function
need a thumbnail

Introduction to 3D Analysis with 3D ImageJ Suite

The 3D ImageJ Suite is a set of algorithms and tools (mostly ImageJ plugins) developed since 2010, originally for 3D analysis of fluorescence microscopy. Since then, the plugins have been widely used and cited more than 200 times in biological journals. In this presentation we will give a general introduction to the tools available in the 3D ImageJ Suite : filtering, 3D segmentation for spots and nuclei, and 3D analysis. A graphical interface to manage 3D objects, the 3DManager, was also developed and will be presented.

GPU Accelerated Image Processing with CLIJ2

The NEUBIAS Academy at home about CLIJ2 gives an introduction to accelerated image processing using Graphics Processing Units (GPUs) in ImageJ/Fiji. Core concepts are explained as well as usage of the tools with the ImageJ Macro recorder and auto-completion in Fijis script editor. Furthermore, an outlook is provided of how the CLIJ project will develop in the coming years to provide long-term maintained access to GPU-acceleration in the Bio-Image Analysis context.

GPU-Accelerating ImageJ Macro Image Processing Workflows Using CLIJ

Submitted by czhang on Thu, 04/27/2023 - 09:55

This chapter is part of this book. The chapter introduces GPU-accelerated image processing in ImageJ/Fiji. The reader is expected to have some pre-existing knowledge of ImageJ Macro programming. Core concepts such as variables, for-loops, and functions are essential. The chapter provides basic guidelines for improved performance in typical image processing workflows.

Description

Removal of heterogeneous background from image data of single-molecule localization microscopy, using extreme value-based emitter recovery (EVER).

Quote:

EVER requires no manual adjustment of parameters and has been implemented as an easy-to-use ImageJ plugin that can immediately enhance the quality of reconstructed super-resolution images. This method is validated as an efficient way for robust nanoscale imaging of samples with heterogeneous background fluorescence, such as thicker tissue and cells.

has function

Image Analysis Training Resources

Submitted by Perrine on Wed, 06/30/2021 - 14:15

This is a resource for image analysis training material, with a focus on research in the life sciences.

Currently, this resource is mainly meant to serve image analysis trainers, helping them to design courses. However, we might add more text (or videos) to the material such that it could also be used by students for self-directed study.

Description

Phindr3D is a comprehensive shallow-learning framework for automated quantitative phenotyping of three-dimensional (3D) high content screening image data using unsupervised data-driven voxel-based feature learning, which enables computationally facile classification, clustering and data visualization.

Please see our GitHub page and the original publication for details.

Description

Local Z Projector is an ImageJ2 plugin, available in Fiji, that can perform local-Z projection of a 3D stack, possibly over time, possibly very large.

LZP performs projection of a surface of interest on a 2D plane from a 3D image. It is a simple tool that focuses on usability and is designed to be adaptable to many different use cases and image quality.

  • It can work with 3D movies over time with multiple channels.
  • It can work with images much larger than available RAM out of the box.
  • It takes advantage of computers with multiple cores, and can be used in scripts.

 

has function
Description

pyimagej provides a set of wrapper functions for integration between ImageJ and Python.

It also provides a high-level entry point for invoking ImageJ server APIs.

has function
need a thumbnail
Description

Epina ImageLab is a Microsoft Windows-based multisensor imaging tool for processing and analyzing hyperspectral images. It is a modular system consisting of a basic engine, a graphical user interface, a chemometrics toolbox and optional user-supplied modules. It supports the most important spectroscopic imaging techniques, such as UV/Vis, infrared, Raman, THz, optical emission/absorption, and mass spectrometry. On top of that Epina ImageLab enables the user to merge hyperspectral images with maps of physical properties and conventional high-resolution color photos. 

need a thumbnail
Description

Wavelet Toolbox™ provides apps and functions for the time-frequency analysis of signals and multiscale analysis of images.

need a thumbnail
Description

Wolfram Mathematica (usually termed Mathematica) is a modern technical computing system spanning most areas of technical computing — including neural networksmachine learningimage processinggeometrydata sciencevisualizations, and others. The system is used in many technical, scientific, engineering, mathematical, and computing fields.

Batch_Filter_CaseStudy part 2

Submitted by Perrine on Mon, 04/08/2019 - 10:47

We will cover the theory behind some useful image preprocessing operations such as filtering for image restoration and feature enhancements, illumination compensation and background correction. We will then combine these operations and write a complete image analysis macro including image correction and 2D stitching of images coming from a large multiposition experiment.

Description

Automated workflow for performing multiview reconstruction of large multiview, multichannel, multiillumination time-lapse SPIM data on a high performance computing (HPC) cluster or on a single workstation. 

Description

PyTorch is an open-source machine learning library for Python, based on Torch, used for applications such as natural language processing.

has topic
has function
Description

Preprocessing step for high-density analysis methods in super resolution localisation microscopy: it aims at correcting artefacts due to these approaches with based on Haar Wavelet Kernel Analysis.

Description

OpenCV (Open Computer Vision) library for Icy. see more at http://opencv.org

has function
need a thumbnail
Description

The best way to start writing an ImageJ2 plugin (ImageJ2 developers call it command and not plugin) is to download the example command from github and modify it. There is a video tutorial on the whole workflow on how to do this on youtube.

has function
Description

Python is a programming language.

Python 2.7.0 was released on July 3rd, 2010.

Python 2.7 is scheduled to be the last major version in the 2.x series before it moves into an extended maintenance period. This release contains many of the features that were first released in Python 3.1.

 A bugfix release, 2.7.16, is currently available. Its use is recommended.

need a thumbnail
Description

This is the official website of the GNU Image Manipulation Program (GIMP).

GIMP is a cross-platform image editor available for GNU/Linux, OS X, Windows and more operating systems. It is free software, you can change its source code and distribute your changes.

Whether you are a graphic designer, photographer, illustrator, or scientist, GIMP provides you with sophisticated tools to get your job done. You can further enhance your productivity with GIMP thanks to many customization options and 3rd party plugins.

CLI

example

gimp -i -b '(simple-unsharp-mask "foo.png" 5.0 0.5 0)' -b '(gimp-quit 0)'

More details, see here: GIMP Batch Mode

Description

The freely available software module below is a 3D LoG filter. It applies a LoG (Laplacian of Gaussian or Mexican Hat) filter to a 2D image or to 3D volume. Here, we have a fast implementation. It is a perfect tool to enhance spots, like spherical particles, in noisy images. This module is easy to tune, only by selecting the standard deviations in X, Y and Z directions.

IJ Macro command example
run("LoG 3D", "sigmax=1 sigmay=1 sigmaz=13 displaykernel=0 volume=1");
Description

This note presents the design of a scalable software package named ImagePy for analysing biological images. Our contribution is concentrated on facilitating extensibility and interoperability of the software through decoupling the data model from the user interface. Especially with assistance from the Python ecosystem, this software framework makes modern computer algorithms easier to be applied in bioimage analysis.

Description

SciPy is a collection of mathematical algorithms and convenience functions built on the NumPy extension of Python. It adds significant power to the interactive Python session by providing the user with high-level commands and classes for manipulating and visualizing data. With SciPy, an interactive Python session becomes a data-processing and system-prototyping environment. Find more about SciPy here!

need a thumbnail
Description
HyphaTrackerWorkflow
HyphaTracker Workflow

HyphaTracker propose a workflow for time-resolved analysis of conidia germination. Each part of this workflow can also be used independnatly , as a toolbox. It has been tested on bright-field microscopic images of conidial germination. Its purpose is mainly to identify the germlings and to remove crossing hyphae, and measure the dynamics of their growth.

hyphatracker
Description

This filter uses convolution with a Gaussian function for smoothing. Sigma is the radius of decay to exp(-0.5) ~ 61%, i.e. the standard deviation sigma of the Gaussian (this is the same as in Photoshop, but different from earlier versions of ImageJ, where a value 2.5 times as much had to be entered.

Like all ImageJ convolution operations, it assumes that out-of-image pixels have a value equal to the nearest edge pixel. This gives higher weight to edge pixels than pixels inside the image, and higher weight to corner pixels than non-corner pixels at the edge. Thus, when smoothing with very high blur radius, the output will be dominated by the edge pixels and especially the corner pixels (in the extreme case, with a blur radius of e.g. 1e20, the image will be raplaced by the average of the four corner pixels).

For increased speed, except for small blur radii, the lines (rows or columns of the image) are downscaled before convolution and upscaled to their original length thereafter.

has function
Description

A software toolkit for computational morphometry of biomedical images, CMTK comprises a set of command line tools and a back-end general-purpose library for processing and I/O.

The command line tools primarily provide the following functionality: registration (affine and nonrigid; single and multi-channel; pairwise and groupwise), image correction (MR bias field estimation; interleaved image artifact correction; EPI unwarping), processing (filters; combination of segmentations via voting and STAPLE; shape-based averaging), statistics (t-tests; general linear model).

null
Description

ClearCL is a Multi-backend Java Object Oriented Facade API for OpenCL.

OpenCL libraries come and go in Java, some are great but then one day the lead developper goes on to greener pastures and you are left with code that needs to be rewritten to take advantage of a new up-to-date library with better support. Maybe a particular library has a bug or does not support the function you need? or it does not give you access to the underlying native pointers, making difficult to process large buffers/images or interoperate with hardware? or maybe it just does not support your exotic OS of choice. To protect your code from complete rewrites ClearCL offers a very clean and complete API to write your code against. Changing backend requires just changing one line of code.

has function
Description

"The plugin analyzes fluorescence microscopy images of neurites and nuclei of dissociated cultured neurons. Given user-defined thresholds, the plugin counts neuronal nuclei, and traces and measures neurite length."[...]" NeuriteTracer is a fast simple-to-use ImageJ plugin for the analysis of outgrowth in two-dimensional fluorescence microscopy images of neuronal cultures. The plugin performed well on images from three different types of neurons with distinct morphologies."

This plugin requires parameter setting: Threshold levels and scale (see more details on the related publication)

Description

EBImage provides general purpose functionality for image processing and analysis. In the context of (high-throughput) microscopy-based cellular assays, EBImage offers tools to segment cells and extract quantitative cellular descriptors. This allows the automation of such tasks using the R programming language and facilitates the use of other tools in the R environment for signal processing, statistical modeling, machine learning and visualization with image data.

EBImage is available through the Bioconductor software project (www.bioconductor.org). Strengths Lightweight Suitable for automated, scripted analyses All functions are documented with examples Modular links to R and Bioconductor software, notably imageHTS and cellHTS2 Community support via the Bioconductor mailing list Reproducible (image) analysis using the Sweave report-writing system

EBImage
Description

BioImageXD is a free open source software package for analyzing, processing and visualizing multi-dimensional microscopy images. It's a collaborative project, designed and developed by microscopists, cell biologists and software engineers from the Universities of Jyväskylä and Turku in Finland, Max Planck Institute CBG in Dresden, Germany and collaborators worldwide. BioImageXD was published in the July 2012 issue of Nature Methods.

Screen capture of BioImageXD
Description

COLORLAB is a component for processing, representing and reproducing color in a MATLAB environment. Among others, some of the functionalities it makes able to: -Represent the color content of any image in chromatic diagrams and tristimulus spaces in any system of primaries. -Compute advanced color descriptions of any image using several color appearance models (CIELab, CIEluv, ATD, Rlab, LLab, SVF and CIECAM). An userguide is provided.

has function
need a thumbnail
Description

This is a Matlab implementation of Local Phase Quantization (LPQ) texture descriptors that is robust to image blurring due to the use of phase information. Theoretical background could be found here: http://www.ee.oulu.fi/research/mvmp/mvg/files/pdf/ICISP08.pdf

need a thumbnail
Description

This is a software toolbox that extends the original BSIF code allowing the utilization of a GPU in Matlab to compute the features. It contains: -Matlab function to calculate BSIF in CPU -Matlab function extension to calculate BSIF in GPU -Pre-learnt filters -Usage instructions

need a thumbnail
Description

Matlab implementation (2014) of Local Binary Pattern. Used for texture image analysis with insensitivity to local average value. Good explanation here: http://www.ee.oulu.fi/research/imag/mvg/files/pdf/ICCV2009_tutorial.pdf

need a thumbnail
Description

This package contains some MatLab tools for multi-scale image processing. Briefly, the tools include: - Recursive multi-scale image decompositions (pyramids), including Laplacian pyramids, QMFs, Wavelets, and steerable pyramids. These operate on 1D or 2D signals of arbitrary dimension. Data structures are compatible with the MatLab wavelet toolbox. - Fast 2D convolution routines, with subsampling and boundary-handling. - Fast point-operations, histograms, histogram-matching. - Fast synthetic image generation: sine gratings, zone plates, fractals, etc. - Display routines for images and pyramids. These include several auto-scaling options, rounding to integer zoom factors to avoid resampling artifacts, and useful labeling (dimensions and gray-range).

need a thumbnail
Description

The jicbioimage Python package makes it easy to explore microscopy data in a programmatic fashion (python).

Exploring images via coding means that the exploratory work becomes recorded and reproducible.

Furthermore, it makes it easier to convert the exploratory work into (semi) automated analysis work flows.

Features:

  • Built in functionality for working with microscopy data
  • Automatic generation of audit trails
  • Python integration Works with Python 2.7, 3.3 and 3.4
Description

arivis Vision4D is a modular software for working with multi-channel 2D, 3D and 4D images of almost unlimited size independent of available RAM. Many imaging systems, such as high speed confocal, Light Sheet/ SPIM and 2 Photon systems, can produce a huge amount of multi-channel data, which arivis Vision4D handles without constraints. Terabyte ready arivis Vision4D main functionality: Easy import of most image formats from microsopes as well as biological formats High performance interactive 3D / 4D rendering on standard PCs and laptops with 3D Graphics Support Intuitive tools for stitching and alignment to create large multi-dimensional image stacks Immediate 2D, 3D and 4D visualization, annotation and analysis regardless of image size Creation, import, and export of 4D Iso-surfaces Powerful Analysis Pipeline for 3D /4D image analysis (cell segmentation, tracking, annotation, quantitative measurement and statistics, etc) Semi-automatic/manual segmentation and tracking with interactive Track Editor Easy design and export of 3D / 4D High Resolution Movies Seamless integration of custom workflows via Matlab API and Python scripting Data sharing for collaboration A user friendly software, easy to learn and use for any life scientist

need a thumbnail