[Insight-users] CableSwig Java status with ITK 1.6

Luis Ibanez luis.ibanez at kitware.com
Fri Jun 11 11:40:59 EDT 2004


Hi Michael,

The current status of the ITK-Java wrapping can be
stated as:

  "It is working but have not been heavily tested"

Note that this is not for ITK 1.6 !

If you plan to undertake a Java project you certainly
want to go with the CVS version of ITK.


--

We are building the Java wrapping Nightly on WindowsXP
for VisualStudio .Net 2003, and under Debian Linux with
Gcc 3.3. The nightly builds have been green for a while,
but a Java-specific test suite is missing at this point.


A number of issues have been reported by users and we are
looking at them. Among the salient recent developments we
can mention:


- Jarek Sacha kindly contributed a mechanism for
   exporting/importing ITK images into Java native
   images.

- We have a report of some problems with the Transforms
   and use of polymorphism.

- The notation generated by CSwig has been question
   given that doesn't fully adheres to Java coding
   style.



On the bright side, we are fully committed to push the support
for Java forward, which means that if you decide to follow
this track, at least you will not be alone.     :-)

Also on the bright side, the collaboration with Swig developers
have been very friendly and most of the functionalities from
CSwig may end up making part of a future standard Swig.

--

On the application design front, note that you don't really
need full ITK wrapping, and actually, most of the time you
may not even want it.  It may be more efficient to build C++
modular classes that encapsulate ITK pipelines. Then wrap
these modular classes for being used from Java.

Java may act more at the level of application top layer,
take care of the GUI, Input/Output and image display.
In this context you can have faster development by designing
your functional ITK pipelines first and then integrating
them in modular pieces into your application. This approach
also allows you to have Nightly/Continuous testing of such
modules as independent functional pieces.

For example, let's assume that your application does lung
segmentation from CT images. You could create a C++ class
that encapsulates an ITK pipeline (e.g. some LevelSet filters
along with their pre-processing and post-processing). This
class will only require to set an input image, expose a subset
of the parameters controlling the internal pipeline, and then
produce an output image. This LungSegmentationFromCT class
is the on that you probably want to wrap as a Java class.



Please let us know if you have further questions or concerns.



    Regards,


      Luis




------------------------
Michael Hawrylycz wrote:

>  Hi,
> 
>   We are contemplating a large scale use of ITK in a Java pipeline
> environment.  Can someone
> tell me about the status of Cable and Java IDL.  Is this working at this
> point?  Reasonably tested?
> 
> Thanks,
> 
> Mike
> 
> 
> Mike Hawrylycz, Ph.D.
> Director, Informatics
> Allen Institute of Brain Science
> mikeh at alleninstitute.org
> (206) 548-7011
> 
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
> 





More information about the Insight-users mailing list