DE19617162C2 - Verfahren zur Anwendung eines 3D-Gridding-Prozesses in einem Computertomographen sowie Computertomograph zur Durchführung des Verfahrens - Google Patents

Verfahren zur Anwendung eines 3D-Gridding-Prozesses in einem Computertomographen sowie Computertomograph zur Durchführung des Verfahrens

Info

Publication number
DE19617162C2
DE19617162C2 DE19617162A DE19617162A DE19617162C2 DE 19617162 C2 DE19617162 C2 DE 19617162C2 DE 19617162 A DE19617162 A DE 19617162A DE 19617162 A DE19617162 A DE 19617162A DE 19617162 C2 DE19617162 C2 DE 19617162C2
Authority
DE
Germany
Prior art keywords
cartesian
gridding
weight
cube
interpolation
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.)
Expired - Fee Related
Application number
DE19617162A
Other languages
English (en)
Other versions
DE19617162A1 (de
Inventor
Juergen Forchheim Dipl Wohlrab
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Siemens Corp
Original Assignee
Siemens AG
Siemens Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Siemens AG, Siemens Corp filed Critical Siemens AG
Priority to DE19617162A priority Critical patent/DE19617162C2/de
Priority to US08/840,870 priority patent/US5781605A/en
Priority to JP9111324A priority patent/JPH1043176A/ja
Publication of DE19617162A1 publication Critical patent/DE19617162A1/de
Application granted granted Critical
Publication of DE19617162C2 publication Critical patent/DE19617162C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T12/00Tomographic reconstruction from projections
    • G06T12/20Inverse problem, i.e. transformations from projection space into object space
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2211/00Image generation
    • G06T2211/40Computed tomography
    • G06T2211/421Filtered back projection [FBP]
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S378/00X-ray or gamma ray systems or devices
    • Y10S378/901Computer tomography program or processor

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Television Systems (AREA)
  • Complex Calculations (AREA)
  • Image Analysis (AREA)
  • Apparatus For Radiation Diagnosis (AREA)

Description

Die Erfindung betrifft ein Verfahren zur Gewichtung von random-verteilten Stützstellen SP im Frequenzraum, um einen 3D-Gridding-Algorithmus für eine dreidimensionale Fourier-Rekonstruktion für einen Computertomographen anwenden zu können sowie einen Computertomographen zur Durchführung des Verfahrens.
In der Computertomographie ist es heute Stand der Technik, daß Fächerprojektionen gemessen werden. Die Fächerprojektionen können durch eine geeignete Interpolation in Parallelprojek­ tionen umgerechnet werden.
Zur Rekonstruktion eines Schnittbildes aus Parallelprojektio­ nen gibt es die beiden Rekonstruktionsalgorithmen Faltungs- Rückprojektion und Fourier-Rekonstruktion. Hieraus läßt sich eine dreidimensionale Fourier-Rekonstruktion zur Volumenrekon­ struktion ableiten.
Für die zweidimensionale Fourier-Rekonstruktion ist ein Grid­ ding-Algorithmus bekannt. Der Gridding-Algorithmus beschreibt den Übergang vom Polargitter zum kartesischen Gitter im zwei­ dimensionalen Frequenzraum. In der älteren deutschen Patentanmeldung gemäß der DE 195 38 053 A1 wurde ein Rechenwerk zur Implementierung einer zweidimensionalen Fourier-Rekonstruktion vorgeschlagen.
Der zweidimensionale Gridding-Prozeß kann auf einen dreidimen­ sionalen Gridding-Prozeß erweitert werden: Der 3D-Gridding-Al­ gorithmus beschreibt den Übergang von im allgemeinen nicht im kartesischen Raster liegenden Stützstellen auf ein dreidimen­ sionales kartesisches Frequenzraster. Das zu rekonstruierende Volumen kann durch dreidimensionale Rücktransformation vom Frequenzbereich in den Ortsbereich bestimmt werden.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zur Ge­ wichtung von random-verteilten Stützstellen im Frequenzraum zu schaffen, um einen 3D-Gridding-Algorithmus für eine dreidimen­ sionale Fourier-Rekonstruktion für einen Computertomographen anwenden zu können, sowie einen Computertomographen zur Durch­ führung des Verfahrens auszubilden.
Diese Aufgabe ist für ein Verfahren gelöst durch die Merkmale des Patentanspruches 1. Eine effiziente Realisierung des Ver­ fahrens in einem Computertomographen ist gelöst durch die Merk­ male des Patentanspruches 2. Bei diesem Computertomographen ist zur effizienten Implementierung des Verfahrens zur Ermitt­ lung der Gewichte der im allgemeinen nicht im kartesischen Ra­ ster liegenden Stützstellen und des 3D-Gridding-Algorithmus eine Spezialhardware in Form eines Rechenwerkes für Volumen- Gridding mit Application Specific Integrated Circuits (VGR-ASIC) vorgeschlagen. Bei der Weiterbildung gemäß dem Pa­ tentanspruch 3 kann der zum Eingangsdatenbus A zugehörige Adreßbus ADR_A entfallen, wenn die zu den Daten gehörigen Adressen mit auf dem Datenbus A übertragen werden.
Die Erfindung ist nachfolgend anhand von Zeichnungen 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 5 graphische Darstellungen zur Erläuterung der Er­ findung.
In der Fig. 1 ist ein Röntgenstrahler 1 und ein aus einer Matrix von Detektorelementen bestehender Detektor 2 dargestellt. Die Komponenten 1 und 2 rotieren zur Abtastung eines Objektes 3 um eine Systemachse 4, so daß das Objekt 3 unter verschiedenen Richtungen von dem vom Röntgenstrahler 1 ausgehenden fächer­ förmigen Röntgenstrahlbündel 5 durchstrahlt wird. Die von den Detektorelementen des Detektors 3 gelieferten Daten werden ei­ nem Rechner 6 zugeführt, der Schichtbilder innerhalb des durch­ strahlten Volumens des Objektes 3 rekonstruiert, welche auf einem Monitor 7 wiedergegeben werden. Das Objekt 3 liegt dabei in einem durch das Röntgenstrahlbündel 5 erfaßten Meßfeld 8.
Darstellung der Rechenschritte des 3D-Gridding-Algorithmus:
Die Rechenschritte des 3D-Gridding-Algorithmus ergeben sich aus einer Analogie zum bekannten Gridding-Algorithmus für den zweidimensionalen Fall.
Der 3D-Gridding-Algorithmus ist nur dann anwendbar, wenn die Funktionswerte der i.a. nicht im kartesischen Raster liegenden Stützstellen bereits geeignet gewichtet sind.
Beim 3D-Gridding-Algorithmus trägt jeder Punkt zu NX . NY . NZ Punkten des kartesischen Gitters des kartesischen Frequenzku­ bus bei. In Fig. 2 ist der Beitrag eines i.a. nicht im karte­ sischen Raster liegenden Stützwertes SP auf den kartesischen Frequenzkubus anhand von NX=NY=NZ=4 dargestellt.
Der kartesische Frequenzkubus hat die Dimension FMATX . FMA­ TY . FMATZ (siehe Fig. 2 ). Ein komplexes Element des kartesi­ schen Frequenzkubus wird im folgenden durch FM[m][k][l] referenziert.
Zu Beginn des 3D-Gridding-Algorithmus werden die Elemente des kartesischen Frequenzkubus mit dem Wert 0.0+j0.0 initiali­ siert.
Für jeden der i.a. nicht im kartesischen Raster liegenden Stützwert SP müssen alle nachfolgenden Rechenschritte durch­ laufen werden.
Bestimmung der Koordinaten des Eckpunktes UP(FXUP,FYUP,FZUP) aus den Koordinaten der i.a. nicht im kartesischen Raster lie­ genden Stützstelle SP(FXSP,FYSP,FZSP):
  • <A1.< FXUP ist die x-Koordinate des linken, unteren, vorde­ ren kartesischen Rasterpunktes UP im dreidimensionalen Interpolationsfenster
    (1 Subtraktion mit Rundung)
  • <A2.< FYUP ist die y-Koordinate des linken, unteren, vorde­ ren kartesischen Rasterpunktes UP im dreidimensionalen Interpolationsfenster
    (1 Subtraktion mit Rundung)
  • <A3.< FZUP ist die z-Koordinate des linken, unteren, vorde­ ren kartesischen Rasterpunktes UP im dreidimensionalen Interpolationsfenster
    (1 Subtraktion mit Rundung)
Bestimmung der Hilfsgrößen DX, DY und DZ:
  • <A4.< DX = FXSP - FXUP (1 Subtraktion)
  • <A5.< DY = FYSP - FYUP (1 Subtraktion)
  • <A6.< DZ = FZSP - FZUP (1 Subtraktion)
Die nachfolgend in den Schritten <A7.< bis <A30.< verwendete ganzzahlige Laufvariable i geht von i=0 bis i=NX-1.
Die nachfolgend in den Schritten <A7.< bis <A30.< verwendete ganzzahlige Laufvariable j geht von j=0 bis j=NY-1.
Die nachfolgend in den Schritten <A7.< bis <A30.< verwendete ganzzahlige Laufvariable h geht von h=0 bis h=NZ-1.
Der Indexbereich der Interpolationstabelle INTTABL in Richtung von 1 geht von pl=0 bis pl=LINTPL-1,
Interpolationstabelle INTTABK in Richtung von k geht von pk=0 bis pk=LINTPK-1,
Interpolationstabelle INTTABM in Richtung von m geht von pm=0 bis pm=LINTPM-1.
Dies schließt den Spezialfall mit ein, daß alle drei Interpo­ lationstabellen gleich sind, und in allen 3 Richtungen gleich interpoliert wird.
Bestimmung der Zugriffsindices px[i], py[j] und pz[h] auf die Interpolationstabellen INTTABL, INTTABK und INTTABM mit den jeweiligen Längen LINTPL, LINTPK, LINTPM:
  • <A7.< px[i] ist der auf die nächste ganze Zahl gerundete Wert von Absolutbetrag von (DX+i) . LINTPL . 2/NX
    (1 Rundung, 1 Multiplikation und NX-1 Additionen;
    der Wert LINTPL . 2/NX stellt eine Konstante dar und braucht nur einmal berechnet zu werden)
  • <A8.< py[j] ist der auf die nächste ganze Zahl gerundete Wert von Absolutbetrag von (DY+j) . LINTPK . 2/NY
    (1 Rundung, 1 Multiplikation und NY-1 Additionen;
    der Wert LINTPK . 2/NY stellt eine Konstante dar und braucht nur einmal berechnet zu werden).
  • <A9.< pz[h] ist der auf die nächste ganze Zahl gerundete Wert von Absolutbetrag von (DZ+h) . LINTPM . 2/NZ
    (1 Rundung, 1 Multiplikation und NZ-1 Additionen;
    der Wert LINTPM . 2/NZ stellt eine Konstante dar und braucht nur einmal berechnet zu werden).
Adressierung der Werte Ix[i], Iy[j] und Iz[h] der Interpola­ tionstabellen an den ermittelten Zugriffsindices px[i], py[j] und pz [h]:
  • <A10.< Ix[i] ist der Wert der Interpolationstabelle INTTABL beim Zugriffsindex px[i] (NX Zugriffe auf die Interpo­ lationstabelle INTTABL)
  • <A11.< Iy[j] ist der Wert der Interpolationstabelle INTTABK beim Zugriffsindex py[j] (NY Zugriffe auf die Interpo­ lationstabelle INTTABK)
  • <A12.< Iz[h] ist der Wert der Interpolationstabelle INTTABM beim Zugriffsindex pz[h] (NZ Zugriffe auf die Interpo­ lationstabelle INTTABM).
Berechnung der Zugriffsindices zl[i], zk[j] und zm[h] der Ele­ mente des kartesischen Frequenzkubus, die sich im dreidimen­ sionalen Interpolationsfenster der i.a. nicht im kartesischen Raster liegenden Stützstelle befinden:
  • <A13.< pl[i] = FXUP + i (NX Additionen)
  • <A14.< pk[j] = FYUP + j (NY Additionen)
  • <A15.< pm[h] = FZUP + h (NZ Additionen)
  • <A16.< zl[i] = {pl[i] wird modulo auf den Bereich [0,FMATX-1] abgebildet}
  • <A17.< zk[j] = {pk[j] wird modulo auf den Bereich [0,FMATY-1] abgebildet}
  • <A18.< zm[h] = {pm[h] wird modulo auf den Bereich [0,FMATZ-1] abgebildet}.
Adressierung der Werte FMZ[zm[h]] [zk[j]] [zl[i]] der Elemente des kartesischen Frequenzkubus, die sich im dreidimensionalen Interpolationsfenster der i.a. nicht im kartesischen Raster liegenden Stützstelle befinden:
  • <A19.< FMZ_RE[zm[h]] [zk[j]] [zl[i]] ist der Realteilwert des Speichers des kartesischen Frequenzkubus
    FM[zm[h]] [zk[j]] [zl[i]]
    (NX . NY . NZ Zugriffe auf kartesischen Frequenzkubus)
  • <A20.< FMZ_IM[zm[h]] [zk[j]] [zl[i]] ist der Imaginärteilwert des Speichers des kartesischen Frequenzkubus
    FM[zm[h]] [zk[j]] [zl[i]]
    (NX . NY . NZ Zugriffe auf kartesischen Frequenzkubus).
SP_RE ist der Realteil der i.a. nicht im kartesischen Raster liegenden Stützstelle SP.
SP_IM ist der Imaginärteil der i.a. nicht im kartesischen Ra­ ster liegenden Stützstelle SP.
Berechnung der Zuschläge ZU_RE[h] [j] [i] und ZU_IM[h] [j] [i] auf die Elemente des kartesischen Frequenzkubus, die im dreidimen­ sionalen Interpolationsfenster der i.a. nicht im kartesischen Raster liegenden Stützstelle SP liegen:
  • <A21.< ZUX_RE[i] = SP_RE . Ix[i] (NX Multiplikationen)
  • <A22.< ZUX_IM[i] = SP_IM . Ix[i] (NX Multiplikationen)
  • <A23.< ZU_RE[j] [i] = ZUX_RE[i] . Iy[j] (NY . NX Multiplika­ tionen).
  • <A24.< ZU_IM[j] [i] = ZUX_IM[i] . Iy[j] (NY . NX Multiplika­ tionen)
  • <A25.< Mul­ tiplikationen)
  • <A26.< ZU_IM[h] [j] [i] = ZUX_IM[j] [i] . Iz[h] (NZ . NY . NX Mul­ tiplikationen).
Bildung der Zuschläge auf die Elemente des kartesischen Fre­ quenzkubus, die im dreidimensionalen Interpolationsfenster der i.a. nicht im kartesischen Raster liegenden Stützstelle lie­ gen:
  • <A27.< FMZE_RE[zm[h]] [zk[j]] [zl[i]] = FMZ_RE[zm[h]] [zk[j]] [zl[i]] + ZU_RE[h] [j] [i]
    (NX . NY . NZ Additionen)
  • <A28.< FMZE_IM[zm[h]] [zk[j]] [zl[i]] = FMZ_IM[zm[h]] [zk[j]] [zl[i]] + ZU_IM[h] [j] [i]
    (NX . NY . NZ Additionen).
Übertragen der berechneten Werte in den Speicher des kartesi­ schen Frequenzkubus:
  • <A29.< Der Realteil der Speicherzelle FM[zm[h]] [zk[j]] [zl[i]] in dem kartesischen Frequenzkubus wird überschrieben mit dem neu berechneten Wert FMZE_RE[zm[h]] [zk[j]] [zl[i]].
    (NX . NY . NZ Zugriffe auf kartesischen Frequenzkubus)
  • <A30.< Der Imaginärteil der Speicherzelle FM[zm[h]] [zk[j]] [zl[i]] in dem kartesischen Frequenz­ kubus wird überschrieben mit dem neu berechneten Wert FMZE_IM[zm[h]] [zk[j]] [zl[i]].
    (NX . NY . NZ Zugriffe auf kartesischen Frequenzkubus).
Verfahren zur Ermittlung der Gewichte der i.a. nicht im karte­ sischen Raster liegenden Stützstellen:
Der 3D-Gridding-Algorithmus beschreibt den Übergang von im i.a. nicht im kartesischen Raster liegenden Stützstellen auf ein dreidimensionales kartesisches Frequenzraster. Dabei wird angenommen, daß die i.a. nicht im kartesischen Raster liegenden Stützstellen SP im Frequenzkubus random-verteilt sind. Dies erfordert eine geeignete Gewichtung der i.a. nicht im kartesi­ schen Raster liegenden Stützstellen vor der Durchführung des 3D-Gridding-Prozesses, um Verteilungsinhomogenitäten auszu­ gleichen. Die Funktionswerte des Frequenzkubus in Gebieten mit größeren Stützstellendichte wären sonst erhöht gegenüber den Funktionswerten in Gebieten mit niedrigerer Stützstellendich­ te.
Das hierzu erfundene Verfahren zur Gewichtung der i.a. nicht im kartesischen Raster liegenden Stützstellen ist wie folgt:
  • 1. 3D-Pre-Gridding-Prozeß: Durchführung des 3D-Pre-Gridding- Prozesses, wobei für alle Stützstellen SP anstelle des tat­ sächlichen Funktionswertes der Funktionswert 1.0 hergenom­ men wird. Das Ergebnis des 3D-Pre-Gridding-Prozesses ist ein reeller Gewichtekubus FMG in einem kartesischen Ra­ ster, bei dem die Funktionswerte die Verteilungsinhomoge­ nitäten der Stützstellen SP beschreiben.
    Beim 3D-Pre-Gridding-Algorithmus trägt genau wie beim 3D- Gridding-Algorithmus jeder Punkt zu NX . NY . NZ Punkten KR des kartesischen Gitters des kartesischen Gewichtekubus FMG bei. Für das 3D-Pre-Gridding werden genau wie beim 3D- Gridding die Interpolationstabellen INTTABL(x), INTTABK(y) und INTTABM(z) verwendet, wobei x, y und z den Abstand zwi­ schen einem kartesischen Rasterpunkt KR und der Stützstel­ le SP darstellen.
  • 2. Gewichteinterpolation: Das Gewicht GEW für eine Stützstel­ le SP wird aus den NX . NY . NZ Punkten KRG des Gewichtekubus FMG ermittelt, die im dreidimensionalen Interpolationsfen­ ster des 3D-Gridding-Prozesses liegen. Die Funktionswerte FKRG der Punkte KRG werden dazu durch eine Bewertungsfunk­ tion BF in Funktionswerte FKRGK umgewandelt. Die Bewer­ tungsfunktion BF leistet dabei im wesentlichen eine Kehr­ wertbildung mit geeigneter Begrenzung der Ausgangswerte. Das Gewicht GEW wird aus den Funktionswerten FKRGK der Punkte KRG wie folgt bestimmt: Jeder Funktionswert FKRGK der Punkte KRG wird mit den entsprechenden Interpolations­ gewichten INTTABL(x) . INTTABK(y) . INTTABM(z) multipliziert, und die Ergebnisse werden aufaddiert. Das Endergebnis ist das Ge­ wicht GEW. x, y und z stellen den Abstand zwischen dem je­ weiligen kartesischen Rasterpunkt der Punkte KRG und der Stützstelle SP dar.
Darstellung der Rechenschritte des 3D-Pre-Gridding-Verfahrens: Die Rechenschritte des 3D-Pre-Gridding ergeben sich aus einer Analogie zum 3D-Gridding-Algorithmus. Der wesentliche Unter­ schied zum 3D-Gridding-Algorithmus besteht darin, daß beim 3D- Pre-Gridding für alle Stützstellen SP anstelle des tatsächli­ chen Funktionswertes der Funktionswert 1.0 hergenommen wird. Beim 3D-Pre-Gridding-Algorithmus trägt jeder Punkt zu NX . NY . NZ Punkten des kartesischen Gitters des kartesischen Gewichteku­ bus bei. Der kartesische Gewichtekubus ist reell. In Fig. 2 ist der Beitrag eines i.a. nicht im kartesischen Raster liegenden Stützwertes SP auf den kartesischen Gewichtekubus anhand von NX=NY=NZ=4 dargestellt.
Der kartesische Gewichtekubus hat die Dimension FMATX . FMA­ TY . FMATZ (siehe Fig. 2 ). Ein reelles Element des kartesischen Gewichtekubus wird im folgenden durch FMG[m] [k] [l] referen­ ziert.
Zu Beginn des 3D-Pre-Gridding-Algorithmus werden die Elemente des kartesischen Gewichtekubus mit dem Wert 0.0 initialisiert. Für jeden der i.a. nicht im kartesischen Raster liegenden Stützwert SP müssen alle nachfolgenden Rechenschritte durch­ laufen werden.
Bestimmung der Koordinaten des Eckpunktes UP(FXUP,FYUP,FZUP) aus den Koordinaten der i.a. nicht im kartesischen Raster lie­ genden Stützstelle SP(FXSP,FYSP,FZSP):
  • <B1.< FXUP ist die x-Koordinate des linken, unteren, vorde­ ren kartesischen Rasterpunktes UP im dreidimensionalen Interpolationsfenster (1 Subtraktion mit Rundung)
  • <B2.< FYUP ist die y-Koordinate des linken, unteren, vorde­ ren kartesischen Rasterpunktes UP im dreidimensionalen Interpolationsfenster (1 Subtraktion mit Rundung)
  • <B3.< FZUP ist die z-Koordinate des linken, unteren, vorde­ ren kartesischen Rasterpunktes UP im dreidimensionalen Interpolationsfenster (1 Subtraktion mit Rundung)
Bestimmung der Hilfsgrößen DX, DYund DZ:
  • <B4.< DX = FXSP - FXUP (1 Subtraktion)
  • <B5.< DY = FYSP - FYUP (1 Subtraktion)
  • <B6.< DZ=FZSP-FZUP (1 Subtraktion)
Die nachfolgend in den Schritten <B7.< bis <B23.< verwendete ganzzahlige Laufvariable i geht von i=0 bis i=NX-1.
Die nachfolgend in den Schritten <B7.< bis <B23.< verwendete ganzzahlige Laufvariable j geht von j=0 bis j=NY-1.
Die nachfolgend in den Schritten <B7.< bis <B23.< verwendete ganzzahlige Laufvariable h geht von h=0 bis h=NZ-1.
Der Indexbereich der
Interpolationstabelle INTTABL in Richtung von 1 geht von pl=0 bis pl=LINTPL-1,
Interpolationstabelle INTTABK in Richtung von k geht von pk=0 bis pk=LINTPK-1,
Interpolationstabelle INTTABM in Richtung von m geht von pm=0 bis pm=LINTPM-1.
Dies schließt den Spezialfall mit ein, daß alle drei Interpo­ lationstabellen gleich sind, und in allen 3 Richtungen gleich interpoliert wird.
Bestimmung der Zugriffsindices px[i], py[j] und pz[h] auf die Interpolationstabellen INTTABL, INTTABK und INTTABM mit den jeweiligen Längen LINTPL, LINTPK, LINTPM:
  • <B7.< px[i] ist der auf die nächste ganze Zahl gerundete Wert von Absolutbetrag von (DX+i) . LINTPL . 2/NX
    (1 Rundung, 1 Multiplikation und NX-1 Additionen, der Wert LINTPL . 2/NX stellt eine Konstante dar und braucht nur einmal berechnet zu werden)
  • <B8.< py[j] ist der auf die nächste ganze Zahl gerundete Wert von Absolutbetrag von (DY+j) . LINTPK . 2/NY
    (1 Rundung, 1 Multiplikation und NY-1 Additionen; der Wert LINTPK . 2/NY stellt eine Konstante dar und braucht nur einmal berechnet zu werden)
  • <B9.< pz[h] ist der auf die nächste ganze Zahl gerundete Wert von Absolutbetrag von (DZ+h) . LINTPM . 2/NZ
    (1 Rundung, 1 Multiplikation und NZ-1 Additionen; der Wert LINTPM . 2/NZ stellt eine Konstante dar und braucht nur einmal berechnet zu werden).
Adressierung der Werte Ix[i], Iy[j) und Iz[h) der Interpolati­ onstabellen an den ermittelten Zugriffsindices px[i], py[j] und pz[h]:
  • <B10.< Ix[i] ist der Wert der Interpolationstabelle INTTABL beim Zugriffsindex px[i]
    (NX Zugriffe auf die Interpolationstabelle INTTABL)
  • <B11.< Iy[j] ist der Wert der Interpolationstabelle INTTABK beim Zugriffsindex py[j]
    NY Zugriffe auf die Interpolationstabelle INTTABK)
  • <B12.< Iz[h] ist der Wert der Interpolationstabelle INTTABM beim Zugriffsindex pz[h]
    (NZ Zugriffe auf die Interpolationstabelle INTTABM).
Berechnung der Zugriffsindices zl[i], zk[j] und zm[h] der Ele­ mente des kartesischen Gewichtekubus, die sich im dreidimen­ sionalen Interpolationsfenster der i.a. nicht im kartesischen Raster liegenden Stützstelle befinden:
  • <B13.< pl[i] = FXUP + i (NX Additionen)
  • <B14.< pk[j] = FYUP + j (NY Additionen)
  • <B15.< pm[h] = FZUP + h (NZ Additionen)
  • <B16.< zl[i] = {pl[i] wird modulo auf den Bereich [0,FMATX-1] abgebildet}
  • <B17.< zk[j] = {pk[j] wird modulo auf den Bereich [0,FMATY-1] abgebildet}
  • <B18.< zm[h] = {pm[h] wird modulo auf den Bereich [0,FMATZ-1] abgebildet}.
Adressierung der Werte FMG[zm[h]] [zk[j]] [zl[i]] der Elemente des kartesischen Gewichtekubus, die sich im dreidimensionalen Interpolationsfenster der i.a. nicht im kartesischen Raster liegenden Stützstelle befinden:
  • <B19.< FMG[zm[h]] [zk[j]] [zl[i]] ist der Wert des Speichers des kartesischen Gewichtekubus
    (NX . NY . NZ Zugriffe auf kartesischen Gewichtekubus).
Berechnung der Zuschläge ZU[h] [j] [i] auf die Elemente des kar­ tesischen Gewichtekubus, die im dreidimensionalen Interpolati­ onsfenster der i.a. nicht im kartesischen Raster liegenden Stützstelle SP liegen:
  • <B20.< ZUX[j] [i] = Ix[i] . Iy[j] (NY . NX Multiplikationen)
  • <B21.< ZU[h] [j] [i] = ZUX[j] [i] . Iz[h] (NZ . NY . NX Multipli­ kationen).
Bildung der Zuschläge auf die Elemente des kartesischen Gewich­ tekubus, die im dreidimensionalen Interpolationsfenster der i.a. nicht im kartesischen Raster liegenden Stützstelle lie­ gen:
  • <B22.< FMZG[zm[h]] [zk[j]] [zl[i]] = FMG[zm[h]] [zk[j]] [zl[i]]+ ZU[h] [j] [i]
    (NX . NY . NZ Additionen).
Übertragen der berechneten Werte in den Speicher des kartesi­ schen Gewichtekubus:
  • <B23.< Die Speicherzelle FMG[zm[h]] [zk[j]] [zl[i]] in dem kar­ tesischen Gewichtekubus wird überschrieben mit dem neu berechneten Wert
    FMZG[zm[h]] [zk[j]] [zl[i]].
    (NX . NY . NZ Zugriffe auf kartesischen Gewichtekubus).
Darstellung der Rechenschritte der Gewichteinterpolation:
Hier werden die Rechenschritte des bereits vorgestellten Ver­ fahrens der Gewichteinterpolation beschrieben.
Bei der Gewichteinterpolation wird das Gewicht für einen i.a. nicht im kartesischen Raster liegenden Stützwert SP aus den NX . NY . NZ Punkten (siehe Fig. 2 ) des kartesischen Gitters des kartesischen Gewichtekubus FMG durch Interpolation bestimmt. Zur Durchführung der Gewichteinterpolation ist eine gültige kartesische Gewichtematrix notwendig. Die kartesische Gewich­ tematrix wird durch das 3D-Pre-Gridding bestimmt, oder für eine bekannte Stützstellenverteilung als Tabelle geladen.
Der kartesische Gewichtekubus hat die Dimension FMATX . FMA­ TY . FMATZ (siehe Fig. 2). Ein reelles Element des kartesischen Gewichtekubus wird im folgenden durch FMG[m] [k] [l] referen­ ziert.
Für jeden der i.a. nicht im kartesischen Raster liegenden Stützwert SP(FXSP,FYSP,FZSP) müssen alle nachfolgenden Rechen­ schritte durchlaufen werden.
Bestimmung der Koordinaten des Eckpunktes UP(FXUP,FYUP,FZUP) aus den Koordinaten der i.a. nicht im kartesischen Raster lie­ genden Stützstelle SP(FXSP, FYSP, FZSP):
  • <C1.< FXUP ist die x-Koordinate des linken, unteren, vorde­ ren kartesischen Rasterpunktes UP im dreidimensionalen Interpolationsfenster
    (1 Subtraktion mit Rundung)
  • <C2.< FYUP ist die y-Koordinate des linken, unteren, vorde­ ren kartesischen Rasterpunktes UP im dreidimensionalen Interpolationsfenster
    (1 Subtraktion mit Rundung)
  • <C3.< FZUP ist die z-Koordinate des linken, unteren, vorde­ ren kartesischen Rasterpunktes UP im dreidimensionalen Interpolationsfenster
    (1 Subtraktion mit Rundung).
Bestimmung der Hilfsgrößen DX und DY:
  • <C4.< DX = FXSP - FXUP (1 Subtraktion)
  • <C5.< DY = FYSP - FYUP (1 Subtraktion)
  • <C6.< DZ = FZSP - FZUP (1 Subtraktion).
Die nachfolgend in den Schritten <C7.< bis <C23.< verwendete ganzzahlige Laufvariable i geht von i=0 bis i=NX-1.
Die nachfolgend in den Schritten <C7.< bis <C23.< verwendete ganzzahlige Laufvariable j geht von j=0 bis j=NY-1.
Die nachfolgend in den Schritten <C7.< bis <C23.< verwendete ganzzahlige Laufvariable h geht von h=0 bis h=NZ-1.
Der Indexbereich der Interpolationstabelle INTTABL in Richtung von l geht von pl=0 bis pl=LINTPL-1,
Interpolationstabelle INTTABK in Richtung von k geht von pk=0 bis pk=LINTPK-1,
Interpolationstabelle INTTABM in Richtung von m geht von pm=0 bis pm=LINTPM-l.
Dies schließt den Spezialfall mit ein, daß alle drei Interpo­ lationstabellen gleich sind, und in allen 3 Richtungen gleich interpoliert wird.
Bestimmung der Zugriffsindices px[i], py[j] und pz[h] auf die Interpolationstabellen INTTABL, INTTABK und INTTABM mit den jeweiligen Längen LINTPL, LINTPK, LINTPM:
  • <C7.< px[i] ist der auf die nächste ganze Zahl gerundete Wert von Absolutbetrag von (DX+i) . LINTPL . 2/NX
    (1 Rundung, 1 Multiplikation und NX-1 Additionen;
    der Wert LINTPL . 2/NX stellt eine Konstante dar und braucht nur einmal berechnet zu werden)
  • <C8.< py[j] ist der auf die nächste ganze Zahl gerundete Wert von Absolutbetrag von (DY+j) . LINTPK . 2/NY
    (1 Rundung, 1 Multiplikation und NY-1 Additionen;
    der Wert LINTPK . 2/NY stellt eine Konstante dar und braucht nur einmal berechnet zu werden).
  • <C9.< pz [h] ist der auf die nächste ganze Zahl gerundete Wert von Absolutbetrag von (DZ+h) . LINTPM . 2/NZ
    (1 Rundung, 1 Multiplikation und NZ-1 Additionen;
    der Wert LINTPM . 2/NZ stellt eine Konstante dar und braucht nur einmal berechnet zu werden).
Adressierung der Werte Ix[i], Iy[j] und Iz[h] der Interpola­ tionstabellen an den ermittelten Zugriffsindices px[i], py[j] und pz [h]:
  • <C10.< Ix[i] ist der Wert der Interpolationstabelle INTTABL beim Zugriffsindex px[i] (NX Zugriffe auf die Interpo­ lationstabelle INTTABL)
  • <C11.< Iy[j] ist der Wert der Interpolationstabelle INTTABK beim Zugriffsindex py[j] (NY Zugriffe auf die Interpo­ lationstabelle INTTABK)
  • <C12.< Iz[h] ist der Wert der Interpolationstabelle INTTABM beim Zugriffsindex pz [h] (NZ Zugriffe auf die Interpo­ lationstabelle INTTABM).
Berechnung der Zugriffsindices zl[i], zk[j] und zm[h] der Ele­ mente des kartesischen Gewichtekubus, die sich im dreidimen­ sionalen Interpolationsfenster der i.a. nicht im kartesischen Raster liegenden Stützstelle befinden:
  • <C13.< pl[i] = FXUP + i (NX Additionen)
  • <C14.< pk[j] = FYUP + j (NY Additionen)
  • <C15.< pm[h] = FZUP + h (NZ Additionen)
  • <C16.< zl[i] = {pl[i] wird modulo auf den Bereich [0,FMATX-1] abgebildet}
  • <C17.< zk[j] = {pk[j] wird modulo auf den Bereich [0,FMATY-1] abgebildet}
  • <C18.< zm[h] = {pm[h] wird modulo auf den Bereich [0,FMATZ-1] abgebildet}.
Adressierung der Werte FMG[zm[h]] [zk[j]] [zl[i]] der Elemente des kartesischen Gewichtekubus, die sich im dreidimensionalen Interpolationsfenster der i.a. nicht im kartesischen Raster liegenden Stützstelle befinden:
  • <C19.< FMG[zm[h]] [zk[j]] [zl[i]] ist der Wert des Speichers des kartesischen Gewichtekubus
    (NX . NY . NZ Zugriffe auf kartesischen Gewichtekubus).
Berechnung des Gewichtes GEW(FXSP,FYSP,FZSP) der i.a. nicht im kartesischen Raster liegenden Stützstelle SP(FX- SP,FYSP,FZSP):
  • <C20.< IXY[j] [i] = Ix[i] . Iy[j] (NY . NX Multiplikationen)
  • <C21.< I[h] [j] [i] = IXY[j] [i] . Iz[h] (NZ . NY . NX Multipli­ kationen)
  • <C22.< Umwandlung der aus den in Schritt <C19.< gelesenen Wer­ te FMG[zm[h]] [zk[j]] [zl[i]] mit dem Operator, der die Bewertungsfunktion BF realisiert.
    FMGBW[zm[h]] [zk[j]] [zl[i]]=BW(FMG[zm[h]] [zk[j]] [zl[i] ])
    (NX . NY . NZ Operationen).
    Sofern nach dem 3D-Pre-Gridding die Elemente der Ge­ wichtematrix FMG durch den mit der Bewertungsfunktion BW bewerteten Wert FMGBW ersetzt werden, kann der Re­ chenschritt <C22.< bei der Gewichteinterpolation ent­ fallen.
  • <C23.< Multiplikation der Werte FMGBW [zm[h]] [zk[j]] [zl[i]] mit dem entsprechenden Interpolationsgewicht I[h] [j] [i] und Addition der Ergebnisse. Das Ergebnis ist das Gewicht GEW(FXSP,FYSP,FZSP).
    (NZ . NY . NX Multiplikationen, NZ . NY . NX-1 Additionen).
SP_RE(FXSP,FYSP,FZSP) ist der Realteil des Funktionswertes der i.a. nicht im kartesischen Raster liegenden Stützstelle SP(FX­ SP,FYSP,FZSP).
SP_IM(FXSP,FYSP,FZSP) ist der Imaginärteil des Funktionswertes der i.a. nicht im kartesischen Raster liegenden Stützstelle SP(FXSP,FYSP,FZSP).
Gewichtung der Stützstelle SP(FXSP,FYSP,FZSP):
  • <C24.< GSP_RE(FXSP,FYSP,FZSP) = SP_RE(FXSP,FYSP,FZSP) . GEW(FXSP,FYSP,FZSP)
    (1 Multiplikation)
    <C25.< GSP_IM(FXSP,FYSP,FZSP) = SP_IM(FXSP,FYSP,FZSP) . GEW(FXSP,FYSP,FZSP)
    (1 Multiplikation).
Verarbeitungsablauf von 3D-Pre-Gridding, Gewichteinterpolati­ on und 3D-Gridding:
Der Vorteil des vorgestellten Verfahrens zur Bestimmung der Ge­ wichte der i.a. nicht im kartesischen Raster liegenden Stütz­ stellen besteht darin, daß die Rechenschritte <C1.< bis <C18.< von der Gewichteinterpolation mit den Rechenschritten <A1.< bis <A18.< des 3D-Gridding-Prozesses identisch sind. Dadurch läßt sich die Bestimmung der Gewichte der i.a. nicht im karte­ sischen Raster liegenden Stützstellen sehr effizient in Ver­ bindung mit dem 3D-Gridding-Prozeß implementieren.
Das Ergebnis ist ein 3D-Gridding-Verfahren mit schrittweiser Gewichteinterpolation:
  • a) Für eine Stützstelle SP werden zuerst die Rechen­ schritte <A1.< bis <A18.< des 3D-Gridding durchge­ führt. Somit sind automatisch auch die Rechenschritte <C1.< bis <C18.< der Gewichteinterpolation implemen­ tiert.
  • b) Anschließend wird mit <C19.< bis <C23.< das Gewicht GEW bestimmt, mit dem der Funktionswert der Stützstelle SP zur Durchführung des 3D-Gridding gewichtet werden muß. In Schritt <C24.< und <C25.< erfolgt dann die Ge­ wichtung des Funktionswertes der Stützstelle SP.
  • c) Dann werden die Rechenschritten <A19.< bis <A30.< des 3D-Gridding-Algorithmus durchgeführt.
Zur Durchführung der Gewichteinterpolation und des 3D-Grid­ ding-Prozesses ist eine gültige kartesische Gewichtematrix notwendig. Die kartesische Gewichtematrix wird durch das 3D- Pre-Gridding bestimmt, oder für eine bekannte Stützstellenver­ teilung als Tabelle geladen.
Sollen die Gewichteinterpolation und das 3D-Gridding nachein­ ander für mehrere Rekonstruktionen durchgeführt werden, und bleibt die Verteilung der i.a. nicht im kartesischen Raster liegenden Stützstellen SP jeweils gleich, so braucht das 3D- Pre-Gridding nur vor der Gewichteinterpolation der ersten Re­ konstruktion durchgeführt werden. Die beim 3D-Pre-Gridding er­ zeugte kartesische Gewichtematrix ist dann für alle Rekon­ struktionen mit der gleichen Verteilung der i.a. nicht im kar­ tesischen Raster liegenden Stützstellen SP gültig. Die karte­ sische Gewichtematrix könnte für eine bekannte Verteilung der Stützstellen SP auch als Tabelle geladen werden.
Ist die Verteilung der i.a. nicht im kartesischen Raster lie­ genden Stützstellen SP bei mehreren Rekonstruktionen verschie­ den, so ist vor der Gewichteinterpolation und dem 3D-Gridding jeweils ein 3D-Pre-Gridding durchzuführen.
Darstellung der in das VGR-ASIC implementierten Rechenschritte des 3D-Gridding-Algorithmus mit schrittweiser Gewichteinterpo­ lation:
Hier werden die Rechenschritte des 3D-Gridding-Algorithmus mit schrittweiser Gewichteinterpolation beschrieben, die in das VGR-ASIC implementiert werden sollen.
Beim 3D-Gridding-Algorithmus trägt jeder Punkt zu NX . NY . NZ Punkten des kartesischen Gitters des kartesischen Frequenzku­ bus bei. In Fig. 2 ist der Beitrag eines i.a. nicht im karte­ sischen Raster liegenden Stützwertes SP auf den kartesischen Frequenzkubus anhand von NX=NY=NZ=4 dargestellt.
Der kartesische Frequenzkubus hat die Dimension FMATX . FMA­ TY . FMATZ (siehe Fig. 2). Ein komplexes Element des kartesi­ schen Frequenzkubus wird im folgenden durch FM[m] [k] [l] referenziert.
Zu Beginn des 3D-Gridding-Algorithmus werden die Elemente des kartesischen Frequenzkubus mit dem Wert 0.0+j0.0 initiali­ siert.
Für jeden der i.a. nicht im kartesischen Raster liegenden Stützwert SP müssen alle nachfolgenden Rechenschritte durch­ laufen werden.
Bestimmung der Koordinaten des Eckpunktes UP(FXUP,FYUP,FZUP) aus den Koordinaten der i.a. nicht im kartesischen Raster lie­ genden Stützstelle SP(FXSP,FYSP,FZSP):
  • <D1.< FXUP ist die x-Koordinate des linken, unteren, vorde­ ren kartesischen Rasterpunktes UP im dreidimensionalen Interpolationsfenster
    (1 Subtraktion mit Rundung)
  • <D2.< FYUP ist die y-Koordinate des linken, unteren, vorde­ ren kartesischen Rasterpunktes UP im dreidimensionalen Interpolationsfenster
    (1 Subtraktion mit Rundung)
  • <D3.< FZUP ist die z-Koordinate des linken, unteren, vorde­ ren kartesischen Rasterpunktes UP im dreidimensionalen Interpolationsfenster
    (1 Subtraktion mit Rundung)
Bestimmung der Hilfsgrößen DX, DY und DZ:
  • <D4.< DX = FXSP - FXUP (1 Subtraktion)
  • <D5.< DY = FYSP - FYUP (1 Subtraktion)
  • <D6.< DZ = FZSP - FZUP (1 Subtraktion).
Die nachfolgend in den Schritten <D7.< bis <D37.< verwendete ganzzahlige Laufvariable i geht von i=0 bis i=NX-1.
Die nachfolgend in den Schritten <D7.< bis <D37.< verwendete ganzzahlige Laufvariable j geht von j=0 bis j=NY-1.
Die nachfolgend in den Schritten <D7.< bis <D37.< verwendete ganzzahlige Laufvariable h geht von h=0 bis h=NZ-1.
Der Indexbereich der
Interpolationstabelle INTTABL in Richtung von 1 geht von pl=0 bis pl=LINTPL-1,
Interpolationstabelle INTTABK in Richtung von k geht von pk=0 bis pk=LINTPK-1,
Interpolationstabelle INTTABM in Richtung von m geht von pm=0 bis pm=LINTPM-1.
Dies schließt den Spezialfall mit ein, daß alle drei Interpo­ lationstabellen gleich sind, und in allen 3 Richtungen gleich interpoliert wird.
Bestimmung der Zugriffsindices px[i], py[j] und pz[h] auf die Interpolationstabellen
INTTABL, INTTABK und INTTABM mit den jeweiligen Längen LINTPL, LINTPK, LINTPM:
  • <D7.< px[i] ist der auf die nächste ganze Zahl gerundete Wert von Absolutbetrag von (DX+i) . LINTPL . 2/NX
    (1 Rundung, 1 Multiplikation und NX-1 Additionen; der Wert LINTPL . 2/NX stellt eine Konstante dar und braucht nur einmal berechnet zu werden)
  • <D8.< py[j] ist der auf die nächste ganze Zahl gerundete Wert von Absolutbetrag von (DY+j) . LINTPK . 2/NY
    (1 Rundung, 1 Multiplikation und NY-1 Additionen; der Wert LINTPK . 2/NY stellt eine Konstante dar und braucht nur einmal berechnet zu werden)
  • <D9.< pz [h] ist der auf die nächste ganze Zahl gerundete Wert von Absolutbetrag von (DZ+h) . LINTPM . 2/NZ
    (1 Rundung, 1 Multiplikation und NZ-1 Additionen; der Wert LINTPM . 2/NZ stellt eine Konstante dar und braucht nur einmal berechnet zu werden).
Adressierung der Werte Ix[i], Iy[j] und Iz[h] der Interpola­ tionstabellen an den ermittelten Zugriffsindices px[i], py[j] und pz[h]:
  • <D10.< Ix[i] ist der Wert der Interpolationstabelle INTTABL beim Zugriffsindex px[i] (NX Zugriffe auf die Interpo­ lationstabelle INTTABL)
  • <D11.< Iy[j] ist der Wert der Interpolationstabelle INTTABK beim Zugriffsindex py[j] (NY Zugriffe auf die Interpo­ lationstabelle INTTABK)
  • <D12.< Iz[h] ist der Wert der Interpolationstabelle INTTABM beim Zugriffsindex pz [h] (NZ Zugriffe auf die Interpo­ lationstabelle INTTABM).
Berechnung der Zugriffsindices zl[i], zk[j] und zm[h] der Ele­ mente des kartesischen Frequenzkubus, die sich im dreidimen­ sionalen Interpolationsfenster der i.a. nicht im kartesischen Raster liegenden Stützstelle befinden:
  • <D13.< pl[i] = FXUP + i (NX Additionen)
  • <D14.< pk[j] = FYUP + j (NY Additionen)
  • <D15.< pm[h] = FZUP + h (NZ Additionen)
  • <D16.< zl[i] = {pl[i] wird modulo auf den Bereich [0,FMATX-1] abgebildet}
  • <D17.< zk[j] = {pk[j] wird modulo auf den Bereich [0,FMATY-1] abgebildet}
  • <D18.< zm[h] = {pm[h] wird modulo auf den Bereich [0,FMATZ-1] abgebildet}.
Adressierung der Werte FMG[zm[h]] [zk[j]] [zl[i]] der Elemente des kartesischen Gewichtekubus, die sich im dreidimensionalen Interpolationsfenster der i.a. nicht im kartesischen Raster liegenden Stützstelle befinden:
  • <D19.< FMG[zm[h]] [zk[j]] [zl[i]] ist der Wert des Speichers des kartesischen Gewichtekubus
    (NX . NY . NZ Zugriffe auf kartesischen Gewichtekubus).
Berechnung des Gewichtes GEW der i.a. nicht im kartesischen Ra­ ster liegenden Stützstelle SP:
  • <D20.< IXY[j][i] = Ix[i] . Iy[j] (NY . NX Multiplikationen)
  • <D21.< I[h][j][i] = IXY[j][i] . Iz[h] (NZ . NY . NX Multipli­ kationen)
  • <D22.< Umwandlung der aus den in Schritt <D19.< gelesenen Wer­ te FMG[zm[h]][zk[j]][zl[i]] mit dem Operator, der die Bewertungsfunktion BF realisiert.
    FMGBW[zm[h]] [zk[j]] [zl[i]]=BW(FMG[zm[h]] [zk[j]] [zl[i]])
    (NX . NY . NZ Operationen). Sofern nach dem 3D-Pre-Gridding die Elemente der Ge­ wichtematrix FMG durch den mit der Bewertungsfunktion BW bewerteten Wert FMGBW ersetzt werden, kann der Re­ chenschritt <D22.< bei der Gewichteinterpolation ent­ fallen.
  • <D23.< Multiplikation der Werte FMGBW [zm[h]] [zk[j]] [zl[i]] mit dem entsprechenden Interpolationsgewicht
    I[h] [j] [i] und Addition der Ergebnisse. Das Ergebnis ist das Gewicht GEW.
    (NZ . NY . NX Multiplikationen, NZ . NY . NX-1 Additionen).
SP_RE ist der Realteil des Funktionswertes der i.a. nicht im kartesischen Raster liegenden Stützstelle SP.
SP_IM ist der Imaginärteil des Funktionswertes der i.a. nicht im kartesischen Raster liegenden Stützstelle SP. Gewichtung der Stützstelle SP:
  • <D24.< GSP_RE = SP_RE . GEW
    (1 Multiplikation)
  • <D25.< GSP_IM = SP_IM . GEW
    (1 Multiplikation).
Adressierung der Werte FMZ[zm[h]] [zk[j]] [zl[i]] der Elemente des kartesischen Frequenzkubus, die sich im dreidimensionalen Interpolationsfenster der i.a. nicht im kartesischen Raster liegenden Stützstelle befinden:
  • <D26.< FMZ_RE[zm[h]] [zk[j]] [zl[i]] ist der Realteilwert des Speichers des kartesischen Frequenzkubus
    FM[zm[h]] [zk[j]] [zl[i]]
    (NX . NY . NZ Zugriffe auf kartesischen Frequenzkubus)
  • <D27.< FMZ_IM[zm[h]] [zk[j]] [zl[i]] ist der Imaginärteilwert des Speichers des kartesischen Frequenzkubus
    FM[zm[h]] [zk[j]] [zl[i]]
    (NX . NY . NZ Zugriffe auf kartesischen Frequenzkubus).
Berechnung der Zuschläge ZU_RE[h] [j] [i] und ZU_IM[h] [j] [i] auf die Elemente des kartesischen Frequenzkubus, die im dreidimen­ sionalen Interpolationsfenster der i.a. nicht im kartesischen Raster liegenden Stützstelle SP liegen:
  • <D28.< ZUX_RE[i] = GSP_RE . Ix[i] (NX Multiplikationen)
  • <D29.< ZUX_IM[i] = GSP_IM . Ix[i] (NX Multiplikationen)
  • <D30.< ZU_RE[j] [i] = ZUX_RE[i] . Iy[j] (NY . NX Multiplika­ tionen)
  • <D31.< ZU_IM[j] [i] = ZUX_IM[i] . Iy[j] (NY . NX Multiplika­ tionen)
  • <D32.< ZU_RE[h] [j] [i] = ZUX_RE[j] [i] . Iz[h]
    (NZ . NY . NX Multiplikationen)
  • <D33.< ZU_IM[h] [j] [i] = ZUX_IM[j] [i] . Iz[h]
    (NZ . NY . NX Multiplikationen).
Bildung der Zuschläge auf die Elemente des kartesischen Fre­ quenzkubus, die im dreidimensionalen Interpolationsfenster der i.a. nicht im kartesischen Raster liegenden Stützstelle lie­ gen:
  • <D34.< FMZE_RE[zm[h]] [zk[j]] [zl[i]] =
    = FMZ_RE[zm[h]] [zk[j]] [zl[i]] + ZU_RE[h] [j] [i]
    (NX . NY . NZ Additionen)
  • <D35.< FMZE_IM[zm[h]] [zk[j]] [zl[i]] =
    = FMZ_IM[zm[h]] [zk[j]] [zl[i]] + ZU_IM[h] [j] [i]
    (NX . NY . NZ Additionen).
Übertragen der berechneten Werte in den Speicher des kartesi­ schen Frequenzkubus:
  • <D36.< Der Realteil der Speicherzelle FM[zm[h]] [zk[j]] [zl [i]] in dem kartesischen Frequenzkubus wird überschrieben mit dem neu berechneten Wert
    FMZE_RE[zm[h]] [zk[j]] [zl[i]].
    (NX . NY . NZ Zugriffe auf kartesischen Frequenzkubus)
    <D37.< Der Imaginärteil der Speicherzelle
    FM[zm[h]] [zk[j]] [zl[i]] in dem kartesischen Frequenz­ kubus wird überschrieben mit dem neu berechneten Wert FMZE_IM[zm[h]] [zk[j]] [zl[i]].
    (NX . NY . NZ Zugriffe auf kartesischen Frequenzkubus).
Schnittstellen des VGR-ASICs:
Zur Durchführung des 3D-Pre-Gridding-Algorithmus werden als Eingangsdaten die kartesischen Koordinaten (FX,FY,FZ) der Stützwerte SP im Frequenzbereich benötigt. Die Ausgangsdaten des 3D-Pre-Gridding-Algorithmus ist der kartesische Gewichte­ kubus.
Zur Durchführung des 3D-Gridding-Algorithmus mit Gewichtein­ terpolation werden als Eingangsdaten die kartesische Gewichte­ matrix FMG und die Funktionswerte der i.a. nicht im kartesischen Raster Stützwerte SP sowie die kartesischen Koor­ dinaten (FX,FY,FZ) der Stützwerte SP im Frequenzbereich benö­ tigt. Die Ausgangsdaten des 3D-Gridding-Algorithmus ist der kartesische Frequenzkubus.
Sowohl die Funktionswerte der Stützwerte SP, als auch die Daten des kartesischen Frequenzkubus FM sind komplex. Die Daten der kartesischen Gewichtematrix FMG sind reell.
Für die Übergabe der kartesischen Koordinaten der Stützwerte SP an das VGR-ASIC werden zwei Varianten vorgeschlagen:
VK1: Koordinatenübergabe-Variante 1: Die kartesischen Koordi­ naten (FX,FY,FZ) der Stützwerte SP werden jeweils nach der Übergabe der Stützwerte SP in Koordinateneingangs­ puffer des VGR-ASICs geschrieben. Die Koordinatenüberga­ be-Variante 1 eignet sich auch für Rekonstruktions-Algo­ rithmen, bei denen die Koordinaten von aufeinanderfol­ gend an das VGR-ASIC übergebenen Stützwerten nicht in ei­ nem durch konstante Koordinateninkremente DFX, DFY und DFZ beschreibbaren Zusammenhang stehen.
VK2: Koordinatenübergabe-Variante 2: Die Stützwerte SP eines Projektionsspektrums werden in einem Blocktransfer in das VGR-ASIC übertragen. Es wird vorausgesetzt, daß sich innerhalb des Transferblocks die Koordinaten von aufein­ anderfolgend an das VGR-ASIC übergebenen Stützstellen SP durch konstante Koordinateninkremente DFX, DFY und DFZ bestimmen lassen. Zu Beginn des Blocktransfers werden dabei die nachfolgend bezeichneten Aufsetzwerte an das VGR-ASIC übergeben, aus denen das VGR-ASIC die kartesi­ schen Koordinaten von den im Blocktransfer übergebenen Stützwerten SP selbst generieren kann:
  • - die kartesischen Koordinateninkremente DFX, DFY und DFZ zwischen den im Blocktransfer übergebenen Stütz­ werten und
  • - die Anzahl der Stützwerte mit zugehöriger Richtung im Blocktransfer.
    Die Koordinatenübergabe-Variante 2 eignet sich nicht für Rekonstruktions-Algorithmen, bei denen die Koordinaten von aufeinanderfolgend an das VGR-ASIC übergebenen Stützwerten nicht in einem durch konstante Koordinaten­ inkremente DFX, DFY und DFZ beschreibbaren Zusammenhang stehen.
Die Funktionswerte der Stützwerte SP und die kartesischen Ko­ ordinaten (FX,FY,FZ) der Stützwerte SP bzw. die zugehörigen Aufsetzwerte werden über einen Datenbus A (siehe Fig. 3) in un­ terschiedliche Eingangspuffer des VGR-ASICs geschrieben. Für die Eingangspuffer wird ein FIFO-Prinzip empfohlen.
Die Betriebsart des VGR-ASICs (3D-Pre-Gridding oder 3D-Grid­ ding mit schrittweiser Gewichteinterpolation), die Interpola­ tionstabellen und die Parameter, die für den 3D-Gridding- Algorithmus und den 3D-Pre-Gridding-Algorithmus benötigt wer­ den, werden während einer Initialisierungsphase über den Da­ tenbus A geladen.
Zur Adressierung der unterschiedlichen Eingangspuffer und der Interpolationstabellenspeicher dient der Adreßbus ADR_A.
Über den bidirektionalen Datenbus B bildet das VGR-ASIC durch read-modify-write-Zugriffe Zuschläge auf Random-Daten mit der Adresse RAND des Speichers SKART, in dem sich der kartesische Frequenzkubus befindet. Die zugehörige Adresse RAND wird vom VGR-ASIC generiert und auf den Adreßbus ADR_B gelegt, über den der Speicher des kartesischen Frequenzkubus adressiert wird.
Über den bidirektionalen Datenbus C bildet das VGR-ASIC durch read-modify-write-Zugriffe Zuschläge auf Random-Daten mit der Adresse RANDG des Speichers SKARTG, in dem sich der kartesische Gewichtekubus befindet. Die zugehörige Adresse RANDG wird vom VGR-ASIC generiert und auf den Adreßbus ADR_C gelegt, über den der Speicher des kartesischen Gewichtekubus adressiert wird.
Die Fig. 4 zeigt eine Darstellung der Schnittstellen einer weiteren Version des VGR-ASICs, das ohne den Adreßbus ADR_A auskommt. In diesem Fall müßten die zu den Daten zugehörigen Adressen mit auf dem Datenbus A übertragen werden.
Abbildung der Rechenschritte auf die Komponenten des VGR- ASICS:
Die Abbildung der Rechenschritte auf die Komponenten des VGR- ASICs soll hier anhand des 3D-Gridding mit schrittweiser Ge­ wichteinterpolation dargestellt werden. Die Abbildung der Re­ chenschritte des 3D-Pre-Griddings läßt sich daraus wie folgt ableiten:
Die Rechenschritte <B1.< bis <B18.< entsprechen den Rechen­ schritten <D1.< bis <D18.< mit der jeweils gleichen Ziffer.
Der Rechenschritt <B19.< entspricht dem Rechenschritt <D26.<
Der Rechenschritt <B20.< entspricht dem Rechenschritt <D30.<
Der Rechenschritt <B21.< entspricht dem Rechenschritt <D32.<
Der Rechenschritt <B22.< entspricht dem Rechenschritt <D34.<
Der Rechenschritt <B23.< entspricht dem Rechenschritt <D36.<.
Auf dem Bus C ist gemäß dem Rechenschritt <D19.< eine Anzahl von NX . NY . NZ Zugriffen notwendig. Die Zugriffe auf dem Bus C können parallel zu den Zugriffen auf dem Bus B erfolgen.
Um die Anzahl der Zugriffe auf dem Bus B möglichst gering zu halten, wird über den Bus B parallel auf Real- und Imaginärteil des kartesischen Frequenzkubus zugegriffen.
Auf dem Bus B sind somit zur Bearbeitung einer Stützstelle SP insgesamt 2 . NX . NY . NZ Zugriffe notwendig. Diese setzen sich wie folgt zusammen:
  • a) Rechenschritt <D26.< und <D27.< parallel: 2 . NX . NY . NZ Zu­ griffe,
  • b) Rechenschritt <D36.< und <D37.< parallel: 2 . NX . NY . NZ Zu­ griffe.
Die Fig. 5 zeigt eine Darstellung der Funktionsblöcke des VGR- ASICs mit ausgewählten Datenpfaden. Die Rechenelemente (siehe Fig. 5) des VGR-ASICs werden in der Verarbeitungsleistung so ausgelegt, daß sämtliche Rechenschritte hinter den 2 . NX . NY . NZ Zugriffen auf dem Bus B versteckt werden.
Die Anzahl der Zugriffe auf dem Bus B bestimmt somit die Ver­ arbeitungsleistung des VGR-ASICs. Geht man davon aus, daß jeder Zugriff auf dem Bus B die Dauer eines Rechentaktes besitzt, hat das VGR-ASIC eine Verarbeitungsleistung von 2 . NX . NY . NZ Rechen­ takten zur Bearbeitung eines Stützwertes SP.
Im folgenden wird eine mögliche Aufteilung der Rechenschritte <D1.< bis <D37.< auf die in Fig. 5 dargestellten Funktions­ blöcke dargestellt. Dabei ist jeweils die Auslastung des Funk­ tionsblockes zur Bearbeitung einer Stützstelle SP in Form von Rechentakten angegeben.
Addierer AADD:
+ 1 Subtraktion von Rechenschritt <D1.<: 1 Rechentakt
+ 1 Subtraktion von Rechenschritt <D2.<: 1 Rechentakt
+ 1 Subtraktion von Rechenschritt <D3.<: 1 Rechentakt
+ 1 Subtraktion von Rechenschritt <D4.<: 1 Rechentakt
+ 1 Subtraktion von Rechenschritt <D5.<: 1 Rechentakt
+ 1 Subtraktion von Rechenschritt <D6.<: 1 Rechentakt
+ NX-1 Additionen von Rechenschritt <D7.<: NX-1 Rechentakte
+ NY-1 Additionen von Rechenschritt <D8.<: NY-1 Rechentakte
+ NZ-1 Additionen von Rechenschritt <D9.<: NZ-1 Rechentakte
+ NX Additionen von Rechenschritt <D13.<: NX Rechentakte
+ NY Additionen von Rechenschritt <D14.<: NY Rechentakte
+ NZ Additionen von Rechenschritt <D15.<: NZ Rechentakte
Anzahl von Rechentakten von Addierer AADD insgesamt:
2 . (NX+NY+NZ) + 3
Spezialarithmetik S:
+ 1 Rundung von Rechenschritt <D1.<: 1 Rechentakt
+ 1 Rundung von Rechenschritt <D2.<: 1 Rechentakt
+ 1 Rundung von Rechenschritt <D3.<: 1 Rechentakt
+ 1 Rundung von Rechenschritt <D7.<: 1 Rechentakt
+ 1 Rundung von Rechenschritt <D8.<: 1 Rechentakt
+ 1 Rundung von Rechenschritt <D9.<: 1 Rechentakt
+ 1 Multiplikation von Rechenschritt <D7.<: 1 Rechentakt
+ 1 Multiplikation von Rechenschritt <D8.<: 1 Rechentakt
+ 1 Multiplikation von Rechenschritt <D9.<: 1 Rechentakt
+ NX Modulo-Rechnungen von Rechenschritt <D16.<: NX Rechen­ takte
+ NY Modulo-Rechnungen von Rechenschritt <D17.<: NY Rechen­ takte
+ NZ Modulo-Rechnungen von Rechenschritt <D18.<: NY Rechen­ takte
+ 1 Multiplikation von Rechenschritt <D24.<: 1 Rechentakt
+ 1 Multiplikation von Rechenschritt <D25.<: 1 Rechentakt Anzahl von Rechentakten von Spezialarithmetik S insgesamt:
NX+NY+NZ + 11
Zugriff auf Interpolationstabellen INTTABL, INTTABK und INT- TABM:
+ NX Zugriffe von Rechenschritt <D10.<: NX Rechentakte
+ NY Zugriffe von Rechenschritt <D11.<: NY Rechentakte
+ NZ Zugriffe von Rechenschritt <D12.<: NZ Rechentakte
Anzahl von Rechentakten beim Zugriff auf die Interpolati­ onstabellen INTTABL, INTTABK und INTTABM insgesamt:
NX+NY+NZ
Multiplizierer MR:
+ NX Multiplikationen von Rechenschritt <D28.<: NX Rechen­ takte
+ NX . NY Multiplikationen von Rechenschritt <D30.<: NX . NY Re­ chentakte
+ NX . NY . NZ Multiplikationen von Rechenschritt <D32.<:
NX . NY . NZ Rechentakte
Anzahl von Rechentakten von Multiplizierer MR insgesamt:
NX + NX . NY + NX . NY . NZ
Multiplizierer MI:
+ NX Multiplikationen von Rechenschritt <D29.<: NX Rechen­ takte
+ NX . NY Multiplikationen von Rechenschritt <D31.<: NX . NY Re­ chentakte
+ NX . NY . NZ Multiplikationen von Rechenschritt <D33.<:
NX . NY . NZ Rechentakte
Anzahl von Rechentakten von Multiplizierer MI insgesamt:
NX + NX . NY + NX . NY . NZ
Addierer AR:
+ NX . NY . NZ Additionen von Rechenschritt <D34.<: NX . NY . NZ Re­ chentakte
Addierer AT:
+ NX . NY . NZ Additionen von Rechenschritt <D35.<: NX . NY . NZ Re­ chentakte
Multiplizierer IMUL:
+ NX . NY Multiplikationen von Rechenschritt <D20.<: NX . NY Re­ chentakte
+ NX . NY . NZ Multiplikationen von Rechenschritt <D21.<:
NX . NY . NZ Rechentakte
Anzahl von Rechentakten von Multiplizierer IMUL insgesamt:
NX . NY + NX . NY . NZ
Operator Op (kann eventuell entfallen, siehe Rechenschritt <D22.<):
NX . NY . NZ Operationen von Rechenschritt <D22.<: NX . NY . NZ Rechentakte
Multiplizierer GMUL:
NX . NY . NZ Multiplikationen von Rechenschritt <D23.<:
NX . NY . NZ Rechentakte
Addierer GADD:
NX . NY . NZ-1 Additionen von Rechenschritt <D23.<: NX . NY . NZ-1 Rechentakte.
Wie die Auslastung der einzelnen Funktionsblöcke für die Bear­ beitung von einer Stützstelle SP zeigt, ist im für die Praxis wichtigen Fall von NX<=2 und NY<=2 und NZ<=2 die Auslastung aller Funktionsblöcke kleiner als der Wert 2 . NX . NY . NZ, der sich durch die Rechentakte beim Zugriff auf den Bus B ergibt. Somit lassen sich alle Rechenschritte durch geeignete Verzahnung hin­ ter dem Zugriff auf den kartesischen Frequenzkubus verstecken. Es ergibt sich als Verarbeitungsleistung des VGR-ASICS die Dau­ er von 2 . NX . NY . NZ Rechentakten zur Bearbeitung einer Stütz­ stelle SP.
Das Steuerwerk SW
steuert die Schnittstellen des VGR-ASICs,
steuert den Ablauf der Berechnungen auf den Funktionsblöcken,
und übernimmt die Adreßgenerierung.
Die Architektur des in Fig. 5 dargestellten VGR-ASICs ist so ausgelegt, daß alle Berechnungen des VGR-ASICs hinter den Zu­ griffen auf den Speicher SKART versteckt werden können. Die Zu­ griffsbandbreite des VGR-ASICs auf den Speicher SKART des kar­ tesischen Frequenzkubus bestimmt somit die Verarbeitungslei­ stung des VGR-ASICs.
Die maximale Zugriffsbandbreite des VGR-ASICs auf den kartesi­ schen Frequenzkubus im Speicher SKART wird dann erreicht, wenn das VGR-ASIC das alleinige Zugriffsrecht auf den Speicher SKART besitzt. Dadurch werden die zeitaufwendigen unteilbaren Read- Modify-Write-Zugriffe und die notwendige Arbitrierung beim Zu­ griff auf den Speicher SKART umgangen, die sich beim Zugriff von mehreren Teilnehmern auf die Speicher SKART ergeben würden. Dies stellt einen wesentlichen Vorteil der Verwendung eines VGR-ASICs entsprechend Anspruch 2 gegenüber einer Realisierung des 3D-Gridding-Algorithmus mit einem Multiprozessor-System dar, bei dem sich mehrere Prozessoren das Zugriffsrecht auf den kartesischen Frequenzkubus im Speicher SKART teilen müßten. Wenn mehrere Teilnehmer Zugriff auf den Speicher SKART haben, nimmt die Zugriffsbandbreite auf den Speicher SKART wegen Ar­ bitrierungsaufwand ab.
Die zu bearbeitenden Stützstellen SP können bei der Gewichte­ interpolation und beim 3D-Gridding auf NE Einheiten En mit n=1 bis n=NE von VGR-ASICs Gn (laut Anspruch 2) mit zugehörigen Speichern SKART Sn und SKARTG SGn aufgeteilt werden.
Die Gewichteinterpolation und das 3D-Gridding kann somit auf den NE Einheiten En parallel abgearbeitet werden. Sobald die Gewichteinterpolation und das 3D-Gridding auf allen NE Einhei­ ten En abgeschlossen ist, kann der Zugriff von den VGR-ASICs Gn auf die Speicher Sn weggenommen werden. Dann kann einer an­ deren Additionseinheit ADD_S der Zugriff auf die Speicher Sn erteilt werden, die die kartesischen Frequenzkuben aller NE Speicher Sn addiert. Das Ergebnis dieser Addition ist der kar­ tesische Frequenzkubus, der durch Berücksichtigung von allen zu bearbeitenden Stützstellen SP entsteht.
Die Durchführung des 3D-Pre-Gridding wird in diesem Fall von der Einheit E1 mit allen zu bearbeitenden Stützstellen SP durchgeführt. Die in der Einheit E1 erhaltene kartesische Ge­ wichtematrix muß dann jedoch vom Speicher SKARTG SG1 vor der Durchführung der Gewichteinterpolation und des 3D-Gridding in die Speicher SKARTG SG2 bis SGNE der Einheiten E2 bis ENE ko­ piert werden.

Claims (5)

1. Verfahren zur Gewichtung von random-verteilten Stütz­ stellen SP im Frequenzraum, um einen 3D-Gridding-Algorithmus für eine dreidimensionale Fourier-Rekonstruktion für einen Computertomographen anwenden zu können mit folgenden Schrit­ ten:
  • A) 3D-Pre-Gridding-Prozeß:
    • a) Durchführung des 3D-Pre-Gridding-Prozesses, wobei für alle Stützstellen SP anstelle des tatsächlichen Funk­ tionswertes der Funktionswert 1.0 hergenommen wird, so daß das Ergebnis ein reeller Gewichtekubus FMG in ei­ nem kartesischen Raster ist, bei dem die Funktionswer­ te die Verteilungsinhomogenitäten der Stützstellen SP beschreiben.
    • b) Bei diesem 3D-Pre-Gridding-Algorithmus trägt wie beim 3D-Gridding-Algorithmus jeder Punkt zu NX . NY . NZ Punk­ ten KR des kartesischen Gitters des kartesischen Ge­ wichtekubus FMG bei.
    • c) Für das 3D-Pre-Gridding werden wie beim 3D-Gridding die Interpolationstabellen INTTABL (x), INTTABK (y) und INTTABM(z) verwendet, wobei x, y und z den Abstand zwi­ schen einem kartesischen Rasterpunkt KR und der Stütz­ stelle SP darstellen.
  • B) Gewichteinterpolation:
    • a) Das Gewicht GEW für eine Stützstelle SP wird aus den NX . NY . NZ Punkten KRG des Gewichtekubus FMG ermittelt, die im dreidimensionalen Interpolationsfenster des 3D- Gridding-Prozesses liegen.
    • b) Die Funktionswerte FKRG der Punkte KRG werden dazu durch eine Bewertungsfunktion BF in Funktionswerte FKRGK umgewandelt, wobei die Bewertungsfunktion BF da­ bei im wesentlichen eine Kehrwertbildung mit geeigne­ ter Begrenzung der Ausgangswerte leistet.
    • c) Das Gewicht GEW wird aus den Funktionswerten FKRGK der Punkte KRG wie folgt bestimmt:
      Jeder Funktionswert FKRGK der Punkte KRG wird mit den entsprechenden Interpolationsgewichten INT- TABL(x) . INTTABK(y) . INTTABM(z) multipliziert, und die Ergebnisse werden aufaddiert.
      Das Endergebnis ist das Gewicht GEW x, y und z stellen den Abstand zwischen dem jeweiligen kartesischen Ra­ sterpunkt der Punkte KRG und der Stützstelle SP dar.
2. Computertomograph zur Durchführung des Verfahrens nach Anspruch 1, mit einem Rechner (6) zur Rekonstruktion eines Bil­ des aus den Meßdaten nach einer dreidimensionalen Fourier-Re­ konstruktionsmethode, bei dem ein spezielles Rechenwerk (VGR- ASIC) zur Bearbeitung des dreidimensionalen Gridding-Algorith­ mus gemäß A vorgesehen ist, das die Zuschlagsbildung der von den nicht im kartesischen Raster liegenden, random-verteilten Stützstellen SP herrührenden Beiträge auf den kartesischen Frequenzkubus bewirkt.
3. Computertomograph nach Anspruch 2, bei dem die Schnittstellen des VGR-ASICs sind:
  • A) Eingangsdatenbus A und zugehöriger Adreßbus ADR_A zur Übergabe von folgenden Daten an das VGR-ASIC:
    • a) Betriebsmodus (3D-Pre-Gridding oder 3D-Gridding mit schrittweiser Gewichteinterpolation) während der Initialisierungsphase,
    • b) Parametrierwerte, die zur Durchführung des dreidimen­ sionalen Gridding-Algorithmus durch das VGR-ASIC benö­ tigt werden,
    • c) Funktionswerte der Stützwerte SP, deren Beitrag auf den kartesischen Frequenzkubus durch den dreidimensio­ nalen Gridding-Algorithmus bestimmt werden soll, und
    • d) kartesische Koordinaten der i.a. nicht im kartesischen Raster liegenden Stützwerte SP oder von Aufsetzwerten zur selbständigen Generierung der kartesischen Koordi­ naten der Stützwerte SP durch das VGR-ASIC.
  • B) Bidirektionaler Datenbus B und zugehöriger Adreßbus ADR_B. Diese dienen zur Zuschlagsbildung der von den Stützstellen SP herrührenden Beiträge entsprechend Anspruch 2 auf den kartesischen Frequenzkubus.
  • C) Bidirektionaler Datenbus C und zugehöriger Adreßbus ADR_C. Diese dienen zur Zuschlagsbildung der von den Stützstellen SP herrührenden Beiträge entsprechend Anspruch 2 auf den kartesischen Gewichtekubus in einem Speicher SKARTG und zur Ge­ wichteinterpolation gemäß Anspruch 1 aus den Daten des kar­ tesischen Gewichtekubus im Speicher SKARTG.
4. Computertomograph nach Anspruch 3, bei dem sich der kartesische Frequenzkubus im Speicher SKART be­ findet, der an das VGR-ASIC über den Datenbus B und den Adreß­ bus ADR_B angeschlossen ist, wobei die im VGR-ASIC vorhandenen Rechenwerke so ausgelegt sind, daß alle Berechnungen, die das VGR-ASIC vornehmen muß, hinter den Zugriffen auf den Speicher SKART versteckt werden können und die Rechenleistung des VGR- ASICs so ausgelegt ist, daß die maximale Zugriffsbandbreite auf den Speicher SKART genutzt werden kann.
5. Computertomograph nach Anspruch 2, bei dem das Rechen­ werk aus einer parallelen Anordnung von mehreren VGR-ASICs mit jeweils zugehörigen Speichern SKART und SKARTG besteht, so daß durch Aufteilung der Stützstellen SP auf die VGR-ASICs die Zu­ schlagsbildung der von den Stützstellen SP herrührenden Bei­ träge auf den kartesischen Frequenzkubus durch parallele Abarbeitung beschleunigt werden kann.
DE19617162A 1996-04-29 1996-04-29 Verfahren zur Anwendung eines 3D-Gridding-Prozesses in einem Computertomographen sowie Computertomograph zur Durchführung des Verfahrens Expired - Fee Related DE19617162C2 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE19617162A DE19617162C2 (de) 1996-04-29 1996-04-29 Verfahren zur Anwendung eines 3D-Gridding-Prozesses in einem Computertomographen sowie Computertomograph zur Durchführung des Verfahrens
US08/840,870 US5781605A (en) 1996-04-29 1997-04-17 Image reconstruction method and arithmetic unit for a computed tomography apparatus
JP9111324A JPH1043176A (ja) 1996-04-29 1997-04-28 周波数空間の中のランダム分布支持点の重み付け方法及び該重み付け方法を実施したコンピュータ断層撮影装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19617162A DE19617162C2 (de) 1996-04-29 1996-04-29 Verfahren zur Anwendung eines 3D-Gridding-Prozesses in einem Computertomographen sowie Computertomograph zur Durchführung des Verfahrens

Publications (2)

Publication Number Publication Date
DE19617162A1 DE19617162A1 (de) 1997-11-06
DE19617162C2 true DE19617162C2 (de) 1998-04-16

Family

ID=7792816

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19617162A Expired - Fee Related DE19617162C2 (de) 1996-04-29 1996-04-29 Verfahren zur Anwendung eines 3D-Gridding-Prozesses in einem Computertomographen sowie Computertomograph zur Durchführung des Verfahrens

Country Status (3)

Country Link
US (1) US5781605A (de)
JP (1) JPH1043176A (de)
DE (1) DE19617162C2 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6947784B2 (en) * 2000-04-07 2005-09-20 The General Hospital Corporation System for digital bowel subtraction and polyp detection and related techniques
US8233690B2 (en) * 2008-04-30 2012-07-31 Real-Time Tomography, Llc Dynamic tomographic image reconstruction and rendering on-demand
US9091628B2 (en) 2012-12-21 2015-07-28 L-3 Communications Security And Detection Systems, Inc. 3D mapping with two orthogonal imaging views
WO2014145452A1 (en) 2013-03-15 2014-09-18 Real Time Tomography, Llc Enhancements for displaying and viewing tomosynthesis images

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19538053A1 (de) * 1995-10-12 1997-04-17 Siemens Ag Computertomograph

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3342353A1 (de) * 1983-11-23 1985-05-30 Siemens AG, 1000 Berlin und 8000 München Verfahren zum betrieb eines computertomographen
US5701360A (en) * 1993-05-07 1997-12-23 Siemens Aktiengesellschaft Fourier reconstruction of computer tomography images which represent a selectable region of the examination subject
DE4413689C1 (de) * 1994-04-20 1995-06-08 Siemens Ag Röntgencomputertomograph

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19538053A1 (de) * 1995-10-12 1997-04-17 Siemens Ag Computertomograph

Also Published As

Publication number Publication date
US5781605A (en) 1998-07-14
DE19617162A1 (de) 1997-11-06
JPH1043176A (ja) 1998-02-17

Similar Documents

Publication Publication Date Title
DE69128341T2 (de) Parallel-verarbeitungsverfahren und -vorrichtung zur algebraischen rekonstruktion einer dreidimensionalen computertomographie
DE69631225T2 (de) Bildrekonstruktion von spiralabgetasteten Teilkegelstrahldaten
DE69918596T2 (de) Computertomograph mit iterativer Rekonstruktion
DE69708892T2 (de) Dreidimensionales bildrekonstruktionsverfahren, vorzugsweise eines dreidimensionalen angiographischen bildes
DE69032932T2 (de) System und Verfahren zum unverfälschten Polygonenzeichnen
DE2804732C2 (de) Medizinisches Untersuchungsgerät
EP1251462B1 (de) Verfahren zum Segmentieren einer in einem Objekt enthaltenen dreidimensionalen Struktur, insbesondere für die medizinische Bildanalyse
DE2654065C2 (de)
DE69720229T2 (de) Eine computertomographische methode und ein computertomograph
DE3918354A1 (de) Verfahren zum verkuerzen der bild-rekonstruktionszeit bei der computer-tomographie mit begrenztem winkel
DE2804157A1 (de) Verfahren und vorrichtung fuer die tomographie
EP0829822A2 (de) Verfahren zur Anzeige von geometrischen Objektoberflächen
EP3340178B1 (de) Berechnen eines vierdimensionalen dsa-datensatzes mit variabler räumlicher auflösung
DE102005051620A1 (de) Verfahren zur Rekonstruktion einer tomographischen Darstellung eines Objektes
DE3486321T2 (de) Verfahren und Gerät zur Emissionsrekonstruktion mit Dämpfungskompensation.
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
DE69129734T2 (de) Verfahren und Vorrichtung zur Bilderzeugung eines Objektes mit zwei Erfassungskreisbahnen
EP3591611B1 (de) Bestimmen eines differenzbilddatensatzes eines untersuchungsvolumens
DE19617162C2 (de) Verfahren zur Anwendung eines 3D-Gridding-Prozesses in einem Computertomographen sowie Computertomograph zur Durchführung des Verfahrens
EP1356432A1 (de) Verfahren und vorrichtung zur bildrekonstruktion eines raumvolumens
DE10252661A1 (de) Exaktes Computertomographie-Verfahren und Computertomograph
DE19616199A1 (de) Rechenwerk für einen Computertomographen
EP0947958A2 (de) Verfahren und Anordnung der medizinischen Bilddatenverarbeitung
Kerr et al. Medical image processing utilizing neural networks trained on a massively parallel computer
EP4198902B1 (de) Verfahren und system zur bewegungskompensation bei der ct-rekonstruktion

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee