This disclosure relates generally to generating three-dimensional spinal renderings, and, more particularly, to methods and apparatus to generate three-dimensional spinal renderings.
Spinal images may be obtained and used to diagnosis various spinal disorders such as displacements of inter-vertebral discs (IVD) beyond the limits defined by vertebral body (VB) end-plates and outer edges of vertebral ring apophyses. Some spinal displacements include protrusions and bulging. In some examples, protrusions relate to the localized displacement of inter-vertebral discs (IVD) and bulging relates to a generalized displacement of the IVDs. In some examples, the term “localized” means that the deformity is less than 50% (less than 180 degrees) of a circumference of a disc and the term “generalized” means that the deformity involves more than 50% (greater than 180 degrees) of the circumference of the disc.
To clarify multiple layers and regions, the thickness of the layers are enlarged in the drawings. Wherever possible, the same reference numbers will be used throughout the drawing(s) and accompanying written description to refer to the same or like parts.
Spinal images may be reviewed when diagnosing and/or following-up on inter-vertebral disc (IVD) displacements. However, current approaches are relatively expensive, tedious, time-consuming and subject to high inter-observer variabilities. For example, radiologists may perform repetitive visual inspections of several images (e.g., axial and sagittal plans) to create a mental picture regarding the IVD displacements and/or manually measure and input measurements to determine the size and/or evolution over time of the IVD displacements.
The examples disclosed herein relate to automatically detecting IVD/VB surfaces and/or generating three-dimensional (3D) spinal renderings. To overcome some of the deficiencies encountered with some known approaches, the examples disclosed herein automatically detect and/or provide three-dimensional (3D) visualizations of the IVD displacements beyond the limits defined by the VBs. Additionally or alternatively, the examples disclosed herein provide quantitative and/or reproducible measures of the size and evolution over time of the IVD displacements, thereby significantly reducing the amount of time spent in generating such models as compared to current practices. In some examples, the example system uses contextual information about the IVDs/VBs and their neighboring structures to detect and/or visualize the IVD displacements.
In some examples, instead of using individual pixel values to detect and/or identify IVD/VB surfaces, the examples disclosed herein use several image statistics (e.g., mean) within several box-shaped image patches having different orientations and/or scales. Using such patch-based features identifies and/or encodes contextual knowledge about the region of interests (e.g., size, shape, orientation, etc.) and/or their neighboring structures (e.g., relationships to neighboring structures) to overcoming some of the difficulties associated with spine MRI images (e.g., low contrast, high noise level and/or significant similarities between pixel values within the VBs and the IVDs).
In some examples, the user interface 106 displays data such as images (e.g., spinal images, radiology images, lumbar spine images, etc.) received from the generator 104. In some examples, the user interface 106 receives commands and/or input from a user 114 via the data input 108. For example, in examples in which the system 100 is used to generate 3D spinal renderings, the user interface 106 displays a spinal image(s) and the user 114 provides an initial input identifying, for example, a location of a vertebra on the spinal image(s). In some examples, the initial user input includes selecting three points on a vertebra on the displayed spinal image.
In some examples, the initial user input may be used by the generator 104 to automatically detect and visualize vertebral-body surfaces using 3D distribution matching and/or interpolate discs in two-dimensional (2D) sagittal images. Additionally or alternatively, the generator 104 may use the initial user input to refine curve evolution of disc boundaries in 2D sagittal images and/or reconstruct smooth surfaces of the discs.
In some examples, the generator 104 automatically detects and visualizes vertebral-body surfaces using 3D distribution matching and/or contextual information about the IVDs/VBs, neighboring structures and/or advanced optimization and/or statistical modeling techniques. In some examples, the generator 104 automatically detects and visualizes the vertebral-body surfaces by building contextual-information features, statistical modeling of the contextual information within the vertebral bodies and/or finding the 3D surfaces of all regions whose contextual features are consistent with the statistical model, M (
In some examples, the contextual-information features are generated and/or built by generating a feature vector, F(x), for each voxel point, x, in the 3D image domain, Ω⊂3. For example, for each voxel point, x, a 3-dimensional feature vector, F(x)=(F1, F2, F3), may be built, where F1, is the mean intensity within a 21×7×1 rectangularly-shaped, vertically-oriented patch, F2 is the mean intensity within a 7×21×1 rectangular-shaped, horizontally-orientated patch and F3 is the mean intensity within a 7×7×1 square-shaped patch centered at point, x. Additionally or alternatively, other features based on image gradients and/or textures may be used within the same, similar and/or different framework.
In some examples, the contextual information within the vertebral bodies may be statistically modeled by building a multi-dimensional model distribution using all the feature vectors, F(x), within a rectangular approximation of one VB in a single 2D mid-sagittal slice of the series. In some examples, the approximation is automatically computed from the user input (e.g., the three points selected on the vertebra displayed). In some examples, the muti-dimensional model, M, is determined and/or computed using Equation 1, where R is the region corresponding to the rectangular approximation of one VB, Z is the set of values of features vectors, F, and the Gaussian kernel, K, is determined using Equation 2, where σ is a constant measure of the width of the kernel. In some examples, Equation 1 is the kernel density estimate of the distribution of features, F, within the rectangular approximation, R.
In some examples, the 3D surfaces of substantially all regions having contextual features that are consistent with the statistical model, M, are identified and/or determined by optimizing a cost function and/or problem, Equation 3, containing two constraints. In this example, the first constraint is based on a Bhattacharyya measure of similarity between feature distributions. In some examples, the first constraint substantially ensures the obtained and/or identified spinal regions are consistent with the statistical model, M. In this example, the second constraint is a smoothness constraint that removes small and/or isolated regions caused by imaging noise. In this example, the second constraint substantially ensures that the surfaces are smooth.
Referring to Equation 3, u: Ω→{0, 1} is a binary indicator function that defines a variable partition of the 3D image domain Ω⊂3, {xεΩ/u(x)=1}, which corresponds to a target region and {xεΩ/u(x)=0} that corresponds to the complement of the target region in Ω. Again referring to Equation 3, Pu, which is described in Equation 4, is the kernel density estimate of the distribution of features, F, within the target region, {xεΩ/u(x)=1}, where the Z is the set of values of the feature vector, F, and K is the Gaussian kernel given by Equation 2.
In some examples, the results of the processing at this stage are shown at reference number 202 (
In some examples, the generator 104 interpolates discs in 2D sagittal images by projecting the obtained 3D surfaces onto the 2D sagittal images to obtain 2D vertebra boundaries within each image of the sagittal series. Additionally and/or alternatively, the generator 104 interpolates discs in the 2D sagittal images by determining and/or computing a convex-hull approximation of the regions between each of the two adjacent vertebrae to obtain an initial approximation of the inter-vertebral discs. In some examples, the results of the processing at this stage are shown at reference number 204 (
In some examples, the generator 104 refines the curve evolution of the disc boundaries determined using a curve evolution algorithm, represented by Equation 3, which automatically moves the disc boundaries by attracting the boundaries to high contrasts (e.g., absolute differences in pixel values) and/or ensuring the boundaries are smooth. In some examples, a closed parametric curve, Γ(s): [0,1]→Ωi, is defined from [0,1] to the image domain of a sagittal slice i: li: Ωi⊂2. In some examples, Equation 7 below attracts and/or urges an active curve, Γ(s), toward high transitions (significant edges) of a given sagittal image, li: Ωi⊂2, by minimizing Equation 5, where g is an edge function indicator represented by Equation 6.
In some examples, the curve evolution algorithm, represented in Equations 5, 7 and 8 is obtained by minimizing G (F) with respect to F by deriving an Euler-Lagrange gradient descent equation by embedding the curve, F, in a one-parameter family of curves, Γ(s, t): [0,1]×+→Ωi, and solving a partial differential descent equation, Equation 7. Referring to Equation 7, t, is an artificial time parameterizing the descent direction and
which is described in Equation 8, identifies the functional derivative of G with respect to Γ, where {right arrow over (n)} is the inward unit normal to Γ and k is the mean curvature function of Γ.
In some examples, the results of the processing at this stage are shown at reference number 206 (
In some examples, the generator 104 reconstructs smooth surfaces from the disc boundaries by optimizing an energy function having two constraints. In some examples, the first constraint enforces and/or enables surface smoothness. In some examples, the second constraint enforces and/or enables the surfaces to be consistent with the boundaries determined when the generator 104 refined the disc boundaries, as described above.
Referring to Equation 9, u: Ω→{0,1} is a binary indicator function that defines the disc regions determined above, where D(x)=1, if the voxel, x, is associated with a disc regions and D(x)=0, otherwise. Again referring to Equation 9, u: Ω→{0,1} is a binary indicator function that defines a variable partition of the 3D image domain, Ω⊂3, {xεΩ/u(x)=1}, which corresponds to a target region and {xεΩ/u(x)=0} corresponds to the complement of the target region in ft
minuε{0,1}K(u)=∫Ω(D−1)2u+D2(1−u)dx+λ∫Ω|∇u(x)|dx Equation 9:
A flowchart representative of example machine readable instructions for implementing the system 100 of
As mentioned above, the example processes of
The program of
In some examples, the user input identifying the 3D volume, a spinal feature and/or vertebra assists in and/or enables the example algorithm and/or the generator 104 to detect and visualize vertebra-body surfaces using, for example, contextual information about the IVDs/VBs, neighboring structures and/or advanced optimization and/or statistical modeling techniques (blocks 1104, 1106). Additionally and/or alternatively, in some examples, the generator 104 detects and visualizes the vertebral surfaces by building contextual information features, statistical modeling the contextual information within the vertebral bodies and/or finding the 3D surfaces of regions whose contextual features are consistent within the statistical model, M. In some examples, reference number 202 (
At block 1108, the generator 104 interpolates discs in 2D sagittal images by projecting the determined 3D surfaces onto the 2D sagittal images and determining a convex-hull approximation of the regions between each adjacent vertebrae (block 1108,
The system 1200 of the instant example includes a processor 1212. For example, the processor 1012 can be implemented by one or more microprocessors or controllers from any desired family or manufacturer.
The processor 1212 includes a local memory 1213 (e.g., a cache) and is in communication with a main memory including a volatile memory 1214 and a non-volatile memory 1216 via a bus 1218. The volatile memory 1214 may be implemented by Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM) and/or any other type of random access memory device. The non-volatile memory 1216 may be implemented by flash memory and/or any other desired type of memory device. Access to the main memory 1214, 1216 is controlled by a memory controller.
The computer 1200 also includes an interface circuit 1220. The interface circuit 1220 may be implemented by any type of interface standard, such as an Ethernet interface, a universal serial bus (USB), and/or a PCI express interface.
One or more input devices 1222 are connected to the interface circuit 1220. The input device(s) 1222 permit a user to enter data and commands into the processor 1212. The input device(s) can be implemented by, for example, a keyboard, a mouse, a touchscreen, a track-pad, a trackball, etc.
One or more output devices 1224 are also connected to the interface circuit 1220. The output devices 1224 can be implemented, for example, by display devices (e.g., a liquid crystal display, a cathode ray tube display (CRT), a printer and/or speakers). The interface circuit 1220, thus, typically includes a graphics driver card.
The interface circuit 1220 also includes a communication device such as a modem or network interface card to facilitate exchange of data with external computers via a network 1226 (e.g., an Ethernet connection, a digital subscriber line (DSL), a telephone line, coaxial cable, a cellular telephone system, etc.).
The computer 1200 also includes one or more mass storage devices 1228 for storing software and data. Examples of such mass storage devices 1228 include floppy disk drives, hard drive disks, compact disk drives and digital versatile disk (DVD) drives. The mass storage device 1228 may implement the database 112.
The coded instructions 1232 of
From the foregoing, it will be appreciated that the above disclosed methods and apparatus provide an example system that identifies and/or differentiates between IVD/VB surfaces even though the IVD/VB surfaces may not well defined by high contrasts, the IVD/VB surfaces have substantially similar intensity and/or strong imaging noise can occur within the VBs. In some examples, the example system provides a user-friendly visualization of IVD displacements beyond the limits defined by the VBs by automatically detecting the 3D surfaces of both the IVDs and VBs and/or substantially simultaneously and/or simultaneously displaying the IVD and/or VB surfaces using different views, colors and/or differentiators (e.g., cross-hatchings). In some examples, the example system enables quantitative and/or reproducible measures of the size and/or evolution of the IVD displacements over time. In some examples, the examples disclosed herein automatically detect and simultaneously visualize 3D surfaces of vertebral bodies and intervertebral discs. In some examples, the examples disclosed herein automatically measure displacements of the inter-vertebral discs beyond limits defined by the vertebral bodies (e.g., protrusion).
Although certain example methods, apparatus and articles of manufacture have been described herein, the scope of coverage of this patent is not limited thereto. On the contrary, this patent covers all methods, apparatus and articles of manufacture fairly falling within the scope of the claims of this patent.