Today I am beginning a mini-series about Image Processing, more precisely, about Astronomical Image Processing… surely the most would say: “Hehehe, is so trivial: you’ll write about GIMP”. Well, is true that GIMP (and another similar software) have certain features as any filters for image processing but it isn’t really an image processing tool, is most suitable classify it as an Image Edition Software.
To start this series, in the next lines we have a summary about different image processing tools:
ImageJ is a tool written in Java with a menu-driven included, but we can also extends it creating plugins with Java programming language.
ImageJ supports known image processing functions such as:
- Median filtering
- Contrast manipulation
- Edge detection
ImageJ is really a complete library with capabilities to image processing and analysis:
- Processing: Point operations, filters and arithmetic operations.
- Analysis: Statistical measurements on image data, histograms and special display formats.
The Python Imaging Library has the next features:
- Image archives: We can use PIL for create image archival and batch processing applications.
- Image display: PIL includes a Tk interface-based toolkit.
- Image processing: PIL contains basic image processing functionality: point operations, filtering, and colour space conversions. The library also supports image resizing, rotation, and arbitrary affine transforms.
An advantage of PIL and anothers Python libraries for image processing is the possibility of using both NumPy and SciPy, packages with capabilities for scientific computing and data analysis.
This library hasn’t many image processing features but has a lot functions for Computer Vision, both are fields closely related. OpenCV has Python, C++, and C interfaces cross-platform.
Matlab & Octave
These are the best tools of data visualization and analysis, even Matlab has an extension named Image Processing Toolboox. Matlab has one major drawback: it is closed source software.
On the other hand, Octave is the equivalent open source software for Matlab, but Octave isn’t as powerful as Matlab . In this link is possible check out the compatibility between Matlab and Octave functions for image processing.
Although this language isn’t an language or tool-oriented image processing is an excellent environment for statistical computing and graphics. In others words, we can use R language to image analysis because its capabilities in this field.
We must make mention of EBImage, this package provides the functionality to perform image processing and image analysis in R. Although this package was created to support automated image analysis in high throughput cell-based microscopy assays, the package can also used for other image analysis problems.
There are others tools…