Medical imaging provides numerous benefits in relation to patient diagnosis and treatment. Despite those benefits, inherent drawbacks exist. For example, in typical cases, only discrete sets of still images or highly isolated real-time images are generated that are dependent of the position of a transducer or other image gathering device. Additionally, the discrete nature of the images does not permit more advanced visualization paradigms, such as a virtual reality, to enable the development of advanced patient education tools and surgical simulators. Further, current imaging technologies do not provide a predictive component regarding the motion of a specific organ, such as a lung during the patient breathing. For example, the motion of a lung tumor will vary during breathing depending on many variables including, for example, the body position or the rate of respiration.
The disclosure pertains to systems and method for simulating organ dynamics. In one embodiment, a method for simulating organ dynamics comprises generating a time sequence of three-dimensional models of an organ during different stages of observed dynamic motion, generating a deformation transfer function from the time sequence of three-dimensional models, generating a pressure-volume curve from the sequence of three-dimensional models, and generating an organ deformation model that simulates dynamic motion of the organ.
The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. In the drawings, like reference numerals designate corresponding parts throughout the several views.
As described above, there are various limitations to current medical imaging techniques, one such limitation being the inability to predict the dynamic motion of an organ. Disclosed herein, however, are systems and methods that can be used to real-time simulate organ dynamics in three-dimensions.
In some embodiments, the systems and methods can be used to simulate dynamic motion of human lungs. To create such a simulation, images of the lungs of a subject are captured during breathing and are used to generate a three-dimensional lung model. As described in greater detail below, the lung model can then be used to generate a deformation transfer function and a pressure-volume curve. Once the deformation transfer function and the pressure-volume curve are generated, they can be used to generate dynamic lung models for various instances of time.
Although simulation of lung dynamics is described with specificity in this disclosure, it is to be appreciated that the disclosed systems and methods can be extended to evaluate other organs, and substantially any body that is subject to dynamic motion. Furthermore, although particular embodiments of systems and methods are described in the following, those embodiments are mere examples. All such embodiments are intended to fall within the scope of this disclosure and are not intended to limit the breadth of the disclosure.
Beginning with
The processor 18 can include any commercially-available or custom-made processor, a central processing unit (CPU), an auxiliary processor among several processors associated with the computing device 14, or a semiconductor-based microprocessor (in the form of a microchip). The memory 20 can include any one or a combination of volatile memory elements (e.g., random access memory (RAM)) and nonvolatile memory elements (e.g., hard disk, compact disc (CD), flash memory, etc.).
The I/O devices 22 comprise those components with which a user can interact with the computing device 14, such as a display 26, keyboard 28, and a mouse 30, as well as the components that are used to facilitate connection of the computing device to other devices (e.g., serial, parallel, small computer system interface (SCSI), or universal serial bus (USB) connection ports).
Stored within memory 20 are various programs, in software and/or firmware, including an operating system (O/S) 32, a three-dimensional modeling program 34, and an organ dynamic motion simulation system 36. The O/S 32 controls the execution of other programs and provides scheduling, input-output control, file and data management, memory management, and communication control and related services. The three-dimensional modeling program 34 receives images captured by an image capture device and combines the images to generate three-dimensional models of the organ. The organ dynamic motion simulation system 36 comprises a deformation transfer function generator 38 that generates a deformation transfer function, a pressure-volume curve generator 40 that generates pressure-volume curve, and a lung deformation model generator 42 that generates and renders a lung deformation model using the deformation transfer function and the pressure-volume curve.
In some embodiments, the computing device 14 further comprises a graphics processing unit 44 that, as described below, can be used to render a lung deformation model on the display 26.
Various programs comprising various logic have been described above. Those programs can be stored on any computer-readable medium for use by or in connection with any computer-related system or method. In the context of this document, a computer-readable medium is an electronic, magnetic, optical, or other physical device or means (e.g., memory) that can contain or store computer instructions for use by or in connection with a computer-related system or method.
Turning to
Once the images have been captured, they can be combined to form a three-dimensional model of the organ, as indicated in block 52 of
Referring next to decision block 54 of
Referring next to
Reference is now made to
Next, the displacement of the surface nodes through the inhalation process can be approximated, as indicated in block 82.
With reference to block 112, the x, y, and z components, diX, diY, and diZ, of each direction vector, i, can be represented by the following equations:
In those equations, the lung models can be considered as being fit within a hypothetical box that defines a coordinate system having minimum coordinates min.X, min.Y, and min.Z and maximum coordinates max.X, max.Y, and max.Z. In that system, the vertex, i, of each node has the coordinates pi.X, pi.Y, and pi.Z. Such a configuration is schematically represented in
The values of pi.X, piY, and piZ can be obtained from a table that tabulates the positions of each node in each model once the models have been generated, and the values of min.X, min.Y, min.Z, max.X, max.Y, and max.Z are known once the box 130 has been constructed. The constants c1, c2, c3, c4, c5, and c6 of Equations 1-3 are initially unknown, but can be computed for discrete conditions to refine the modeling of lung deformation. For example, the constants can be determined for conditions that may include, for example: a human subject lying supine or sitting; an emphysema patient lying supine or sitting; a lung tumor patient lying supine or sitting; etc. In that manner, the constants can be used to take into account the effects of gravity and/or physiological condition of the patient when later generating a simulation of lung dynamics.
Next, the values of c1-c6 are computed. For a given initial set of values of c1-c6, rays, ri are generated and projected from each vertex, i, of the lung model A to approximate the observed direction vectors, as indicated in block 114. The magnitudes of each of the projected rays are then computed and compared to the observed direction vectors, as indicated in block 116, so as enable determination as to which rays best approximate the actual deformations observed from the polygonal lung models. The magnitudes of the rays for each node will yield an RMS variation of the measured distances. Next, the summation, SA, of ri for the vertices of model A is calculated, as indicated in block 118. At that point, the constants, c1-c6, can be computed to identify values that result in the lowest value for SA, as indicated in block 120. By way of example, a depth-first search algorithm, or equivalent, can be used in which initial values are assumed for the constants, vectors computed using Equations 1-3, and the results compared to the actual observed lung deformations. Therefore, the constants can be indexed until a combination of constants is determined that yields the minimum value of SA. Through such a process, the pertinent values for each constant in each state (e.g., healthy, diseased, etc.) can be generated. Notably, in determining the constants, lung expansion is assumed to be linear such that, for example, the displacements of all nodes from 5% of the tidal volume to 40% of the tidal volume are assumed to be proportional to the displacements from 40% of the tidal volume to 75% of the tidal volume. Through the above-described computations, the constants that reflect the most linear behavior for lung expansion are selected.
Once the constants have been computed, they can be added to the above-described vector relations, as indicated in block 122, to provide an approximation for displacement of the surface nodes. By way of example, the following constants were generated using the above-described process for a healthy left-side lung in the supine position:
Returning to
Next, an applied force at each surface node of lung model A is estimated using lung physiology data corresponding to human subject data sets, as indicated in block 88. The human subject data can include normal and abnormal subject data. In some embodiments, estimating the force applied at each surface node is performed by computing the bounding box of a given polygonal model. In this manner, minimum and maximum values are determined as the bounding vectors. The applied force is computed based on a given lung orientation as it relates to the effect of the gravitational force. By way of example, the z direction can be designated to be the direction of gravitational force for the supine position. The variables p(i) and f(i) can be designated to represent the position and force applied on each node, respectively. The force is then calculated according to the following expression:
f(i)=((p(i).Z−min.Z)/(max.Z−min.Z)) EQUATION 4
After f(i) is calculated for each vertex of lung model A, the values are normalized such that the sum of the force applied is equal to a unit increase in volume. Referring again to
e(i)=((P(i).Y−min.Y)/(max.Y−min.Y))2 EQUATION 5
Referring next to block 92, the values of e(i) are normalized such that the maximum value of e(i) equals 1.
Using the three-dimensional lung models, the approximated node displacements, the estimated applied forces, and the estimated alveolar expandabilities, an initial deformation transfer function of the lung model A, i.e., the lung model at the lowest air volume, is generated, as indicated in block 94 of
Deformation of the lung can be estimated using forward dynamics. To that end, data regarding the elasticity of the lungs and pressure-volume relationship data for the lungs can be used as inputs in the determination of the deformation of the lungs. For every node i on lung model A, a neighbor node j is chosen such that d(i,j) is the Euclidean distance between i and j. For each link between the two nodes, a spring node is assigned. A value of Young's modulus is assigned for each node based on the regional alveolar expansion value. An initial estimation of the transfer function, te, is then computed. The estimated transfer function, te, can be represented as a matrix such that row i in column j of the matrix is denoted by Te[j→i]. The Euclidean distance between nodes i and j can be denoted by the function DIST(j,i) and the initial value of all matrix elements can be set to zero. For each immediate neighbor j of node i, the following expression is used to evaluate the elements in the matrix:
For every other node, k, which can be reached from node j through i, the transfer function can be estimated using the following expression:
Te[j→k]=Te[j→k]+Te[j→i]×Te[i→k] EQUATION 7
After the initial estimation of the transfer function is computed, an initial estimate of a final transfer function, Tf, is determined, as indicated in block 96 of
Next, the computed Tf is designated as Tf1 and the geodesic distance between nodes are increased by, for example, a factor of two and the transfer function is recomputed. Doubling the internodal distances enables one to see the effect of those distances on the transfer function. The re-computed Tf1 is then designated as Tf2. Next, for each vertex of the lung model A, constants gi and hi are computed using forward dynamics. Those constants represent the effect of geodesic distances and the alveolar expandability on the deformation transfer function. For every vertex i, gi and hi can be computed according to the following equations:
gi=(Tf
hi=Tf
After the constants gi and hi have been computed for each node, an effective distance d (j,i) for every neighbor j can be computed according to the following expression:
d′(j,i)=gi×d(j,i)+hi(j,i) EQUATION 11
Using the effective distance, a polar distance function z′(j,i) can be computed as:
The final transfer function, TF, for the lung model A is then generated, as indicated in block 98. TF can be computed using the following expression:
TF[j→i]=CIcos z′(j,i) EQUATION 13
where CI is a proportionality constant that is used to reflect condition-specific data and is computed for a known displacement d[i] by the following expression:
After the transfer function, TF, is computed, a spherical parameterization of lung model A can be performed, as indicated in block 100, to simplify rendering of images during lung simulation. In some embodiments, this involves calculating the spherical harmonic coefficients of each row of the transfer function and providing those coefficients to a graphics processing unit that will render images in the simulation. In some embodiments, the parameterization is performed by computing the centroid of the lung model A and generating a ray for each vertex that originate from the centroid, passes through the vertex, and intersects a hypothetical spherical hull that surrounds the lung model. Such a process is schematically depicted in
Spherical Harmonic (SH) coefficients of each row of the transfer function for a given value of i are computed as the summation of the products of the SH coefficients of j and the transfer function row element indexed by j. The SH coefficients are then stored along with the vertexes, direction of displacement, and normals of the lung model A in memory, for example of a graphics processing unit.
With reference back to
D[t]=(F—E[t]+A[t−1]−F—T[t])/Ve[t−1] EQUATION 15
where Ve and A are the first and second order differential volume respectively, F_E is the step increase in the applied force, and F_T is the total force at discrete time instant t. The damping function can be used as a control parameter that reflects the brain or “motor” control over the lungs during breathing and the limiting of “damping effect” that control has. After computing the damping function, simultaneous equations can be formulated, as indicated in block 156, according to the following expression:
where q represents a measure of motor control. The PV control constants, xi and xj, in the simultaneous equations are solved using Kramer's rule for both the inhalation and exhalation limbs, as indicated in block 158. With PV control constants and the motor drive, q, any PV curve can be simulated that corresponds to any given condition (e.g., standing healthy patient, etc.).
The PV curve can be calculated by first calculating the volume of lung at time instant, t, using the following equation:
V[t]=V[t−1]+Ve[t−1]+0.5×A[t−1] EQUATION 17
where Ve and A are computed as
Ve[t]=Ve[(t−1)]+A[t−1]×(Δi) EQUATION 18
A[i]=F—T[i]M EQUATION 19
The value of Ve and A at t≦0 is set to be 0. The value of F_T[t] is computed for the given set of control constants from equation 15. The value of F_E[t] at time instant t is set to be in linear increments of a constant. The data points of the both the inhalation and exhalation limbs of the PV relation are normalized and the volume range is adjusted to fit the required tidal volume.
Assume pi, qi, and ri are the arrays of pre-computed SH coefficients for the applied force at rotation angle i of π/2, π, 3π/2, and 2π along the X, Y, and Z axes, respectively, and further assume a, b, and c be arbitrary valves for current rotation angles for the three-dimensional lung model. For such an orientation, the SH coefficients for the applied force are computed by smoothly interpolating among pi, qi, and ri. Next, assume a0, a1, b0, b1, c0, and c1 are the angles of i that form the closest lower and upper limits for a, b, and c, respectively. The SH coefficients of the applied force for the orientation a, b, and c are now given by
fabcl=fal+fbl+fcl EQUATION 20
where
fal=[pa
fbl=[qlb
and fcl=[rlc
Returning again to
This application claims priority to copending U.S. provisional application Ser. No. 60/773,486 entitled “OPTICAL APPARATUSES AND METHODS,” which was filed Feb. 15, 2006, and which is entirely incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60773486 | Feb 2006 | US |