General-purpose real-time 3D visualization
Project description
CarnaPy
The aim of this package is to provide general-purpose real-time 3D visualization for specifically, but not limited to, biomedical data, using Python. The library is based on Carna.
See examples/kalinin2018.ipynb for an example.
Contents
1. Limitations
- Only 12bit volume data is supported at the moment. Extension to 16bit or beyond should be straight-forward.
- DRR renderings are not exposed to Python yet.
2. Dependencies
The following dependencies must be satisfied for the build process:
- Eigen ≥ 3.0.5
- Carna
- libboost-iostreams
- OpenGL 3.3
- GLEW ≥ 1.7
- EGL
- Python 3
- pybind11
- Linux environment and Conda
The build process has been tested with following tools and versions:
- Eigen 3.2.10 is known to be fully supported.
- GCC 7.5 is known to be fully supported.
- Python 3.8.5 is known to be fully supported.
- Ubuntu 18.04 is known to be fully supported.
- pybind11 2.5.0 is known to be fully supported.
3. Build instructions
Assuming you are using a recent version of Ubuntu:
sudo apt-get -qq install libglew-dev libegl1-mesa-dev libboost-iostreams-dev
Create and activate a Conda environment to work in, then:
conda install -c conda-forge pybind11
Download a recent version of Eigen, unpack it, and tell CMake where it is located:
wget https://gitlab.com/libeigen/eigen/-/archive/3.2.10/eigen-3.2.10.tar.gz
tar -vzxf eigen-3.2.10.tar.gz -C /tmp/
export CMAKE_PREFIX_PATH="/tmp/eigen-3.2.10:$CMAKE_PREFIX_PATH"
If you have not already, download, build, and install Carna:
cd /tmp
git clone git@github.com:RWTHmediTEC/Carna.git
cd Carna
sh linux_build.sh
Now it is time to build, package, and install CarnaPy:
cd /tmp/CarnaPy
python setup.py bdist_wheel
python -m pip install CarnaPy/dist/CarnaPy-*.whl
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.