ITK/Release 4/Wrapping/Tasks: Difference between revisions

From KitwarePublic
< ITK‎ | Release 4‎ | Wrapping
Jump to navigationJump to search
Line 42: Line 42:
=Pending Tasks =
=Pending Tasks =


== Ready for Alpha ==
== ready for Alph10 ==
* [GL-05] [ITK-2528] - [95%] - Redefine the WrapITK libraries, (follow modular, no need monolithic anymore) (gaetan)
* [GL-14] [ITK-2529] - [--%] - Automatic type selection in Python, (gaetan)


* [GL-01] - [100%] - migrating to WrapITK 0.3
== Ready for Beta / Meeting MICCAI ==
* [GL-06] - [100%] - Default wrapped types [...],
* [GL-03] [ITK-2530] - [--%] - Port the SWIG interface gen. to C++, (alex)
* [GL-08] - [40%] - Wrapping coverage,
* [GL-09] [ITK-2531] - [33%] - Binary distribution, (alex)
** metadata dictionary
** macro moved to swig
 
== ready for Beta ==
* [GL-05] - [75%] - Redefine the WrapITK libraries, (follow modular, no need monolithic anymore)
* [GL-14] - [--%] - Automatic type selection in Python,
 
== Ready for Meeting MICCAI ==
* [GL-03] - [--%] - Port the SWIG interface gen. to C++,
* [GL-09] - [--%] - Binary distribution,
** one full build, sub package ( python, java, tcl, dev (cmake, swig interfaces, ...) ) independently installable, possible to distribute
** one full build, sub package ( python, java, tcl, dev (cmake, swig interfaces, ...) ) independently installable, possible to distribute
** generation with CPack
** generation with CPack
 
* [GL-02] [ITK-2532] - [--%] - Add support for C#, (gaethan)
== Ready for Dec - end of contract ==
* [GL-04] [ITK-2533] - [--%] - Add support for Python 3, (gaetan)
* [GL-02] - [--%] - Add support for C#, => ashish
* [GL-07] [ITK-2539] – [--%] - Extend support to more types, (unsigned long for win 64 ) (Alex)
* [GL-04] - [--%] - Add support for Python 3, => gaetan
* [GL-10] [ITK-2534] – [--%] - language specific array conversion, (NOTE: simple itk did it for C# and java, we have it in python) (python almost done, java and C# is being worked out in simpleITK, wait for them) (not assigned yet)
* [GL-07] – [--%] - Extend support to more types, (unsigned long for win 64 ) => Alex, replace all unsigned long by SizeValueType (done in ITK but not WrapITK)
* [GL-12] [ITK-2535] - [--%] - Automatic Inline documentation, done in python, prototype existing in Java. all is done in python, so we need to port it to C++ (see GL-03) (alex?)
* [GL-10] – [--%] - language specific array conversion, (NOTE: simple itk did it for C# and java, we have it in python) => gaetan (python almost done, java and C# is being worked out in simpleITK, wait for them)
* [GL-13] [ITK-2536] - [--%] - Target language inheritance, swig expertise, all languages (gaethan)
* [GL-12] - [--%] - Automatic Inline documentation, done in python, prototype existing in Java. all is done in python, so we need to port it to C++ (see GL-03)
* [GL-17] [ITK-2537] – [--%] - Documentation (user guide) (all)
* [GL-13] - [--%] - Target language inheritance, swig expertise, all languages => ashish
* [GL-18] [ITK-2538] – [--%] - Documentation (dev. Guide) (all)
* [GL-17] – [--%] - Documentation (user guide)
* [GL-18] – [--%] - Documentation (dev. Guide)

Revision as of 15:28, 8 August 2011

Done

Build WrapITK with ccache

Build WrapITK with WRAP_ITK_EXPLICIT

Move the customization code from python's main CMakeLists.txt to swig macros in pyBase.i

Warning messages for TCL, Ruby, Perl support in WrapITK

MetadataDictionary access from target languages

  • modify itkMetaDataDictionary.h to add those methods:
 + MetaDataObjectBase::Pointer & Get(const std::string &) const;
 + void Set(const std::string &, MetaDataObjectBase * );
 + std::vector< std::string > Keys() const;
  • add a specific language customization for python, to make the metadata accessible in a more usual way.
 + a __setitem__() method to add/modify a metadata in the dictionary
 + a __len__() method to return the number of metadata in the dictionary
 + a __getitem__() method - this one should take care to down cast the object to its real type
 + a __str__() method to print the content of the dictionary
 + a __iter__() method to return every elements in the dictionary one by one

Fix Installation

  • Option ${CMAKE_INSTALL_PREFIX}/lib/ITK-4.0/ accepted in the ITK developers list
    • Put all wrapITK libraries here along with libraries of other packages. We won't require versioned names.

In Progress

Tcl SmartPointers

Look at how SmartPointers are replaced by swig proxy objects in python and java and explore the possibility to do the same in Tcl to decrease the build time of WrapITK.

Remove the USE_WRAP_ITK option

  • Enabling a language in cmake should be enough.

Build swig as an external project

  • As it's done for gccxml.
  • If you look in the gerrit abandoned patch, you will find a change proposed by Kent Williams which can be partially reused.

Integrate WrapITK in the ITK modularization

  • First step - Restructure the WrapITK Libraries directory to look it similar to the Modules directory here

Pending Tasks

ready for Alph10

  • [GL-05] [ITK-2528] - [95%] - Redefine the WrapITK libraries, (follow modular, no need monolithic anymore) (gaetan)
  • [GL-14] [ITK-2529] - [--%] - Automatic type selection in Python, (gaetan)

Ready for Beta / Meeting MICCAI

  • [GL-03] [ITK-2530] - [--%] - Port the SWIG interface gen. to C++, (alex)
  • [GL-09] [ITK-2531] - [33%] - Binary distribution, (alex)
    • one full build, sub package ( python, java, tcl, dev (cmake, swig interfaces, ...) ) independently installable, possible to distribute
    • generation with CPack
  • [GL-02] [ITK-2532] - [--%] - Add support for C#, (gaethan)
  • [GL-04] [ITK-2533] - [--%] - Add support for Python 3, (gaetan)
  • [GL-07] [ITK-2539] – [--%] - Extend support to more types, (unsigned long for win 64 ) (Alex)
  • [GL-10] [ITK-2534] – [--%] - language specific array conversion, (NOTE: simple itk did it for C# and java, we have it in python) (python almost done, java and C# is being worked out in simpleITK, wait for them) (not assigned yet)
  • [GL-12] [ITK-2535] - [--%] - Automatic Inline documentation, done in python, prototype existing in Java. all is done in python, so we need to port it to C++ (see GL-03) (alex?)
  • [GL-13] [ITK-2536] - [--%] - Target language inheritance, swig expertise, all languages (gaethan)
  • [GL-17] [ITK-2537] – [--%] - Documentation (user guide) (all)
  • [GL-18] [ITK-2538] – [--%] - Documentation (dev. Guide) (all)