X-RAY RIPPLE MARKERS FOR X-RAY CALIBRATION
20220054103 · 2022-02-24
Inventors
Cpc classification
A61B6/54
HUMAN NECESSITIES
International classification
A61B6/00
HUMAN NECESSITIES
Abstract
Various embodiments of the present disclosure include a C-arm registration system employing a controller (70) for registering a C-arm (60) to an X-ray ripple marker (20) including a ripple pattern (50) radially extending from a fixed point (40) of the X-ray ripple marker (20). In operation, the controller (70) identifies the ripple pattern (50) within an X-ray image generated from an X-ray projection by the C-arm (60) and illustrative of a portion or an entirety of the ripple pattern (50), the identification of the ripple pattern (50) within the X-ray image is characteristic of a pose of the X-ray projection by the C-arm (60) relative to the X-ray rippler marker (20). The controller (70) further analyzes the ripple pattern (50) within the X-ray image to derive one or more transformation parameters definitive of the pose of the X-ray projection by the C-arm (60) relative to the X-ray rippler marker (20), and registers the C-arm (60) to the X-ray ripple marker (20) based on the transformation parameter(s).
Claims
1. A C-arm registration system, comprising: an X-ray ripple marker (20) including a ripple pattern (50) radially extending from a fixed point (40) of the X-ray ripple marker (20); and a C-arm registration controller (70) configured to: identify the ripple pattern (50) within an X-ray image generated from an X-ray projection by a C-arm (60) and illustrative of at least a portion of the ripple pattern (50), wherein an identification of the ripple pattern (50) within the X-ray image is characteristic of a pose of the X-ray projection by the C-arm (60) relative to the X-ray rippler marker (20); analyze the ripple pattern (50) within the X-ray image to derive at least one transformation parameter definitive of the pose of the X-ray projection by the C-arm (60) relative to the X-ray rippler marker (20); and register the C-arm (60) to the X-ray ripple marker (20) based on the at least one transformation parameter.
2. The C-arm registration system of claim 1, wherein the ripple pattern (50) includes: a plurality of concentric circular ripples.
3. The C-arm registration system of claim 1, wherein the ripple pattern (50) includes: a first series of concentric arc ripples.
4. The C-arm registration system of claim 3, wherein the ripple pattern (50) further includes: a second series of concentric arc ripples dissimilar to the first series of concentric arc ripples in at least one of frequency, phase and amplitude.
5. The C-arm registration system of claim 1, wherein the X-ray ripple marker (20) further includes: a chirp pattern axially aligned with the ripple pattern (50).
6. The C-arm registration system of claim 1, wherein the X-ray ripple marker (20) further includes: a landmark pattern axially aligned with the ripple pattern (50).
7. The C-arm registration system of claim 1, wherein the C-arm registration controller (70) configured to analyze the ripple pattern (50) within the X-ray image includes the C-arm registration controller (70) further configured to: compute at least one wave projection parameter from the identification of the ripple pattern (50) within the X-ray image; and derive the at least one transformation parameter from a computation of the at least one wave projection parameter computed from the identification of the rippler pattern (50) within the X-ray image.
8. The C-arm registration system of claim 7, wherein the C-arm registration controller (70) configured to analyze the ripple pattern (50) within the X-ray image further includes the C-arm registration controller (70) further configured to: apply a least squares approach to the at least one transformation parameter derived from the computation of the at least one wave projection parameter from the identification of the ripple pattern (50) within the X-ray image.
9. The C-arm registration system of claim 1, wherein the C-arm registration controller (70) configured to analyze the ripple pattern (50) within the X-ray image includes the C-arm registration controller (70) further configured to: compute at least one frequency parameter from the identification of the ripple pattern (50) within the X-ray image; apply a Fast Fourier Transform to the computation of the at least one frequency parameter from the identification of the ripple pattern (50) within the X-ray image; and derive the at least one transformation parameter from an application of the Fast Fourier Transform to the computation of the at least one frequency parameter from the identification of the ripple pattern (50) within the X-ray image.
10. The C-arm registration system of claim 1, wherein the C-arm registration controller (70) is further configured to remove the ripple pattern (50) from the X-ray image.
11. A C-arm registration controller (70), comprising: a non-transitory machine-readable storage medium encoded with instructions for execution by at least one processor of a registration of a C-arm (60) to an X-ray ripple marker (20) including a ripple pattern (50) radially extending from a fixed point (40) of the X-ray ripple marker (20), the non-transitory machine-readable storage medium comprising instructions to: identify the ripple pattern (50) within an X-ray image generated from an X-ray projection by the C-arm (60) and illustrative of at least a portion of the ripple pattern (50), wherein an identification of the ripple pattern (50) within the X-ray image is characteristic of a pose of the X-ray projection by the C-arm (60) relative to the X-ray rippler marker (20); analyze the ripple pattern (50) within the X-ray image to derive at least one transformation parameter definitive of the pose of the X-ray projection by the C-arm (60) relative to the X-ray rippler marker (20); and register the C-arm (60) to the X-ray ripple marker (20) based on the at least one transformation parameter.
12. The C-arm registration controller (70) of claim 11, wherein the instructions to analyze the ripple pattern (50) within the X-ray image includes instructions to: compute at least one wave projection parameter from the identification of the ripple pattern (50) within the X-ray image; and derive to the at least one transformation parameter from an computation of the at least one wave projection parameter from the identification of the ripple pattern (50) within the X-ray image.
13. The C-arm registration controller (70) of claim 12, wherein the instructions to analyze the ripple pattern (50) within the X-ray image further includes instructions to: apply a least squares approach to the at least one transformation parameter derived from the computation of the at least one wave projection parameter from the identification of the ripple pattern (50) within the X-ray image.
14. The C-arm registration controller (70) of claim 11, wherein the instructions to analyze the ripple pattern (50) within the X-ray image includes instructions to: compute at least one frequency parameter from the identification of the ripple pattern (50) within the X-ray image; apply a Fast Fourier Transform to the computation of the at least one frequency parameter from the identification of the ripple pattern (50) within the X-ray image; and derive the at least one transformation parameter from an application of the Fast Fourier Transform to the computation of the at least one frequency parameter from the identification of the ripple pattern (50) within the X-ray image.
15. The C-arm registration controller (70) of claim 11, wherein the non-transitory machine-readable storage medium further comprises instructions to: remove the ripple pattern (50) from the X-ray image.
16. A C-arm registration method executable by a C-arm registration controller (70) for registering a C-arm (60) to an X-ray ripple marker (20) including ripple pattern (50) radially extending from a fixed point (40) of the X-ray ripple marker (20), the C-arm registration method comprising: identifying, via the C-arm registration controller (70), the ripple pattern (50) within an X-ray image generated from an X-ray projection by the C-arm (60) and illustrative of at least a portion of the ripple pattern (50), wherein the identification of the ripple pattern (50) within the X-ray image is characteristic of a pose of the X-ray projection by the C-arm (60) relative to the X-ray rippler marker (20), analyzing, via the C-arm registration controller (70), the ripple pattern (50) within the X-ray image to derive at least one transformation parameter definitive of the pose of the X-ray projection by the C-arm (60) relative to the X-ray rippler marker (20); and registering, via the C-arm registration controller (70), the C-arm (60) to the X-ray ripple marker (20) based on the at least one transformation parameter.
17. The C-arm registration method of claim 16, wherein analyzing, via the C-arm registration controller (70), the ripple pattern (50) within the X-ray image includes: computing, via the C-arm registration controller (70), the at least one wave projection parameter from the identification of the ripple pattern (50) within the X-ray image; and deriving to the at least one transformation parameter from the at least one wave projection parameter computed from the identification of the ripple pattern (50) within the X-ray image.
18. The C-arm registration method of claim 17, analyzing, via the C-arm registration controller (70), the ripple pattern (50) within the X-ray image further includes: applying, via the C-arm registration controller (70), a least squares approach to the at least one transformation parameter derived from the at least one wave projection parameter computed from the identification of the ripple pattern (50) within the X-ray image.
19. The C-arm registration method of claim 16, wherein analyzing, via the C-arm registration controller (70), the ripple pattern (50) within the X-ray image includes: computing, via the C-arm registration controller (70), at least one frequency parameter from the identification of the ripple pattern (50) within the X-ray image; applying, via the C-arm registration controller (70), a Fast Fourier Transform to the computation of the at least one frequency parameter from the identification of the ripple pattern (50) within the X-ray image; and deriving, via the C-arm registration controller (70), the at least one transformation parameter from an application of the Fast Fourier Transform to the computation of the at least one frequency parameter from the identification of the ripple pattern (50) within the X-ray image.
20. The C-arm registration method of claim 16, further comprising: removing, via the C-arm registration controller (70), the ripple pattern (50) from the X-ray image.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0044] To facilitate an understanding of various aspects of the present disclosure, the following description of
[0045] Referring to
[0046] In practice, platform 40 may have any size and shape that facilitates an X-ray imaging of radial ripple(s) 30 radially extending from fixed point 41 of platform 40. For example, platform 40 may have a disc shape or a cuboid shape with radial ripple(s) 30 integrated onto a same side surface of the disc or the cuboid, and radially extending from any fixed point on that side surface of the disc or the cuboid (e.g., a center of the disc or the cuboid). The size of the disc and cuboid is not limited by the X-ray imaging space of one or particular types of X-ray imaging systems or generic to all X-ray imaging systems.
[0047] Also in practice, a radial ripple 30 may have any shape and dimensions that partially or fully encircles the fixed point. For example,
[0048] Further in practice, a radial ripple 30 may be integrated into platform 40 in any manner than facilitates an X-ray imaging of X-ray ripple marker 20 that distinguishes the radial ripple(s) 30 from the platform 40 within the X-ray image. For example,
[0049] Referring back to
[0050] For example,
[0051] In practice, a frequency, a phase and/or an amplitude of an X-ray imaged wave may be the characteristic(s) that is(are) a function of a position of an X-ray projection of a C-arm with respect to the X-ray ripple marker 20.
[0052] Further in practice, relative frequencies, relative phases and/or relative amplitudes of two or more X-ray imaged wave(s) may be the characteristics that is(are) a function of a position of an X-ray projection of a C-arm with respect to the X-ray ripple marker 20.
[0053] In one embodiment of ripple pattern 50 as shown in
[0054] In a second embodiment of ripple pattern 50 as shown in
[0055] Still referring to
[0056] Arc series 51a and arc series 51c are identical to each other in terms of frequency, phase and amplitude. Arc series 51a and arc series 51c are identical to arc series 51b and 51d in terms of phase, but dissimilar to arc series 51b and arc series in terms of 51d in frequency and amplitude.
[0057] For any embodiment of ripple pattern 50 (e.g., ripple pattern 50a of
[0058] In practice, a chirp may be disposed on the same side surface of the platform as ripple pattern 50, and/or a chirp may be disposed on a side surface of the platform opposing the ripple pattern 50.
[0059] For any embodiment of ripple pattern 50 (e.g., ripple pattern 50a of
[0060] In practice, the landmark pattern may be disposed on the same side surface of the platform as ripple pattern 50, and/or the landmark pattern may be disposed on a side surface of the platform opposing the ripple pattern 50.
[0061] From the description of
[0062] For example,
[0063] By additional example,
[0064] By further example,
[0065] To further facilitate an understanding of various aspects of the present disclosure, the following description of
[0066] While X-ray ripple marker 20a of
[0067] Referring to
[0068] Generally in the patient-less mode, an X-ray ripple marker 20 (e.g., X-ray ripple marker 20a of
[0069] Subsequently, X-ray ripple marker 20 is removed from an imaging space of C-arm 60 whereby a patient may be positioned within the imaging space of C-arm 60 to thereby perform an intervention based on the C-arm registration involving a generation of X-ray image(s) 64.
[0070] Generally in the patient mode, an X-ray ripple marker 20 (e.g., X-ray ripple marker 20a of
[0071] More particularly to both the patient-less mode and the patient mode, as shown in
[0072] In practice, the X-ray projection may originate at any point of the X-ray source 61, such as, for example, a focal spot 65 as shown in
[0073] In practice, X-ray ripple marker 20 may establish coordinate system 21 having a fixed point of the X-ray ripple marker 20 as the origin of coordinate system 21, or alternatively, X-ray ripple marker 20 may be calibrated with a coordinate system 22 of an intervention device (e.g., an intervention robot system having the X-ray ripple marker 20 attached thereto).
[0074]
[0075] Referring to
[0076] In practice, knowing the geometry of X-ray ripple marker 20 may serve as a basis for identifying X-ray maker 20 within the X-ray image when an entirety of X-ray ripple marker 20 is illustrated within the X-ray image, or the utilization of a landmark pattern (e.g., landmark pattern of copper balls 53) may serve as a basis for identifying X-ray maker 20 within the X-ray image when a portion of X-ray ripple marker 20 is illustrated within the X-ray image.
[0077] For example, in the patient-less mode, X-ray ripple marker 20 may be aligned between focal spot 65 and X-ray detector 62 whereby an entirety of X-ray ripple marker 20 may be illustrated within X-ray image 63 (
[0078] By further example, in the patient mode, a landmark pattern of copper balls 53 (
[0079] A stage S84 of flowchart 80 involves a derivation of transformation parameter(s) from the ripple pattern 50 identified in stage S82 to thereby register X-ray ripple marker 20 and X-ray C-arm 60 during a stage S86 of flowchart 80.
[0080] In practice, stage S84 involves a generation of transformation signal(s) from frequency(ies), phase(s) and/or amplitude(s) of the radial ripples of ripple pattern 50 identified in stage 82. The transformation signal(s) may be analyzed during stage S84 to derive transformation parameter(s) that define the position of the X-ray projection by the C-arm 60 (e.g., focal spot 65) relative to the X-ray ripple marker 20, meaning a location and/or an orientation of the X-ray projection within coordinate system 21 or coordinate system 22 may now be determined from the transformation parameter(s) during stage S86.
[0081] In one embodiment of stages 84 and 86, particularly for embodiments of ripple pattern 50 having an arrangement of radial ripples of the same frequency, phase and amplitude, a pose of X-ray ripple marker 20 in the C-arm space is described by a rigid body transformation composed of a rotation R and a translation t. The rotation is parameterized using ZXZ Euler angles as in accordance with the following equation [1]:
R(θ.sub.z1,θ.sub.x,θ.sub.z2)=R.sub.z(θ.sub.z1)R.sub.x(θ.sub.x)R.sub.z(θ.sub.z2) [1]
[0082] where R.sub.z(θ) is a rotation around z axis with angle θ.
[0083] The translation vector t is composed of elementary displace-ments along axes as shown in the following equation [2]:
[0084] Any point p.sup.Marker∈R.sup.3 in marker space 21 or 22 may be converted in C-arm space (e.g., having focal spot 65 as an origin) in accordance with the following equation [3]:
p.sup.C-arm=R(θ.sub.z1,θ.sub.x,θ.sub.z2)p.sup.Marker+t(t.sub.x,t.sub.y,t.sub.z) [3]
[0085] Similarly, a position of any point in C-arm space—p.sup.C-arm—can be translated in marker space 21 or 22 in accordance with the following equation [4]:
p.sup.Marker=R(θ.sub.z1,θ.sub.x,θ.sub.z2)Tp.sup.C-arm−R(θ.sub.z1,θ.sub.x,θ.sub.z2).sup.Tt(t.sub.x,t.sub.y,t.sub.z) [4]
[0086] In a second embodiment of stages 84 and 86, particularly for embodiments of ripple pattern 50 having an arrangement of a first series radial ripples and a second series of radial ripples having a frequency, a phase and/or an amplitude dissimilar from the first series of radial ripples, a distance from the focal spot 65 to the fixed point of the X-ray ripple marker 20 may be determined from the dissimilar frequencies, dissimilar phases and/or dissimilar amplitudes as will be exemplary described in the present disclosure with the description of
[0087] Still referring to
[0088] In one embodiment, a frequency-based filtering technique may be utilized during stage S88.
[0089] In a second embodiment, image subtraction technique may be utilized involving a transformation of a model of X-ray ripple marker 20 to an actual location and orientation of X-ray ripple marker in the X-ray image 65a to thereby subtract the X-ray ripple marker in the X-ray image 65a with minimal effect on image quality as will be exemplary described in the present disclosure with the description of
[0090] The following is a description of one embodiment of a patient mode of C-arm registration controller 70 (
whereby wave projection parameters c.sub.1 and c.sub.2 are a function of the perspective transformation parameters:
[0091] where s(r) is the model sinusoidal pattern, A is the amplitude, f.sub.m is the frequency, and s.sub.p(s) is the projective geometry transformed pattern of s(r).
[0092]
[0093]
[0094] Referring to
[0095] A stage S96 of flowchart 90 encompasses controller 70 processing acquired X-ray image 63a and computed center point (x.sub.c.sup.i, y.sub.c.sup.i) coordinates 112 to compute wave projection parameters c.sub.1 and c.sub.2.
[0096] A stage S98 of flowchart 90 encompasses controller 70 processing acquired X-ray image 63a, wave projection parameters c.sub.1 and c.sub.2 and stored marker geometry 110 and C-arm geometry to obtain an initial approximation of transformation parameters (t.sub.x.sup.0, t.sub.y.sup.0, t.sub.z.sup.0, Θ.sub.x.sup.0, Θ.sub.y.sup.0, Θ.sub.z.sup.0) 115.
[0097] A stage S100 of flowchart 90 encompasses controller 70 processing transformation parameters (t.sub.x.sup.0, t.sub.y.sup.0, t.sub.z.sup.0, Θ.sub.x.sup.0, Θ.sub.y.sup.0, Θ.sub.z.sup.0) 115, (x.sub.bb.sup.i(k), y.sub.bb.sup.i(k)) coordinates 111 for each ball bearing landmark and stored marker geometry 110 and C-arm geometry to obtain a refinement/least square optimization of transformation parameters (t.sub.x, t.sub.y, t.sub.z, Θ.sub.x, Θ.sub.y, Θ.sub.z) 116, bearing projection 117 and error/rms 118.
[0098] More particularly, in one embodiment of stages S92 and S94, a marker geometry 110 is such that a connection of the closet two (2) ball bearings defines lines that will intersect in the marker center as shown in
[0099] The center of the ball bearings is computed using simple thresholding or more advanced algorithms, such as, for example, adaptive thresholding or Otsu thresholding. The ball bearing pairs are formed by simple clustering since the radial neighbor which is of interest is much closer than the lateral ones. After segmentation, blobs that are too small or too large are filtered out. Then, the intersection of the rays is computed using a linear least squares approach.
[0100] In one embodiment of stage S96,
[0101] In one embodiment of stage S98, c.sub.1, c.sub.2, and a range of γ values are then used to compute the position of X-ray ripple marker 20a down to the twist around the axis of the marker 20a. An initial approximation of the marker position in the image space comprises five (5) degrees of freedom computed from wave projection parameters c.sub.1 and c.sub.2 and (1) degree of freedom which is twisted around z axis angle Θ.sub.z2. The angle Θ.sub.z2 is the one that maximizes the normalized cross correlation between the image signal retrieved at the coordinates corresponding to the projection of the rim chirp using the 5 DOF initial position approximation and γ twist angle and the model chirp pattern in accordance with the following equation [7]:
[0102]
[0103] In one embodiment of stage S100, the computed position is optimized using a least squares approach. For each ball bearing identified in the image, b.sub.i; i=1 . . . n, a model corresponding to position b.sup.m.sub.i; i=1 . . . n is computed and subsequently, using the approximate parameters t.sub.x, t.sub.y, t.sub.z, θ.sub.z1, θ.sub.x, θ.sub.z2 and C-arm geometry 115, virtual projections are computed in accordance with the following equations [8] and [9]:
[0104] where (x.sub.s, y.sub.s, z.sub.s).sup.T is the position of the source 61 with respect to the detector 62 coordinate system, and psz.sub.x and psz.sub.y are the pixel sizes in x and y directions. It is assumed that the detector coordinate system coincides with the image coordinate system with only a difference in pixel size.
[0105] A cost function may then represented in accordance with the following equation [10]:
C(t.sub.x,t.sub.y,t.sub.z,θ.sub.z1,θ.sub.x,tθ.sub.z2)=Σ.sub.i=1.sup.n∥b.sub.i−{tilde over (b)}.sub.i∥.sub.2.sup.2 [10]
[0106] The cost function is minimized using a “Nelder-Mead” algorithm.
[0107]
[0108] Referring to
[0109] Once the point-to-point homographic transform has been applied to the marker model 126b to provide a rough registration 65c of
[0110] The following Table I outlines the subtraction techniques
TABLE-US-00001 TABLE 1 Subtraction Technique 1: Compute model location in image space (Model) 2: Compute marker location in image space (Image) 3: Locate equivalent fiducial points in the model (Pts.sub.image) and the image (Pts.sub.model ) 4: Compute point-to-point homographic transform (Pts.sub.image = T.sub.homography * Pts.sub.model) 5: Transform model into marker space (Model.sub.transformed = T.sub.homography * Model) 6: Compute fine-tuned transformation (T.sub.correlation) by optimizing image correlation 7: Make final model transform (Model.sub.fineTuned = T.sub.correlation * Model.sub.transformed) 8: Subtract final model from image (Image.sub.subtracted = Image − Model.sub.finetuned) 9: Add mean value offset to subtracted marker region (Image.sub.final = Image.sub.subtracted − Model.sub.mean)
[0111]
[0112] More particularly to both the patient-less mode and the patient mode, as shown in
[0113] where SM is the distance 132 from X-ray source 130 to X-ray ripple marker 133, SD is the distance from X-ray source 130 to X-ray detector 134 (which is known from calibration or DICOM data), T.sub.M is the time period of the ripple pattern and Ti is image period (computed from image). Converting equation [11A] to frequencies yields the following equation [11b]:
[0114] f.sub.M is the frequency of the known ripple pattern and f.sub.I is image frequency (computed from image).
[0115] Equation [11b] is for looking in one direction of the image. The following equation [11c] is for two directions suitable for X-ripple marker 20b(
[0116] where f.sub.H.sup.M is the highest frequency of the known ripple pattern, f.sub.L.sup.M is the highest frequency of the known ripple pattern, f.sub.H.sup.I is highest image frequency (computed from image) and f.sub.L.sup.I is lowest image frequency (computed from image).
[0117] In practice, more than two directions may be utilized. Also in practice, a simplest approach is by using fast Fourier transform (FFT) along lines going through the center of X-ray ripple marker 20b of
[0118] Referring to
[0119] For example,
[0120] By further example,
[0121] For the first parallel position 151 (
[0122] For the second parallel position 152 (
[0123]
[0124] For the first position 151 of
[0125] For the second position 153 of
[0126] Referring back to
[0127] In one embodiment of stage S140, xcd and ycd represent the center of the X-ray ripple marker 20b in detector coordinate system whereby the compute the translation of X-ray ripple marker 20b is computed in accordance with the following equations [12a]-[12c]:
tz=SD−SM [12]
tx=xcd*SD/SM [12]
ty=ycd*SD/SM [12]
[0128] By additional example illustrates a scenario where the ripple pattern of X-ray ripple marker 20b is titled with respect to the X-ray detector at a position 158 with a line 158L traversing through low frequency radial ripple series 51a and low frequency radial ripple series 51c, and a line 158H traversing through high frequency radial ripple series 51b and high frequency radial ripple series 51d.
[0129]
[0130] To facilitate a further understanding of the various inventions of the present disclosure, the following description of
[0131] Referring to
[0132] Each processor 171 may be any hardware device, as known in the art of the present disclosure or hereinafter conceived, capable of executing instructions stored in memory 172 or storage or otherwise processing data. In a non-limiting example, the processor(s) 171 may include a microprocessor, field programmable gate array (FPGA), application-specific integrated circuit (ASIC), or other similar devices.
[0133] The memory 172 may include various memories, as known in the art of the present disclosure or hereinafter conceived, including, but not limited to, L1, L2, or L3 cache or system memory. In a non-limiting example, the memory 172 may include static random access memory (SRAM), dynamic RAM (DRAM), flash memory, read only memory (ROM), or other similar memory devices.
[0134] The user interface 173 may include one or more devices, as known in the art of the present disclosure or hereinafter conceived, for enabling communication with a user such as an administrator. In a non-limiting example, the user interface may include a command line interface or graphical user interface that may be presented to a remote terminal via the network interface 174.
[0135] The network interface 174 may include one or more devices, as known in the art of the present disclosure or hereinafter conceived, for enabling communication with other hardware devices. In a non-limiting example, the network interface 174 may include a network interface card (NIC) configured to communicate according to the Ethernet protocol. Additionally, the network interface 174 may implement a TCP/IP stack for communication according to the TCP/IP protocols. Various alternative or additional hardware or configurations for the network interface 174 will be apparent.
[0136] The storage 175 may include one or more machine-readable storage media, as known in the art of the present disclosure or hereinafter conceived, including, but not limited to, read-only memory (ROM), random-access memory (RAM), magnetic disk storage media, optical storage media, flash-memory devices, or similar storage media. In various non-limiting embodiments, the storage 175 may store instructions for execution by the processor(s) 171 or data upon with the processor(s) 171 may operate. For example, the storage 175 may store a base operating system for controlling various basic operations of the hardware. The storage 175 also stores application modules in the form of executable software/firmware for implementing the various functions of the controller 170a as previously described in the present disclosure including, but not limited to, a C-arm to marker registration module 178 and a ripple marker removal module 179 as previously described in the present disclosure.
[0137] In practice, controller 170 may be installed within an X-ray imaging system 160, an intervention system 161 (e.g., an intervention robot system), or a stand-alone workstation 162 in communication with X-ray imaging system 160 and/or intervention system 161 (e.g., a client workstation or a mobile device like a tablet). Alternatively, components of controller 170 may be distributed among X-ray imaging system 160, intervention system 161 and/or stand-alone workstation 162.
[0138] Referring to
[0139] Additionally,
[0140] Further, as one having ordinary skill in the art will appreciate in view of the teachings provided herein, structures, elements, components, etc. described in the present disclosure/specification and/or depicted in the Figures may be implemented in various combinations of hardware and software, and provide functions which may be combined in a single element or multiple elements. For example, the functions of the various structures, elements, components, etc. shown/illustrated/depicted in the Figures can be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software for added functionality. When provided by a processor, the functions can be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which can be shared and/or multiplexed. Moreover, explicit use of the term “processor” or “controller” should not be construed to refer exclusively to hardware capable of executing software, and can implicitly include, without limitation, digital signal processor (“DSP”) hardware, memory (e.g., read only memory (“ROM”) for storing software, random access memory (“RAM”), non-volatile storage, etc.) and virtually any means and/or machine (including hardware, software, firmware, combinations thereof, etc.) which is capable of (and/or configurable) to perform and/or control a process.
[0141] Moreover, all statements herein reciting principles, aspects, and embodiments of the invention, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include both currently known equivalents as well as equivalents developed in the future (e.g., any elements developed that can perform the same or substantially similar function, regardless of structure). Thus, for example, it will be appreciated by one having ordinary skill in the art in view of the teachings provided herein that any block diagrams presented herein can represent conceptual views of illustrative system components and/or circuitry embodying the principles of the invention. Similarly, one having ordinary skill in the art should appreciate in view of the teachings provided herein that any flow charts, flow diagrams and the like can represent various processes which can be substantially represented in computer readable storage media and so executed by a computer, processor or other device with processing capabilities, whether or not such computer or processor is explicitly shown.
[0142] Having described preferred and exemplary embodiments of the various and numerous inventions of the present disclosure (which embodiments are intended to be illustrative and not limiting), it is noted that modifications and variations can be made by persons skilled in the art in light of the teachings provided herein, including the Figures. It is therefore to be understood that changes can be made in/to the preferred and exemplary embodiments of the present disclosure which are within the scope of the embodiments disclosed herein.
[0143] Moreover, it is contemplated that corresponding and/or related systems incorporating and/or implementing the device/system or such as may be used/implemented in/with a device in accordance with the present disclosure are also contemplated and considered to be within the scope of the present disclosure. Further, corresponding and/or related method for manufacturing and/or using a device and/or system in accordance with the present disclosure are also contemplated and considered to be within the scope of the present disclosure.