Slicer3:SkeletonGenerator

From NAMIC Wiki
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

Go to working directory and just run the script. Suppose working director is "./work", Skeleton Generator is in /home/junichi/SkeletonGenrator and the name of the module you will create is "NewModule"

 $ mkdir work
 $ cd work
 $ /home/junichi/SkeltonGenerator/generate.tcl --name=NewModule

Then the program creates a directory named "NewModule" and generate 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