/workbench

Connectome Workbench

Primary LanguageC++GNU General Public License v2.0GPL-2.0

Connectome Workbench requires QT5 to compile.  Recommended is version 5.6 or later (due to an issue with the toolbar size on earlier versions).

It is highly recommended to compile with OSMesa, which allow the -show-scene command and the "render pixmap" image capture method to work.  Use it by setting the *cmake* variable WORKBENCH_MESA_DIR, such that ${WORKBENCH_MESA_DIR}/include/GL/osmesa.h exists.

It is compiled using cmake, for example, on linux you can do:

mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D WORKBENCH_MESA_DIR=/usr -D WORKBENCH_USE_QT5=TRUE ../workbench/src
nice make -j8

For other OSes, see http://www.cmake.org/cmake/help/runningcmake.html

Note the -j flag of "make" is used in the example to speed up the build by compiling multiple source files at the same time.  If you have a different number of cores/hardware threads or want to reduce the load, adjust it accordingly.  The "nice" command is not needed, it is used to make the compilation have less priority than other processes.

This produces 3 executables, 2 of which are useful to the end user (Desktop/wb_view, CommandLine/wb_command), and one for running internal tests (Tests/test_driver).

To run the (few) tests available:

ctest
#OR
make test

To install wb_view, wb_command, wb_shortcuts, and the bash completion script to the default locations:

make install

It should be noted that wb_import, provided in the HCP binary releases of Connectome Workbench, is actually part of caret5 (http://brainvis.wustl.edu/wiki/index.php/Caret:Download).

Connectome Workbench itself is licensed under GPLv2 or later, copyright 2014-2017 Washington University School of Medicine, see LICENSE file

Some source files are licensed under an MIT license (Expat), for easier code reuse in non-GPL projects:
Files/SurfaceResamplingHelper.cxx
Cifti/examples/*
CommandLine/wb_shortcuts
CommandLine/wb_command_completion
Copyright (C) 2014-2016 Washington University School of Medicine

Some included code/files are from third party sources, with the following licenses:

kloewe/*:
Copyright (c) 2012-2016 Kristian Loewe, Christian Borgelt
licensed under MIT (Expat), see kloewe/dot/LICENSE and kloewe/cpuinfo/LICENSE

Quazip/*:
QuaZIP 0.6, http://quazip.sourceforge.net/
Copyright (C) 2005-2012 Sergey A. Tachenov
Copyright (C) 1998-2010 Gilles Vollant
Copyright (C) 2009-2010 Mathias Svensson
Copyright (C) 2007-2008 Even Rouault
Copyright (c) 1990-2000 Info-ZIP
licensed under LGPLv2 and zlib, see Quazip/COPYING, Quazip/quazip.h, Quazip/zip.h and Quazip/unzip.c

Qwt/*:
Copyright (C) 1997   Josef Wilgen
Copyright (C) 2002   Uwe Rathmann
Qwt 6.0.1, http://qwt.sourceforge.net/
licensed under Qwt license v1.0 (LGPLv2.1, with exceptions), see src/Qwt/COPYING
some unneeded files removed

FtglFont/*:
FTGL library
Copyright (C) 2001-2004 Henry Maddocks <ftgl@opengl.geek.nz>
Copyright (C) 2008 Daniel Remenak <dtremenak@users.sourceforge.net>
Copyright (C) 2008 Éric Beets <ericbeets@free.fr>
Copyright (C) 2008 Sam Hocevar <sam@zoy.org>
Copyright (C) 2008 Sean Morrison <learner@brlcad.org>
licensed under Expat, see FtglFont/COPYING

Common/Base64.*, Common/DataCompressZLib.*, Common/MathFunctions.*, Nifti/Matrix4x4.cxx:
use code from VTK, http://www.kitware.com/opensource/vtk.html or http://www.vtk.org/
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
originally licensed under BSD 3-clause, see http://www.kitware.com/Copyright.htm or http://www.vtk.org/VTK/project/license.html

GuiQt/WuQDialog.cxx, Brain/FtglFontTextRenderer.cxx:
copied some code from from QT4, https://qt-project.org/
Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
originally licensed LGPLv2.1 (or GPLv3, or a commercial license)
modified to change some UI behaviors otherwise hardcoded into QT classes

Files/SignedDistanceHelper.cxx, Files/RibbonMappingHelper.cxx:
make use of PNPOLY, http://www.ecse.rpi.edu/~wrf/Research/Short_Notes/pnpoly.html
Copyright (c) 1970-2003, Wm. Randolph Franklin
originally licensed with 3-clause BSD/MIT license, see files in question
rewritten for different argument types, modified

Resources/FtglFonts/Vera*.ttf
Copyright (c) 2003 Bitstream, Inc.
licensed under Bitstream-Vera (basically, modification of fonts requires calling them something else), see debian/copyright file