FIRMWARE BACKPROJECTOR IN COMPUTERIZED TOMOGRAPH SYSTEMS

Abstract: Firmware backprojector in computerized tomograph systems containing a software generated table required by the backprojecting procedure, supported by input, output registers and control logic; read-address logic generating the addresses of the pixels on the profiles based upon the data contained in SINTAB memory, driving the address multiplexers of the convolution output memories; two convolution output memories connected to the latter through address multiplexers which have direct connection with the write-address logic, supported by data multiplexer, containing the convolved or convoled and interpolated data to be backprojected, capable to perform pipe-line operation with an external convolver through alternate buffers as well as parallel read/write logic; operating mode selector flip-flop connected to the output register of the SINTAB memory; address comparator enabling or disabling the density-correction of the pixel just under backprojection, connected to the output of the latter as well as to the read/address logic; zero register, containing the zero value to be added in case of disabling the density-correction; data register connected to the output of the data multiplexer, whose output is enabled or disabled depending upon the output state of the address comparator; image memory containing the density values of the pixels; adder, which is capable to add the value just read out of the image memory and its corresponding value on the profile under backprojection.

Description: FIRMWARE BACKPROJECTOR IN COMPUTERIZED TOMOGRAPH SYSTEMS Technical field The invention relates to a firmware back- projector intended primarily to perform the back- projecting phase of the filtered backpro ection applied in CT systems, which can be interfaced to the DMA channel of a mini-computer, which is capable of performing the partial or full backprojection of the slice scanned from any given profiles arranged in any sequence. Background of the invention Recently X-ray diagnostics promotes the examination of the human body's anatomy as well as the diagnosis of the human diseases. The limitations of the conventional X-ray technique might be eliminate since the realization of the computerized tomograph (CT), This new iconographic method has been applied since 1973, The computerized tomograph reconstructes the two-dimensional image of the body-slice scanned, more exactly, it computes the X-ray density values corresponding to the discrete points of this slice. Matematically the task is given: wanted an algorithm to reconstruct the image of the two-dimensional slice from a great amount of profiles measured during the scan. Theoretically the image reconstruction can be performed in the following forms: 1, Direct matrix procedure 2 S Iterative method 3, Analytical solution The theory of the first two methods is well-known, however, practically they can't be realized / OMPI (computer problems: insufficient speed of algorithm, divergence, enormous central memory required, etc.). The third method is based upon the Fourier-transformat basicly the CT producers utilize this solution for image-reconstruction. A well-known procedure is the so-called filtered backprojection. The basic computer phases of which are the followings: 1. Prepocessing (corrections, pre-filtering,et 2. Convolution 3, Backprojection 4, Postprocessing Fundamental difficulties arise during the 2nd and 3rd phases since most of the computer-time is wasted for them. The mathematical equation of the backpro ection: Of Bp/ r , φ/ = ) P ( r,.cos/θ-φ) do o where Bp/r,φ/ is the density distribution of the backprojecte image, P(r, cos/θ-φ/, 0) are the projections to be backprojected, r and φ are polar coordinates, 0 is the angle under the projections are measured during the sca Taking into consideration discrete angles and linear sampling the above integral can be merely approximated. The usual methods for approximation: - next neighbour selection, ' - linear interpolation. Any given image reconstruction can be evoluated if certain optimum criteriums are defined. OMPI 'fry The most important measures are: - point response width - maximum secondary overshot - noise sensitivity. A logical compromise among these contradictor measures is to perform the backprojection with finite linear interpolation and selecting the next neighbour among the interpolated values. The backprojection can be performed by cc.) analogic way β.) software γ ψ ) hardware. The first method has never been used in commercial CT equipment. Some of the technical difficulties of the above mentioned methods: - a certain precision is required ( a decisive argument against the analogic way) - the backprojection should be a real-time processing (the pure software solution is too slow, taking into consideration the state-of-the-art scanners) - the highly developed method should be economical (the fast universal hardware seem hardly be the best choise). Recently the image reconstruction of the commercial CT equipments is mostly based upon the filtered backprojection. The realization of the back- projection following the convolution is either software or hardware method. The software backprojection is theoretically obvious. A CT scanner is built around a computer and the slowness of the data acquisition system of the first generation CT scanners promoted the software back- projection. However, taking into consideration a rapid data acquisition, the post-reconstruction time of some minutes is hardly acceptable (the data acquisition takes less than 1 minute). Illustrating the above mentioned with an excellent commercially available CT system (GE CT/T 7800) : data acquition: 6-12 seconds post-reconstruction: 90-120 seconds, Even the development resulted the greater size of the image to be backprojected, nevertheless the operation to be accomplished is proportional to n (where nxn is the image-size). Illustrating it: the Densitome CT scanner (CGR, France) had an image- -size of 128 x 128, the image reconstruction time on a relatively fast POP 11/55 was about 4,5 minutes. The present equipments have a size of 256 x 256, even some high spatial resolution equipments have a size of 512 x 512. The latter image-size requires 64 times as much reconstruction time as the 128 x 128 required. Considering the image reconstruction is accomplished by software (due to the sequential nature of it) it results really 64 times slower reconstruction. Further analyzing the timing: the back- projection of a single profile to a single pixel requires at least the following operations: 1. Address generation (computing the address of the pixel "on" the projection). 2. At least two comparisons, to decide if the pixel is at all on the profile (i.e. is the address within a given range), 3. Reading the two operands to be added, 4. Addition of the operands (actually on most computers this means double O PI WIPO precision addition) , writing the result back to the image memory, 5. The operation under 1-4 should be preceded by interpolation (the address generated under 1 designates either an already interpolated value or after the address generation is to be accomplished the inter polation such forming one of the operands to be added), The hardware backprojection is performed by array-processors. The consequences of the hardware solutions are: a) Since these equipments are not particularly designed for accomplishing the backprojecti their universal nature results hardly the optimal solution for this well defined task b) These hardware elements are very expensive. Even their price might be compared with tha of the central computer. c)The efficient operation is guaranted only if they are interfaced to a more sophisticate computer. Taking into consideration the DEC's products it means at least a PDP 11/3 but one can see more sophisticated computer too (e.g. Siemens SOMATOM DR, PDP 11/44). d) Mostly the performance of the backprojectio is poorer than that of the invention » s (see Table 1). Table I Manufacturer Type Scan time Poet-reconstruction Reconstruction time at the minima me CGR CE 10000 3,5 - 14 20 - 80 23,5 General Electric CT/T 7800 6 - 12 90, 120 96 CT/T 8800 6 - 12 35 41 Ohio Nuclear (Oohnson and Oohnson) 2020 2 - 16 30 - 65 32 Picker SY 300,600 1 - 20 20, 40 21 I a Hitachi CT-W3 3 - 9 max. 30 28 I Interad ; - 3 - 12 60 x 63 Toshiba TCT-60-A 4,5 - 18 ' 40 - 120 44,5 Medicor MEDECT 18 18 - 45 2 20 x π at maKimum configuration it can be decreased to 20 seconds, According to the above mentioned, the best choice is the hardware solution,however, the disadvantages are completed by the rigorous operating requirements (service, air-conditioning, size, etc.). The backprojection to be accomplished in the CT systems seems to be the territory where the optimal solution can be approached by selecting the proper . hardware-software ratio, i.e. by applying a firmware solution. The task is to eliminate the disadvantages of the well-known backprojectors by designing a firmware equipment which is capable of economically performing the backprojection by digital precis on, by the speed of the hardware and by the flexibility of the software. Disclosure of the invention The substance of the invention is that it contains SINTAB memory containing a software generate table required by the backproj.ecting procedure, supported by input, output registers and control logi read-address logic generating the addresses of the pixels on the profiles based upon the data contained in SINTAB memory, driving the address multiplexers of t he convolution output memories; two convolution output memor connected to the latter through address multiplexes which have direct connection with the write-address locjic, supported by data multiplexer, containing the convolved or convolved and interpolated data to be back- projected, capable to perform pipe-line operation with an external convolver through alternate buffers as well as parallel read/wr logic; operating mode selector flip-flop connected to the output register of the SINTAB memory; address comparator enabling or disabling the 5 density-correction of the pixel just under backprojection, connected to the output of the latter as well as to the read-address logic; 10 zero register, containing the zero value to be added in case of disabling the density-correction; data register connected to the output of 15 the data multiplexer, whose output is enabled or disabled depending upon the output state of the addr.ess comparator; image memory containing the density values 20 of the pixels; adder, which is capable to add the value just read out of the image memory and it's corresponding value on the profile under 25 backprojection, A favourable realization of the invention has a read-address logic containing: two intermediate registers (SIN and COS 30 registers, respectively) containing the line • and column address offset values required for the sequential backprojection, connected to the output register of the SINTAB memory; 35 line and column address adders with one of their inputs connected to the intermediate registers, respectively; line address multiplexer whose B input is connected to the output of the line address adder and A input is connected to the outpu register of the SINTAB memory; current line address register containing th address of the first pixel of the line just under backprojection on the profile * whose input is connected to the output of the lin address multiplexer and whose output joins the input of the line address adder and the B input of the address multiplexer; the A input of the just mentioned multiplexe is connected to the output of the column address adder; current operating point register containing the address of the pixel just under back- projection on the profile, whose input joins the output of the address multiplexer and whose output is connected to the input of the column address adder and forms the commo output of the whole read-address logic, too. Brief description of the drawings Figure 1 is the overview of major components associated with the backprojector according to the invention. Figure 2 is the outline of the address generation and Figure 3a, 3b contain the theory of ______ ^RNATl the pixel-size correction. Best mode of carrying out the invention In the followings the invention will be described in connection with the example shown in Fig. 1. It's logical to begin the listing of the components with the SINTAB memory 2. It contains the tables necessary to the backprojection. the SINTAB memory is written by a computer, not delineated here, through the input "TABLE IN". The input of the SINTAB memory 2 is connected to the input register 1 as long as it's output joins the output register 3. Each of the three networks are con-trolled by a control logic 4. The input register 1 contains the data to be written in, the output register 3 stores temporarily the data read out, the control logic 4 generates the necessary address and control signals determined by the algorithm of the backprojection. The output register 3 joins on one hand to the input of a read-address logic 5, on the other hand it is connected to the input of an operating mode selector flip-flop 21. The output of the component 21 is connected to one of the inputs of an address comparator 22 whose output is determined by the fact the pixel just under backprojection in on the profile or it is out of the range of the profile. The output of the read-address logic 5 is fed-back to the other input of the address comparator 22. The same signal is connected to the B and A inputs of the address multiplexers 14, 15, driving the address lines of the convolution output memories 16, 17, respectively. The multiplexers 14, 15 are driven through their A and B inputs by a write-address logic 25. The output of these multiplexers joins the convolution output meinorieό 16 and 17, respectively. The memorie contain the convolved profiles, the profiles are wri by a computer through the inputs "DATA IN". The data outputs of the convolution output memories 16, 17 are connected to the inputs of the data multiplexer 18. This multiplexer forwards the data just read out of one of the convolution output memories to the input of the data register 19. The enable input of the data register 19 joins one of the outputs of the address comparator 22. The other inverted output of the address comparator is connected to the enable input of the zero register 20. Both the outputs of zero register 20 and data register 19 are bussed to one of the inputs of the adder 24. The other input of this adder joins the data out lines of the image memory 23 forming the same time the output of the backproject.or unit (OUT), as long as the output of the adder is connected to the data in lines of the image memory. The image memory 23 stores during the backprojection the partially back- projected image as well as at the end of the back- projection the image reconstructed is forwarded through it's "OUT" output to the computer or display generator not delineated here. Now detailing the read-address logic 5, it is constructed as follows: — the'logic contains an intermediate SIN register 6 and an intermediate COS register 7 for storage of the data read out of the SINTAB memory 2 through the output register 3, both the 6 and 7 components are connected to the input of the read- -address logic 5. The output of the intermediate SIN register joins the input of the line address adder 9 as well as the output of the intermediate COS register joins the column address adder 11. The B input of the lins address multiplexer 8 is connected to the output of the line address adder 9, as long as it's A input is connected to the input of the read-address logic 5. The output of the line address multiplexer 8 joins the input of the current line address register 10, the output of the component 10 is connected on one hand to the B input of the address multiplexer 12 on the other hand it is fed back to the input of the line address adder 9. The A input of the address multiplexer 12 is connected to the output of the column address adder 11 as well as it's output is connected to the input of the current operating point register 13. The output of the component 13 forms the common output of the whole read-address logic 5 and it is fed back to one of the inputs of the column address adder 11. The survey of the operation postulates that one of the convolution output memories 16 or 17 already contains the convolved or convolved and interpolated data of a given profile (Table II). TABLE II O PI & _ A further condition of operation is that the SINTAB memory already contains the data necessary to the backprojection according to Table III. Table III 24 bits, positive va 16 bits, si extended on the board -LS bit: β 256 samples/profi 1 = 512 samples/profi Before initiating the backprojection, the image memory 23 contains any given background offset value (mostly zero). During the backprojection it stores the partially backprojected image according to Table IV Table IV Let's follow now the backprojection based upon Fig. 1. At the first initiation of the back- projector, the value located at the $3 address of the SINTAB memory is read out and it's operating mode bit is clocked through the output register 3 into the operating mode selector flip-flop 21. The address comparator 22 decides if there is anything to be backprojected or rather the projection of the pixel is not within the range of the given profile. Certainly the range is different if a profile contains 256 or 512 samples. Having clocked the value into the operating mode selector flip-flop, the backprojection of the first profile is similar to any n-th profile. The SINUS value corresponding to the profile is read out and stored in the intermediate SIN register 6. Similarly the corresponding COSINUS value is read out and stored in the intermediate COS register 7. Through the A input of the line address multiplexer 8 the base address (16 LS and 8 MS bits) is clocked into the current line address register 10. This address is the coordinate of the reference pixel (1 line 1 pixel) on the profile under backprojection. Now until the completion of the backprojection of the profile the B input is selected at the line address multiplexer 8. The base address is to be written from the current line address register through the B input of the address multiplexer 12 into the current operating point register 13, too. Such the projection address of the first pixel is---stored in point register _3 , now until the completion of the backprojection αf the profile the component 10 stores the projection address of the first pixel of the line just under backprojection as well as point register 13 stores the projection address of the pixel just under backprojection. The mathemat hical background of the OMPI ^ address generation in the coordinate system is surveyed on the basis of Table V and Fig. 2, The angles Q, , © 2 , θ 3 and Θ 4 referenced there are the angles under the projections are measured in the different quarters of the coordinate system. Table V cosθ 2 =-cos(180°-£ 2 ) cosθ 3 =-sin(270°-Θ 3 ) I quarter: Vertical step up: -sinΦ in every quarter, provi down: sinQ the direction of the profiles and angles is Horizontal step to the in accordance with rigth: cosθ Fig. 2 left: -cosθ Having written- the address into the current operating point register 13, for-a period of about 200πs the read address lines are valid at the B and A input of the address multiplexers 14 and 15. The same time the read- odify-write cycle begins at the image memory 23. Since the output of the current operating point register 13 is connected to the address comparator 22 too, the latter is capable to decide if the address is within the range or not. After a 200ns period the data read out of the convolution output memory 16 or 17 (depending on the profile) can be clocked into the data register 19. Now the state of the comparator determines if the data just read out of the convolution output memory or φ is to be added to the data read out of the image memory. The adder 24 performs the addition of the two operands and the sum is written back into the image memory as the completion of it's read-modify-write cycle. During this phase a decoder is enabled to sense if a .whole line of the image is already processed. If not, so the input of the current operating point register 13 is to be connected with the output of the column address adder 11 by selecting the A input of the address multiple xer 12. The coordinate of the next pixel on the profile (+C0S step) is generated by this time at the output of the column address adder 11. The cycle-time of the backprojection (pixel by pixel) within a line of the image is 800ns. If a whole line of the image is already processed, the current line address register 10 is to be clocked. The input of component 10 is connected with the output of the line address adder 9 by selecting the B input of the line address multiplexer 8, The coordinate of the first pixel of the next line on the profile (+SIN step) is generated by this time at the output of the line address adder 9, This value is clocked into 10, If the whole image is not yet processed, the B input of the address multiplexer 12 is selected and the content of the current line address register 10 is written into the current operating point register 13. If the whole image is already processed a shut-down sequence is initiated. At this moment the state of the convolution output memories 16, 17 can be checked if the backprojection of a new profile is to be initiated. Provided the convolution output memory not just processed is already filled with the new convolved or convolved and interpolated data, the backprojector is restarted. If no new profile is available, the backprojector is waiting in IDLE state or lets the computer to read back the content of the image memory. The backprojector according to the invention performs the pixel-size correction on the basis of the following equations. The distance of data acquisition during a translation by the central beam 26 and a fan beam 27 are (Fig. 3a); ra — a • n (1) 1 _ a ' 1 • n (2) and mm' • _= mm •• ccoossαα (3) where α is the angle between the given fan and central beams (determined by the collimator geometry); n is the number of samples/profile; a is the pixel size determined by the central beam and a' is the pixel size determined by the given fan beam. Dividing (1) by (2) and substituting (3) we get: a/a' = 1/cosα (4) Taking into consideration the geometry of Fig. 3b, we get now that the corrections of Table V for the fan beams are: vertical step down: sinθ/cosα horizontal step to the right: cosθ/cosα The goal of the concrete realization was the reliable testing of the backprojector. 1.) Each of the memories can be tested individually: SINTAB memory, convolution output memories, image memory. 2.) The backprojector is capable to process the data convolved by the computer. The interpolator unit is located on the data board alongside with the - convolution output memories. The interpolator computes the linear interpolation of the data convolved and writes them into the convolution output memories in accordance with Table II. 3.) The backprojector is capable to receive the input convolved data from a pipe-line convolver. If so, the input is the preprocessed data for the convolver and the output is the whole reconstructed image from the backprojector. Specification of the backprojector based upon the invention: - storage capacity of the convolution output memories: each: 2!<x32 bits - storage capacity of the SINTAB memory: 2kX16 bits(4 words per profile + 1 control word) - storage capacity of the image memory (1-4 boards): 64Kx32 bits per board - image size: 256x256 (1 memory board) or 512x512 (4 memory boards) - profiles to be backprojected: 256 or 512 discrete convolved values, 3 interpolated values between 2 original filtered ones - speed of backprojection: 52,5 ms/profile independently of the image size - density value of the pixels stored on 32 bits during backprojection - at the end of the backprojection a hardware programmabl normalization ($? - 31 arithmetic right shifts) - backprojection on the basis of profiles - pixel size correction - theoretically any data acquisition system is suitable - backprojection for the whole image or any partial image is available - linear encoder correction during backprojection - can be configured as a stand-alone unit or capable to operate parallel to a pipe-line convolver. Special features of the backprojector according to the invention: - the backprojection is performed with hardware speed supporting the real-time processing. Practically the speed is limited by the read- odify-write cycle time of the memory-chips of the image memory board. Taking into consideration that the convolution output memories can be read in 200πs and selecting a read- - odify-write cycle time of 800ns (theoretically it could be slightly faster) at the image memory it is feasable to backproject the profile simultaneously into four image memories (storing different portions of the image to be reconstructed). - The equipment maintains the flexibility of a software solution (applying a software generated SINTAB memory content according to the operating mode selected). - Interfacing the backprojector to the DMA channel of any computer is simple. - It can be connected directly to a firmware convolver such forming together a pipe-line processor. - The structure supports some corrections to accomplish (pixel-size correction, linear-encoder correction) which can be done in other systems only by add-on electronics. - The equipment substitutes an expensive device, the array-processor. - The maintenance is economical (only the special purpose hardware and not a universal hardware is required, the configuration of the central computer can be poorer, some add-on hardware for the corrections can be saved).

Claims: CLAIMS : 1. A firmware backprojector intended primarily to perform the backprojecting phase of the filtered backprojection applied in CT systems, which can be interfaced to the DMA channel of a mini-computer, which is capable of performing the partial or full backprojection of the given slice scanned from any given profile arranged in any sequence, c h a r a c t e r i z e d by that it contains SINTAB memory (2) having software generated tables required by the backprojecting procedure, supported by input (1), output (3) registers and control logic (4); read- -address logic (5) generating the address of the pixel on the profile on the basis of the data contained in SINTAB memory (2) , driving the address multiplexers (14,15) of the convolution output memories (16,17); two convolution output memories (16, 17) connected to the read-address logic (5) through the address multiplexers (14,15) which have further connection to the write-address logic (25) , supported by data multiplexer (18) , containing the convolved or convolved and interpolated data to be backprojected, capable to perform pipe-line operation with an external convolver through alternate buffers and parallel read-write-logic; operating mode selector flip-flop (21) connected to the output register (3) of the SINTAB memory (2); address comparator (22) enabling or disabling the density-correction of the pixel, just under backprojectio connected to the output of the latter as well as to the read-address logic (5); zero register (20) containing the zero value to be added in case of disabling the density-correction; OMPI data register (19) connected to the output of the data multiplexer (18) , whose output is enabled or disabled depending upon the output state of the address comparator (22); image memory (23) containing the density values of the pixel; adder (24) to produce the sum of the value just read out of the image memory (23) and its corresponding value on the profile. 2. A firmware backprojector according to claim 1, c h a r a c t e r i z e d by that its read-address logic (5) contains, two intermediate registers SIN (6) and COS (7) register respectively, containing the line and column address offset values required for the sequential backprojectio connected to the output register (3) of the SINTAB memory; line and column address adders (9 , 11) with one of their inputs connected to the intermediate registers .(6,7) , respectively; line address multiplexer (8) whose inputs are connected to the output of the line address adder (9) and to the output register (3) , respectively; current line address register (10) containing the address of the first pixel of the line just under back- projection on the profile, whose input is connected to the output of the line address multiplexer (8) and whose output joins the input of the line address adder (9) and one of the inputs of the address multiplexer (1 address multiplexer (12) whose other input not yet mentioned is connected to the output of the column addr adder (11) ; current operating point register (13) containing the address of the pixel just under backprojection on the profile, whose input joins the output of the address multiplexer (12) and whose output is connected to the input of the column address adder (11) and forms the same time the common output of the whole read- -address logic (5). O PI

Inventors: FEHERVARY JOZSEF, FUELOEP PETER, MEZOE LASZLO, OERY SANDOR, FEHERVARY, JOZSEF, FUELOEP, PETER, MEZOE, LASZLO, OERY, SANDOR
Applicants: MEDICOR MUEVEK
Application year: 1983
Main classification: A61B6
IPC codes: A61B6, G01N23, G06Q50, G06T1, G06T11