Pattern recognition


Multi-template matching can be used to localize multiple objects using one or a set of template images.

Contrary to previous implementations that allow to use only one template, here a set of templates can be used or the initial template(s) can be transformed by rotation/flipping.

Multiple objects detection without redundant detections is possible thanks to a Non-Maxima Supression relying on the degree of overlap between detections.

The solution is available as a Fiji plugin (Multi-Template Matching AND IJ-OpenCV update sites), as a Python package (Multi-Template-Matching on PyPI) and as a KNIME workflow (via KNIME Hub).

need a thumbnail

InspectJ is a free ImageJ/FIJI tool to inspect digital image integrity.

InspectJ_v2 is a newer version for advanced users. It applies additional features like histogram equalization and gamma correction for improved image inspections.

need a thumbnail

The software FishInspector provides automatic feature detections in images of zebrafish embryos (body size, eye size, pigmentation). It is Matlab-based and provided as a Windows executable (no matlab installation needed).

The recent version requires images of a lateral position. It is important that the position is precise since deviation may confound with feature annotations. Images from any source can be used. However, depending on the image properties parameters may have to be adjusted. Furthermore, images obtained with normal microscope and not using an automated position system with embryos in glass capillaries require conversion using a KNIME workflow (the workflow is available as well). As a result of the analysis the software provides JSON files that contain the coordinates of the features. Coordinates are provided for eye, fish contour, notochord , otoliths, yolk sac, pericard and swimbladder. Furthermore, pigment cells in the notochord area are detected. Additional features can be manually annotated. It is the aim of the software to provide the coordinates, which may then be analysed subsequently to identify and quantify changes in the morphology of zebrafish embryos.

FishInspector Logo

Scikit-learn (sklearn) is a python library used for machine learning. sklearn contains simple and efficient tools for data mining and data analysis. Modules and functions include those for classification, regression, clustering, dimensionality reduction, model selection and data preprocessing. Many people have contributed to sklearn (list of authors)

has topic
scikit-learn logo.

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.