All drawings are schematic illustrations and the structures rendered therein are not intended to be in scale. It should be understood that the invention is not limited to the precise arrangements and instrumentalities shown, but is limited only by the scope of the claims.
The up-sampling method according to an embodiment of the invention is a morphological class method which may be applied to a binary volume of any number of dimensions. The method inserts blank pixel hyperplanes into the “work” volume starting with the original input binary volume. The process is an iterative process where one blank pixel hyperplane, representing a group of newly created blank pixels in one of the dimensions being extended, is inserted into the work volume aligned to the pixel grid perpendicular to the current work dimension axis and the values for each blank pixel in that blank pixel hyperplane are assigned an appropriate pixel value. Then, the process is repeated for each additional blank hyperplane inserted into the work volume until the necessary number of planes are inserted into the binary volume in a given dimension.
Additional blank pixel hyper planes in any dimension may be inserted until the final target size of the up-sampled binary volume is reached. To maintain the proper volume aspect ratio during the up-sampling process, the blank hyperplanes are preferably inserted at regular spacing (called mapping schemes), so the volume pixels reach their intended location in the up-sampled volume. The importance of the mapping scheme is same even in the conventional up-sampling methods and the mapping schemes discussed herein are already in use in conjunction with the conventional up-sampling methods.
There are several mapping schemes available to map the location of the volume pixels into their intended location. For example, linearly stretching the input binary volume so that the corner pixels of the input binary volume are placed at the corners of the up-sampled binary volume. Another example is to place the corner pixels of the input binary volume adjacent to the edges of the up-sampled binary volume (½ the input pixel spacing away from the volume edge). In medical imaging applications, the location of the pixels is particularly important therefore selecting the proper mapping scheme is important. When the down-sample scheme is known, the reverse scheme should be used. Otherwise, any one of the available mapping scheme can be used. Whatever the mapping scheme is used, the result is that new pixel planes are inserted into the work volume such that the new pixel planes are inserted evenly across the volume in any given extended dimension. Depending on the mapping scheme used, some planes may be inserted on the edge of the work binary volume, so they are not between two existing planes. For a plane inserted on the edge of the volume, the pixel values are directly copied from the adjacent plane and not calculated as done for the planes inserted in between two existing planes.
As used herein, the term “hyperplane” refers to a binary image data set that is one dimension less than the work binary volume. For example, where a multi-dimensional work binary volume is a 3-dimensional volume, a hyperplane associated with that work binary volume would be a 2-dimensional volume or a 2-dimensional plane. And where a multi-dimensional work binary volume is a 4-dimensional volume, a hyperplane associated with that work binary volume would be a 3-dimensional volume.
Referring to FIGS. 1 and 3A-3E an exemplary up-sampling method according to an embodiment is described.
At step 10, starting with an input binary volume 100 shown in
At step 12, the system checks to see whether the blank pixel hyperplane Z is on the edge of the work volume 100. If the inserted blank pixel hyperplane Z is on the edge of the work volume, at step 14, the pixel values are copied from the adjacent pixels. In other words, if the plane c did not exist so that the blank pixel hyperplane Z is on the edge of the work volume 100, the values for the pixels in the blank pixel hyperplane Z will simply be the copy of the pixel values in the adjacent pixel hyperplane bb. This is an iterative process until required number of pixel hyperplanes have been inserted and, thus, at step 40, the system checks to see whether additional planes have to be inserted. If the last pixel hyperplane in this cycle has been just inserted, the process ends. If more pixel hyperplanes need to be inserted, the system loop backs to the step 10 and the next pixel hyperplane is inserted. If the inserted plane is not on the edge of the work volume, as in the example shown in
According to the steps 20, 22, 24, for each pixel pn in the newly inserted blank pixel hyperplane Z, where n=1 to total number of pixels in the plane, there are two adjacent pixels qn and rn in the adjacent existing pixel hyperplanes. The system assigns a value to the pixel pn that is equal to the adjacent pixels' values only if both of the adjacent pixels qn and rn have the same value. If the values of the pixels qn and rn are different, no value is assigned to the pixel pn. At the step 22, if the values for the pixels qn and rn are the same, the value of the pixel pn is set to the same value. If the values of the pixels qn and rn are different, no value is assigned to the pixel pn. This iterative process of assigning a value to the pixels in the newly inserted hyperplane continues until all pixels in the pixel hyperplane has been considered. So, at the step 26, if there are more pixels in the blank pixel hyperplane Z, then at the step 28, the system moves on to the next pixel pn and loops back to the step 20 and repeats the steps of determining the appropriate value for the pixel pn.
The example shown in
Next, at step 30, for each pixel pn on the inserted blank pixel hyperplane Z that was not assigned a value, the value of the pixel pn is set to be the value of the nearest pixel on the inserted blank pixel hyperplane Z whose value has been assigned in the step 24. At step 32, if there are more pixels in the inserted blank pixel hyperplane Z that does not have an assigned value, the algorithm grabs the next pixel without an assigned value and repeats the step 30. This is shown in FIG. 3D. In FIG. 3D, for example, the unassigned pixels, Z-G, Z-H, Z-I, Z-J, Z-K, Z-L, Z-M, Z-N, Z-O, Z-P, Z-Q and Z-R are assigned the value of the nearest pixel in the pixel hyperplane Z, whose value was determined in the step 24. For example, for the pixel Z-L there are two pixels, Z-F and Z-S that were assigned a value in the step 24. But the pixel Z-S is seven pixels away from the pixel Z-L and the pixel Z-F is only six pixels away. Thus, the value of the closer pixel Z-F is assigned to the pixel Z-L. On the other hand, for the pixel Z-R, for example, the nearest pixel in the blank pixel hyperplane Z, whose value was determined in step 24 is pixel Z-S and, thus, the value of the pixel Z-S would be copied to the pixel Z-R. This process continues with all of the previously unassigned pixels until all of them gets a value assigned. The resulting final up-sampled work volume 110 is shown in
Although in
Once all pixels on the new blank hyperplane Z has been assigned a value, this iterative loop stops and goes to step 40 to determine whether or not more planes are to be inserted into the work binary volume 100. If an additional plane is inserted, the process described above is repeated. If no more planes are to be inserted, this cycle of plane inserting process is completed.
The process described above illustrates one cycle of up-sampling. If after one cycle of up-sampling, the work binary volume is not at the target size, additional cycles of up-sampling is conducted according to the process illustrated in
When up-sampling a dimension of a work binary volume to more than double the scale, it is important that anti-aliasing should be taken into consideration. In the previous section, the step 30 copies the value of the nearest pixel value in the new plane. It may happen that there are more than one pixel with minimal distance, i.e. more than one pixel have the same closest distance to the particular blank pixel of concern and also have been assigned a pixel value. When their values are also not unique, an anti-aliasing default value is used. Preferably, there should exist a separate default value for each extended dimension and are arbitrarily predetermined. This can be achieved by flipping the default value when a full cycle of plane insertion is completed in that dimension. In other words, if the anti-aliasing default value was initially arbitrarily determined to be a “1”, upon completion of one cycle of plane insertion, the anti-aliasing default value is flipped to a “0”. This flipping can be executed upon completion of each plane insertion cycle in one dimension, or upon completion of one full cycle of up-sampling.
A similar anti-aliasing effect can be achieved by preferring a pixel from a certain direction with respect to the blank pixel being assigned, when the minimal distance is not unique. For example, in FIG. 3D, if there were another plane between planes L and M so that a column of pixels LM existed between the column L and column M. The pixel Z-LM would be equidistant from pixels Z-F and Z-S. Therefore, there is not one but two pixels that are nearest to the pixel Z-LM which has a pre-assigned pixel value in the inserted blank pixel hyperplane Z. As an anti-aliasing measure, a preferred direction can be arbitrarily pre-selected so that either Z-F or Z-S, whichever is in the pre-selected preferred direction from the unassigned pixel Z-LM, will be selected and the pixel value of that pixel will be assigned to the unassigned pixel Z-LM. Thus, in this embodiment, the anti-aliasing default direction can be reversed upon completion of one full cycle of up-sampling. Alternatively, the anti-aliasing default direction can be reversed upon completion of a plane insertion process in any given dimension in which the binary volume is being extended. In 3-dimension, since there are four principal directions available in a given plane, the anti-aliasing default direction can be any one of the four principal directions and the anti-aliasing default directions can be reversed (i.e., 180 degrees) or rotated through the four principle directions.
The order in which the planes are inserted should not be arbitrary. The following order is preferred. As long as there are planes to be inserted according to the location mapping scheme, for each dimension to be extended, insert one plane between every two existing planes or at the edge of the volume, unless the location mapping scheme does not allow it, and flip the anti-aliasing default value for the extended dimension. The preference herein reflected is with respect to the number of planes inserted between any two existing planes at any given time.
In this example, the work volume 200 is processed through two cycles of up-sampling in each dimension (x and y) being extended to reach the final tripled size 230. First, during the first up-sampling cycle in the x dimension, new pixel planes (shown with the diagonal line-patterns) are inserted between every two existing planes in the original work volume 200. In this cycle, six (6) new pixel planes are inserted resulting in an interim work volume 210 having total of thirteen (13) pixel planes. Alternatively, if the particular location mapping scheme allows, new pixel planes can be inserted on the edges of the interim work volume 210 as shown by the two new pixel planes shown in broken lines. During this first up-sampling process, every time a pixel plane is inserted, the assignment of the pixel values for the pixels in the new pixel plane would be conducted according to the process described above in reference to FIGS. I and 4A-4E.
Next, before the second up-sampling cycle in the x dimension is conducted, first up-sampling cycle in the y dimension and up-sampling in any other dimension that requires growing is performed. Although, for simplicity of illustration, insertion of planes perpendicular to the illustrated planes are not shown, the extension in they dimension results in the interim work volume 220 whose planes are now larger and shown as being extended in the y dimension.
Next, in the second up-sampling cycle in the x dimension, in order to reach the targeted size of twenty-one (21) planes, eight (8) new pixel planes are inserted into locations determined by the particular location mapping scheme in to the interim volume 220 resulting in the work volume 230 having twenty-one (21) pixel planes. Whatever the location mapping scheme is used, the scheme should insert the necessary pixel planes into the work volume as evenly distributed as possible. Next, the second up-sampling cycle in they dimension is performed generating the final work volume 240 that has tripled in size from the original work volume 200 in both the x and y dimensions to increase the size of the planes in the y dimension. At this point, other dimensions may continue to grow if necessary.
Referring to
The invention described herein can be automated by, for example, tangibly embodying a program of instructions upon a storage media, readable by a machine capable of executing the instructions. A general purpose computer is an example of such a machine. Examples of the storage media are well know in the art and would include such devices as, a readable or writable CD, flash memory chips (e.g. thumb drives), various magnetic storage media, etc.
The essential features of the invention having been disclosed, further variations will now become apparent to persons skilled in the art. All such variations are considered to be within the scope of the appended claims. Reference should be made to the appended claims, rather than the foregoing specification, as indicating the true scope of the subject invention.
This is a U.S. non-provisional application of U.S. provisional patent application Ser. No. 60/793,865, filed Apr. 21, 2006, by Yatziv et al., the entirety of which application is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60793865 | Apr 2006 | US |