Download & Installation - labp/na-online_ow-toolbox GitHub Wiki

Download & Installation

NA-Online is not a stand-alone application. It requires OpenWalnut 1.4 or later. To download or install the toolbox please follow the instructions on this page.

General Requirements


  • Dual-core x86-64 CPU or better
  • 2 GB RAM or more
  • OpenGL support
  • Optional: CUDA enabled GPU
  • Tested on GNU/Linux: Ubuntu 12.04, Ubuntu 14.04, NeuroDebian 7/ Debian wheezy

Installation in short


  • Setup OpenWalnut 1.4 or later (with header/dev files)
  • Clone repository: git clone https://github.com/labp/na-online_ow-toolbox
  • Download/Compile/Setup dependencies:
    • via: apt-get install ...
      • Eigen3
      • Point Cloud Library: common, kdtree, search, registration
      • Qt5
    • via: ~/na-online_ow-toolbox/tools/install_dependencies.sh
      • MNE-CPP
      • FieldTrip Buffer
  • Compile toolbox
    • cd ~/na-online_ow-toolbox/build
    • may set paths, libraries and more: export <VAR>=<VALUE>
    • cmake ../src or ccmake ../src
    • make or make -j4
  • Setup Module Path for NA-Online Toolbox in OpenWalnut

1. Check & Prepare Basic Tools


The following tools are needed to compile NA-Online and the required 3rd party libraries:

  • Compiler for C/C++ (gcc, g++)
  • CMake (cmake, ccmake)
  • git (git)
  • Mercurial (hg)
  • Make (make)

Install missing tools, e.g.:

apt-get install gcc g++
apt-get install cmake cmake-curses-gui
apt-get install git
apt-get install mercurial 

2. Get OpenWalnut


If you already have a running OpenWalnut, check which version you are using. NA-Online requires at least version 1.4 and the related header/development files.
You can download a prebuilt binary from your package repository or from the NeuroDebian project. Furthermore you can build and install OpenWalnut from source for your specific platform.
Please choose one way and follow the instructions on the OpenWalnut website.
NOTE: Version 1.4 is not yet official released! Till now, you have to build OpenWalnut from source.

3. Get NA-Online


  1. Open a terminal

  2. Change directory to your home folder (optional, but used for this instructions)

     cd ~  
    
  3. Check out the NA-Online repository

     git clone https://github.com/labp/na-online_ow-toolbox  
    
  4. Change directory to repository

     cd ~/na-online_ow-toolbox  
    

4. Setup Dependencies


NA-Online requires some libraries from package repository:

  • Eigen3 (at least 3.2.0)

      apt-get install libeigen3-dev
    
  • Point Cloud Library, we just need a few libraries

      # Setup repository: http://www.pointclouds.org/downloads/linux.html
      apt-get install libpcl-common-1.7 libpcl-common-1.7-dev
      apt-get install libpcl-registration-1.7 libpcl-registration-1.7-dev
      apt-get install libpcl-kdtree-1.7 libpcl-kdtree-1.7-dev libpcl-search-1.7 libpcl-search-1.7-dev
    
  • Qt5

      apt-get install qt5-default 
    

5. Setup 3rd Party Libraries


NA-Online relies on some 3rd party libraries which are not included in the package repositories of the major linux distributions:

You have to download and compile them by your own. We provide some scripts which will guide you through the setup of 3rd party libraries. On default, the scripts will download and compile the files to: ~/na-online_dependencies.
Start the guided setup with:

cd ~/na-online_ow-toolbox/tools
./install_dependencies.sh 

Please read the output and may solve some errors. At the end you should note or remember the following paths or environment variables:

MNE_INCLUDE_DIR=~/na-online_dependencies/mne-cpp/MNE
MNE_LIBRARY_DIR=~/na-online_dependencies/mne-cpp/lib
FTB_BUFFER_INCLUDE_DIR=~/na-online_dependencies/fieldtrip/realtime/src/buffer/src
FTB_BUFFER_LIBRARY=~/na-online_dependencies/fieldtrip/realtime/src/buffer/src/libFtbBuffer.a
FTB_CLIENT_INCLUDE_DIR=~/na-online_dependencies/fieldtrip/realtime/src/buffer/cpp
FTB_CLIENT_LIBRARY=~/na-online_dependencies/fieldtrip/realtime/src/buffer/cpp/libFtbClient.a

6. Compile NA-Online Toolbox


  1. Open a terminal

  2. You may have to set some environment variables:

     export OPENWALNUT_INCLUDEDIR=<path to OpenWalnut header>
     export OPENWALNUT_LIBDIR=<path to OpenWalnut core lib>
     export MNE_INCLUDE_DIR=~/na-online_dependencies/mne-cpp/MNE
     export MNE_LIBRARY_DIR=~/na-online_dependencies/mne-cpp/lib
     export FTB_BUFFER_INCLUDE_DIR=~/na-online_dependencies/fieldtrip/realtime/src/buffer/src
     export FTB_BUFFER_LIBRARY=~/na-online_dependencies/fieldtrip/realtime/src/buffer/src/libFtbBuffer.a
     export FTB_CLIENT_INCLUDE_DIR=~/na-online_dependencies/fieldtrip/realtime/src/buffer/cpp
     export FTB_CLIENT_LIBRARY=~/na-online_dependencies/fieldtrip/realtime/src/buffer/cpp/libFtbClient.a
    
  3. Change directory to build folder:

     cd ~/na-online_ow-toolbox/build
    
  4. Generate Makefile and enable/disable unit test, CUDA support and more:

     cmake ../src
     # or
     ccmake ../src
    
  5. Compile:

     make
     # or with 4 CPU cores
     make -j4
    

7. Setup NA-Online Toolbox in OpenWalnut


Now we can tell OpenWalnut, to load the NA-Online toolbox:

  1. Start OpenWalnut
  2. Open Settings/Configure Modules in the menu bar
  3. Switch to tab Module Paths
  4. Add Path: ~/na-online_ow-toolbox/build/lib/openwalnut
  5. Close & Restart OpenWalnut, you should now find the modules in the module list.
⚠️ **GitHub.com Fallback** ⚠️