DE102004027945A1 - Data storage method and data storage structure - Google Patents

Data storage method and data storage structure Download PDF

Info

Publication number
DE102004027945A1
DE102004027945A1 DE200410027945 DE102004027945A DE102004027945A1 DE 102004027945 A1 DE102004027945 A1 DE 102004027945A1 DE 200410027945 DE200410027945 DE 200410027945 DE 102004027945 A DE102004027945 A DE 102004027945A DE 102004027945 A1 DE102004027945 A1 DE 102004027945A1
Authority
DE
Germany
Prior art keywords
data
array
storage medium
sorting
groups
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.)
Ceased
Application number
DE200410027945
Other languages
German (de)
Inventor
Bartosz Von Rymon-Lipinski
Erwin Keeve
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.)
Stiftung Caesar Center of Advanced European Studies and Research
Original Assignee
Stiftung Caesar Center of Advanced European Studies and Research
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 Stiftung Caesar Center of Advanced European Studies and Research filed Critical Stiftung Caesar Center of Advanced European Studies and Research
Priority to DE200410027945 priority Critical patent/DE102004027945A1/en
Priority to PCT/EP2005/052599 priority patent/WO2005122097A1/en
Publication of DE102004027945A1 publication Critical patent/DE102004027945A1/en
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/32Image data format

Abstract

Ein Speicherverfahren, das insbesondere zur zugriffsschnellen Speicherung von Volumen-Bilddaten geeignet ist, weist die folgenden Schritte auf: DOLLAR A Zusammenfassen mehrerer Daten zu einer Gruppe (54), DOLLAR A Festlegen von mindestens zwei Sortierungskriterien, DOLLAR A Bestimmen der Sortierungswerte je Gruppe (54) in Abhängigkeit der Sortierungskriterien und DOLLAR A Einsortieren der Gruppen (45) in ein zumindest zweidimensionales Array mit einem Basisarray (44), wobei jedem Feld (46) des Basisarrays (44) ein Spannenarray (48) zugeordnet ist.A storage method that is particularly suitable for the access-fast storage of volume image data comprises the following steps: DOLLAR A Combining several data into a group (54), DOLLAR A Specifying at least two sorting criteria, DOLLAR A Determining the sorting values per group (54 ) according to the sorting criteria and DOLLAR A sorting the groups (45) into an at least two-dimensional array with a base array (44), wherein each field (46) of the base array (44) is associated with a span array (48).

Description

Die Erfindung betrifft ein Datenspeicherverfahren sowie eine Datenspeicherstruktur. Insbesondere betrifft die Erfindung ein Verfahren zur Darstellung von Oberflächen, insbesondere Isooberflächen, unter Verwendung des Datenspeicherverfahrens.The The invention relates to a data storage method and a data storage structure. In particular, the invention relates to a method for presentation of surfaces, especially iso-surfaces, below Use of the data storage method.

Beispielsweise bei der Erzeugung von Bilddaten, insbesondere volumetrischen Datensätzen, werden auf Grund der hohen Auflösung eine Vielzahl von Datensätzen erzeugt. Zur Verarbeitung der Datensätze, beispielsweise zur Visualisierung von Teilen des Bildes, ist es erforderlich, die Datensätze zu strukturieren. Dies ist insbesondere dann erforderlich, wenn in kurzer zeitlicher Abfolge aus den Datensätzen beispielsweise unterschiedliche Darstellungen und dgl. erzeugt werden sollen. Insbesondere wenn die Datensätze vom Benutzer interaktiv genutzt werden sollen, ist eine Datenstruktur erfoderlich, die einen schnellen Zugriff auf die gewünschten Daten ermöglicht. Beispielsweise ist es bei insbesondere in der Medizin eingesetzten CT- oder MR-Aufnahmeverfahren erforderlich, volumetrische Datensätze mit einem großen Datenumfang zu handhaben.For example in the generation of image data, in particular volumetric data sets due to the high resolution a variety of records generated. For processing the data records, for example for visualization of parts of the image, it is necessary to structure the records. This is especially necessary if in a short time Sequence from the records For example, different representations and the like. Generated should. Especially if the records are interactive by the user is to be used, a data structure is required, the one quick access to the desired Data allows. For example, it is used in particular in medicine CT or MR acquisition procedure required, volumetric data sets with one huge To handle the scope of data.

Ein Verfahren zur Darstellung von Isooberflächen von festen Körpern ist beispielweise in US 4,710,876 beschreiben. Hierin ist ein Verfahren beschrieben, das sich der Iso-oberfläche durch Polygone annähert. Hierbei handelt es sich um ein äußerst rechenintensives Verfahren, so dass beispielsweise ein interaktives Wechseln zwischen einzelnen Isooberflächen durch einen Arzt nicht möglich ist. Hierbei wird unter Isooberfläche eine Oberfläche verstanden, bei der die einzelnen Bildpunkte einen konstanten Intensitätswert annehmen. Eine derartige Isooberfläche ist beispielsweise die Oberfläche des Knochens. Das in US 4,710,876 beschriebene Verfahren ist somit zur einmaligen Generierung von Oberflächen, jedoch nicht zur interaktiven Exploration geeignet. Dies ist insbesondere dann der Fall, wenn hoch auflösende Daten und somit große Datenmengen verarbeitet werden müssen.A method of preparing iso-surfaces of solid bodies is exemplified in US 4,710,876 describe. Herein is described a method which approximates the iso-surface by polygons. This is a very compute-intensive process, so that, for example, an interactive switching between individual iso-surfaces by a doctor is not possible. In this case, an iso-surface is understood to mean a surface in which the individual pixels assume a constant intensity value. Such an iso-surface is, for example, the surface of the bone. This in US 4,710,876 described method is thus suitable for the unique generation of surfaces, but not for interactive exploration. This is especially the case when high-resolution data and thus large amounts of data have to be processed.

Das Verarbeiten großer Datenmengen stellt auch in anderen Bereichen der Bildverarbeitung ein großes Problem dar.The Process great Data sets also presents in other areas of image processing a big Problem.

Aufgabe der Erfindung ist es, ein Datenspeicherverfahren sowie eine Datenspeicherstruktur zu schaffen, mit dem, bzw. mit der die Handhabung großer Datenmengen, insbesondere das interaktive Handhaben der Datenmengen möglich ist.task The invention is a data storage method and a data storage structure with, or with the handling of large amounts of data, In particular, the interactive handling of the data sets is possible.

Die Lösung der Aufgabe erfolgt erfindungsgemäß durch ein Datenspeicherverfahren gemäß Anspruch 1 sowie durch eine Datenspeicherstruktur gemäß Anspruch 14.The solution The object is achieved according to the invention by a data storage method according to claim 1 and by a data storage structure according to claim 14.

Bei dem Datenspeicherverfahren, das insbesondere zur zugriffsschnellen Speicherung von Volumen-Bilddaten geeignet ist, werden in einem ersten Schritt mehrere Daten zu einer Gruppe zusammengefasst. Bei einer Gruppe handelt es sich beispielsweise bei Volumen-Bilddaten um acht benachbarte Bildpunkte, die beispielsweise eine Art Würfelzelle darstellen. Unter Volumen-Bilddaten werden hierbei auch Daten verstanden, die aus entsprechenden Bilddaten extrahiert werden. Es muss sich bei den Volumen-Bilddaten somit nicht um die Volumen-Bilddaten selbst handeln, sondern kann es sich auch um hieraus erhaltenen Daten handeln, dis sodann zu einer Gruppe zusammengefasst werden. Anschließend werden für die Gruppen mindestens zwei Sortierungskriterien festgelegt. Bei Volumen-Bilddaten kann als Einsortierungskriterium beispielsweise ein Minimalwert der einzelnen in einer Gruppe zusammengefassten Bildpunkte festgelegt werden. Als zweites Sortierungskriterium kann beispielsweise die Wertespanne, d. h. der Wert zwischen dem Minimalwert und dem Maximalwert innerhalb einer Bildgruppe festgelegt werden. Hierbei wird insbesondere die Intensität der einzelnen Bildpunkte berücksichtigt. Alternativ oder auch als drittes Sortierungskriterium könnte ein mittlerer Intensitätswert der in einer Gruppe zusammengefassten Bildpunkte ermittelt werden.at the data storage method, in particular for fast access Storage of volume image data is suitable in one first step, multiple data grouped together. at For example, a group is volume image data by eight adjacent pixels, for example, represent a kind cubes cell. Under volume image data In this case, data is also understood that consists of corresponding image data be extracted. It must be with the volume image data thus not to handle the volume image data itself, but it can be also to data obtained therefrom dis then grouped together become. Subsequently be for the groups set at least two sorting criteria. at Volume image data can be used as a sorting criterion, for example a minimum value of the individual grouped together Pixels are set. As a second sorting criterion can for example, the range of values, d. H. the value between the minimum value and the maximum value within a picture group. In this case, in particular, the intensity of the individual pixels considered. Alternatively or as a third sorting criterion could be mean intensity value the pixels grouped in a group are determined.

Anschließend werden in Abhängigkeit der festgelegten Sortierungskriterien die Sortierungswerte je Gruppe bestimmt. In vorstehendem Beispiel bedeutet dies, dass je Gruppe beispielsweise als erstes Sortierungskriterium der Minimalwert und als zweites Sortierungskriterium die Wertspanne festgelegt wird. Erfindungsgemäß werden nun die einzelnen Gruppen an Hand der bestimmten Sortierungswerte in ein mindestens zweidimensionales Array einsortiert. Werden beispielsweise drei Sortierungskriterien festgelegt, so kann ein dreidimensionales Array usw. festgelegt werden.Then be dependent on the sorting criteria set, the sorting values per group certainly. In the example above, this means that per group For example, as the first sorting criterion, the minimum value and the value range is defined as the second sorting criterion. According to the invention now the individual groups based on the specific sorting values sorted into an at least two-dimensional array. For example set three sort criteria, so can be a three-dimensional Array, etc. are set.

Erfindungsgemäß weist das mindestens zweidimensionale Array ein Basisarray und ein Spannenarray sowie ggf. weitere Arrays auf. Hierbei weist sowohl das Basisarray als auch das Spannenarray mehrere Felder auf. Erfindungsgemäß ist das zweidimensionale Array derart aufgebaut, dass jedem Feld des Basisarrays ein Spannenarray zugeordnet ist. Es ist somit möglich, jede einzelne Gruppe an Hand der Sortierungswerte auf einfache Weise in ein bestimmtes Feld des Spannenarrays einzuordnen. Beispielsweise sind den Feldern des Basisarrays die Minimalwerte und den Feldern der Spannenarrays die Wertespannen zugeordnet. Durch den Minimalwert einer Gruppe wird somit über das Basisarray festgelegt, in welches Spannenarray die Gruppe einzusortieren ist. Die Wertespanne legt dann fest, in welches Feld dieses speziellen Spannenarrays die Gruppe einsortiert wird. Bei dieser Sortierung können in einem Feld des Spannenarrays auch mehrere Gruppen angeordnet sein. Diese Gruppen sind jedoch beispielsweise aus unterschiedlichen Bereichen der Volumen-Bilddaten.According to the invention, the at least two-dimensional array has a base array and a span array and optionally further arrays. In this case, both the base array and the span array has several fields. According to the invention, the two-dimensional array is constructed in such a way that a span array is assigned to each field of the base array. It is thus possible to easily classify each individual group into a specific field of the span array on the basis of the sorting values. For example, the fields of the basic array are assigned the minimum values and the fields of the span arrays the value ranges. The minimum value of a group thus determines via the basic array into which span array the group is to be sorted. The value range then determines in which field of this special span array the group is sorted. In this sorting can also be several in one field of the span array Be arranged groups. However, these groups are for example from different areas of the volume image data.

Ggf. erfolgt eine unmittelbare Einsortierung der einzelnen Gruppen in die Felder des Spannenarrays. Beispielsweise ist es auch möglich, die einzelnen Gruppen in ein Gruppeninformations-Array, bei dem es sich insbesondere um eine linerarisiertes Array handeln kann, einzusortieren und über Verweise bzw. Zeiger mit dem Spannenarray zu verknüpfen.Possibly. there is an immediate sorting of the individual groups in the fields of the span array. For example, it is also possible that individual groups into a group information array that is itself in particular, may be a linearized array sort and over Link references or pointers to the span array.

Mit Hilfe des erfindungemäßen Datenspeicherverfahrens werden erfindungsgemäß die einzelnen Gruppen eindeutig einzelnen Feldern des Spannenarrays zugeordnet. Dies ermöglicht einen schnellen Zugriff auf einzelne Datengruppen.With Assistance of the inventive data storage method According to the invention, the individual Groups are clearly assigned to individual fields of the span array. this makes possible fast access to individual data groups.

Vorzugsweise werden die in das Spannenarray einsortierten Gruppen in ein Gruppeninformations-Array übergeführt und über Verweise bzw. Zeiger mit den einzelnen Feldern des Spannenarrays verknüpft. Um die Auslesbarkeit der Daten bzw. der Gruppen weiter zu verbessern, werden die Gruppeninformations-Arrays, sobald sämtliche Gruppen in das mindestens zweidimensionale Array einsortiert sind, vorzugsweise lineararisiert. Hierbei wird unter lineararisiert verstanden, dass alle Gruppen eines Spannenarrays innerhalb des Gruppeninformations-Arrays in einer Reihe angeordnet werden. Dies hat den Vorteil, dass ein lineares Array erzeugt ist, unabhängig davon, ob in einem Feld eine, mehrere oder auch keine Datengruppe einsortiert wurde. Um weiterhin einen schnellen und definierten Zugriff auf einzelne Gruppen zu ermöglichen, sind in dem linearisierten Array jeweils die ersten Gruppen eines Feldes markiert, d. h. beispielsweise über einen Zeiger mit dem Spannenarray verknüpft. Hierdurch ist es möglich, auf einfache Weise beispielweise sämtliche Gruppen, die ab einem bestimmten Feld in ein bestimmtes Spannenarray einsortiert sind, schnell aus dem Gruppeninformations-Array auszulesen. Sollen beispielsweise Datengruppen mit einem Minimalwert a und einer Wertespanne ≥ b ausgelesen werden, ist es lediglich erforderlich, in der Datenstruktur das Feld a des Basisarrays anzuwählen und sodann in dem diesem Basisfeld zugeordneten Spannenarray die erste Gruppe auszuwählen, deren Wertespanne ≥ b ist. Auf Grund der Linearisierung des Einsortierungsverfahrens ist es bekannt, dass sämtliche in dem linearisierten Gruppeninformations-Array nachfolgenden Gruppen ebenfalls eine Wertespane ≥ b aufweisen. Dies muss beim Aussortieren bzw. Abrufen der Daten somit nicht mehr überprüft werden.Preferably The groups sorted into the span array are transformed into a group information array and referenced or pointer linked to the individual fields of the span array. Around to further improve the readability of the data or of the groups, The group information arrays, once all groups in the at least two-dimensional array sorted, preferably linearized. By linearized it is meant that all groups a span array within the group information array in FIG be arranged in a row. This has the advantage of being a linear Array is generated, independent whether in a field one, several or no data group was sorted. To continue a fast and defined To allow access to individual groups are in the linearized Array each marked the first groups of a field, d. H. for example, via a Pointer linked to the span array. This makes it possible to simple way, for example, all groups, which sorts from a certain field into a specific span array are quick to read out of the group information array. For example Data groups are read out with a minimum value a and a value span ≥ b it is only necessary in the data structure that Select field a of the basic array and then in the span array associated with that base field, the first one Select group whose value span is ≥ b. Because of the linearization of the sorting process, it is known that all in the linearized group information array subsequent groups also a value span ≥ b exhibit. This must be done when sorting or retrieving the data no longer be checked.

Vorzugsweise wird zur Reduzierung der Datenmenge vor dem Einsortieren der Gruppen in die Felder der Arrays eine Vorauswahl der Daten durchgeführt. Handelt es sich beispielsweise bei den Daten um Volumen-Bilddaten aus denen Isooberflächen, insbesondere interaktiv erzeugt werden sollen, kann als Vorauswahl ein Isobereich festgelegt werden. Es werden somit nur diejenigen Gruppen einsortiert, deren einzelne Bildpunkte beispielsweise größer als ein vorgegebener Isowert bzw. Intensitätswert sind. Ferner kann eine Obergrenze festgelegt werden. Dies ist beispielsweise dann sinnvoll, wenn ein Arzt die Oberfläche eines Knochens aus den volumetrischen Daten extrahieren möchte. Hierbei ist dem Arzt beispielsweise bekannt, dass sich die Isowerte einer Knochenoberfläche stets in einem gewissen Wertebereich befinden. Andere Wertebereiche, die z. B. Muskeln und dgl. darstellen, können somit von vorne herein ausgeblendet werden. Dadurch kann die Datenmenge erheblich reduziert werden.Preferably is used to reduce the amount of data before sorting the groups In the fields of the arrays a preselection of the data is carried out. These For example, the data may be volume image data Iso-surfaces, in particular can be generated interactively, can as preselection an iso range be determined. Thus, only those groups are sorted, their individual pixels, for example, greater than a predetermined Isowert or intensity value are. Furthermore, an upper limit can be set. This is for example then makes sense if a doctor's surface of a bone from the would like to extract volumetric data. This is the doctor For example, it is known that the iso-values of a bone surface are always in a certain range of values. Other value ranges, the z. As muscles and the like. May, thus from the beginning be hidden. This can significantly reduce the amount of data become.

Bei einer besonders bevorzugten Weiterbildung des erfindungsgemäßen Datenspeicherverfahrens werden die zu sortierenden Daten, insbesondere alle aufgenommenen Daten, zunächst in einem ersten Speichermedium, insbesondere einer Festplatte, gespeichert. Das mindestens zweidimensionale Array, in das die Datengruppen einsortiert werden, ist in einem zweiten Speichermedium, insbesondere dem Hauptspeicher, d. h. dem RAM vorgesehen. Sollen beispielsweise nicht alle, sondern nur ein Teil der Daten nach einer Vorauswahl in das Array einsortiert werden, werden beispielsweise nur diese Daten zu Gruppen zusammengefasst, die Sortierungswerte bestimmt und die Einsortierung vorgenommen. Diejenigen Daten, die beispielsweise für eine Visualisierung somit von Interesse sind, befinden sich somit in einem zweiten Speichermedium, bei dem es sich üblicherweise um ein schnelles Speichermedium handelt.at a particularly preferred embodiment of the data storage method according to the invention are the data to be sorted, especially all recorded Data, first stored in a first storage medium, in particular a hard disk. The at least two-dimensional array into which the data groups are sorted are in a second storage medium, in particular the main memory, d. H. provided to the RAM. For example, not all, but only part of the data is sorted into the array after a preselection For example, if only these data are grouped together, the sorting values are determined and the sorting done. Those data, for example, for a visualization thus are of interest, are thus in a second storage medium, at usually is a fast storage medium.

Vorzugsweise ist eine Speichergrenze für das zweite Speichermedium definiert, so dass gewährleistet ist, dass das zweite Speichermedium beispielsweise nicht vollständig mit Daten gefüllt wird und somit für andere Softwaredaten, die beispielsweise zur Durchführung der Visualisierung erforderlich sind, kein Speicherplatz mehr vorhanden ist. Erfindungsgemäß wird beim Erreichen der Speichergrenze ein Teil der Daten auf das erste Speichermedium ausgelagert. Hierbei erfolgt die Auswahl der auszulagernden Daten vorzugsweise nach einer Wahrscheinlichkeitsbetrachtung, dass diese Daten nicht bzw. nicht in Kürze benötigt werden. Hierbei handelt es sich beispielsweise um Daten im Randbereich eines ausgewählten Isobereiches. Wird vom Rechner beispielsweise gerade eine Isooberfläche am Rand des ausgewählten Isobereiches dargestellt, ist es unwahrscheinlich, dass vom Benutzer Daten am anderen Randbereichs des ausgewählten Isobereiches angefordert werden. Vorzugsweise ist die Auslagerung von Daten somit dynamisch in Abhängigkeit des Verhaltens des Benutzers organisiert. Dies bedeutet nicht, dass einmal ausgelagerte Daten erst dann wieder in das zweite Speichermedium zurückgeführt werden, wenn sie tatsächlich benötigt werden, sondern ein Zurückführen der Daten bereits dann stattfindet, wenn die Wahrscheinlichkeit des Zugriffs sich erhöht. Gleichzeitig werden andere Daten ausgelagert, deren Wahrscheinlichkeit sich zwischenzeitlich verringert hat.Preferably, a storage limit for the second storage medium is defined, so that it is ensured that the second storage medium, for example, is not completely filled with data and thus for other software data, which are required for example to carry out the visualization, no more storage space is available. According to the invention, when the storage limit is reached, part of the data is transferred to the first storage medium. In this case, the selection of the data to be outsourced preferably takes place after a probability analysis that this data is not or will not be needed shortly. These are, for example, data in the edge region of a selected iso region. For example, if the computer is currently displaying an iso-surface at the edge of the selected iso-region, it is unlikely that the user will request data at the other edge of the selected iso-region. Preferably, the swapping of data is thus dynamically organized depending on the behavior of the user. This does not mean that once outsourced data only returns to the second storage medium be returned when they are actually needed, but a return of the data takes place already when the probability of access increases. At the same time, other data are being swapped out, the likelihood of which has diminished in the meantime.

Bei einer weiteren besonders bevorzugten Ausführungsform des Datenspeicherverfahrens werden die aktuell zur Bearbeitung, beispielsweise zur Visualisierung erforderlichen Daten aus dem zweiten Speichermedium in ein drittes Speichermedium, insbesondere einen Graphikspeicher überführt. Vorzugsweise weist das dritte Speichermedium ebenfalls eine Speichergrenze auf, so dass bei Erreichen der Speichergrenze Daten in das zweite Speichermedium und/oder das erste Speichermedium ausgelagert werden. Da auf die in dem dritten Speichermedium gespeicherten Daten ein sehr schneller Zugriff möglich sein soll, erfolgt eine Auslagerung vorzugsweise nur in das zweite Speichermedium. Die Auslagerung erfolgt, wir vorstehend beschrieben, ebenfalls an Hand von Nutzungswahrscheinlichkeiten der einzelnen Daten.at Another particularly preferred embodiment of the data storage method are currently being edited, for example for visualization required data from the second storage medium in a third Storage medium, in particular transferred to a graphics memory. Preferably the third storage medium also has a storage limit, so that upon reaching the memory limit data in the second storage medium and / or the first storage medium are outsourced. Since on the stored in the third storage medium data very fast Access possible should be outsourced, preferably only in the second Storage medium. The outsourcing takes place, as described above, also on the basis of usage probabilities of the individual Dates.

Bei dem interaktiven Aufrufen unterschiedlicher Datengruppen, beispielsweise beim interaktiven „Hindurchfahren" durch einen Körper, bei dem somit in schneller Reihenfolge unterschiedliche Isooberflächen erzeugt werden, werden erfindungsgemäß aus dem dritten Speichermedium , insbesondere dem Graphikspeicher, zum Erzeugen einer neuen Oberfläche nur diejenigen Daten aus dem Graphikspeicher gelöscht, die nicht mehr erforderlich sind, um sodann diejenigen Daten, die zusätzlich für die nächste Isooberfläche erforderlich sind, in das dritte Speichermedium bzw. den Graphikspeicher einzulesen. Hierdurch ist ein zeitraubendes und die Interaktivität beeinflussendes Ein- und Auslesen ein und der selben Daten vermieden.at interactive call of different data groups, for example in the interactive "passing through" by a body, at which thus produces different iso-surfaces in rapid succession be are according to the invention from the third storage medium, in particular the graphics memory, for generating a new surface only those data deleted from the graphics memory, which is no longer required are then to those data, in addition to the next Isooberfläche required are read into the third storage medium or the graphics memory. hereby is a time-consuming and influencing interactivity Reading one and the same data is avoided.

Ferner betrifft die Erfindung eine Datenspeicherstruktur, die insbesondere zum Speichern großer Datenmengen, insbesondere von Volumen-Bilddaten geeignet ist. Die Datenstruktur weist ein mindestens zweidimensionales Array mit einem Basisarray und einem Spannenarray auf. Jedes der beiden Arrays weist mehrer Felder auf. Erfindungsgemäß ist jedem Basis-Feld des Basisarrays ein Spannenarray zugeordnet. Die erfindungemäße Datenspeicherstruktur ist insbesondere zur Durchführung des vorstehend beschriebenen Datenspeicherverfahrens geeignet.Further The invention relates to a data storage structure, in particular for storing large amounts of data, especially suitable for volume image data. The data structure has an at least two-dimensional array with a base array and a span array. Each of the two arrays has several Fields on. According to the invention, each base field of the base array associated with a span array. The inventive data storage structure is in particular for implementation of the data storage method described above.

Vorzugsweise weist die Datenspeicherstruktur ein erstes Speichermedium und ein zweites Speichermedium auf, wobei es sich bei dem ersten Speichermedium vorzugsweise um eine Festplatte und bei dem zweiten Speichermedium vorzugsweise um einen schnelleren Hauptspeicher, insbesondere ein RAM handelt. Besonders bevorzugt ist das Vorsehen eines dritten Speichermediums, bei dem es sich vorzugsweise um einen Graphikspeicher handelt. Die Speichermedien werden vorzugsweise, wie vorstehend an Hand des Verfahrens beschrieben, bevorzugt genutzt.Preferably the data storage structure has a first storage medium and a second storage medium, wherein it is in the first storage medium preferably a hard disk and the second storage medium preferably a faster main memory, in particular a RAM is. Particularly preferred is the provision of a third storage medium, which is preferably a graphics memory. The storage media are preferably as described above with reference to the method, preferably used.

Ein erfindungsgemäßer, bevorzugter Anwendungsfall des Datenspeicherverfahrens ist das erfindungsgemäße Verfahren zur Darstellung von Oberflächen, insbesondere von Isooberflächen aus Volumen-Bilddaten. Hierbei werden in einem ersten Schritt beispielweise mit Hilfe der Computertomographie Volumen-Bilddaten erzeugt. Die Volumenbilddaten werden sodann in einem ersten Speichermedium gespeichert. Zumindest ein Teil der Volumen-Bilddaten wird mittels des vorstehend beschriebenen Datenspeicherverfahrens sortiert. Aus den sortierten Daten wird sodann an Hand eines Suchkriteriums eine Auswahl getroffen. Bei dem Suchkriterium handelt es sich beispielsweise um einen vom Benutzer vorzugebenden Isowert einer darzustellenden Isooberfläche. Anschließend wird die Oberfläche, insbesondere die Isooberfläche, sodann auf Basis des ausgewählten Datensatzes visualisiert. Mit Hilfe des erfindungsgemäßen Verfahrens zur Darstellung von Oberflächen, insbesondere Isooberflächen, ist es insbesondere möglich, beispielsweise in der Diagnostik und der präoperativen Planung Volumen-Bilddaten interaktiv zu betrachten. Es ist somit möglich, durch ein vorgegebenes Volumen „hindurchzufahren".One inventive, more preferred Use case of the data storage method is the inventive method for the representation of surfaces, especially of iso-surfaces from volume image data. Here are in a first step, for example generated by means of computed tomography volume image data. The Volume image data is then stored in a first storage medium. At least a part of the volume image data is obtained by means of the above sorted data storage method described. From the sorted data Then a selection is made on the basis of a search criterion. The search criterion is for example one of User to specify iso value of an iso-surface to be displayed. Subsequently, will the surface, in particular the iso-surface, then based on the selected Record visualized. With the aid of the method according to the invention for the representation of surfaces, especially iso-surfaces, is it possible in particular For example, in diagnostics and preoperative planning volume image data to look at interactively. It is thus possible by a given Volume "to drive through".

Bei einer besonders bevorzugten Verfahrenserzeugung von Isooberflächen wird als Suchkriterium eine Isowert festgelegt. Zur Bearbeitung, d. h. insbesondere zur Visualisierung der Isooberfläche werden alle Gruppen ausgewählt, bei denen sich der Isowert innerhalb der Wertespanne befindet. Vorzugsweise werden hierbei die Grenzen der Wertespanne mit berücksichtigt. Des weiteren werden nur Gruppen ausgewählt, bei denen sich der minimale Intensitätswert von dem maximalen Intensitätswert unterscheidet. Auf Grund der vorstehend beschriebenen Sortierung innerhalb des Spannenarrays ist es ausreichend für das Spannenarray, die erste Gruppe zu definieren. Die hierauf folgenden Gruppen weisen auf Grund der Sortierung ebenfalls eine Wertespanne auf, innerhalb der der ausgewählte Isowert angeordnet ist.at a particularly preferred process generation of Isooberflächen is set an iso value as the search criterion. For editing, d. H. especially to visualize the iso surface all groups selected, where the iso value is within the range. Preferably In this case, the limits of the value range are taken into account. Furthermore, only groups are selected in which the minimum intensity value from the maximum intensity value different. Due to the sorting described above within the span array it is sufficient for the span array, the first one Define group. The following groups point to Sorting also a range of values within which the selected Isowert is arranged.

Nachfolgend wird die Erfindung, insbesondere auch das erfindungsgemäße Datenspeicherverfahren an Hand einer bevorzugten Ausführungsform eines Verfahrens zur Darstellung von Isooberflächen an Hand der anliegenden Zeichnungen näher erläutert.following the invention, in particular also the data storage method according to the invention with reference to a preferred embodiment of a Process for the representation of iso-surfaces on the basis of adjacent ones Drawings closer explained.

Es zeigen:It demonstrate:

1: ein schematisches Flussdiagramm, das die Schritte zur Darstellung einer Isooberfläche aufweist und 1 : a schematic flow diagram, which has the steps of displaying an iso-surface and

2: ein vereinfachtes Beispiel einer Datenspeicherstruktur. 2 : a simplified example of a data storage structure.

In einem ersten Schritt 10 erfolgt beispielsweise über eine Computertomographie oder ähnliche Verfahren eine Datenaufnahme. Die Daten werden in einem ersten Speichermedium 12, beispielsweise auf einer Festplatte eines Computers gespeichert. Mit Hilfe eines Gruppen- oder Zellentraversierers werden Datengruppen definiert. Im vorliegenden Ausführungsbeispiel handelt es sich hierbei insbesondere um Gruppen von acht benachbarten Bildpunkten.In a first step 10 For example, a computed tomography or similar method is used to record the data. The data is stored in a first storage medium 12 stored for example on a hard disk of a computer. Data groups are defined using a group or cell traverser. In the present exemplary embodiment, these are in particular groups of eight adjacent pixels.

In einem nächsten Schritt 16 wird von einem Benutzer, beispielsweise einem Arzt, ein Intensitätsbereich festgelegt. Will ein Arzt beispielsweise aus den Volumen-Bilddaten eins Körperteils, wie eines Oberschenkels, die Bilddaten extrahieren, die die Knochenoberfläche darstellen, so ist dem Arzt bekannt, dass die Knochenoberfläche üblicher weise einen Isowert in einem bestimmten Bereich aufweist. Diesen Bereich wählt der Benutzer hier aus. Ferner ist es auch möglich, semi-automatische bzw. voll-automatische Verfahren zur Auswahl eines entsprechenden Bereiches einzusetzen.In a next step 16 is determined by a user, such as a doctor, an intensity range. For example, if a physician wants to extract from the volume image data of a body part, such as a thigh, the image data representing the bone surface, it is known to the physician that the bone surface usually has an iso value in a certain range. This area is selected by the user here. Furthermore, it is also possible to use semi-automatic or fully automatic methods for selecting a corresponding area.

Mit Hilfe des erfindungemäßen Verfahrens werden sodann in dem Gruppen-Klassifizierer 18 diejenigen Gruppen klassifiziert, die in den ausgewählten Intensitätsbereich fallen. Dies erfolgt dadurch, dass jeder Bildpunkt einen definierten Intensitätswert aufweist. Sobald ein Bildpunkt einen Intensitätswert aufweist, der innerhalb des Intensitätsbereichs liegt, wird die zugehörige Gruppe durch den Gruppen-Klassifizierer 18 ausgewählt.With the aid of the method according to the invention, then in the group classifier 18 classifies those groups that fall within the selected intensity range. This is done by each pixel having a defined intensity value. Once a pixel has an intensity value that is within the intensity range, the associated group is designated by the group classifier 18 selected.

Die durch den Gruppen-Klassifizierer 18 ausgewählten Gruppen werden im nächsten Schritt 20, dem erfindungsgemäßen Datenspeicherverfahren in das Datenspeichersystem, das im dargestellten Ausführungsbeispiel als Span-Triangle bezeichnet ist, einsortiert. Das Datenspeichersystem befindet sich im Hautspeicher bzw. dem RAM 22.The through the group classifier 18 selected groups will be in the next step 20 , the data storage method according to the invention in the data storage system, which is referred to in the illustrated embodiment as a chip triangle sorted. The data storage system is located in the skin memory or the RAM 22 ,

Ist die Speicherkapazität des Hauptspeichers 22 erschöpft oder eine vorgegebene Speichergrenze überschritten, erfolgt eine Auslagerung 24 eines Teils der Daten- bzw. Gruppeninformationen auf die Festplatte 12. Die Auslagerung erfolgt hierbei an Hand von Zugriffs- bzw. Nutzungswahrscheinlichkeiten der in dem Hauptspeicher 22 gespeicherten Daten.Is the memory capacity of the main memory 22 exhausted or exceeded a predetermined storage limit, outsourcing takes place 24 a portion of the data or group information to the hard disk 12 , The outsourcing takes place here on the basis of access or usage probabilities in the main memory 22 stored data.

Sobald sämtliche sich in dem ausgewählten Intensitätsbereich 16 befindlichen Gruppen in die Datenspeicherstruktur auf dem Hauptspeicher 22 einsortiert wurden, kann ein Benutzer einen konkreten Isowert auswählen. Zu dem ausgewählten Iso- bzw. Intensitätswert kann sodann eine Isooberfläche visualisiert werden. Hierzu gibt der Benutzer einen Isowert 26 ein, so dass mit Hilfe eines Span-Triangle-Transferierers 28 aus der auf dem Hautspeicher 22 gespeicherten Datenspeicherstruktur die entsprechenden Gruppen ausgewählt werden können. Die Datenstruktur der Daten, wie sie in dem Hautspeicher 22 abgelegt ist, kann ggf. nicht unmittelbar visualisiert werden. Mit Hilfe eines Punktextrahierers 30 werden die Daten vorzugsweise in geometrische Premitiven konvertiert. Ferner ist ein Datentransfersystem 32 vorgesehen, das den Datentransfer vom Hauptspeicher 32 zum Graphikspeicher 34 regelt.Once all of them are in the selected intensity range 16 located groups in the data storage structure on the main memory 22 sorted, a user can select a concrete iso value. An iso-surface can then be visualized for the selected iso- or intensity value. For this, the user gives an iso value 26 a, so with the help of a Span-Triangle-transferor 28 from the on the skin store 22 stored data storage structure the corresponding groups can be selected. The data structure of the data as stored in the skin memory 22 stored, may not be visualized immediately. With the help of a point extractor 30 Preferably, the data is converted to geometric premisses. Further, a data transfer system 32 provided that the data transfer from the main memory 32 to the graphics memory 34 regulates.

Mittels des Punktextrahierers 30 werden die Daten somit in eine von dem entsprechenden Visualisierungsprogramm lesbare Form transferiert und mittels des Datentransfersystems 32 in einem dritten Datenspeichermedium 34, wie einem Graphikspeicher, gespeichert. Die auf dem Graphikspeicher 34 gespeicherten Daten können von einem Visualisierungssystem 36, d. h. einer geeigneten Darstellungssoftware gelesen werden und auf einem Display 38 angezeigt werden. Ferner ist es möglich, dass der Benutzer Ansichtsparameter 40 festlegt, die die Art der Visualisierung beeinflussen. Hierdurch ist eine interaktive Exploration der Oberflächen möglich. Wird beispielsweise ein zu großes Update von einem Benutzer oder automatisch von einer Software angefordert, so müssten große Datenmengen transferiert werden. Dies würde die Applikation erheblich verlangsamen. Erfindungsgemäß wird daher der Punktdatenstrom auf verschiedene Zeitpunkte verteilt, so dass die Anwendung nicht blockiert wird.By means of the point extractor 30 The data is thus transferred into a form readable by the corresponding visualization program and by means of the data transfer system 32 in a third data storage medium 34 , such as a graphics memory. The ones on the graphics storage 34 stored data can be from a visualization system 36 , ie a suitable display software and read on a display 38 are displayed. Further, it is possible for the user to view parameters 40 defining the type of visualization. This allows interactive exploration of the surfaces. If, for example, a too large update is requested by a user or automatically by a software, then large amounts of data would have to be transferred. This would slow down the application considerably. According to the invention, therefore, the point data stream is distributed at different times, so that the application is not blocked.

Da auch das dritte Speichermedium 34 bzw. der Graphikspeicher über eine begrenzte Speicherkapazität verfügt und ggf. für weitere Daten Speicherplatz freigehalten werden muss, erfolgt im dargestellten Ausführungsbeispiel zwischen dem dritten Speichermedium 34 und dem zweiten Speichermedium 22 ebenfalls eine Auslagerung 42.As well as the third storage medium 34 or the graphics memory has a limited storage capacity and may need to be kept free for additional data space is carried out in the illustrated embodiment between the third storage medium 34 and the second storage medium 22 also an outsourcing 42 ,

2 zeigt die Datenspeicherstruktur, in der die durch die Bestimmung des Intensitätsbereichs 16 fallenden Gruppen mit Hilfe des Gruppen-Klassifizierers 18 und des Span-Triangle-Konstruktors 20 einsortiert werden. Die Datenspeicherstruktur weist ein Basisarray 44 auf. Das Basisarray 44 weist mehrere Felder 46 auf, die linear steigend sortiert und im dargestellten Ausführungsbeispiel mit 0 – 4 gekennzeichnet sind. 2 shows the data storage structure in which by the determination of the intensity range 16 falling groups using the group classifier 18 and the Span-Triangle constructor 20 be sorted. The data storage structure has a base array 44 on. The basic array 44 has several fields 46 on, the linearly increasing sorted and in the illustrated embodiment with 0 - 4 are marked.

Jedem Basisarray 44 ist ein Spannenarray 48 zugeordnet. Die einzelnen Spannenarrays 48 weisen Felder 50 auf. Hierbei nimmt mit steigender Zahl der Basisfelder 46 die Anzahl der Speicherfelder 50 je Speicherarray ab. So weist das in 2 linke Speicherarray 48, das dem mit 0 gekennzeichnetem Basisfeld 46 zugeordnet ist, fünf Felder 0 – 4 auf. Das benachbarte Speicherarray 48, das dem mit 1 gekennzeichnetem Basisfeld 46 zugeordnet ist, weist nur vier Speicherfelder 0 – 3 auf usw..Each base array 44 is a span array 48 assigned. The individual span arrays 48 assign fields 50 on. This increases with increasing number of basic fields 46 the number of memory fields 50 per storage array. This is how the in 2 left Spei cherarray 48 , which is the base field marked 0 46 is assigned five fields 0 - 4 on. The adjacent storage array 48 , which is the base field marked with 1 46 has assigned only four memory fields 0 - 3 on etc ..

Die in die dargestellte Datenspeicherstruktur einzusortierenden Gruppen werden in Abhängigkeit von Sortierkriterien in die einzelnen Felder 50 der Spannenarrays einsortiert. Im dargestellten Ausführungsbeispiel werden für die einzelnen Gruppen der Volumen-Bilddaten, die einzusortieren sind, d. h. innerhalb des ausgewählten Intensitätsbereichs 16 fallen, der Minimalwert und die Wertespanne festgelegt. Bei dem Minimalwert handelt es sich um den Intensitätswert des Punktes einer Gruppe, der den kleinsten Wert aufweist. Bei der Wertespanne handelt es sich um die Differenz der Intensität zwischen dem Bildpunkt mit der größten Intensität und dem Bildpunkt mit der geringsten Intensität einer Gruppe. Sämtliche Gruppen mit dem Minimalwert 0 werden somit in das in 2 linke Spannenarray 48, das dem mit 0 gekennzeichneten Basisfeld 46 zugeordnet ist, einsortiert. Die Einsortierung erfolgt nunmehr innerhalb dieses Spannenarrays 48 an Hand der Wertespanne. Ist diese beispielsweise drei, erfolgt die Einsortierung der Gruppe in das mit 3 gekennzeichnete Sortierungs-Feld 50.The groups to be sorted into the data storage structure shown become dependent on sorting criteria in the individual fields 50 sorted the span arrays. In the illustrated embodiment, for the individual groups of the volume image data to be sorted, ie within the selected intensity range 16 fall, the minimum value and the range are set. The minimum value is the intensity value of the point of a group that has the smallest value. The span is the difference in intensity between the highest intensity pixel and the lowest intensity pixel in a group. All groups with the minimum value 0 are thus included in the in 2 left span array 48 , which is the base field marked 0 46 is assigned, sorted. The sorting now takes place within this span array 48 on the basis of the value range. If this is, for example, three, the group is sorted into the sort field marked 3 50 ,

Entsprechen werden die Gruppen mit dem Minimalwert 1 in das dem mit dem Basiswert 1 gekennzeichneten Basisfeld 46 zugeordnete Spannenarray 48 einsortiert usw.. Das in 2 dargestellte Datenspeichersystem ist auf dem Hauptspeicher bzw. dem zweiten Speichermedium 22 gespeichert und weist sämtliche innerhalb des Intensitätsbereichs 16 fallende Gruppen auf.The groups with the minimum value 1 will correspond to the basic field marked with the base value 1 46 assigned span array 48 sorted etc. The in 2 shown data storage system is on the main memory or the second storage medium 22 stored and all within the intensity range 16 falling groups.

Sobald sämtliche Gruppen, die innerhalb des ausgewählten Intensitätsbereiches 16 liegen, in die Datenspeicherstruktur einsortiert wurden, erfolgt eine Linearisierung der einzelnen Spannenarrays 48. Hierzu werden linearisierte Arrays 52 bzw. Gruppeninformations-Arrays erzeugt, in die der Reihe nach sämtliche Gruppen 54 hintereinander einsortiert werden. Dies bedeutet beispielsweise an Hand des in 2 linken Spannenarrays 48, dass die beiden in das mit 0 gekennzeichnete Sortierungsfeld 50 einsortierten Gruppen als die beiden ersten Gruppen 54 in das linearisierte Array 52 einsortiert werden. Anschließend wird die eine in dem mit 1 gekennzeichneten Sortierungsfeld 50 enthaltenen Gruppe 54 in das linearisierte Array 52 überführt. Anschließend werden die drei in dem mit 2 gekennzeichneten Sortierungsfeld 50 enthaltenen Gruppen 54 in das linearisierte Array 52 überführt usw.. Erfindungsgemäß sind die jeweils ersten Gruppen eines Feldes markiert, bzw. mit einem Zeiger 56 versehen. Hierdurch ist es möglich, bei Auswahl von bestimmten Gruppen unmittelbar zu der ersten relevanten Gruppe zu springen, um diese und die folgenden Gruppen schnell aus der Datenspeicherstruktur auslesen zu können.Once all the groups within the selected intensity range 16 lie, were sorted into the data storage structure, there is a linearization of the individual span arrays 48 , For this purpose, linearized arrays 52 or group information arrays, into which, in turn, all groups 54 sorted one behind the other. This means for example on hand of in 2 left span arrays 48 in that the two are in the sort field marked 0 50 sorted groups than the first two groups 54 into the linearized array 52 be sorted. Then one will be in the sort field labeled 1 50 contained group 54 into the linearized array 52 transferred. Subsequently, the three are in the sorting field marked with 2 50 contained groups 54 into the linearized array 52 transferred, etc. .. According to the respective first groups of a field are marked, or with a pointer 56 Mistake. This makes it possible, when certain groups are selected, to jump directly to the first relevant group in order to be able to read these and the following groups quickly from the data storage structure.

Zur Darstellung einer Isooberfläche muss vom Benutzer ein konkreter Isowert 26 eingegeben werden. Hierbei ist eine Isooberfläche derart definiert, dass eine Gruppe zur Darstellung der Isooberfläche genutzt wird, wenn der Isowert innerhalb der Wertespanne, einschließlich der Grenze der Wertespanne liegt.To represent an iso surface, the user must have a concrete iso value 26 be entered. Here, an iso-surface is defined such that a group is used to represent the iso-surface when the iso-value is within the span, including the limit of the span.

Durch Eingabe des konkreten Isowertes 26 werden aus der Datenspeicherstruktur die entsprechenden Gruppen 54, die das Auswahlkriterium erfüllen, ausgelesen. In 2 sind als Beispiel diejenigen Felder grau hinterlegt, die bei einer Eingabe eines Isowertes von I = 2 ausgelesen werden. Ein Isowert von 2 bedeutet, dass bei einem Minimalwert von 0, d. h. dem in 2 linken Spannenarray 48, alle Gruppen ausgelesen werden müssen, deren Wertespanne 2 oder größer ist. Hierbei ist bei dem mit 2 gekennzeichneten Sortierungs-Feld die Wertespanne 0 – 2, bei dem mit 3 gekennzeichneten Sortierungsfeld 50 0 – 3 und bei dem mit 4 gekennzeichneten Sortierungs-Feld 50 0 – 4. Der Isowert I = 2 liegt somit innerhalb sämtlicher dieser Gruppen. Bei dem zuvor angeordneten mit 1 gekennzeichneten Sortierungs-Feld 50 ist die Wertespanne 0 – 1, so dass der Isowert I = 2 nicht in dieser Wertespanne angeordnet ist.By entering the concrete iso value 26 become the corresponding groups from the data storage structure 54 , which meet the selection criterion, read out. In 2 For example, those fields are grayed out, which are read out when entering an iso value of I = 2. An iso value of 2 means that at a minimum value of 0, ie the in 2 left span array 48 , all groups must be read, their range of value 2 or larger. In the case of the sorting field marked 2, the value range is 0-2, and the sorting field is marked 3 50 0 - 3 and at the sorting field marked 4 50 0 - 4. The iso value I = 2 is thus within all these groups. In the previously arranged with 1 sorting field 50 is the value range 0 - 1, so that the Isowert I = 2 is not arranged in this range of values.

In dem in 2 von links zweiten Spannenarray 48, das dem mit 1 gekennzeichneten Basis-Feld 46 zugeordnet ist, werden sämtliche Gruppen 54 ab einer Wertespanne 1 ausgelesen. In dem mit eins gekennzeichneten Spannen-Feld 50 dieses Spannenarrays 48 sind sämtliche Gruppen einsortiert, die einen Minimalwert von 1 und eine Spanne von 1, d. h. eine Intensität von 1 – 2 aufweisen. Um eine Wertespanne von 1 aufzuweisen, ist es bei einem Minimalwert von 1 erforderlich, dass der Maximalwert der Gruppe 2 ist. Somit müssen diese Gruppen bei einem ausgewählten Intensitätswert I = 2 ausgewählt werden. Auch in diesem Spannenarray 48 gilt wieder die Regel, dass sämtliche SortierungsFelder 50 mit einer höheren Ordnungszahl, d. h. die Sortierungsfelder, die mit 2 und 3 gekennzeichnet sind, ebenfalls Gruppen aufweisen, die das Kriterium erfüllen. So weist beispielsweise das mit 2 gekennzeichnete Sortierungs-Feld 50 eine Wertespanne von 2 auf, so dass hierin sämtliche Gruppen 54 enthalten sind, deren Minimalwert 1 und deren Maximalwert 3 ist usw..In the in 2 from the left second span array 48 , which is the base field marked with 1 46 is assigned to all groups 54 read out from a range 1 value. In the span field marked with one 50 this span array 48 are grouped all groups that have a minimum value of 1 and a span of 1, ie an intensity of 1-2. To have a range of 1, a minimum value of 1 requires the maximum value of the group to be 2. Thus, these groups must be selected at a selected intensity value I = 2. Also in this span array 48 Again, the rule is that all sorting fields 50 with a higher atomic number, ie the sorting fields marked 2 and 3, also have groups which satisfy the criterion. For example, the sort field marked 2 indicates 50 a range of 2, so that herein all groups 54 whose minimum value is 1 and whose maximum value is 3, etc.

Entsprechend werden aus dem dritten Spannenarray 48 bei einem vorgegebenen Isowert von I = 2 sämtliche Gruppen aussortiert. Da der Minimalwert der hierin einsortierten Gruppen 2 ist. Dies ergibt sich aus dem Basis-Feld 46, das mit zwei gekennzeichnet ist, so dass der Minimalwert sämtlicher in das zugehörige Spannenarray 48 einsortierte Gruppen einen Minimalwert von 2 aufweisen. Die untere Grenze des Intensitätsintervals ist somit 2, so dass sämtliche Gruppen, die einen Isowert von 2 aufweisen, in dieses Array fallen.Accordingly, from the third span array 48 at a given iso value of I = 2, all groups are sorted out. Since the minimum value of the groups grouped here is 2. This results from the base field 46 , which is marked with two, so that the minimum value of all in the supplied hearing span array 48 sorted groups have a minimum value of 2. The lower limit of the intensity interval is thus 2, so that all groups having an Is value of 2 fall into this array.

Die aus der Datenspeicherstruktur ausgelesenen Gruppen 54 werden sodann mit Hilfe des Punktextrahierers 30 (1) und des Datenstransfer-Steuerungssystemes 32 in für den Visualisierer 36 lesbare Daten übergeführt und in dem Graphikspeicher 34 abgelegt.The groups read from the data storage structure 54 are then using the point extractor 30 ( 1 ) and the data transfer control system 32 in for the visualizer 36 readable data transferred and in the graphics memory 34 stored.

Erfolgt die Eingab eines neuen Isowertes 26, ist es erforderlich, neue Gruppen 54 aus der Datenspeicherstruktur auszulesen. Um ein möglichst schnelles Auslesen der erforderlichen Gruppen 54 zu ermöglichen und somit ein interaktives Betrachten einzelner Isooberflächen zu ermöglichen, werden erfindungsgemäß aus dem Graphikspeicher bzw. dem dritten Speichermedium 34 nur diejenigen Gruppen gelöscht, die für die neu zu erstellenden Isooberfläche nicht benötigt werden. Wird beispielsweise der Isowert von I = 2 auf I = 3 geändert, so ist auf Grund der Datenstruktur bekannt, dass bezogen auf das erste Spannenarray 48, das dem mit 0 bezeichneten Basiswert 46 zugeordnet ist, sämtliche Gruppen 54 aus dem Graphikspeicher 34 gelöscht werden müssen, die dem Spannwert 2 zugeordnet waren. Sämtliche Gruppen 54, die in diesem Spannenarray höheren Wertespannen, d.h. der Wertespanne 3 und 4, zugeordnet sind, verbleiben in dem Graphikspeicher 34.Is the input of a new iso-value 26 , it is necessary to create new groups 54 read from the data storage structure. In order to read the required groups as fast as possible 54 to enable and thus enable interactive viewing of individual Isooberflächen, according to the invention from the graphics memory or the third storage medium 34 only deleted those groups that are not needed for the newly created iso-interface. If, for example, the iso value is changed from I = 2 to I = 3, it is known on the basis of the data structure that with respect to the first span array 48 , which is the base value denoted 0 46 is assigned, all groups 54 from the graphics memory 34 must be deleted, which were assigned to the span value 2. All groups 54 that in this span array higher value ranges, ie the value range 3 and 4, are assigned, remain in the graphics memory 34 ,

Entsprechend werden auch in dem nächsten Spannenarray 48 die Gruppen 54 gelöscht, die dem mit 1 gekennzeichneten Sortierungs-Feld zugeordnet sind. Die höherrangigen Gruppen werden für die Darstellung bezüglich des Isowertes I = 3 benötigt. Entsprechendes gilt für das nächste Spannenarray, in dem die dem mit 0 gekennzeichneten Sortierungs-Feld zugeordneten Gruppen 54 gelöscht werden.Accordingly, in the next span array 48 the groups 54 deleted, which are assigned to the sort field marked 1. The higher ranking groups are needed for the representation with respect to the iso value I = 3. The same applies to the next span array in which the groups associated with the sort field marked 0 are 54 to be deleted.

Das Löschen entspricht einer Verschiebung einer Linie, die in 2 schräg verläuft und oberhalb sämtlicher Gruppen angeordnet war, die für den Isowert I = 2 relevant waren. Diese Linie wird in 2 nach unten verschoben, so dass aus jedem Spannenarray das erste hinsichtlich des Isowertes I = 2 relevante Sortierungsfeld 50 herausfällt.The deletion corresponds to a shift of a line that is in 2 is oblique and located above all groups that were relevant for the Is value I = 2. This line will be in 2 shifted down so that from each span array, the first with respect to the Isowertes I = 2 relevant sorting field 50 fall out.

Nach dem Herauslöschen der nicht mehr relevanten Gruppen werden die für den Isowert I = 3 zusätzlich relevanten Gruppen in das dritte Speichermedium 34 geladen. Wie sich anschaulich an Hand der Verschiebung der Linie ergibt, handelt es sich hierbei um die dem mit 3 gekennzeichneten Basis-Feld 46 zugeordneten Gruppen. Die dem mit 3 gekennzeichneten Basis-Feld zugeordneten Gruppen weisen einen Minimalwert von 3 auf. Da in diesem Spannenarray 48 die Wertespanne 0 oder 1 beträgt, handelt es sich um Gruppen, die jeweils einen Minimalwert von 3 und einen Maximalwert von 3 oder 4 entsprechend einer Wertespanne von 0 oder 1 aufweisen.After extinguishing the groups that are no longer relevant, the groups that are additionally relevant for the iso value I = 3 become the third storage medium 34 loaded. As can be clearly seen from the displacement of the line, this is the base field marked with 3 46 assigned groups. The groups associated with the basic field labeled 3 have a minimum value of 3. Because in this span array 48 the range of values is 0 or 1, are groups each having a minimum value of 3 and a maximum value of 3 or 4 corresponding to a value range of 0 or 1.

Auf Grund der erfindungsgemäßen Datenspeicherstruktur ist somit das Wechseln zwischen einzelnen Isooberflächen auf einfache Weise möglich.On Reason for the data storage structure according to the invention is thus the switching between individual Isooberflächen on easy way possible.

Wird vom Benutzer ein Isowert eingegeben, der sich vom vorherigen Isowert stark unterscheidet, werden vom System ggf. Zwischenstufen ausgeführt und auch visualisiert.Becomes The user entered an iso value that is different from the previous one If necessary, the system executes intermediate stages and also visualized.

Um den erforderlichen Speicherplatz je Gruppe weiter zu reduzieren, folgt die Darstellung der Isooberfläche vorzugsweise nicht auf Basis von Polygonnetzen sondern ist punktbasiert. Verfahren zur punktbasierten Darstellung von Isooberflächen sind beispielsweise beschrieben in
B. von Rymon-Lipinski, „Hardware-Accelerated Point-Based Rendering and Exploration of High-Resolution Isosurfaces", internal caesar talk, 27.01.2004, Bonn, Germany und
Vorzugsweise erfolgt das Speichern der Daten je Bildpunkt nicht in Form von kartesischen Koordinaten, bei denen jede Zahl als Fließkommazahl dargestellt werden müsste und somit jeder Punkt 24 Bites Speicherplatz benötigt. Vielmehr wird ein Mittelpunkt jeder Gruppe errechnet und deren Positionen gespeichert. Die Position im dreidimensionalen Volumen wird somit auf einen eindimensionalen Volumenindex-Wert abgeglichen. Hierbei erfolgt die Speicherung vorzugsweise als Integer-Wert, der sodann nur vier Bites aufweist. Zusätzlich erfolgt das Speichern einer Flächennormalen in sphärischen Koordinaten, wobei diese nur 2 Bites umfassen.
In order to further reduce the required storage space per group, the representation of the iso-surface preferably does not follow on the basis of polygons but is point-based. Methods for the dot-based representation of iso-surfaces are described, for example, in US Pat
By Rymon-Lipinski, "Hardware-Accelerated Point-Based Rendering and Exploration of High-Resolution Isosurfaces", internal caesar talk, January 27, 2004, Bonn, Germany and
Preferably, storing the data per pixel is not in the form of Cartesian coordinates, where each number would have to be represented as a floating-point number, and thus each dot requires 24 bits of memory space. Rather, a center of each group is calculated and their positions stored. The position in the three-dimensional volume is thus adjusted to a one-dimensional volume index value. In this case, the storage preferably takes place as an integer value, which then has only four bits. In addition, the storage of a surface normal takes place in spherical coordinates, these only comprising 2 Bites.

Da diese Daten ggf. nicht von dem Visualisierer 36 (1) in ein Bild umgewandelt werden können, werden die Daten mit Hilfe des Punktextrahierers 30 und des Datentransfer-Steuereungssystems wieder in kartesische Koordinaten überführt.Because this data may not be from the visualizer 36 ( 1 ) can be converted into an image, the data are using the point extractor 30 and the data transfer control system again converted into Cartesian coordinates.

In einer weiteren bevorzugten Weiterbildung des erfindungsgemäßen Systems kann sobald sich der Benutzer nach der Exploration für einen konkreten Isowert entschieden hat, dieser fixiert werden. Hierbei werden die Gruppen bzw. die Gruppendaten, die nicht mehr benötigt werden, aus der Datenstruktur gelöscht. Dies führt zu einer weiteren enormen Reduzierung des Speicherverbrauches. Die Datenstruktur enthält sodann nur noch Gruppen für eine konkrete Isooberfläche. Optional können nach der Fixierung die verbleibenden Gruppen verwendet werden, um ein hochauflösendes Punktmodell zu generieren oder alternativ ein Polygonnetz zu berechnen.In a further preferred embodiment of the system according to the invention as soon as the user after exploration for a Isowert has decided to fix this. in this connection become the groups or the group data that are no longer needed, deleted from the data structure. this leads to to a further enormous reduction of the memory consumption. The Contains data structure then only groups for a concrete iso surface. Optionally after fixing the remaining groups are used to a high resolution Generate point model or alternatively calculate a mesh.

Claims (24)

Datenspeicherverfahren, insbesondere zur zugriffsschnellen Speicherung von Volumen-Bilddaten, mit den Schritten: Zusammenfassen mehrerer Daten zu einer Gruppe (54), Festlegen von mindestens zwei Sortierungskriterien, Bestimmen der Sortierungswerte je Gruppe (54) in Abhängigkeit der Sortierungskriterien und Einsortieren der Gruppen (54) in ein zumindest zweidimensionales Array mit einem Basisarray (44), wobei jedem Feld (46) des Basisarrays (44) ein Spannenarray (48) zugeordnet ist.Data storage method, in particular for fast access storage of volume image data, comprising the steps of: combining a plurality of data into one group ( 54 ), Defining at least two sorting criteria, determining the sorting values per group ( 54 ) depending on the sorting criteria and sorting of the groups ( 54 ) into an at least two-dimensional array with a base array ( 44 ), each field ( 46 ) of the basic array ( 44 ) a span array ( 48 ) assigned. Datenspeicherverfahren nach Anspruch 1, bei welchem die in den Spannenarrays (48) vorhandenen Gruppen in ein Gruppeninformations-Array (52) überführt werden, das vorzugsweise linearisiert wird.The data storage method of claim 1, wherein the data in the span arrays ( 48 ) existing groups into a group information array ( 52 ), which is preferably linearized. Datenspeicherverfahren nach Anspruch 2, bei welchem in dem Gruppeninformationsarray jeweils die erste Gruppe (54) eines Feldes (50) der Spannenarrays markiert ist.A data storage method according to claim 2, wherein in the group information array the first group ( 54 ) of a field ( 50 ) of the span arrays is marked. Datenspeicherverfahren nach einem der Ansprüche 1 – 3, bei welchem vor dem Einsortieren der Gruppen (54) eine Vorauswahl der Daten durchgeführt wird.A data storage method according to any one of claims 1 to 3, wherein prior to sorting the groups ( 54 ) a preselection of the data is performed. Datenspeicherverfahren nach einem der Ansprüche 1 – 4, bei welchem die zu sortierenden Daten in einem ersten Speichermedium (12), insbesondere einer Festplatte, gespeichert werden und die Einsortierung in das Array (44, 48) in einem zweiten Speichermedium (22), insbesondere dem Hauptspeicher erfolgt.Data storage method according to one of claims 1 - 4, wherein the data to be sorted in a first storage medium ( 12 ), in particular a hard disk, and the sorting into the array ( 44 . 48 ) in a second storage medium ( 22 ), in particular the main memory. Datenspeicherverfahren nach Anspruch 5, bei welchem die Array-Daten nach dem Erreichen einer Speichergrenze von dem zweiten Speichermedium (22) auf das erste Speichermedium (12) ausgelagert werden.A data storage method according to claim 5, wherein the array data is received from the second storage medium after reaching a storage limit ( 22 ) to the first storage medium ( 12 ) are outsourced. Datenspeicherverfahren nach Anspruch 5 oder 6, bei welchem zur Bearbeitung (36) ein Teil der Array-Daten aus dem zweiten Speichermedium (22) in eine drittes Speichermedium (34), insbesondere einen Graphikspeicher überführt wird.Data storage method according to claim 5 or 6, wherein for processing ( 36 ) a portion of the array data from the second storage medium ( 22 ) into a third storage medium ( 34 ), in particular a graphics memory is transferred. Datenspeicherverfahren nach Anspruch 7, bei welchem die Bearbeitungs-Daten nach dem Erreichen einer Speichergrenze von dem dritten Speichermedium (34) auf das zweite Speichermedium (22) ausgelagert werden.A data storage method according to claim 7, wherein the processing data is obtained from the third storage medium after reaching a storage limit ( 34 ) to the second storage medium ( 22 ) are outsourced. Datenspeicherverfahren nach Anspruch 7 oder 8, bei welchem zum Überführen neuer Bearbeitungs-Daten nur die nicht mehr erforderlichen Bearbeitungsdaten aus dem dritten Speichermedium (34) gelöscht und die zusätzlich neuen Bearbeitungsdaten in das dritte Speichermedium (34) überführt werden.Data storage method according to claim 7 or 8, wherein for the transfer of new processing data only the no longer required processing data from the third storage medium ( 34 ) and the additional new processing data in the third storage medium ( 34 ) are transferred. Datenspeicherverfahren nach einem der Ansprüche 1 – 9, bei welchem als Sortierkriterien die Minimalwerte, insbesondere zur Einsortierung in das Basisarray (44) und die Wertespanne, insbesondere zur Einsortierung in das Spannenarray (48) dienen.Data storage method according to one of Claims 1 to 9, in which the minimum values, in particular for sorting into the basic array, are used as sorting criteria ( 44 ) and the value range, in particular for sorting into the span array ( 48 ) serve. Datenspeicherverfahren nach einem der Ansprüche 1 – 10, bei welchem die Felder (50) eines Spannenarrays (48) und/oder des Basisarrays nach dem Suchkriterium steigend oder fallend sortiert sind.A data storage method according to any one of claims 1-10, wherein the fields ( 50 ) of a span array ( 48 ) and / or the basic array are sorted in ascending or descending order according to the search criterion. Datenspeicherverfahren nach einem der Ansprüche 1 – 11, bei welchem die Sortierung der Gruppen (54) innerhalb eines Spannenarrays (48) bzw. des Gruppeninformations-Arrays (52) derart ist, dass bei einem nacheinander Abfragen der Gruppen (54) sämtliche nachfolgenden Gruppen (54) das Suchkriterium erfüllen, sobald eine Gruppe das Suchkriterium erfüllt.A data storage method according to any one of claims 1 to 11, wherein the sorting of the groups ( 54 ) within a span array ( 48 ) or the group information array ( 52 ) is such that when successively querying the groups ( 54 ) all subsequent groups ( 54 ) satisfy the search criterion as soon as a group fulfills the search criterion. Datenspeicherverfahren nach Anspruch 12, bei welchem die Sortierung in dem bezüglich des Basisarrays (44) nächste Spannenarray (48) bzw. Gruppeninformations-Array (52) derart ist, dass das Suchkriterium ab dem vorhergehenden Feld (50) erfüllt ist.A data storage method according to claim 12, wherein the sorting in relation to the base array ( 44 ) next span array ( 48 ) or group information array ( 52 ) is such that the search criterion from the previous field ( 50 ) is satisfied. Datenspeicherstruktur insbesondere zum Speichern von Volumen-Bilddaten, mit einem mindestens zweidimensionalen Array (44, 48) mit einem mehrere Felder (46) aufweisenden Basisarray (44) und einem mehrere Felder (50) aufweisenden Spannenarray (48), wobei jedem Basis-Feld (46) ein Spannenarray (48) zugeordnet ist, zur Durchführung des Datenspeicherverfahrens nach einem der Ansprüche 1 – 13.Data storage structure, in particular for storing volume image data, having an at least two-dimensional array ( 44 . 48 ) with a multiple fields ( 46 ) basic array ( 44 ) and a multiple fields ( 50 ) span array ( 48 ), with each base field ( 46 ) a span array ( 48 ) for performing the data storage method according to any one of claims 1-13. Datenspeicherstruktur nach Anspruch 14, bei welchem die zu sortierenden Daten in einem ersten Speichermedium (12), insbesondere einer Festplatte, gespeichert werden und die Einsortierung in das Array (44, 48) in einem zweiten Speichermedium (22), insbesondere dem Hauptspeicher erfolgt.A data storage structure according to claim 14, wherein the data to be sorted is stored in a first storage medium ( 12 ), in particular a hard disk, and the sorting into the array ( 44 . 48 ) in a second storage medium ( 22 ), in particular the main memory. Datenspeicherstruktur nach Anspruch 14 oder 15, bei welchem zur Bearbeitung ein Teil der Array-Daten aus dem zweiten Speichermedium (22) in ein drittes Speichermedium (34), insbesondere einen Graphikspeicher, überführt werden.Data storage structure according to claim 14 or 15, wherein for processing a part of the array data from the second storage medium ( 22 ) into a third storage medium ( 34 ), in particular a graphic memory, are transferred. Verfahren zur Darstellung von Oberflächen, insbesondere Isooberflächen aus Volumen-Bilddaten mit den Schritten: Erzeugen von Volumen-Bilddaten, Speichern der Volumen-Bilddaten in einem ersten Speichermedium (12), Sortieren zumindest eines Teils der Volumen-Bilddaten mittels dem Datenspeicherverfahren nach einem der Ansprüche 1 bis 13, Auswählen von Daten aus den sortierten Daten an Hand eines Suchkriteriums und Visualisieren der Oberfläche auf Basis der ausgewählten Daten.Method for displaying surfaces, in particular iso-surfaces, from volume image data, comprising the steps of: generating volume image data, storing the volume image data in a first storage medium ( 12 ), Sorting at least part of the volume image data By means of the data storage method according to one of claims 1 to 13, selecting data from the sorted data by means of a search criterion and visualizing the surface based on the selected data. Verfahren nach Anspruch 17, bei welchem zum Erzeugen einer Isooberfläche aus den sortierten Volumen-Bilddaten als Suchkriterium ein Isowert festgelegt wird und zur Bearbeitung alle Gruppen (54) ausgewählt werden, bei denen der Isowert innerhalb der Wertespanne liegt.Method according to Claim 17, in which an iso value is determined as the search criterion for producing an isosurface from the sorted volume image data and all groups ( 54 ) are selected, in which the iso value lies within the value range. Verfahren nach Anspruch 17 oder 18, bei welchem ein Intensitätsbereich (16) festgelegt wird und nur die Volumen-Bilddaten sortiert werden, die innerhalb des Intensitätsbereiches (16) liegen.A method according to claim 17 or 18, wherein an intensity range ( 16 ) and sort only the volume image data that is within the intensity range ( 16 ) lie. Verfahren nach einem der Ansprüche 17 – 19, bei welchem je Gruppe (54) die Lage eines Punktes und eine Flächennormale gespeichert wird.Method according to one of Claims 17 to 19, in which each group ( 54 ) the position of a point and a surface normal is stored. Verfahren nach Anspruch 20, bei welchem die Lage als Integer-Wert gespeichert wird.The method of claim 20, wherein the layer stored as an integer value. Verfahren nach Anspruch 20 oder 21, bei welchem die Flächennormalen in sphärischen Koordinaten gespeichert wird.A method according to claim 20 or 21, wherein the surface normals in spherical Coordinates is stored. Verfahren nach einem der Ansprüche 17 – 22, bei welchem die zur Visualisierung ausgewählten Daten an das dritte Speichermedium (34) übermittelt werden.Method according to one of Claims 17 to 22, in which the data selected for visualization are sent to the third storage medium ( 34 ). Verfahren nach Anspruch 23, bei welchem die Daten in kartesischen Koordinaten in dem dritten Speichermedium (34) gespeichert werden.A method according to claim 23, wherein the data is in Cartesian coordinates in the third storage medium ( 34 ) get saved.
DE200410027945 2004-06-08 2004-06-08 Data storage method and data storage structure Ceased DE102004027945A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE200410027945 DE102004027945A1 (en) 2004-06-08 2004-06-08 Data storage method and data storage structure
PCT/EP2005/052599 WO2005122097A1 (en) 2004-06-08 2005-06-07 Data storage method and data storage structure for isosurface representation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200410027945 DE102004027945A1 (en) 2004-06-08 2004-06-08 Data storage method and data storage structure

Publications (1)

Publication Number Publication Date
DE102004027945A1 true DE102004027945A1 (en) 2005-12-29

Family

ID=34969953

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200410027945 Ceased DE102004027945A1 (en) 2004-06-08 2004-06-08 Data storage method and data storage structure

Country Status (2)

Country Link
DE (1) DE102004027945A1 (en)
WO (1) WO2005122097A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5872902A (en) * 1993-05-28 1999-02-16 Nihon Unisys, Ltd. Method and apparatus for rendering of fractional pixel lists for anti-aliasing and transparency
US6075538A (en) * 1996-07-25 2000-06-13 Institute Of High Performance Computing Time and space efficient data structure and method and apparatus for using the same for surface rendering
WO2001063561A1 (en) * 2000-02-25 2001-08-30 The Research Foundation Of State University Of New York Apparatus and method for volume processing and rendering

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5872902A (en) * 1993-05-28 1999-02-16 Nihon Unisys, Ltd. Method and apparatus for rendering of fractional pixel lists for anti-aliasing and transparency
US6075538A (en) * 1996-07-25 2000-06-13 Institute Of High Performance Computing Time and space efficient data structure and method and apparatus for using the same for surface rendering
WO2001063561A1 (en) * 2000-02-25 2001-08-30 The Research Foundation Of State University Of New York Apparatus and method for volume processing and rendering

Also Published As

Publication number Publication date
WO2005122097A1 (en) 2005-12-22

Similar Documents

Publication Publication Date Title
DE102008034519B4 (en) Split data structure, and method for loading a particle-based simulation using the split data structure in GPU, etc.
DE69534331T2 (en) Method and device for highlighting the detail of a tree structure
DE19706512B4 (en) Real-time event arrangement in an electronic flowchart
DE69733265T2 (en) Improved diagnostic viewer
DE69535098T2 (en) Method and apparatus for searching images in a database
DE102008028023A1 (en) Method for displaying a plurality of image data sets and user interface for displaying a plurality of image data sets
EP1975821A2 (en) Method for digital storing of data on a data storage device with limited available space
EP0829822B1 (en) Method for displaying geometric surfaces
DE102007016179A1 (en) Memory management system and method for GPU based volume rendering
DE19817584B4 (en) Method and system for object search
DE102006058941A1 (en) Method and apparatus for selecting computer-aided algorithms based on the protocol and / or parameters of an acquisition system
DE102009035441A1 (en) Method and image processing system for generating a volume view image from inside a body
DE60211452T2 (en) DMA transfer of data and check information to and from a data storage device
DE19806985A1 (en) Organizational process for volumetric data that enables efficient cache rendering accelerations and an efficient graphics hardware design
DE3643585A1 (en) PROCESSING SYSTEM FOR GRAPHIC DATA
DE112010005294T5 (en) Image display device
DE19817583B4 (en) Method and system for data processing for three-dimensional objects
DE10017551A1 (en) Cyclical interactive image analysis involves transforming image at all/selected image points, normalizing results, dividing transformation space into classes using user-influenced separators
DE102019106724A1 (en) Efficient data processing
DE102018217114A1 (en) Method and arrangement for determining the memory requirement in order to carry out simulations based on FEM node networks using a graphics processor unit
DE102004027945A1 (en) Data storage method and data storage structure
EP2064674A1 (en) Mixing of differently processed x-ray image data
DE102008017831A1 (en) Method and user interface for generating and displaying medical examination results
DE102008017830A1 (en) Method and user interface for the graphical representation of medical data
EP1224624B1 (en) Method for the real-time rendering of large volume data sets

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
8110 Request for examination paragraph 44
R012 Request for examination validly filed

Effective date: 20110305

R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final

Effective date: 20130522