The present application hereby claims priority under 35 U.S.C. §119 to German patent application number DE 10 2011 079 916.8 filed Jul. 27, 2011, the entire contents of which are hereby incorporated herein by reference.
At least one embodiment of the invention generally relates to a method and/or apparatus for the progressive loading of medical, multidimensional images into a medical application.
A so-called 3D user experience in medical applications essentially includes two components: a) time taken to load the images of a volume from a database or data store into the main memory of the application and b) time taken to produce a 3D image using a so-called volume rendering method.
It is possible with regard to the above point b) to use different algorithms, the algorithms assuming that all the images of a volume are already loaded into the main memory. This is an essential variable, which impacts significantly on the 3D user experience and has not yet been optimized.
Also the data volumes to be loaded into the main memory in the medical field are increasing all the time, as medical modalities increasingly produce larger studies and individual examinations using the modalities often generate not just one but a number of studies, as for example with multirow CT.
Against a background of workflows with very short cycles in medical facilities, it is favorable for the acceptance of medical software that the medical personnel do not have to tolerate waiting times. The software should be able to present multidimensional volumes, in particular 3D or 4D volumes, of any size to the user in such a manner that no waiting times are perceived either when loading the images into the main memory or during volume rendering.
There are methods for improving 3D user experience which perform optimization of volume rendering for images of the volume already loaded into the main memory. This means that the user cannot see a 3D image until all the images of the volume have been loaded into the main memory. Once all the images have been loaded into the main memory, different methods are available for shortening the time required for volume rendering. 3D volume rendering cannot take place until all the images of a medical series have been loaded into the main memory. The bigger the series, the longer the waiting times that have to be tolerated.
One possible method, known as texture-based volume rendering, is based on the volume being divided into distinct three-dimensional so-called bricks and the bricks being rendered one after the other. The quality of the rendered images before all the bricks are loaded in medical imaging in particular can allow diagnosis errors to occur, because one brick represents only one predetermined three-dimensional region of the entire volume. A number of loaded bricks therefore reveal a larger region of the volume, while other regions of the volume remain invisible to the viewer.
One improvement to texture-based volume rendering is the known method of progressive refinement for texture-based volume rendering, as disclosed in U.S. Pat. No. 7,843,452 B2. It is likewise assumed here that all the images of the volume have been loaded into the main memory. Texture-based volume rendering is then used in a modified form, so that the bricks are first loaded with a low resolution and then better and better resolutions of the bricks are continuously loaded until the highest resolution of each brick has been loaded.
The time taken for volume rendering for images already loaded into the main memory is thus optimized. As medical studies become ever larger, the time taken to load the images into the main memory should also be optimized and the volume rendering should be matched to this, in order to achieve a favorable user experience.
At least one embodiment of the present invention improves the above-mentioned time taken to load the images.
A method and apparatus, as well as a computer program product are disclosed. Advantageous embodiments of the invention are the subject matter of the dependent claims or will emerge from the description which follows and the example embodiments.
According to an embodiment of the invention, a method is provided for the progressive loading of images of a multidimensional volume from a data store or database into the main memory of a client and subsequent, progressive 3D or 4D volume rendering.
An embodiment of the inventive method for the progressive loading of medical, multidimensional images into a medical application comprises:
a) loading a first number n of image sets with an image set size ky, the ky images of which are distributed in a regular manner over a volume, which is to be loaded in its entirety as a result,
b) loading a number nx of image sets starting with a factor x=1, with the images loaded in total in the preceding and current steps being distributed in a regular manner over the volume,
c) determining the camera distance and voxel size based on the number of images loaded in the preceding and current steps, with the camera distance and voxel size being suitable as parameters for a volume rendering, and
d) repeating the two preceding steps b) and c) while increasing the number of image sets with a factor x=x+1, until all the images of the volume have been loaded in their entirety and/or until the step sequence ends.
A further aspect of an embodiment of the invention is directed to an apparatus, preferably a server, for the progressive loading of medical images, having segments or modules for performing at least one embodiment of the abovementioned loading process, which can be configured as a computer program product in hardware and/or software form respectively.
The apparatus and computer program product can be developed according to at least one embodiment of the inventive method.
Further advantages, details and developments of the invention will emerge from the description which follows of exemplary embodiments in conjunction with the drawings, in which:
It should be noted that these Figures are intended to illustrate the general characteristics of methods, structure and/or materials utilized in certain example embodiments and to supplement the written description provided below. These drawings are not, however, to scale and may not precisely reflect the precise structural or performance characteristics of any given embodiment, and should not be interpreted as defining or limiting the range of values or properties encompassed by example embodiments. The use of similar or identical reference numbers in the various drawings is intended to indicate the presence of a similar or identical element or feature.
Various example embodiments will now be described more fully with reference to the accompanying drawings in which only some example embodiments are shown. Specific structural and functional details disclosed herein are merely representative for purposes of describing example embodiments. The present invention, however, may be embodied in many alternate forms and should not be construed as limited to only the example embodiments set forth herein.
Accordingly, while example embodiments of the invention are capable of various modifications and alternative forms, embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that there is no intent to limit example embodiments of the present invention to the particular forms disclosed. On the contrary, example embodiments are to cover all modifications, equivalents, and alternatives falling within the scope of the invention. Like numbers refer to like elements throughout the description of the figures.
Before discussing example embodiments in more detail, it is noted that some example embodiments are described as processes or methods depicted as flowcharts. Although the flowcharts describe the operations as sequential processes, many of the operations may be performed in parallel, concurrently or simultaneously. In addition, the order of operations may be re-arranged. The processes may be terminated when their operations are completed, but may also have additional steps not included in the figure. The processes may correspond to methods, functions, procedures, subroutines, subprograms, etc.
Methods discussed below, some of which are illustrated by the flow charts, may be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks will be stored in a machine or computer readable medium such as a storage medium or non-transitory computer readable medium. A processor(s) will perform the necessary tasks.
Specific structural and functional details disclosed herein are merely representative for purposes of describing example embodiments of the present invention. This invention may, however, be embodied in many alternate forms and should not be construed as limited to only the embodiments set forth herein.
It will be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element, without departing from the scope of example embodiments of the present invention. As used herein, the term “and/or,” includes any and all combinations of one or more of the associated listed items.
It will be understood that when an element is referred to as being “connected,” or “coupled,” to another element, it can be directly connected or coupled to the other element or intervening elements may be present. In contrast, when an element is referred to as being “directly connected,” or “directly coupled,” to another element, there are no intervening elements present. Other words used to describe the relationship between elements should be interpreted in a like fashion (e.g., “between,” versus “directly between,” “adjacent,” versus “directly adjacent,” etc.).
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments of the invention. As used herein, the singular forms “a,” “an,” and “the,” are intended to include the plural forms as well, unless the context clearly indicates otherwise. As used herein, the terms “and/or” and “at least one of” include any and all combinations of one or more of the associated listed items. It will be further understood that the terms “comprises,” “comprising,” “includes,” and/or “including,” when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
It should also be noted that in some alternative implementations, the functions/acts noted may occur out of the order noted in the figures. For example, two figures shown in succession may in fact be executed substantially concurrently or may sometimes be executed in the reverse order, depending upon the functionality/acts involved.
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which example embodiments belong. It will be further understood that terms, e.g., those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
Portions of the example embodiments and corresponding detailed description may be presented in terms of software, or algorithms and symbolic representations of operation on data bits within a computer memory. These descriptions and representations are the ones by which those of ordinary skill in the art effectively convey the substance of their work to others of ordinary skill in the art. An algorithm, as the term is used here, and as it is used generally, is conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of optical, electrical, or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
In the following description, illustrative embodiments may be described with reference to acts and symbolic representations of operations (e.g., in the form of flowcharts) that may be implemented as program modules or functional processes include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types and may be implemented using existing hardware at existing network elements. Such existing hardware may include one or more Central Processing Units (CPUs), digital signal processors (DSPs), application-specific-integrated-circuits, field programmable gate arrays (FPGAs) computers or the like.
Note also that the software implemented aspects of the example embodiments may be typically encoded on some form of program storage medium or implemented over some type of transmission medium. The program storage medium (e.g., non-transitory storage medium) may be magnetic (e.g., a floppy disk or a hard drive) or optical (e.g., a compact disk read only memory, or “CD ROM”), and may be read only or random access. Similarly, the transmission medium may be twisted wire pairs, coaxial cable, optical fiber, or some other suitable transmission medium known to the art. The example embodiments not limited by these aspects of any given implementation.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise, or as is apparent from the discussion, terms such as “processing” or “computing” or “calculating” or “determining” of “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device/hardware, that manipulates and transforms data represented as physical, electronic quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
Spatially relative terms, such as “beneath”, “below”, “lower”, “above”, “upper”, and the like, may be used herein for ease of description to describe one element or feature's relationship to another element(s) or feature(s) as illustrated in the figures. It will be understood that the spatially relative terms are intended to encompass different orientations of the device in use or operation in addition to the orientation depicted in the figures. For example, if the device in the figures is turned over, elements described as “below” or “beneath” other elements or features would then be oriented “above” the other elements or features. Thus, term such as “below” can encompass both an orientation of above and below. The device may be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein are interpreted accordingly.
Although the terms first, second, etc. may be used herein to describe various elements, components, regions, layers and/or sections, it should be understood that these elements, components, regions, layers and/or sections should not be limited by these terms. These terms are used only to distinguish one element, component, region, layer, or section from another region, layer, or section. Thus, a first element, component, region, layer, or section discussed below could be termed a second element, component, region, layer, or section without departing from the teachings of the present invention.
An embodiment of the inventive method for the progressive loading of medical, multidimensional images into a medical application comprises:
a) loading a first number n of image sets with an image set size ky, the ky images of which are distributed in a regular manner over a volume, which is to be loaded in its entirety as a result,
b) loading a number nx of image sets starting with a factor x=1, with the images loaded in total in the preceding and current steps being distributed in a regular manner over the volume,
c) determining the camera distance and voxel size based on the number of images loaded in the preceding and current steps, with the camera distance and voxel size being suitable as parameters for a volume rendering, and
d) repeating the two preceding steps b) and c) while increasing the number of image sets with a factor x=x+1, until all the images of the volume have been loaded in their entirety and/or until the step sequence ends.
Repetition of the abovementioned steps b) and c) while increasing the image set size with a factor y=y+1 is possible until all the images of the volume have been loaded in their entirety and/or until the step sequence ends. This repetition can also take place before the abovementioned step c).
If y=0, the image set only comprises one image, i.e. as a result there are nx images, which is favorable for a 3D application of the abovementioned method.
If y=1, the image set comprises k images, which is favorable for a 4D application of an embodiment of the abovementioned method.
The choice of the factors n=2 and k=2 has proved to be advantageous for time-optimized loading of the images and image sets.
The factor ky can be determined so that the rendering of the volume can be performed within a time interval of 1 second.
A further aspect of an embodiment of the invention is directed to an apparatus, preferably a server, for the progressive loading of medical images, having segments or modules for performing at least one embodiment of the abovementioned loading process, which can be configured as a computer program product in hardware and/or software form respectively.
The apparatus and computer program product can be developed according to at least one embodiment of the inventive method.
The loaded images and image sets can be displayed on a display apparatus.
At least one embodiment of the invention has at least one of the following advantages:
According to the invention a method is provided for the progressive loading of images of a 3D volume from a data store or database into the main memory of a client and subsequent, progressive 3D volume rendering. The method has the following sequence steps or properties, as shown for example in
Steps:
In one embodiment of the invention the method described above can be applied to 4D images or data, as set out below.
The method for displaying medical 4D data on any devices with access to data in any data centers operates by way of example as follows:
Every volume in the 4D study to be displayed is divided into sets of images (image sets), it being more favorable for the following criteria to be satisfied:
In
The image sets S2_V1, S2_V2, S2_V3 and so on follow. It is important that the method also operates for different sizes of individual 3D volumes.
The data sets are simply loaded using a virtual “round robin” method until all the sets have been loaded.
The volumes of a step, such as for example for step 1: S1_V1, S1_V2 and S1_V3, can be loaded in a parallel manner. The volumes of subsequent steps are therefore not loaded in a parallel manner, as the user can intervene to terminate before the steps are reached.
The complete loading algorithm is shown for example in
The patent claims filed with the application are formulation proposals without prejudice for obtaining more extensive patent protection. The applicant reserves the right to claim even further combinations of features previously disclosed only in the description and/or drawings.
The example embodiment or each example embodiment should not be understood as a restriction of the invention. Rather, numerous variations and modifications are possible in the context of the present disclosure, in particular those variants and combinations which can be inferred by the person skilled in the art with regard to achieving the object for example by combination or modification of individual features or elements or method steps that are described in connection with the general or specific part of the description and are contained in the claims and/or the drawings, and, by way of combinable features, lead to a new subject matter or to new method steps or sequences of method steps, including insofar as they concern production, testing and operating methods.
References back that are used in dependent claims indicate the further embodiment of the subject matter of the main claim by way of the features of the respective dependent claim; they should not be understood as dispensing with obtaining independent protection of the subject matter for the combinations of features in the referred-back dependent claims. Furthermore, with regard to interpreting the claims, where a feature is concretized in more specific detail in a subordinate claim, it should be assumed that such a restriction is not present in the respective preceding claims.
Since the subject matter of the dependent claims in relation to the prior art on the priority date may form separate and independent inventions, the applicant reserves the right to make them the subject matter of independent claims or divisional declarations. They may furthermore also contain independent inventions which have a configuration that is independent of the subject matters of the preceding dependent claims.
Further, elements and/or features of different example embodiments may be combined with each other and/or substituted for each other within the scope of this disclosure and appended claims.
Still further, any one of the above-described and other example features of the present invention may be embodied in the form of an apparatus, method, system, computer program, tangible computer readable medium and tangible computer program product. For example, of the aforementioned methods may be embodied in the form of a system or device, including, but not limited to, any of the structure for performing the methodology illustrated in the drawings.
Even further, any of the aforementioned methods may be embodied in the form of a program. The program may be stored on a tangible computer readable medium and is adapted to perform any one of the aforementioned methods when run on a computer device (a device including a processor). Thus, the tangible storage medium or tangible computer readable medium, is adapted to store information and is adapted to interact with a data processing facility or computer device to execute the program of any of the above mentioned embodiments and/or to perform the method of any of the above mentioned embodiments.
The tangible computer readable medium or tangible storage medium may be a built-in medium installed inside a computer device main body or a removable tangible medium arranged so that it can be separated from the computer device main body. Examples of the built-in tangible medium include, but are not limited to, rewriteable non-volatile memories, such as ROMs and flash memories, and hard disks. Examples of the removable tangible medium include, but are not limited to, optical storage media such as CD-ROMs and DVDs; magneto-optical storage media, such as MOs; magnetism storage media, including but not limited to floppy disks (trademark), cassette tapes, and removable hard disks; media with a built-in rewriteable non-volatile memory, including but not limited to memory cards; and media with a built-in ROM, including but not limited to ROM cassettes; etc. Furthermore, various information regarding stored images, for example, property information, may be stored in any other form, or it may be provided in other ways.
Example embodiments being thus described, it will be obvious that the same may be varied in many ways. Such variations are not to be regarded as a departure from the spirit and scope of the present invention, and all such modifications as would be obvious to one skilled in the art are intended to be included within the scope of the following claims.
Number | Date | Country | Kind |
---|---|---|---|
102011079916.8 | Jul 2011 | DE | national |