This application claims the benefit of EP 23164679.5, filed on Mar. 28, 2023, which is hereby incorporated by reference in its entirety.
Signed distance fields (SDFs) have many applications to volume data processing, rendering, and computer vision. For example,
Contours extracted directly from a binary image (and/or a binary volume) are not smooth because the underlying binary image is not smooth. The algorithm to calculate the SDF from a binary two-dimensional (2D) image or three-dimensional (3D) volume is conventionally called signed distance transform (SDT). For general images (and/or volumes), it has been demonstrated that the Euclidean SDT (where the distance is the Euclidean distance) can be solved in linear time. However, the conventional method can only process images (and/or volumes) on a regular (and/or rectilinear) grid.
Depending on the type of medical examination or treatment, it is not possible or is inappropriate to obtain images or volumes on regular grids. Sheared volumes arise, e.g., in procedures with optical guidance for a medical instrument, such as a needle. Examples of such procedures are biopsy and drainage. Sheared volumes also arise if there is a need to reduce radiation on a particularly sensitive anatomical structure, such as a patient's eye. For such cases with sheared volume imaging, the conventional methods of determining Euclidean distance transforms (EDTs) and SDTs cannot be used, impeding a faithful and/or real-time rendering pipeline for the acquired medical image datasets.
It is therefore an object to provide a solution for enabling, in particular real-time, rendering of medical images based on volumetric medical datasets with sheared volumes. Alternatively, or in addition, it is an object to provide a technique for determining an Euclidean distance transform (EDT), and/or a signed distance field (SDF) for a volumetric medical dataset with a sheared volume, and/or to accelerate the rendering of images based on sheared volume data, in particular while saving computing resources.
This object is solved by a method for rendering a medical image associated with a volumetric medical dataset, by a computing device, by a system, by a computer program (also: computer program product), and by a non-transitory computer-readable medium. Advantageous aspects, features and embodiments are described in the following description.
In the following, the solution is described with respect to the method for rendering a medical image associated with a volumetric medical dataset as well as with respect to the computing device. Features, advantages or alternative embodiments herein can be assigned to the other objects (e.g., the system, the computer program or a computer program product), and vice versa. In other words, claims for the computing device, and/or the system, can be improved with features described or claimed in the context of the method. In this case, the functional features of the method are embodied by structural units (and/or modules) of the computing device or system and vice versa, respectively.
As to a first aspect, a computer-implemented method for rendering a medical image associated with a volumetric medical dataset including a sheared volume is provided. The method includes an act of receiving a volumetric medical dataset from a medical scanner. The medical scanner provides the volumetric medical dataset according to a sheared volume. The sheared volume is represented by a sheared three-dimensional (3D) lattice including a series of parallel rectilinear two-dimensional (2D) lattices and a series of parallel sheared one-dimensional (1D) lattices. Each sheared 1D lattice is non-orthogonal to a 2D plane (which may also be denoted as slice) spanned by any one of the 2D lattices. Each lattice point of the sheared 3D lattice represents a voxel of the volumetric medical dataset. A (e.g., binary) value of a scalar field is associated with the voxel.
The method further includes an act of constructing an auxiliary rectilinear volume represented by an auxiliary rectilinear 3D lattice. The auxiliary rectilinear volume includes (and/or tightly bounds, in particular from the outside) the sheared volume of the received volumetric medical dataset. A series of auxiliary rectilinear 2D lattices of the auxiliary rectilinear 3D lattice spans the same series of 2D planes as the series of 2D lattice of the sheared 3D lattice with identical 2D lattice constants of the auxiliary rectilinear 2D lattices and the 2D lattice of the sheared 3D lattice. A series of auxiliary 1D lattices of the auxiliary rectilinear 3D lattice is orthogonal to the 2D planes spanned by the 2D lattices. The lattice constant of the auxiliary 1D lattice is determined as the distance between neighboring (also denoted as consecutive) 2D planes. Neighboring (also: consecutive) 2D planes are specified by passing through neighboring (also: consecutive) lattice points along the sheared 1D lattice.
The method may further include an act of determining, for any lattice point of the sheared 3D lattice, the nearest lattice point on the constructed auxiliary rectilinear 3D lattice. Determining the nearest lattice point may include determining a coordinate distance between the lattice point of the sheared 3D lattice and any lattice point on the constructed auxiliary rectilinear 3D lattice and selecting the lattice point with the minimal coordinate distance, to the lattice point of the sheared 3D lattice, among the lattice points on the constructed auxiliary rectilinear 3D lattice.
Alternatively, or in addition, the method may include an act of determining, for any lattice point of the constructed auxiliary rectilinear 3D lattice, the nearest lattice point on the sheared 3D lattice. Determining the nearest lattice point may include determining a coordinate distance between the lattice point of the constructed auxiliary rectilinear 3D lattice and any lattice point on the sheared 3D lattice and selecting the lattice point with the minimal coordinate distance, to the lattice point of the constructed auxiliary rectilinear 3D lattice, among the lattice points on the sheared 3D lattice.
The method further includes an act of assigning, to any lattice point of the sheared 3D lattice, the value of the scalar field of the lattice point of the sheared 3D lattice to the determined nearest lattice point on the constructed auxiliary rectilinear 3D lattice.
The method further includes an act of applying, for any lattice point of the constructed auxiliary rectilinear 3D lattice, a Euclidean distance transform (EDT) to the value of the scalar field assigned to the lattice point of the constructed auxiliary rectilinear 3D lattice and obtaining an (e.g., associated) EDT value of the scalar field.
The method may further include an act of assigning, to any lattice point of the sheared 3D lattice, the obtained (e.g., associated) EDT value of the scalar field of the determined nearest lattice point on the constructed auxiliary rectilinear 3D lattice.
The method still further includes an act of rendering a medical image based on the assigned (e.g., obtained and/or associated) EDT values (e.g., of the sheared volume).
By the technique, constructing a medical image for display from a volumetric medical dataset (which may also be denoted as 3D medical image), which is provided by a medical scanner (e.g., a magnetic resonance imaging, MRI, scanner and/or a computed tomography, CT, scanner) according to a sheared volume (which may also be denoted as sheared model matrix), may be improved in terms of quality (e.g., of the medical image) and/or efficiency, e.g., including time and/or computing resources (e.g., including memory and/or processing power). Alternatively, or in addition, the method may enable real-time applications and/or accelerated rendering, e.g., for optical guidance during a needle procedure. E.g., acquiring the volumetric medical dataset according to a sheared volume may be required to enable the handling of the needle.
A needle procedure may include a biopsy and/or drainage. The needle procedure may be performed while the medical scanner continues acquiring volumetric medical datasets, from which, according to the technique, medical images are constructed and displayed for optical guidance.
Alternatively, or in addition, the medical scanner may provide the volumetric medical dataset according to the sheared volume in order to reduce radiation on sensitive anatomical structures (e.g., a patient's eyes).
The medical scanner may be used for a medical scan. A medical scan may be performed on a human body (briefly: body), and/or a (in particular human) patient.
Further alternatively, or in addition, by the technique, a Signed Distance Transform (SDT) for a gantry-tilted volume may be determined. The SDT can be used for accurate, and/or faithful, in particular real-time, rendering of a medical image captured by a tilted gantry, e.g., of a CT scan.
The SDT of a scalar field may also be denoted as signed distance function (SDF).
The rectilinear 2D lattice (also denoted as non-auxiliary rectilinear 2D lattice, real rectilinear 2D lattice or actual rectilinear 2D lattice, and/or as rectangular 2D lattice) of the sheared (also: oblique) volume may be spanned by a first coordinate (e.g., x) and a second coordinate (e.g., y). The axes of the first coordinate (e.g., x) and of the second coordinate (e.g., y) may be orthogonal.
The sheared (also: oblique) 1D lattice may be spanned by a third coordinate (e.g., z). The axis of the third coordinate (e.g., z) may be non-orthogonal, and/or at an oblique angle, to the 2D plane (also: slice) spanned by the rectilinear 2D lattice of the sheared volume.
The sheared (also: oblique) 3D lattice may correspond to a series of parallelly displaced (also: parallel) rectilinear 2D lattices, wherein the parallel displacement is based on the sheared 1D lattice. Alternatively, or in addition, the sheared 3D lattice may include the series of parallelly displaced 2D lattices and the series of parallelly displaced (also: parallel) sheared 1D lattices, with each 2D lattice sharing exactly one lattice point with each of the sheared 1D lattices, and vice versa.
The auxiliary rectilinear 2D lattice of the auxiliary rectilinear volume may be spanned by an auxiliary first coordinate (e.g., x′) and an auxiliary second coordinate (e.g., y′). The axes of the auxiliary first coordinate (e.g., x′) and of the auxiliary second coordinate (e.g., y′) may be orthogonal. Alternatively, or in addition, the axis of the auxiliary first coordinate (e.g., x′) may be parallel to the axis of the (e.g., non-auxiliary, and/or real) first coordinate (e.g., x), and/or the axis of the auxiliary second coordinate (e.g., y′) may be parallel to the axis of the (e.g., non-auxiliary, and/or real) second coordinate (e.g., y).
The auxiliary 1D lattice may by spanned by an auxiliary third coordinate (e.g., z′). The axis of the auxiliary third coordinate (e.g., z′) may be perpendicular (and/or orthogonal) to the 2D plane spanned by the (e.g., auxiliary) rectilinear 2D lattice. Alternatively, or in addition, the direction of the axis of the auxiliary third coordinate (e.g., z′) may be determined by the cross product (also denoted as vector product) of the vectors spanning the axes of the (e.g., auxiliary) first and second coordinates (e.g., x′ and y′; equivalently also x and y may be used as the axes of the corresponding non-auxiliary and auxiliary rectilinear 2D lattices are parallel).
The auxiliary rectilinear 3D lattice may correspond to a series of parallelly displaced (also: parallel) rectilinear 2D lattices, wherein the parallel displacement is based on the auxiliary 1D lattice. Alternatively, or in addition, the auxiliary rectilinear 3D lattice may include a series of parallelly displaced auxiliary rectilinear 2D lattices and a series of parallelly displaced (also: parallel) auxiliary 1D lattices, with each auxiliary rectilinear 2D lattice sharing exactly one lattice point with each of the auxiliary 1D lattices, and vice versa.
A 2D plane spanned by a (e.g., non-auxiliary and/or auxiliary) 2D lattice may also be denoted as 2D slice (or briefly: slice).
The lattice constant may also be denoted as length scale (e.g., of the corresponding coordinate direction of the lattice). Alternatively, or in addition, the lattice constant may denote the distance between neighboring voxels along the corresponding coordinate direction.
The auxiliary rectilinear volume may tightly bound the sheared volume (e.g., from the outside). E.g., the non-auxiliary 2D lattice and the auxiliary 2D lattice at one side of the sheared volume and the auxiliary rectilinear volume may be aligned (and/or the auxiliary 2D lattice at that side may include the non-auxiliary 2D lattice, in particular without any parallel displacement). Alternatively, or in addition, the auxiliary rectilinear volume may be represented by the smallest (e.g., in terms of the number of lattice points and/or overall lengths along any one of the coordinate axes, in particular along the first and/or second auxiliary coordinate axes) auxiliary 3D lattice, into which the sheared volume (and/or the sheared 3D lattice representing the sheared volume) may be inset (and/or fit).
The scalar field may include a binary field (also denoted as Boolean field), e.g., distinguishing between foreground (e.g., any organ) and background per voxel. The binary field may alternatively include the values “true” (T) and “false” (F), e.g., for foreground and background per voxel, respectively.
Alternatively, or in addition, the scalar field may be a k-ary field. E.g., the scalar field may be a different value for each of a number of different (e.g., types of) organs and another value for the background. E.g., the values 0,1, 2, . . . , k−1 may be assigned to the voxel representing background, liver, kidney, and so on, for k−1 different organs.
Alternatively, or in addition, a heart segmentation (e.g., for a CT scan) may include a scalar field with several (e.g., nine) values. E.g., the scalar values 0, 1, 2, . . . , 8 may represent the left ventricle (LV) blood pool, LV myocardium, LV other structure, LV endocardium, LV epicardium, left atrium (LA), right atrium (RA), right ventricle (RV), and aorta (AO), respectively.
According to an embodiment, the technique may be extended to a scalar field storing floating point values (e.g., in relation to a flow velocity).
The (e.g., squared) EDT of a (e.g., binary) scalar field may include a scalar field with zero and any natural number as values.
It is noted that in the following, the EDT, and/or ED, predominantly refer to (e.g., binary) scalar fields, and/or values, without squaring. However, whenever evident from the context, EDT, and/or ED, may also loosely be used to refer to the squares of the (e.g., binary) scalar fields, and/or values.
The EDT for a binary scalar field may indicate the (e.g., minimal) Euclidean distance of a voxel with a first predetermined value of the scalar field (e.g., “false” or “background”) from a (e.g., nearest) voxel with a second predetermined value of the scalar field (e.g., “true” or “foreground”).
Alternatively, or in addition, the EDT of the binary scalar field may be determined by determining a squared Euclidean distance (ED). The squared ED may be determined based on a series of overlapping quadratic parabolas. The shape of any one of the quadratic parabolas may depend on the lattice constant of the corresponding lattice direction. The squared ED may be determined by first determining the squared ED per row, and/or per column, of a matrix (e.g., representing pixels, and/or voxels), performing sums of squared EDs of rows and columns and determining the minimum of all sums. The rows and columns of the matrix may correspond to the lattice points of a rectilinear, e.g., D2, lattice.
The act of applying the EDT may include applying a Signed EDT (SDT). The SDT may correspond to the EDT for any voxel with a first predetermined value. For any voxel with the second predetermined (in particular differing from the first predetermined) value, the SDT may include the negative (and/or inverse) of the analogously computed EDT.
Alternatively, or in addition, the (e.g., squared) SDT of a (e.g., binary) scalar field may include any integer value. Positive values may correspond to the (e.g., minimal) Euclidean distance of a voxel with a first predetermined value of the scalar field (e.g., “false” or “background”) from a (e.g., nearest) voxel with a second predetermined value of the scalar field (e.g., “true” or “foreground”). Alternatively, or in addition, negative values may correspond to the (e.g., minimal) Euclidean distance of a voxel with the second predetermined value (e.g., “true” or “foreground”) from a (e.g., nearest) voxel with the first predetermined value of the scalar field (e.g., “false” or “background”). Alternatively, or in addition, the above considerations may apply with the opposite sign, i.e., with positive values and negative values exchanged.
In any example, the first predetermined value of the scalar field may be different (e.g., the opposite) than the second predetermined value of the scalar field.
The displaying may include, and/or may be performed by, a display device (briefly also: display), in particular a screen (e.g., located in an operating theatre and/or in a doctor's office), and/or an extended reality (XR) headset. XR may include virtual reality (VR) and/or augmented reality (AR).
The output to the display device may include a wired and/or wireless transmission of the constructed medical image.
Alternatively, or in addition, the medical image may be projected, e.g., directly, onto a patient, e.g., by an extended reality (XR) device (in particular an XR headset). The XR may include, and/or may be an umbrella term for, augmented reality (AR), and/or virtual reality (VR). The projected medical image may be rendered using the technique, in particular using a signed distance field (SDF) determined by the technique.
The act of determining, for any lattice point of the sheared 3D lattice, the nearest lattice point on the constructed auxiliary rectilinear 3D lattice may include applying a Voronoi map.
A Voronoi map may be defined as and/or may include a function that can return the nearest point in a field with predetermined scalar value to an input point. Alternatively, or in addition, the closest point transform (CPT) may be a 3D discrete version of a Voronoi map, where all the points are located on a 3D lattice. The SDF can be deducted from the closest point transform (CPT) with point coordinates.
The series of rectilinear 2D lattices may include a series of square 2D lattices.
A square 2D lattice (briefly: square lattice) may also be denoted as quadratic 2D lattice (briefly: quadratic lattice). Alternatively, or in addition, the two lattice constants of the rectilinear 2D lattice may be equal (and/or identical).
The scalar field associated with the voxel may include a binary field. Alternatively, or in addition, the scalar field associated with the voxel may include a k-ary field with k a natural number greater than, or equal to, two.
The volumetric medical dataset may include binary data (and/or the binary field), and/or k-ary data (and/or the k-ary field) for a natural number k of at least two, per voxel.
The binary data may also be denoted as Boolean data. Alternatively, or in addition, the binary field may also be denoted as Boolean field.
The binary, and/or k-ary, data may include a classification. E.g., the binary data may include a “True” or “False” classification. Alternatively, or in addition, the binary data may include a classification as anatomical structure, in particular as an organ, or as background. Further alternatively, or in addition, the k-ary data may include a classification according to a type of anatomical structure, in particular a type of organ, or a classification as background.
The act of applying the EDT to the value of the scalar field associated with the voxel represented by the lattice point may include applying a signed EDT (SDT). Alternatively, or in addition, the sign of the signed Euclidean distance transformed scalar field (briefly: signed EDT scalar field; also: SDT scalar field) at the voxel may be based on the value of the scalar field at the voxel in the received volumetric medical dataset.
For a binary scalar field, the Euclidean distance transformed scalar field (also: Euclidean distance, ED) may be positive at any voxel having a first value of the binary scalar field and/or negative at any voxel having a second value (in particular different from the first value) of the binary scalar field.
The signed Euclidean distance transformed scalar field may also be denoted as signed distance field (SDF).
The signed distance field (SDF) may also be denoted as signed distance function, or shortly as distance field. Alternatively, or in addition, the SDF may include a position as an input and may output a distance from the position to a nearest part of a shape (e.g., segmented organ and/or vessel and/or medical instrument and/or body, or part thereof). Further alternatively, or in addition, the SDF may include a subtraction of an inverted Euclidean distance transform (EDT) from an original EDT. Still further alternatively, or in addition, a negative value of the output of the SDF may correspond to a position inside a contour of the shape and a positive value of the output of the SDF corresponds to a position outside the contour of the shape, or vice versa.
The act of applying the EDT, and/or the SDT, to the value of the scalar field associated with the voxel represented by the lattice point may include a closest point transform (CPT).
The CPT may include storing (and/or saving) the coordinates of the nearest lattice point on the (e.g., non-auxiliary) rectilinear 2D lattice according to a coordinate system of the auxiliary rectilinear 2D lattice lying within the same 2D plane (e.g., as the 2D plane spanned by the non-auxiliary rectilinear 2D lattice).
The value of the scalar field associated with the voxel of the received volumetric medical dataset may be indicative of an anatomical structure.
The classification of the anatomical structure may include a type of organ, a type of (e.g., soft and/or hard) tissue, and/or a background.
The rendered medical image may include a contour of an anatomical structure. Alternatively, or in addition, the rendered medical image may include a segmentation of an anatomical structure. Further alternatively, or in addition, the rendered medical image may include a volume representation of an anatomical structure.
The volumetric medical data set (which may also be denoted as input) may, according to the technique, include a 3D k-ary value volume (and/or a volume with k-ary values of a scalar field) that represents a segmentation of anatomical structures, e.g., left atrium (LA), right atrium (RA), and/or any further anatomical structure of the heart. The segmentation volume may be generated from a 3D volume output from a medical scanner, which may also be denoted as scanning device (e.g., a CT scanner, and/or an MRI scanner), or briefly scanner. While displaying a medical image on the display device, and/or by the XR device, the medical image may be displaying (and/or showing) a multiplanar reformatted (MPR) image, and/or one slice of the volume and a contour of the segmented anatomical structure. To obtain the contour, the technique may be used to determine (e.g., calculate) the SDF from the segmentation volume efficiently (and/or quickly) and use the SDF to render the contour.
The act of rendering the medical image may include performing a ray tracing algorithm. Optionally, the ray tracing algorithm may use, based on the EDT value of the scalar field, empty space skipping.
The method may further include an act of outputting the rendered medical image for display.
The medical scanner (which may also be denoted as medical imaging device) may include a computed tomography (CT) scanner. Alternatively, or in addition, the medical scanner may include a magnetic resonance imaging (MRI) scanner. Alternatively, or in addition, the medical scanner may include an ultrasound (US) scanner. Alternatively, or in addition, the medical scanner may include a positron emission tomography (PET) scanner. Further alternatively, or in addition, the medical scanner may include a single-photon emission tomography (SPECT) scanner.
The medical scanner may include a gantry. The received volumetric medical dataset may include a sheared volume according to an oblique position of the gantry, e.g., relative to a patient table. The patient table may also be denoted as operating table, examination table, and/or patient bench.
The method may be used for optical guidance by the medical scanner during an, in particular oblique, needle procedure. Optionally, the needle procedure may include performing a biopsy and/or a drainage.
As to a device aspect, a computing device for rendering a medical image associated with a volumetric medical dataset including a sheared volume is provided. The computing device includes a volumetric medical dataset receiving interface configured for receiving a volumetric medical dataset from a medical scanner. The medical scanner provides the volumetric medical dataset according to a sheared volume. The sheared volume is represented by a sheared 3D lattice including a series of parallel rectilinear 2D lattices and a series of parallel sheared 1D lattices. Each sheared 1D lattice is non-orthogonal to a 2D plane spanned by any one of the 2D lattices. Each lattice point of the sheared 3D lattice represents a voxel of the volumetric medical dataset. A (e.g., binary) value of a scalar field is associated with the voxel.
The computing device further includes an auxiliary rectilinear constructing module implemented by a processor configured for constructing an auxiliary rectilinear volume represented by an auxiliary rectilinear 3D lattice. The auxiliary rectilinear volume includes the sheared volume of the received volumetric medical dataset. A series of auxiliary rectilinear 2D lattices of the auxiliary rectilinear 3D lattice spans the same series of 2D planes as the series of 2D lattice of the sheared 3D lattice with identical 2D lattice constants of the auxiliary rectilinear 2D lattices and the 2D lattice of the sheared 3D lattice. A series of auxiliary 1D lattices of the auxiliary rectilinear 3D lattice is orthogonal to the 2D planes spanned by the 2D lattices. The lattice constant of the auxiliary 1D lattice is determined as the distance between neighboring 2D planes. The neighboring 2D planes are specified by passing through neighboring lattice points along the sheared 1D lattice.
The computing device further includes a determining module implemented by a processor configured for determining, for any lattice point of the sheared 3D lattice, the nearest lattice point on the constructed auxiliary rectilinear 3D lattice, or vice versa. Determining the nearest lattice point may include determining a coordinate distance between the lattice point of the sheared 3D lattice and any lattice point on the constructed auxiliary rectilinear 3D lattice and selecting the lattice point with the minimal coordinate distance, to the lattice point of the sheared 3D lattice, among the lattice points on the constructed auxiliary rectilinear 3D lattice. Alternatively, or in addition, determining the nearest lattice point may include determining a coordinate distance between the lattice point of the constructed auxiliary rectilinear 3D lattice and any lattice point on the sheared 3D lattice and selecting the lattice point with the minimal coordinate distance, to the lattice point of the constructed auxiliary rectilinear 3D lattice, among the lattice points on the sheared 3D lattice.
The computing device further includes a first assigning module implemented by a processor configured for assigning, to any lattice point of the sheared 3D lattice, the value of the scalar field of the lattice point of the sheared 3D lattice to the determined nearest lattice point on the constructed auxiliary rectilinear 3D lattice.
The computing device further includes an applying module implemented by a processor configured for applying, to any lattice point of the constructed auxiliary rectilinear 3D lattice, an EDT to the value of the scalar field assigned to the lattice point of the constructed auxiliary rectilinear 3D lattice. The applying module may be further configured for obtaining an associated EDT value of the scalar field. Alternatively, or in addition, the obtaining of an associated EDT value of the scalar field may be configured to be performed by a (e.g., separate) obtaining module.
The computing device may further include a second assigning module implemented by a processor configured for assigning, to any lattice point of the sheared 3D lattice, the obtained EDT value of the scalar field of the determined nearest lattice point on the constructed auxiliary rectilinear 3D lattice.
The computing device still further includes a rendering module implemented by a processor configured for rendering a medical image based on the (e.g., assigned, obtained and/or associated) EDT values (e.g., of the sheared volume).
The computing device may be configured to perform the method according to the method aspect.
As to a system aspect, a system for rendering a medical image associated with a volumetric medical dataset including a sheared volume is provided. The system includes a computing device according to the device aspect. The system further includes one or more medical scanners configured to provide a volumetric medical dataset to the (in particular volumetric medical dataset receiving interface of the) computing device. The system still further includes a display device configured to receive the rendered medical image from the (in particular rendering module of the) computing device. Alternatively, or in addition, the display device is configured for displaying the rendered medical image.
The system may be configured to perform the method according to the method aspect.
As to a further aspect, a computer program product including program elements is provided. The program elements induce a computing device to carry out the acts of the method, according to the method aspect, for rendering a medical image associated with a volumetric medical dataset including a sheared volume, when the program elements are loaded into a memory of the computing device.
As to a still further aspect, a non-transitory computer-readable medium is provided. On the computer-readable medium, program elements are stored that can be read and executed by a computing device, in order to perform acts of the method, according to the method aspect, for rendering a medical image associated with a volumetric medical dataset including a sheared volume, when the program elements are executed by the computing device.
The properties, features and advantages of this invention described above, as well as the manner they are achieved, become clearer and more understandable in the light of the following description and embodiments, which will be described in more detail in the context of the drawings. This following description does not limit the invention on the contained embodiments. Same components or parts can be labeled with the same reference signs in different figures. In general, the figures are not for scale.
It shall be understood that a preferred embodiment of the present invention can also be any combination of the dependent claims or above embodiments with the respective independent claim.
These and other aspects of the invention will be apparent from and elucidated with reference to the embodiments described hereinafter.
Any reference signs in the claims should not be construed as limiting the scope.
The method 100 includes an act S102 of receiving a volumetric medical dataset from a medical scanner. The medical scanner provides the volumetric medical dataset according to a sheared volume. The sheared volume is represented by a sheared three-dimensional (3D) lattice including a series of parallel rectilinear two-dimensional (2D) lattices and a series of parallel sheared one-dimensional (1D) lattices. Each sheared 1D lattice is non-orthogonal to a 2D plane spanned by any one of the 2D lattices. Each lattice point of the sheared 3D lattice represents a voxel of the volumetric medical dataset. A value of a (e.g., binary) scalar field is associated with the voxel.
The method 100 further includes an act S104 of constructing an auxiliary rectilinear volume represented by an auxiliary rectilinear 3D lattice. The auxiliary rectilinear volume includes the sheared volume of the received S102 volumetric medical dataset. A series of auxiliary rectilinear 2D lattices of the auxiliary rectilinear 3D lattice spans the same series of 2D planes as the series of 2D lattice of the sheared 3D lattice with identical 2D lattice constants of the auxiliary rectilinear 2D lattices and the 2D lattice of the sheared 3D lattice. A series of auxiliary 1D lattices of the auxiliary rectilinear 3D lattice is orthogonal to the 2D planes spanned by the 2D lattices. The lattice constant of the auxiliary 1D lattice is determined as the distance between neighboring 2D planes. Neighboring 2D planes are specified by passing through neighboring lattice points along the sheared 1D lattice.
The method 100 further includes an act S106 of determining, for any lattice point of the sheared 3D lattice, the nearest lattice point on the constructed S104 auxiliary rectilinear 3D lattice, or vice versa. Determining S106 the nearest lattice point may include determining a coordinate distance between the lattice point of the sheared 3D lattice and any lattice point on the constructed S104 auxiliary rectilinear 3D lattice and selecting the lattice point with the minimal coordinate distance, to the lattice point of the sheared 3D lattice, among the lattice points on the constructed S104 auxiliary rectilinear 3D lattice. Alternatively, or in addition, determining S106 the nearest lattice point may include determining a coordinate distance between the lattice point of the constructed S104 auxiliary rectilinear 3D lattice and any lattice point on the sheared 3D lattice and selecting the lattice point with the minimal coordinate distance, to the lattice point of the constructed S104 auxiliary rectilinear 3D lattice, among the lattice points on the sheared 3D lattice.
The method 100 further includes an act S108 of assigning, to any lattice point of the sheared 3D lattice, the value of the scalar field of the lattice point of the sheared 3D lattice of the determined S106 nearest lattice point on the constructed S104 auxiliary rectilinear 3D lattice.
The method 100 further includes an act S110 of applying, for any lattice point of the constructed S104 auxiliary rectilinear 3D lattice, a Euclidean distance transform (EDT) to the value of the scalar field assigned S108 to the lattice point of the constructed S104 auxiliary rectilinear 3D lattice.
The method 100 further includes an act S112 of obtaining an associated EDT value of the scalar field.
The method 100 may further include an act S114 of assigning, to any lattice point of the sheared 3D lattice, the obtained S112 EDT value of the scalar field of the determined S106 nearest lattice point on the constructed S104 auxiliary rectilinear 3D lattice.
The method 100 further includes an act S116 of rendering a medical image based on the assigned S114 (and/or obtained S112) EDT values (e.g., of the sheared volume).
optionally, the method 100 further includes an act S118 of outputting the rendered S116 medical image for display.
The computing device 200 includes a volumetric medical dataset receiving interface 202 configured for receiving a volumetric medical dataset from a medical scanner. The medical scanner provides the volumetric medical dataset according to a sheared volume. The sheared volume is represented by a sheared 3D lattice including a series of parallel rectilinear 2D lattices and a series of parallel sheared 1D lattices. Each sheared 1D lattice is non-orthogonal to a 2D plane spanned by any one of the 2D lattices. Each lattice point of the sheared 3D lattice represents a voxel of the volumetric medical dataset. A value of a (e.g., binary) scalar field is associated with the voxel.
The computing device 200 further includes an auxiliary rectilinear constructing module 204 configured for constructing an auxiliary rectilinear volume represented by an auxiliary rectilinear 3D lattice. The auxiliary rectilinear volume includes the sheared volume of the received volumetric medical dataset. A series of auxiliary rectilinear 2D lattices of the auxiliary rectilinear 3D lattice spans the same series of 2D planes as the series of 2D lattice of the sheared 3D lattice with identical 2D lattice constants of the auxiliary rectilinear 2D lattices and the 2D lattice of the sheared 3D lattice. A series of auxiliary 1D lattices of the auxiliary rectilinear 3D lattice is orthogonal to the 2D planes spanned by the 2D lattices. The lattice constant of the auxiliary 1D lattice is determined as the distance between neighboring 2D planes. Neighboring 2D planes are specified by passing through neighboring lattice points along the sheared 1D lattice.
The computing device 200 further includes a determining module 206 configured for determining, for any lattice point of the sheared 3D lattice, the nearest lattice point on the constructed auxiliary rectilinear 3D lattice, or vice versa. Determining the nearest lattice point may include determining a coordinate distance between the lattice point of the sheared 3D lattice and any lattice point on the constructed auxiliary rectilinear 3D lattice and selecting the lattice point with the minimal coordinate distance, to the lattice point of the sheared 3D lattice, among the lattice points on the constructed auxiliary rectilinear 3D lattice. Alternatively, or in addition, determining the nearest lattice point may include determining a coordinate distance between the lattice point of the constructed auxiliary rectilinear 3D lattice and any lattice point on the sheared 3D lattice and selecting the lattice point with the minimal coordinate distance, to the lattice point of the constructed auxiliary rectilinear 3D lattice, among the lattice points on the sheared 3D lattice.
The computing device 200 further includes a first assigning module 208 configured for assigning, to any lattice point of the sheared 3D lattice, the value of the scalar field of the lattice point of the sheared 3D lattice of the determined nearest lattice point on the constructed auxiliary rectilinear 3D lattice.
The computing device 200 further includes an applying module 210 configured for applying, for any lattice point of the constructed auxiliary rectilinear 3D lattice, an EDT to the value of the scalar field assigned to the lattice point of the constructed auxiliary rectilinear 3D lattice. The applying module 210 may be further configured for obtaining an associated EDT value of the scalar field. Alternatively, or in addition, obtaining the associated EDT value of the scalar field may be configured to be performed by a (e.g., separate) obtaining module 212.
The computing device 200 may further includes a second assigning module 214 configured for assigning, to any lattice point of the sheared 3D lattice, the obtained EDT value of the scalar field of the determined nearest lattice point on the constructed auxiliary rectilinear 3D lattice.
The computing device 200 still further includes a rendering module 216 configured for rendering a medical image based on the assigned (and/or obtained, and/or determined) EDT values (e.g., of the sheared volume).
optionally, the computing device 200 further includes an outputting interface 218 configured for outputting the rendered medical image for display.
Further optionally, the computing device 200 may include a memory 220.
Optionally, the volumetric medical dataset receiving interface 202 and the outputting interface 218 may be included in a common (e.g., input-output) interface 222.
Further optionally, any one of the auxiliary rectilinear constructing module 204, the determining module 206, the first assigning module 208, the applying module 210, the obtaining module 212, the second assigning module 214, and/or the rendering module 216 may be included in or instructions configuring a processor 224 and/or processing unit 224, in particular a central processing unit (CPU) and/or a graphics processing unit (GPU).
The computing device 200 may be configured to perform the method 100.
A system for rendering a medical image associated with a volumetric medical dataset including a sheared volume may include a computing device, e.g., the computing device 200 according to
By the technique (e.g., embodied by the method 100, the computing device 200, and/or the system), a EDT, (e.g., Euclidean) SDT, and/or (e.g., Euclidean) SDF for a volumetric medical dataset (also denoted as 3D medical image) with a sheared volume (and/or sheared 3D lattice of voxels, also denoted as sheared model matrix), e.g., for gantry tilted CT data, may be determined.
Alternatively, or in addition, the technique may be used to determine (e.g., compute) the SDF for a volumetric medical dataset with a sheared volume. Volumetric medical datasets with sheared volumes, although not as widely used now, still exist in medical scans and/or medical imaging. E.g., some (e.g., CT) gantry tilted scans are still needed for (e.g., CT-) guided biopsy and/or (e.g., CT) guided drainage. In particular, the (e.g., CT) tilted gantry scans can help guide the oblique needle procedures more easily (in particular compared to untilted gantry scans). Alternatively, or in addition, brain (e.g., CT scans) sometimes need to tilt the gantry to reduce the amount of radiation to the eyes.
The k-ary segmentation of
Alternatively, or in addition, to determine (e.g., calculate) the SDF for a scalar value i (with i=0, 1, . . . , k−1) of a k-ary (e.g., scalar) field, the k-ary field may be converted to a binary (e.g., scalar) field (also denoted as Boolean field), in which the voxel of the scalar value i is classified as one (e.g., T, and/or “true”) value, and any voxel with a differing scalar value j≠i is classified as the other (e.g., F, and/or “false”) value. The technique may then be applied to the binary field (in particular obtained by the converting), and the SDF for value i can be determined (e.g., calculated).
A Voronoi map may be defined as a function that can return the nearest point in a field with predetermined scalar value (e.g., i with i=0, 1, . . . , k−1) to an input point (e.g., a voxel, and/or pixel). In this sense, the closest point transform (CPT) may correspond to a 3D discrete version of a Voronoi map, where all the points are located on a 3D lattice (e.g., representing voxels, and/or pixels).
Alternatively, or in addition, the SDF may be determined (and/or deducted) from the CPT with point coordinates.
Given a binary n-dimensional image (e.g., with pixel value, and/or voxel value, either T or F), its Euclidean SDF may be defined as an aligned image on the same grid where the absolute value of every pixel, and/or voxel, is the Euclidean distance to the nearest pixel, and/or voxel, of a different value on the binary image, and the sign of the value is positive (or negative) if and only if the binary pixel value is T (or F), or vice versa.
Herein, n may refer to the dimension of the medical dataset, and/or medical image. E.g., n=2 may refer to two-dimensional (2D) medical images, and n=3 may refer to three-dimensional (3D) volumetric medical datasets. Alternatively, or in addition, the (in particular Euclidean) SDF may be determined for any dimension n of the medical image, and/or medical volumetric dataset. In particular, the (e.g., Euclidean) SDF may be determined for 3D datasets, and/or volumetric datasets, received from a medical scanner, e.g., using CT and/or MRI as scanning modality.
The EDT may be defined as taking a scalar field (also denoted as input field) of Booleans (e.g., T and F, and/or “true” and “false”, respectively, corresponding to the values of the scalar field) and producing a (e.g., Euclidean distance transformed) field of scalars such that each value in the output is the ED to the nearest “true” pixel, and/or voxel, in the input. It is noted that a ED can be easily determined (e.g., computed) from a squared ED (e.g., by taking the square root) in linear time.
Alternatively, or in addition, the SDF can be determined (e.g., calculated) with two (e.g., independent, and/or separate) EDTs on the T and F values, respectively.
In
The method for determining the squared EDT and the SDF in
The conventional EDT algorithm, according to Felzenszwalb, for rectilinear grid images (and/or volumes) runs in O (n) time, where n is the total number of pixels (and/or voxels).
The conventional algorithm of has the following acts:
In a first act, the binary image is converted to a scalar field, where T values are replaced with zero, and F values are replaced with infinity in an initialization act. In a second act, a 1D squarer distance field is determined for every row in the image. The 1D squared distance field is a set of samples from a series of overlapping quadratic parabolas 502, as shown in
In
In a third act, the 2D squared Euclidean distance field may be determined (e.g., calculated) from the results of the second act. In the third act, the image is processed for every column. As shown in
In the example, the squared Euclidean distance, e.g., d (x0, y0)=minx,y((x−x0)2+(y−y0)2)=miny (minx ((x−x0)2+(y−y0)2)), is determined for a 2D image, where minx((x−x0)2+(y−y0)2) is evaluated in the second act (e.g., for a first dimension, and/or a row), and the third act evaluates miny, e.g., for a second dimension, and/or a column.
For a n×m rectilinear 2D image, all points can be enumerated by P (i,j)0≤i<n,0≤j<m. One row (e.g., at reference sign 506 in
In the example of
In the example of
Felzenszwalb demonstrated that building and sampling the hull of parabolas 502; 512; 522 is linear in time, since the number of parabolas 502; 512; 522 is no more than the number of pixels (and/or voxels).
The algorithm, e.g., as demonstrated in
Alternatively, or in addition, the original algorithm for a square lattice (also: square grid) may be easily adjusted, and/or generalized, to a rectilinear lattice (also: rectilinear grid) by adjusting the shape (e.g., the width) of the parabolas 502; 512; 522.
The method for determining the EDT, and/or SDF, can also be applied to a closest point transform (CPT), where the resulting field stores the coordinates of the nearest point. Alternatively, or in addition, the closest point coordinates may be easily converted to EDs.
In
The coordinate directions at reference signs 602 and 604 may be chosen at right angles. The coordinate directions at reference signs 602 and 604 span a 2D plane, in which the slice 610 lies. The coordinate direction 606 corresponds to the tilted direction defined by the geometry of the gantry used for the (e.g., CT) scan.
A (e.g., 3D) volume V may be specified by a model matrix M=[{right arrow over (x)}, {right arrow over (y)}, {right arrow over (z)}, {right arrow over (w)}], where {right arrow over (x)}, {right arrow over (y)}, {right arrow over (z)}, {right arrow over (w)} are three-component column vectors, which transform a voxel from its model space to the 3D world space. {right arrow over (x)},{right arrow over (y)}, {right arrow over (z)} are the three (e.g., coordinate) axes of the volume, and {right arrow over (w)} is the origin (e.g., of the coordinate, and/or model, space). The origin may, e.g., be located at a corner of the, e.g., 3D) volume V.
For a rectilinear volume, all three (e.g., coordinate) axes {right arrow over (x)}, {right arrow over (y)}, {right arrow over (z)} are mutually orthogonal, and/or perpendicular to each other. The conventional algorithm of Felzenszwalb relies on the assumption of a rectilinear volume.
For a sheared volume, e.g., of a gantry-tilted (in particular CT) scan (also denoted as image), the two (e.g., coordinate) axes {right arrow over (x)} and {right arrow over (y)}, are perpendicular to each other (and/or mutually orthogonal), but the third (e.g., coordinate) axis {right arrow over (z)} is not perpendicular to {right arrow over (x)} and {right arrow over (y)}.
By the technique, the SDF for a sheared volume may be determined (e.g., computed), in particular based on a transformation from the sheared volume to a (e.g., tightly bounding) auxiliary rectilinear volume.
In the following Table 1, the coordinates, vectors of unit length, lattice constants as well as lattice vectors (also denoted as axes) spanning a sheared 3D lattice and a (e.g., tightly bounding) auxiliary rectilinear 3D lattice are listed. Lattice points may be labeled by a triple of integers (i,j,k) and (i′, j′, k′) along the lattice vectors of the sheared and the auxiliary rectilinear (e.g., 3D) volume, respectively.
In the table above, by using the auxiliary floating point (and/or non-integer) numbers (i*,j*) and (i+,j+), the nearest point on one lattice (e.g., the constructed auxiliary rectilinear 2D lattice) may be determined for a lattice point on the other lattice (e.g., the original rectilinear 2D lattice of the sheared volume).
According to an embodiment of the technique, the following acts may be performed, as schematically illustrated in
In a first act, a (e.g., auxiliary) rectilinear volume V′ may be constructed (e.g., according to the act S104 of the method 100) that tightly bounds the input (e.g., received according to the act S104 of the method 100) sheared volume V. The x′ axis 602′ and y′ axis 604′ of the auxiliary volume V′ are the same as the x axis 602 and the y axis 604 of the sheared volume V, respectively, except for a relative displacement of the origin, in particular depending on the corresponding slice 610-1; 610-2; 610-3; 610-4 (e.g., for the boundary slice 610-1 in
As the example of
In a second act, for every slice 610-1; 610-2; 610-3; 610-4 of the sheared volume V, a CPT algorithm is used to determine (e.g., calculate) the closest point coordinates on the slices 610-1; 610-2; 610-3; 610-4. Because the x axis 602 and the y axis 604 of V are perpendicular to each other, every slice 610-1; 610-2; 610-3; 610-4 of V corresponds to a rectilinear 2D image. Alternatively, or in addition, the conventional EDT, SDT, and/or SDF algorithms of [1,2] may be applied (and/or is still valid).
In a third act, an iteration through every z′ slice (and/or z′ line) 610-1; 610-2; 610-3; 610-4 (in particular for fixed x′ and y′ coordinates 602′ and 604′, respectively) of the auxiliary rectilinear volume V′ is performed. In a z′ slice (and/or z′ line) 610-1; 610-2; 610-3; 610-4, every voxel (and/or pixel) is located in one of the z slices of the sheared volume V. Since the z direction 606 is not perpendicular to the x and y directions 602 and 604, respectively, a voxel (and/or pixel) on the z′ slice (and/or z′ line) is not an exact voxel in the sheared volume V. Instead, it should be located inside a rectangle of the (e.g., original) 2D lattice. For the vertices of the rectangle, the closest coordinates on the slice have been computed in the second act. E.g., as exemplarily illustrated in
It is noted that every z′ slice 610-1; 610-2; 610-3; 610-4 of the auxiliary rectilinear volume lies on one slice (slice z) 610-1; 610-2; 610-3; 610-4 of the sheared volume V, and vice versa.
In a fourth act, the same algorithm (e.g., according to [1,2]) in the third act of the determining of the EDT, SDT, and/or SDF on a rectangular lattice (also: rectangular grid) may applied to the scalar field on the auxiliary rectilinear volume V′. Alternatively, or in addition, the CPT may be determined (e.g., computed) on the auxiliary rectilinear volume (and/or lattice).
In a fifth act, the EDT, SDT, SDF, and/or CPT of the auxiliary rectilinear volume V′ may be converted to the EDT, SDT, and/or SDF of the sheared volume V by determining (e.g., calculating) the Euclidean distance from the coordinates.
In the technique according to the above embodiment, the second act and the fourth act are similar to the conventional CPT, EDT, SDT, and/or SDF algorithms, and the time complexity is linear. In the third act and the fifth act, the execution time is also proportional to the number of voxels in the auxiliary rectilinear volume V′. So, the total time for determining the CPT, EDT, SDT, and/or SDF on a sheared volume is still linear.
The three views in
In any one of
In
According to another embodiment of the technique, the scalar value is either T or F (e.g., as binary scalar values), and the three axes of a voxel of the sheared volume V′ are denoted as {right arrow over (x)},{right arrow over (y)},{right arrow over (z)}. The coordinates of a voxel of index (i,j, k) given by i{right arrow over (x)}+j{right arrow over (y)}+k{right arrow over (z)}.
The three axes {right arrow over (x)}′, {right arrow over (y)}′, {right arrow over (z)}′ of the voxel in the auxiliary rectilinear volume V′ according to the embodiment may be determined (e.g., calculated) from the three axes {right arrow over (x)},{right arrow over (y)},{right arrow over (z)} of the (e.g., input) sheared volume V from a medical scanner with the following equations:
wherein ·represents the vector dot product (also denoted as scalar product), X represents the vector cross product, || || represents the length of a vector, and wherein the coordinates of an auxiliary voxel of index (i′,j′,k′) are given by i′{right arrow over (x)}′+j′{right arrow over (y)}′+k′{right arrow over (z)}′ (see, e.g., also Table 1 above).
Determining, for any voxel of index (i,j,k) on the 2D lattices (602, 604) for fixed k, the index C (i,j,k) of the closest voxel on the 2D lattice with a different scalar value (e.g., F vs. T), may be performed using the conventional CPT algorithm for rectilinear lattices.
For any lattice point 712 of index (i′,j′,k′) on the constructed auxiliary rectilinear 2D lattice (602′, 604′), the index (i*,j*, k*) on the (e.g., input) sheared volume from the medical scanner may be determined (e.g., calculated) with the following equation:
wherein i*,j* are floating point numbers and at least the nearest lattice point 714; 714-1; 714-2; 716; 716-1; 716-2 on the rectilinear 2D lattice (602, 604) within the same 2D plane 610-1; 610-2; 610-3; 610-4 (see, e.g., also Table 1 above).
The indices of the lattice points 714-1, 714-2, 716-1, 716-2 on the (e.g., input) sheared volume are (i1,j1, k1)=(└i*┘, └j*┘, k*), (i2,j2, k2)=(i1,j1+1, k1), (i3, j3, k3)=(i1+1,j1, k1), (i4, j4, k4)=(i1+1, j1+1,k1), respectively. Herein, └t┘ represents the integer part of floating point (and/or non-integer) number t.
The lattice points 714-1, 714-2, 716-1716-2 may be denoted by indices (it, jt, kt), t=1,2, 3,4, and the closest voxels with different scalar values (e.g., F vs. T) on the 2D lattice may be denoted as C (it, jt, kt), t=1,2,3,4. E.g., there are four voxels (e.g., denoted as set PF) of T scalar value and/or four voxels (e.g, denoted as set PF) of F scalar value. The coordinates of each voxel (in particular on the sheared lattice) are determined easily from its index. The distance from each voxel to the auxiliary rectilinear lattice point (i′,j′,k′) is determined from the coordinates of (i′,j′,k′) and coordinates of each voxel. E.g., the voxel with minimum distance to (i′, j′,k′) in PT is determined as the closest point with T scalar value (e.g., denoted as CT1(i′,j′,k′)) to (i′,j′,k′), e.g., at reference sign 712 in
The conventional CPT algorithm may be applied to determine the closest point to every auxiliary lattice point P′=(i′,j′, k′) (e.g., at reference sign 712 in
In the abstracted procedure, CF2(i′,j′, k′) denotes the index of the closest point with F scalar value to auxiliary lattice point P′=(i′, j′,k′) on the slices 0 to k′ of the auxiliary rectilinear volume, wherein CF3(i′,j′, k′) is the index of the closest point with F scalar value to P′=(i′,j′,k′) on all slices of the auxiliary rectilinear volume.
From lines L3 to L7, scanning one line of auxiliary points in ascending third index order (k′=0, 1, 2, . . . ) is performed. When scanning P′=(i′,j′,k′), the closest point is either CF2(i′,j′,k′−1), which is the closest point (i′,j′,k′−1) in slices 0 to k′−1 or CF1(i′,j′,k′), which is the closest point to (i′,j′, k′) on slice k′, whichever is closer to P′, wherein D (P1, P′) represents the distance from P1=CF2(i′, j′,k′−1) to P′=(i′, j′, k′) that is determined from the coordinates of the points.
From lines L8 to L12, scanning the line of points in descending third index order (k′=Nz−1, Nz−2, Nz−3, . . . ) is performed to determine CF3(i′,j′,k′) with CF3(i′, j′,k′+1) and CF2(i′, j′, k′). The similar procedure can be applied to determine the closest point CF3(i′,j′,k′) to (i′,j′,k′) (e.g., at reference sign 712 in
For any lattice point (i,j,k) on the (e.g., input) sheared volume, the index (i+,j+,k+) on the auxiliary rectilinear volume may be determined with the equation:
wherein i+, j+ are floating point numbers (and/or non-integers) and the indices of the four nearest auxiliary lattice points are (i5,j5, k5)=(└i+┘, └j+┘, k+), (i6, j6, k6)=(i5, j5+1, k5), (i7, j7, k7)=(i5+1, j5, k5), (i8,j8, k8)=(i5+1, j5+1, k5) respectively. If the (e.g., sheared, and/or original) lattice point (i,j,k) has T scalar value, the minimum distance d to the point (i,j,k) may be determined from the four points {CF3(i5, j5, k5), CF3(i6, j6, k6), CF3(i7, j7, k7), CF3(i8, j8, k8)} with the point coordinates, and the negative value-d may be assigned as the signed Euclidean distance from (i,j,k) to the closest point of F scalar value in the (e.g., input) sheared volume. If the (e.g., sheared, and/or original) lattice point (i, j, k) has F scalar value, the minimum distance d to (i,j, k) may be determined from the four points {CT3(i5,j5, k5), CT3(i6,j6, k6), CT3(i7,j7, k7), CT3(i8, j8, k8)} with the point coordinates, and the positive value d may be assigned as the signed Euclidean distance from (i,j,k) to the closest point of T scalar value in the input volume (and/or the sheared volume).
A method for rendering a medical image associated with a volumetric medical dataset, which is received from a medical scanner, including a sheared volume is provided by the technique. The sheared volume includes a series of 2D slices and a sheared direction. An auxiliary rectilinear volume is constructed such that the 2D slices are preserved, albeit with displaced 2D lattice, and the sheard direction is replaced by a direction orthogonal to the 2D slices. Nearest points on the sheared and the auxiliary rectilinear 3D lattices are determined. A value of a (e.g., binary) scalar field at a point on the sheared 3D lattice is assigned to the nearest point on the auxiliary rectilinear 3D lattice, where a Euclidean distance transform (EDT) is applied to the value of the scalar field. Based on the EDT value of the scalar field, the medical image is rendered.
The technique can be used to compute the SDF for gantry tiled volume and other sheared medical images efficiently, and/or for real-time applications. The technique can be easily extended to higher dimensional data. The obtained SDF can be used, e.g., to accelerate ray tracing based volume rendering for empty space skipping, smooth contour and/or mesh extraction from binary volumes.
Wherever not already described explicitly, individual embodiments, or their individual aspects and features, described in relation to the drawings can be combined or exchanged with one another without limiting or widening the scope of the described invention, whenever such a combination or exchange is meaningful and in the sense of this invention. Advantages which are described with respect to a particular embodiment of present invention or with respect to a particular figure are, wherever applicable, also advantages of other embodiments of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
23164679.5 | Mar 2023 | EP | regional |