the salzburg ntn-method for the radon transform

19

Upload: independent

Post on 02-Dec-2023

0 views

Category:

Documents


0 download

TRANSCRIPT

PACTThe Salzburg NTN-Method for theRadon TransformDeliverable D5Z-2 (Contract GZ 308.930/1-IV/3/93)ResponsiblePartner: Research Institute for Softwaretechnology, University of SalzburgContributingPartners: -Authors: Erika HausenblasVersion: 1.0Date: October 31 1994Status: releaseCon�dentiality: con�dential

PACTAbstractThe radon transform arise in natural way, if X-rays traverses a body, like in a computertomograph. Thus, to �nd out the internal structur of a body in computer tomography cor-responds to reconstructions a function from their radon transform. This report deals witha parallized numerical reconstruction algorithm, in particular the �ltered backprojection.The �ltered backprojection uses high dimensional integration. We test numbertheoreticalmethods of Hlawka and Koksma applied to the algorithm. Further, to decreasing theexecuting time, we implemented a parallelized the algorithm.

D4Z-2/Rel 1.0/October 31 1994 1

CONTENTS PACTContents1 Introduction 32 The Radon Transform 42.1 The Radon Transform : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 42.2 The Filtered Backprojection Algorithm : : : : : : : : : : : : : : : : : : : : : 52.3 Numbertheoretical Methods in Numerical Integration : : : : : : : : : : : : : : 72.4 The In uence of the Parameters : : : : : : : : : : : : : : : : : : : : : : : : : 82.5 Applications of the Radon Transform : : : : : : : : : : : : : : : : : : : : : : : 83 The Software Tool: RADON 103.1 A short Overview of the Objects : : : : : : : : : : : : : : : : : : : : : : : : : 104 Parallel Virtual Machine (PVM) 124.1 Implementation with PVM and load balancing : : : : : : : : : : : : : : : : : 124.2 PVM and load balancing applied to the program package : : : : : : : : : : : 134.3 The Improve of the Executing Time : : : : : : : : : : : : : : : : : : : : : : : 135 Results 146 Conclusions 177 References 18

D4Z-2/Rel 1.0/October 31 1994 2

Introduction PACT1 IntroductionThe computerized tomography is a technique to reconstruct internal structurs of a body fromdata collected outside the body. This means, computer tomography provides a very goodmethod to investigate the internal structur of an object without destroying it. In particularthis method is very important in medicine. Theoretically it is possible to reconstruct theinternal structur without errors. There is only one problem. If the values of the radontransform have been obtained by physical measuremant, one cannot assume, that the data arecomplete. Therefore it is very important to �nd algorithm which yields to good approximationof the original object in spite of discrete or incomplete datas.This paper deals with a certain reconstruction algorithm, the �ltered backprojection. Toreconstruct a point, a �lter function is convoluted by the radon transform. Thus, the resultis determined by numerical integration. The executing time of the numerical implementationcan be improved by parallelizing. In the program this is implemented by using PVM. Further,the common algorithm uses equidistant points for the integration. But, instead of equidistantpoints, one can use good lattice points explored by Hlawka and Koksma. In this paper wetest a new �lter function combined with numerical integration based on good lattice pointsand compare the result with other algorithms.The paper can be divided in the following sections: First we explore the radon transformand the algorithm we deal with. Since it is not possible, we only give a motivation and nocomplete introduction. In the next section we present the software tool written for researchand testing the new algorithm. Because of the executing time, some parts of the programmare written in PVM. The two last sections deal with the result. We present the picture,compare the algorithm and give at least some conclusions.

D4Z-2/Rel 1.0/October 31 1994 3

The Radon Transform PACT2 The Radon Transform2.1 The Radon TransformThe radon transform of a three-dimensional body is the parallel projection of the densenessfunction onto a plane. For simplicity in this paper the radon transform will be only treatedfor two-dimensional objects. To generalize the radon transform, you have to take into accountthe fact that a two-dimensional object is a crosscut of a three dimensional one. So in orderto obtain a three dimensional image one scans the body layer by layer.A two dimensional object can be described by a function f(x; y) : IR� IR ! IR+ , wheref(x; y) is the denseness of the object in the point (x; y). The Radon transform R�(s) of apoint (�; s) is given by the parallel projection onto the corresponding line L� at an angle �with the x-axis, evaluated at a distance s from the origin. The projection onto the line L�can be described by the following integral:p�(s) = Z(L�(s))? f(x(u); y(u)) duwhere L?� denotes a line orthogonal to L� and through the point L�(s), s the distance to theorigin. Therefore each point of the state space [0; �]� IR corresponds to a value p�(t). TheRadon transform of the function f(x; y) is the two-dimensional function (Rf) (�; t) : [0; �]� IR! IR+, with (Rf) (�; t) = p�(t)The problem is to reconstruct the object, respective its denseness function f(x; y), giventhe radon transform. The solution is given by the inversion formula of the radon transform.Johann Radon developed an explicit inversion formula in 1917 [Ra17]. If there are availableall values of R�(t), the inversion formula works quite well.But this formula leads to numerical instabilities, if there are only a �nite number of linesL. The problem now is, that in physics the condition on a continuous sample space is violated.That means that one can measure the Radon transform only on a �nite number of points,for example on a lattice Mn = f(si; �i) j i = 1 � � �ng. Further the datas are often incompleteor it is expensive to get a great number of datas. Therefore it is of practical importance to�nd algorithms which yield a good approximation of the denseness function, utilizing onlyfew number of points.D4Z-2/Rel 1.0/October 31 1994 4

The Radon Transform PACT2.2 The Filtered Backprojection AlgorithmThe radon transform (Rf)(�; �) is a parallel projection onto the line L� through the originwith the angle �. Along the line L� the values of the denseness function are integrated. To testthe algorithm, we �rst create a phantom picture of superposed ellipses and then we determinethe radon transform. The next �gure shows an example of the radon transform of an ellipse.The angle, drawn in the ellipse is �6 .-0.75 -0.5 -0.25 0 0.25 0.5 0.75 1

-1

-0.75

-0.5

-0.25

0

0.25

0.5

0.75

1 The ellipseThe correspondingradon transform -2

0

2

angel -1

0

1

s

0

100

200

300

400

-2

0

2

angelNote, that the value of the denseness function in the point (x; y) appears at the points(�) on the line L� of a �xed angle �. The function value f(x0; y0) at a point (x0; y0) can berepresented by a convolution of f with a delta function1. If the function is available only on1The delta function is roughly spoken zero everywhere but of one point x0. In this point, the function isnot de�ned resp. in�nite. The most important property of a delta function �x0 isg � �xo = Z 10 g(x)�x0 (x)dx = g(x0)D4Z-2/Rel 1.0/October 31 1994 5

The Radon Transform PACTa �nite set of points fxi; i = 1 � � �ng, one can approximate the function g by convolution ofthe sample function with an approximated delta function.~gappr(x) = �appr � 1n nXi g(xi)! (x)Most interpolation formulas can be written as a convolution with an approximation of thedelta function. It can be compared with smearing the exactly value in the neighborhoodof each point. Such an approximative delta function is called low pass �lter. Now, theidea behind the �ltered backprojection is to convolute the reconstructed function with anappropriate �lter. The trick is to convolute �rst the radon transform with the �lter, and thenby the second step to reconstruct the function by the exact formula of Johann Radon.This can be done, because both operations, calculating the radon transform and convolu-tion, commute. This signi�cates, that it doesn't matter to go in the left diagram �rst rightand then down or �rst down and then right. Because the inversion radon transform is unique,the second diagram commutes also. The advantage is that the convolution of two radontransform is just a multiplication and much more quicker to determine than the convolutionof the functions themselfs.f

(Rf)*(Rd)

Rf

f*d R(f*d)=

f

(Rf)*(Rd)

Rf

f*dThus, to reconstruct the value, �rst the radon transform is multiplicated by a �lter and thenthe inversion formula of J. Radon is applied:~f(x; y) = Z �0 Z p2p2 g(x;y)(�; s) (Rf)(�; s) ds d� (1)where g(x;y) is the kernel of the �lter. The kind of �lter function depends on the algorithmand vice versa. We have implemented two �lter functions:-1 -0.5 0 0.5 1

0

0.1

0.2

0.3

0.4

0.5

b = 151. Filter g1 = cos (bz)� 1b2 z2where g : IR! IR is an arbitrary continuous function.D4Z-2/Rel 1.0/October 31 1994 6

The Radon Transform PACTand-1 -0.5 0 0.5 1

-20

0

20

40

60 b = 15

s

2. Filter g2 = b2 Z 10 cos (z�bu)u(1� u2) duwhere z = zx;y(�; s) = x sin(�) + y cos(�) � s is a function of (�; s) and denotes the distanceof L�(s) to the intersection point of P.The �rst smears the value around the point much more than the second. Thus, thereconstruction picture by the �rst �lter is much more blury than the of the second �lter.Chapter 2.4 deals with the in uence of the bandparameter.2.3 Numbertheoretical Methods in Numerical IntegrationThe integration in 1 can only be determined by numerical methods, because it is impossibleto measure the values of (�; s) on all points in h�p2;p2i� [0; �]. Usually, this numericalintegration is done on a grid with equidistant points:�i = in � i = 1 � � �n�;si = (2 in � 1) p2 i = 1 � � �ns;fappr(x; y) = 1n� 1ns n�Xi=1 nsXj=1 g(x;y)(�i; si)(Rf)(�i; si)In the theory of numerical integration the method of good lattice points is well known. Goodlattice points are a sequence of points with small discrepancy. It exceeds the scope of thispaper to point out numbertheoretical methods in numerical integration. For a good introduc-tion, please see: [Hl61], [Hl79].In this paper we used good lattice points created by Fibonaccinumbers2. �i = � i Fn�1Fn � � i = 1 � � �Fn;2The n'th Fibonacci number is given by the following recursion:F0 = 1; F1 = 1; Fn = Fn�2 + Fn�1D4Z-2/Rel 1.0/October 31 1994 7

The Radon Transform PACTsi = (2 iFn � 1) p2 i = 1 � � �Fn;If we use good lattice points instead of equidistant points in the numerical integration, theerror will decrease.2.4 The In uence of the ParametersTo illustrate the in uence of the band parameter, in appendix 1 a sequence of reconstructionsis presented, varying only the band parameter. Varying the band parameter corresponds tothe approximation the � function better or worse. The �lter is stretched by increasing theband parameter and is contracted by decreasing the parameter.

-1

0

1

s2

4

6

8

10

b

-1

-0.5

0

0.5

1

g2

-1

0

1

sThus, if there are only a few radon transforms available, the band parameter must bechoosen low. If it can be assumed, that there are many points of the radon transform, theband parameter can be choosen higher. Thus the reconstructed picture is bleary. If the bandparameter increases, also the accurancy of the pictures increases. But the artefact caused bythe numerical method increases as well. Further depends the band parameter on the �lterkernel. For example, the �rst �lter needs a higher band parameter than the second. Thein uence is easy seen in the pictures, which are presented in appendix 1.2.5 Applications of the Radon TransformThe most common application of the radon transform is computerized tomography. Theradon transform arises in a natural way, if X-rays traverse a body. A cross section of theD4Z-2/Rel 1.0/October 31 1994 8

The Radon Transform PACThuman body is scanned by a thin X-ray beam whose intensity loss is recorded by a detector.Let f(s) be the denseness of the tissue along the line L?� (s); s 2 IR. The amount of absorbedintensity �I in a small distance �s at the point L?� (s) is proportional to �I=I = f(s) �s .Therefore the intensity of the beam after having passed the body along L?� isX-Rays

Detector

Body

I0 = exp � ZL?� f(s) ds!Thus the reconstruction problem of computerized tomography is just the inversion problemof the radon transform.Further over the years the physical method of computerized tomography became to beused in a wider sense, namly for any technique of reconstruction internal structures in abody or tissue from data collected by detectors outside the body, for example in electronmicroscopy and electromagnetic scattering. Therefore computerized tomography is a methodwhich is used in many �elds like physics, engineers, bioscientists, medicin and many others.

D4Z-2/Rel 1.0/October 31 1994 9

The Software Tool: RADON PACT3 The Software Tool: RADONThe program is built up like a library. The aim is to give a tool for research in the radontransform, especially to investigate in numbertheoretical approaches. To test an algorithm itis necessary to know the Radon transform exactly. Further it is important, that the radontransform can be quickly calculated. This conditions are given by a picture of superposedellipses, called the phantom. The third advantage of superimposed ellipses is that they looklike a crosscut of a brain. This picture is called phantom picture, because it is not real.Thus the test algorithm is divided in the following steps:1. Create the Phantom PictureDe�ne the appropiate ellipses2. Draw the Phantom Picture3. Transform the Phantom PictureEvaluate the radon transform4. Reconstruct the Object5. Determine the ErrorThe error of the reconstructed picture is the 2-norm of the di�erence of the original. Notethat after reconstructing the values of the denseness function, the picture will be prepared forvisualization. This will be done by stretching the range of the function on the intervall [0; 255].Therefore, �rst the range of the phantom picture will be prepared like the reconstructedpicture and afterwards the error will be determined.error =vuut 1nx 1ny nxXi=1 nyXj=1 (f(xi; yj)� frec(xi; yj))2 (2)The phantom picture, the picture and the picture of the radon transform are objects ofthe program package. The procedures to execute these steps are implemented as functionsof the corresponding object. For example the procedure phantom:: radon transform(radon picture ) determines the radon transform and saves the values in the picture radonpicture.attention: We restrict the range of the phantom picture on [�1; 1] or [0; 1].3.1 A short Overview of the ObjectsThis section contains a short description of the objects and corresponding functions.1. Object Phantom:The object Phantom is roughly spoken an array of ellipses. Further, the object possessesa number of functions, e.g. with the function add() you can add one ellipse to thephantom. Thus you create your phantom picture by adding ellipses one by one. TheD4Z-2/Rel 1.0/October 31 1994 10

The Software Tool: RADON PACTnext step is to draw the picture. This can be done by the function draw( picture ).There are also functions to determine the radon transform and to assign the radontransform to an appropiate object.(a) draw( picture):draws the phantom in the given pictures(b) pvm draw( picture):the same procedure like above. the only di�erence is, it uses PVM(c) radon transform( radon picture):determines the radon picture(d) pvm radon transform( radon picture):determines the radon picture using PVM2. Object ellipse: an ellipse is described by its middle point, axis and angle. Initializingan ellipse can be done by:ellipse ell1(m1,m2,a,b,phi,color)or if the ellipse exists already:ell1.initialize(m1,m2,a,b,phi,color).The other functions, like radon transform( radon picture), of the object are private andare used by functions of the object phantom.Phi

b

m1

m2

b3. Object picture:It is just an array of integer values. Further, a subclass belongs to the object.(a) error():determines the error described in equation 2(b) print(int,int):creates a �le, which can be visualized by the program tool xvthe subclass�lter: The �lter contains also a second array, but of double, with the same size likethe other array. The functions are:D4Z-2/Rel 1.0/October 31 1994 11

Parallel Virtual Machine (PVM) PACT(a) reconstruct( radon picture ):reconstructs a picture of the given radon tramsform and entries the values to thedouble array.(b) entry():carries over the array of double into the array of integer and prepares the values tovisualize. This means, the range is streched on the range [0; 255]. There are somepossibilities implemented for visualization.attention: the error function is calculated by the visualized picture.4. Object radon: The object radon stores the evaluated values of the radon transform.A subclass belongs also to the object: the object radon rand. This subclass possessesthe same functions as the superclass but of two initialization procedure. It treats thecase of good lattice points. The most functions are overloaded. The functions are:(a) Fibonacci():belongs to radon rand. Determines the good lattice points based on Fibonaccinumber and stores it.(b) randomize():belongs to radon rand. Throws random points.(c) set zero(int,int):sets the given point in the array to zero. If the �rst entry is minus one, theprocedure sets all the values of the given value by the second argument to zero andvice versa. By random rand you can only choose the number of points whichshould be set to zero.4 Parallel Virtual Machine (PVM)The Parallel Virtual Machine is a software system that enables a collection of heterogeneouscomputers to be used as a coherent and exible parallel computational resource. Especiallyit can be used for the development and execution of large concurrent or parallel applicationsthat consist of many interacting, but relatively independent components [Ge93]. PVM wasdeveloped initially at the Emory University and Oak Ridge National Laboratory.The individual computers may be shared- or local-memory multiprocessors, vector su-percomputers or scalar workstations, that can be interconnected by a variety of networks(ethernet, FDDI, etc.). User programs written in C, C++ or Fortran are provided access toPVM through the use of calls to PVM library routines for functions such as process initia-tion, message transmission and reception. The PVM system handles message routing, dataconversion for incompatible architectures and other tasks that are necessary for operation ina heterogeneous network environment. For more details see [Ge92].4.1 Implementation with PVM and load balancingSince the radon transform or reconstruction for di�erent points (si; �i) of the lattice for a point(xi; yi) of the picture are evaluated independently, the outer loop may be distributed amongD4Z-2/Rel 1.0/October 31 1994 12

Parallel Virtual Machine (PVM) PACTthe processors. On a homogeneous network, where the user disposes 100% of the machines'capacity on each node, this can be done by partition the lattice into equal parts for eachnode. If there are other processes running or if a heterogeneous network is used, a processorwith high workload or a slower one would cause a delay in the whole computation. With a�ner partitioning of the lattice it is possible to react on changes in the systems performance.Therefore the algorithm is implemented using the master{slave paradigm and the asychronouspool of tasks methodology.4.2 PVM and load balancing applied to the program packageThe program of determining the radon transform of a given phantom and reconstructing thepicture contains three time consuming procedures: phantom::draw( ), phantom::transform() and radon::reconstruct( ). Therefore for each procedure there exists a version using PVMwith load balancing. The rough structure of the functions are given below:1. phantom::pvm draw: First the master send the size of the picture to each slave.The next step is to distribute the ellipses among the slaves. The task of each slave is todraw the received ellipse. After he �nished, he will send the picture back to the master.If there are ellipses left, he gets the next one. The master collects all pictures and sumsup all together.2. phantom::pvm radon transform: The task is divided in exactly the same mannerlike in phantom::pvm draw. Each slave calculates the radon transform of the givenellipse. The master adds one by one to his own radon picture and orders the slave tocalculate another ellipse if it is necessary.3. �lter::pvm reconstruct: By reconstructing a picture, the denseness function of eachpoint in the unit square can be reconstructed independently. Therefore each slavecan determine the value of the denseness function in one point. But the amount ofcommunication time increases if the tasks are to small. Because of this each slave getsthe task to reconstruct a column of the picture. First the master distributes the radontransform and the size of the picture to reconstruct to all. After this each slave gets thenumber of the column he has to evaluate. The next step, after a slave �nished his task,he will send back the result and get a new number of column if there is some left.4.3 The Improve of the Executing TimeBecause all time consuming functions are also implemented in PVM, you can neglect theamount of time needed by the other procedures. Further, the time a program using PVMdepends on the number of hosts. Thus, the executing time of a program using PVM is inproportion to the time without PVM like one to the number of hosts. Evaluationg a picturewith 150x150 pixels, 82x82 points of radon transform needs 48 minutes, using PVM and fourhosts, only 22 minutes.D4Z-2/Rel 1.0/October 31 1994 13

Results PACT5 ResultsTo test the algorithm we reconstuct two sequences of pictures. The pictures of the �rst serieare approximated by an algorithm described in the PhD-thesis of Michael Revers (algorithm1). The pictures of the second serie are evaluated by an new method which is based on anarticle of Michael Revers (algorithm 2). Further, one serie can be divided into three kinds ofreconstruction. At each reconstruction we used di�erent grids for the numerical integration.� Equidistance Points �i = in � i = 1 � � �n;si = (2 in � 1) p2 i = 1 � � �n;� Randomly Choosen Points�i = in � i = [rand()=RAND MAX ];si = (2 in � 1) p2 i = [rand()=RAND MAX ];� Good Lattice Points �i = � i Fn�1Fn � � i = 1 � � �Fn;si = (2 iFn � 1) p2 i = 1 � � �Fn;Note, that the angle is only running from 0 to �. The points of [�; 2�] are given by thesymmetric relation (Rf)(�; s) = (Rf)(�+�;�s). Thus, in the program we identi�ed the twopoints and reconstruct the pictures where � runs over [0; 2�].For testing the algorithm we create two phantom pictures, phantom 1 and phantom 2.You can see the pictures in appendix 2. Further, there are presented pictures, reconstructedby equidistant points, random choosen points and Fibonacci points. We took the choice ofthe best band parameter. Thereas the band parameter was assumed to be eleven. Between11 and 15, the error is minimized.D4Z-2/Rel 1.0/October 31 1994 14

Results PACT1 2 3 4 5 6 7

0

1000

2000

3000

4000

5000equidistance points

1 2 3 4 5 6 70

1000

2000

3000

4000

5000fibonacci points

1 2 3 4 5 6 70

1000

2000

3000

4000

5000

6000

7000

8000random points

0 1 2 3 4 5 6 70

1000

2000

3000

4000

5000

6000

7000

8000all

Attention: Please, note that the band parameter 1 in the picture corresponds truely theband parameter 10, further 2 corresponds 11 and so on.If you look at the corresponding pictures you will notice, that to make out the objectreconstructed by randomly choosen points is much more di�cult than the others.By physical damage, it can happen that some measurement points fail. To simulate thiswe have set some points of the radon transform to zero.1. First, we set all points of one angle to zero. This could be regarded as the failure ofall beams at one �xed angle. We took two di�erent angles: 10 and 30 degrees (pixels150x150, 82x82 points and b=13). The picture is presented in appendix 3. The sameD4Z-2/Rel 1.0/October 31 1994 15

Results PACTevent cannot happen by Fibonacci numbers. Thus, to simulate an equivalent event, weerase 82 points of the radon transform (pixels 150x150, 8765 points and b=13).2. Here only one point is set to zero. You can see the picture also in appendix 3. We tookthe same choice of the number of pixels, points and band parameter. To compare therobustness of the two algorithms, we have done the same with a picture, reconstructedby Fibonacci numbers.

D4Z-2/Rel 1.0/October 31 1994 16

Conclusions PACT6 ConclusionsTo research the di�erent between algorithm using �bonacci numbers and equidistant pointsis given in the next paper. the two advantages which arise by good lattic points points aregiven below.1. To improve the error rate, it is necassary to add some points. Using good lattice, youcan add points one by one. This means, if you have already n measure points, you canadd m other ones, where the m can be choosen arbitrary. If the points are equidistantand you want n +m points, you have to choose between two possibilities: to cast theold points and to measure new n+m points or, to have a grid, which consists no moreof equidistant points. To choose the �rst alternative is to waste a lot of time. If youchoose the second, there will appear artefacts because the domain of integration is nomore treated equal.2. If some points fail because of a physical damage or something else, the algorithm usingFibonacci numbers yields to a lower error than the algorithm using equidistant points.Thus, the Fibonacci numbers lead to an algorithm which is much more robust than theother. The cause is the absence of a regular structure. Looking at a grid of equidistancepoints, you will note, that you can rotate it only in angles of �4 ; �2 ; 3�4 ; �. If you single outa circle of a lattice, generated by Fibonacci numbers, you will not observe a signi�cantdi�erence, rotationg the circle in any angle you want. The circles are all symmetric.Thus, one point fails, there is no regularity or high structure destroyed.Acknowledgment: I am gratefull to Andreas Uhl for his assistance and advices in UNIX,printing images and PVM. Further, I have to thank Michael Revers for his help.D4Z-2/Rel 1.0/October 31 1994 17

References PACT7 ReferencesNa85 Natterer, Frank: The Mathematics of Computerized Tomographie, John Wiley andSons (1985)Ge93 Geist, A.: PVM3 beyond network computation In J. Volkert, editor Parallel Computing,Lectures Notes in Computer Sience 73, p. 194-203, Springer (1993)Ge92 Geist, A. and V.S. Sunderam: Network based on concurrent computing on the PVMsystem: Concurrency: Practice and Experience 4(4), p.293-3115 (1992)He80 Helgason, S.:The Radon Transform(1980) Birkhaeuser BerlinHl61 Hlawka, E.: Funktionen von beschraenkter Variation in der Theorie der Gleichverteilung,Annali di Mathematica,(1961)Hl79 Hlawka, E.: Theorie der Gleichverteilung, Annali di Mathematica,(1979)Ra17 Radon, Johann: Ueber die Bestimmung von Funktionen durch ihre Intergralwerte laengsgewisser Mannigfaltigkeiten (1917)Berichte der Saechsische Akademie der Wissenschaften,Leipzig, Math.-Phys., p. 262-267,69Re90b Revers, Michael: Anwendung zahlentheoretischer Methoden fuer die Numerik der Com-putertomographie, PhThesis,(1990), SalzburgRe94 Revers, Michael: Numeric Integration of the Radon Transform on ClassesE�s in multiple(�nite) dimensions (1994), preprintSa88 Sanz, Jorge L.C. and Eric B. Hinkle and Anil K.Jain: Radon and Projection Transform-Based Computer Vision, Springer Series in Information Sciences (1988)D4Z-2/Rel 1.0/October 31 1994 18