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

From KitwarePublic
< ITK‎ | Release 4‎ | Wrapping
Jump to navigationJump to search
Line 55: Line 55:
** [https://github.com/ComplexSystemsModeling/ITK/commit/ce6ecfb56978e2f57096977bdda2ca5e6bc3eb23 ce6ecfb] ENH: Modified the setitem function to support the array notation at the python interface, and, added code to the test file for MetaDataDictionary
** [https://github.com/ComplexSystemsModeling/ITK/commit/ce6ecfb56978e2f57096977bdda2ca5e6bc3eb23 ce6ecfb] ENH: Modified the setitem function to support the array notation at the python interface, and, added code to the test file for MetaDataDictionary
** [https://github.com/ComplexSystemsModeling/ITK/commit/dd04a6e26d46a890c52ed314e554a22b6932d670 dd04a6e] ENH: Code cleanup in CMakeLists.txt. Swig customization for python is now moved to the file pyBase.i
** [https://github.com/ComplexSystemsModeling/ITK/commit/dd04a6e26d46a890c52ed314e554a22b6932d670 dd04a6e] ENH: Code cleanup in CMakeLists.txt. Swig customization for python is now moved to the file pyBase.i
** [https://github.com/ComplexSystemsModeling/ITK/commit/c1526cb6e1525a8cff1bf98ccccb669343372679 c1526cb] ENH: Code cleanup for python customization
** [https://github.com/ComplexSystemsModeling/ITK/commit/5c1ef5fca053b5eeffdae4f34fb540951c3e3a5b 5c1ef5f]   ENH: Cleanup for python customization in CMakeLists.txt
** [https://github.com/ComplexSystemsModeling/ITK/commit/6772f8314b698ba1628030e4f879adfae111a538 6772f83]  ENH: Cleanup of CMakeLists.txt, fix for a warning in ITKMetaDataObject.wrap
** [https://github.com/ComplexSystemsModeling/ITK/commit/c1d4b4cd21a23db3ce516478fa4aa464ebb2d03a c1d4b4c] BUG: Fixes for Python customization cleanup
** [https://github.com/ComplexSystemsModeling/ITK/commit/9d9215cdafe4ed3adf07652ef24d7617efc1cd07 9d9215c] DOC: Shorten the message for TCL support in WrapITK


* pushed to gerrit [NOT YET]
* pushed to gerrit [NOT YET]

Revision as of 19:48, 16 May 2011

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 e-mails related to wrapping on the mailing lists

  • ashish to pre-emp all e-mails
  • for discussion and triage everyday during the tconf.

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
  • github commits
    • a6ac0ee ENH: Throw an itkGenericException if the key does not exist
    • 627088b ENH: Throw an itkGenericException if the key does not exist
    • f20d82f ENH: Changes to the itkMetaDataDictionary Get function
    • fc86b99 ENH: Added more types that can be held in MetaDataDictionary
    • 6348f2d ENH: Put the Get function call for an inavid key inside the try/catch block
    • 3632b44 ENH: Changes for adding default types in the ITKMetaDataObject.wrap and CMakeLists.txt for new test in Python to check the MetaDataDictionary
    • 6d07367 ENH: Added new python test for MetaDataDictionary
    • 9a3fe08 ENH: Suppress sswig warning for %extend directive
    • a101ed3 ENH: Added functions __str__, __itr__, __setitem__ and __len__ to make the metadata accessible in a more usual way
    • ec3eb48 BUG: Fixed the spurious comma which generated the incorrect code
    • ce6ecfb ENH: Modified the setitem function to support the array notation at the python interface, and, added code to the test file for MetaDataDictionary
    • dd04a6e ENH: Code cleanup in CMakeLists.txt. Swig customization for python is now moved to the file pyBase.i
    • c1526cb ENH: Code cleanup for python customization
    • 5c1ef5f   ENH: Cleanup for python customization in CMakeLists.txt
    • 6772f83  ENH: Cleanup of CMakeLists.txt, fix for a warning in ITKMetaDataObject.wrap
    • c1d4b4c BUG: Fixes for Python customization cleanup
    • 9d9215c DOC: Shorten the message for TCL support in WrapITK
  • pushed to gerrit [NOT YET]
  • staged [NOT YET]
  • merged [NOT YET]

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.

Fix Installation

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

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)