A voxel volume renderer project I participated at university.
Table of Contents
- University Projects
Introspect and visualize scientific voxel data sets.
Voxie was the first “real” software project with several people I worked on. It was part of my software engineer education to play through all the processes in a software development lifecycle.
We started with your typical requirement specification, customer interviews, and so on and then started to create a prototype.
At this time, I was the most experienced dev in the team of 12 people, so I took the role of the lead developer and architect, and I designed most of the architecture of both versions. The second architecture is still used in the project and seems to scale well enough.
Voxie was designed to handle huge voxel datasets (30 GiB and more) resulting from CT scans or other sources of 3D data.
The tool was meant to display both a 3D visualization of the data sets as well a “slice” view where one could cut straight through the data and postprocess the resulting image, allowing extraction of information:
On the right, you can see settings windows that allowed you to configure components you activated. Here you can see the configuration for the X-Ray 3d renderer.
On the left is the result of the rendering process and in the middle is a slice that was put into the PCB traces of that part.
The X-Ray renderer wasn’t the only option available. There was also an isosurface renderer utilizing marching cubes and other volume-to-polygon techniques:
This was useful to display the rough shape of objects. One benchmark dataset we had was pretty cool as it was a 3D scan of a Raspberry Pi. The marching cubes visualization actually yielded a pretty accurate 3D model of the Pi, allowing us to showcase the tool nicely.