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:
``` sh
export SYD_PLUGIN=/my_path/build/lib:${SYD_PLUGIN}
```