ITK/Google Summer of Code/2009: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
m (Added .NET WrapITK project)
 
(2 intermediate revisions by one other user not shown)
Line 61: Line 61:
* Maintaining separate code base branched from [http://code.google.com/p/wrapitk/ WrapITK] over 18 months ago
* Maintaining separate code base branched from [http://code.google.com/p/wrapitk/ WrapITK] over 18 months ago


This project would involve adding support to [http://code.google.com/p/wrapitk/ WrapITK] for generating C# wrappers. Such wrappers would be callable from any .NET language on Windows, Linux, and Apple Mac platforms. This project would give the participant a good understanding of [http://www.swig.org SWIG], [http://www.cmake.org CMake], [http://code.google.com/p/wrapitk/ WrapITK], and provide a good overview of ITK functionality.
This project would involve adding support to [http://code.google.com/p/wrapitk/ WrapITK] for generating C# wrappers. Such wrappers would be callable from any .NET language on Windows, Linux, and Apple Mac platforms. This project would give the participant a good understanding of [http://www.swig.org SWIG], [http://www.cmake.org CMake], [http://code.google.com/p/wrapitk/ WrapITK], and provide a good overview of ITK functionality (without having to be an ITK expert).


= Student Application Form =
= Student Application Form =
Line 72: Line 72:
# Years of experience with ITK
# Years of experience with ITK
# Preferred platform of development (Linux/Windows/Mac/Other)
# Preferred platform of development (Linux/Windows/Mac/Other)
# Organizatin Affiliation
# Organization Affiliation


{{ITK/Template/Footer}}
{{ITK/Template/Footer}}

Latest revision as of 21:11, 11 February 2012

Google Summer of Code

Mentors

  • Luis Ibanez
  • Gaëtan Lehmann
  • Dan Mueller

Projects

Fixing Pixel Centering

This is a system-wide fix that requires a lot of attention to testing.

The issue is that ITK uses in different places in the toolkit, a different approach for converting pixel index coordinates for physical coordinates. We seek to fix this inconsistency and make uniform across the toolkit the way this conversion is computed.

Raised Code Coverage

Address the 10 most uncovered files in the toolkit.

Our current code coverage is 81%, and we estimate that by addressing the ten most uncovered files we will be able to raise the code coverage to a number between 85% and 90%.

Increase the Level Set Method Tools

  1. Sobolev Active Contours
  2. Region-based energies
  3. Multiphase level sets, e.g.,
    1. Chan-Vese
    2. Monsouri-Mitiche-Vazquez
  4. Radial Basis Function (RBF) representation of level sets

Region-based energies, chan and vesse and multiphase level set are already in IJ already in IJ (http://hdl.handle.net/1926/1532) already in IJ (http://hdl.handle.net/1926/1533)

Level Set modelisation with RBF is an ongoing work by A. Gelas @ harvard related to his previous publications (see below). Should be delivered to the IJ by next NAMIC meeting (june 2009):

  • Arnaud Gelas, Olivier Bernard, Denis Friboulet, Rémy Prost. "Compactly Supported Radial Basis Functions Collocation Method for Image Segmentation". IEEE Transaction on Image Processing, vol. 16(7), pp.1873--1887 2007.
  • Arnaud Gelas, Joel Schaerer, Olivier Bernard, Denis Friboulet, Patrick Clarysse, Isabelle Magnin, Rémy Prost. "Radial basis functions collocation methods for model based level-set segmentation". IEEE ICIP 2007 Proceedings, vol. 2, pp.237--240, San Antonio, Texa, USA, September 2007.
  • Arnaud Gelas, Rémy Prost. "Adaptive Approximation of Multi-Dimensional Irregularly Sampled Signals with Compactly Supported Radial Basis Functions". ICSP 2006's Proceedings, vol. 2, pp.1091--1094, Guilin, China, November 2006.
  • Arnaud Gelas, Rémy Prost. "Multi-resolution reconstruction of irregularly sampled signals with compactly supported radial basis functions". IEEE ICASSP 2006's Proceedings, vol. 3, pp.388--391, Toulouse, France, May 2006.

PDE-based Registration Improvements

  1. Proper fluid and elastic regularization, rather than approximation by Demons algorithm
  2. Diffeomorphic flows

Move IJ contributions to ITK

Many contributions are still waiting in the Insight Journal to be moved in the ITK repository. The student would review the provided code, adapt it to fit the ITK coding style, and add the tests needed to reach the 100% of code coverage for the new classes.

Add support to WrapITK for .NET

.NET is an increasingly popular runtime environment, supporting a number of languages (C#, IronPython, F#), and — with the inception of Mono — a number of platforms (Windows, Linux, and Mac OS X).

ITK functionality can currently be used from .NET languages on the Windows platform using ManagedITK. Unfortunately ManagedITK has a number of drawbacks:

  • Semi-automated/manual wrapping
  • Windows platform only (due to use of C++/CLI)
  • Maintaining separate code base branched from WrapITK over 18 months ago

This project would involve adding support to WrapITK for generating C# wrappers. Such wrappers would be callable from any .NET language on Windows, Linux, and Apple Mac platforms. This project would give the participant a good understanding of SWIG, CMake, WrapITK, and provide a good overview of ITK functionality (without having to be an ITK expert).

Student Application Form

Will contain

  1. Names
  2. Contact information: email & phone number
  3. Years of experience with C++
  4. Years of experience with ITK
  5. Preferred platform of development (Linux/Windows/Mac/Other)
  6. Organization Affiliation



ITK: [Welcome | Site Map]