[Insight-users] gcc-xml

Luis Ibanez luis.ibanez@kitware.com
Mon, 25 Nov 2002 10:06:16 -0500


Hi Neil,


Let's start by saying that ITK does not depend nor
require any of { VTK, Tcl, FLTK, Qt, OpenGL or GLUT }

The only place where these libraries appear is on
the demo applications in the Insight/Applications
directory.

ITK does not provide any functionalities for GUI or
Visualization. When you build an actual application,
these functionalities have to be obtained from other
libraries or from your own code.

The Tcl wrapping that is provided by Cable makes
possible to use ITK classes from Tcl. Cable uses
gcc-xml internally in order to parse C++ code and
obtain declaration in XML.  Building gcc-xml is
surprisingly easy. However if you want to avoid
this step, you can simply download binary versions
from:

    http://www.gccxml.org/HTML/Download.html


Note that the Tcl wrapping generated by Cable is
not the same as the traditional Tcl wrapping in
VTK. That is, by wrapping with Cable you will not
get VTK and ITK in the same Tcl environment.
You will have to wrap VTK using Cable instead of
the traditional Tcl wrappers.

Some of the example-applications have followed
another path, which is to insert isolated ITK
filters inside VTK custom filters, then wrap
those new VTK filter into Tcl using the traditional
VTK Tcl-wrapping.  This is done in the following
applications:


    - MRIRegistration
    - SegmentationEditor
    - vtkITK


This secondary approach for wrapping is a
common source of confusion.

-----

The applications that are using FLTK do not require
Tcl at all. FLTK is used there as a C++ library for
GUI. You don't need to wrap ITK with Cable in order
to use these example. The only thing required is
FLTK (the recommended version can be downloaded from

http://www.itk.org/HTML/DownloadRelatedSoftware.htm

Demo applications using FLTK are:

- DistanceMapFilter
- DicomImageViewer
- GaussianFilter
- GradientRecursiveGaussianFilter
- Curves2DExtractor
- Morphogenesis
- MutualInformationEuler2DRegistration
- ImageRegistration
- ImageRegistration2D
- RawImageReaderViewer
- RegionGrowingSegmentation
- ThresholdSegmentationLevelSet
- FastMarchingLevelSet
- ShapeDetectionLevelSet
- MetaImageViewer
- MetaImageColorViewer
- SurfaceGenerator


Among the applications using FLTK for GUI,
the following applications also require
VTK for visualizing segmented images in 3D:

- RegionGrowingSegmentation
- ThresholdSegmentationLevelSet
- FastMarchingLevelSet
- ShapeDetectionLevelSet



There is also an example of how to use Qt
for GUI along with ITK:

- QtITK




Please let us know if you have further questions.


Thanks

    Luis


=================================================

Neil Killeen wrote:
> There is always one more thing...
> 
> I have been trying to build the itk system with the Tcl wrappers as well
> as access to vltk.  I think I am doing this because it's useful
> generically, but more specifically so that I can operate some
> of the examples which require a GUI, fltk, vltk for display and I think
> tcl.
> 
> SO I have installed Cable, fltk, and vtk ok. However, Cable is failing to
> run because it  requires yet another package, gcc-xml, sigh.
> 
> Specifically, it is failing in build/Wrapping/Tcl/Numerics  on the command
> 
> #!/bin/csh
> /DATA/ELARA_3/nkilleen/Cable/build/cable \
> /DATA/ELARA_3/nkilleen/itk/InsightToolkit-1.0.0/Wrapping/Tcl/Numerics/wrap_ITKNumerics.cxx
> \
> -tcl wrap_ITKNumerics_tcl.cxx --gccxml-compiler g++-3.1.1 \
> ### snip lots of -I includes
> 
> 
> Having read the gcc-xml page I am now to scared to proceed, since anything
> that requires building of compilers, such as gcc, is a nightmare.
> 
> Now, before I pass the buck, and ask my system person to do this for me,
> I'd like to ask you lot, how important this is to have.
> 
> If I don't have gcc-xml does that mean I can have no
> Tcl wrappers and no fltk GUIS (are they written in Tcl ?)
> for itk ?
> 
> Also, if i proceed, is gcc-xml known to be buildable with
> gcc 3.1.1 ?
> 
> 
> thanks
> Neil
> 
> 
> 
> _______________________________________________
> Insight-users mailing list
> Insight-users@public.kitware.com
> http://public.kitware.com/mailman/listinfo/insight-users
> 
>