A parallel algorithm for 3D reconstruction of angiographic images

https://doi.org/10.1016/S0167-739X(99)00126-0Get rights and content

Abstract

Accurate diagnosis and therapeutic evaluation of coronary dysfunction is possible by tri-dimensional (3D) visualization of Coronary arteries. Reconstruction based on bi-dimensional (2D) images can be presented as a discrete optimization problem. A blind search cannot be applied, instead a Branch-and-Bound algorithm is used to explore the state space and give an intermediate result. The heuristic information used is based on 2D and 3D a priori knowledge.

A sequential algorithm using suitable filters leads to implementations where the execution time is measured in days. In order to minimize the execution time we propose to apply parallel computing techniques.

The critical issue in parallel search algorithms is the distribution of the search space among the processors. We propose a technique to compute the total amount of work units among the processors. The technique is based on the enlargement of segments (unitary threads) representing pieces of arteries. We achieve a good load balancing and the speedup obtained is nearly optimum.

Introduction

The detection, evaluation and therapeutic follow-up of dysfunctions affecting coronary arteries, the arteries responsible of oxygenating the cardiac muscle, are usually carried out by an imaging technique called angiography (see [4]).1 Tri-dimensional (3D) visualization of coronary arteries can improve considerably diagnosis and maximizes patient protection by reducing exposure to radiation and contrast liquid infusion. Due to a variety of technical constrains, 3D reconstruction might be based on two orthogonal images taken simultaneously. Fig. 1 shows a pair of such images. These images have numerous structure superpositions as well as deformations caused by the projection process. The reconstruction based on two projections is a multiple solution problem.

The Applied Bioengineering and Biophysics Group (GBBA) at the Simón Bolívar University [3] has developed ANIA  a tool for angiographic image analysis and study. ANIA allows 2D and 3D image manipulation and it can generate the solution space for the problem of reconstruction from biplane images. From the solution space (see Fig. 2) generated by ANIA, a 3D reconstruction process can be done.

The reconstruction process involves a combinatorial generation of possible solutions (see Fig. 3), the identification of the correct solution can only be carried out using a priori knowledge (see [5]). This knowledge includes 3D aspects (object properties) and 2D aspects (object projection properties). None of the properties identified in [5] has enough discrimination capacity, but each one can help to eliminate a set of erroneous solutions. It is desirable to obtain only one solution  the right one  from the reconstruction process. This research is been carried out in order to have enough discrimination conditions [7]. At the moment, it is only possible to get a reduced set of valid solutions, those which satisfy a set of pre-establish conditions. The reconstruction process using a set of conditions and its algorithm is described in Section 2.

A prototype system to solve the reconstruction problem using a priori knowledge was developed in Prolog in an early work by Windyga [5], which proved the feasibility of the method. Nevertheless, the solution space of a real coronary tree is too large [6] to be managed efficiently by sequential Prolog, thus the performance of this prototype is poor. Running on a SUN Sparc Station the Prolog’s program is unable to find the set of valid solutions in 1 week. Based on this experience and using the set of conditions described in Section 2, a new sequential algorithm is implemented in C and then it is improved by including unitary threads. The key aspects used on this approach are given in Section 2.2.

The critical issue in parallel search algorithms is the distribution of the search space among the processors. There is a large amount of work in this subject [1], [2]. By increasing the length of artery segments with unitary threads, the search space is reduced. The reduced search space is partitioned in equal shares among the processors. Then we work with a simple load balancing technique  the static distribution of the search space (see Section 3). This approach normally leads to a severe load imbalance, but in our case the results are satisfactory (see Section 4) because the distribution does not cause high communication costs. Finally, the conclusions and future work are described in Section 5.

Section snippets

Description of the sequential algorithm

The process of search space generation in the 3D reconstruction of coronary arteries, begins with a total solution tree (TST) containing all the possible representations of the coronary tree. From the TST a combinatorial generation of possible solutions (Partial solution trees: PST) is done. These solutions are validated using the following conditions.

  • Ramification condition: The only ramification allowed is bifurcation.

  • Superposition condition: The superposition of two PSTs segment projections

Parallel generation of possible solutions

The parallel generation of PST starts by building the unitary threads, then the threads must be combined in all possible ways. Pairs of threads having some common points make the combination, each combination that satisfies the conditions is a valid solution.

The unitary threads are built before the program starts, thus it is possible to compute the amount of combinations to make before the program begins to run. In this way every process may compute the same number of combinations, therefore we

Experimental results

We examined the performance of our application using up to eight nodes on our Parsytec Xplorer platform. Each processor node is a PowerPC 601 with 32 MB of RAM memory, 32 KB cache on the processor chip for holding both instructions and data. The experiment was designed to evaluate the load balance of our system. Our data consisted of 130 segments from the TST, and we have 27 unitary threads.

The comparison of the parallel performance is done by measuring the runtime of the application using 1, 2,

Conclusions and future work

This is a multidisciplinary work and it will be continued by the Bioengineering team (directed by Windyga) as much as by the computer scientist team. The runtime of the program presented here are considerable less than the one of the original Prolog code. This makes it feasible for the GBBA researches to experiment with other discrimination conditions. The new program may also have other ways to improve its performance. We are particularly interested in looking under which conditions it is

R. Rivas received his B.Sc. in Computer Science from Universidad del Zulia (Maracaibo, Venezuela) in 1994. He obtained his M.Sc. in Computer Science from Universidad Simón Bolívar (Caracas, Venezuela) in 1999.

He is a lecturer at Universidad Central de Venezuela since 1995, as a member of the parallel and distributed computing centre. His research interests are parallel and distributed applications and programming languages.

References (7)

  • L. Kronsjo, D. Shumsheruddin, Advances in Parallel Algorithms, Wiley, New York,...
  • V. Kumar, A. Grama, A. Gupta, G. Karypis, Introduction to Parallel Computing: Design and Analysis of Algorithms,...
  • A. La Cruz, G. Morinelli, P. Windyga, G. Bevilacqua, J. Silva, ANIA: a tool for angiographic image analysis and study,...
There are more references available in the full text version of this article.

Cited by (0)

R. Rivas received his B.Sc. in Computer Science from Universidad del Zulia (Maracaibo, Venezuela) in 1994. He obtained his M.Sc. in Computer Science from Universidad Simón Bolívar (Caracas, Venezuela) in 1999.

He is a lecturer at Universidad Central de Venezuela since 1995, as a member of the parallel and distributed computing centre. His research interests are parallel and distributed applications and programming languages.

M.B. Ibáñez received her Engineering Degree and M.Sc. in Computer Science from the Simon Bolívar University (Venezuela) in 1979 and 1982. She received her Ph.D. from the INPG (France) in 1990. She worked on the European Declarative System at ECRC (München) and Heriot-Watt University (Edinburgh) for 2 years.

Now she teaches parallel processing at the Simón Bolívar University. Her research addresses parallel programming, high-performance and parallel applications. She is a member of the Parallel and Distributed Systems Group.

Y. Cardinale graduated with honors in Computer Engineering in 1990 at Universidad Centro-Occidental Lisandro Alvarado, Venezuela. She received her M.Sc. degree in Computer Science in 1993 from the Universidad Simón Bolívar, where she is actually engaged in the computer Ph.D. program. Since 1990 till 1995 she was an assistant profesor at Universidad Simón Bolívar. Her research interests include parallel processing, distributed object processing, operating systems and high performance in metacomputing. She is a member of the Parallel and Distributed Systems Group.

Piotr Windyga received a Systems Engineering degree from the University of Los Andes, Merida, Venezuala, in 1985, and the Magister in Electronics and Doctor in Image Processing degrees from Simón Bolívar University, Caracas, Venezuela and the University of Rennes I, France, in 1989 and in 1944, respectively. A former consultant of Oil Companies in new technologies, and currently a Senior Computer Research Scientist at the Institute for Simulation and Training of the University of Central Florida, Dr. Windyga has conducted several projects related to the automatic interpretation of medical images, and developed software for high-level image understanding and 3D reconstruction.

This work has been supported by the project ITDC 139-82158 A2IM and Decanato de Investigación y Desarrollo USB (S1-CAI-13).

View full text