Slicer3:SkeletonGenerator

From NAMIC Wiki
Revision as of 20:41, 17 September 2009 by Tokuda (talk | contribs) (→‎How to use it)
Jump to: navigation, search
Home < Slicer3:SkeletonGenerator

Introduction

The Skeleton Generator is a simple program to generate template codes for 3D Slicer module and help developers to get started on their development. A source code generated by the Skeleton Generator can immediately be compiled and executed as a 3D Slicer module. The developers can create their own modules by just modifying the codes.

Getting Started

Requirement

The Skeleton Generator is written in Tcl. You need to have a Tcl interpreter to run the program on you computer. The program generates a Slicer3 Module C++ code, which can be compiled on Windows/Linux/Mac OS X.

Get the program

The program is available in the NA-MIC SandBox repository. You can obtain the source code by using Subversion. In case of Linux and Mac OS X, simply type following command in the terminal:

 svn co http://svn.na-mic.org/NAMICSandBox/trunk/IGTLoadableModules/SkeletonGenerator SkeletonGenerator

How to use it

You must have a Slicer source directory. We suppose that the Slicer source directory is <working directory>/Slicer3 and Skeleton Generator in <working directory>/SkeletonGenrator. If you want to create a new module named "NewModule"

 $ cd <working directory>/Slicer3/Module
 $ <working directory>/SkeltonGenerator/generate.tcl --name=NewModule

Skeleton Generator creates a directory named "NewModule" and generates template codes there.

 $ cd NewModule
 $ ls
 CMakeLists.txt             vtkNewModuleGUI.h
 NewModule.txt              vtkNewModuleLogic.cxx
 vtkNewModuleConfigure.h.in vtkNewModuleLogic.h
 vtkNewModuleGUI.cxx        vtkNewModuleWin32Header.h

Compile the module

To compile the module on Linux or Mac OS X, run the following commands:

 $ cd <working directory>
 $ mkdir NewModule-build
 $ cd NewModule-build
 $ cmake -DSlicer3_DIR=<path to the Slicer3-build directory> ../NewModule
 $ make

Future work

  • Provide several module styles e.g. wizard-based GUI (The program already has a mechanism to choose a style from different template codes, but only a simple template is provided currently.)
  • Note: relies on 'sed' so may not work on windows.

People