Difference between revisions of "2007 Google Summer of Code"
Line 33: | Line 33: | ||
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. | 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. | ||
+ | |||
+ | ==== 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. | ||
==== Task ==== | ==== Task ==== | ||
In this project, the students will exercise ITK methods in very large datasets (> 4Gb). | In this project, the students will exercise ITK methods in very large datasets (> 4Gb). | ||
− | |||
− | |||
− | |||
==== Requirements ==== | ==== Requirements ==== |
Revision as of 14:15, 7 March 2007
Home < 2007 Google Summer of CodeContents
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.
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.
Task
In this project, the students will exercise ITK methods in very large datasets (> 4Gb).
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
CMake (www.cmake.org) is a multiplatform configuration system akin to autools/automake, that allows to prepare projects for being build in different development platforms.
CMake has been used for the configuration of large scale projects such as VTK, ITK, ParaView, and more recently it has been adopted by KDE.
CMake already generates Makefiles for Unix, projects for Visual Studio, Borland Makefiles, NMake Makefiles, and XCode projects, but it lacks a generator for Eclipse.
Eclipse (http://www.eclipse.org/) is an open source development environment similar to KDevelop, that has become popular in recent years/months.
Purpose
The purpose of this project will be write a CMake configuration generator for Eclipse.
Tasks
Students must get familiar with existing CMake generators, for example the Makefile generator, and the KDevelop generator, and then follow their model in order to implement a generator for Eclipse. This tasks requires the students to analyze the structure of the project files used by Eclipse.
Requirements
Students should be proficient with C++ and very familiar with the Eclipse development enviroment.