Skip to content
David Sarrut edited this page Jul 24, 2015 · 11 revisions

You need c++ compiler, git, cmake. Works under linux and mac osx. For Windows ... (it's a joke?).

Main dependencies are: ODB, ITK, DCMTK, Ceres-solver, Boost.

Install ODB

  • For object-oriented database management : "ODB is an object-relational mapping (ORM) system for C++. It provides tools, APIs, and library support that allow you to persist C++ objects to a relational database (RDBMS) without having to deal with tables, columns, or SQL and without manually writing any of the mapping code."
  • See http://www.codesynthesis.com/products/odb
  • Work with version >= 2.4.0
  • Need 3 parts to be installed: 1) odb compiler 2) libodb and 3) libodb-sqlite
  • for Mac osx, use homebrew https://github.com/Max13/homebrew-odb
  • brew tap max13/odb
  • brew install odb
  • brew install libodb
  • brew link --overwrite libodb
  • brew install libodb-sqlite
  • brew link --overwrite libodb-sqlite

Install ITK

  • For image processing
  • See www.itk.org
  • Work with version >= 4.5.2
  • (Make sure you use BUILD_SHARED_LIBS=ON)
  • because c++11 is needed for syd, you need to compile ITK also with c++11. Use:ccmake -DCMAKE_CXX_FLAGS=-std=c++11 ../InsightToolkit-4.8.0. Note that this option must be set before any ccmake.
  • You may want to set the env variable: export ITK_DIR=/my_path/build-itk

Install DCMTK

  • For Dicom processing
  • See http://dicom.offis.de/dcmtk.php.en
  • Work with version >= 3.6.0
  • DCMTK 3.6.0, latest public version may not compile with latest version of gcc installed in your system. Please consider using newer shapshot of DCMTK.
  • You need to activate BUILD_SHARED_LIBS=ON , consider using CMake instead of the recommended './configure' file

Install Boost (devel)

  • Extended C++ library
  • Version ?

Install Ceres-solver

  • For fit and optimisation
  • Version ?

Download and compile the source

  • git clone https://github.com/OpenSyd/syd.git
  • mkdir build ; cd build
  • ccmake ../syd Provide ITK_DIR, and other path to dependence libraries, then type 'c' and 'g' to configure and generate makefiles)
  • make -j 4
  • Optional: make test

Once compiled, the libraries are in build/lib and the executable in build/bin. You need to set the environment variable SYD_PLUGIN to point to the libraries, for example:

export SYD_PLUGIN=/my_path/build/lib:${SYD_PLUGIN}