ITK/Scripting: Difference between revisions

From KitwarePublic
< ITK
Jump to navigationJump to search
(Created from antonym)
(No difference)

Revision as of 14:22, 23 July 2004

ITK itself is written in C++, however a tool called CableSwig can be used to generate bindings for other languages. This allows you to use the same runtime (running in optimised C++ code) but develop in a scripting language (and take advantage of all the attendant benefits).

The following languages are supported via the bindings:

In order to build the bindings, you will need to:

  1. Build and install CableSwig (more info)
  2. Ensure you have installed both the runtime and the development versions of your chosen language
  3. Build ITK using the appropriate settings for your platform, and enable the CABLE_* option for your language
  4. Install ITK as per normal
  5. Test!

Tcl Bindings

Tcl (Tool Command Language) is a very simple language for writing scripts.

Python Bindings

Python is a very elegant and powerful language.

Here is some example Python code for ITK (taken from `Insight/Examples/Filtering`):

#!/usr/bin/env python
 
# BinaryThresholdImageFilter.py
 
from InsightToolkit import *
 
from sys import argv
 
reader = itkImageFileReaderUS2_New()
writer = itkImageFileWriterUS2_New()
 
filter  = itkBinaryThresholdImageFilterUS2US2_New()
 
filter.SetInput( reader.GetOutput() )
writer.SetInput( filter.GetOutput() )
 
reader.SetFileName( argv[1] )
writer.SetFileName( argv[2] )
 
filter.SetLowerThreshold( eval( argv[3] )  )
filter.SetUpperThreshold( eval( argv[4] )  )
filter.SetOutsideValue(   eval( argv[5] )  )
filter.SetInsideValue(    eval( argv[6] )  )
 
writer.Update()

Java Bindings

Java is a modern object-oriented language.