This repository provides a tensor visualization tool to visualize 3D tensor fields with built-in functions and performs efficient 3D tensor voting using parallel computations with CUDA.
The repository focuses on:
- Tools for generating, processing, and visualizing tensor fields and volumetric data.
- Parallelized tensor voting computations using CUDA for GPU acceleration.
- Efficient parallelized eigendecomposition of tensors for 3D data.
- Synthetic dataset generation for validation and testing.
This project is designed for research in large-scale tensor voting frameworks, particularly for 3D data analysis and segmentation. For the complete repository (including the 2D version, image-to-tensor library, etc.) visit the STIM LAB Repository.
This demo shows the functionality of the TensorView3D program. A tensor field generated from Serial Block-Face Scanning Electron Microscopy (SBF-SEM) data is loaded into the program, where various tools and visualization techniques are applied to the tensor field.
- Python 3.8+
- Required Python packages:
numpy
scikit-image
scipy
- C++ Libraries:
- OpenGL
- FreeGLUT
- Boost Program Options
- Eigen3
- GLEW
- ImGui
- GLFW3
- CUDA Toolkit (for GPU-accelerated computations)
- Windows OS (project does not currently support macOS)
- CUDA Toolkit: Install from NVIDIA CUDA Toolkit.
- CMake: Version 3.29 or higher.
- vcpkg (for managing C++ dependencies).
Install vcpkg
to manage the required C++ packages:
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
bootstrap-vcpkg.bat
Run the following commands to install required libraries:
vcpkg install glfw3 glm imgui[core,glfw-binding,opengl3-binding] glew boost-program-options eigen3
These commands install:
glfw3
for window handlingglm
for math operationsimgui
for the GUIGLEW
for OpenGL extensionsBoost
(Program Options) for argument parsingEigen3
for linear algebra
Note: Replace
vcpkg
paths in CMake if necessary (e.g.,CMAKE_TOOLCHAIN_FILE
).
- Clone the repository:
git clone https://github.com/helia77/tensorview3D.git cd tensorview3D
- Create a build directory and configure CMake:
mkdir build && cd build cmake -DCMAKE_TOOLCHAIN_FILE="path/to/vcpkg/scripts/buildsystems/vcpkg.cmake" ..
- Build the project:
cmake --build . --config Release
To install Python libraries, run on your conda terminal:
conda install numpy scikit-image scipy
- Build the C++ executable using CMake (steps above) and run:
./tensorview3 --input TENSOR_FILENAME
Contributions are welcome! If you'd like to improve this repository, follow these steps:
- Fork the repository.
- Create a feature branch:
git checkout -b feature-branch
- Commit your changes and push the branch.
- Open a Pull Request.