DE102004027945A1 - Data storage method and data storage structure - Google Patents
Data storage method and data storage structure Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/08—Volume rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/32—Image 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
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:
In
einem ersten Schritt
In
einem nächsten
Schritt
Mit
Hilfe des erfindungemäßen Verfahrens werden
sodann in dem Gruppen-Klassifizierer
Die
durch den Gruppen-Klassifizierer
Ist
die Speicherkapazität
des Hauptspeichers
Sobald
sämtliche
sich in dem ausgewählten Intensitätsbereich
Mittels
des Punktextrahierers
Da
auch das dritte Speichermedium
Jedem
Basisarray
Die
in die dargestellte Datenspeicherstruktur einzusortierenden Gruppen
werden in Abhängigkeit von
Sortierkriterien in die einzelnen Felder
Entsprechen
werden die Gruppen mit dem Minimalwert 1 in das dem mit dem Basiswert
1 gekennzeichneten Basisfeld
Sobald
sämtliche
Gruppen, die innerhalb des ausgewählten Intensitätsbereiches
Zur
Darstellung einer Isooberfläche
muss vom Benutzer ein konkreter Isowert
Durch
Eingabe des konkreten Isowertes
In
dem in
Entsprechend
werden aus dem dritten Spannenarray
Die
aus der Datenspeicherstruktur ausgelesenen Gruppen
Erfolgt
die Eingab eines neuen Isowertes
Entsprechend
werden auch in dem nächsten Spannenarray
Das
Löschen
entspricht einer Verschiebung einer Linie, die in
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
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
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)
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)
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 |
-
2004
- 2004-06-08 DE DE200410027945 patent/DE102004027945A1/en not_active Ceased
-
2005
- 2005-06-07 WO PCT/EP2005/052599 patent/WO2005122097A1/en active Application Filing
Patent Citations (3)
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 |