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