Proposals:IDL Interface: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
No edit summary
 
(2 intermediate revisions by 2 users not shown)
Line 37: Line 37:


* DICOM Reading / Writing
* DICOM Reading / Writing
=== Licensing ===
* Open Source


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

Latest revision as of 05:21, 19 October 2007

Background

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

Licensing

  • Open Source

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 months.

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