Skip to content

viljanvr/VisualNifty

Repository files navigation

VisualNifty

VisualNifty is an interactive volumetric image viewer developed for medical imaging and scientific visualization. It is designed to efficiently render three-dimensional scalar fields from NifTi-format datasets. The system utilizes a ray casting-based Direct Volume Rendering (DVR) pipeline to transform raw intensity data into detailed visualizations. Advanced rendering techniques - such as gradient-based shading and ambient occlusion — are integrated to improve the perception of depth and surface detail, resulting in photorealistic images that depict internal structures. High performance enable real-time interactivity even on complex and high-resolution datasets. VisualNifty also offers an intuitive user interface that allows fine-grained adjustments of visualization parameters, like transfer functions, lighting configurations, and view manipulations.

Project Report

For a detailed description of the implementation and results, see the full report:

VisualNifty - A Volumetric image viewer

Screenshots

Startup Interface

Startup Interface

Photo Realistic Rendering

Photo Realistic

First Contact

First Contact

Compositing (Front-to-Back)

Compositing (Front-to-Back)

Maximum Intensity Projection

Maximum Intensity

Mean Density

Mean Density

Project Structure

src/
  main.cpp
  core/                # NIfTI data management
  interface/           # UI components (GradientEditor, LayoutSetup, RangeSlider)
  viewPort/            # 3D viewport, camera, and rendering logic
shaders/               # GLSL shader files for rendering
datasets/              # Example NIfTI datasets
CMakeLists.txt         # Build configuration

Getting Started

Prerequisites

  • C++17 compatible compiler (e.g., clang++)
  • OpenGL development libraries
  • Qt
  • RNifti (for NIfTI support)

Build Instructions

mkdir build
cd build
cmake ..
make

After building, run the application from the build directory:

./VisualNifty

About

VisualNifty is an interactive viewer for volumetric images, designed for medical imaging and scientific visualization. It is implemented using C++ and OpenGL and based on the Direct Volume Rendering (DVR) technique.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors