Fourier Volume Rendering on the GPU

Using a Split-Stream-FFT

Thomas Jansen, Bartosz von Rymon-Lipinski, Nils Hanssen, Erwin Keeve

Research center caesar

Surgical Systems Lab

 

Èñòî÷íèê: http://www.cta.ru/cms/f/366642.pdf

 

 

Abstract

 

The Fourier volume rendering technique operates in the frequency domain and creates line integral projections of a 3D scalar field. These projections can be efficiently generated in ) log O( 2 N N time by utilizing the Fourier Slice-Projection theorem. However, until now, the mathematical difficulty of the Fast Fourier Transform prevented acceleration by graphics hardware and therefore limited a wider use of this visualization technique in state-of-theart applications. In this paper we describe how to utilize current commodity graphics hardware to perform Fourier volume rendering directly on the GPU. We present a novel implementation of the Fast Fourier Transform: This Split-Stream-FFT maps the recursive structure of the FFT to the GPU in an efficient way. Additionally, highquality resampling within the frequency domain is

discussed. Our implementation visualizes large volumetric data set in interactive frame rates on a mid-range computer system.

 

1 Introduction

 

Most volume rendering techniques fall into one of two classes:

·          In the screen-space approach, a ray is cast for each pixel on the screen, with uniform sampling and composition of the volumetric data along the ray, e.g. Raycasting and Shear-Warp.

·          In the object-space approach, the volume is traversed either back-to-front or front-toback, blending each scalar into the projection plane, e.g. 3D texture mapping and Splatting.

It can be seen, that both approaches operate in the spatial domain and somehow have complexity ) O( 3 N for a volume of size 3 N , as each voxel needs to be visited.

Instead of working in the spatial domain, Fourier Volume Rendering (FVR) is based on the frequency spectrum of the 3D scalar field by utilizing the Fourier Slice-Projection theorem. This theorem allows us to compute integrals over volumes by extracting slices from the frequency domain representation.

In detail, FVR generates line integral projections of a set of 3 N scalars – using the inverse 2D Fast Fourier Transform (FFT) – with complexity ) log O( 2 N N . The application of the Fourier Projection-Slice theorem to image synthesis has been independently proposed by Dunne and Malzbender. An application to MR angiography is described by Napel. Solutions for depth cueing and illumination where proposed by Totsuka and Levoy. Additionally, frequency domain based algorithms, using the wavelet transform were presented by Westenberg and Gross.

However, even the most recent implementations of FVR are realized on the CPU only. In contrast, most spatial domain volume rendering algorithms make use of current graphics hardware features, such as programmability. This leads to faster implementations, even for a worse computational complexity. The mathematical structure of FVR – especially the use of the FFT – has prevented its adaptation to modern graphics hardware.

Such hardware, also known as the Graphics Processing Unit (GPU), nowadays implements a stream architecture, which uses a kernel to operate on one or multiple input streams to produce one or

multiple output streams. Using this paradigm, it became popular to use the GPU for problems it was not designed for, e.g. to compute Voronoi diagrams, generate interactive caustics, or simulate crystal growth.

The mathematical obstacle of FVR is the inverse FFT that transforms scalar values from the frequency spectrum to the spatial domain. The adaptation of the recursive structure of the FFT to the GPU is likely to be the major difficulty of the full FVR pipeline. Moreland et al. proposed a FFT implementation, however, the algorithm does not make efficient use of the graphics hardware and a special texture format is used, which might be useful for image processing but is not applicable for the FVR approach.

In this paper we describe how to take advantage of the features of commodity graphics hardware to realize FVR. As a major part, this includes a novel implementation of the FFT on the GPU: The Split-Stream-FFT was designed to efficiently map the recursive structure of the FFT to the stream architecture of a GPU. This leads to superior speed performance for DSP applications in general, and to the FVR in special. In addition, we deal with resampling in the frequency domain, which is essential to accomplish proper image quality.