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.



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

More details, see here: GIMP Batch Mode



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");



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.




The phase contrast microscopy segmentation toolbox (PHANTAST) is a collection of open-source algorithms and tools for the processing of phase contrast microscopy (PCM) images. It was developed at University College London's department of Biochemical Engineering and CoMPLEX.

has function



An ImageJ plugin for DEFCoN, the fluorescence spot counter based on fully convolutional neural networks

has topic

Align slices in stack


Align_slices in stack utilized the template matching function cvMatch_Template to do slice registration(alignment) based on a selected landmark.
This function will try to find the landmark or the most similar image pattern in every slice and translate each slice so that the landmark pattern will be the same position throughout the whole stack. It could be used to fix the drift of a time-lapse image stacks.

Source code: link

Input data: image stack
output data: image stack

has function



It implements the template matching function from the OpenCV library. The java interface of OpenCV was done through the javacv library. It is quite similar as the existing template matching plugin but runs much faster and users could choose among six matching methods: 

1.Squared difference

2.Normalized squared difference


4.Normalized cross-correlation

5.Correlation coefficient

6.Normalized correlation coefficient

The detailed algorithms could be found here.

The cvMatch_Template will search a specific object (image pattern) over an image of interest by the user-specified method. 

Template Matching and Slice Alignment--- ImageJ Plugins


This ImageJ plugin contains two functions. The first one is the cvMatch_Template. It implements the template matching function from the OpenCV library. The second function Align_slices in stack utilized the previous matching function to do slice registration(alignment) based on a selected landmark. 

For more details, refer to the page of each component. 


Align Slices in Stack

has function

CSBDeep, a toolbox for Content-aware Image Restoration (CARE) in Fiji


Deep learning for fluorescence image restoration (denoising, deconvolution). Requires training on your data set but the procedure is described.




Neuroconductor is an open-source platform for rapid testing and dissemination of reproducible computational imaging software, specialized in brain medical imaging (MRI, fMRI, DTI, etc...) but that could be used on a wider range of images. The goals of the project are to:

  • provide a centralized repository of R software dedicated to image analysis;
  • disseminate quickly software updates;
  • educate a large, diverse community of scientists using detailed tutorials and short courses;
  • ensure quality via automatic and manual quality controls; and
  • promote reproducibility of image data analysis.


Based on the programming language R, Neuroconductor starts with 68 inter-operable packages that cover multiple areas of imaging including visualization, data processing and storage, and statistical inference. Neuroconductor accepts new R package submissions, which are subject to a formal review and continuous automated testing.

has function