Proposals:IDL Interface: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
No edit summary
Line 10: Line 10:


= Features =
= Features =
== Functionality Wish List ==


Please help us craft the interface to make sure that it will be useful for your applications. Add to the list below your ideas on things that you will like to have available.
Please help us craft the interface to make sure that it will be useful for your applications. Add to the list below your ideas on things that you will like to have available.


== Image Segmentation ==
=== Filtering ===
 
* Smoothing filters
** Anisotropic diffusion
** Antialising
 
=== Image Segmentation ===
 
* Region Growing
* Level Sets
* Statistical Classification
 
=== Image Registration ===


== Image Registration ==
* Multi-Modality
* 2D / 3D


=== IO ===


* DICOM Reading / Writing


== Using ITK from IDL ==
== Using ITK from IDL ==

Revision as of 16:38, 31 August 2007

Creating an Interface between ITK and IDL

The purpose of this effort is to make possible to

  • Use ITK functionalities from IDL
  • Use IDL functionalities from C++ programs that use ITK


Features

Functionality Wish List

Please help us craft the interface to make sure that it will be useful for your applications. Add to the list below your ideas on things that you will like to have available.

Filtering

  • Smoothing filters
    • Anisotropic diffusion
    • Antialising

Image Segmentation

  • Region Growing
  • Level Sets
  • Statistical Classification

Image Registration

  • Multi-Modality
  • 2D / 3D

IO

  • DICOM Reading / Writing

Using ITK from IDL

The main question to address here is the level of granularity at which ITK will be available from IDL. The main two options are

  1. Wrap ITK as we have done for other languages (Tcl, Python) by exposing most of the C++ classes
  2. Wrap ITK pipelines that are customized for specific problems (e.g. MRI-CT 3D registration, CT Segmentation)

In the first case, a multitude of ITK classes will be exposed in IDL. These classes will be exposed in such a way that they can both be used from the procedural IDL interface and their more object-oriented interface.

In the second case, the users community will identify specific needs for which we will put together ITK pipelines. These pipelines will be wrapped in the form of a single procedural call. This approach requires a lot more of manual crafting and fine tunning on the pipelines, and focuses more the specific applications for which ITK will provide useful functionalities in IDL.

Using IDL from ITK

In this interface, IDL data containers will be interfaced to ITK objects so that they can be passed to a pipeline in an application based on ITK. For example, a bridge for converting IDL images to ITK image and back could be put in place.

Time Frame

Although there are no hard deadlines defined for this effort, we anticipate that the activity will unfold during the following six month.

A rough schedule will include

  1. Gathering feedback (requirements, wish list) from the IDL and ITK communities
  2. Experimenting with interface options
  3. Proposing a design of the interface
  4. Implementing the interface
  5. Deploying continuous testing


References