-
Notifications
You must be signed in to change notification settings - Fork 2
Home
Slavomir Hudak
2006
Master's Thesis
Faculty of Mathematics, Physics and Informatics
Comenius University, Bratislava, Slovakia
This thesis provides a presentation of a parallel volume data visualization system for data supplied from confocal laser scanning microscopy. It describes and compares various methods for volume visualization and optimalization and their implementations on parallel architectures. The parallel volume renderer we have developed is implemented on a 16 nodes PC cluster connected by a high-speed Myrinet network using MPI, ray-casting and binary-swap algorithm. To improve efficiency, several optimalizations for increasing the speed of the ray casting process are used, including empty regions skipping and an efficient bricking addressing scheme. We also suggest several methods of improving the performance when using MPI and compilers. The system is capable of running interactively (several frames per second) on a PC cluster.
Keywords: Volume ray-casting, ray-tracing, parallel rendering, PC clusters, binary swap algorithm, volume data.
Name | Description |
---|---|
BTF | Back-To-Front |
CLSM | Confocal Laser Scanning Microscopy |
CPU | Central Processing Unit |
CT | Computed Tomography |
FTB | Front-To-Back |
GNU | GNU’s Not Unix (Free Software Fundation) |
GPL | General Public Licence |
GPU | Graphics Processor Unit |
HPC | High Performance Clusters |
IEEE | The Institute of Electrical and Electronics Engineers |
ILC | International Laser Centre |
ISO | International Standards Organization |
I/O | Input/Output |
LAN | Local Area Network |
LSM | Laser Confocal Microscopy |
MIMD | Multiple Instruction, Multiple Data |
MISD | Multiple Instruction, Single Data |
ILC | International Laser Centre |
MPI | Message Passing Interface |
MRI | Magnetic Resonance Imaging |
NUMA | Non-Uniform Memory Access |
RADC | Ray Acceleration by Distance Coding |
PGI | The Portland Group, Inc. |
PSF | Point Spread Function |
SIMD | Single Instruction, Multiple Data |
SISD | Single Instruction, Single Data |
SMP | Symmetrical Multi Processing |
SPMD | Single Program, Multiple data |
SSE | Streaming SIMD Extensions |
SSH | Secure Shell |
TIFF | Tagged Image File Format |
Volume visualization is well known branch of computer graphics. To be more precise - it is part of scientific visualization area. It allows to explore internals and complex behavior of the volume objects. Mainly thanks to needs of medicine - precisely, correctly and fast enough to display organs of the human body on common personal computers - the volume visualization develops so fast. Today new techniques and available hardware make it possible to interactively visualize volume data to the doctors. Result of long research and development improved both software and hardware side of the problem. There are known and well explored techniques to visualize complex structures from various areas of science. In comparison to medicine, the structures on microscopic level are much more complex and a lot of them is still unexplored.
Recently the multidimensional visualization greatly expanded in the field of microscopy. Many techniques were successfully applied in the light or electron microscopy. Confocal laser scanning microscopy (CLSM) brings new possibilities of optical visualization that lead to rapid usage of visualization techniques for all kinds of samples.
In the first chapter we introduce the problem of interactive visualization, clarify term confocal microscopy and describe confocal data itself. Second chapter gives overview of the volume visualization methods and in detail describes idea and principles of ray tracing algorithm. Third chapter introduces the reader to the problematic of creating parallel algorithms and presents approaches to parallel volume visualization. Chapter number four presents couple of optimizations techniques that could be applied to the approaches described in previous chapters. Chapter five contains all details about design and implementation of parallel application we've built. It also describes challenges and problems experienced during the development. Results of the work are presented in chapter six. Chapter seven contains summary and possible extensions of the work. References ends the thesis.
3D image processing is area of computer graphics that is recently getting more and more attention. Mainly because of growing speed of computers and availability of new technologies. Thanks to that we are today able to process image data much faster than yesterday. Usage of 3d image processing we can experience in our daily life. It plays important role in medicine where it helps doctors to analyze data from devices like magnetic resonance imaging (MRI) or computer tomography (CT). Another use cases we can observe for example in geography (visualize of gas, petroleum or water models extracted from seismic data), physics (visualization of results from experiments and simulations), industry (analysis of particle fractures), navy (display signals from sonar) or biology (reconstruction 3d model of an object from series of slices gathered by confocal microscope). In this work we focus on the later area. Note that algorithms and techniques described in this paper are not coupled to confocal data.
Goal of the thesis was studying, comparison and selection of best methods for volume visualization of confocal data on parallel architectures. We designed and created tools for displaying confocal data on parallel computer - PC cluster. In confocal microscopy the main goal of usage visualization is to producing easy to interpret results. Realistic results without artifacts where if is perhaps possible to highlight areas of interest. Confocal microscopy allows relatively easily taking pictures in non invasive way. However the visualization of such data is quite complex process.
To get to our goal it was necessary to study problematics of volume visualization and parallel rendering (chapter 2 and 3). In those chapters we discuss important techniques, comparisons but also related problems and pitfalls. Volume rendering is only one of many methods of volume data visualization. In the work we compare advantages and disadvantages of volume rendering. In detail is described method of ray casting (chapter 2) and also building of parallel program and challenges related to it (chapter 3). In that chapter we also discuss creating and rendering of image on parallel architectures. To enhance performance of ray casting with describe in chapter 4 many software optimizations of ray casting including skipping of not interesting areas in volume data, effective addressing scheme and lookup table of homogeneous cells. Description of architecture and implementation of the system reader can find in chapter 5. The chapter contains specification of used hardware, details regarding implementation of core components and our problems we've met while developing the software. Results also in graph form are presented in chapter 6. We describe settings of compilers for getting best results, compare the values and in tables present results from Ethernet and Myrinet networks. Also comparisons of basic and optimized version of program is presented.
Main asset of the research and development is in creating parallel process of visualizing CLSM data of direct volume methods on PC cluster. The architecture tries to be generic to be used on any parallel architecture. Implementation of classes and algorithms tries to be most portable and effective. Visualization of the data is interactive in the end, but it also depends on size of volume data. Thesis also provides overview of volume visualization, creating parallel programs and parallel volume visualization.
Work on thesis and program was done with cooperation with International Laser Centre (ILC) that resides on Faculty of Mathematics, Physics and Informatics of Comenius University, Bratislava, Slovakia.
International Laser Centre is organization focused on educating, research and development in area of progressive methods and technology of photonics; and its application in various areas of national and international cooperation. On the department of biophotonics is available confocal microscope Zeiss LSM 510 Meta NLO that includes spectral detector and inverse microscope Axiovert 200M with pre-loading of specimens (electro stimulation, perfusion, warming, etc). The device is used in multiple projects aimed to study mitochondrial metabolism, modulation of excitation and contractility in isolated cardiomeocytes in relation to the development and course of hypertension. It is also used to study polymetric membranes and matrices made of polyelectrolytic complexes and study focused on the application of different photosensitiser in photodynamic therapy of tumors.
Image processing of confocal microscopy is closely tied to the possibility of using computer cluster of IBM eServer 1350. Currently, the cluster is mainly used for confocal data analysis and validation of models studied processes occurring in living systems. However, ILC assumes the use of cluster for direct imaging - visualizing large-scale data using parallel rendering techniques.
Currently the laser center does not have any satisfactory tool for interactive rendering of captured specimens. There are programs enabling to create two-dimensional image or animation (rotation of the camera around captured object). It is important to note that most of these programs work on commonly available computer. This corresponds to the speed of creation, and of course quality. It should be noted that there are some commercial solutions available for quite high price.
Attempts were made to visualize confocal data on graphics cards using f3dvr (Červeňanský, 2004), but the results were unacceptable. The first problem was size of data that the program is able to visualize. As will be mentioned later, the size of confocal data exceeds the 1 gigabyte. The second problem again shows the characteristics of data. They contain very few samples in z-direction. Using graphics card solution, the result is displayed in one plane. Experiments have shown the loss of 3D object perception and lower image quality.
Calculation of spatial data is a processing time and storage intensive process. In order to display confocal data preferably interactive, we decided to choose a parallel approach using the PC cluster, located in the ILC.
Before we analyze the interactive volume visualization, let's look at the meaning of certain terms. The following paragraph is based on (Sramek, 1998), (Bentum, 1996), (Zara, 1998). Visualization can be seen as a graphical representation of abstract data mostly stored in the form of numbers or text. Table with n samples and their associated values is not saying much of the first look. However, if we create a graph from the values, although we lose the accuracy of the numbers, from the graph it is possible to say much more about the dimensions and characteristics of data.
That said we can define volumetric visualization as a process of three-dimensional data projection on two-dimensional plane in order to understand the structure of objects contained in the data. In literature the terms volumetric rendering are also used.
Under the words interactive visualization we mean data visualization where user is able to change the parameters in real time. The requirement for interactive visualization is critical because it shows objects we have no structure information about. Changes done by user should take effect immediately. For continuous display of the scene it is necessary that the program is able to render data at speed of at least 25 frames per second (in practice very difficult to achieve and depends of structure and size of data). As we shall see later, (interactive) visualization of volume data is computationally very expensive and even parallel approach does not lead to satisfactory results. In is necessary to use special techniques and optimization to (partially) solve this problem.
Interactive volume visualization has several advantages in comparison to classical static rendering:
- Arbitrary view of the scene (position of camera). User can set the camera and its distance from the objects. Using rotation we can better understand structure and shape of the objects in scene.
- Cutting. We won't display some parts of the object. Thanks to that we are able to display inner structures of the object. Or remove areas we are not interested it. By not displaying some parts, we get also better performance.
- Customizing of visualization method. User can customize parameters of the projection on the fly.
Idea is to point laser beam to the specimens. The laser is focused on one point (Pawley, 1995). In the next step the emitted light (fluorescence) is captured by aperture that is located in front of the detector (see picture). This way, point by point, the confocal microscopy allows to take pictures of the 3d objects in non invasive and selective way. The microscope produces set of slices (images) of the object. The images are often taken using various florescence colors which allow to highlight parts of the object we are interested in. Spot lightning and capturing data point by point leads to much better volume resolution in comparison to traditional microscopy. It allows us to better study and explore the layers the microscope focused at. This is due to the fact that everything else outside of focal plane is not really visible.
Latest confocal microscopes are able to do spectral decomposition of the emitted light thanks to parallel checking the light on multiple frequencies (Dickinson et al, 2001). Final multi spectral image represents not only space (or also time) distribution of intensity, but also contains information of spectral signature visualized objects. Improvements in fluorescent confocal microscopy also allows to measure dynamic changes many generations of fluorescent molecules in biological samples. Fluorescent solution is standard tool for studying structure or functional aspects of living cells (Pawley, 1995). More information are available at here, here and here.