README.md 3.0 KB

volume-visualization

The target of this project is to provide a preview for volume rendering in the browser. In future it will be integrated in the current workflow of experiments and therefore in the reconstruction process

installation

Please install requirements first.

Example for OpenSuse and with package manager 'zypper':

zypper-packages:

python >= 2.7 python-numpy python-numpy-devel mongodb memcached libmemcached-devel libtiff-devel libjpeg8-devel

pip-packages:

blinker >= 1.3.0 python-memcached Django >= 1.7.3 six scipy Pillow >= 2.6.0 scikit-image tifffile mongoengine mongodbforms (from git repo: pip intall git+http://git.ipe.kit.edu/schultze/django-mongodbforms.git)

Import the mongodbdatabase

In general, please refer to the mongodb homepage.

Untar the package 'misc/dump/volume_visualization.mongodb.tar.gz' Then run 'mongorestore --db volume_visualization dump/volume_visualization/' Note that, with this dump, it is not possible to use zooming. For zooming, the original datas are needed, and that are far too big to store it in the git repository.

Configure memcached

At some point we need to cache some generated images in the memcached cache. So we have to increase the number of allowed value size. In OpenSuse, open "/etc/sysconfig/memcached" and add "-I 15M" to the configuration. Start or restart the memcached service

Configure the application properly

Go to 'visualization/' Copy the 'settings_env.py.dev' file to 'settings_env.py'. Review the configuration options and put in yours.

Start running the server

Be sure, that your local mongodb server is running

Just do a 'python manage.py runserver' For more options, please refer to the original Django documentation

Developing JS

sudo zypper ar http://download.opensuse.org/repositories/devel:/languages:/nodejs/openSUSE_13.1/ Node.js sudo zypper in nodejs nodejs-devel npm

After that, please install 'grunt' via 'sudo npm install -g grunt-cli' You are ready to go developing JS for the application.

Just use Grunt, e.g. 'grunt watch' (in a separate terminal) All 3D relevant files will be packaged together to one JS file.

Deploying on servers

Currently there exist different servers and on that servers, different stages.

Available servers:

  • (1) ipepdvcompute3.ipe.kit.edu
  • (2) anka-visualize.anka.kit.edu

Both servers provide a staging and a prod environment

To deploy the application on a server, grunt can be used with its deploy target. As options --env and --server are mandatory Possible values for --env: 'staging', 'prod' Possible values for --server: 'compute3', 'anka' where 'compute3' refers to server (1) and 'anka' to server (2)

E.g. so if you want to deploy to ipepdvcompute3.ipe.kit.edu on prod env: grunt deploy --env=prod --server=compute3#

Please refer to Grundfile.js for more information