ITK/Release 4/Wrapping/Tasks

From KitwarePublic
Jump to navigationJump to search

Current Tasks

TO UPDATE: Build WrapITK with ccache

  • measure the build speedup
  • write documentation on the wiki

TO UPDATE: Build WrapITK with WRAP_ITK_EXPLICIT

  • compare the build time and the bin directory size
  • Write the result on a wiki page.

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

  • GitHub Commits
    • <here>
    • <here>
  • gerrit patches [NOT YET]
  • ITK [NOT YET]

Separate changes into different github branches to push them separately to gerrit

set up the 64 bit build on CoSMoTest-Win7 with MSVC 10

  • library naming problems
  • solution: move to cmake 2.8.4 [PENDING]

reply to all related to wrapping on the mailing lists

test gerrit changes related to wrapping

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

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.

Install the files in the right place

They are currenly in /usr/local/lib/cmake/ITK-4.0/WrapITK -- that's not good

Pending Tasks

  • [GL-01] - [100%] - migrating to WrapITK 0.3

Depends on GL-01

  • [GL-02] - [--%] - Add support for C#,
  • [GL-03] - [--%] - Port the SWIG interface gen. to C++,
  • [GL-04] - [--%] - Add support for Python 3,
  • [GL-06] - [--%] - Default wrapped types [...],
  • [GL-08] - [33%] - Wrapping coverage,

depends on other groups

  • [GL-05] - [--%] - Redefine the WrapITK libraries, (follow modular, no need monolithic anymore)
  • [GL-07] – [--%] - Extend support to more types,

depends on GL-02 and GL-04

  • [GL-09] - [--%] - Binary distribution,
  • [GL-10] – [--%] - language specific array conversion, (NOTE: simple itk did it for C# and java, we have it in python)
  • [GL-12] - [--%] - Automatic Inline documentation,
  • [GL-13] - [--%] - Target language inheritance,
  • [GL-14] - [--%] - Automatic type selection in Python,

depends on GDCM

  • [GL-11] - [--%] - GDCM wrapping compatibility,
  • [GL-MM] - [--%] - ITK-GDCM Wrapping,

last items

  • [GL-17] – [--%] - Documentation (user guide)
  • [GL-18] – [--%] - Documentation (dev. Guide)