2007 Google Summer of Code

From NAMIC Wiki
Jump to: navigation, search
Home < 2007 Google Summer of Code

Introduction

Project ideas for the Google Summer of Code.

Two main types of projects are proposed for this event

  • Collaboration projects that run parallel to the programmers week at MIT
  • Extra projects that are related to other long term activities

Collaboration Projects

These projects run in parallel with the programmers week at MIT

Slicer Execution Model Examples

Slice 3D (www.slicer.org) has defined an execution model under which it is possible to invoke command line applications from the Slicer GUI. In order to make this possible, the command line applications must respond to a certain set of command line options. The options can be easily introduced by using a set of existing macros. In this project, the student will revisit most of the 400 examples in ITK and introduce the macros that make them suitable for being used from Slicer. The modified examples will then be commited to the NAMIC Subversion Sandbox.

This project will provide a solid overview of most of the image segmentation and registration methods available in ITK.

Purpose

The purpose of this project will be to convert most of the 400 examples available in ITK to the execution model defined by Slicer. The converted examples will then become available to be invoked from the Slicer GUI.

Task

Modify the ITK Examples to make them suitable to be invoked from Slicer. The conversion requires to introduce minimal modifications on every example, and then test it with appropriate medical data.

Requirements

This project is ideal for a student with medium background on image analysis and a begginer level in ITK, who wants to take the time of getting fully familiar with the large number of filters available in ITK.

ITK review on 64-bits

ITK is known to compile fine in 64-bits machines. However it has been reported that some classes misbehave when exposed to the large amounts of memory that are possible in 64-bits platforms. This is probably due to the use of explicit "int", "long" types in places where "size_t" or "size_type" should have been used.

Task

In this project, the students will exercise ITK methods in very large datasets (> 4Gb).

Purpose

The purpose is to identify methods that do not behave properly for large amounts of data, and to track the problems down the code until finding the offending type declarations.

Requirements

The requirement is to have access to 64-bit machines with more than 4Gb of RAM (Linux or Windows)

Independent Projects

These projects are related to needed infrastucture and to extension of existing tools

CMake Support for Eclipse

www.cmake.org

CMake is a multiplatform configuration system that allows to prepare projects for being build in different development platforms. CMake has been recently adopted by KDE as their configuration system. CMake already generates Makefiles for Unix, projects for Visual Studio, Borland Makefiles, NMake Makefiles, and XCode projects.

In this project we will be looking for students willing to extend CMake for generating projects for Eclipse.