User:Daniel: Difference between revisions

Jump to navigation Jump to search
1,064 bytes added ,  27 March 2015
No edit summary
Line 90: Line 90:
==== Improve Octave's image IO ====
==== Improve Octave's image IO ====
I chose this project from the wiki <http://wiki.octave.org/Summer_of_Code_Project_Ideas>  
I chose this project from the wiki <http://wiki.octave.org/Summer_of_Code_Project_Ideas>  
In scientific research at large, there are many data recorded in the form of image; there exist many varieties of image format. Presently, Octave uses GraphicsMagic (GM), a library capable of handling many of them in one single C++ interface. Nevertheless, GM still has its limitations including:
1. GM has build option quantum defining the bitdepth to use when reading an image makes difficult to find an balance between accessible depth of image and memory usage, implying it needs extra care to rescale the image.
2. "GM supports unsigned integers only thus incorrectly reading files such as TIFF with floating point data
GM hides away details of the image such as whether the image file is indexed. This makes it hard to access the real data stored on file"


"This project would implement better image IO for scientific file formats while leaving GM handle the others. Since TIFF is the de facto standard for scientific images, this should be done first."
My GSoC2015 project is all about to improve or even replace it with a better image IO. A whole new implementation of image IO in C++ will implemented during the summer with extensive testing and code review, aiming to provide a robust image module with quality code.  
(zz from http://wiki.octave.org/Summer_of_Code_Project_Ideas)


An enhanced image IO will be implemented in this GNU/Octave GSoC project. Most of the popular scientific image file formats will be adapted. TIFF (Tagged Image File Format)[1] as the de factor standard for scientific images, in many areas including biomedical imaging, astronomy and industry application, will be used as the sample data during the initial implementation.
Beyond TIFF, there are a lot of image formats. To handle this, Octave[2] traditionally uses GraphicsMagic (GM)[3], a library capable of handling many of them via a single C++ interface. However, GM still has its limitations. The most important are:
*Many of the scientific images are encoded of 32 or higher bit of depth, that need to compile GM specifying quantum option, priori to compiling Octave, which per se could be an obstacle for general user to apply to their research for production/research publication purposes. With thus compilation, the high bit depth memory allocation is a waste for other smaller bit-depth image processing task. Building GM with high quantum means that images of smaller bit-depth will take a lot more memory when reading, but building it too low will make it impossible to read images of higher bit-depth. It also means that the image needs to always be rescaled to the correct range.
*GM supports unsigned integers only thus incorrectly reading files such as TIFF with floating point data.
*GM hides away details of the image such as whether the image file is indexed. This makes it hard to access the real data stored on file.
This project would implement better image IO for scientific file formats while leaving GM handle the others. Since TIFF is the de facto standard for scientific images, this should be done first. Among the targets for the project given in a timeframe manner are described below.


== Detail Project Timeline ==
== Detail Project Timeline ==
Anonymous user

Navigation menu