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} ```