Systems, devices, and methods for position monitoring and motion compensation
10888483 ยท 2021-01-12
Assignee
Inventors
- Mark Ostyn (Henrico, VA, US)
- Siyong Kim (Richmond, VA, US)
- Woon-Hong Yeo (Richmond, VA)
- Thomas DWYER (Richmond, VA, US)
- Melvin Rosario (Richmond, VA, US)
- Ross Cruikshank (Mechanicsville, VA, US)
- Daniel Martinez (Ashland, VA, US)
- Charles Cartin (Richmond, VA, US)
Cpc classification
A61N5/1049
HUMAN NECESSITIES
A61B6/501
HUMAN NECESSITIES
A61G13/12
HUMAN NECESSITIES
International classification
Abstract
A motion compensation system includes a plurality of RF transmitters, a plurality of direction of arrival sensors, and a positioning table which together are usable to compensate for intrafraction motion of a patient during a medical procedure. The positioning table may be a secondary table arranged next to or above a primary table such as a radiotherapy couch, allowing for repositioning of part of patient such as the head and neck relative to a remainder of the body. The motion compensation system employs a direction of arrival sensor that includes rotating antenna elements in a configuration that improves the ease and accuracy of signal processing and analysis to identify the position of an RF transmitter affixed to a patient. The repositioning table has six degrees of freedom and is safe for use in imaging and radiation intensive environments.
Claims
1. A positioning table for use during a medical procedure, comprising: a plate for providing a support surface for a specific part of a patient's body; a plurality of sliding blocks mounted in linear tracks separated into parallel pairs; a plurality of linkages that connect the plate to the sliding blocks, wherein the linkages connect to the plate and the sliding blocks with joints having at least two degrees of rotational freedom; and a powertrain connecting external motors with the sliding blocks such that rotational motion of a motor causes a sliding block mounted in the linear track to translate along the track, thereby changing a position of one or more of the linkages, wherein the plate, sliding blocks, linear tracks, linkages, and joints are metal-less.
2. The positioning table of claim 1, wherein the sliding blocks, linear tracks, linkages, and joints consist of ABS, nylon, polycarbonate, CFRP, PTFB, PLA, acetal resin, other plastics, or some combination thereof.
3. The positioning table of claim 1, wherein the positioning table has at least six degrees of freedom.
4. The positioning table of claim 3, wherein the positioning table is configured such that the plate is moved or moveable with one or more of x-axis translation, y-axis translation, z-axis translation, rotation about the x-axis, rotation about the y-axis, and rotation about the z-axis by driving one or more of the sliding blocks.
5. The position table of claim 1, wherein the plate is configured to support a patient's head.
6. The positioning table of claim 1, wherein the plate is flat, curved, or a combination of different surface contours.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
(32)
DETAILED DESCRIPTION
(33)
(34) In some embodiments, the sensors 25 are separated into two groups: one group configured to localize each wave from the transmitters in the horizontal plane, and one group configured to localize each wave in an (arbitrary) vertical plane. Each sensor 25 measures the estimated direction of arrival of each pulse sequence, and each group performs a least-squares estimate of the wave's point of origin in their respective planes of interest. The results are combined to find a three-dimensional estimation of the positions of each sensor 25 in three-dimensional space. The determined positions of the transmitters 24 in three-dimensional space indicate the actual position of the patient or part of the patient (e.g., the head, or the neck, or the shoulders) in three-dimensional space. The processing and analysis of signals detected by the sensors 25 may be performed by circuitry configured for this purpose and/or one or more computers. The circuitry and computer(s) provided for signal processing and analysis may be installed within each sensor 25. It may also or alternatively be provided at a central location, such as a central computer or server which receives signals from all of the respective sensors 25 that are networked together for the shared purpose of localizing one or more transmitters. The same or different circuitry and computer(s) that support the sensor network may serve as a control device for controlling and moving the secondary positioning table with respect to the primary positioning table to adjust a position of the specific part of the patient's body relative to a remainder of the patient's body. A computing and/or control device 28 is shown generally in
(35) Each triplet of transmitters 24 is interpreted as a rigid body, whose position and orientation may be calculated by the relative positions of each transmitter 24 in the triplet. The initial positions of the transmitters 24 are recorded as an initial or reference position set. The positions of the transmitters 24 are then monitored over time. If the position or orientation of the rigid body on the table moves out of place over a specified threshold value, the positioning table 26 is signaled to move to compensate. After the compensating movement, the positions of the rigid body are measured for confirmation. The process repeats until the end of a radiotherapy session. To compensate for the extra height of the positioning table 26, one or more vertical supports 27 may be included for adjusting the height of a remainder of the patient's body relative to the treatment couch 23.
(36)
(37) Prior to discussing specific components and functionalities of the sensors 25, it may be helpful to discuss the principle distance measuring techniques employed by many exemplary embodiments. Two alternative techniques for distance measuring are lateration and angulation.
(38)
(39)
(40) In any positioning technique, it is very unlikely that a closed solution exists for the measurements made. In angulation techniques specifically, it is very unlikely that all direction vectors will intersect at the exact same point in space. To solve the problem of having no closed solution, many embodiments employ least-squares estimates performed by one or more computers. The error in an estimation is the vector difference between a true position of a transmitter and the estimated position of the transmitter. A Monte Carlo simulation is able to estimate the magnitude of the error based on the input parameters, physical relationship between point of interest and points of measure, number of points of measure, and angular resolution of DOA measurement. Such a simulation is detailed below under the subheader of EXAMPLE 1.
(41) One approach to measuring the direction of arrival of an RF wave is by comparing the phase difference of an RF wave between elements of static antenna arrays. In static antenna arrays, the sensors 25 (
(42) In some preferred embodiments, antenna arrays are not static but instead have one or more moving antenna elements (e.g., rotating antenna elements). In some embodiments all of the antenna elements are moving, in particular rotating. Still other embodiments have a combination of static and moving antenna elements and/or arrays.
(43)
(44) Whatever the number of pairs, the antenna elements are mounted to or within the platform 41. Each pair of antenna elements is attached such that the antenna elements of any given pair have different positions about an axis of rotation of the platform. The platform 41 in the illustrated embodiment of
(45)
(46) Each transmitter 54 affixed to a patient emits an RF wave (e.g., a sine wave) for a given duration. The RF wave consists of one or more frequencies (e.g., 1.5 GHz, or 1.5+47 GHz) as a compromise between antenna spatial constraints and available spectra. In some embodiments, a single frequency is used. In other embodiments, dual frequencies are used. The vector V between a center of the transmitter 54 and a center of rotation of the sensor 55 remains constant. The distances between the transmitter 54 and the antenna elements 52 and 53, such distances being represented in the drawing as d.sub.1 and d.sub.2 respectively, vary cyclically with the rotation of the sensor 55. As the sensor 55 rotates, one or more computers multiply the signals from two antenna elements together and measure the resultant amplitude. The distances C.sub.1 and C.sub.2, which are the respective distances from the axis of rotation to the separate antenna elements 52 and 53, are preferably equal in magnitude. However, alternative embodiments may be provided in which C.sub.1 and C.sub.2 are not equal. Angular rotation of each antenna element can be described according to a common radial axis of the platform. In
(47)
(48)
(49)
(50) Referring back to the distances illustrated in
N.sub.2N.sub.1=
and the condition for perfectly destructive interference is
N.sub.2N.sub.1=+1/2,
where is any integer. Given the condition that the sensor base is half of the low frequency wavelength (e.g., for a low frequency of 1.5 GHz, the wavelength is 20 cm and the sensor base is 10 cm in diameter), constructive interference occurs once per revolution of the device for any transmitter-receiver distance, unless the transmitter is positioned on the sensor's axis of rotation. The location of the perfectly constructive interference corresponds to the direction vector between the transmitter and the axis of rotation in the 2D plane of rotation. Only a single (e.g., low) frequency wavelength is strictly necessary to make the direction vector determination. The addition of the second higher wavelength (e.g., 47 GHz) wave advantageously allows for more precise identification of the location of the central peak, but is not strictly required in all embodiments.
(51)
(52)
(53)
(54) In some embodiments, the positioning table 90 is controlled by motors such as conventional stepper motors such as a NEMA 17. While stepper motors like the NEMA 17 have metal components and are not imaging compatible, the table is configured with placement of the motors outside of the treatment field. In a physical prototype, the motors were controlled through a DAQ using a LabVIEW (National Instruments Corp., Austin, Tex.) interface. The stepper motors turn the transmission rods 96 suspended in the tracks, transferring the rotational motion of the motors into linear motion of the sliders 93. The sliding blocks 93 may be driven simultaneously or consecutively. The transmission rods 96 are made of nylon or similar material. The 6D position of the plate 91 may then be calculated by inverse kinematics based on the exact positioning of the six sliders 93 along their respective linear tracks 95. One or more computers control the motors to adjust the position of the plate 91 in response to a detection of the patient's actual position deviating from a reference position. The plate 91 is moved such that a difference between the actual position and reference position is reduced, preferably to substantially zero. In other words, the plate 91 counter effects patient movement to maintain an actual position that corresponds to or is identical with the reference position.
(55) It is desirable that an entirety of the positioning table 90 is completely metal-less (e.g., devoid of any metal parts). Indeed, the various components of the transmission table (e.g., one or more, or all, of the plate, sliding blocks, linear tracks, linkages, and joints) may comprise or consist of ABS, nylon, polycarbonate, CFRP, PTFE, PLA, acetal resin, other plastics, or some combination thereof.
(56)
(57)
S.sub.p=R.sub.z()R.sub.y()R.sub.x()S.sub.p,0+T(x,y,z)(1)
where R.sub.z, R.sub.y, and R.sub.x are the standard rotation matrices about the z, y, and x axes, respectively, and T is the translation vector for the reference position of the plate. The length of the linkage connecting the sockets on the plate and the sockets in the sliders is of known length, but is also defined by a composition of component vectors in an arbitrary reference frame:
S.sub.pS.sub.s=L.sup.2=x.sup.2+y.sup.2+z.sup.2(2)
where S.sub.s is the set 3D coordinates (x,y,z) for each of the six sockets attached to sliders. By construction, the vector along the x direction represents the projected displacement between the plate and slider sockets along the slider's path of motion on its rail (i.e., track), while the vectors in the y and z directions represent the projected displacements in the orthogonal horizontal and the vertical directions, respectively. The y and z vectors may then be combined into a single vector which represents the projected displacement between the sockets in the plane perpendicular to the direction of the slider's rail, and may be represented by
p.sup.2=y.sup.2+z.sup.2(3)
This perpendicular vector may be found through the directed area product of the known vectors along the slider's rail and between a known point on the slider's rail and the corresponding plate socket, both of which are specified in the initial geometry
(58)
R.sub.out represents a reference point on the rail distal to the slider, while R.sub.in represents a reference point on the rail medial to the slider. From this construction, the projected displacement along the rail between the sockets, x, may be found by rearranging equation 2. The geometric relationship between the rail and the corresponding plate socket may further be specified by
r=S.sub.pR.sub.in(5)
Using this vector, the distance between the inner reference point and the start of x may be calculated using the relationship
X.sup.2=r.sup.2p.sup.2(6)
(59) The position of the slider along the rail is then found by the addition of the distances
P=X+x(7)
(60) An exemplary positioning table is configured to achieve any translational motion within the bounds of +1.0 cm in any direction from the default resting position as well as 2.0 of rotation motion around any axis at any valid translational position.
Example 1
(61) A generic prototype of a sensor comprising a rotating array platform and antenna elements was simulated on a computer using MATLAB (Mathworks, Natick, Mass.). A Monte Carlo simulation was used to estimate the accuracy of a least squares solution. The simulation estimates the magnitude of the positioning error based on the number of sensors in the network and the angular resolution of the sensors.
(62) Methods
(63) Direction of Arrival Measurements
(64) The simulation was based on the external sensor system geometry illustrated and described with
(65) Because the main frequency component has a wavelength equal to twice the length of the sensor's diameter, the resultant interfered signal oscillates at the rate of the sensor rotation, and the angular position of the peak corresponds to the direction of arrival. Were an optional secondary high frequency component used, it would create a secondary oscillation with a predictable pattern that may facilitate identification of the center of the peak.
(66)
(67) One-half of a sensor rotation may be used as a coarse measurement to find the direction to the nearest 5, and a high-resolution scan may be performed over a much smaller arc to find the direction at the limitations of the method (0.05. In the simulation, the following equation creates a time-dynamic transmitted wave:
(t)=A.sub.1 sin(2f.sub.1t+.sub.1)+A.sub.2 sin(2f.sub.2t+.sub.2)(8)
where A.sub.1 and A.sub.2 are the respective amplitudes of the two waves, f.sub.1 and f.sub.2 are the respective frequencies of each wave, t is the sampled point in time, and .sub.1 and .sub.2 are the respective initial phases of each wave. The transmitted wave is sampled at 150 THz over a 33 nS pulse. This corresponds to 25 wavelengths of the frequency of 1.5 GHz (2.510.sup.5 points). The starting phases of the wave components were chosen from a uniform random distribution between 0 and 2. The amplitudes of both waves were assumed equal in strength. The wavelength of the main frequency component is calculated according to the speed of light in air, and is termed as the carrier wavelength.
(68) Vector analysis defines the location of the transmitter as point t in 3D space. The center of a given sensor is defined as point s, and the angular position of the i.sup.th antenna in the plane of the sensor's rotation is defined as .sub.1. The vector (V) between the transmitter's location and the center of the sensor is defined as:
{circumflex over (V)}=st(9)
The vectors from the center of the sensor to the i.sup.th antenna receiver was then calculated for angular positions (j):
=R*[cos .sub.i,j,sin .sub.i,j,0](10)
The distance between the transmitter and each i.sup.th receiver at every j.sup.th sampled angular position was then found as the magnitude of the vector connecting between the transmitter and each receiver:
d.sub.i,j={circumflex over (V)}+.sub.i,j(11)
This distance is then converted to fractions of the carrier wavelength, m.sub.i,j. At each angular position j, each receiver reads the transmitted signal after the respective number of wavelengths of the transmitted signal, m.sub.i,j+M, for n wavelengths, where M represents the minimum number of wavelengths to wait before the signal is read. This wait parameter was included to ensure the receivers did not attempt to read the signal before the first index in the transmitted signal. In this simulation, the parameters of M=5 and n=10 were used.
(69) This process simulates the phase difference (), measured between the two receiving antennas of a single sensor at the same instant. Uniform Gaussian white noise is added at a given signal-to-noise ratio (SNR). In this simulation, the SNR value of 2 was used assuming a poor RF environment. The signals were then multiplied and the resultant amplitude was recorded and plotted against each sensor angle .sub.j. A median filter is used to help overcome the noisy environment. A peak-finding algorithm is then used to identify the locations of the signal peaks. This process was repeated over 5000 iterations in a 4 search space of the simulated transmitter's known position to judge the accuracy of the direction finding algorithm.
(70) Angulation Uncertainty Estimation
(71)
(72) Multiple sensors are generally required to localize each transmitter's signal in three-dimensional space. In this simulation, the external sensor locations were randomly distributed in a room-sized hemispherical shell, centered at the simulated transmitter, to investigate the relationship between the number of direction measurements and estimation. The polar and azimuthal coordinates of each sensor was selected in a uniform 2 space. The radial distance from the transmitter to each receiver was taken from a uniform distribution between 3.5 and 4.5 meters, which is an approximate size of a treatment room. The relationship between the angular resolution of the sensors and the accuracy of the position estimate was investigated by performing multiple iterations of estimation based on the same physical setup but varying the magnitude of the uncertainty in the angular measurement.
(73) The relationship between the number of sensors and the physical arrangement of the sensor was also investigated. The initial 3D direction vectors between each sensor and transmitter was calculated as:
(74)
where the positions s.sub.i represents the position of the i.sup.th sensor and p represents the position of the transmitter. In order to simulate uncertainty in the direction of arrival measurement spatial variation, X.sub.i was added to the transmitter's position for direction of arrival measurement according to a 3D Gaussian distribution of width .sub.j and direction vectors were calculated again (
(75)
A least squares estimate of the position, t.sub.j, was calculated based on these new direction vectors for each magnitude of angular resolution .sub.j.
t.sub.j=(.sub.iI.Math..sub.i,j.Math..sub.i,j.sup.T).sup.1(.sub.i(I.Math..sub.i,j.Math..sub.i,j.sup.T)s.sub.i)(14)
where I represents a 33 identity matrix. The magnitude of the error in the estimated position was then found for each level of .sub.j.
Error.sub.j=t.sub.jp(15)
For each level of .sub.j, the average angular miss was calculated by taking the dot product between the true direction vectors from the transmitter and sensors and the simulated miss.
(76)
The mean angular miss serves as a surrogate for angular uncertainty and was compared to the Error in estimated position for each .sub.j (
(77)
(78)
(79) Results
(80) Direction of Arrival Measurements
(81)
(82) The measured data demonstrates that the product of the signals from two rotating receivers (antennas) of the sensor's rotating antenna array forms a signal that may be easily identified, which rises from a minimal value at 0 rotation (when the antennas are in line with the signal path) to a maximum value at 90 rotation (when the vector between the antennas is perpendicular to the signal direction). The signal then returns to a minimum value at 180. The pattern repeats every 180 because the sensor has 2-fold rotational symmetry. The interference between 1.5 GHz signals creates a pattern as the antenna array platform rotates. The central peak of the signal corresponds to the direction of signal arrival, which may be located in angular space by the signal analysis. A peak-finding algorithm found the peak of the high-resolution signal. Based on 5000 iterations of this process, the peak corresponding to the direction of the transmitter was found to differ from the ground-truth direction by 0.02880.0263.
(83) Angulation Uncertainty Analysis
(84)
(85) The relationship between the angulation uncertainty of direction of signal arrival and the mean error of the position estimate is linear, as illustrated by
DISCUSSION
(86) In a clinical environment, RF-based tracking equipment is largely untested. Potential RF reflectors include radiotherapy linear accelerators and simulation CT scanners. In this work, a RF localization system was introduced for accurate tracking of patient motion in radiotherapy, which would provide high accuracy and robustness even in poor SNR setting using RF waves. In the example embodiment, the system also calls for the use of components that operate in the K-band of the electromagnetic spectrum, which are not widely available in normal commercial channels and less investigated in scientific and engineering literature.
(87) Based on the results of the example, it was observed that three parameters can reduce the error in the positioning estimation: improving the angular resolution, increasing the number of sensors, and reducing the distance between the each transmitter on a patient and sensor in the external system. Due to practicality reasons, the number of sensors is generally constrained to be less than about 100 total, and the sensor-transmitter distance is constrained by the room geometry. Therefore, this example focuses a great amount of effort into methods that can improve the angular resolution of the direction of arrival analysis software. Based on standard room sizes, and assuming that on the order of 50 sensors will be used, it's estimated that an angular resolution near 0.04 is necessary to achieve position estimate errors less than 1 mm. Achieving 0.01 resolution may be possible with strong peak detection algorithms, even in poor SNR environments.
Example 2
(88) Structural Finite Element Analysis (FEA) was performed on a CAD model of the positioning table shown in
(89) TABLE-US-00001 Yield Density Modulus of Strength Component Material (g/cm.sup.3) Elasticity (GPa) (MPa) Plate CFRP 1.44 133 300.0 Sockets ABS 1.05 2.2 20.0 Linkage ABS 1.05 2.2 20.0 Glider ABS 1.05 2.2 20.0 Track PVC 1.41 3.4 46.5 Worm Gear Nylon 1.13 2.9 82.7 Baseplate Polycarbonate 1.13 2.3 62
(90) The radio-compatibility of the prototype was tested by placing the device without stepper motors into a clinical treatment planning simulation CT scanner. The average Hounsfield Unit (HU) of each major component was also measured. The HU noise of each component was also measured.
(91) The accuracy and reproducibility of the motion of the device were tested in a radiation therapy treatment room. The ground-truth 6D position was measured using infrared reflective markers and the optical camera of an ExacTrac system. The resting state of the device was defined as the point at which all linear sliders were the same distance from the central brace of the device and the measured center of the top surface of the plate was 8 cm above the surface of the table, as measured by the optical distance indicator on the linear accelerator. The axes of motion of the device were aligned with the axes of measurement of the ExacTrac system within 0.1.
(92) The device is designed to achieve any translational motion within the bounds of 1.0 cm in any direction from the default resting position as well as 2.0 of rotation motion around any axis at any valid translational position. The reproducibility of motion of the device was tested by instructing to the device to move repeatedly between a specified position and the home coordinate and measuring the achieved position at both points. This process was repeated for 10 trials and the accumulated drift was measured.
(93) The reproducibility of motion of the device was tested by instructing to the device to move repeatedly between a specified position and the home coordinate and measuring the achieved position at both points. This process was repeated for 10 trials and the accumulated drift was measured.
(94) The above described tests showed favorable results in all categories: performance under maximum loading conditions, imaging compatibility, motion accuracy, and motion reproducibility.
(95) In the preceding figures, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
(96) The present invention may include a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
(97) The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
(98) Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network (LAN), a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
(99) Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like, and conventional procedural programming languages, such as the C programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
(100) Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, which describe signal processing or signal analysis can be implemented by computer readable program instructions.
(101) These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
(102) The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
(103) The flowchart in
(104) It should be appreciated that the illustrative embodiments described and illustrated herein are non-limiting, and aspects of different illustrative embodiments may be combined, added, or interchanged with aspects of other embodiments. As an example, aspects of sensors 25, 37, 45, 55, and 65 of their respective figures may be combined in various combinations in the practice of the invention. Furthermore, while many exemplary embodiments described herein are directed to applications in medical fields, the invention is not inherently limited to medical applications. Aspects of embodiments of the invention such as but not limited to localization systems and methods or positioning tables may be employed in other capacities and fields. In such circumstances discussions of a patient may be treated as being made with respect to a more general subject, such as a person or object. While exemplary embodiments of the present invention have been disclosed herein, one skilled in the art will recognize that various changes and modifications may be made without departing from the scope of the invention as defined by the following claims.