Abstract:
A method and apparatus for detecting position and orientation of catheter distal magnetic element end while moving in a patient&#39;s heart is described. The apparatus includes magnetic sensors for to detect the magnetic field of a generated by the catheter tip. Each sensor transmits the field magnitude and direction to a detection unit, which filters the signals and removes other field sources, such as generated by CGCI coils and external medical hardware. The method allows the measurements of magnitude corresponding to the catheter tip distance from the sensor and the orientation of the field showing the magnetic tip orientation. Since the tip&#39;s magnetic field is not necessarily symmetric, the position and orientation computation technique are not independent of each other. Hence, an iterative calculation is used to converge to a solution. The method of determining tip position is calculated by triangulation from each sensor. In one embodiment, the tip orientation is calculated by an intersecting-planes algorithm. The orientation is used to adjust the distances from each sensor, and the process is repeated until convergence for both position and orientation is achieved. The resultant value provides the actual catheter tip position and orientation (AP). The actual position is further filtered by synchronizing the AP measurements with the QRS signal of the heart, allowing the operator and CGCI controller to view the organ as a static object.

Description:
BACKGROUND 
       [0001]    1. Field of the Invention 
         [0002]    The invention relates to systems and methods for guiding, steering, and advancing an invasive medical device in a patient while using a sensor and fiducial markers to determine the location and orientation of the catheter. 
         [0003]    2. Description of the Prior Art 
         [0004]    Catheterization is typically performed by inserting an invasive device into an incision or body orifice. This procedure relies on manually advancing the tip of the invasive device by pushing, rotating, or otherwise manipulating the proximal end which remains outside of the body. 
         [0005]    The prior art approach to solving the fiducial relationship between the moving catheter tip and the heart relies on manually advancing the catheter tip by pushing the proximal end of the catheter, while grossly neglecting the respiratory outputs (ribcage displacement), heart contraction, QRS synchronization, patient operating bed location, image capture (x-ray or other imaging modalities) to approximately move the catheter from the current Actual Position (AP) to the Desired Position (DP). 
         [0006]    Review of the prior art and its limitations indicate the inability of the prior art solutions to account for the global orientation of the catheter tip relative to frame distortion associated with the operating table, QRS synchronization timing point, or image acquisition, where the data points (e.g., the vector space) are normalized to the patient local coordinate system. 
         [0007]    The limitations of the prior art are characterized by the fact that the operator requires the system to define an accurate position for moving the catheter tip from actual position to its desired position in an “autopilot” regiment. The prior art cited can not perform the task because the position and orientation of the catheter tip is influenced by more than the local coordinate system and it is dependent on many variables such as, heart dynamics, fiducial external sensor, patient&#39;s body relative to the operating table, etc. 
         [0008]    Therefore, there is a substantial and unsatisfied need for an apparatus and method for detecting the position and orientation of a medical tool such as catheter and catheter like devices in order to guide, steer, advance the position of an invasive device and for accurately controlling their position, for providing three dimensional imaging and for minimizing the use of x-ray or other ionizing radiation. 
       SUMMARY 
       [0009]    The system described herein solves these and other problems by locating the catheter tip in a magnetic chamber and within the patient&#39;s body. In one embodiment, the catheter is located in the heart in the presence of dynamic motion under the QRS regiments (e.g., while undergoing the systole/diastole cycle). 
         [0010]    The position and orientation of the catheter is tracked in the presence of dynamical variables, such as, for example, movement of the catheter from its actual position (AP) to its desired position (DP), the dynamics of the patient&#39;s heart during its mechanical contraction and repolarization of the heart muscle, the location of the catheter tip relative to the organ&#39;s specific anatomy, the operating table, and all the above variables relative to the orientation of the imaging modality used in viewing the organ, (e.g., ultrasonics, radar, x-ray, x-ray with different angulation AP caudal 20° etc.). 
         [0011]    Many of the variables are relatively independent of each other such that there is no useful functional relationship between each one of the elements which define the position of the catheter so as to predicate the other variables. The operating table position, the respiratory chest positions, the movement of catheter tip from AP to DP, the heart cycle, the QRS signal, and the x-ray image orientation are relatively independent variables. One embodiment provides correlation of these variables. 
         [0012]    In a catherization system, the CGCI must be capable of identifying the position and orientation of the catheter tip in order to be able to operate in closed-loop servo mode. 
         [0013]    In one embodiment, the magnetic system is further improved by using a shaped magnetic field to reduce the power required to move the catheter tip from the AP to the DP. 
         [0014]    In one embodiment, the system is used in connection with a cardiology procedure, such as, for example, an electrophysiological (EP) procedure of mapping and ablation by using the CGCI to control, guide, and image the catheter. 
         [0015]    One embodiment includes a servo closed-loop CGCI controller where:
       i. The patient&#39;s rotation relative to the catheter&#39;s tip (the tip) is independent of the transformation for finding the accurate position and orientation of the catheter&#39;s tip.   ii. The location and movement of the organ (e.g., heart) relative to the operating table is independent of the transformation for finding the accurate catheter&#39;s position and orientation.   iii. The patient&#39;s position and heart orientation relative to the operating table as well as the orientation of the auxiliary imaging equipment are independent variables and can be accounted for. Without loss of generality, the system can provide an accurate catheter position and orientation under conditions noted above.   iv. The system is able to provide servo closed loop control while accounting for translation and rotation of the catheter tip relative to a set of independent variables such as the patient&#39;s orientation relative to the operating table, image acquisition orientation (e.g., AP, RAO, caudal, etc), respiration mode, and including the QRS heart dynamic (muscle contraction and repolarization).   v. The system, including the catheter position detection unit and its three dimensional vectors, the QRS synchronization unit, the fiducial alignment system, the operation console (includes the display, haptic controller, and mouse) the mapping unit, the position recording unit, the fiducial sensor, the operating table, configuration file, holding the three dimensional models, three dimensional heart model, three dimensional torso model, three dimensional atrial parts model) determines the position and orientation of the catheter tip under dynamic conditions as indicated in i thru iv above. The patient&#39;s organ and its specific anatomical site are synchronized to form a normalized vector field (orthogonal to the global coordinate system) further facilitating the operation of the servo closed loop       
 
         [0021]    One embodiment includes a CGCI apparatus for determining the position and orientation of the catheter&#39;s tip under an translation or rotation of variables such as: patient specific anatomical features such as the heart, right atrium, inferior vena cava, superior vena cava, right atrium lateral wall, HIS bundle, interatrial transseptum, heart left atrium, heart right ventricle, heart left ventricle, heart tricuspid valve, heart mitral valve, electrocardiac signal, QRS synchronization timing point, and respiration signal, etc. 
         [0022]    The catheter tip is detected and displayed relative to the fiducial sensor position and orientation with its orthogonal vector set: the fiducial x-axis, FX; fiducial y-axis, FY; fiducial z-axis, FZ; and fiducial position, FP. 
         [0023]    In one embodiment, the actual catheter tip and virtual catheter tip are normalized under the global orientation transformation matrix, GO, and global position transform matrix, GP. 
         [0024]    In one embodiment, the detection unit provides data for defining the location of the catheter tip, forming a map and synchronizing the patient, his or her heart and specific anatomical features e.g. HIS bundle, its electrocardiac signal, and/or its QRS synchronization timing point. The catheter position and orientation is further corrected relative to respiration signal (pulmonary chest displacement). 
         [0025]    The closed loop control system uses the ability of the imaging and synchronization module to locate, identify, and report the position and orientation of the catheter tip in three dimensional space under dynamic conditions (e.g., heart muscle contraction and repolarization) while considering respiration distortion of the ribcage, the patient&#39;s position relative to the operating table and the specific image capture relative to the patient&#39;s organs. 
         [0026]    The system provides an accurate position and orientation of the catheter&#39;s tip the presence of relatively independent dynamic variables. The movement of the catheter tip from its actual position AP (catheter axis, global coordinates, and catheter position, global coordinate) to its desired position DP, the movement of the catheter tip, the patient, heart and its specific anatomical features (e.g. heart left atrium) are relatively independent variables. 
         [0027]    In one embodiment, the system is used in connection with a procedure for finding the tricuspid valve in a rotated patient. In one embodiment, the system is used in connection with a procedure for finding the pulmonary vein in a rotated patient. 
         [0028]    In one embodiment, the system is configured to determine the position and orientation of the catheter tip and or surgical tools while accounting for mechanical contraction of the heart muscle, its electrical excitation propagation in three dimensional space (one embodiment of a technique for computing the Laplacian cardiac electrogram and the wave equation characteristics used by the CGCI apparatus is further described by U.S. patent application Ser. No. 11/362,542, hereby incorporated by reference). 
         [0029]    In one embodiment, the multiple dynamic and independent variables such as QRS complex, catheter position and orientation, and the outside fiducial markers are normalized in real time to facilitate the servo closed loop modality for controlling the movement of the catheter from AP to a DP. The actual position (AP) is mapped onto the virtual models and patient anatomy by using the global position and orientation matrices generated so as to account for the shifts of position and orientation of the Fiducial alignment sensor caused by patient motion and ribcage displacement due to respiration. Using these matrices, the operator commands, the patient and the patient data are synchronized, and the desired position and orientation (DP), is generated as a conformal map relative to the actual catheter tip position (AP) and patient anatomy, further forming a servo close loop modality for Control, Guidance and Imaging of catheter tip in a magnetic chamber. 
         [0030]    In one embodiment, a fiducial map is used to relate dimensional, anatomical and electrical elements in real time. 
         [0031]    One embodiment includes a magnetic catheter guidance and control apparatus that requires less training and less skill than prior art systems. In one embodiment, a radar system is used to determine the location of the tip of the catheter inside the body, thus minimizing or eliminating the use of ionizing radiation such as X-rays. Alternatively, the catheter guidance system can be used in combination with an X-ray system (or other imaging system) to provide additional imagery to the operator. Moreover, the magnetic system used in the magnetic catheter guidance system can also be used to locate the catheter tip to provide location feedback to the operator and the control system. In one embodiment, a magnetic field source is used to create a magnetic field of sufficient strength and orientation to move a magnetically-responsive catheter tip in a desired direction by a desired amount. 
         [0032]    One embodiment includes a catheter and a guidance and control apparatus that can accurately, and with relative ease, allow the surgeon/operator to position the catheter tip inside a patient&#39;s body. The catheter guidance and control apparatus can maintain the catheter tip in the correct position. One embodiment includes a catheter and a guidance and control apparatus that can steer the tip of the catheter through arteries and forcefully advance it through plaque or other obstructions. One embodiment includes a catheter guidance and control apparatus that displays the catheter tip location with significantly reduced X-ray exposure to the patient and staff One embodiment includes a catheter guidance and control apparatus that is more intuitive and simpler to use, that displays the catheter tip location in three dimensions, that applies force at the catheter tip to pull, push, turn, or hold the tip as desired, and that is capable of producing a vibratory or pulsating motion of the tip with adjustable frequency and amplitude to aid in advancing the tip through plaque or other obstructions. One embodiment provides tactile feedback at the operator control to indicate an obstruction encountered by the tip. 
         [0033]    In one embodiment, the catheter guidance control and imaging (CGCI) system allows a surgeon to advance, accurately position a catheter, and to view the catheter&#39;s position in three dimensions by using a detection system to locate the tip of the catheter. In one embodiment, the detector data can be combined with X-ray imagery to produce a composite display. In one embodiment, the detector is a system which includes a synthetic aperture radar (SAR). In one embodiment, the radar system includes an ultra-wideband radar. In one embodiment, the radar system includes an impulse radar. 
         [0034]    In one embodiment, the apparatus includes a user input device called a “virtual tip” that, in addition to being a representation of the actual or physical catheter tip advancing within the patient&#39;s body, possesses a positional relationship to the catheter tip. The virtual tip includes a haptic joystick that can be manipulated by the surgeon/operator and is also designed to deliver tactile feedback to the surgeon in the appropriate axis or axes if the actual tip encounters an obstacle. In other words, the virtual tip includes a joystick-type device that allows the surgeon to guide the actual catheter tip though the patient&#39;s body. When the actual catheter tip encounters an obstacle, the virtual tip provides tactile force feedback to the surgeon to indicate the presence of the obstacle. 
         [0035]    In one embodiment, the physical catheter tip (the distal end of the catheter) includes a permanent magnet that responds to a magnetic field generated externally to the patient&#39;s body. The external magnetic field pulls, pushes, turns, and holds the tip in the desired position. One of ordinary skill in the art will recognize that the permanent magnet can be replaced or augmented by an electromagnet. 
         [0036]    In one embodiment, the physical catheter tip (the tip of the catheter) includes a permanent magnet and two piezoelectric rings, or semiconductor polymer rings to allow the detector to sense the second harmonics of the resonating signal emanating from the rings. 
         [0037]    In one embodiment, the CGCI apparatus uses a technique of image synchronization by using a sensor having six degrees of freedom (6-DOF), thereby allowing the formation of a stereotaxic frame of reference. 
         [0038]    In one embodiment, the electromagnetic circuit of the CGCI apparatus includes a C-arm geometry using a ferromagnetic substance (e.g., a ferrite substance) so as to increase the efficiency of the magnetic circuit. 
         [0039]    In one embodiment, the CGCI apparatus uses numerical transformations to compute currents to be provided to various electromagnets to control the magnetic field used to push, pull and rotate the catheter tip in an efficient manner. 
         [0040]    In one embodiment, the CGCI apparatus includes an ultrawideband (UWB) impulse radar and a 6-DOF sensor configured to detecting the catheter tip and moving body organs, and synchronize their motions. 
         [0041]    In one embodiment, the CGCI apparatus is used to perform an implantation of a pace-maker leads during an electrophysiological (EP) procedure. 
         [0042]    In one embodiment, the CGCI apparatus uses a detector or other sensors to measure, report and identify the location of a moving organ within the body (e.g., the heart, lungs, etc), with respect to the catheter tip and one or more fiducial markers, so as to provide guidance control and imaging to compensate for movement of the organ, thereby simplifying the surgeon&#39;s task of manipulating the catheter through the body. 
         [0043]    In one embodiment, the operator control provides the position and orientation command inputs to a servo system that controls the catheter tip position by regulating the magnetic force applied outside the patient&#39;s body. A measurement of the actual tip position and orientation is made via sensory apparatus that includes a radar system, and the  6 -DOF sensor. This measurement is used to provide feedback to the servo system and the operator interface. In one embodiment, the servo system has a correction input that compensates for the dynamic position of a body part, or organ, such as the heart, thereby offsetting the response such that the actual tip moves substantially in unison with the beating heart. 
         [0044]    In one embodiment, operation of the catheter guidance system is as follows: i) the operator adjusts the physical position of the virtual tip, ii) a change in the virtual tip position is encoded and provided along with data from the detector system and a 6-DOF sensor to a control system, iii) the control system generates servo-system commands that are sent to a servo system control apparatus, iv) the servo system control apparatus operates the servo mechanisms to adjust the force (B) of one or more electromagnet clusters. The position of the actual magnetic catheter tip within the patient&#39;s body to change, v) the new position of the actual catheter tip is then sensed by the detector and the position of a plurality of fiducial markers are sensed by the  6 -DOF sensor, thereby allowing synchronization and superimposing of the catheter position on an image produced by fluoroscopy and/or other imaging modality, and vi) providing feedback to the servo system control apparatus and to operator interface and updating the displayed image of the actual catheter tip position in relation to the patient&#39;s internal body structures. 
         [0045]    The operator can make further adjustments to the virtual catheter tip position and the sequence of steps ii through vi are repeated. In one embodiment, feedback from the servo system control apparatus creates command logic when the actual catheter tip encounters an obstacle or resistance in its path. The command logic is used to control stepper motors which are physically coupled to the virtual catheter tip. The stepper motors are engaged as to create resistance in the appropriate directions that can be felt by the operator, and tactile feedback is thus provided to the user. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0046]      FIG. 1  is a block diagram of the CGCI unit showing the imaging and synchronization subsystem and its function in obtaining AP and specifying DP. 
           [0047]      FIG. 2  is a first perspective view of the catheter tools. 
           [0048]      FIG. 3  is a second perspective view of the catheter tools. 
           [0049]      FIG. 4  is a third perspective view of the catheter tools. 
           [0050]      FIG. 5  is a fourth perspective view of the catheter tools. 
           [0051]      FIG. 5  is an illustration of the magnetic chamber used in the CGCI Controller. 
           [0052]      FIG. 6  shows the operator console screen showing the command function and data blocks. 
           [0053]      FIG. 7  shows the operator console screen showing the position reference data and position reference markers. 
           [0054]      FIG. 8  shows the operator console screen showing the command functions and visual references objects. 
           [0055]      FIG. 9  shows a haptic controller and its coordinate system. 
           [0056]      FIGS. 10 and 10A  are block diagrams of the Catheter Detection Unit, its basic internal routines and its function in providing catheter global coordinates, AP, to the fiducial system. 
           [0057]      FIG. 11  is a schematic diagram of a Hall-Effect sensor in relationship to the catheter tip, and its generated measurement data. 
           [0058]      FIG. 12  is a schematic diagram of a catheter position triangulation using four Hall-Effect sensors and their respective range values. 
           [0059]      FIG. 13  is a detailed schematic of the triangulation of the catheter position&#39;s x-coordinate using two sensors. 
           [0060]      FIG. 14  is a diagram of the Intersection Planes Method for determining the orientation of a catheter tip from its position and two sensor&#39;s magnetic field values. 
           [0061]      FIGS. 15 and 15A  are illustrations of the fiducial system&#39;s function in relation to breathing movements. 
           [0062]      FIG. 16  is a schematic of the Fiducial Alignment System&#39;s circuitry. 
           [0063]      FIG. 17  is a schematic diagram of the relationship between local, global, and fiducial coordinate systems and their associated reference vectors. 
           [0064]      FIG. 18  is the general form of the matrix used to rotate one vector about another by a given angle in a left-handed coordinate system. 
           [0065]      FIG. 19  is a reproduction of the operator console screen for Fiducial Example 1, illustrating the catheter tip&#39;s placement in the Tricuspid Valve of an unrotated patient, and highlighting the corresponding data. 
           [0066]      FIG. 20  is a reproduction of the operator console screen for Fiducial Example 1, illustrating the catheter tip&#39;s placement in the Tricuspid Valve of a rotated patient, and highlighting the corresponding data. 
           [0067]      FIG. 21  is a reproduction of the operator console screen for Fiducial Example 2, illustrating the catheter tip&#39;s placement in the pulmonary vein of an unrotated patient, and highlighting the corresponding data. 
           [0068]      FIG. 22  is a reproduction of the operator console screen for Fiducial Example 2, illustrating the catheter tip&#39;s placement in the pulmonary vein of a rotated patient, and highlighting the corresponding data. 
       
    
    
     DETAILED DESCRIPTION 
       [0069]      FIG. 1  is a block diagram of a CGCI unit  1500  what includes an imaging and synchronization unit  701 , a catheter detection unit  11 , a fiducial alignment system  12 , and an operation console  13 . In the CGCI Unit  1500 , the operator navigates a magnetically tipped catheter  377  within a patient  1  using a six-degree of freedom haptic joystick  18  (shown in  FIG. 9 ) while visualization of the progress of a virtual catheter tip  905  within the operation console&#39;s three dimensional virtual environment  13  as shown in  FIG. 6 . The catheter tip position detection system  11  provides the current position of the catheter tip or actual position (AP)  902 , and the operator&#39;s position movement commands to move the catheter to a desired position (DP)  903  are sent to the catheter tip position control system or the CGCI controller  501  in  FIG. 1 . 
         [0070]    Use of a magnetic chamber with an adaptive regulator, while using a joystick haptic device for operator control and method for detecting a magnetically tipped catheter is described in U.S. patent application Ser. No. 10/621,196  “Apparatus for Catheter, Guidance, Control, and Imaging   38  hereby incorporated by reference. The technique and apparatus is further explained by U.S. patent application Ser. No. 11/33 1,78 1 , “System and Method for Controlling Movement of a Surgical Too .” hereby incorporated by reference. The magnetic apparatus for generating controlled movement in the patient&#39;s body is detailed by U.S. application Ser. No. 11/331,994 , “Apparatus and Method for Generating a Magnetic Field ” hereby incorporated by reference. The method for controlling a surgical tool within the patient&#39;s body and the technique for such use is described by U.S. application Ser. No. 11/331,485 , “System and Method for Magnetic Catheter tip,” “System and Method for Radar Assisted Catheter Guidance and Control ” U.S. application Ser. No. 10/690,472, titled, “ System and Method for Radar Assisted Catheter Guidance and Control ,” hereby incorporated by reference, describes a method for detecting the catheter in a patient&#39;s body by using a sensor array such as radar and Hall Effect sensor combined with a set of fiducial markers,. The magnetic chamber, its geometry and the formation of servo closed loop is detailed by U.S. application Ser. No. 11/140,475 , “Apparatus and Method for Shaped Magnetic Field Control for Catheter, Guidance, Control and Imaging .” The use of a magnetically tipped catheter while guided, controlled, and imaged by the apparatus noted above, is used in cardiology and specifically while mapping the electrical characteristics of the human heart to allow a controlled, accurate and efficient delivery of ablating RF energy. The use of the CGCI method and apparatus detailed above for use in electrophysiological mapping and ablation is noted by U.S. application Ser. No. 11/362,542 , “Apparatus for Magnetically Deployable Catheter with Mosfet Sensors and Method for Mapping and Ablation.”   
         [0071]    In one embodiment, the CGCI (Catheter, Guidance, Control, and Imaging) system advances and controls the catheter tip using a servo closed loop where the magnetic field in the chamber is controlled produce translation and rotation of the catheter tip within the magnetic chamber. This process of controlling the catheter-tip in magnetic chamber is dependent on the ability of the CGCI apparatus to detect, calculate, and define accurately and in real-time the position and orientation of the catheter tip. 
         [0072]    The system  1500  allows a surgeon to move a catheter and other invasive tools within the patient&#39;s body while accounting for catheter position and orientation coordinates:
       i. while moving from AP to DP,   ii. where the heart dynamics (systole, and diastole) are gated during movement of the catheter tip from AP to DP,   iii. is defined while the rib cage displacement during respiratory cycle is accounted for during the process of establishing the tip of the catheter tip,   iv. is determined relative to the auxiliary imaging apparatus orientation to allow the orthogonal representation of the image capture with the specific anatomical feature of the patient&#39;s heart relative to the position and orientation of the catheter tip,   v. Is coupled with the image (from x-ray, or other imaging modalities) to gate such coordinates with the patient&#39;s heart electrical activity, QRS,   vi. to account for global transformation relative to the local transformation of any of the above mentioned variables while the catheter tip translation and/or rotation are fixed relative to each other, and   vii. to inform a controller to form a servo closed loop modality for manipulating the catheter tip from AP to DP while accounting for the dynamic state of the independent variables noted above.       
 
         [0080]    The operation console  13  in  FIG. 1  includes the display screens (which produce displays as shown, for example in  FIGS. 6-8  and  19 - 22 ), the haptic joystick  18  shown in  FIG. 9 , and a mouse (not shown). In the displays, the virtual catheter tip  905  in  FIG. 7  is shown in relation to the user-selected three dimensional anatomical models  80 . The view can be rotated and zoomed in and out for the proper perspective. Additional navigational reference icons  80 . 7  and  80 . 6  show the global view of the patient  1  and the local view of the heart respectively. The mouse-selectable command buttons  70  allow the operator to turn on or off graphical objects  80 , customize the haptic cursor  920  in  FIG. 7  and lay down position reference markers  90  within the virtual models  80 . Position reference data  95  in  FIG. 8  is also displayed as needed by the operator. 
         [0081]    The haptic joystick controller  18  in  FIG. 9  is used to command the catheter tip  377 . The system causes the catheter tip to follow movements of the virtual catheter tip  905  in  FIG. 7 . When the virtual tip is moved, a new desired position (and orientation), DP, is sent to the CGCI controller  501  in  FIG. 1 . The controller  501  controls the electromagnets of the system  1500  to move the catheter tip  377  to the new position and orientation, DP. If the position and orientation, DP, cannot be obtained by the CGCI controller  501 , the haptic joystick  18  forces the haptic stylus  18 . 2  to provide tactile feedback to the operator using internal motors, informing the operator that the location is blocked (an obstacle is encountered). This allows the operator to sense the contours and blockages of the patient&#39;s anatomy  1  and prevent to the patient. In one embodiment, the amount of force provided as tactile feedback is computed as a function of the error between the desired position and the actual position. In one embodiment, the amount of force provided as tactile feedback is computed as a function of the error between the desired orientation and the actual orientation of the tip. The imaging and synchronization unit  701  further allows the operator to view the beating heart by using a synchronizing technique, gating the QRS heartbeat signal, and allowing the operator to sense a moving heart as a static object. 
         [0082]    A fiducial sensor  12 . 16  (shown in  FIG. 7 ) is located on the patient&#39;s chest, and keeps the virtual models aligned with the patient&#39;s position and orientation relative to such objects as the table, auxiliary imaging equipment, etc. The fiducial alignment system  12  in  FIG. 1  is fixed in relationship to virtual models  80 , providing the imaging and synchronization unit  701  with a fixed frame of reference relative to the catheter tip&#39;s current position and orientation, AP  902 . The fiducial alignment system  12  tracks the patient&#39;s motion (rotation and translation) synchronously with the virtual models  80 . The fiducial alignment system  12  further allows the virtual catheter tip  905  to refer back to the unrotated patient and virtual models  80  to allow the operator/surgeon to accurately relate to the patient&#39;s anatomy and add new data to the original imagery. 
         [0083]    A procedure using the CGCI  1500 , such as ablation in the left pulmonary vein, includes aligning the patient  1  on the operating table and attaching the fiducial sensor  12 . 16  to the patient&#39;s chest. A guide wire is inserted in the right femoral vein and guided into the right atrium via the inferior vena cava. A perforation is created in the wall between the right atrium and left atrium forming the interatrial transseptum. The guide wire is inserted into the left atrium via the interatrial transseptum and a sheath is placed over the guide wire&#39;s proximal end and guided into the left atrium. The guide wire is removed from the sheath, and a magnetically tipped catheter is inserted into the sheath and guided into the left atrium. The actual position of the catheter tip, AP  902 , is now constantly monitored by the catheter detection unit  11  and displayed in the operator console screen as the virtual catheter tip  905 . The operator uses the haptic controller  18  to move the virtual tip  905  to command the CGCI controller  501  in  FIG. 1  to move the magnetic tip  377  to a desired position and orientation, DP  903 . Using the mapping unit  14  in  FIG. 15 , the operator builds a virtual model of the left atrium, and places position reference icons  90  at key locations. The operator returns to the right pulmonary veins, positions the catheter tip  377 , and begins a standard ablation procedure about the outside edges of the veins. 
         [0084]      FIG. 6  is a representation of the operator console screen. The operation console  13  includes the screen, the haptic joystick  18  and the mouse. The central three-dimensional models, including the torso  80 . 5 , the grid  80 . 3  and the three dimensional heart model  80 . 1 , can be selected using the command buttons  70 . The user&#39;s viewpoint is designated by the view data  96  and changes with rotation and zoom using the mouse. Additional model icons are provided as a position and orientation reference. The heart local reference icon  80 . 6  gives the current viewpoint of the complete organ. The global axis and patient reference icon  80 . 7  displays the orientation of the global coordinates and the patient&#39;s relationship to the global coordinates as depicted in  FIG. 6 . The fiducial sensor  12 . 16  is shown on the patient and its current position and orientation are displayed in the console data  95 . 
         [0085]      FIG. 7  further depicts the 100 mm cube representing the central workspace  80 . 2 , and the position reference set points  90  representing key anatomical locations. The virtual catheter tip  905  is shown in relationship to the rest of the geometry, and its global axis  901 , global position  904 , model local axis  911 , and local position  914  in  FIG. 7  are presented in the console data display  95  in  FIG. 6 . The global position  904  described in terms of x,y,z coordinates in the global coordinate space, and the global axis is described in terms of a vector direction. The local position  904  described in terms of x,y,z coordinates in a local coordinate space, and the global axis is described in terms of a vector direction. 
         [0086]    The six-degree of freedom haptic controller&#39;s cursor  920  is used to grab the virtual catheter tip  905 . The haptic cursor&#39;s global position  934 , global axis  931 , and the global angle of rotation of the haptic pen  932  in  FIG. 7  are displayed in the console data display  95  in  FIG. 6 . 
         [0087]    The patient and three dimensional model&#39;s local coordinate system is a Cartesian coordinate system and has its local position  204 , local X-axis  201 , local Y-axis  202 , and local Z-axis  203  in  FIG. 7  displayed in the console data  95  in  FIG. 6 . 
         [0088]    The global coordinate system  100  is also a standard Cartesian coordinate system as shown in  FIG. 17 , and has the global position origin at ( 0 ,  0 ,  0 ), the global X-axis set to (1, 0, 0), global Y-axis, in the direction of the patient&#39;s head, set to (0, 1, 0), global Z-axis, in the vertical direction (0, 0, 1). This is only displayed in the form of the global axis and patient reference icon  80 . 7 . 
         [0089]    The fiducial sensor&#39;s  12 . 16  globally referenced fiducial position  304 , fiducial axis X  301 , fiducial axis Y  302 , and fiducial axis Z  303  in  FIG. 7  are also displayed in the console data  95  in  FIG. 6 . 
         [0090]      FIG. 8  further expands on  FIG. 7  by providing details of the command buttons  70 . The command buttons that control the display of graphical objects can toggle on and off the display of the heart  78 . 1 , cube  78 . 2 , atrial parts model  78 . 4 , and the patient&#39;s torso  78 . 5 . The grid button  78 . 3  changes the z-coordinate elevation of the grid graphic  80 . 3  providing the operator/surgeon with the ability to further discern the location of the catheter tip  377  relative to the anatomical models  80  or turns the grid off 
         [0091]    The set points button  79  toggles the display of the position reference set points  90 . The set point type and label for each of the set point buttons  79 . 1 - 79 . 8  and position reference set points is set in the configuration file. A mouse right-click on a set point button gives that set point the current catheter tip position  904  and orientation  901  in  FIG. 14 . A mouse left-click on one of the set point buttons issues a command to guide the catheter tip  905  to that set point&#39;s position and orientation. The features noted above allow the operator/surgeon to enhance his visual view of the specific anatomical detail so as to provide a realistic map for performing its intended task. 
         [0092]    The system settings are loaded at startup from the configuration file (not shown). The current configuration, including the graphics options  78 . 1 - 78 . 5 , the set points  79 - 79 . 8 , and catheter type  70 . 7 , can be saved to the configuration file with the save configuration button  70 . 3 . The system can be set back to the last saved configuration with the refresh configuration button  70 . 1 . 
         [0093]    The haptic loopback button  70 . 2  sets the system into an internal test mode where the haptic cursor  920  directly controls the catheter position  904  and catheter axis  901 . In normal mode, with the haptic loopback button  70 . 2  off, the haptic controller  18  requests that the CGCI controller  501  move the catheter tip  905  to the haptic global position  934  and haptic global axis  931  in  FIG. 9 . If the catheter tip  905  is out of grabbing range of the haptic cursor  920 , the “get catheter” button  70 . 10  commands the catheter tip  905  to the current haptic cursor position. The catheter grab mode button  70 . 8  toggles between a relative grab mode and an axial grab mode. Both grab modes directly command the catheter tip position  904 , but command the catheter tip orientation  901  differently. The axial grab mode commands the catheter tip  905  to rotate to the haptic axis  931 . The relative grab mode commands the rotation of the catheter tip  905  relative to the rotation of the haptic cursor  920  after the haptic button  18 . 1  in  FIG. 9  is pressed. The catheter headlight button  70 . 9  turns on or off a virtual guiding catheter headlight displayed on the console screen as a light from the catheter tip  905  to more easily navigate within the virtual models. The catheter type button  70 . 7  toggles between the preset tool types. 
         [0094]    The clear touch points button  70 . 6  reverts all set points  90  to a neutral position and eliminates all modifications to morphable models, initializing the system to begin the mapping unit  14 . 
         [0095]    The fix fiducials button  70 . 5  toggles the fiducial system  12  “on” and “off”. When the fiducial system  12  is turned on, it is initialized and begins to operate. When the fiducial system is turned off, the local coordinate system  200  is given the values of the global coordinate system  100  and the fiducial sensor no longer controls the local coordinate system  200 . The fiducial&#39;s on/off button  70 . 4  toggles the display of the fiducial sensor  12 . 16 . 
         [0096]      FIG. 9  is an isometric representation of the haptic controller  18  showing its ability to define position and orientation within a 6 degree of freedom environment. The haptic controller includes the haptic stylus  18 . 2 , the haptic button  18 . 1 , and the haptic base  18 . 3 . The haptic stylus is used to specify the haptic position  934  and haptic axis  931  of the haptic cursor  920  with six degrees of freedom. The haptic button  18 . 1  is used to issue commands via the haptic cursor  920 . The individual components of the haptic position, haptic position.x, haptic position.y, and haptic position.z are defined with respect to the haptic controller as shown in  FIG. 9 . 
         [0097]      FIG. 10  is a block diagram showing the CGCI detection unit  11  as a top-level system that is responsible for providing the fiducial alignment system  12  with catheter tip actual position and orientation, AP. The CGCI detection unit  11  includes the hardware apparatus  11 . 7  and software algorithms  11 . 8  required to determine the position and orientation, AP, of the magnetic catheter tip  377 . Four three-axis magnetic sensors  11 . 21 - 11 . 24  sense the magnetic field around the patient  1 , as shown in  FIG. 12 . The magnetic sensors  11 . 21 - 11 . 24  can be sensing coils, Hall-effect sensors, SQUID sensors, etc. These sensor readings  11 . 1 . 0 - 3 ,  11 . 41 - 11 . 44  and  11 . 21 - 11 . 24  in  FIGS. 11-14  are fed to the detection software algorithm  11 . 8 , contained within the operator console  13 . The CGCI controller&#39;s  501  own magnetic field is subtracted in calibration and filtering unit  11 . 6  in  FIG. 10 , and the remaining field is used to calculate the catheter tip&#39;s position and orientation, AP  902 . The moving heart can be seen as a static object by using the QRS heartbeat synchronization unit  11 . 5  in  FIG. 10  to limit the position readings to the most stable portion of the heartbeat. 
         [0098]      FIG. 10A  is a block diagram showing the iterative process used in the catheter detection unit software algorithm  11 . 8  described herein. 
         [0099]      FIG. 11  is a diagram showing the signals and quantities involved in the calculation of catheter tip position and orientation, AP  902 . The catheter tip&#39;s magnetic axis is identical to the tip&#39;s orientation  901 . The diagram shows only one sensor  11 . 21  for simplicity, but it is to be understood that the arrangement is replicated for each of the multiple sensors  11 . 21 - 11 . 24 . Each Hall-Effect sensor  11 . 21 - 11 . 24  records a magnetic vector, namely a corresponding sensor vector  11 . 1 - 11 . 4 , represented by sensor vector- 1   11 . 1 , in  FIG. 11  and as viewed from its location, a corresponding sensor position  11 . 11 - 11 . 14 . The sensor&#39;s position in the magnetic field is determined by its angle, sensor angle  11 . 61 - 11 . 64  (see e.g.,  FIG. 11  sensor angle  1   11 . 61 ) and distance between the sensor and catheter tip  3   77 , the sensor range  11 . 41 - 11 . 44  (see e.g.,  FIG. 11  sensor range- 1 ,  11 . 41 ). The actual direction from the sensor to the catheter is the unit vector, sensor catheter  11 . 51 - 11 . 54  represented in  FIG. 11  by sensor catheter- 1   11 . 51 . 
         [0100]      FIG. 12  is a geometric representation of the method by which the catheter position  904  is determined by triangulation using the sensor range 1   11 . 41 , sensor range 2   11 . 42 , sensor range 3   11 . 43 , and sensor range 4   11 . 44 . The above sensor range values are generated by using sensors 1 - 4 ,  11 . 21 ,  11 . 22 ,  11 . 23 ,  11 . 24 , respectively. 
         [0101]      FIG. 13  shows how each adjacent sensor pair is used to triangulate either catheter position.x or catheter position.y.  FIG. 13  specifically depicts the scheme whereby sensor- 2   11 . 22  and sensor- 3   11 . 23  are juxtapositioned to locate the x-coordinate of catheter position  904 , resulting in catheter position.x  904 . 1 . Sensor vector values  11 . 1 - 11 . 4  are converted to sensor range values  11 . 41 - 11 . 44  by a range equation. The above values are used in triangulation of catheter position  904 . 
         [0102]    The process of calculating the position of the catheter tip is iterative and a detailed example of such process is described below. The following example demonstrates how the catheter detection algorithm  11 . 8  in  FIG. 10A  is used to define the position and orientation of the catheter tip  377  in global CGCI coordinates 100. The process of calculating the position and orientation of the catheter tip shown below involves three distinct stages: calculating the range, calculating the position and calculating the orientation of the catheter tip  377 . 
         [0103]    The range equation below converts the magnitude of the magnetic sensor reading sensor vectors  11 . 1 - 11 . 4  to a distance from the corresponding sensor, namely sensor ranges  11 . 41 - 11 . 44 . 
         [0000]      Sensor Range= A ·|Sensor Vector| 1/3   +B    
         [0000]    Where the general forms of A and B are:
       A=f 1 (Sensor Angle)=a·SensorAngle+b   B=f 2 (Sensor Angle)=a·sine (b·SensorAngle+c)+d   Sensor Angle=arc cos [Catheter Axis(Catheter Position−Sensor Position)]
 
where Catheter Axis, Catheter Position and Sensor Position are vectors of the respective catheter axis, catheter position and sensor positions,  is the vector dot product, and f 1  and f 2  are magnetic field geometry functions who&#39;s coefficients a,b,c, and d are calculated and/or determined experimentally for each catheter type.
       
 
         [0107]    For Example, a 12-F catheter tip&#39;s magnetic field has been characterized over the expected sensor operating range and found to have the field shape described by the equations below: 
         [0000]        A= 64.0−7.0·Sensor Angle 
         [0000]        B= 2.35·sin (2.45·Sensor Angle+1.35)+0.05 
         [0000]    The specific numbers provide in the present example, and in the examples that follow pare provided by way of example and are not limiting to the claims. 
         [0108]    The range equation is thus: 
         [0000]      Sensor Range=(64−7.0·Sensor Angle)·|Sensor Vector| −1/3 +2.35·sin (2.45·Sensor Angle+1.35)+0.05 
         [0109]    The range finder triangulation takes the sensor range values  11 . 41 - 11 . 44  and triangulates catheter position  904 . In  FIG. 12  as an example the x-coordinate of the catheter tip, Catheter Position.x, is determined by sensor pair  1  and  4  and sensor pair  2  and  3 . The y-coordinate, Catheter Position.y, is determined by sensor pair  1  and  2  and sensor pair  3  and  4 . The z-coordinate, Catheter Position.z, is an average of four solutions to the standard triangle equation. 
         [0110]    The sensor range is first calculated for an average sensor angle value from the Range Equation (1). The exact value is not important, as it is just a starting point for the iterative solution. Assume, for example, that the sensor range values for a  12 F catheter tip  377  in a given position are: 
         [0000]      Sensor Range1=45·|Sensor Vector1| −1/3 +0.184 
         [0000]      Sensor Range2=45·|Sensor Vector2| −1/3 0.184 
         [0000]      Sensor Range3=45·|Sensor Vector3| −1/3 0.184 
         [0000]      Sensor Range4=45·|Sensor Vector4| −1/3 0.184 
         [0111]    Heron&#39;s formula is used to find the Catheter Position.y between sensor pair  1  and  2  and sensor pair  3  and  4 . The Catheter Position.x is the average solution between sensor pair  2  and  3  and sensor pair  1  and  4 . 
         [0112]    For sensors  1  and  2 , determine a solution for Catheter Position.y: 
         [0000]        S =(Sensor Range1+Sensor Range2+|Sensor Position1−Sensor Position2|)/2 
         [0000]        K =( S ·( S −Sensor Range1)·( S −Sensor Range2)·( S −|Sensor Position1−Sensor Position2|)) 1/2    
         [0000]        h =2 K /(|Sensor Position1−Sensor Position2|) 
         [0000]        d 12=(Sensor Range1 2 =h 2 ) 1/2    
         [0000]      Catheter Position.y=Sensor Position1.y+/−d12 
         [0113]    For sensors  3  and  4 , determine a second solution for Catheter Position.y: 
         [0000]      S=(Sensor Range3+Sensor Range4+|Sensor Position4−Sensor Position3|)/2 
         [0000]        K =( S ·( S −sensor range3)·( S −Sensor Range4)· 
         [0000]      ( S −|Sensor Position4−Sensor Position3|)) 1/2    
         [0000]        h= 2 K/(Sensor Position4−Sensor Position3|) 
         [0000]        d 34=(Sensor Range4 2   −h   2 ) 1/2    
         [0000]      Catheter Position.y=Sensor Position4.y+/−d34 
         [0114]    Similarly for sensors  1  and  4 , determine a solution for Catheter Position.x: 
         [0000]        S =(Sensor Range1+Sensor Range4+|Sensor Position4−Sensor Position1|)/2 
         [0000]        K=(   S ·( S −Sensor Range1)·( S −Sensor Range4)· 
         [0000]      ( S −|Sensor Position4−Sensor Position1|)) 1/2    
         [0000]        h =2 K /(Sensor Position4−Sensor Position1|) 
         [0000]        d 14=(Sensor Range4 2   −h   2 ) 1/2    
         [0000]      Catheter Position.x=Sensor Position4.x+/− d 14 
         [0115]    For sensors  2  and  3 , can determine a second solution for Catheter Position.x: 
         [0000]        S =(Sensor Range2+Sensor Range3+|Sensor Position3−Sensor Position2|)/2 
         [0000]        K =( S ·( S −Sensor Range2)·( S −Sensor Range3)·( S |Sensor Position3−Sensor Position2|)) 1/2    
         [0000]        h= 2 K /(|Sensor Position3−Sensor Position2|) 
         [0000]        d 23=(Sensor Range3 2   −h   2 ) 1/2    
         [0000]      Catheter Position.x=Sensor Position3.x+/− d 23 
         [0116]    The solutions are then averaged to find Catheter Position.x and Catheter Position.y. 
         [0117]    The z-coordinate of the catheter position, Catheter Position.z, is the average of the four solutions to the simple right-triangle equation. 
         [0000]      Catheter Position.z=(Sensor Range1 2 −Catheter Position.x 2 −Catheter Position.y 2 ) 1/2    
         [0000]      Catheter Position.z=(Sensor Range2 2 −Catheter Position.x 2 −Catheter Position.y 2 ) 1/2    
         [0000]      Catheter Position.z=(Sensor Range3 2 −Catheter Position.x 2 −Catheter Position.y 2 ) 1/2    
         [0000]      Catheter Position z=(Sensor Range4 2 −Catheter Position.x 2 −Catheter Position.y 2 ) 1/2    
         [0118]    Now that the catheter position  904  in the x, y, and z coordinates, are known, one can determine the catheter&#39;s orientation, catheter axis  901 . 
         [0119]      FIG. 14  illustrates the algorithm for finding the catheter tip&#39;s magnetic axis or catheter axis  901 , using the intersection of magnetic sensor planes. Each sensor&#39;s magnetic vector, sensor vectors  11 . 1 - 11 . 4 , is assumed to be coplanar with the catheter tip&#39;s magnetic axis, catheter axis  901 . Given the position of the catheter tip or catheter position  904 , the sensor-to-catheter tip vector, represented by sensor catheter vectors  11 . 51  and  11 . 52  in Fig.  14 , is calculated and crossed with each sensor&#39;s magnetic field reading, namely the corresponding sensor vector  11 . 1 - 11 . 4 , to get the normal vector that defines the corresponding magnetic plane, sensor plane, which are represented in  FIG. 14  by sensor planes  11 . 31  and  11 . 32 . 
         [0120]    First, the unit vector from Sensor Position and Catheter Position is calculated as follows: 
         [0000]    
       
         
           
             
               Sensor 
                
               
                   
               
                
               Catheter 
                
               
                   
               
                
               1 
             
             = 
             
               
                 ( 
                 
                   
                     Catheter 
                      
                     
                         
                     
                      
                     Position 
                   
                   - 
                   
                     Sensor 
                      
                     
                         
                     
                      
                     Position 
                      
                     
                         
                     
                      
                     1 
                   
                 
                 ) 
               
               
                  
                 
                   ( 
                   
                     
                       Catheter 
                        
                       
                           
                       
                        
                       Position 
                     
                     - 
                     
                       Sensor 
                        
                       
                           
                       
                        
                       Position 
                        
                       
                           
                       
                        
                       1 
                     
                   
                   ) 
                 
                  
               
             
           
         
       
       
         
           
             
               Sensor 
                
               
                   
               
                
               Catheter 
                
               
                   
               
                
               2 
             
             = 
             
               
                 ( 
                 
                   
                     Catheter 
                      
                     
                         
                     
                      
                     Position 
                   
                   - 
                   
                     Sensor 
                      
                     
                         
                     
                      
                     Position 
                      
                     
                         
                     
                      
                     2 
                   
                 
                 ) 
               
               
                  
                 
                   ( 
                   
                     
                       Catheter 
                        
                       
                           
                       
                        
                       Position 
                     
                     - 
                     
                       Sensor 
                        
                       
                           
                       
                        
                       Position 
                        
                       
                           
                       
                        
                       2 
                     
                   
                   ) 
                 
                  
               
             
           
         
       
       
         
           
             
               Sensor 
                
               
                   
               
                
               Catheter 
                
               
                   
               
                
               3 
             
             = 
             
               
                 ( 
                 
                   
                     Catheter 
                      
                     
                         
                     
                      
                     Position 
                   
                   - 
                   
                     Sensor 
                      
                     
                         
                     
                      
                     Position 
                      
                     
                         
                     
                      
                     3 
                   
                 
                 ) 
               
               
                  
                 
                   ( 
                   
                     
                       Catheter 
                        
                       
                           
                       
                        
                       Position 
                     
                     - 
                     
                       Sensor 
                        
                       
                           
                       
                        
                       Position 
                        
                       
                           
                       
                        
                       3 
                     
                   
                   ) 
                 
                  
               
             
           
         
       
       
         
           
             
               Sensor 
                
               
                   
               
                
               Catheter 
                
               
                   
               
                
               4 
             
             = 
             
               
                 ( 
                 
                   
                     Catheter 
                      
                     
                         
                     
                      
                     Position 
                   
                   - 
                   
                     Sensor 
                      
                     
                         
                     
                      
                     Position 
                      
                     
                         
                     
                      
                     4 
                   
                 
                 ) 
               
               
                  
                 
                   ( 
                   
                     
                       Catheter 
                        
                       
                           
                       
                        
                       Position 
                     
                     - 
                     
                       Sensor 
                        
                       
                           
                       
                        
                       Position 
                        
                       
                           
                       
                        
                       4 
                     
                   
                   ) 
                 
                  
               
             
           
         
       
     
         [0121]    The sensor catheter vectors are then crossed with the magnetic sensor readings to get the plane normal vectors as follows: 
         [0000]      Sensor Plane1=Sensor Vector1×Sensor Catheter1 
         [0000]      Sensor Plane2=Sensor Vector2×Sensor Catheter2 
         [0000]      Sensor Plane3=Sensor Vector3×Sensor Catheter3 
         [0000]      Sensor Plane4=Sensor Vector4×Sensor Catheter4 
         [0122]    The intersection of two planes is a line defined by the vector cross-product of the two plane&#39;s normal vectors. Only planes from adjacent sensors are crossed. If the catheter axis  901  which is found as the solution is not in the same plane as the normal vector with the sensor catheter  11 . 5   x  vector, the solution is reversed to the opposite direction. 
         [0000]      Catheter Axis=Sensor Plane1×Sensor Plane2 
         [0000]      Catheter Axis=Sensor Plane4×Sensor Plane3 
         [0000]      Catheter Axis=Sensor Plane1×Sensor Plane4 
         [0000]      Catheter Axis=Sensor Plane3×Sensor Plane2 
         [0123]    The catheter axis values are checked for proper sign, and the four solutions are averaged to give catheter axis  901 . 
         [0124]    Catheter Axis is now used to recalculate the distances from each sensor to the catheter tip. 
         [0000]      Sensor Angle1=arc cos(Catheter AxisSensor Catheter1)radians 
         [0000]      Sensor Angle2=arc cos(Catheter AxisSensor Catheter2)radians 
         [0000]      Sensor Angle3=arc cos(Catheter AxisSensor Catheter3)radians 
         [0000]      Sensor Angle4=arc cos(Catheter AxisSensor Catheter4)radians 
         [0125]    The sensor range values are updated based on the new sensor angle values. In the present example, the updated equations with the  12 F catheter example values assumed above are: 
         [0000]      Sensor Range1=(64-7·Sensor Angle1)·|Sensor Vector1| −1/3 +2.35·Sin(2.45·Sensor Angle1+1.35)+0.05 
         [0000]      Sensor Range2=(64-7·Sensor Angle2)·|Sensor Vector2| −1/3 +2.35·Sin(2.45·Sensor Angle2+1.35)+0.05 
         [0000]      Sensor Range3=(64-7·Sensor Angle3)·|Sensor Vector3| −1/3 +2.35·Sin(2.45·Sensor Angle3+1.35)+0.05 
         [0000]      Sensor Range4=(64-7·Sensor Angle4)·|Sensor Vector4| −1/3 +2.35·Sin(2.45·Sensor Angle4+1.35)+0.05 
         [0126]    The catheter position is retriangulated from these new values, and the loop repeats in reiterative cycles until the desired accuracy is found by comparison between successive values. 
         [0127]    Thus, the process for determining the position and orientation of the catheter includes::
       1) Approximate the catheter tip magnetic field shape (e.g., as a sphere or non-spherical shape).   2) Calculate initial values for the sensor range from each sensor to the catheter tip.   3) Triangulate the position of the catheter tip or catheter position.   4) Solve for the magnetic axis, catheter axis based on catheter position.   5) Modify the sensor range values using catheter axis.   6) Re-calculate the catheter position.   7) Return to step  4 , until sufficient accuracy has been reached.       
 
         [0135]    Using the technique for determining position and orientation of the catheter tip, as noted above, as a further illustration and example, find catheter position  904  and catheter axis  901  for a catheter tip placed in the tricuspid valve. The only known values are the sensor positions  11 . 1   x , their three dimensional magnetic field readings  11 . x  and the magnetic characteristics of the catheter tip. 
         [0136]    With the given sensor data and using the method described above, the catheter tip&#39;s position and axis is found at 
         [0000]      Catheter Position=(−11.7-14.6 2.1) 
         [0000]      Catheter Axis=&lt;−0.408 0.092 −0.908&gt; 
         [0137]    The four three dimensional Hall-effect sensors are assumed in this example to be located at coordinates: 
         [0000]      Sensor Position1=(−50 50 −150) 
         [0000]      Sensor Position2=(−50 −50 −150) 
         [0000]      Sensor Position3=(50 −50 −150) 
         [0000]      Sensor Position4=(50 50 −150) 
         [0138]    The four sensor readings are given as “magnitude x&lt;unit vector&gt;” 
         [0000]      Sensor Vector1=0.0187 x&lt;−0.017 0.625 −0.780&gt; 
         [0000]      Sensor Vector2=0.0222 X&lt;−0.038 −0.504 −0.863&gt; 
         [0000]      Sensor Vector3=0.0240 X&lt;0.888 −0.368 −0.275&gt; 
         [0000]      Sensor Vector4=0.0205 X&lt;0.880 0.402 −0.254 &gt; 
         [0139]    First, the effective distance to each sensor is calculated using the magnitude of the magnetic signal that it is receiving. Since the orientation of the sensor to the magnetic field in unknown, it is possible to assume a spherical field for the first iteration in this example. It must be understood, however, that this assumption is not a limitation and non-spherical or other field patterns could be accommodated, including empirically-determined arbitrary field patterns. 
         [0000]      Sensor Range1=45·|Sensor Vector1| −0.333 +0.185 
         [0140]    Sensor Range1=169.5 mm 
         [0000]      Sensor Range2=45·|Sensor Vector2| −0.333 +0.185 
         [0000]      Sensor Range2=160.1 mm 
         [0000]      Sensor Range3=45·|Sensor Vector3|−0.333+0.185 
         [0000]      Sensor Range3=156.0 mm 
         [0000]      Sensor Range4=45·|Sensor Vector4| −0.333 +0.185 
         [0000]      Sensor Range4=164.4 mm 
         [0141]    Using Heron&#39;s or Hero&#39;s triangle formula for each pair of adjacent range values, two solutions are found for Catheter Position.x and Catheter Position.y. For Sensor Range 1 , Sensor Range 2  and the distance between the sensors of 100 mm, the y-coordinate of catheter position, Catheter Position.y is: 
         [0000]        S =(Sensor Range1+Sensor Range2+100 mm)/2 
         [0000]        K=(   S ·( S −Sensor Range1)·( S −Sensor Range2)·( S −100 mm)) 1/2    
         [0000]        h= 2 K/100 mm 
         [0000]      Catheter Position.y=50−(Sensor Range1 2   −h   2 ) 1/2    
         [0000]      Catheter Position.y=−15.5 mm 
         [0000]      Repeating for sensors  3  and  4  gives: 
         [0000]        S=(Sensor Range 3+Sensor Range4+100 mm)/2 
         [0000]        K =(S·( S −Sensor Range3)·( S −Sensor Range4)·( S −100 mm)) 1/2    
         [0000]        h= 2K/100 mm 
         [0000]      Catheter Position.y=50−(Sensor Range4 2   −h   2 ) 1/2    
         [0000]      Catheter Position.y=−13.5 mm 
         [0142]    For the catheter&#39;s x-coordinate, use sensors  1  and  4   
         [0000]        S =(Sensor Range1+Sensor Range4+100 mm)/2 
         [0000]        K =(S·( S −Sensor Range1)·( S −Sensor Range4)·( S −100 mm)) 1/2    
         [0000]        h= 2K/100 mm 
         [0000]      Catheter Position.y=50−(Sensor Range4 2 −h 2 )/ 
         [0000]      Catheter Position.x=8.5 mm 
         [0143]    And for sensors  2  and  3 : 
         [0000]        S= (Sensor Range2+Sensor Range3+100 mm)/2 
         [0000]        K =( S ·( S −Sensor Range2)·( S −Sensor Range3)·( S −100 mm)) 1/2    
         [0000]      h=2K/100 mm 
         [0000]      Catheter Position.y=50−(Sensor Range3 2 −h 2 ) 1/2    
         [0000]      Catheter Position.x=6.5 mm 
         [0000]    This gives an average Catheter Position.y=−14.5 mm and Catheter Position.x=7.5 mm.
 
To find Catheter Position.z, the Pythagorean theorem is used:
 
         [0000]      Catheter Position.z=(Sensor Range1 2 −(−50−CatheterTip.x) 2 −(50−CatheterTip.y) 2 ) 1/2 −150 
         [0000]      Catheter Position.z=−4.2 mm 
         [0144]    The initial value for catheter position for the first iteration is significantly inaccurate. Catheter Position =(7.5, −14.5, −4.2) while in this example the true position is (−11.7, −14.6, 2.1) 
         [0145]    Catheter position  904  is now used to determine the magnetic axis, catheter axis  901 , using the intersecting plane method. Each plane is defined by its normal vector, sensor plane, which is the cross-product of sensor vector and the vector from the sensor to catheter position, sensor catheter. 
         [0146]    For the sensor-to-catheter tip unit vectors: 
         [0000]    
       
         
           
             
               Sensor 
                
               
                   
               
                
               Catheter 
                
               
                   
               
                
               1 
             
             = 
             
               
                 ( 
                 
                   
                     Catheter 
                      
                     
                         
                     
                      
                     Position 
                   
                   - 
                   
                     Sensor 
                      
                     
                         
                     
                      
                     Position 
                      
                     
                         
                     
                      
                     1 
                   
                 
                 ) 
               
               
                  
                 
                   ( 
                   
                     
                       Catheter 
                        
                       
                           
                       
                        
                       Position 
                     
                     - 
                     
                       Sensor 
                        
                       
                           
                       
                        
                       Position 
                        
                       
                           
                       
                        
                       1 
                     
                   
                   ) 
                 
                  
               
             
           
         
       
       
         
           
             
               Sensor 
                
               
                   
               
                
               Catheter 
                
               
                   
               
                
               1 
             
             = 
             
               
                 &lt; 
                 
                   0.339 
                    
                   
                       
                   
                   - 
                   
                     0.381 
                      
                     
                         
                     
                      
                     0.86 
                   
                 
                 &gt; 
                 
                   
 
                 
                  
                 
                   Sensor 
                    
                   
                       
                   
                    
                   Catheter 
                    
                   
                       
                   
                    
                   2 
                 
               
               = 
               
                 
                   ( 
                   
                     
                       Catheter 
                        
                       
                           
                       
                        
                       Position 
                     
                     - 
                     
                       Sensor 
                        
                       
                           
                       
                        
                       Position 
                        
                       
                           
                       
                        
                       2 
                     
                   
                   ) 
                 
                 
                    
                   
                     ( 
                     
                       
                         Catheter 
                          
                         
                             
                         
                          
                         Position 
                       
                       - 
                       
                         Sensor 
                          
                         
                             
                         
                          
                         Position 
                          
                         
                             
                         
                          
                         2 
                       
                     
                     ) 
                   
                    
                 
               
             
           
         
       
       
         
           
             
               Sensor 
                
               
                   
               
                
               Catheter 
                
               
                   
               
                
               2 
             
             = 
             
               
                 &lt; 
                 
                   0.358 
                    
                   
                       
                   
                    
                   0.221 
                    
                   
                       
                   
                    
                   0.907 
                 
                 &gt; 
                 
                   
 
                 
                  
                 
                   Sensor 
                    
                   
                       
                   
                    
                   Catheter 
                    
                   
                       
                   
                    
                   3 
                 
               
               = 
               
                 
                   ( 
                   
                     
                       Catheter 
                        
                       
                           
                       
                        
                       Position 
                     
                     - 
                     
                       Sensor 
                        
                       
                           
                       
                        
                       Position 
                        
                       
                           
                       
                        
                       3 
                     
                   
                   ) 
                 
                 
                    
                   
                     ( 
                     
                       
                         Catheter 
                          
                         
                             
                         
                          
                         Position 
                       
                       - 
                       
                         Sensor 
                          
                         
                             
                         
                          
                         Position 
                          
                         
                             
                         
                          
                         3 
                       
                     
                     ) 
                   
                    
                 
               
             
           
         
       
       
         
           
             
               Sensor 
                
               
                   
               
                
               Catheter 
                
               
                   
               
                
               3 
             
             = 
             
               
                 &lt; 
                 
                   
                     - 
                     0.272 
                   
                    
                   
                       
                   
                    
                   0.228 
                    
                   
                       
                   
                    
                   0.935 
                 
                 &gt; 
                 
                   
 
                 
                  
                 
                   Sensor 
                    
                   
                       
                   
                    
                   Catheter 
                    
                   
                       
                   
                    
                   4 
                 
               
               = 
               
                 
                   ( 
                   
                     
                       Catheter 
                        
                       
                           
                       
                        
                       Position 
                     
                     - 
                     
                       Sensor 
                        
                       
                           
                       
                        
                       Position 
                        
                       
                           
                       
                        
                       4 
                     
                   
                   ) 
                 
                 
                    
                   
                     ( 
                     
                       
                         Catheter 
                          
                         
                             
                         
                          
                         Position 
                       
                       - 
                       
                         Sensor 
                          
                         
                             
                         
                          
                         Position 
                          
                         
                             
                         
                          
                         4 
                       
                     
                     ) 
                   
                    
                 
               
             
           
         
       
       
         
           
             
               Sensor 
                
               
                   
               
                
               Catheter 
                
               
                   
               
                
               4 
             
             = 
             
               &lt; 
               
                 
                   - 
                   0.258 
                 
                  
                 
                     
                 
                 - 
                 
                   0.391 
                    
                   
                       
                   
                    
                   0.884 
                 
               
               &gt; 
             
           
         
       
     
         [0000]      The sensor plane normal unit vectors are: 
         [0000]      Sensor Plane1=Sensor Vector1×Sensor Catheter/|Sensor Vector1| 
         [0000]      Sensor Plane1=&lt;0.241 −0.250 −0.206&gt; 
         [0000]      Sensor Plane2=Sensor Vector2×Sensor Catheter/|Sensor Vector2| 
         [0000]      Sensor Plane2=&lt;−0.267 −0.274 0.172&gt; 
         [0000]      Sensor Plane3=Sensor Vector3×Sensor Catheter/|Sensor Vector3| 
         [0000]      Sensor Plane3=&lt;−0.281 −0.755 0.102&gt; 
         [0000]      Sensor Plane4=Sensor Vector4×Sensor Catheter/|Sensor Vector4| 
         [0000]      Sensor Plane4=&lt;0.256 −0.712 −0.240 &gt; 
         [0000]      The four solutions for catheter axis are: 
         [0000]      Catheter Axis=Sensor Plane1×Sensor Plane2=&lt;−0.597 0.081 −0.798&gt; 
         [0000]      Catheter Axis=Sensor Plane4×Sensor Plane3=&lt;−0.540 0.088 −0.837&gt; 
         [0000]      Catheter Axis=Sensor Plane1×Sensor Plane4=&lt;−0.625 0.038 −0.779&gt; 
         [0000]      Catheter Axis=Sensor Plane3×Sensor Plane2=&lt;−0.629 0.131 −0.766 &gt; 
         [0147]    The average of the four solutions is: 
         [0000]      Catheter Axis=&lt;−0.598 0.085 −0.795&gt; 
         [0000]    The average is thus an approximation for the known value catheter axis =&lt;−0.408 0.092−0.908 &gt; 
         [0148]    The new value for Catheter Axis is now used to correct the calculations for the effective radius, since they are dependent on the orientation of the sensors in the catheter tip&#39;s magnetic field. The angle of the sensors&#39; positions to the magnetic axis are: 
         [0000]      Sensor Angle1=Arc Cos(Catheter Axis·Sensor Catheter1) 
         [0149]    Sensor Angle1=156.8 
         [0000]      Sensor Angle2=Arc Cos(Catheter Axis·Sensor Catheter2) 
         [0150]    Sensor Angle2=156.5 
         [0000]      Sensor Angle3=Arc Cos(Catheter Axis·Sensor Catheter3) 
         [0151]    Sensor Angle3=124.1 
         [0000]      Sensor Angle4=Arc Cos(Catheter Axis·Sensor Catheter4) 
         [0000]      Sensor Angle4=125.6 
         [0000]      Sensor Range1=(64-7·Sensor Angle1)·|Sensor Vector1|− 0 . 333 + 2 . 35 ·sin(2.45·Sensor Angle1+1.35)+0.05 
         [0000]      Sensor Range2=(64-7·Sensor Angle2)·|Sensor Vector2|−0.333+2.35 sin(2.45·Sensor Angle2+1.35)+0.05 
         [0000]      Sensor Range3=(64-7·Sensor Angle3)·|Sensor Vector3|−0.333+2.35 sin(2.45·Sensor Angle3+1.35)+0.05 
         [0000]      Sensor Range4=(64-7·Sensor Angle4)·|Sensor Vector4 −0.333+2.35·sin(2.45·Sensor Angle4+1.35)+0.05 
         [0000]      Sensor Range1=171.1 mm 
         [0000]      Sensor Range2=161.9 mm 
         [0000]      Sensor Range3=170.0 mm 
         [0000]      Sensor Range4=178.6 mm 
         [0152]    Using these new values in Heron&#39;s formula, compute the solutions for the x and y coordinate of catheter position. 
         [0000]      Catheter Position.y=−15.3 mm 
         [0000]      Catheter Position.y=−15.0 mm 
         [0000]      Catheter Position.x=−13.1 mm 
         [0000]      Catheter Position.x=−13.5 mm 
         [0153]    Averaging these and solving for catheter position.z give the first iteration values 
         [0000]      Catheter Position=(−13.3 −15.2 3.8) 
         [0000]      Catheter Axis=&lt;−0.60 0.084 −0.795 &gt; 
         [0154]    The second iteration is performed by plugging CatheterPostion back into the equations to recalculate sensor catheter, sensor plane and catheter axis. The sensor range values are recalculated and the new catheter position is found. 
         [0000]      Catheter Position=(−11.5 −14.34 1.54) 
         [0000]      Catheter Axis=&lt;−0.386 0.096 −0.917 &gt; 
         [0155]    The third iteration in the same manner gives the values: 
         [0000]      Catheter Position=(−11.9 −14.54 1.91) 
         [0000]      Catheter Axis=&lt;−0.412 0.090 −0.907 &gt; 
         [0156]    The results from the third iteration compare favorably with the actual values: 
         [0000]      Catheter Position=(−11.7 −14.6 2.1) 
         [0000]      Catheter Axis=&lt;−0.408 0.092 −0.908 &gt; 
         [0157]    Further iterations would give greater accuracy, if required. 
         [0158]    Using the method for determining position and orientation of the catheter tip described above, as a further example, determine catheter position  904  and catheter axis  901  for a catheter tip placed in the top right pulmonary vein. The only known values are the sensor positions, their three dimensional magnetic field readings and the magnetic characteristics of the catheter tip. 
         [0159]    With the given sensor data, the catheter tip&#39;s position and axis should be found at 
         [0000]      Catheter Position=(61.1 −1.1 −14.6) 
         [0000]      Catheter Axis=&lt;−0.916 0.090 −0.391 &gt; 
         [0160]    The four three dimensional Hall-effect sensors are assumed to be located at the coordinates: 
         [0000]      Sensor Position1=(−50 50 −150) 
         [0000]      Sensor Position2=(−50 −50 −150) 
         [0000]      Sensor Position3=(50 −50 −150) 
         [0000]      Sensor Position4=(50 50−150) 
         [0161]    The four sensor readings are given in this example as “magnitude x&lt;unit vector&gt;”: Sensor Vectorl =0.0162 X&lt;-0.147 0.399-0.905&gt;Sensor Vector2=0.0170 X&lt;-0.094-0.535-0.840&gt;Sensor Vector3=0.0416 X&lt;0.853-0.365-0.372&gt;Sensor Vector4=0.0402 X&lt;0.845 0.238-0.479 &gt; 
         [0162]    First, the effective distance to each sensor is calculated based on the magnitude of the magnetic signal that it is receiving. Since the orientation of the sensor to the magnetic field in unknown, a spherical field is assumed for the first iteration. Again this assumption need not be made and arbitrary field patterns can be accommodated by appropriate transformation functions. 
         [0000]      Sensor Range1=45·|Sensor Vector1| −0.333 +0.185 
         [0163]    Sensor Range1=177.8 mm 
         [0000]      Sensor Range2=45·|Sensor Vector2| −0.333+0.185    
         [0164]    Sensor Range2=175.0 mm 
         [0000]      Sensor Range3=45·|Sensor Vector3| −0.333 +0.185 
         [0165]    Sensor Range3=129.9 mm 
         [0000]      Sensor Range4=45·|Sensor Vector4 −0.333 +0.185 
         [0000]      Sensor Range4=131.4 mm 
         [0166]    Using Heron&#39;s triangle formula for each pair of adjacent range values, two solutions are found for Catheter Position.x and Catheter Position.y. For Sensor Range 1 , Sensor Range 2  and the distance between sensors of 100 mm, the y-coordinate of catheter position, is: 
         [0000]        S =(Sensor Range1+Sensor Range2+100 mm)/2 
         [0000]        K =( S·(S−Sensor Range 1)·( S−Sensor Range 2)·( S− 100   mm)) 1/2    
         [0000]      h=2K/100 mm 
         [0000]    Catheter Position.y=50−(Sensor Rangel 2 - h 2 ) 1/2  
 
Catheter Position.y=−5.0 mm
 
         [0167]    Repeating for Sensors  3  and  4  gives: 
         [0000]        S=(Sensor Range 3+Sensor Range4+100 mm)/2 
         [0000]        K=(S·(   S −Sensor Range3)·( S −Sensor Range4) ·( S− 100   mm)) 1/2    
         [0000]        h= 2K/100 mm 
         [0000]      Catheter Position.y=50−(Sensor Range4 2 −h 2 ) 1/2    
         [0000]      Catheter Position.y=−1.9 mm 
         [0168]    For the Catheter&#39;s x-coordinate, use sensors  1  and  4 : 
         [0000]        S =(Sensor Range1+Sensor Range4+100 mm)/2 
         [0000]        K =(S·( S −Sensor Range1) · ( S −Sensor Range4)·( S− 100 mm))/2 
         [0000]        h= 2K/100 mm 
         [0000]      Catheter Position.y=50+(Sensor Range4 2 −h 2 ) 1/2    
         [0000]      Catheter Position.x=71.7 mm 
         [0169]    And for sensors  2  and  3 : 
         [0000]        S =(Sensor Range2+Sensor Range3+100 mm)/2 
         [0000]        K =(S·( S −Sensor Range2)·( S −Sensor Range3)·( S −100 mm)) 1/2    
         [0000]        h= 2K/100 mm 
         [0000]      Catheter Position.y=50+(Sensor Range3 2 −h 2 )  2   
         [0000]      Catheter Position.x=69.7 mm 
         [0170]    This gives an average Catheter Position.y=−3.5 mm and Catheter Position.x=70.2 mm 
         [0171]    To find Catheter Position.z, the Pythagorean theorem is used: 
         [0000]      Catheter Position.z=(Sensor Rangel 2 −(−50−CatheterTip.x) 2 −(50−CatheterTip.y) 2 ) 1/2 −150 
         [0000]      Catheter Position.z=−30.4 mm 
         [0172]    The initial value for Catheter Position for iteration  1  is significantly inaccurate, Catheter Position =(69.7 −3.5 −30.4) where the true position =(61.1-1.1-14.6) 
         [0173]    Catheter position is now used to determine the magnetic axis, catheter axis, using the intersecting plane method as described above. Each plane is defined by its normal vector, sensor plane, which is the cross-product of sensor vector and the vector from the sensor to Catheter Position, sensor catheter. For the sensor-to-catheter tip unit vectors: 
         [0000]    
       
         
           
             
               Sensor 
                
               
                   
               
                
               Catheter 
                
               
                   
               
                
               1 
             
             = 
             
               
                 ( 
                 
                   
                     Catheter 
                      
                     
                         
                     
                      
                     Position 
                   
                   - 
                   
                     Sensor 
                      
                     
                         
                     
                      
                     Position 
                      
                     
                         
                     
                      
                     1 
                   
                 
                 ) 
               
               
                  
                 
                   ( 
                   
                     
                       Catheter 
                        
                       
                           
                       
                        
                       Position 
                     
                     - 
                     
                       Sensor 
                        
                       
                           
                       
                        
                       Position 
                        
                       
                           
                       
                        
                       1 
                     
                   
                   ) 
                 
                  
               
             
           
         
       
       
         
           
             
               Sensor 
                
               
                   
               
                
               Catheter 
                
               
                   
               
                
               1 
             
             = 
             
               
                 &lt; 
                 
                   0.676 
                    
                   
                       
                   
                   - 
                   
                     0.301 
                      
                     
                         
                     
                      
                     0.673 
                   
                 
                 &gt; 
                 
                   
 
                 
                  
                 
                   Sensor 
                    
                   
                       
                   
                    
                   Catheter 
                    
                   
                       
                   
                    
                   2 
                 
               
               = 
               
                 
                   ( 
                   
                     
                       Catheter 
                        
                       
                           
                       
                        
                       Position 
                     
                     - 
                     
                       Sensor 
                        
                       
                           
                       
                        
                       Position 
                        
                       
                           
                       
                        
                       2 
                     
                   
                   ) 
                 
                 
                    
                   
                     ( 
                     
                       
                         Catheter 
                          
                         
                             
                         
                          
                         Position 
                       
                       - 
                       
                         Sensor 
                          
                         
                             
                         
                          
                         Position 
                          
                         
                             
                         
                          
                         2 
                       
                     
                     ) 
                   
                    
                 
               
             
           
         
       
       
         
           
             
               Sensor 
                
               
                   
               
                
               Catheter 
                
               
                   
               
                
               2 
             
             = 
             
               
                 &lt; 
                 
                   0.684 
                    
                   
                       
                   
                    
                   0.264 
                    
                   
                       
                   
                    
                   0.680 
                 
                 &gt; 
                 
                   
 
                 
                  
                 
                   Sensor 
                    
                   
                       
                   
                    
                   Catheter 
                    
                   
                       
                   
                    
                   3 
                 
               
               = 
               
                 
                   ( 
                   
                     
                       Catheter 
                        
                       
                           
                       
                        
                       Position 
                     
                     - 
                     
                       Sensor 
                        
                       
                           
                       
                        
                       Position 
                        
                       
                           
                       
                        
                       3 
                     
                   
                   ) 
                 
                 
                    
                   
                     ( 
                     
                       
                         Catheter 
                          
                         
                             
                         
                          
                         Position 
                       
                       - 
                       
                         Sensor 
                          
                         
                             
                         
                          
                         Position 
                          
                         
                             
                         
                          
                         3 
                       
                     
                     ) 
                   
                    
                 
               
             
           
         
       
       
         
           
             
               Sensor 
                
               
                   
               
                
               Catheter 
                
               
                   
               
                
               3 
             
             = 
             
               
                 &lt; 
                 
                   0.156 
                    
                   
                       
                   
                    
                   0.358 
                    
                   
                       
                   
                    
                   0.921 
                 
                 &gt; 
                 
                   
 
                 
                  
                 
                   Sensor 
                    
                   
                       
                   
                    
                   Catheter 
                    
                   
                       
                   
                    
                   4 
                 
               
               = 
               
                 
                   ( 
                   
                     
                       Catheter 
                        
                       
                           
                       
                        
                       Position 
                     
                     - 
                     
                       Sensor 
                        
                       
                           
                       
                        
                       Position 
                        
                       
                           
                       
                        
                       4 
                     
                   
                   ) 
                 
                 
                    
                   
                     ( 
                     
                       
                         Catheter 
                          
                         
                             
                         
                          
                         Position 
                       
                       - 
                       
                         Sensor 
                          
                         
                             
                         
                          
                         Position 
                          
                         
                             
                         
                          
                         4 
                       
                     
                     ) 
                   
                    
                 
               
             
           
         
       
       
         
           
             
               Sensor 
                
               
                   
               
                
               Catheter 
                
               
                   
               
                
               4 
             
             = 
             
               &lt; 
               
                 0.152 
                  
                 
                     
                 
                 - 
                 
                   0.404 
                    
                   
                       
                   
                    
                   0.902 
                 
               
               &gt; 
             
           
         
       
     
         [0174]    The Sensor Plane normal unit vectors are: 
         [0000]      Sensor Plane1=Sensor Vector1×Sensor Catheter/|Sensor Vector1| 
         [0175]    Sensor Plane1=&lt;−0.004 −0.513 −0.226&gt; 
         [0000]      Sensor Plane2=Sensor Vector2×Sensor Catheter/|Sensor Vector2| 
         [0176]    Sensor Plane2=&lt;−0.142 −0.510 0.341&gt; 
         [0000]      Sensor Plane3=Sensor Vector3×Sensor Catheter/|Sensor Vector3 
         [0177]    Sensor Plane3=&lt;−0.203 −0.843 0.362&gt; 
         [0000]      Sensor Plane4=Sensor Vector4×Sensor Catheter/|Sensor Vector4 
         [0178]    Sensor Plane4=&lt;0.021 −0.835 −0.377 &gt; 
         [0179]    The four solutions for Catheter Axis are: 
         [0000]      Catheter Axis=Sensor Plane1×Sensor Plane2=&lt;−0.966, 0.111, −0.235&gt; 
         [0000]      Catheter Axis =Sensor Plane4×Sensor Plane3=&lt;−0.952, 0.106, −0.288&gt; 
         [0000]      Catheter Axis=Sensor Plane1×Sensor Plane4 =&lt;0.313, −0.384, 0.868&gt; 
         [0000]      Catheter Axis=Sensor Plane3×Sensor Plane2=&lt;−0.974, 0.169, −0.152&gt; 
         [0000]    The value above for Sensor Plane 1 ×Sensor Plane 4  can be excluded by error checking. 
         [0180]    The average of the four solutions is 
         [0000]      Catheter Axis=&lt;−0.644 0.000 0.048 
         [0000]    This is a starting approximation for the known value: Catheter Axis =&lt;−0.916 0.090-0.391 &gt; 
         [0181]    The new value for Catheter Axis is now used to correct the calculations for effective radius, since they are dependent on the orientation of the sensors in the catheter tip&#39;s magnetic field. 
         [0182]    The angle of the sensors&#39; positions to the magnetic axis are 
         [0000]      Sensor Angle1=arc cos(Catheter Axis·Sensor Catheter1) 
         [0000]      Sensor Angle2=arc cos(Catheter Axis·Sensor Catheter2) 
         [0000]      Sensor Angle3=arc cos(Catheter Axis·Sensor Catheter3) 
         [0000]      Sensor Angle4=arc cos(Catheter Axis·Sensor Catheter4) 
         [0000]    Putting in numerical values from the present example gives: 
         [0000]      Sensor Angle 1=113.8 
         [0000]      Sensor Angle 2=114.1 
         [0000]      Sensor Angle3=93.2 
         [0000]      Sensor Angle4=93.1 
       Then 
       [0183]    
       
         
           
             
               Sensor 
                
               
                   
               
                
               Range 
                
               
                   
               
                
               1 
             
             = 
             
               
                 ( 
                 
                   64 
                   - 
                   
                     
                       7 
                       · 
                       Sensor 
                     
                      
                     
                         
                     
                      
                     Angle 
                      
                     
                         
                     
                      
                     1 
                   
                 
                 ) 
               
               · 
               
                  
                 
                   Sensor 
                    
                   
                       
                   
                    
                   Vector 
                    
                   
                       
                   
                    
                   1 
                    
                   
                      
                     
                       
                         
                           - 
                           0.333 
                         
                         + 
                         
                           2.35 
                           · 
                           
                             sin 
                              
                             
                               ( 
                               
                                 
                                   
                                     2.45 
                                     · 
                                     Sensor 
                                   
                                    
                                   
                                       
                                   
                                    
                                   Angle 
                                    
                                   
                                       
                                   
                                    
                                   1 
                                 
                                 + 
                                 1.35 
                               
                               ) 
                             
                           
                         
                         + 
                         
                           0.05 
                            
                           
                             
 
                           
                            
                           Sensor 
                            
                           
                               
                           
                            
                           Range 
                            
                           
                               
                           
                            
                           2 
                         
                       
                       = 
                       
                         
                           ( 
                           
                             64 
                             - 
                             
                               
                                 7 
                                 · 
                                 Sensor 
                               
                                
                               
                                   
                               
                                
                               Angle 
                                
                               
                                   
                               
                                
                               2 
                             
                           
                           ) 
                         
                         · 
                         
                            
                           
                             Sensor 
                              
                             
                                 
                             
                              
                             Vector 
                              
                             
                                 
                             
                              
                             2 
                              
                             
                                
                               
                                 
                                   
                                     - 
                                     0.333 
                                   
                                   + 
                                   
                                     2.35 
                                     · 
                                     
                                       sin 
                                        
                                       
                                         ( 
                                         
                                           
                                             
                                               2.45 
                                               · 
                                               Sensor 
                                             
                                              
                                             
                                                 
                                             
                                              
                                             Angle 
                                              
                                             
                                                 
                                             
                                              
                                             2 
                                           
                                           + 
                                           1.35 
                                         
                                         ) 
                                       
                                     
                                   
                                   + 
                                   
                                     0.05 
                                      
                                     
                                       
 
                                     
                                      
                                     Sensor 
                                      
                                     
                                         
                                     
                                      
                                     Range 
                                      
                                     
                                         
                                     
                                      
                                     3 
                                   
                                 
                                 = 
                                 
                                   
                                     ( 
                                     
                                       64 
                                       - 
                                       
                                         
                                           7 
                                           · 
                                           Sensor 
                                         
                                          
                                         
                                             
                                         
                                          
                                         Angle 
                                          
                                         
                                             
                                         
                                          
                                         3 
                                       
                                     
                                     ) 
                                   
                                   · 
                                   
                                      
                                     
                                       Sensor 
                                        
                                       
                                           
                                       
                                        
                                       Vector 
                                        
                                       
                                           
                                       
                                        
                                       3 
                                        
                                       
                                          
                                         
                                           
                                             
                                               - 
                                               0.333 
                                             
                                             + 
                                             
                                               2.35 
                                               · 
                                               
                                                 sin 
                                                  
                                                 
                                                   ( 
                                                   
                                                     
                                                       
                                                         2.45 
                                                         · 
                                                         Sensor 
                                                       
                                                        
                                                       
                                                           
                                                       
                                                        
                                                       Angle 
                                                        
                                                       
                                                           
                                                       
                                                        
                                                       3 
                                                     
                                                     + 
                                                     1.35 
                                                   
                                                   ) 
                                                 
                                               
                                             
                                             + 
                                             
                                               0.05 
                                                
                                               
                                                 
 
                                               
                                                
                                               Sensor 
                                                
                                               
                                                   
                                               
                                                
                                               Range 
                                                
                                               
                                                   
                                               
                                                
                                               4 
                                             
                                           
                                           = 
                                           
                                             
                                               ( 
                                               
                                                 64 
                                                 - 
                                                 
                                                   
                                                     7 
                                                     · 
                                                     Sensor 
                                                   
                                                    
                                                   
                                                       
                                                   
                                                    
                                                   Angle 
                                                    
                                                   
                                                       
                                                   
                                                    
                                                   4 
                                                 
                                               
                                               ) 
                                             
                                             · 
                                             
                                                
                                               
                                                 Sensor 
                                                  
                                                 
                                                     
                                                 
                                                  
                                                 Vector 
                                                  
                                                 
                                                     
                                                 
                                                  
                                                 4 
                                                  
                                                 
                                                    
                                                   
                                                     
                                                       - 
                                                       0.333 
                                                     
                                                     + 
                                                     
                                                       2.35 
                                                       · 
                                                       
                                                         sin 
                                                          
                                                         
                                                           ( 
                                                           
                                                             
                                                             
                                                             2.45 
                                                             · 
                                                             Sensor 
                                                             
                                                              
                                                             
                                                               
                                                             
                                                              
                                                             Angle 
                                                              
                                                             
                                                               
                                                             
                                                              
                                                             4 
                                                             
                                                             + 
                                                             1.35 
                                                           
                                                           ) 
                                                         
                                                       
                                                     
                                                     + 
                                                     0.05 
                                                   
                                                 
                                               
                                             
                                           
                                         
                                       
                                     
                                   
                                 
                               
                             
                           
                         
                       
                     
                   
                 
               
             
           
         
       
     
         [0184]    Again putting in numerical values for the present example gives: 
         [0000]      Sensor Range1=197.6 mm 
         [0000]      Sensor Range2=194.4 mm 
         [0000]      Sensor Range3=149.8 mm 
         [0000]      Sensor Range4=151.6 mm 
         [0185]    Using these new values in Heron&#39;s formula, compute the solutions for the x and y coordinates of Catheter Position. 
         [0000]      Catheter Position.y=×6.37 mm 
         [0000]      Catheter Position.y=×2.64 mm 
         [0000]      Catheter Position.x=80.37 mm 
         [0000]      Catheter Position.x=76.64 mm 
         [0186]    Averaging these and solving for Catheter Position.z give the first iteration values 
         [0000]      Catheter Position=(78.5 −4.5 −10.8) 
         [0000]      Catheter Axis=&lt;−0.646 0.0 0.049 &gt; 
         [0187]    The second iteration is performed by plugging CatheterPostion back into the equations to recalculate Sensor Catheter, Sensor Plane and Catheter Axis. The Sensor Range values are recalculated and the new Catheter Position is found. 
         [0000]      Catheter Position=(62.1 −1.65 −15.75) 
         [0000]      Catheter Axis=&lt;−0.936 0.086 −0.334&gt; 
         [0000]    Similarly the third iteration gives the values: 
         [0000]      Catheter Position=(61.4 −1.15 −14.6) 
         [0000]      Catheter Axis=&lt;−0.925 0.089 −0.368&gt; 
         [0000]    which compare favorably with the actual values: 
         [0000]      Catheter Position=(61.1 −1.1 −14.6) 
         [0000]      Catheter Axis=&lt;−0.916 0.090 −0.391&gt; 
         [0000]    Further iterations would give greater accuracy, if desired. 
         [0188]      FIG. 15  is block diagram showing the fiducial alignment system&#39;s  12  function in receiving actual catheter position data, AP  902 , from the catheter detection unit  11 , and aligning it with a moving patient  1 . The fiducial alignment system  12  produces the model transformation matrices GP and GO, 12.501 and 12.500 in block  12   a  that are used to rotate the virtual models  80  with the patient  1  and allows the virtual catheter tip  905  to interact with the moving anatomical models  80 , allowing the operator/surgeon to add to and modify the virtual model data  80 . The mapping unit  14  and catheter position recording unit  15  use the fiducial alignment system  12  to convert actual catheter position, AP, back to the original virtual models  80 . The operation console  13  requires the transformation matrices GP and GO, 12.501 and 12.500 to properly display the virtual models  80 . 
         [0189]      FIG. 15A  are illustrations of the respiration inspiration  1 . 60 . 1  and expiration  1 . 60 . 2  states shown in front view on the left and side view on the right of the diagram corresponding to the respiration signal  1 . 60  from the fiducial sensor  12 . 16  that is used by the respiration compensation algorithm to compensate for the respiration displacement of the heart. The fiducial alignment system  12  separates the cyclic respiration signal  1 . 60  from the static displacement of the patient  1  and s available medical algorithms to further track organ displacement to accurately position the virtual tip  905  in the desired location. 
         [0190]      FIG. 16  is a block diagram of the hardware or the CGCI fiducial alignment system  12  and microcontroller  12 . 18 . The fiducial sensor(s)  12 . 16  are tracked by the fiducial camera  12 . 17 . The fiducial microcontroller and associated hardware  12 . 18  convert the data from the fiducial camera  12 . 17  and transmits the fiducial sensor position and orientation to the operation console  13 . Imagers  12 . 17 . 1  scan the images of fiducial sensors  12 . 16  to provide spatial and angular data characterizing fiducial sensors  12 . 16  to logic circuit  12 . 17 . 2 , which provides analog data signals to amplifier  2101 . The output of amplifier  2101  is digitized by ADC  2102  whose output is transformed by Fourier Transform logic circuit  2103 . Fourier Transform logic circuit  2103 . provides a fiducial data signal representing the spatial and angular position of fiducial sensors  12 . 16  to microcontroller  2105 . The fiducial data is then provided by microcontroller  2105  to console  13 . 
         [0191]      FIG. 17  is a schematic diagram of the coordinate systems and associated vector used in the fiducial alignment system  12 . The CGCI&#39;s global coordinate system  100  is converted to the patient&#39;s local coordinate system  200  by the relative shift in the fiducial sensor position and orientation  300  from the fiducial sensor fixed position and orientation  400 . When the fiducial alignment system  12  is “fixed”, the local coordinate system  200  is given the value of the global coordinate system  100  with a model offset vector MO  405  added. The local position vector (LPV)  406  rigidly links the fiducial sensor position and orientation  300  to the local coordinate system position  204  in  FIG. 7 . The global orientation transformation matrix  12 . 500  in  FIG. 15  is used to convert the global coordinate axes to the local coordinate axes  201 - 203 . 
         [0192]    The CGCI units global coordinate system  100  is defined at the center of the coil array by four vectors, representing the central position within the magnetic coils and each Cartesian axis. In the preferred patient orientation Global axisY is the direction of the patient&#39;s head, and Global axisZ is up or perpendicularly directed out of the patient. 
         [0193]    In the Global Coordinate System  100   
         [0000]    
       
         
               
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 Global AxisX 
                 GX(GX.x, GX.y, GX.z) = (1, 0, 0) 
               
               
                   
                 Global AxisY 
                 GY(GY.x, GY.y, GY.z) = (0, 1, 0) 
               
               
                   
                 Global AxisZ 
                 GZ(GZ.x, GZ.y, GZ.z) = (0, 0, 1) 
               
               
                   
                 Global Position 
                 GP(GP.x, GP.y, GP.z) = (0, 0, 0) 
               
               
                   
                   
               
             
          
         
       
     
         [0194]    The x, y, and z components of a vector are referred to as sub-assemblies of the vector. GX has components GX.x, GX.y, and GX.z. 
         [0195]    The patient&#39;s local coordinate system  200 , to which all medical data and imagery have been referenced, is defined four similar vectors. 
         [0196]    In the Local Coordinate System  200   
         [0000]    
       
         
               
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 Local AxisX 
                 LX(LX.x, LX.y, LX.z) 
               
               
                   
                 Local AxisY 
                 LY(LY.x, LY.y, LY.z) 
               
               
                   
                 Local AxisZ 
                 LZ(LZ.x, LZ.y, LZ.z) 
               
               
                   
                 Local Position 
                 LP(LP.x, LP.y, LP.z) 
               
               
                   
                   
               
             
          
         
       
     
         [0197]    The fiducial system&#39;s position and orientation sensor  12 . 16  is referenced to the global coordinate system  100 , and has four similar vectors. These change dynamically as the sensor moves. 
         [0198]    Fiducial Sensor Current Position and Orientation  300  are given by: 
         [0000]    
       
         
               
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 Fiducial AxisX 
                 FX(FX.x, FX.y, FX.z) 
               
               
                   
                 Fiducial AxisY 
                 FY(FY.x, FY.y, FY.z) 
               
               
                   
                 Fiducial AxisZ 
                 FZ(FZ.x, FZ.y, FZ.z) 
               
               
                   
                 Fiducial Position 
                 FP(FP.x, FP.y, FP.z) 
               
               
                   
                   
               
             
          
         
       
     
         [0199]    A second set of fiducial coordinates are used as a reference to point where the global coordinate system  100  and local coordinate system  200  have been aligned by a simple position offset vector, MO  405 . 
         [0200]    The fiducial Sensor position and orientation are given by: 
         [0000]    
       
         
               
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 Fiducial Fixed AxisX 
                 FFX(FFX.x, FFX.y, FFX.z) 
               
               
                   
                 Fiducial Fixed AxisY 
                 FFY(FFY.x, FFY.y, FFY.z) 
               
               
                   
                 Fiducial Fixed AxisZ 
                 FFZ(FFZ.x, FFZ.y, FFZ.z) 
               
               
                   
                 Fiducial Fixed Position 
                 FFP(FFP.x, FFP.y, FFP.z) 
               
               
                   
                 Local-Global Model Offset 
                 MO(MO.x, MO.y, MO.z) 
               
               
                   
                 Local Position Vector 
                 LPV(LPV.x, LPV.y, LPV.z) 
               
               
                   
                   
               
             
          
         
       
     
         [0201]      FIG. 18  is the general form of the transformation matrix for rotation about an arbitrary axis (left-handed coordinates), Rot (u,v,w,th) 12.501. Rot (u,v,w,th)  12 . 501  rotates any vector or point about the vector &lt;u,v,w&gt;by angle th. This is used to rotate the fiducial fixed axes  400  to the current fiducial axes  300  in six standard yaw, pitch, and roll rotations. First, the fiducial fixed orientation is unrotated relative to a global coordinate alignment  100 , and then is rotated to the current fiducial sensor orientation  300 . The matrix multiplication of these rotations gives the global orientation matrix, GO  12 . 500 . When multiplied by the global orientation matrix, GO  12 . 500 , three dimensional virtual models  80 , location points, and vectors are converted from the global coordinate system  100  to the local coordinate system  200 . 
         [0202]    The global positioning matrix, GP  12 . 502 , is only used to translate three dimensional virtual models  80  from the global position to local position  204 . All models and vectors are assumed to be left-handed for three dimensional modeling purposes, and vectors that are right-handed are multiplied by the conversion matrix, LH, before and after transformation. 
         [0203]    The global positioning matrix GP is defined from the local position  204  as: 
         [0000]    
       
         
           
             GP 
             = 
             
               [ 
               
                 
                   
                     
                       LP 
                       . 
                       x 
                     
                   
                   
                     0 
                   
                   
                     0 
                   
                 
                 
                   
                     0 
                   
                   
                     
                       LP 
                       . 
                       y 
                     
                   
                   
                     0 
                   
                 
                 
                   
                     0 
                   
                   
                     0 
                   
                   
                     
                       LP 
                       . 
                       z 
                     
                   
                 
               
               ] 
             
           
         
       
     
         [0204]    The left-hand to right-hand coordinate conversion matrix, LH, is defined as: 
         [0000]    
       
         
           
             LH 
             = 
             
               [ 
               
                 
                   
                     1 
                   
                   
                     0 
                   
                   
                     0 
                   
                 
                 
                   
                     0 
                   
                   
                     1 
                   
                   
                     0 
                   
                 
                 
                   
                     0 
                   
                   
                     0 
                   
                   
                     
                       - 
                       1 
                     
                   
                 
               
               ] 
             
           
         
       
     
         [0205]    Objects with right-handed coordinates, such as position vectors and location points, are multiplied by the right-handed version of GO  12 . 500 , the matrix GOR: 
         [0000]      GOR=LH·GO·LH 
         [0206]    The fixed reference vectors use include Fiducial Fixed AxisX  401  and its z-component FFX.z  401 . 3 , Fiducial Fixed AxisY  402  and its components FFY.x  402 . 1 , FFY.y  402 . 2 , FFY.z  402 . 3 . The current fiducial vectors use Fiducial AxisX  301  and its z-component FX.z  301 . 3 , Fiducial AxisY  302  and its components FY.x  302 . 1 , FY.y  302 . 2 , FY.z  302 . 3 . Rot[1]=Rotate about axis Fiducial Fixed AxisY by angle arc sin(FFX.z/cos(-arc sin(FFY.z))) Rot[2]=Rotate about axis &lt;FFY.y, -FFY.x, 0&gt;by angle -arc sin(FFY.z) Rot[3]=Rotate about axis Global AxisZ by angle -arc tan(FFY.x/FFY.y) Rot[4]=Rotate about axis Global AxisZ by angle arc tan(FY.x/FY.y) Rot[5]=Rotate about axis &lt;FY.y, -FY.x, 0&gt;by angle arc sin(FY.z ) Rot[6]=Rotate about axis Fiducial AxisY by angle -arc sin(FX.z/cos(arc sin(FY.z))) 
         [0207]    GO=Rot[1]·Rot[2]·Rot[3]·Rot[4]Rot[5]·Rot[6] 
         [0208]    Using the technique for determining the Global Orientation Matrix GO  12 . 500  and converting from Global Coordinates 100 to Local Coordinates 200, as noted above, generate GO  12 . 500  and use it to demonstrate that the Local Catheter Position  914  and Orientation  911  in a rotated patient can be converted back to global Catheter Position  904  and Catheter Axis  901  in an unrotated patient. 
         [0209]    In the screen display of  FIG. 19 , the virtual catheter tip  905  is hand-placed in the tricuspid valve  1 . 15  and the fiducial system  12  is fixed. In the screen display of  FIG. 20 , the patient  1  has been repositioned and the virtual catheter tip  905  is repositioned by hand in the tricuspid valve  1 . 15 . The CGCI system data and results from  FIG. 19  and  FIG. 20  are: 
         [0000]      Fiducial Fixed Position =(68.1, 3.9, 101.8) 
         [0000]      Fiducial Fixed Axis X=&lt;0.697, 0.635, -0.333&gt; 
         [0000]      Fiducial Fixed Axis Y=&lt;−0.561, 0.772, 0.298&gt; 
         [0000]      Fiducial Fixed Axis Z=&lt;0.446, -0.021, 0.895&gt; 
         [0000]      Fiducial Position=(−9.0, 0.6, 99.4) 
         [0000]      Fiducial Axis X=&lt;1.000, 0.020, 0.014&gt; 
         [0000]      Fiducial Axis Y=&lt;−0.021, 0.998, 0.052&gt; 
         [0000]      Fiducial Axis Z=&lt;−0.013, −0.052, 0.999&gt; 
         [0000]      Catheter in the tricuspid valve, unrotated patient 
         [0000]      Catheter Position  1 =(−11.7, −14.6, 2.1) 
         [0000]      Catheter Axis  1 =&lt;−0.408, 0.092, −0.908&gt; 
         [0000]      Catheter in tricuspid valve, rotated patient 
         [0000]      Catheter Position  2 =(−48.0, -5.2, -23.5) 
         [0000]      Catheter Axis  2  =&lt;0.029, 0.078, -0.997&gt; 
         [0000]      Catheter Model Position  2 =(−11.8, -14.7, 2.1) 
         [0000]      Catheter Model Axis  2 =&lt;−0.413, 0.116, -0.903 &gt; 
         [0210]    The rotation matrices, Rot  12 . 501 , are calculated from the system data in the screen displays of  FIG. 19  and  FIG. 20  and multiplied together to form the global orientation matrix, GO  12 . 500 . The right-handed global orientation matrix, GOR  12 . 506 , is then found by multiplying, before and after, by the right-handed coordinate to left-handed coordinate transformation matrix, LH. Rot[1]=Rotate about the vector &lt;-0.561, 0.772, 0.298&gt;by angle arc sin(−0.333/cos(-arc sin(0.298)))=0.356 rad Rot[2]=Rotate about the vector &lt;0.772, 0.561, 0&gt;by angle -arc sin(0.298)=-0.303 radians Rot[3]=Rotate about the vector &lt;0, 0, 1&gt;by angle -arc tan(−0.561/0.772)=0.628 radians Rot[4]=Rotate about the vector &lt;0, 0, 1&gt;by angle arc tan(−0.021/0.998)=-0.021 radians Rot[5]=Rotate about the vector &lt;0.998, 0.021, 0&gt;by angle arc sin(0.052)=0.052 radians Rot[6]=Rotate about the vector &lt;-0.021, 0.998, 0.052&gt;by angle -arc sin( 0 . 014 /cos(arc sin(0.052)))=-0.014 radians GO =Rot(−0.561, 0.772, 0.298, -0.356) Rot(0.772, 0.561, 0, -0.303) Rot(0, 0, 1, 0.628) * Rot(0, 0, 1, -0.021 Rot(0.998, 0.021, 0, 0.052) Rot(−0.021, 0.998, 0.052, -0.014) GOR=LH * GO * LH 
         [0211]    To find the local position  204 , the initial local position vector, LPV  406 , is set to the negative of the fiducial fixed position  404 , assuming no initial model offset  405 . 
         [0000]    LPV  406  is rotated by the right-handed transform, GOR  12 . 506 , and added to the current
 
fiducial position  304 .
       Fiducial Fixed Position =(68.1, 3.9, 101.8) mm   Fiducial Position =(−9.0, 0.6, 99.4) mm       
 
         [0214]    LPV=−fiducial fixed position 
         [0215]    Local Position =Fiducial Position +LPV·GOR=(−31.12, 2.873, -21.106) mm 
         [0216]    The local axes,  201 ,  202 , and  203  are found by multiplying the corresponding global axes by GOR. 
         [0000]      Local AxisX=Global AxisX·GOR=&lt;0.823, −0.397, 0.407&gt; 
         [0000]      Local AxisY=Global AxisY·GOR=&lt;0.448, 0.894, −0.033&gt; 
         [0000]      Local AxisZ=Global AxisZ·GOR=&lt;−0.350, 0.209, 0.913 &gt; 
         [0217]    The virtual catheter tip  905  is referenced back to the unrotated model by the matrix inverse of the transformation matrix, GOR, and it is seen to match the initial hand placement. 
         [0000]      Catheter Global Axis=(0.029, 0.078, −0.997) 
         [0000]      Catheter Local Axis=Catheter Global Axis·GOR −1 =(−0.413, 0.116, −0.904) 
         [0218]    Given hand-accuracy, the Local Axis in the rotated patient matches the Global Axis in the unrotated patient: &lt;−0.408, 0.092, −0.908 &gt; 
         [0219]    The vector from the local position origin  204  to the catheter&#39;s global position  904  is rotated back to global coordinates 100 for the catheter&#39;s local position  914  with respect to the un-rotated model. 
         [0000]    
       
         
           
             
               Catheterglobal 
                
               
                   
               
                
               position 
             
             = 
             
               
                 ( 
                 
                   
                     - 
                     48.0 
                   
                   , 
                   
                     - 
                     5.2 
                   
                   , 
                   
                     - 
                     23.5 
                   
                 
                 ) 
               
                
               
                   
               
                
               mm 
             
           
         
       
       
         
           
             
               
                 
                   
                     Catheterglobal 
                      
                     
                         
                     
                      
                     position 
                   
                   = 
                     
                    
                   
                     ( 
                     
                       
                         Catheter 
                          
                         
                             
                         
                          
                         global 
                          
                         
                             
                         
                          
                         position 
                       
                       - 
                     
                   
                 
               
             
             
               
                 
                   
                       
                      
                     
                       local 
                        
                       
                           
                       
                        
                       position 
                        
                       
                           
                       
                        
                       204 
                     
                     ) 
                   
                   · 
                   
                     GOR 
                     
                       - 
                       1 
                     
                   
                 
               
             
             
               
                 
                   = 
                     
                    
                   
                     ( 
                     
                       
                         - 
                         11.653 
                       
                       , 
                       
                         - 
                         14.694 
                       
                       , 
                       2.037 
                     
                     ) 
                   
                 
               
             
           
         
       
     
         [0220]    Given hand-accuracy, the local position in the rotated patient matches the global position in the unrotated patient (−11.7, -14.6, 2.1) 
         [0221]    Using the technique for determining the global orientation matrix GO and converting from global coordinates 100 to local coordinates 200, as noted above, generate GO and use it to demonstrate that the local Catheter Position  914  and orientation  911  in a rotated patient can be converted back to global Catheter Position  904  and Catheter Axis  901  in an unrotated patient. 
         [0222]    In  FIG. 21  as an example, the virtual catheter tip  905  is placed in a pulmonary vein 1.12.1 and the fiducial system  12  is fixed. In  FIG. 22 , the patient  1  has been repositioned and the catheter tip  905  is repositioned by hand in the same pulmonary vein 1.12.1. The CGCI system data and results from  FIG. 21  and  FIG. 22  are: 
         [0000]      Fiducial Fixed Position =(−12.1, 1.3, 99.5) 
         [0000]      Fiducial Fixed Axis X=&lt;−0.004, −0.998, −0.061&gt; 
         [0000]      Fiducial Fixed Axis Y=&lt;0.999, −0.007, 0.046&gt; 
         [0000]      Fiducial Fixed Axis Z=&lt;−0.046, −0.061, 0.997&gt; 
         [0000]      Fiducial Position=(45.1, −15.2, 103.1) 
         [0000]      Fiducial Axis X=&lt;0.651, 0.759, 0.033&gt; 
         [0000]      Fiducial Axis Y=&lt;−0.756, 0.642, 0.128&gt; 
         [0000]      Fiducial Axis Z=&lt;0.075, -0.108, 0.991 &gt; 
         [0223]    Catheter in pulmonary vein, unrotated patient 
         [0000]      Catheter Position  1 =(61.1, −1.1, −14.6) 
         [0000]      Catheter Axis  1 =&lt;−0.916, 0.090, -0.391&gt; 
         [0224]    Catheter in pulmonary vein, rotated patient 
         [0000]      Catheter Position  2 =(−10.6, 47.0, −4.3) 
         [0000]      Catheter Axis  2  =&lt;0.593, −0.638, −0.490&gt; 
         [0000]      Catheter Model Position  2 =(61.4, −0.6, −14.9) 
         [0000]      Catheter Model Axis  2 =&lt;−0.901, 0.156, −0.406 &gt; 
         [0225]    The rotation matrices, Rot  12 . 501 , are calculated from the system data in  FIG. 21  and  FIG. 22  and multiplied together to form the global orientation matrix, GO  12 . 500 . The right-handed global orientation matrix, GOR, is then found by multiplying, before and after, by the left-handed to right-handed transformation matrix, LH. 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       Rot 
                        
                       
                         [ 
                         1 
                         ] 
                       
                     
                     = 
                       
                      
                     
                       
                         Rotate 
                          
                         
                             
                         
                          
                         about 
                          
                         
                             
                         
                          
                         the 
                          
                         
                             
                         
                          
                         vector 
                       
                       &lt; 
                       0.999 
                     
                   
                   , 
                   
                     - 
                     0.007 
                   
                   , 
                   
                     0.046 
                     &gt; 
                   
                 
               
             
             
               
                 
                     
                    
                   
                     by 
                      
                     
                         
                     
                      
                     angle 
                      
                     
                         
                     
                      
                     arc 
                      
                     
                         
                     
                      
                     
                       sin 
                       ( 
                       
                         
                           - 
                           0.061 
                         
                         / 
                         
                           cos 
                            
                           
                             ( 
                             
                               
                                 - 
                                 arc 
                               
                                
                               
                                   
                               
                                
                               
                                 sin 
                                  
                                 
                                   ( 
                                   0.046 
                                   ) 
                                 
                               
                             
                             ) 
                           
                         
                       
                     
                   
                 
               
             
             
               
                 
                   = 
                     
                    
                   
                     
                       - 
                       0.0611 
                     
                      
                     
                         
                     
                      
                     radians 
                   
                 
               
             
           
         
       
       
         
           
             
               
                 
                   
                     
                       Rot 
                        
                       
                         [ 
                         2 
                         ] 
                       
                     
                     = 
                       
                      
                     
                       
                         Rotate 
                          
                         
                             
                         
                          
                         about 
                          
                         
                             
                         
                          
                         the 
                          
                         
                             
                         
                          
                         vector 
                       
                       &lt; 
                       0.007 
                     
                   
                   , 
                   
                     - 
                     0.999 
                   
                   , 
                   
                     0 
                     &gt; 
                   
                 
               
             
             
               
                 
                     
                    
                   
                     
                       by 
                        
                       
                           
                       
                        
                       angle 
                     
                     - 
                     
                       arc 
                        
                       
                           
                       
                        
                       
                         sin 
                          
                         
                           ( 
                           0.046 
                           ) 
                         
                       
                     
                   
                 
               
             
             
               
                 
                   = 
                     
                    
                   
                     
                       - 
                       0.046 
                     
                      
                     
                         
                     
                      
                     radians 
                   
                 
               
             
           
         
       
       
         
           
             
               
                 
                   
                     
                       Rot 
                        
                       
                         [ 
                         3 
                         ] 
                       
                     
                     = 
                       
                      
                     
                       
                         Rotate 
                          
                         
                             
                         
                          
                         about 
                          
                         
                             
                         
                          
                         the 
                          
                         
                             
                         
                          
                         vector 
                       
                       &lt; 
                       0 
                     
                   
                   , 
                   0 
                   , 
                   
                     1 
                     &gt; 
                   
                 
               
             
             
               
                 
                     
                    
                   
                     
                       by 
                        
                       
                           
                       
                        
                       angle 
                     
                     - 
                     
                       arc 
                        
                       
                           
                       
                        
                       
                         tan 
                          
                         
                           ( 
                           
                             0.999 
                             / 
                             
                               - 
                               0.007 
                             
                           
                           ) 
                         
                       
                     
                   
                 
               
             
             
               
                 
                   = 
                     
                    
                   
                     
                       - 
                       0.5778 
                     
                      
                     
                         
                     
                      
                     radians 
                   
                 
               
             
           
         
       
       
         
           
             
               
                 
                   
                     
                       Rot 
                        
                       
                         [ 
                         4 
                         ] 
                       
                     
                     = 
                       
                      
                     
                       
                         Rotate 
                          
                         
                             
                         
                          
                         about 
                          
                         
                             
                         
                          
                         the 
                          
                         
                             
                         
                          
                         vector 
                       
                       &lt; 
                       0 
                     
                   
                   , 
                   0 
                   , 
                   
                     1 
                     &gt; 
                   
                 
               
             
             
               
                 
                     
                    
                   
                     by 
                      
                     
                         
                     
                      
                     angle 
                      
                     
                         
                     
                      
                     arc 
                      
                     
                         
                     
                      
                     
                       tan 
                        
                       
                         ( 
                         
                           
                             - 
                             0.756 
                           
                           / 
                           0.642 
                         
                         ) 
                       
                     
                   
                 
               
             
             
               
                 
                   = 
                     
                    
                   
                     
                       - 
                       0.8668 
                     
                      
                     
                         
                     
                      
                     radians 
                   
                 
               
             
           
         
       
       
         
           
             
               
                 
                   
                     
                       Rot 
                        
                       
                         [ 
                         5 
                         ] 
                       
                     
                     = 
                       
                      
                     
                       
                         Rotate 
                          
                         
                             
                         
                          
                         about 
                          
                         
                             
                         
                          
                         the 
                          
                         
                             
                         
                          
                         vector 
                       
                       &lt; 
                       0.654 
                     
                   
                   , 
                   0.756 
                   , 
                   
                     0 
                     &gt; 
                   
                 
               
             
             
               
                 
                     
                    
                   
                     by 
                      
                     
                         
                     
                      
                     angle 
                      
                     
                         
                     
                      
                     arc 
                      
                     
                         
                     
                      
                     
                       sin 
                        
                       
                         ( 
                         0.128 
                         ) 
                       
                     
                   
                 
               
             
             
               
                 
                   = 
                     
                    
                   
                     0.128 
                      
                     
                         
                     
                      
                     radians 
                   
                 
               
             
           
         
       
       
         
           
             
               
                 
                   
                     
                       Rot 
                        
                       
                         [ 
                         6 
                         ] 
                       
                     
                     = 
                       
                      
                     
                       
                         Rotate 
                          
                         
                             
                         
                          
                         about 
                          
                         
                             
                         
                          
                         the 
                          
                         
                             
                         
                          
                         vector 
                       
                       &lt; 
                       
                         - 
                         0.756 
                       
                     
                   
                   , 
                   0.642 
                   , 
                   
                     0.128 
                     &gt; 
                   
                 
               
             
             
               
                 
                     
                    
                   
                     
                       by 
                        
                       
                           
                       
                        
                       angle 
                     
                     - 
                     
                       arc 
                        
                       
                           
                       
                        
                       
                         sin 
                          
                         
                           ( 
                           
                             0.033 
                             / 
                             
                               cos 
                                
                               
                                 ( 
                                 
                                   arc 
                                    
                                   
                                       
                                   
                                    
                                   
                                     sin 
                                      
                                     
                                       ( 
                                       0.128 
                                       ) 
                                     
                                   
                                 
                                 ) 
                               
                             
                           
                           ) 
                         
                       
                     
                   
                 
               
             
             
               
                 
                   = 
                     
                    
                   
                     
                       - 
                       0.0333 
                     
                      
                     
                         
                     
                      
                     radians 
                   
                 
               
             
           
         
       
       
         
           
             GO 
             = 
             
               
                 Rot 
                  
                 
                   ( 
                   
                     0.999 
                     , 
                     
                       - 
                       0.007 
                     
                     , 
                     0.046 
                     , 
                     
                       - 
                       0.061 
                     
                   
                   ) 
                 
               
               · 
               
                 Rot 
                  
                 
                   ( 
                   
                     0.007 
                     , 
                     0.999 
                     , 
                     0 
                     , 
                     
                       - 
                       0.046 
                     
                   
                   ) 
                 
               
               · 
               
                 Rot 
                  
                 
                   ( 
                   
                     0 
                     , 
                     0 
                     , 
                     1 
                     , 
                     
                       - 
                       1.5778 
                     
                   
                   ) 
                 
               
               · 
               
                 Rot 
                  
                 
                   ( 
                   
                     0 
                     , 
                     0 
                     , 
                     1 
                     , 
                     
                       - 
                       0.8668 
                     
                   
                   ) 
                 
               
               · 
               
                 Rot 
                  
                 
                   ( 
                   
                     0.642 
                     , 
                     0.756 
                     , 
                     0 
                     , 
                     0.128 
                   
                   ) 
                 
               
               · 
               
                 Rot 
                  
                 
                   ( 
                   
                     
                       - 
                       0.756 
                     
                     , 
                     0.642 
                     , 
                     0.128 
                     , 
                     
                       - 
                       0.0333 
                     
                   
                   ) 
                 
               
             
           
         
       
       
         
           
             GOR 
             = 
             
               LH 
               · 
               GO 
               · 
               LH 
             
           
         
       
     
         [0226]    To find the local position  204 , the initial local position vector, LPV  406  is set to the negative of the fiducial fixed position  404 , assuming no initial model offset  405 . LPV  406  is rotated by the right-handed transform, GOR, and added to the current fiducial position  304 . 
         [0000]      Fiducial Fixed Position =(−12.1, 1.3, 99.5) mm 
         [0000]      Fiducial Position =(45.1, -15.2, 103.1) mm 
         [0000]      LPV=—Fiducial Fixed Position 
         [0000]      Local Position =Fiducial Position +LPV·GOR=(36.429, 5.867, 5.482) mm 
         [0227]    The local axes, 201, 202, and 203 are computed by multiplying the corresponding global axes by GOR. 
         [0000]      Local AxisX=Global AxisX·GOR=&lt;−0.770, 0.632, 0.081&gt; 
         [0000]      Local AxisY=Global AxisY·GOR=&lt;−0.638, −0.765, −0.095&gt; 
         [0000]      Local AxisZ=Global AxisZ·GOR=&lt;0.002, −0.125, 0.992&gt; 
         [0228]    The catheter tip  905  is referenced back to the unrotated model by the matrix inverse of the transformation matrix, GOR, and it is seen to match the initial hand placement. 
         [0000]      CatheterGlobal Axis=&lt;0.593, −0.638, −0.490&gt; 
         [0000]      CatheterLocal Axis=CatheterGlobal Axis·GOR −1 =&lt;−0.90, 0.156, -0.405 &gt; 
         [0229]    Given hand-accuracy, the Local Axis in the rotated patient matches the Global Axis in the unrotated patient: &lt;− 0 . 916 ,  0 . 090 , − 0 . 391  &gt; 
         [0230]    The vector from the local position origin  204  to the catheter&#39;s global position  904  is rotated back to global coordinates  100  for the catheter&#39;s local position  914  with respect to the un-rotated model. 
         [0000]    
       
         
           
             
               Catheter 
                
               
                   
               
                
               global 
                
               
                   
               
                
               position 
             
             = 
             
               
                 ( 
                 
                   
                     - 
                     10.6 
                   
                   , 
                   47 
                   , 
                   
                     - 
                     4.3 
                   
                 
                 ) 
               
                
               
                   
               
                
               mm 
             
           
         
       
       
         
           
             
               
                 
                   
                     Catheter 
                      
                     
                         
                     
                      
                     local 
                      
                     
                         
                     
                      
                     position 
                   
                   = 
                     
                    
                   
                     
                       ( 
                       
                         
                           Catheter 
                            
                           
                               
                           
                            
                           global 
                            
                           
                               
                           
                            
                           position 
                         
                         - 
                         
                           local 
                            
                           
                               
                           
                            
                           position 
                            
                           
                               
                           
                            
                           204 
                         
                       
                       ) 
                     
                     · 
                   
                 
               
             
             
               
                 
                     
                    
                   
                     GOR 
                     
                       - 
                       1 
                     
                   
                 
               
             
             
               
                 
                   = 
                     
                    
                   
                     
                       ( 
                       
                         61.452 
                         , 
                         
                           - 
                           0.533 
                         
                         , 
                         
                           - 
                           14.924 
                         
                       
                       ) 
                     
                      
                     
                         
                     
                      
                     
                       mm 
                       . 
                     
                   
                 
               
             
           
         
       
     
         [0231]    Given hand-accuracy, the local position in the rotated patient matches the global position in the unrotated patient (61.1, -1.1, -14.6). 
         [0232]    Many alterations and modifications may be made by those having ordinary skill in the art without departing from the spirit and scope of the invention. Therefore, it must be understood that the illustrated embodiments have been set forth only for the purposes of example and should not be taken as limiting the scope of the invention. 
         [0233]    Therefore, it must be understood that the illustrated embodiment has been set forth only for the purposes of example and that it should not be taken as limiting the invention as defined by the following claims. For example, notwithstanding the fact that the elements of a claim are set forth below in a certain combination, it must be expressly understood that the invention includes other combinations of fewer, more or different elements, which are disclosed in above even when not initially claimed in such combinations. A teaching that two elements are combined in a claimed combination is further to be understood as also allowing for a claimed combination in which the two elements are not combined with each other, but may be used alone or combined in other combinations. The excision of any disclosed element of the invention is explicitly contemplated as within the scope of the invention. 
         [0234]    The words used in this specification to describe the invention and its various embodiments are to be understood not only in the sense of their commonly defined meanings, but to include by special definition in this specification structure, material or acts beyond the scope of the commonly defined meanings. Thus if an element can be understood in the context of this specification as including more than one meaning, then its use in a claim must be understood as being generic to all possible meanings supported by the specification and by the word itself 
         [0235]    The definitions of the words or elements of the following claims are, therefore, defined in this specification to include not only the combination of elements which are literally set forth, but all equivalent structure, material or acts for performing substantially the same function in substantially the same way to obtain substantially the same result. In this sense it is therefore contemplated that an equivalent substitution of two or more elements may be made for any one of the elements in the claims below or that a single element may be substituted for two or more elements in a claim. Although elements may be described above as acting in certain combinations and even initially claimed as such, it is to be expressly understood that one or more elements from a claimed combination can in some cases be excised from the combination and that the claimed combination may be directed to a subcombination or variation of a subcombination. Accordingly, the scope of the invention is limited only by the claims and equivalents thereto.