[Insight-developers] reusing VTK code
Luis Ibanez
ibanez@cs.unc.edu
Fri, 26 Jan 2001 09:56:13 -0500
Hi
This is a quite important point, there are a lot of functionalities
in VTK that could be useful in Segmentation and Registration.
Maybe we could anticipate a large variety of Adaptors (or wrappers)
in a similiar way to what has been done to use the vnl optimizaion
algorithms for Registration, and eventually put this adaptors in the
"Interfaces" directory.
In that way, if somebody doesn't want to use VTK, he can still produce
an adaptor to any other Voronoi code without having to rewrite the
particular segmentation algorith that uses it. Maybe somebody will
argue that it is better to use CGAL for geometry computations, and
it would be nice if there is a not so difficult process to let him
use it.
The current use of ITK factories can also help a lot to support a
common interface for these kind of objects, allowing to change
components even at run time.
How difficult could be to use VTK filters inside ITK ones ?
Specially with respect to the data pipeline and streaming ?
How about VTK users that will eventually want to use ITK
in some of their process ?
It is clear that the use of customizable Containers inside
the itkImage and itkMesh are the basis for facilitating
communication with other libraries.
The main problem will be to say to users :
"If you want to use a particular set of ITK classes
you'll have to install VTK..."
In the same way we could say :
"If you want to use itkRegistrationOptimizerGeneticAlgorithm
you'll have to install GALib..."
Other packages do this. Doxygen itself says : "if you want
collaboration diagrams you have to install DOT"
----
BTW:
I'm looking forward to use vtk's Mesh
Decimation for an itk deformable model method :-)
Luis
----
Will Schroeder wrote:
> This is an interesting question. I would suggest that
> the "right" way to do this is to use vtk's classes rather
> than reimplementing the code in Insight. We ought to build
> bridges to systems, rather than trying to redo what' been
> done.
>
> On the other hand, there is a certain amount of pain to
> interface into and out of a system.
>
> Comments?