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

Aleksandr Lizin 83259dedc7 Quality of zoomed part related to setted quality 9 years ago
automaticimport 7e2fd662be Fixed case about volume for AtomaticImport is not exist 9 years ago
imageprocessing 2f1772d1e5 Added three buttons for adjusting threshold methods: IsoData, Yen, Otsu 9 years ago
loadtests 217a74a7a7 get average in csv 9 years ago
misc 6511f25cca Add diagrams to backend 9 years ago
static 83259dedc7 Quality of zoomed part related to setted quality 9 years ago
templates 71be267e09 Merge branch 'master' into thresholdMethods 9 years ago
visualization 2f1772d1e5 Added three buttons for adjusting threshold methods: IsoData, Yen, Otsu 9 years ago
volumes 83259dedc7 Quality of zoomed part related to setted quality 9 years ago
.gitignore 5c4cdbe895 Add wildcards to .gitignore, Fix grunt file deploying after git move 9 years ago
Gruntfile.js 687333c6fc Improve uglify, add old style, that selected resolutions are colored black 9 years ago
README.md 6339f33bfa better mem during preprocessing and enhanced tesrresults 9 years ago
clouds.jpg fc9b044017 Initial commit with version 0.0.7 9 years ago
manage.py f0ef2517bd Apply pep8 to visualization 9 years ago
package.json bfca844f62 Add minify file, may have to uglify it now, improved touch, ask for biggest texture size 9 years ago
setup.cfg f08304ed72 Set line width to 160 9 years ago
startDev.sh 49838a8a27 Changed used python version to python2 9 years ago
startNewCronJobForAutomaticImportTrigger.sh bc5f205b36 Added script startNewCronJobForAutomaticImportTrigger.sh to add cron job 9 years ago

README.md

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