Difference between revisions of "GSoC 2011 Ideas"

(Reparing images with missing data by using contextual information)
(Reparing images with missing data by using contextual information)
Line 54: Line 54:
 
'''Goal:''' implement a plugin for interactive calligraphic effects.<br />
 
'''Goal:''' implement a plugin for interactive calligraphic effects.<br />
 
'''Language:''' Java.<br />
 
'''Language:''' Java.<br />
 +
'''Mentor:''' [http://albert.rierol.net Albert Cardona]<br />
 +
 +
== Robust blob segmentation ==
 +
 +
In life sciences, you often cope with round structures of interest. Such round structures can be cells, vesicles, nuclei or similarly shaped objects. While an ellipse might be a good initial fit, the final outline most certainly is not.
 +
 +
[[Image:NucleiDAPIconfocal.png|thumb|200px|center]]
 +
 +
It is important to keep in mind that the objects are clearly convex, as they sometimes overlap, and we still want to find the objects correctly. See the adjacent image for an example.
 +
 +
The purpose of this project is to segment in a fully automatic way round, convex structures in biological images. This could be done by using a simple template matching approach for the initial stage, or a Gaussian fit, followed by a fit of the whole outline under the desired constraints.
 +
 +
'''Goal:''' Provide a robust blob segmentation algorithm that can work in 2D, 3D and 4D.<br />
 +
'''Language:''' Java<br />
 
'''Mentor:''' [http://albert.rierol.net Albert Cardona]<br />
 
'''Mentor:''' [http://albert.rierol.net Albert Cardona]<br />

Revision as of 12:35, 9 March 2011

3-way viewer for Block-Face EM image volumes based in ImgLib cells

The Imglib provides a cell container, where each cell is an arbitrary n-dimensional image block potentially paged out to a file. Consider the specific case of isotropic 3d-cells stored with lossless compression. This setup would enable efficient browsing and analysis of image volumes larger than available RAM, while observing a specific 3d ROI from XY, YZ and XZ planes. These image volumes are common in Block-Face Serial Scanning Electron Microscopy, a technique now commercialized as "Gatan 3-way view EM." See this page for theory and for pictures and examples.

Goal: create a 3-way viewer for a 3d instance of an Imglib's cell container.
Language: any supported by Fiji, preferably java.
Contact: Albert Cardona

Applying machine learning to the image segmentation problem

The term image segmentation describes the task where objects in an image are to be outlined, so that every pixel is connected to either a named object, or background.

Segmentation is traditionally a very difficult problem, especially in the presence of variable lighting, noise, or low contrast.

Many segmentation algorithms have been implemented in Fiji to perform image segmentation, such as Auto Threshold and Auto Local Threshold, but in practice, none of them might work, as they were designed with specific images in mind, and these expectations might not be met by your images.

Recently, a new class of segmentation algorithms has been emerging: segmentation by example. These algorithms require a set of examples from which a model is calculated which can be applied to other -- similar-looking -- images.

We will consider applications for implementations that are either as generic as possible (i.e. they apply to any images), or that try to solve a very specific problem (such as segmenting neurons in serial sections imaged with electron microscopy, or with confocal imaging.)

We have several data sets of images and their corresponding manual segmentations (for training the algorithm). See for example:

You are welcome to use any scientifically-relevant dataset of your choice, but we will give priority to biologically-oriented data sets.

A plugin already exists for Fiji: Trainable Segmentation.

Goal: Implement a number of segmentation algorithms based on machine learning.
Language: Java.
Mentor: Ignacio Arganda-Carreras, Albert Cardona

Implementing algorithms for Imglib

The new imglib supports dimension-, storage- and data type independent image processing. This library has some algorithms built-in already but there is a strong need to generically implement more general image processing algorithms, storage strategies and data types such as:

  • Interpolation (Cubic, Spline, ...)
  • Entropy Filter, Average Filter, Percentile(Min, Median, Max) Filter, ...
  • Memory Management for partial image loading
  • Color Spaces and Color Space Conversions
  • Efficient representation of non-raster images (based on 2d polygonal shapes and 3d/4d meshes)

Goal: Implement generic algorithms for image processing.
Language: Java.
Mentor: Stephan Preibisch, Stephan Saalfeld, Tobias Pietzsch, Albert Cardona

Reparing images with missing data by using contextual information

Implement a simple inpainting method (i.e. restore missing/unwanted parts of the image marked by a ROI) using wavelets: apply the wavelet transform, and then, on each level, use a diffusion algorithm to deduce a smooth signal from the surrounding parts, and finally inverse-transform the wavelet to get the restored image.

Other approaches are also welcome, such as using information from adjacent serial sections in electron microscopical image volumes. See for example the large black blob at top left which could be restored with information from the next and previous sections.

Goal: implement a plugin for interactive calligraphic effects.
Language: Java.
Mentor: Albert Cardona

Robust blob segmentation

In life sciences, you often cope with round structures of interest. Such round structures can be cells, vesicles, nuclei or similarly shaped objects. While an ellipse might be a good initial fit, the final outline most certainly is not.

NucleiDAPIconfocal.png

It is important to keep in mind that the objects are clearly convex, as they sometimes overlap, and we still want to find the objects correctly. See the adjacent image for an example.

The purpose of this project is to segment in a fully automatic way round, convex structures in biological images. This could be done by using a simple template matching approach for the initial stage, or a Gaussian fit, followed by a fit of the whole outline under the desired constraints.

Goal: Provide a robust blob segmentation algorithm that can work in 2D, 3D and 4D.
Language: Java
Mentor: Albert Cardona