ITK/Complete Setup
This page will describe setting up the Kitware tools on an Ubuntu (or any Debian, really) workstation. I assume that you have a basic install of Debian/Ubuntu.
Preparing your system
For ITK, install the following packages:
- gcc
- g++
- make
- cmake
- cvs
For VTK, install the following packages:
- tcl8.4-dev
- tk8.4-dev
- libgl1-mesa-dev
For FLTK, install the following packages:
- libfltk1.1-dev
- libglu1-mesa-dev
For QT, install the following packages:
- q3-apps-dev
- qt3-dev-tools
- libqt3-i18n
Getting the sources
Do this in your home directory. It will take a long time, depending on your connection speed.
ITK
cvs -d :pserver:anonymous@www.itk.org:/cvsroot/Insight login
password: insight
cvs -d :pserver:anonymous@www.itk.org:/cvsroot/Insight co Insight
You can also get the Insight documentation (optional):
cvs -d :pserver:anonymous@www.itk.org:/cvsroot/Insight co InsightDocuments
A variety of Insight demo applications are available in the InsightApplications module (optional):
cvs -d :pserver:anonymous@www.itk.org:/cvsroot/Insight co InsightApplications
VTK
cvs -d :pserver:anonymous@public.kitware.com:/cvsroot/VTK login
password: vtk
cvs -d :pserver:anonymous@public.kitware.com:/cvsroot/VTK checkout VTK
For testing purposes you might wish to checkout the CVS VTKData (optional):
cvs -d :pserver:anonymous@public.kitware.com:/cvsroot/VTKData login
password: vtk
cvs -d :pserver:anonymous@public.kitware.com:/cvsroot/VTKData checkout VTKData
KWWidgets
cvs -d :pserver:anoncvs@www.kwwidgets.org:/cvsroot/KWWidgets login
password: <just hit return>
cvs -d :pserver:anoncvs@www.kwwidgets.org:/cvsroot/KWWidgets co KWWidgets
Asssuming you did all this in your home directory, you have the directories Insight, InsightDocuments, InsightApplications, VTK, VTKData, KWWidgets
Make and Compile
ITK
As in the ITK Software Guide:
mkdir $HOME/Insight-bin cd $HOME/Insight-bin ccmake ../Insight
Hit c to configure, then g if everything went well. Then type
make
This will take a while, depending on the speed of your machine. It took about ~4hrs on a P4-2.8GHz with 2GB RAM.
VTK
cd $HOME/VTK ccmake .
Hit c to configure, then g if everything went well. You will probably have to hit c a number of times, setting variables in between. I set BUILD_EXAMPLES and VTK_WRAP_TCL to ON. When I tried to compile InsightApplications later, it required VTK built with VTK_USE_HYBRID, so set that too.
InsightApplications
mkdir $HOME/IA-bin cd $HOME/IA-bin ccmake ../InsightApplications
Hit c to configure, then g if everything went well. I set ITK_DIR to $HOME/Insight-bin, VTK_DIR to $HOME/VTK and USE_FLTK to ON
KWWidgets
cd $HOME/KWWidgets ccmake .
Hit c to configure, then g if everything went well.
Running the Examples
$HOME/Insight-bin/bin
will have all of the examples in the ITK Software Guide. They are standalone executables.
$HOME/KWWidgets/bin
will have all the examples from KWWidgets. They are standalone executables. KWWidgetsSetupPaths.sh is a useful script that you should run before trying to run any tcl or python code that uses KWWidgets.
$HOME/VTK/bin
will also have a bunch of executable files. An important one is $HOME/VTK/bin/vtk, use that one to run any examples written in tcl:
$HOME/VTK/bin/vtk $HOME/VTK/Examples/ImageProcessing/Tcl/Contours2D.tcl
Writing a Simple Program (ITK)
Read the ITK Software Guide. Start with the Hello World example there. All of the code in the ITK Software Guide is in the Examples subdirectory of the InsightToolkit. Most simple command-line programs can be made by slightly modifying one of the examples from the ITK Software Guide. For example, I modified the Examples/Filtering/SubsampleVolume.cxx file to use the WindowedSincInterpolateImageFunction with the Welch window.
SubsampleVolume-alex.cxx SubsampleVolume-alex.cxx CMakeLists.txt
Writing a Simple Program (VTK)
Read the Examples subdirectory of the VTK distribution. Start with VTK/Examples/Tutorial/README.txt
Writing a Simple Program (ITK+VTK)
http://www.na-mic.org/Wiki/images/e/ed/Insight-VTK.ppt
See also InsightApplications/Auxiliary/vtk/