Fiji Is Just Image software, abbreviated as Fiji, is a smart open source platform for the analysis of biomedical data. As the name indicates, it is a distribution of ImageJ package with many useful plugins. The latest version of this software licensed under GNU public licence version 2.
Recent advances in computer vision and technology have helped immensely in the analysis of biological images. Computerised analysis of images makes it possible to overcome the limitations of human observations, providing relevant inference from either large sets of biological samples or high-resolution information of smaller samples. Image data is registered from various overlapping parts, segmented to capture biologically-relevant features, tracked across space and time, and compared with other specimen.
There are a handful of software in the market that deal with biological images. These include commercial ones like Amira and Volocity and open source ones including ImageJ and BioImageXD. While commercial platforms provide an easy interface, inner details of image-processing algorithms are hidden from the user, which is not recommended when it comes to research in bio-image informatics.
If we take the case of an open source software like ImageJ, it is made by and for biologists. Therefore the tool does not follow the principles of modern software engineering, making it less attractive for computer scientists.
Project Fiji is built on the architecture of ImageJ, with an aim to help researchers to develop innovative, cutting-edge solutions for biological-image analysis. Powerful libraries in Fiji ensure that image-analysis tools are frequently updated with the latest algorithms.
Attracting researchers from multiple disciplines
The software proves to be a very useful tool for researchers from various disciples. If you are a researcher in biology, the point-and-click interface provided by Fiji allows you to interact with multi-dimensional data. This interface is quite similar to the one provided by ImageJ. A bio-informatician with sound programming skills can make use of the available scripting languages for constructing image-processing pipelines. This is possible with the help of Script Editor plugin.
If you are an engineer, you can use this tool in more interesting ways. You can make use of the existing source code to develop a much more efficient and high-performing algorithm and spread it around the world for free. The software bundles standard libraries and builds bridges to other platforms with the help of plugins. As a computer scientist, you can make use of the tool for rapid prototyping of generic algorithms.
Some noteworthy features
Fiji is essentially an enhancement of ImageJ software with many useful plugins that aid in biological-image processing. Therefore it shares many features with ImageJ tool.
Batch processing. Scripts and macros in Fiji have the ability to reuse their functionality in multiple images. The user can at first create a basic macro that operates on the active image and then apply the macro to a group of images via a batch process.
Script editor. When a user writes the script in any of the languages supported by the software, script editor is of immense use. Text editing features such as auto-intend and configurable white-space options, programming features like output console and syntax highlighting, language specific tools and interfaces are provided.
The entire process of writing the script is as simple as starting the script editor, choosing the preferred language, and writing and running the script.
Plugin integration. More elaborate plugin integration is possible in Fiji because most Fiji methods are implemented as software libraries using ImgLib for data representation. As all plugins run on a common platform, output of one plugin can serve as input to another.
Main techniques used
Let us now take a look at some of the main techniques used for image processing using this software.
Segmentation. Image segmentation involves assigning a label to each pixel of an image. Pixels containing identical labels have some visual characteristics in common. The first step involved in image segmentation is the pre-processing of data with the help of sufficient filters. This helps in making threshholding more effective. Auto-threshholding is then applied, followed by creation and manipulation of a mask. A selection contained in a mask is created and transferred to the original image. Finally, resultant data is analysed.
Registration. This involves transforming different samples or views of the same data into a common coordinate system. For comparison or integration of data obtained from different measurements, image registration is necessary. Stitching and Register Virtual Stack Slices plugins are used for this purpose. The latter has additional functionalities including elastic implementation and transformation of a composite image over a base reference image.