Vtkski development

From bone.wiki
Jump to navigation Jump to search

Documentation for vtkski

On-line documentation for vtkski is available at http://mike.kin.ucalgary.ca/vtkski/ .

Also, see vtkMeshModel which contains some examples of using the class vtkMeshModel .

Compiling and Installation

Getting the source code

Choose a place in your home directory that you want to use for the source code. For example

mkdir -p ~/code
cd ~/code

(Note that '~' gets automatically expanded to your home directory.)

Get the sources from the subversion repository.

svn checkout https://mike.kin.ucalgary.ca/svn/bonelab/trunk

See the section on svn for more info: Subversion (SVN) .

Compiling

From the vtkski project directory, create a build directory in trunk/Libraries and use cmake to configure the build:

mkdir build
cd build
cmake-gui ..

Here are some typical configuration options:

option Setting Comments
VTK_DIR /opt/vtk-5.6.0/lib/vtk-5.6 Set this to wherever you installed VTK. If you intend to build the paraview extensions as plugins, then you set this to the internal version of VTK inside the paraview build directory. (See Paraview development if you need to install ParaView).
BONELAB_BUILD_LIBRARY_itkski ON/OFF Set this to OFF if you don't want to build itkski as well. In this case you won't need to have ITK installed or specify where it can be found.
ITK_DIR /opt/itk-3.18.0/lib/InsightToolkit You only need to set this if BONELAB_BUILD_LIBRARY_itkski is ON. In that case, set it to herever you installed ITK.
Boost_INCLUDE_DIR /opt/boost-1.42.0/include Set this to wherever you installed boost. Note that this is an Advanced setting, and you won't see it until you toggle to Advanced view. Don't worry about all the Boost libraries it doesn't find; as soon as Boost_INCLUDE_DIR is properly set, it will find them.

Once you're happy with your settings, hit Configure. You might have to hit it a couple of times until there are no more errors, and the Generate button is enabled. Then hit Generate and quite cmake-gui.

Now run:

make

You won't usually need to run a 'make install', since you can just use vtkski from your build directory.

Building Doxygen documentation

To build the Doxygen documentation, set the cmake variable BUILD_DOCUMENTATION to ON. This variable is marked as advanced. You will need to have installed Doxygen ( http://www.doxygen.org/ ) in order to build the documentation.

The documentation is not automatically built with make (it takes a very long time to build). Instead, you will need to explicitly request it, like this:

make  vtkskiDoxygenDoc

Installing the Doxygen documentation on mike.kin

I recommend that you build the documentation with the cmake flag DOCUMENTATION_HTML_TARZ set to on (this variable is an advanced setting). Then the build process will automatically make a tar ball of all the HTML documentation, build/Utilities/Doxygen/vtkski-html.tar.gz , which is easy to copy over to mik.kin (using FTP or scp or the mounted Data0 volume).

The documentation needs to live in /Library/WebServer/Documents/vtkski . The commands would look something like this

tar xvzf vtkski-html.tar.gz
sudo rm -rf /Library/WebServer/Documents/vtkski     # remove old docs
sudo mv html /Library/WebServer/Documents/vtkski
sudo chown -R root /Library/WebServer/Documents/vtkski

Checklist for new vtkski classes

  • Select a category for your new class, for example 'IO', and put your source files in that directory.
  • Modify the CmakeLists.txt file in that directory to add your new source files to the list of source files.
  • Build vtkski and make sure that your class compiles.
  • Refer to Creating VTK Classes for important coding style tips.
  • Add your class, with a brief description, to Class List for vtkski.

For help writing VTK classes, refer to the book "VTK User's Guide", Part III, "Developer's Guide". There are a couple of copies in the lab.