Difference between revisions of "ITK/Insight Applications"

From KitwarePublic
< ITK
Jump to navigationJump to search
(Created from antonym)
 
Line 36: Line 36:
  % cd ~/projects/InsightApplications-1.6.0
  % cd ~/projects/InsightApplications-1.6.0
  % mkdir Build
  % mkdir Build
% cd Build


Run CMake, pointing it at the top-level of the source directory:
Run CMake, pointing it at the top-level of the source directory:

Revision as of 20:35, 23 October 2004

The Insight Toolkit itself is an "engine", and has no dependencies or requirements on any particular GUI or visualisation libraries. (In fact ITK can easily be used to write both console and batch-mode applications.)

InsightApplications (CVS) is a separate CVS repository that contains a wide variety of sample code, that demonstrate how to build complete applications with ITK.

Highlights

Here is a small selection of the applications included:

  • SNAP : A complete segmentation tool
  • ... many more ...

Building Insight Applications

This section describes how to build the Insight Applications.

Prerequisistes

The following information is aimed at version 1.6 of the toolkit:

  • ITK version 1.6+
  • FLTK version 1.1.3
  • Qt version 2.0+
  • VTK version 4.2
  • OpenGL/GLUT version 1.2+

The most commonly used GUI is FLTK, and many applications use VTK also. If you have these two libraries, you can build most of the applications.

Matching Version

Note that it is very important to match the version of InsightApplications with the version of ITK you are using. Thus, if you have version 1.6.0 of the toolkit installed, you should download the corresponding version 1.6.0 of InsightApplications here. If you have installed ITK from a CVS build, you should obtain a checkout of the applications from the same day. Further instructions can be found in BuildingFromCVS.

Build Instructions

Create a separate directory for the build, eg:

% cd ~/projects/InsightApplications-1.6.0
% mkdir Build
% cd Build

Run CMake, pointing it at the top-level of the source directory:

% ccmake ..

The first time CMake comes up, you just need to press 'c' to perform the first-time configure step. This should find your compiler and other libraries. You may get a warning telling you that it is setting the CXX compiler to `g++` to match that imported from ITK; you can safely ignore this with 'e' and continue.

You are then presented with the first round of settings. Make the changes as summarised in the next section.

CMake Build Settings

The following settings are recommended to change from the default:

BUILD_SHARED_LIBS ON
BUILD_TESTING OFF
CMAKE_BUILD_TYPE Release
USE_FLTK ON
USE_VTK ON

Press 'c' again to configure this selection. If any of the libraries are not found in their default locations, you may get a warning, in which case you need to manually specify their locations. For example, on my system `VTK_DIR` comes up as `VTK_DIR-NOTFOUND` so I set it manually to `/usr/local/vtk/lib/vtk`.

Keep pressing 'c' to configure, and check any options that are highlighted with an asterisk '*'. Fill out any missing library locations, and eventually you will get the 'g' option enabled to generate the makefile.

Compiling

Assuming all the libraries were found, and the makefiles were generated, you can now you can start the compile:

% make

This can take quite some time, depending on the speed of your machine.

Installing

TBC: currently the applications do not install themselves, so running `make install` will have no effect.

Running

You can simply run the applications from where they have been compiled.

Note that it may be convenient to have certain commonly used applications (such as the `ImageViewer` available on your path.

A note about paths

Many applications use the common libraries found in `InsightApplications/Auxiliary`. These need to be found at runtime by the system, so you can either:

  • add the directory to your `PATH` (under Windows) or `LD_LIBRARY_PATH` (under *nix systems), or
  • under *nix, rely on the rpath option being set to hard-code in the executables the location of the extra libraries