DE19538053A1 - Computertomograph - Google Patents
ComputertomographInfo
- Publication number
- DE19538053A1 DE19538053A1 DE19538053A DE19538053A DE19538053A1 DE 19538053 A1 DE19538053 A1 DE 19538053A1 DE 19538053 A DE19538053 A DE 19538053A DE 19538053 A DE19538053 A DE 19538053A DE 19538053 A1 DE19538053 A1 DE 19538053A1
- Authority
- DE
- Germany
- Prior art keywords
- asic
- cartesian
- polar
- values
- frequency matrix
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 239000011159 matrix material Substances 0.000 claims abstract description 34
- 238000000034 method Methods 0.000 claims abstract description 5
- 238000004364 calculation method Methods 0.000 claims description 31
- 230000015654 memory Effects 0.000 claims description 24
- 230000006870 function Effects 0.000 claims description 9
- 230000002457 bidirectional effect Effects 0.000 claims description 2
- 238000005259 measurement Methods 0.000 claims 2
- 238000007792 addition Methods 0.000 description 13
- 239000000872 buffer Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- YHOPXCAOTRUGLV-XAMCCFCMSA-N Ala-Ala-Asp-Asp Chemical compound C[C@H](N)C(=O)N[C@@H](C)C(=O)N[C@@H](CC(O)=O)C(=O)N[C@@H](CC(O)=O)C(O)=O YHOPXCAOTRUGLV-XAMCCFCMSA-N 0.000 description 2
- 238000002591 computed tomography Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/003—Reconstruction from projections, e.g. tomography
- G06T11/006—Inverse problem, transformation from projection-space into object-space, e.g. transform methods, back-projection, algebraic methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2211/00—Image generation
- G06T2211/40—Computed tomography
- G06T2211/421—Filtered back projection [FBP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S378/00—X-ray or gamma ray systems or devices
- Y10S378/901—Computer tomography program or processor
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Image Processing (AREA)
- Complex Calculations (AREA)
- Analysing Materials By The Use Of Radiation (AREA)
- Apparatus For Radiation Diagnosis (AREA)
- Image Analysis (AREA)
Description
In der Computertomographie ist es heute Stand der Technik,
daß Fächerprojektionen gemessen werden. Die Fächerprojek
tionen können durch eine geeignete Interpolation in Parallel
projektionen umgerechnet werden.
Zur Rekonstruktion eines Schnittbildes aus Parallelprojek
tionen gibt es die beiden Rekonstruktionsalgorithmen Fal
tungs-Rückprojektion und Fourier-Rekonstruktion.
Bei der Rekonstruktion mit der Faltungs-Rückprojektion kann
die numerisch sehr aufwendige Rückprojektion mit einem
RP-ASIC (Abkürzung für Rückprojektion mit Application Specific
Integrated Circuits) durchgeführt werden. Das RP-ASIC weist
aufgrund seiner speziell auf den Rückprojektionsalgorithmus
abgestimmten Architektur in bezug auf Geschwindigkeit und
Kosten klare Vorteile gegenüber einer Implementierung der
Rückprojektion auf frei programmierbaren Prozessoren auf.
Für die Fourier-Rekonstruktion ist ein Gridding-Algorithmus
bekannt (DE 43 15 279 A1), der den Übergang vom Polargitter
zum kartesischen Gitter im Frequenzraum beschreibt, jedoch
numerisch sehr aufwendig ist.
Der Erfindung liegt die Aufgabe zugrunde, einen Computertomo
graphen mit Fourier-Rekonstruktion mit Hilfe eines Gridding-
Algorithmus effizient zu implementieren.
Diese Aufgabe ist erfindungsgemäß gelöst durch die Merkmale
des Patentanspruches 1 oder 4. Bei dem erfindungsgemäßen
Computertomographen ist zur effizienten Implementierung des
Gridding-Algorithmus eine Spezialhardware in Form eines
GR-ASICs (Abkürzung für Gridding mit Application Specific
Integrated Circuits) vorgeschlagen.
Weiterbildungen der Erfindung ergeben sich aus den Unter
ansprüchen. Im Anspruch 2 kann der zum Eingangsdatenbus A
zugehörige Adreßbus ADR_A entfallen, wenn die zu den
Daten zugehörigen Adressen mit auf den Datenbus A über
tragen werden.
Die Erfindung ist nachfolgend anhand der Zeichnung näher er
läutert. Es zeigen:
Fig. 1 die wesentlichen Teile eines Computertomographen mit
Fächerstrahl zur Erläuterung des Erfindungsgedankens,
und
Fig. 2 bis 7 graphische Darstellungen zur Erläuterung der
Erfindung.
In der Fig. 1 ist ein Röntgenstrahler 1 und ein aus einer
Reihe von Detektorelementen bestehender Detektor 2 darge
stellt. Die Komponenten 1, 2 rotieren zur Abtastung eines Ob
jektes 3 um eine Systemachse 4, so daß das Objekt 3 unter
verschiedenen Richtungen von dem vom Röntgenstrahler 1 aus
gehenden, fächerförmigen Röntgenstrahlenbündel 5 durchstrahlt
wird. Die von den Detektorelementen des Detektors 2 geliefer
ten Daten werden einem Rechner 6 zugeführt, der Schichtbilder
des Objektes 3 rekonstruiert, welche auf einem Monitor 7 wie
dergegeben werden. Das Objekt 3 liegt dabei in einem durch
das Röntgenstrahlenbündel 5 erfaßten Meßfeld 8.
Die Fig. 2 zeigt die Rechenschritte bei der bekannten Fal
tungs-Rückprojektion, die nicht Gegenstand der Erfindung ist.
Mit der Skalierung kann erst begonnen werden, nachdem alle
Parallelprojektionen die vorherigen Rechenschritte durchlau
fen haben. Unter Parallelprojektionen sind dabei die Daten zu
verstehen, die erhalten werden, wenn die aus den Fächer
strahlprojektionen erhaltenen Daten entsprechend Parallel
strahlung umgerechnet werden.
Die Fig. 3 zeigt die Rechenschritte bei der Fourier-Rekon
struktion. Mit der 2D-IFFT kann erst begonnen werden, nachdem
alle Parallelprojektionen die vorherigen Rechenschritte
durchlaufen haben.
Die FFTs und Multiplikationen mit dem Faltungskern bzw. Pha
senfaktor können durch den Einsatz einer entsprechenden An
zahl von frei programmierbaren Prozessoren an die Rechenlei
stung des RP-ASICs bzw. GR-ASICs angepaßt werden. Um die
Realisierungen der beiden Rekonstruktionsverfahren in bezug
auf Rechengeschwindigkeit zu vergleichen, reicht es deshalb
aus, die Verarbeitungsleistung des RP-ASICs und des GR-ASICs
zu vergleichen.
Es soll ein Paralleldatensatz mit NKan = 1500 Kanälen pro
Projektion vorliegen. Daraus ergibt sich eine Länge für die
eindimensionalen FFTs von M = 4096. Das zu rekonstruierende
Bild soll NPix*NPix=512*512 Pixel haben.
Der Vergleich zwischen dem RP-ASIC und dem GR-ASIC soll an
hand von Rechentakten vorgenommen werden. Beim RP-ASIC wird
eine Verarbeitungsleistung von 1 Pixel pro Rechentakt ange
nommen. Beim GR-ASIC wird eine Verarbeitungsleistung von 32
Rechentakten (für N=4) pro Stützwert im Polargitter angenom
men.
Die Anzahl der Rechentakte zur Bearbeitung einer Projektion
vom RP-ASIC beträgt NPix*NPix=512*512 = 262144 Rechentakte,
vom GR-ASIC dagegen nur (M/4+1)*32 = 1025*32 = 32800
Rechentakte.
Das GR-ASIC hat für den angenommenen Fall die 8fache Verar
beitungsleistung des RP-ASICs. Aufgrund der Kaskadierbarkeit
der RP-ASICs kann dies auch anders ausgedrückt werden: Das
GR-ASIC hat für den angenommenen Fall die gleiche Verarbei
tungsleistung wie eine Kaskade von acht RP-ASICs.
Anstelle der Lösung mit dem GR-ASIC könnte man den Gridding-
Algorithmus auch auf frei programmierbare Prozessoren abbil
den. Allerdings wären hierzu viele Signalprozessoren notwen
dig, um die Verarbeitungsleistung des GR-ASICs zu erreichen,
was höhere Kosten zur Folge hätte. Beim Einsatz einer Multi
prozessorlösung würden sich Zugriffsprobleme auf den Speicher
mit der kartesischen Frequenzmatrix ergeben, die durch den
Einsatz eines GR-ASICs umgangen werden.
Hier werden die Rechenschritte des Gridding-Algorithmus be
schrieben, die in das GR-ASIC implementiert werden sollen.
Beim Gridding-Algorithmus trägt jeder Punkt des Polargit
ters zu N*N Punkten des Rechteckgitters der kartesischen
Frequenzmatrix bei (Fig. 4). In der Fig. 4 ist der Beitrag
eines polaren Stützwertes auf die kartesische Frequenz
matrix dargestellt, anhand von N=4.
Die kartesische Frequenzmatrix hat die Dimension FMAT*FMAT
(siehe Fig. 4). Ein komplexes Matrixelement wird im folgenden
durch FM[k] [l] referenziert.
Für jeden polaren Stützwert SP müssen alle nachfolgenden
Rechenschritte durchlaufen werden:
Bestimmung der Koordinaten von UP(FXUP, FYUP) aus den Koordi naten der polaren Stützstelle SP(FXSP, FYSP):
<1.< FXUP ist die x-Koordinate des linken unteren kartesischen Rasterpunktes UP im Interpolationsfenster (1 Subtraktion mit Rundung)
<2.< FYUP ist die y-Koordinate des linken unteren kartesischen Rasterpunktes UP im Interpolationsfenster (1 Subtraktion mit Rundung) Bestimmung der Hilfsgrößen DX und DY:
<3.< DX = FXSP - FXUP (1 Subtraktion)
<4.< DY = FYSP - FYUP (1 Subtraktion)
Die nachfolgend in den Schritten <5.< bis <22.< verwendete ganzzahlige Laufvariable i geht von i=0 bis i=N-1.
Bestimmung der Koordinaten von UP(FXUP, FYUP) aus den Koordi naten der polaren Stützstelle SP(FXSP, FYSP):
<1.< FXUP ist die x-Koordinate des linken unteren kartesischen Rasterpunktes UP im Interpolationsfenster (1 Subtraktion mit Rundung)
<2.< FYUP ist die y-Koordinate des linken unteren kartesischen Rasterpunktes UP im Interpolationsfenster (1 Subtraktion mit Rundung) Bestimmung der Hilfsgrößen DX und DY:
<3.< DX = FXSP - FXUP (1 Subtraktion)
<4.< DY = FYSP - FYUP (1 Subtraktion)
Die nachfolgend in den Schritten <5.< bis <22.< verwendete ganzzahlige Laufvariable i geht von i=0 bis i=N-1.
Die nachfolgend in den Schritten <5.< bis <22.< verwendete
ganzzahlige Laufvariable j geht von j=0 bis j=N-1.
Der Indexbereich der Interpolationstabelle geht von p=0 bis
p=LINTP-1.
Bestimmung der Zugriffsindices px[i] und py[j] auf die Inter
polationstabelle der Länge LINTP:
<5.< px[i] ist der auf die nächste ganze Zahl gerundete Wert von Absolutbetrag von (DX+i)*LINTP*2/N (1 Rundung, 1 Multiplikation und N-1 Additionen; der Wert LINTP*2/N stellt eine Konstante dar und braucht nur einmal berechnet zu werden)
<6.< py[j] ist der auf die nächste ganze Zahl gerundete Wert von Absolutbetrag von (DY+j)*LINTP*2/N (Rundung, 1 Multiplikation und N-1 Additionen) Adressierung der Werte Ix[i] und Iy[j] der Interpolations tabelle an den ermittelten Zugriffsindices px[i] und py[j]:
<7.< Ix[i] ist der Wert der Interpolationstabelle beim Zugriffsindex px[i] (N Zugriffe auf die Interpolationstabelle)
<8.< Iy[j] ist der Wert der Interpolationstabelle beim Zugriffsindex py[j] (N Zugriffe auf die Interpolationstabelle)
SP_RE ist der Realteil des Funktionswertes der polaren Stütz stelle SP.
<5.< px[i] ist der auf die nächste ganze Zahl gerundete Wert von Absolutbetrag von (DX+i)*LINTP*2/N (1 Rundung, 1 Multiplikation und N-1 Additionen; der Wert LINTP*2/N stellt eine Konstante dar und braucht nur einmal berechnet zu werden)
<6.< py[j] ist der auf die nächste ganze Zahl gerundete Wert von Absolutbetrag von (DY+j)*LINTP*2/N (Rundung, 1 Multiplikation und N-1 Additionen) Adressierung der Werte Ix[i] und Iy[j] der Interpolations tabelle an den ermittelten Zugriffsindices px[i] und py[j]:
<7.< Ix[i] ist der Wert der Interpolationstabelle beim Zugriffsindex px[i] (N Zugriffe auf die Interpolationstabelle)
<8.< Iy[j] ist der Wert der Interpolationstabelle beim Zugriffsindex py[j] (N Zugriffe auf die Interpolationstabelle)
SP_RE ist der Realteil des Funktionswertes der polaren Stütz stelle SP.
SP_IM ist der Imaginärteil des Funktionswertes der polaren
Stützstelle SP.
Berechnung der Zuschläge ZU_RE[j] [i] und ZU_IM[j] [i] auf die
Elemente der kartesischen Frequenzmatrix, die im Interpola
tionsfenster der polaren Stützstelle liegen:
<9.< ZUX_RE[i] = SP_RE*Ix[i] (N Multiplikationen)
<10.< ZUX_IM[i] = SP_IM*Ix[i] (N Multiplikationen)
<11.< ZU_RE[j] [i] = ZUX_RE[i]*Iy[j] (N*N Multiplikationen)
<12.< ZU_IM[j] [i] = ZUX_IM[i]*Iy[j] (N*N Multiplikationen)
Berechnung der Zugriffsindices zl[i] und zk[j] der Elemente der kartesischen Frequenzmatrix, die im Interpolationsfenster der polaren Stützstelle liegen:
<13.< pl[i] = FXUP + i (N Additionen)
<14.< pk[j] = FYUP + j (N Additionen)
<15.< zl[i] = pl[i] wird modulo auf den Bereich [0,FMAT-1] abgebildet
<16.< zk[j] = pk[j] wird modulo auf den Bereich [0,FMAT-1] abgebildet
Adressierung der Werte FMZ[zk[j]][zl[i]] der Elemente der kartesischen Frequenzmatrix, die im Interpolationsfenster der polaren Stützstelle liegen:
<17.< FMZ_RE[zk[j]][zl[i]] ist der Realteilwert des Speichers der kartesischen Frequenzmatrix FM[zk[j]] [zl[i]] (N*N Zugriffe auf kartesische Frequenzmatrix)
<18.< FMZ_IM[zk[j]] [zl[i]] ist der Imaginärteilwert des Speichers der kartesischen Frequenzmatrix FM[zk[j]] [zl[i]] (N*N Zugriffe auf kartesische Frequenzmatrix)
Bildung der Zuschläge auf die Elemente der kartesischen Fre quenzmatrix, die im Interpolationsfenster der polaren Stütz stelle liegen:
<19.< FMZE_RE[zk[j]][zl[i]] = FMZ_RE[zk[j]][zl[i]] + ZU_RE[j] [i] (N*N Additionen)
<20.< FMZE_IM[zk[j]] [zl[i]] = FMZ_IM[zk[j]] [zl[i]] + ZU_IM[j] [i] (N*N Additionen)
Übertragen der berechneten Werte in den Speicher der kartesi schen Frequenzmatrix:
<21.< Der Realteil der Speicherzelle FM[zk[j]][zl[i]] in der kartesischen Frequenzmatrix wird überschrieben mit dem neu berechneten Wert FMZE_RE[zk[j]][zl[i]]. (N*N Zugriffe auf kartesische Frequenzmatrix)
<22.< Der Imaginärteil der Speicherzelle FM[zk[j]] [zl[i]] in der kartesischen Frequenzmatrix wird überschrieben mit dem neu berechneten Wert FMZE_IM[zk[j]][zl[i]]. (N*N Zugriffe auf kartesische Frequenzmatrix)
<9.< ZUX_RE[i] = SP_RE*Ix[i] (N Multiplikationen)
<10.< ZUX_IM[i] = SP_IM*Ix[i] (N Multiplikationen)
<11.< ZU_RE[j] [i] = ZUX_RE[i]*Iy[j] (N*N Multiplikationen)
<12.< ZU_IM[j] [i] = ZUX_IM[i]*Iy[j] (N*N Multiplikationen)
Berechnung der Zugriffsindices zl[i] und zk[j] der Elemente der kartesischen Frequenzmatrix, die im Interpolationsfenster der polaren Stützstelle liegen:
<13.< pl[i] = FXUP + i (N Additionen)
<14.< pk[j] = FYUP + j (N Additionen)
<15.< zl[i] = pl[i] wird modulo auf den Bereich [0,FMAT-1] abgebildet
<16.< zk[j] = pk[j] wird modulo auf den Bereich [0,FMAT-1] abgebildet
Adressierung der Werte FMZ[zk[j]][zl[i]] der Elemente der kartesischen Frequenzmatrix, die im Interpolationsfenster der polaren Stützstelle liegen:
<17.< FMZ_RE[zk[j]][zl[i]] ist der Realteilwert des Speichers der kartesischen Frequenzmatrix FM[zk[j]] [zl[i]] (N*N Zugriffe auf kartesische Frequenzmatrix)
<18.< FMZ_IM[zk[j]] [zl[i]] ist der Imaginärteilwert des Speichers der kartesischen Frequenzmatrix FM[zk[j]] [zl[i]] (N*N Zugriffe auf kartesische Frequenzmatrix)
Bildung der Zuschläge auf die Elemente der kartesischen Fre quenzmatrix, die im Interpolationsfenster der polaren Stütz stelle liegen:
<19.< FMZE_RE[zk[j]][zl[i]] = FMZ_RE[zk[j]][zl[i]] + ZU_RE[j] [i] (N*N Additionen)
<20.< FMZE_IM[zk[j]] [zl[i]] = FMZ_IM[zk[j]] [zl[i]] + ZU_IM[j] [i] (N*N Additionen)
Übertragen der berechneten Werte in den Speicher der kartesi schen Frequenzmatrix:
<21.< Der Realteil der Speicherzelle FM[zk[j]][zl[i]] in der kartesischen Frequenzmatrix wird überschrieben mit dem neu berechneten Wert FMZE_RE[zk[j]][zl[i]]. (N*N Zugriffe auf kartesische Frequenzmatrix)
<22.< Der Imaginärteil der Speicherzelle FM[zk[j]] [zl[i]] in der kartesischen Frequenzmatrix wird überschrieben mit dem neu berechneten Wert FMZE_IM[zk[j]][zl[i]]. (N*N Zugriffe auf kartesische Frequenzmatrix)
Zur Durchführung des Gridding-Algorithmus werden als Ein
gangsdaten die Funktionswerte der polaren Stützwerte SP und
die kartesischen Koordinaten (FX, FY) der polaren Stützwerte
SP im Frequenzbereich benötigt. Die Ausgangsdaten des Grid
ding-Algorithmus ist die kartesische Frequenzmatrix. Sowohl
die Funktionswerte der polaren Stützwerte SP als auch die
Daten der kartesischen Frequenzmatrix sind komplex. Für die
Übergabe der kartesischen Koordinaten der polaren Stützwerte
SP an das GR-ASIC werden zwei Varianten vorgeschlagen:
VK1: Koordinatenübergabe-Variante 1:
Die kartesischen Koordinaten (FX, FY) der polaren Stützwerte SP werden jeweils nach der Übergabe der polaren Stützwerte SP in Koordinateneingangspuffer des ASICs geschrieben.
Die kartesischen Koordinaten (FX, FY) der polaren Stützwerte SP werden jeweils nach der Übergabe der polaren Stützwerte SP in Koordinateneingangspuffer des ASICs geschrieben.
VK2: Koordinatenübergabe-Variante 2:
Alle polaren Stützwerte SP eines Projektionsspektrums werden in einem Blocktransfer in das GR-ASIC übertragen. Zu Beginn des Blocktransfers werden dabei die nachfolgend bezeichneten Aufsetzwerte an das GR-ASIC übergeben, aus denen das GR-ASIC die kartesischen Koordinaten von den im Blocktransfer über gebenen polaren Stützwerte SP selbst generieren kann:
Die kartesischen Koordinateninkremente DFX und DFY zwischen den im Blocktransfer übergebenen Stützwerten und die Anzahl der Stützwerte im Blocktransfer.
Alle polaren Stützwerte SP eines Projektionsspektrums werden in einem Blocktransfer in das GR-ASIC übertragen. Zu Beginn des Blocktransfers werden dabei die nachfolgend bezeichneten Aufsetzwerte an das GR-ASIC übergeben, aus denen das GR-ASIC die kartesischen Koordinaten von den im Blocktransfer über gebenen polaren Stützwerte SP selbst generieren kann:
Die kartesischen Koordinateninkremente DFX und DFY zwischen den im Blocktransfer übergebenen Stützwerten und die Anzahl der Stützwerte im Blocktransfer.
Die Funktionswerte der polaren Stützwerte SP und die kartesi
schen Koordinaten (FX, FY) der polaren Stützwerte SP bzw. die
zugehörigen Aufsetzwerte werden über einen Datenbus A (siehe
Fig. 5) in unterschiedliche Eingangspuffer des GR-ASICs ge
schrieben. Für die Eingangspuffer wird ein FIFO-Prinzip emp
fohlen.
Die Fig. 5 zeigt eine Darstellung der Schnittstellen der
GR-ASICs. Die Interpolationstabelle und die Parameter, die für
den Gridding-Algorithmus benötigt werden, werden während ei
ner Initialisierungsphase über den Datenbus A geladen. Zur
Adressierung der unterschiedlichen Eingangspuffer und des In
terpolationstabellenspeichers dient der Adreßbus ADR_A. Über
den bidirektionalen Datenbus B bildet das GR-ASIC durch read-
modify-write-Zugriffe Zuschläge auf Random-Daten mit der
Adresse RAND des Speichers der kartesischen Frequenzmatrix.
Die zugehörige Adresse RAND wird vom GR-ASIC generiert und
auf den Adreßbus ADR_B gelegt, über den der Speicher der kar
tesischen Frequenzmatrix adressiert wird.
Die Fig. 6 zeigt eine Darstellung der Schnittstellen einer
weiteren Version des GR-ASICs, das ohne den Adreßbus ADR_A
auskommt. In diesem Fall müssen die zu den Daten zugehörigen
Adressen mit auf den Datenbus A übertragen werden.
Im folgenden werden die Rechenschritte <1.< bis <22.< refe
renziert:
Um die Anzahl der Zugriffe auf dem Bus B möglichst gering zu halten, wird über den Bus B parallel auf Real- und Imaginär teil der kartesischen Frequenzmatrix zugegriffen. Auf dem Bus B sind somit zur Bearbeitung einer polaren Stützstelle SP insgesamt 2*N*N Zugriffe notwendig. Diese setzen sich wie folgt zusammen:
Rechenschritt <17.< und <18.< parallel: N*N Zugriffe,
Rechenschritt <21.< und <22.< parallel: N*N Zugriffe.
Um die Anzahl der Zugriffe auf dem Bus B möglichst gering zu halten, wird über den Bus B parallel auf Real- und Imaginär teil der kartesischen Frequenzmatrix zugegriffen. Auf dem Bus B sind somit zur Bearbeitung einer polaren Stützstelle SP insgesamt 2*N*N Zugriffe notwendig. Diese setzen sich wie folgt zusammen:
Rechenschritt <17.< und <18.< parallel: N*N Zugriffe,
Rechenschritt <21.< und <22.< parallel: N*N Zugriffe.
Die Fig. 7 zeigt eine Darstellung der Funktionsblöcke des
GR-ASICs mit ausgewählten Datenpfaden. Die Rechenelemente (siehe
Fig. 7) des GR-ASICs werden in der Verarbeitungsleistung so
ausgelegt, daß sämtliche Rechenschritte hinter den 2*N*N Zu
griffen auf dem Bus B versteckt werden. Die Anzahl der Zu
griffe auf dem Bus B bestimmt somit die Verarbeitungsleistung
des GR-ASICs. Geht man davon aus, daß jeder Zugriff auf dem
Bus B die Dauer eines Rechentaktes besitzt, hat das GR-ASIC
eine Verarbeitungsleistung von 2*N*N Rechentakten zur Bear
beitung eines polaren Stützwertes.
Im folgenden wird eine mögliche Aufteilung der Rechenschritte
<1.< bis <22.< auf die in Fig. 7 dargestellten Funktions
blöcke dargestellt. Dabei ist jeweils eine Auslastung des
Funktionsblockes zur Bearbeitung einer polaren Stützstelle SP
in Form von Rechentakten angegeben.
+ 1 Subtraktion von Rechenschritt <1.<: 1 Rechentakt
+ 1 Subtraktion von Rechenschritt <2.<: 1 Rechentakt
+ 1 Subtraktion von Rechenschritt <3.<: 1 Rechentakt
+ 1 Subtraktion von Rechenschritt <4.<: 1 Rechentakt
+ N-1 Additionen von Rechenschritt <5.<: N-1 Rechentakte
+ N-1 Additionen von Rechenschritt <6.<: N-1 Rechentakte
+ N Additionen von Rechenschritt <13.<: N Rechentakte
+ N Additionen von Rechenschritt <14.<: N Rechentakte Anzahl von Rechentakten von Addierer AADD insgesamt: 4*
+ 1 Subtraktion von Rechenschritt <2.<: 1 Rechentakt
+ 1 Subtraktion von Rechenschritt <3.<: 1 Rechentakt
+ 1 Subtraktion von Rechenschritt <4.<: 1 Rechentakt
+ N-1 Additionen von Rechenschritt <5.<: N-1 Rechentakte
+ N-1 Additionen von Rechenschritt <6.<: N-1 Rechentakte
+ N Additionen von Rechenschritt <13.<: N Rechentakte
+ N Additionen von Rechenschritt <14.<: N Rechentakte Anzahl von Rechentakten von Addierer AADD insgesamt: 4*
N+2
+ 1 Rundung von Rechenschritt <1.<: 1 Rechentakt
+ 1 Rundung von Rechenschritt <2.<: 1 Rechentakt
+ 1 Rundung von Rechenschritt <5.<: 1 Rechentakt
+ 1 Rundung von Rechenschritt <6.<: 1 Rechentakt
+ 1 Multiplikation von Rechenschritt <5.<: 1 Rechentakt
+ 1 Multiplikation von Rechenschritt <6.<: 1 Rechentakt
+ N Modulo-Rechnungen von Rechenschritt <15.<: N Rechentakte
+ N Modulo-Rechnungen von Rechenschritt <16.<: N Rechentakte Anzahl von Rechentakten von Spezialarithmetik S insgesamt: 2*
+ 1 Rundung von Rechenschritt <2.<: 1 Rechentakt
+ 1 Rundung von Rechenschritt <5.<: 1 Rechentakt
+ 1 Rundung von Rechenschritt <6.<: 1 Rechentakt
+ 1 Multiplikation von Rechenschritt <5.<: 1 Rechentakt
+ 1 Multiplikation von Rechenschritt <6.<: 1 Rechentakt
+ N Modulo-Rechnungen von Rechenschritt <15.<: N Rechentakte
+ N Modulo-Rechnungen von Rechenschritt <16.<: N Rechentakte Anzahl von Rechentakten von Spezialarithmetik S insgesamt: 2*
N + 6
+ N Zugriffe von Rechenschritt <7.<: N Rechentakte
+ N Zugriffe von Rechenschritt <8.<: N Rechentakte Anzahl von Rechentakten beim Zugriff auf die Interpolationstabelle INTTAB insgesamt: 2*N
+ N Zugriffe von Rechenschritt <8.<: N Rechentakte Anzahl von Rechentakten beim Zugriff auf die Interpolationstabelle INTTAB insgesamt: 2*N
+ N Multiplikationen von Rechenschritt <9.<: N Rechentakte
+ N*N Multiplikationen von Rechenschritt <11.<: N*N Rechentakte
Anzahl von Rechentakten von Multiplizierer MR insgesamt:
N+ N*N
+ N*N Multiplikationen von Rechenschritt <11.<: N*N Rechentakte
Anzahl von Rechentakten von Multiplizierer MR insgesamt:
N+ N*N
+ N Multiplikationen von Rechenschritt <10.<: N Rechentakte
+ N*N Multiplikationen von Rechenschritt <12.<: N*N Rechentakte
Anzahl von Rechentakten von Multiplizierer MR insgesamt:
N+ N*N
+ N*N Multiplikationen von Rechenschritt <12.<: N*N Rechentakte
Anzahl von Rechentakten von Multiplizierer MR insgesamt:
N+ N*N
N*N Additionen von Rechenschritt <19.<: N*N
Rechentakte
N*N Additionen von Rechenschritt <20.<: N*N
Rechentakte
Wie die Auslastung der einzelnen Funktionsblöcke für die Be arbeitung von einer polaren Stützstelle SP zeigt, ist im für die Praxis wichtigen Fall von N<2 die Auslastung aller Funk tionsblöcke kleiner als der Wert 2*N*N, der sich durch die Rechentakte beim Zugriff auf den Bus B ergibt. Somit las sen die alle Rechenschritte durch geeignete Verzahnung hinter dem Zugriff auf die kartesische Frequenzmatrix verstecken.
Wie die Auslastung der einzelnen Funktionsblöcke für die Be arbeitung von einer polaren Stützstelle SP zeigt, ist im für die Praxis wichtigen Fall von N<2 die Auslastung aller Funk tionsblöcke kleiner als der Wert 2*N*N, der sich durch die Rechentakte beim Zugriff auf den Bus B ergibt. Somit las sen die alle Rechenschritte durch geeignete Verzahnung hinter dem Zugriff auf die kartesische Frequenzmatrix verstecken.
Es ergibt sich als Verarbeitungsleistung des GR-ASICs die
Dauer von 2*N*N Rechentakten zur Bearbeitung einer pola
ren Stützstelle.
Das Steuerwerk SW
steuert die Schnittstellen des GR-ASICs,
steuert den Ablauf der Berechnungen auf den Funktions
blöcken,
und übernimmt die Adreßgenerierung.
Die Architektur des in Fig. 7 dargestellten GR-ASICs ist so
ausgelegt, daß alle Berechnungen des GR-ASICs hinter den Zu
griffen auf den Speicher SKART versteckt werden können. Die
Zugriffsbandbreite des GR-ASICs auf den Speicher SKART der
kartesischen Frequenzmatrix bestimmt somit die Verarbeitungs
leistung des GR-ASICs.
Die maximale Zugriffsbandbreite des GR-ASICs auf die kartesi
sche Frequenzmatrix im Speicher SKART wird dann erreicht,
wenn das GR-ASIC das alleinige Zugriffsrecht auf den Speicher
SKART besitzt. Dadurch werden die zeitaufwendigen unteilbaren
Read-Modify-Write-Zugriffe und die notwendige Arbitrierung
beim Zugriff auf den Speicher SKART umgangen, die sich beim
Zugriff von mehreren Teilnehmern auf die Speicher SKART er
geben würden.
Dies stellt einen wesentlichen Vorteil der Verwendung eines
GR-ASICs entsprechend Anspruch 1 gegenüber einer Realisierung
des Gridding-Algorithmus mit einem Multiprozessor-System dar,
bei dem sich mehrere Prozessoren das Zugriffsrecht auf den
Speicher mit der kartesischen Frequenzmatrix teilen müßten.
Wenn mehrere Teilnehmer Zugriff auf den Speicher SKART haben,
nimmt die Zugriffsbandbreite auf den Speicher SKART wegen
Arbitrierungsaufwand ab.
Die zu bearbeitenden Parallelprojektionen NPROJ_ALL können
auf NE Einheiten En mit n=1 bis n=NE von GR-ASICs Gn
(Anspruch 1) mit zugehörigem Speicher SKART Sn (laut Anspruch
3) aufgeteilt werden. Das Gridding kann somit auf den NE Ein
heiten En parallel abgearbeitet werden. Sobald das Gridding
auf allen NE Einheiten En abgeschlossen ist, kann der Zugriff
von den GR-ASICs Gn auf die Speicher Sn weggenommen werden.
Dann kann einer anderen Additionseinheit ADD_S der Zugriff
auf die Speicher Sn erteilt werden, die die kartesischen
Frequenzmatrizen aller NE. Speicher Sn addiert. Das Ergebnis
dieser Addition ist die kartesische Frequenzmatrix, die durch
Berücksichtigung von allen zu bearbeitenden Parallelprojek
tionen NPROJ_ALL entsteht.
Claims (4)
1. Computertomograph mit einem Rechner (6) zur Rekonstruktion
eines Bildes aus den Meßdaten nach der Fourier-Rekonstruk
tionsmethode, bei dem ein spezielles Rechenwerk (GR-ASIC) zur
Bearbeitung des Gridding-Algorithmus vorgesehen ist, das die
Zuschlagsbildung der von den polaren Stützstellen herrühren
den Beiträge auf die kartesische Frequenzmatrix bewirkt.
2. Computertomograph nach Anspruch 1, bei dem die Schnitt
stellen des GR-ASICs sind:
- A) Eingangsdatenbus A und zugehöriger Adreßbus ADR_A zur
Übergabe von folgenden Daten an das GR-ASIC:
- a) Parametrierwerte, die zur Durchführung des Gridding- Algorithmus durch das GR-ASIC benötigt werden,
- b) Funktionswerte der polaren Stützwerte SP, deren Bei trag auf die kartesische Frequenzmatrix durch den Gridding-Algorithmus bestimmt werden soll, und
- c) kartesische Koordinaten der polaren Stützwerte oder von Aufsetzwerten zur selbständigen Generierung der kartesischen Koordinaten der polaren Werte durch das GR-ASIC.
- B) Bidirektionaler Datenbus B und zugehöriger Adreßbus ADR_B. Diese dienen zur Zuschlagsbildung der von den polaren Stützstellen herrührenden Beiträgen entsprechend Anspruch 1 auf die kartesische Frequenzmatrix.
3. Computertomograph nach den Ansprüchen 1 und 2, bei dem die
kartesische Frequenzmatrix sich in einem Speicher SKART be
findet, der an das GR-ASIC über den Datenbus B und den Adreß
bus B angeschlossen ist, wobei die im GR-ASIC vorhandenen Re
chenwerke so ausgelegt sind, daß alle Berechnungen, die das
GR-ASIC vornehmen muß, hinter den Zugriffen auf den Speicher
SKART versteckt werden können und die Rechenleistung des
GR-ASICs so ausgelegt ist, daß die maximale Zugriffsbandbreite
auf den Speicher SKART genutzt werden kann.
4. Computertomograph mit einem Rechner (6) zur Rekonstruktion
eines Bildes aus den Meßdaten nach der Fourier-Rekonstruk
tionsmethode, bei dem das Rechenwerk aus einer parallelen An
ordnung aus mehreren GR-ASICs mit jeweils zugehörigem Spei
cher SKART besteht, so daß durch Aufteilung der polaren
Stützstellen auf die GR-ASICs die Zuschlagsbildung der von
den polaren Stützstellen herrührenden Beiträge auf die karte
sische Frequenzmatrix durch parallele Abarbeitung beschleu
nigt werden kann.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19538053A DE19538053B4 (de) | 1995-10-12 | 1995-10-12 | Computertomograph mit einem GR-ASIC |
US08/717,604 US5703920A (en) | 1995-10-12 | 1996-09-23 | Computed tomography apparatus with image production using fourier reconstruction |
JP8270241A JPH09122114A (ja) | 1995-10-12 | 1996-10-11 | コンピュータトモグラフィ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19538053A DE19538053B4 (de) | 1995-10-12 | 1995-10-12 | Computertomograph mit einem GR-ASIC |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19538053A1 true DE19538053A1 (de) | 1997-04-17 |
DE19538053B4 DE19538053B4 (de) | 2004-04-22 |
Family
ID=7774689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19538053A Expired - Fee Related DE19538053B4 (de) | 1995-10-12 | 1995-10-12 | Computertomograph mit einem GR-ASIC |
Country Status (3)
Country | Link |
---|---|
US (1) | US5703920A (de) |
JP (1) | JPH09122114A (de) |
DE (1) | DE19538053B4 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19617162A1 (de) * | 1996-04-29 | 1997-11-06 | Siemens Ag | Verfahren und Rechenwerk für die Computertomographie |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19616199B4 (de) * | 1996-04-23 | 2005-02-10 | Siemens Ag | Rechenwerk für einen Computertomographen |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5224037A (en) * | 1991-03-15 | 1993-06-29 | Cti, Inc. | Design of super-fast three-dimensional projection system for Positron Emission Tomography |
DE4315279A1 (de) * | 1993-05-07 | 1994-11-10 | Siemens Ag | Computertomograph |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5485528A (en) * | 1993-10-15 | 1996-01-16 | Star Technologies, Inc. | Apparatus and method for back-projecting an image |
-
1995
- 1995-10-12 DE DE19538053A patent/DE19538053B4/de not_active Expired - Fee Related
-
1996
- 1996-09-23 US US08/717,604 patent/US5703920A/en not_active Expired - Fee Related
- 1996-10-11 JP JP8270241A patent/JPH09122114A/ja not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5224037A (en) * | 1991-03-15 | 1993-06-29 | Cti, Inc. | Design of super-fast three-dimensional projection system for Positron Emission Tomography |
DE4315279A1 (de) * | 1993-05-07 | 1994-11-10 | Siemens Ag | Computertomograph |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19617162A1 (de) * | 1996-04-29 | 1997-11-06 | Siemens Ag | Verfahren und Rechenwerk für die Computertomographie |
DE19617162C2 (de) * | 1996-04-29 | 1998-04-16 | Siemens Ag | Verfahren zur Anwendung eines 3D-Gridding-Prozesses in einem Computertomographen sowie Computertomograph zur Durchführung des Verfahrens |
Also Published As
Publication number | Publication date |
---|---|
US5703920A (en) | 1997-12-30 |
DE19538053B4 (de) | 2004-04-22 |
JPH09122114A (ja) | 1997-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3689654T2 (de) | Rechnergraphik, prozessor für parallele subdivision. | |
DE69128341T2 (de) | Parallel-verarbeitungsverfahren und -vorrichtung zur algebraischen rekonstruktion einer dreidimensionalen computertomographie | |
DE3420576C2 (de) | Anordnung zum Reprojizieren von Bildern aus mehreren eindimensionalen Projektionen in der Computer-Tomographie | |
DE60032832T2 (de) | Darstellung einer gekrümmten Oberfläche in mehreren Auflösungen | |
DE3779718T2 (de) | Datendarstellung in aequivalenter zeit. | |
DE69328850T2 (de) | Hybrides Vorwärts-Differenzierungsverfahren und System zur Darstellung von Bezier-Splines-Kurven | |
DE69708892T2 (de) | Dreidimensionales bildrekonstruktionsverfahren, vorzugsweise eines dreidimensionalen angiographischen bildes | |
DE60313742T2 (de) | Verfahren und geräte für schnelle fächerstrahl-tomographie | |
DE3688045T2 (de) | Bildsignalverarbeitung. | |
DE2654065C2 (de) | ||
DE69631718T2 (de) | Verfahren und Gerät zur leistungsfähigen Graphikdarstellung dreidimensionaler Szenen | |
DE4224568C2 (de) | Vorrichtung und Verfahren zur Bildung der Anzeige eines dreidimensionalen sequentiellen tomografischen Flächenschattierungsbildes | |
DE2804157A1 (de) | Verfahren und vorrichtung fuer die tomographie | |
DE69720229T2 (de) | Eine computertomographische methode und ein computertomograph | |
EP3591611B1 (de) | Bestimmen eines differenzbilddatensatzes eines untersuchungsvolumens | |
DE69426042T2 (de) | Verfahren und Gerät zur Erzeugung von phantomen Kontrollwerten einer B-spline Kurve | |
EP3340178B1 (de) | Berechnen eines vierdimensionalen dsa-datensatzes mit variabler räumlicher auflösung | |
DE69921608T2 (de) | Verfahren und vorrichtung zum zoomen von digitalen bilddateien | |
DE102006058941A1 (de) | Verfahren und Vorrichtung zum Auswählen computergestützter Algorithmen, basierend auf dem Protokoll und/oder Parametern eines Akquisitionssystems | |
DE102007020879A1 (de) | Verfahren und Vorrichtung für die äußerst schnelle Symmetrie- und SIMD- gestützte Projektion/Rückprojektion für die 3D-PET-Bildrekonstruktion | |
DE3824326A1 (de) | Verfahren und einrichtung zum rekonstruieren in ct-abtastern unter verwendung divergierender strahlen | |
DE10250837A1 (de) | Verfahren zur Kontrastanpassung mehrerer Bilder des gleichen Objektes oder der gleichen Szene an ein gemeinsames Referenzbild | |
DE3685728T2 (de) | Geraet zur bilddatenverarbeitung. | |
EP0625762A1 (de) | Verfahren zum Entzerren von Röntgenaufnahmen und Anordnung zur Durchführung des Verfahrens | |
DE102008052690B4 (de) | Vorrichtung und Verfahren zur Rekonstruktion und Visualisierung von Projektionsdaten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8120 | Willingness to grant licences paragraph 23 | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |