CONVOLVER EQUIPMENT

Abstract: A firmware convolver equipment intended primarily to perform the discrete one-dimensional filtering phase of the filtered-backprojection algorithm applied in computerized tomograph systems. The convolution is performed in the space domain on the basis of convolution per projection. The convolver is interfaced on the one hand to the DMA channel of amini-computer, on the other hand it is connected to a backprojector capable of operating with the convolver in pipe-line mode. For the efficient utilization of the computer-convolver-backprojector system the equipment possesses a pipe-line type design. The convolver is supported by an interpolator providing an output directly applicable for backprojection based upon linear interpolation. The simplicity of the quipment is provided by address logics (4, 31, 40) designed on the principle of the discrete convolution.

Description: Convolver equipment Technical field The invention relates to a firmware convolver intended to perform the discrete one-dimensional filtering phase of the filtered backprojection algorithm applied primarily in computerized tomographs /CT/ in the time or space domain., The equipment can be interfaced to the DMA. channel of a pre-processing mini-computer and it is capable of performing the convolution of any given projections. Background of the invention X-ray diagnostics represents indispensable means in exam¬ ination of the human body's anatomy as well as diagnosis of human diseases. Limitations of the conventional X-ray technique might be eliminated since the realization of the computerized tomograph /CT/. This new icinographic method has been applied since 1973. Computerized tomograph recon¬ structs the two-dimensional image of the plane perpendicular to the longitudional axis of the body, more exactly, it computes the X-ray absorption values of the said plane. Mathematically the task is given, in so far as, a plurality of projections measured around the two-dimensional layer is given and an algorithm is required to reconstruct the two—i sional image of the given object. Theoretically the image reconstruction can be realized in the following forms: 1. Direct matrix procedure 2. Iterative methods 3. Analytical solution. Theoretically the first two methods seem to be suitable, however, practically they cannot be realized because of computer problems: insufficient speed or divergency of algorithm, enormous central memory required, etc. The third method is based upon the Fourier- ransformation, basically the CT manufacturers utilize this solution or image-recon¬ struction. For well known reasons - not to be detailed here the usual procedure is the so-called filtered-backpro ection, in course of which filtering is performed by means of con¬ volution in the space domain. The basic computer phases of which are the followings: 1. Preprocessing /different corrections, pre-filtering/ 2. Filtering /convolution/ 3. Backp ejection 4. Postprocessing. Fundamental difficulties arose during the 2nd and 3rd phases, since most of the computer-time is wasted on them. The mathe matical definition of the convolution is as follows: Let us suppose two given functions, f-, and f . Convolution of said functions /if there is any/ can be defined, as follows: ( " f_ # f 2 1 /•%/ = \f -, /u/ • f 2 /x-u/ du for continuous functions - oa and ,/n/-f p /m-n/ for discrete functions. In case of discrete convolution obviously the existence of the convolution function postulates the existence of the definition summa for every m element. Theoretically said convolution can be performed by a./ analogic way b./ means of a digital method oi m / software β>./ hardware. Problems involved by known methods of convolution result from the following reasons: - properly accurate convolution cannot be performed neither by analogic nor by quasi-analogic way /eg. by CCD- eans/, - real-time performance of convolution hardly promotes the s ware convolution in state-of-the-art tomographs, - the solution should be economical, since the extremely high price of the equipment cannot be further increased by using a hugh amount of universal hardware. 3asicly the rentability of the computerized tomograph is determined by the time required for producing .an image of a slice. Illustrating the above mentioned with an excellent ■ commercially available CT system with fairly good parameters /GΞ CT/T 7.800/: WHO data acquisition: 6 to 12 seconds, post-reconstruction time: 90 to 120 seconds. - Desired flexibility can be assured by high expenditure only. Let us now consider the problem of the filter-functio The technical literature describes different theoretical filters as one of the known solutions is the so-called Ramach-andran-Lakshminaτayanan filter. However, in some particular cases these theoretical filters cannot be directly used, so e.g. let us consider the so-called edge-enhancement filters used for head scanning or the filter used for noise reduction,which may be machine specific /or even operation mode specific/. It is hardly recommended to fix the characteristics of the filter of the advanced image-reconstruction. Commercially available CT equipments operate mostly, with a reconstruction based on filtered-backprojection. Practical difficulties involved in other theoretical methods for image-reconstruction become obvious from all what has been detailed. The filtering phase of the analitic image reconstruction can be performed theoretically in two domains: a./ spatial-frequency domain b./ space domain. a./ Filtering in the frequency domain is performed practically by means of hardware. The filtering is performed by FFT-processors, however, a lot of difficulties is to be confronted with. First of all, the transformation is to be performed in both directions, which seems less economical computationally. The discrete feature implies interpolation, which is more complicated task in this domain. Universality of the FFT-processors mean3 considerable additional costs, practically this mode of realization is seldom used. b./ The application of analogic filters is impossible for the following reasons: - the filter to be realized is not causal, - although, by a witty method the difficulty of causality can be eliminated, however, the accuracy of the filter thus realized does not approach the digital accuracy, - practically the filter cannot be realized due to the impossible element-values and difficulties of the tolerances, - perhaps the solution could be economical at the first generation CT equipments, otherwise, taking into consideration the 500 to 600 detectors, such a filter would be even more expensive, i.e. less economical, than the expensive digital hardware serving for the given purpose, - the filter-characteristics is rigid, which is un¬ acceptable /there is no optimal filter/. Theoretically the software convolution seems to be an obvious method. A computer is required in the system by all means, the moderate speed of the data acquisition system of the first generation CT equipments promotes software convo¬ lution. However, taking into consideration a rapid data acquisition, the post-processing time of some minutes is hardly acceptable /the data acquisition takes less, than one minute/. In earlier systems /CGS Densitome, Pfizer ACTA scanners/ software convolution has been accompanied by rigid filter-structure, too. Hardware convolution is performed by array-processors and so-called bit-slice processors. These solutions involve the following consequences: a./ These hardware elements are not particulary designed for the performance of convolution. Their universal feature unavoidably involves certain characteristics, which hardly optimalize the device for this well defined task. b./ These hardware elements are very expensive. Their price in itself may exceed the price of the central computer + convolver of the invention. c./ Efficient operation is guaranteed if they are interfaced to a more sophisticated computer. Taking into consideration DECproducts, it means at least a PDP 11/34, but one can see more sophisticated computers, too, e.g. Siemens Somato DK PDP 11/44. d./ Generally the performance of convolution is slow, as it can be seen in Table I, illustrating the reconstruction time of some presently produced computerized tomographs /reconstruction time expressed in seconds/. OMPI , / / " 11PPOO " C Table I. Manufacturer Type Scan time Reconstruction time Complete recons time at the min scan time 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 Nuc] .ear /Johnson and Δ2020 2-16 30 - 65 32 Johnson/ Picker SY 300,600 1-20 20 , 40 21 Hitachi C -ι/3 3-9 max.30 28 Interad - 3-12 60 x 63 Toshiba TCT-60-Λ 4,5-18 40 - 120 44, 5 Medicor L1EDECT 18-45 2 20 x = at maximum configuration it can be decreased to 20 seconds According to the abovementioned even the best choice is the hardware convolver, however, the disadvantages enumerated up to now are further complicated by the rigorous operating requirements /service, air-conditioning, large size etc./., The convolution to be performed in the CT systems seems to be characteristically that field where the optimal solution can be achieved by selecting the proper hardware-software ratio, i.e. by the way of a compromise between the universal and rigid structure, i.e. by applying a firmware solution. The goal of the invention is accordingly, to eliminate the disadvantages of known convolvers by developing a firmware equipment, which is capable of economically performing the convolution by digital precision, by the speed of the hardware and flexibility of the software. Disclosure of the invention The object of the invention is that the input memory storing the preprocessed data provided by the computer consists of the two parallel read/write partitions and it is supported by two alternate buffer registers, as well as a multiplexer; the data-outputs of the input memory selected by the latter one are connected through said multiplexer and one of the buffer registers to one input of the multiplier -and accumu¬ lator, as well as through a line driver they are connected to the input lines of the DMA channel of the computer; the other input of the multiplier and accumualtor is connected through -another buffer register to the output of the filter memory having been loaded with the coefficients of the optional filter generated by software, as well as it is connected through .another line-driver to the DMA input mentioned previously; the data input of the filter memory is connected through a further buffer register to the output of the DMA channel of the computer; the output of the multiplier and accumulator is connected through a third buffer register -and further buffer registers to the input of the output memory receiving the convolved data; in order to promote the pipe-line operation with a backproject said output memory is divided into two parallel read/write partitions and it is supported by two alternate buffer registers, as well as a multiplexer; the data output of the output memory selected by the latter one is connected to the backpro ector and/or through further buffer registers to the input of the aforementioned DMA channel; finally, both the input and the output memories, as well as the filter memory are provided with address logic conforming to the requirements of the discrete convolution. «NΛ P ? * A preferred embodiment of the equipment according to the invention can be characterized in that the address logic of the input memory consists of the address-selectors connected to the address inputs thereof, of the common write-address counter driving one of the inputs of said address-selectors, of the common read-address counter driving the other input, of the preset-selector connected to the preset input thereof, and of the two preset-counters driving the inputs of the latter; one of the two preset counters provides the base-address required for the convolution of the LS bits, while the other one is the source of the base-address required for the convolution of the MS bits; furthermore, the address logic of the output memory consists of the address-selectors connected to the address inputs of the memory, of the common write-address counter driving one input thereof, of the common read-address selector driving the other input, and of the read-address counter connected to one of the inputs of the latter one, as well as the other input of the read-address selector optionally can be connecte to the address logic of a backprojector; finally, the address logic of the filter memory consists of the address selector connected to the address input of the filter memory, of the write-address counter driving one input thereof, of the read-address counter driving the other input, of the preset-selector connected to the preset input of the latter one, as well as of the preset-counter connected to C PI one of the inputs thereof, in addition, the other input of the preset-selector is hard-wired. Another favourable embodiment of the equipment according to the invention is supported by an interpolation capable of performing discrete linear interpolation, in this case, the interpolation is located between the buffer register of the multiplier and accumulator and the buffer registers of the output memory. A further preferred embodiment is capable for a pipe-line operation wit a backprojector. Brief description of the drawings The invention will be described by an example, with reference to the drawings, wherein: Figure la and lb are together the block schematic of the equipment according to the invention, Figure 2 is the flow-diagram of the convolution, Figure 3a is a convolver test time-diagram -and Figure 3b is the time-diagram of the convolver-back- projector pipe-line operation. c. Λ ?ι Best mode of carrying out the invention The block schematic of a preferred embodiment of the convolver according to the invention can be seen in Figures la and lb with sufficient details facilitating comprehension. According to Figure la it becomes obvious that the equipment joins to the computer not illustrated here on two points. The first connection is indicated by the data-bus DMA (OUT) , which connects the data output of the computer through buffer registers 1 and 2 to the input memory 3 consisting of two partitions (MAI and MA2). Said input memory stores the elements fl, ..., f512 of the projection just under convolution. The outputs of the two memory partitions (MAI, MA2) of the input memory are connected to the inputs of multiplexer 5. Said multiplexer depending upon control transmits the data just read out of one of the memory partitions to the input of the buffer register β. The alternate operation of the two buffer registers 1, 2, the multiplexer 5 and the address logic 4 - to be discussed later - promotes the parallel operation of the two partitions of input memory 3, i.e. as long as one partition is loaded with the new projection by the computer, the other partition simultaneously is read out for convolution or vice versa. The output bus of the buffer register 6 is forked in two directions, on one hand it is connected through the line-driver 7 to the data bus DM (LTD being the second O ?I connection to the computer, supprting testing purposes, on the other haϋd said output bus is connected to one of the inputs of the multiplier and accumulator 24. The other input of said multiplier and accumulator is connected through buffer register 17 to the data output of the filter memory 16 having been loaded with the filter coefficients C0, Cl, ... , C255 generated by sofware. The output o.f the buffer register 17 is connected in addition to the direct connection with the multiplier and accumulator 24 -through the line driver 18 to the data bus DMA(Hr). Said filter coefficients can be written from the computer into the filter memory 16, through the data bus DMA(OUT) and buffer register 15. The output of the multiplier and accumulator 24 is connected on one hand directly to the shift-register 25, performing the normaXization of the convolved elements, on the other hand it is connected through buffer register 26 and an interpolator 27 to the common input of the buffer registers 28, 29. The interpolator 27 interpolates further elements between the convolved values " by means of linear interpolation. The part beginning with the interpolator can be seen on the block schematic in Figure lb. The outputsof the buffer registers 28, 29 are connected to the data inputs o-f the output memory 30 divided into two partitions (M01 and M02). This output memory OMPI is capable for paralell operation likewise input memory 3. The data having been convolved in the multiplier and accumulator 24 and completed in the interpolator 27 can be loaded into one partition of the output memory 30 by virtue of the aformentioned buffer registers 28, 29, at the same time, from the other partition of the output memory the previously loaded data can be forwarded to the output (OUT) of the convolver through the multiplexer 32. By con ro_Qing the address inputs of the output memory the address logic 31 determines into which address of the output memory the data is to be loaded, on the other hand it determines which address of the opposite partition is to be read out. Finally the output (OUT) of the convolver is connected to the backprojector not illustrated here (however, belonging to the complete computerized Σ-ray tomograph system) , as well as through the buffer registers 33, 34 it is connected to the data bus DMA(m). HOw let us detail the structure of the aformentioned address logics with reference to the circuits enclosed by broken lines in Figure la and lb, respectively. The address logic 4 consists of the two address-selectors 8, 9 connecting one of the two address sources to the address inputs of the input memory 3 of the write-address counter 10 connected to the common first inputs of the address-selectors, of the read-address counter 11 connected to the common second inputs of the address- selectors, of the preset-selector 12 transmitting one of the two preset addresses for the latter one, and of the preset-counters 13, 14 connected to the inputs of the preset-selector and generating the base addresses. The address logic 40 consists of the address-selector 19 connecting one of the two address sources to the address input of the filter memory 16, of the write-address counter 20 and the read-address counter 21 forming the address sources, of the preset-selector 22 joining to the preset- input of the latter one and transmitting either a fixed base address /256/ or a changing base address, of the preset-counter 23 connected to one input of the preset-se¬ lector 22 and generating the changing base addresses. The other input of the preset-selector 22 is hard-wired to the value 256. Finally, the address logic 31 consists of the address-se¬ lectors 35, 36 connecting one of the three address sources to the address inputs of the output memory 30, of the write-address counter 37 connected to one common input of said address-selectors and applied as the first address source, of the read-address selector 38 connected to the other common input of said address-selectors and of the read-address counter 39 connected to one input of the read-address selector 38 applied as a second address source. The other input of the read-address selector 38 is connected to the address logic of the backprojector /not illustrated here/, as the third address source. This address source is meaningful, if the convolver and the backprojector are operated parallel in a pipe-line mode. Prior to detailing the operation of the firmware convolver according to the invention let us give an overriew of a more concrete conception of the principle. Convolution is performed, as it is illustrated in Tables 2 and 3. cv.π_ Table 2 Dfl f2 256 257. ,f512] C0 Cl 02 ..0255 C256 C257 0511 Cl C0 Cl C254 C255 0256 C510 C255 C255 C254 C253 0 01 02 ,0256 C256 C255 0254 Cl 00 01 ,0255 C255 02 01 00 ,0254 0255 0254 0253 01 C5U 0510 C509 0256 0255 0254 00 Convolution of a projection of 256 samples: fl-C0 + f2<Cl + + f256-C255 fl-Cl + f2-C0 + + f256-0254 + f257-C255 £1^02 _+ f2'Cl_ .+_. Λ . i ._+_ 256-C253_+_ 257'C254-+-. 8-C25 - - . fl-C255+ f2 « 0254 + + f256-C0 + f257r01 + f258-C2 + + 11-C25.5 Convolution of the 256 samples can be controlled the same way, as convolution of the 512 samples, provided: s 0 ble, the others are of no use. Table 3 fl • cø + f2 • Cl + + f256-C255 fl • Cl + f2 • 00 + + 256-C254 + 257-C255 fl * C2 + f2 • Cl + + f256-C253 + f257-C254 + f258-C255 fl • C255 + 2 • 0254 + + 256-C0 + 257-01 + + 511-0255 £2 - 0255 + f3 - 0254 + + f257-C0 + + 512-C255 f3 • C255 + f4 • 0254 + + f258-C0 + + 12-C254 257-C255 + f258-C254 + + f512-C0 Accordingly, the length of the projection is given: 256 or 512 samples /the length is determined by the mode of oper¬ ation/. Restricting the enviroment to be considered to 255 elements, the factors to be multiplied-accumulated in course of the convolution can be ollowed on the basis of Tables 2 and 3. Arrangement of the elements f_ to be convolved in the input memory 3 and of the filter-function c_ in the filter memory 16 is as follows: Table 4 f elements: 768 9 767 f 12 512 f257 511 f256 • • • £2 256 fl 255 0 0 Filter-coefficien Ltt3s:: 259 258 σiM 257 C0M 256 σiM 255 C255 This arrangement is advantageous from the point of view of loading the input memory from the computer /data are written sequentially into the memory, in the same sequence they were prβprocessed/. The read address sequences of the filter memory in course of convolution are summarized in Table 5. Table 5 -LSB: 0, ,255 MSB: 256,257,258 LSB: 1,0,••••••••••••,255 MSB: 256,257,258 LSB: 2,1,0,1, ,255 MSB: 256,257,258 LSB:- 255,254 ,255 USB: 256,257,258 LSB: 255,254, 254 MSB: 256,257,258 LSB: 255,254 ,0 MSB: 256,257,258 The read address sequences of the elements to be convolved are: Table 6 LSB: 256,...,511 MSB: 255,256,257 LSB: 256,...,512 MSB: 256,257,258 LSB: 256,...,766 MSB: 510,511,512 LSB: 257,...,767 MS3: 511,512,513 LSB: 258,...,767 MSB: 512,513,514 LSB: 512,...,767 MSB: 766,767,768 It is to be noted here that the filter coefficients C0 and Cl cannot be accomodated on 16 bits in ~ representation, therefore these filter-values are to be written into the memory in form of C0L-C0M, C1L-C1M bit-continuously, with L abbreviation at the LS part and M abbreviation at the MS part. In course of convolution, in compliance with equation /2/ the corrected projections /f-elements/ as well as the corresponding filter-coefficients /C-values/ are to be read out of the matching memories, thereafter they are to be multiplied by pairs and the single products are to be summarized. Coincidence of the addresses to be read is shown In the following table: Table 7 256 0 511 255 255 256 256 257 257 258 256 1 • • • * 51.2 255 256 256 257 257 258 258 256 2 # • • • 513 255 257 256 258 257 259 258 256 255 766 255 510 256 511 257 512 258 257 255 767 255 511 256 512 257 513 258 258 255 Φahl ft 7 continued 767 254 512 256 513 257 514 258 259 255 • • • • 767 253 513 256 514 257 515 258 512 255 767 0 766 - 256 767 257 768 258 On the left hand side of the Table the addresses of the corrected f-elements in the input memory are found, next to them the addresses of the corresponding filter-coeffi¬ cients in the filter memory are enumerated. From this information the structure of the address logic meeting the requirements of the convolution can be roughly determined. /See Figure 1./ In course of convolution the addresses of the filter-coeffi¬ cients are generated by the read-address counter 21 /practi¬ cally it is an up/down counter/. The preset input of said counter is driven by the preset-selector 22 transmitting either a hard-wired address /256/ or the output of the preset-counter 23. Upon ini iating, the cleared state of the preset-counter, i.e. a zero base address is to be preset, thereafter the read-address counter 21 begins to count. In course of- the convolution of the first 256 elements, by the time the read-address counter is counting up to 256, the multiplicatio of the LS-values is completed. Thereupon a normalization /arithmetic right shift/ takes place and the multiplier .and accumulator 24 is preloaded to the normalized value. Thereaft the preset-selector 22 connents the fix base address 256 to the preset input of the read-addresa counter 21 and the three MS-values are multiplied. At this moment the content of the accumulator is written into the beffer register 26, indicatin the same time for the output memory 30 the e-εistence of a new convolved value. --Tow, the preset-counter 23 steps ahead and the next base address is preset out of it into the read-addre counter 21. Accordingly, in course of the convolution of the first 256 elements, the reading base address of the filter- coefficients belonging to a single convolved element are: 0,1,2,.. ,255. Having completed the convolution of the first 256 elements, the control is slightly modified. Prior to the multiplication of the LS-values /at the beginning of convolution of an element/ the "stuck" state at 255 of the preset-counter 23 is to be written into the read-address counter 21, as long as prior to the multiplication of the MS-values, 256 is to be preset as discussed in the aforegoing section. Multiplication of the LS-values is completed as the read- address counter 11 belonging to the input memory 3 contains a value of 767. Addresses of the input memory partition to be read are generated by the read-address counter 11. The preset input of said address counter is connected through the preset-se¬ lector 12 to one of the two preset-counters 13, 14 /in course of multiplication of the LS-values, the connection is established with that indicated as 13, as long as in course of multiplication of the MS-values, it is connected to that indicated as 14/. The preset input of the former is connected to a value of 256, whereas the preset input of the latter is connected to a value of 255. Control is designed as follows. In course of convolution of the first 256 elements, at the beginning of the convolution cycle, the output of the preset-counter 13, preset to 256, is written into the read-address counter 11. In course of convolution of the LS-part of a given element, the read- address conter 11 counts up, starting from this initial value, as base address. After normalization performed in the shift-register 25 as arithmetic right shifts, the output of the preset-counter 14 /initial value : 255/ is multiplexed to the input of the read-address counter 11 and the 3 MS multiplications are performed. Thereafter preset-counter 14 counts one ahead, preset-counter 13 not, and the convolution of the next element is going to start. Having completed the convolution of the first 256 elements, the control is slightly modified. Although, the preset- counter 14 is controlled as before, the preset-counter 13 operates in a dif erent way. How the latter preset-counter does not get "stuck" but it counts one ahead after the convolution of each element. As a result, the convolution cycles are starting one by one from addresses 257,258,... ,512. Convolution of a projection can be described by means of the flow-diagram according to Figure 2. The goal of .the concrete realization was to provide means for the following testings: 1./ Each of the memories could be tested individually. 2./ The convolver in itself could be tested. /Computer should read the convolved values through the IMA-channel./ m/ The convolver should contain an interpolator for supporting the backprojection. The input of said inter¬ polator is capable to receive data having been convolved by software, which - in case of a connection with the backpro ector - can be considered as an input for testing the backprojector. 4,/ The convolver should be capable to operate parallel in a pipe-line mode to the hardware backprojector /testing of the convolver-backprojector system/. In this case the input is the preprocessed data and the output is the backprojected image. Static and dynamic peripheral-support: Prior to scanning - The partition MA2 of the input memory 3 is to be loaded with 0 values. - The partition MAI of the input memory is to be loaded with 0 values. - Filter memory 16 is to be loaded by the computer with the filter function selected by the mode of operation. - Preprocessed data are to be waited for. Dinamically: MAI and MA2 partitions are to be loaded alternatively with preprocessed projections and convolved data are to be read back from partitions MOl and M02 respectively of the output memory 30 /see Figures 3a and 3b/. Speci ication limits of the convolver according to the invention are the ollowings : - input memory /preprocessed data/ : 2E x 16 bits per partition - filter memory /filter-coefficients/ : 2K x 16 bits - output memory /convolved data/ : 2K x 32 bits per partition . . „ OMPI - in case of samples of 256 values : accurate convolution - in case of samples of 512 values : convolution restricted to a 2 5-elemen 3 environment - normalization /arithmetic right shift of the convolved values by 3 to 15 shifts/ - internal accumulator : 35 bits , taking into consideration the type of filters with alternating signs or considerable decay /as filters used in CT equipments for image-recon¬ struction are just of this type/, this capacity is sufficien - application of normalization supports the processing inputs longer than 16 bits - convolution per projection /adapted to the requirements of backprojection/ - applicability of filters matching to the mode of operation , generated by software - without the interpolator the output can be directly used for backprojection based on the selection of the next neighbour, supported by interpolator, it can be used for the interpolated backprojection - it can be used as a stand-alone convolver or in conjunction with a properly designed backprojector as a "preprocessing" element thereof - it can be rendered suitable for the convolution of projections of any length, certain specification limits can be eliminated /see the remark on normalization/ - by the .aid of the present invention the post-reconstruction time of the MΞDICOR tomograph is about 2 seconds. OMPI /00880 - 30 - The advantages of the equipment according to the invention are, as follows: - Convolution is performed with hardware speed. The following illustrates the timing relations: the computer used by us /LSI 11/23/ multiplies two integer values in 25 /usec. From the definition equation /2/ of convolution it becomes obvious that convolution is nothing, but multiplication and addition of the partial products /needless to say that the arithmetic operations are of double-precision types/. Producing so a partial product requires - let us say - 30 usec. The convolver according to the invention performs said operation in 200 nsec /a difference of two orders of magnitude/. The computer PDP 11/34 capable of operating wUh a. higher speed, requires long minutes for soft-ware convolution with the data-structure having been applied by. us. The convolver according to the invention processes said data- quantity in 11 seconds. - The equipment maintains the flexibility of the software /an optional, software generated filter is used, which can be changed even scan by scan/. - Interfacing to the DMA-rchannel of any computer can be performed without difficulties. - It can be directly connected to a hardware backprojector being capable of pipe—line operation. - Theoretically it is suitable for performing convolution- type filtering without restricting to CT application. - It substitutes expensive device /array-processor/. - It represents an economical solution /only the price needed for the realization of the special purpose is to be paid, in addition, central computer may have a poorer configuration/. - Maintenance, operation is easy /there are no problems relating to air-conditioning, size, power-supply, service, etc./.

Claims: Claims: 1. Firmware convolver equipment intended primarily to perform the discrete one-dimensional filtering phase of the filtered-backprojection algorithm applied in computerized tomographs in the time or space domain, which is interfaced to the DMA channel of a pre-processing mini¬ computer and which is capable of performing the convolution of any given projections c h a r a c t e r i z e d in that the input memory /3/ storing the preprocessed data provided by the computer consists of two parallel read/write partitions and it is supported by two alternate buffer registers /I,2/ as well as a multiplexer /5/j the data-outputs of the input memory selected by the latter one are connected through said multiplexer and a buffer register /6/ to one input of the multiplier and accumulator /24/, as well as, expediently through a line driver /7/ they are connected to the input lines of the DMA chajinel of the computer; the other input of the multiplier and accumulator /24/ is connected through a further buffer register /17/ to the output of the filter memory /16/ having been loaded with the coefficients of the optional filter generated by software, as well as, it is connected through .another line driver 8/ to the DMA input mentioned previously; OMPI «« 0 τ * o the data input of the filter memory is connected through a further buffer register /15/ to the output " of the DMA channel of the computer; the output! Q£ the multiplier and accumulator /24/ is connected through a third buffer register /26/ and further buffer registers /28,29/ to the input of the output memory /30/ receiving the convolved data, on the other hand it is connected to the input/output of a shif -register /25/ performing the normalization of the convolved elements; the output of the shift-register /25/ is connected to the output of the multiplier and accumulator /24/; the output memory /30/ - in order to promote the pipe¬ line operation with a backprojector - is divided into two parallel read/write partitions and it is supported by two alternate buffer registers /28,29/ as well as a multiplexer the data output of the output memory selected by the latte one is connected to the backprojector and/or through buffer registers /33,34/ to the input of the DMA channel of the computer; finally, both the input and output memories, as well as the filter memory are provided with address logic /4,31,40/ conforming to the requirements of the discrete convolution. 2. Equipment as claimed in claim 1, c h a r a c t e r ¬ i z e d in that the address logic /4/ of the input memory /3/ consists of the address-selectors /8,9/ connected to the address-inputs thereof, of the common write-address counter /10/ driving one of the inputs of said address-selectors, of the common read-address counter /ll/ driving the other input, of the preset-selector /12/ connected to the preset- input thereof, and of the two preset-counters/13,14/ driving the inputs of the latter, one of the two preset-counters provides the preset-value required for the convolution of the LS bits, while the other one is the source of the preset-value required for the convolution of the MS bits; furthermore, the address logic /31/ of the output memory /30/ consists of the address-selectors /35,36/ connected to the address inputs of the memory, of the common read-address selector /38/ driving one input and of the common write- address counter /37/ driving the other input, of the read- address counter /39/ connected to one input of the address- selector /38/, as well as the other input of the read- address selector optionally can be connected to the address logic of a backprojector; finally, the address logic /40/ of the filter memory l6/ consists of the address-selector /19/ connected to the address input of the filter memory, of the write-address counter /20/ driving one input thereof, of the read-address counter /21/ driving the other input, of the preset-selector /22/ connected to the preset-input of the latter one, as well as of the preset-counter /23/ connected to one of the inputs thereof, addition, the other input of the preset-selector is hard¬ wired. 3« Equipment as claimed in claim 1 or 2, c h a r a c ¬ t e r i z e d in that it is supported by an interpolator /27 capable of performing discrete linear interpolation, in this case the interpolator is located between the buffer register /26/ of the multiplier and accumulator and the buffer registers /28,29/ of the output memory. 4-. Equipment as claimed in any of the claims 1 to 3, c h a r a c t e r i z e d in that the equipment is capable for pipe-line operation with the- backprojector.

Inventors: FEHERVARY JOZSEF, FUELOEP PETER, MAGYAR ARPAD, OERY SANDOR, FEHERVARY, JOZSEF, FUELOEP, PETER, MAGYAR, ARPAD, OERY, SANDOR
Applicants: MEDICOR MUEVEK
Application year: 1983
Main classification: A61B6
IPC codes: A61B6, G06F17, G06Q50, G06T1, G06T11