ITK/Release 4/Wrapping: Difference between revisions

From KitwarePublic
< ITK‎ | Release 4
Jump to navigationJump to search
Line 49: Line 49:
* 19-07-2010 - NoAgenda                                      - [[/19072010_Minutes|Minutes]]
* 19-07-2010 - NoAgenda                                      - [[/19072010_Minutes|Minutes]]
* 13-08-2010 - [[/13082010_Agenda|Agenda]] - [[/13082010_Minutes|Minutes]]  
* 13-08-2010 - [[/13082010_Agenda|Agenda]] - [[/13082010_Minutes|Minutes]]  
== Tcon 808310 ==
=== Minutes 081310 ===
==== Attendees ====
* Luis Ibañez
* Gabe Hart
* Gaëtan Lehmann
* Brad King
==== Topics ====
* gccxml maintenance
Brad working on it. Getting harder with newer compiler. Will probably possible for the next couple of years.
CLang must be explored as a replacement.
* migrating to WrapITK 0.3
* recode igenerator.py in C++
reuse cable code. already read gccxml output.
* languages support
** keep python 2
** keep java
** add C#
** add Python 3? maybe
** remove Tcl? sure
* redefine the WrapITK libraries (grouping of classes)
use the same module organization than in ITK
* Default wrapped types and abbreviated naming scheme
* Wrapping coverage
* Binary distribution
distribute binary for now next move to ryppl
* ITK Image to/from target language array conversion
* Automatic Inline documentation
* Target language inheritance (SWIG directors)
* Automatic type selection in Python
* Improve 64bits support in ITK — surely done elsewhere already
remove 64 bit pixel type
rework filter using unsigned long type
* GDCM wrapping integration?
add interfaces in ITK classes and wrap those classes


== Pending Tasks ==
== Pending Tasks ==
* [http://www.vtk.org/Wiki/ITK_Release_4/Wrapping/Tasks here]
* [http://www.vtk.org/Wiki/ITK_Release_4/Wrapping/Tasks here]

Revision as of 15:09, 1 May 2011

Wrapping

High-Level Goals

SIMPLIFY ITK by allowing easy access of the toolkit from other languages, especially scripting languages, hiding some difficulties (templates, compilation ...) along the way.

Metrics and goals

  • Avoid unnecessary dependencies (see Modular ITK)
  • FASTER
    • faster compilation
    • limited compilation ( see modular itk v4 )
    • faster re-compile (touching a given .h should not trigger a full re-compilation)
  • Wrap 80%+ of the toolkit
  • Have ITK behaves in the different languages as close to the native code as possible
    • ITK Image to/from target language array conversion
    • Target language inheritance (SWIG directors)
    • Automatic type selection in Python
  • Binary distribution
  • Automatic Inline documentation

Languages

  • Java
  • Python
  • Lua ?
  • Tcl ?
  • see simpleITK

Comparative Examples

Required Tools and Technology

Installation is detailled here

tools

  • WrapITK.
  • Swig
  • GccXML

WrapITK Configuration and Build Process Internals

Parallel Build Status

Discussions and TConfs

Pending Tasks