ITK/Release 4/Wrapping: Difference between revisions

From KitwarePublic
< ITK‎ | Release 4
Jump to navigationJump to search
(Created page with ''''Wrapping''' = Requirements = * Avoid unnecessary dependencies * Wrap +80% of the toolkit * Have ITK look similar to the native wrapped language = Tools = * WrapITK * Swig …')
 
 
(46 intermediate revisions by 5 users not shown)
Line 1: Line 1:
'''Wrapping'''
'''Wrapping'''


= Requirements =
= High-Level Goals =


* Avoid unnecessary dependencies
SIMPLIFY ITK by allowing easy access of the toolkit from other languages, especially scripting languages, hiding some difficulties (templates, compilation ...) along the way.
* Wrap +80% of the toolkit
* Have ITK look similar to the native wrapped language


= Tools =
== Metrics and goals ==
* Avoid unnecessary dependencies (see Modular ITK)
* FASTER
** faster compilation
** limited compilation ( see [[ ITK_Release_4/Modularization | 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


* WrapITK
== Languages ==
* Java
* Python
* Lua ?
* Tcl ?
* see simpleITK
 
[[/Examples|Comparative Examples]]
 
= Required Tools and Technology =
 
Installation is detailled [[/WrapITK_Installation|here]]
 
== tools ==
* WrapITK.
* Swig
* Swig
* CableSwig
* GccXML
* MUMMY
 
== WrapITK Configuration and Build Process Internals ==
 
* [[/BuildProcess | Build Process for Dummies ]]
 
== Parallel Build Status ==
 
* [[ITK_Release_4/Wrapping/Parallel_Build_Status|Parallel Build Status]]
 
= Discussions and TConfs =
 
* 19-07-2010 - NoAgenda                                      - [[/19072010_Minutes|Minutes]]
* 13-08-2010 - [[/13082010_Agenda|Agenda]] - [[/13082010_Minutes|Minutes]]
 
== Pending Tasks ==
* [http://www.vtk.org/Wiki/ITK_Release_4/Wrapping/Tasks here]

Latest revision as of 16:00, 9 December 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