Patent Description:
Bronchoscopy is a medical procedure that allows a physician to examine the inside conditions of a patient's lung airways, such as bronchi and bronchioles. The lung airways carry air from the trachea, or windpipe, to the lungs. During the medical procedure, a thin, flexible tubular tool, known as a bronchoscope, may be inserted into the patient's mouth and passed down the patient's throat into his/her lung airways, and patients are generally anesthetized in order to relax their throats and lung cavities for surgical examinations and operations during the medical procedure.

A conventional bronchoscope typically includes a light source and a small camera that allows a physician to inspect a patient's windpipe and airways, and a rigid tube may be used in conjunction with the bronchoscope for surgical purposes, e.g., when there is a significant amount of bleeding in the lungs of the patient or when a large object obstructs the throat of the patient. When the rigid tube is used, the patient is often anesthetized. Coincident with the rise of other advanced medical devices, the use of robotic bronchoscopes are increasingly becoming a reality. Robotic bronchoscopes provide tremendous advantages in navigation through tubular networks. They are easy to use and allow therapy and biopsies to be administered conveniently even during the bronchoscopy stage.

Apart from mechanical devices or platforms, e.g., robotic bronchoscopes described above, various methods and software models may be used to help with the surgical operations. As an example, a computerized tomography (CT) scan of the patient's lungs is often performed during pre-operation of a surgical examination. Data from the CT scan may be used to generate a three dimensional (3D) model of airways of the patient's lungs, and the generated 3D model enables a physician to access a visual reference that may be useful during the operative procedure of the surgical examination.

However, previous techniques for navigation of tubular networks still have challenges, even when employing medical devices (e.g., robotic bronchoscopes) and when using existing methods (e.g., performing CT scans and generating 3D models). As one example, motion estimation of a medical device (e.g., a bronchoscope tool) inside a patient's body may not be accurate based on location and orientation change of the device, and as a result the device's position may not be accurately or correctly localized inside the patient's body in real time. Inaccurate location information for such an instrument may provide misleading information to the physician that uses the 3D model as a visual reference during medical operation procedures.

<CIT> discusses an endolumenal robotic system that provides the surgeon with the ability to drive a robotically-driven endoscopic device to a desired anatomical position in a patient without the need for awkward motions and positions.

Thus, there is a need for improved techniques for navigating through a network of tubular structures.

A computer-readable storage medium according to the invention is defined in claim <NUM>. Further embodiments of the invention are recited in the dependent claims. The methods and apparatus disclosed herein provide improved navigation through tubular networks such as lung airways by providing improved estimation of location and orientation information of a medical instrument like a flexible or rigid elongated medical instrument ( e.g., an endoscope) within the tubular network.

As one example, the apparatus is a robotic endoscopic tool to acquire "raw" location and orientation information (collectively, input data) of a desired anatomical site or of the endoscopic tool within the tubular network. The endoscopic tool includes a flexible tip and an instrument device manipulator (IDM) coupled to the endoscopic tool. Devices such as an electromagnetic sensor (EM sensor), an imaging device (e.g., optical sensor), and a robotic control system controlling the medical instrument are coupled to the instrument tip to collect the input data as the endoscopic tool enters and navigates through the tubular network. The IDM is used to control movement and position of different robotic components ( e.g., the endoscopic tool) of the surgical robotic system. A processor is coupled to the endoscopic tool to receive the input data to determine moment-by-moment movements and location and orientation information of the medical instrument (e.g., a instrument tip) within the tubular network.

The processor is instructed by a navigation configuration system to use the input data to estimate the state of the medical instrument, which may include information such as position, orientation, relative and absolute depth, branch selection, etc. The processor may be further instructed to use the estimated state to locate a specific site within a tubular network and/or to determine navigation information for what positions/orientations the medical instrument should travel through to arrive at the specific site, which may be referred to as the output data or navigation data.

The navigation configuration system further includes multiple algorithm modules employing various navigation algorithms for providing the estimated state and navigation data. Example algorithms used include EM-based algorithms, image-based algorithms, and robot-based algorithms. The estimated state and navigation data generated after employing these various algorithms makes use of any one or more of the EM-based input data, image-based input data, and robot-based input data.

In some embodiments, probability distributions together with confidence values are generated by the algorithm modules, which are used to determine the medical instrument's estimated state. The "probability" of the "probability distribution", as used herein, refers to a likelihood of an estimation or identification of location and/or orientation of the medical instrument being correct. For example, different probabilities may be calculated indicating the relative likelihood that the medical instrument is in one of several different possible airways within the lung. In contrast, the "confidence value, as used herein, reflects a measure of confidence in the estimation of the state provided by one of the algorithms. For example, relatively close to the airway opening, a particular algorithm may have a high confidence in its estimations of medical instrument position and orientation; but further into the bottom of the lung the medical instrument travels, that confidence value may drop. Generally, the confidence value is based on one or more "external" factors relating to the process by which a result is determined, whereas probability is a relative measure that arises when trying to determine possible results from a single algorithm. The algorithms, probabilities, and confidence values may be variously combined to arrive at the estimated state and navigation data.

In one embodiment, before executing an actual surgical operation on a patient, a sequence of pre-operative steps employing the improved navigation of surgical instruments (e.g., endoscopic) within a tubular network of the patient may be taken. Initially, a CT scan of the tubular network is obtained to generate a 3D model of the tubular network. A target area (e.g., a lesion to biopsy) within the tubular network is selected and a corresponding path for a surgical instrument to travel through the tubular network to reach the target area is automatically planned and displayed to a user (e.g., a physician responsible for the surgical operation). After the path is determined, a virtual endoscopic may be applied to travel through the tubular network to arrive at the target area. In the actual surgical operation, the CT scan, the generated 3D model as well as other input data (e.g., image data, EM data, robot data collected over the duration of the surgery) is combined and repeatedly analyzed during the surgery via the surgical configuration system to provide an estimation of the real-time movement information and location/orientation information of the surgical instrument (e.g., the endoscope) within the tubular network along with navigation information, which allows for more convenient operations by the physician.

<FIG> shows an example surgical robotic system <NUM>, according to one embodiment. The surgical robotic system <NUM> includes a base <NUM> coupled to one or more robotic arms, e.g., robotic arm <NUM>. The base <NUM> is communicatively coupled to a command console, which is further described with reference to <FIG> in Section II. COMMAND CONSOLE. The base <NUM> can be positioned such that the robotic arm <NUM> has access to perform a surgical procedure on a patient, while a user such as a physician may control the surgical robotic system <NUM> from the comfort of the command console. In some embodiments, the base <NUM> may be coupled to a surgical operating table or bed for supporting the patient. Though not shown in <FIG> for purposes of clarity, the base <NUM> may include subsystems such as control electronics, pneumatics, power sources, optical sources, and the like. The robotic arm <NUM> includes multiple arm segments <NUM> coupled at joints <NUM>, which provides the robotic arm <NUM> multiple degrees of freedom, e.g., seven degrees of freedom corresponding to seven arm segments. The base <NUM> may contain a source of power <NUM>, pneumatic pressure <NUM>, and control and sensor electronics <NUM>-including components such as a central processing unit, data bus, control circuitry, and memory-and related actuators such as motors to move the robotic arm <NUM>. The electronics <NUM> in the base <NUM> may also process and transmit control signals communicated from the command console.

In some embodiments, the base <NUM> includes wheels <NUM> to transport the surgical robotic system <NUM>. Mobility of the surgical robotic system <NUM> helps accommodate space constraints in a surgical operating room as well as facilitate appropriate positioning and movement of surgical equipment. Further, the mobility allows the robotic arms <NUM> to be configured such that the robotic arms <NUM> do not interfere with the patient, physician, anesthesiologist, or any other equipment. During procedures, a user may control the robotic arms <NUM> using control devices such as the command console.

In some embodiments, the robotic arm <NUM> includes set up joints that use a combination of brakes and counter-balances to maintain a position of the robotic arm <NUM>. The counter-balances may include gas springs or coil springs. The brakes, e.g., fail safe brakes, may be include mechanical and/or electrical components. Further, the robotic arms <NUM> may be gravity-assisted passive support type robotic arms.

Each robotic arm <NUM> may be coupled to an instrument device manipulator (IDM) <NUM> using a mechanism changer interface (MCI) <NUM>. The IDM <NUM> can be removed and replaced with a different type of IDM, for example, a first type of IDM manipulates an endoscope, while a second type of IDM manipulates a laparoscope. The MCI <NUM> includes connectors to transfer pneumatic pressure, electrical power, electrical signals, and optical signals from the robotic arm <NUM> to the IDM <NUM>. The MCI <NUM> can be a set screw or base plate connector. The IDM <NUM> manipulates surgical instruments such as the endoscope <NUM> using techniques including direct drive, harmonic drive, geared drives, belts and pulleys, magnetic drives, and the like. The MCI <NUM> is interchangeable based on the type of IDM <NUM> and can be customized for a certain type of surgical procedure. The robotic <NUM> arm can include a joint level torque sensing and a wrist at a distal end, such as the KUKA AG® LBR5 robotic arm. [<NUM>] The endoscope <NUM> is a tubular and flexible surgical instrument that is inserted into the anatomy of a patient to capture images of the anatomy (e.g., body tissue). In particular, the endoscope <NUM> includes one or more imaging devices (e.g., cameras or other types of optical sensors) that capture the images. The imaging devices may include one or more optical components such as an optical fiber, fiber array, or lens. The optical components move along with the tip of the endoscope <NUM> such that movement of the tip of the endoscope <NUM> results in changes to the images captured by the imaging devices. The endoscope <NUM> is further described with reference to <FIG> in Section IV.

Robotic arms <NUM> of the surgical robotic system <NUM> manipulate the endoscope <NUM> using elongate movement members. The elongate movement members may include pull wires, also referred to as pull or push wires, cables, fibers, or flexible shafts. For example, the robotic arms <NUM> actuate multiple pull wires coupled to the endoscope <NUM> to deflect the tip of the endoscope <NUM>. The pull wires may include both metallic and non-metallic materials such as stainless steel, Kevlar, tungsten, carbon fiber, and the like. The endoscope <NUM> may exhibit nonlinear behavior in response to forces applied by the elongate movement members. The nonlinear behavior may be based on stiffness and compressibility of the endoscope <NUM>, as well as variability in slack or stiffness between different elongate movement members.

<FIG> show various perspective views of the surgical robotic system <NUM> coupled to a robotic platform <NUM> (or surgical bed), according to various embodiments. Specifically, <FIG> shows a side view of the surgical robotic system <NUM> with the robotic arms <NUM> manipulating the endoscopic <NUM> to insert the endoscopic inside a patient's body, and the patient is lying on the robotic platform <NUM>. <FIG> shows a top view of the surgical robotic system <NUM> and the robotic platform <NUM>, and the endoscopic <NUM> manipulated by the robotic arms is inserted inside the patient's body. <FIG> shows a perspective view of the surgical robotic system <NUM> and the robotic platform <NUM>, and the endoscopic <NUM> is controlled to be positioned horizontally parallel with the robotic platform. <FIG> shows another perspective view of the surgical robotic system <NUM> and the robotic platform <NUM>, and the endoscopic <NUM> is controlled to be positioned relatively perpendicular to the robotic platform. In more detail, in <FIG>, the angle between the horizontal surface of the robotic platform <NUM> and the endoscopic <NUM> is <NUM> degree. <FIG> shows the perspective view of the surgical robotic system <NUM> and the robotic platform <NUM> shown in <FIG>, and in more detail, the angle between the endoscopic <NUM> and the virtual line <NUM> connecting one end <NUM> of the endoscopic and the robotic arm <NUM> that is positioned relatively farther away from the robotic platform is <NUM> degree.

<FIG> shows an example command console <NUM> for the example surgical robotic system <NUM>, according to one embodiment. The command console <NUM> includes a console base <NUM>, display modules <NUM>, e.g., monitors, and control modules, e.g., a keyboard <NUM> and joystick <NUM>. In some embodiments, one or more of the command console <NUM> functionality may be integrated into a base <NUM> of the surgical robotic system <NUM> or another system communicatively coupled to the surgical robotic system <NUM>. A user <NUM>, e.g., a physician, remotely controls the surgical robotic system <NUM> from an ergonomic position using the command console <NUM>.

The console base <NUM> may include a central processing unit, a memory unit, a data bus, and associated data communication ports that are responsible for interpreting and processing signals such as camera imagery and tracking sensor data, e.g., from the endoscope <NUM> shown in <FIG>. In some embodiments, both the console base <NUM> and the base <NUM> perform signal processing for load-balancing. The console base <NUM> may also process commands and instructions provided by the user <NUM> through the control modules <NUM> and <NUM>. In addition to the keyboard <NUM> and joystick <NUM> shown in <FIG>, the control modules may include other devices, for example, computer mice, trackpads, trackballs, control pads, video game controllers, and sensors (e.g., motion sensors or cameras) that capture hand gestures and finger gestures.

The user <NUM> can control a surgical instrument such as the endoscope <NUM> using the command console <NUM> in a velocity mode or position control mode. In velocity mode, the user <NUM> directly controls pitch and yaw motion of a distal end of the endoscope <NUM> based on direct manual control using the control modules. For example, movement on the joystick <NUM> may be mapped to yaw and pitch movement in the distal end of the endoscope <NUM>. The joystick <NUM> can provide haptic feedback to the user <NUM>. For example, the joystick <NUM> vibrates to indicate that the endoscope <NUM> cannot further translate or rotate in a certain direction. The command console <NUM> can also provide visual feedback (e.g., pop-up messages) and/or audio feedback (e.g., beeping) to indicate that the endoscope <NUM> has reached maximum translation or rotation.

In position control mode, the command console <NUM> uses a three-dimensional (3D) map of a patient and pre-determined computer models of the patient to control a surgical instrument, e.g., the endoscope <NUM>. The command console <NUM> provides control signals to robotic arms <NUM> of the surgical robotic system <NUM> to manipulate the endoscope <NUM> to a target location. Due to the reliance on the 3D map, position control mode requires accurate mapping of the anatomy of the patient.

In some embodiments, users <NUM> can manually manipulate robotic arms <NUM> of the surgical robotic system <NUM> without using the command console <NUM>. During setup in a surgical operating room, the users <NUM> may move the robotic arms <NUM>, endoscopes <NUM>, and other surgical equipment to access a patient. The surgical robotic system <NUM> may rely on force feedback and inertia control from the users <NUM> to determine appropriate configuration of the robotic arms <NUM> and equipment.

The display modules <NUM> may include electronic monitors, virtual reality viewing devices, e.g., goggles or glasses, and/or other means of display devices. In some embodiments, the display modules <NUM> are integrated with the control modules, for example, as a tablet device with a touchscreen. Further, the user <NUM> can both view data and input commands to the surgical robotic system <NUM> using the integrated display modules <NUM> and control modules.

The display modules <NUM> can display 3D images using a stereoscopic device, e.g., a visor or goggle. The 3D images provide an "endo view" (i.e., endoscopic view), which is a computer 3D model illustrating the anatomy of a patient. The "endo view" provides a virtual environment of the patient's interior and an expected location of an endoscope <NUM> inside the patient. A user <NUM> compares the "endo view" model to actual images captured by a camera to help mentally orient and confirm that the endoscope <NUM> is in the correct-or approximately correct-location within the patient. The "endo view" provides information about anatomical structures, e.g., the shape of an intestine or colon of the patient, around the distal end of the endoscope <NUM>. The display modules <NUM> can simultaneously display the 3D model and computerized tomography (CT) scans of the anatomy the around distal end of the endoscope <NUM>. Further, the display modules <NUM> may overlay the already determined navigation paths of the endoscope <NUM> on the 3D model and CT scans.

In some embodiments, a model of the endoscope <NUM> is displayed with the 3D models to help indicate a status of a surgical procedure. For example, the CT scans identify a lesion in the anatomy where a biopsy may be necessary. During operation, the display modules <NUM> may show a reference image captured by the endoscope <NUM> corresponding to the current location of the endoscope <NUM>. The display modules <NUM> may automatically display different views of the model of the endoscope <NUM> depending on user settings and a particular surgical procedure. For example, the display modules <NUM> show an overhead fluoroscopic view of the endoscope <NUM> during a navigation step as the endoscope <NUM> approaches an operative region of a patient.

<FIG> shows an isometric view of an example independent drive mechanism of the IDM <NUM> shown in <FIG>, according to one embodiment. The independent drive mechanism can tighten or loosen the pull wires <NUM>, <NUM>, <NUM>, and <NUM> (e.g., independently from each other) of an endoscope by rotating the output shafts <NUM>, <NUM>, <NUM>, and <NUM> of the IDM <NUM>, respectively. Just as the output shafts <NUM>, <NUM>, <NUM>, and <NUM> transfer force down pull wires <NUM>, <NUM>, <NUM>, and <NUM>, respectively, through angular motion, the pull wires <NUM>, <NUM>, <NUM>, and <NUM> transfer force back to the output shafts. The IDM <NUM> and/or the surgical robotic system <NUM> can measure the transferred force using a sensor, e.g., a strain gauge further described below.

<FIG> shows a conceptual diagram that shows how forces may be measured by a strain gauge <NUM> of the independent drive mechanism shown in <FIG>, according to one embodiment. A force <NUM> may direct away from the output shaft <NUM> coupled to the motor mount <NUM> of the motor <NUM>. Accordingly, the force <NUM> results in horizontal displacement of the motor mount <NUM>. Further, the strain gauge <NUM> horizontally coupled to the motor mount <NUM> experiences strain in the direction of the force <NUM>. The strain may be measured as a ratio of the horizontal displacement of the tip <NUM> of strain gauge <NUM> to the overall horizontal width <NUM> of the strain gauge <NUM>.

In some embodiments, the IDM <NUM> includes additional sensors, e.g., inclinometers or accelerometers, to determine an orientation of the IDM <NUM>. Based on measurements from the additional sensors and/or the strain gauge <NUM>, the surgical robotic system <NUM> can calibrate readings from the strain gauge <NUM> to account for gravitational load effects. For example, if the IDM <NUM> is oriented on a horizontal side of the IDM <NUM>, the weight of certain components of the IDM <NUM> may cause a strain on the motor mount <NUM>. Accordingly, without accounting for gravitational load effects, the strain gauge <NUM> may measure strain that did not result from strain on the output shafts.

<FIG> shows a top view of an example endoscope <NUM>, according to one embodiment. The endoscope <NUM> includes a leader <NUM> tubular component nested or partially nested inside and longitudinally-aligned with a sheath <NUM> tubular component. The sheath <NUM> includes a proximal sheath section <NUM> and distal sheath section <NUM>. The leader <NUM> has a smaller outer diameter than the sheath <NUM> and includes a proximal leader section <NUM> and distal leader section <NUM>. The sheath base <NUM> and the leader base <NUM> actuate the distal sheath section <NUM> and the distal leader section <NUM>, respectively, for example, based on control signals from a user of a surgical robotic system <NUM>. The sheath base <NUM> and the leader base <NUM> are, e.g., part of the IDM <NUM> shown in <FIG>.

Both the sheath base <NUM> and the leader base <NUM> include drive mechanisms (e.g., the independent drive mechanism further described with reference to <FIG> in Section III. Instrument Device Manipulator) to control pull wires coupled to the sheath <NUM> and leader <NUM>. For example, the sheath base <NUM> generates tensile loads on pull wires coupled to the sheath <NUM> to deflect the distal sheath section <NUM>. Similarly, the leader base <NUM> generates tensile loads on pull wires coupled to the leader <NUM> to deflect the distal leader section <NUM>. Both the sheath base <NUM> and leader base <NUM> may also include couplings for the routing of pneumatic pressure, electrical power, electrical signals, or optical signals from IDMs to the sheath <NUM> and leader <NUM>, respectively. A pull wire may include a steel coil pipe along the length of the pull wire within the sheath <NUM> or the leader <NUM>, which transfers axial compression back to the origin of the load, e.g., the sheath base <NUM> or the leader base <NUM>, respectively.

The endoscope <NUM> can navigate the anatomy of a patient with ease due to the multiple degrees of freedom provided by pull wires coupled to the sheath <NUM> and the leader <NUM>. For example, four or more pull wires may be used in either the sheath <NUM> and/or the leader <NUM>, providing eight or more degrees of freedom. In other embodiments, up to three pull wires may be used, providing up to six degrees of freedom. The sheath <NUM> and leader <NUM> may be rotated up to <NUM> degrees along a longitudinal axis <NUM>, providing more degrees of motion. The combination of rotational angles and multiple degrees of freedom provides a user of the surgical robotic system <NUM> with a user friendly and instinctive control of the endoscope <NUM>.

<FIG> illustrates an example endoscope tip <NUM> of the endoscope <NUM> shown in <FIG>, according to one embodiment. In <FIG>, the endoscope tip <NUM> includes an imaging device <NUM> (e.g., a camera), illumination sources <NUM>, and ends of EM coils <NUM>. The illumination sources <NUM> provide light to illuminate an interior portion of an anatomical space. The provided light allows the imaging device <NUM> to record images of that space, which can then be transmitted to a computer system such as command console <NUM> for processing as described herein. Electromagnetic coils <NUM> located on the tip <NUM> may be used with an electromagnetic tracking system to detect the position and orientation of the endoscope tip <NUM> while it is disposed within an anatomical system. In some embodiments, the coils may be angled to provide sensitivity to electromagnetic fields along different axes, giving the ability to measure a full <NUM> degrees of freedom: three positional and three angular. In other embodiments, only a single coil may be disposed within the endoscope tip <NUM>, with its axis oriented along the endoscope shaft of the endoscope <NUM>; due to the rotational symmetry of such a system, it is insensitive to roll about its axis, so only <NUM> degrees of freedom may be detected in such a case. The endoscope tip <NUM> further comprises a working channel <NUM> through which surgical instruments, such as biopsy needles, may be inserted along the endoscope shaft, allowing access to the area near the endoscope tip.

<FIG> shows an example schematic setup of an EM tracking system <NUM> included in a surgical robotic system <NUM>, according to one embodiment. In <FIG>, multiple robot components (e.g., window field generator, reference sensors as described below) are included in the EM tracking system <NUM>. The robotic surgical system <NUM> includes a surgical bed <NUM> to hold a patient's body. Beneath the bed <NUM> is the window field generator (WFG) <NUM> configured to sequentially activate a set of EM coils (e.g., the EM coils <NUM> shown in <FIG>). The WFG <NUM> generates an alternating current (AC) magnetic field over a wide volume; for example, in some cases it may create an AC field in a volume of about <NUM> x <NUM> x <NUM>.

Additional fields may be applied by further field generators to aid in tracking instruments within the body. For example, a planar field generator (PFG) may be attached to a system arm adjacent to the patient and oriented to provide an EM field at an angle. Reference sensors <NUM> may be placed on the patient's body to provide local EM fields to further increase tracking accuracy. Each of the reference sensors <NUM> may be attached by cables <NUM> to a command module <NUM>. The cables <NUM> are connected to the command module <NUM> through interface units <NUM> which handle communications with their respective devices as well as providing power. The interface unit <NUM> is coupled to a system control unit (SCU) <NUM> which acts as an overall interface controller for the various entities mentioned above. The SCU <NUM> also drives the field generators (e.g., WFG <NUM>), as well as collecting sensor data from the interface units <NUM>, from which it calculates the position and orientation of sensors within the body. The SCU <NUM> may be coupled to a personal computer (PC) <NUM> to allow user access and control.

The command module <NUM> is also connected to the various IDMs <NUM> coupled to the surgical robotic system <NUM> as described herein. The IDMs <NUM> are typically coupled to a single surgical robotic system (e.g., the surgical robotic system <NUM>) and are used to control and receive data from their respective connected robotic components; for example, robotic endoscope tools or robotic arms. As described above, as an example, the IDMs <NUM> are coupled to an endoscopic tool (not shown here) of the surgical robotic system <NUM>.

The command module <NUM> receives data passed from the endoscopic tool. The type of received data depends on the corresponding type of instrument attached. For example, example received data includes sensor data (e.g., image data, EM data), robot data (e.g., endoscopic and IDM physical motion data), control data, and/or video data. To better handle video data, a field-programmable gate array (FPGA) <NUM> may be configured to handle image processing. Comparing data obtained from the various sensors, devices, and field generators allows the SCU <NUM> to precisely track the movements of different components of the surgical robotic system <NUM>, and for example, positions and orientations of these components.

In order to track a sensor through the patient's anatomy, the EM tracking system <NUM> may require a process known as "registration," where the system finds the geometric transformation that aligns a single object between different coordinate systems. For instance, a specific anatomical site on a patient has two different representations in the 3D model coordinates and in the EM sensor coordinates. To be able to establish consistency and common language between these two different coordinate systems, the EM tracking system <NUM> needs to find the transformation that links these two representations, i.e., registration. For example, the position of the EM tracker relative to the position of the EM field generator may be mapped to a 3D coordinate system to isolate a location in a corresponding 3D model.

<FIG> show an example anatomical lumen <NUM> and an example 3D model <NUM> of the anatomical lumen, according to one embodiment. More specifically, <FIG> illustrate relationship of centerline coordinates, diameter measurements and anatomical spaces between the actual anatomical lumen <NUM> and its 3D model <NUM>. In <FIG>, the anatomical lumen <NUM> is roughly tracked longitudinally by centerline coordinates <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM> where each centerline coordinate roughly approximates the center of the tomographic slice of the lumen. The centerline coordinates are connected and visualized by a centerline <NUM>. The volume of the lumen can be further visualized by measuring the diameter of the lumen at each centerline coordinate, e.g., coordinates <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM> represent the measurements of the lumen <NUM> corresponding to coordinates <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM>.

<FIG> shows the example 3D model <NUM> of the anatomical lumen <NUM> shown in <FIG>, according to one embodiment. In <FIG>, the anatomical lumen <NUM> is visualized in 3D space by first locating the centerline coordinates <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM> in 3D space based on the centerline <NUM>. As one example, at each centerline coordinate, the lumen diameter is visualized as a 2D circular space (e.g., the 2D circular space <NUM>) with diameters <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM>. By connecting those 2D circular spaces to form a 3D space, the anatomical lumen <NUM> is approximated and visualized as the 3D model <NUM>. More accurate approximations may be determined by increasing the resolution of the centerline coordinates and measurements, i.e., increasing the density of centerline coordinates and measurements for a given lumen or subsection. Centerline coordinates may also include markers to indicate point of interest for the physician, including lesions.

In some embodiments, a pre-operative software package is also used to analyze and derive a navigation path based on the generated 3D model of the anatomical space. For example, the software package may derive a shortest navigation path to a single lesion (marked by a centerline coordinate) or to several lesions. This navigation path may be presented to the operator intra-operatively either in two-dimensions or three-dimensions depending on the operator's preference.

<FIG> shows a computer-generated 3D model <NUM> representing an anatomical space, according to one embodiment. As discussed above in <FIG>, the 3D model <NUM> may be generated using centerline <NUM> that was obtained by reviewing CT scans that were generated preoperatively. In some embodiments, computer software may be able to map the navigation path <NUM> within the tubular network to access an operative site <NUM> within the 3D model <NUM>. In some embodiments, the operative site <NUM> may be linked to an individual centerline coordinate <NUM>, which allows a computer algorithm to topologically search the centerline coordinates of the 3D model <NUM> for the optimum path <NUM> within the tubular network.

In some embodiments, the distal end of the endoscopic tool within the patient's anatomy is tracked, and the tracked location of the endoscopic tool within the patient's anatomy is mapped and placed within a computer model, which enhances the navigational capabilities of the tubular network. In order to track the distal working end of the endoscopic tool, i.e., location and orientation of the working end, a number of approaches may be employed, either individually or in combination.

In a sensor-based approach to localization, a sensor, such as an electromagnetic (EM) tracker, may be coupled to the distal working end of the endoscopic tool to provide a real-time indication of the progression of the endoscopic tool. In EM-based tracking, an EM tracker, embedded in the endoscopic tool, measures the variation in the electromagnetic field created by one or more EM transmitters. The transmitters (or field generators), may be placed close to the patient (e.g., as part of the surgical bed) to create a low intensity magnetic field. This induces small-currents in sensor coils in the EM tracker, which are correlated to the distance and angle between the sensor and the generator. The electrical signal may then be digitized by an interface unit (on-chip or PCB) and sent via cables/wiring back to the system cart and then to the command module. The data may then be processed to interpret the current data and calculate the precise location and orientation of the sensor relative to the transmitters. Multiple sensors may be used at different locations in the endoscopic tool, for instance in leader and sheath in order to calculate the individual positions of those components. Accordingly, based on readings from an artificially-generated EM field, the EM tracker may detect changes in field strength as it moves through the patient's anatomy.

<FIG> show example graphs <NUM>-<NUM> illustrating on-the-fly registration of an EM system to a 3D model of a path through a tubular network, according to one embodiment. The navigation configuration system described herein allows for on-the-fly registration of the EM coordinates to the 3D model coordinates without the need for independent registration prior to an endoscopic procedure. In more detail, <FIG> shows that the coordinate systems of the EM tracking system and the 3D model are initially not registered to each other, and the graph <NUM> in <FIG> shows the registered (or expected) location of an endoscope tip <NUM> moving along a planned navigation path <NUM> through a branched tubular network (not shown here), and the registered location of the instrument tip <NUM> as well as the planned path <NUM> are derived from the 3D model. The actual position of the tip is repeatedly measured by the EM tracking system <NUM>, resulting in multiple measured location data points <NUM> based on EM data. As shown in <FIG>, the data points <NUM> derived from EM tracking are initially located far from the registered location of the endoscope tip <NUM> expected from the 3D model, reflecting the lack of registration between the EM coordinates and the 3D model coordinates. There may be several reasons for this, for example, even if the endoscope tip is being moved relatively smoothly through the tubular network, there may still be some visible scatter in the EM measurement, due to breathing movement of the lungs of the patient.

The points on the 3D model may also be determined and adjusted based on correlation between the 3D model itself, image data received from optical sensors (e.g., cameras) and robot data from robot commands. The 3D transformation between these points and collected EM data points will determine the initial registration of the EM coordinate system to the 3D model coordinate system.

<FIG> shows a graph <NUM> at a later temporal stage compared with the graph <NUM>, according to one embodiment. More specifically, the graph <NUM> shows the expected location of the endoscope tip <NUM> expected from the 3D model has been moved farther along the preplanned navigation path <NUM>, as illustrated by the shift from the original expected position of the instrument tip <NUM> shown in <FIG> along the path to the position shown in <FIG>. During the EM tracking between generation of the graph <NUM> and generation of graph <NUM>, additional data points <NUM> have been recorded by the EM tracking system but the registration has not yet been updated based on the newly collected EM data. As a result, the data points <NUM> in <FIG> are clustered along a visible path <NUM>, but that path differs in location and orientation from the planned navigation path <NUM> the endoscope tip is being directed by the operator to travel along. Eventually, once sufficient data (e.g., EM data) is accumulated, compared with using only the 3D model or only the EM data, a relatively more accurate estimate can be derived from the transform needed to register the EM coordinates to those of the 3D model. The determination of sufficient data may be made by threshold criteria such as total data accumulated or number of changes of direction. For example, in a branched tubular network such as a bronchial tube network, it may be judged that sufficient data have been accumulated after arriving at two branch points.

<FIG> shows a graph <NUM> shortly after the navigation configuration system has accumulated a sufficient amount of data to estimate the registration transform from EM to 3D model coordinates, according to one embodiment. The data points <NUM> in <FIG> have now shifted from their previous position as shown in <FIG> as a result of the registration transform. As shown in <FIG>, the data points <NUM> derived from EM data is now falling along the planned navigation path <NUM> derived from the 3D model, and each data point among the data points <NUM> is now reflecting a measurement of the expected position of endoscope tip <NUM> in the coordinate system of the 3D model. In some embodiments, as further data are collected, the registration transform may be updated to increase accuracy. In some cases, the data used to determine the registration transformation may be a subset of data chosen by a moving window, so that the registration may change over time, which gives the ability to account for changes in the relative coordinates of the EM and 3D models-for example, due to movement of the patient.

<FIG> shows an example graph <NUM> in which the expected location of the endoscope tip <NUM> has reached the end of the planned navigation path <NUM>, arriving at the target location in the tubular network, according to one embodiment. As shown in <FIG>, the recorded EM data points <NUM> is now generally tracks along the planned navigation path <NUM>, which represents the tracking of the endoscope tip throughout the procedure. Each data point reflects a transformed location due to the updated registration of the EM tracking system to the 3D model.

In some embodiments, each of the graphs shown in <FIG> can be shown sequentially on a display visible to a user as the endoscope tip is advanced in the tubular network. In some embodiments, the processor can be configured with instructions from the navigation configuration system such that the model shown on the display remains substantially fixed when the measured data points are registered to the display by shifting of the measured path shown on the display in order to allow the user to maintain a fixed frame of reference and to remain visually oriented on the model and on the planned path shown on the display.

<FIG> show effect of an example registration of the EM system to a 3D model of a branched tubular network, according to one embodiment. In <FIG>, 3D graphs showing electromagnetic tracking data <NUM> and a model of a patient's bronchial system <NUM> are illustrated without (shown in <FIG>) and with (shown in <FIG>) a registration transform. In <FIG>, without registration, tracking data <NUM> have a shape that corresponds to a path through the bronchial system <NUM>, but that shape is subjected to an arbitrary offset and rotation. In <FIG>, by applying the registration, the tracking data <NUM> are shifted and rotated, so that they correspond to a path through the bronchial system <NUM>.

In terms of detailed analysis (e.g., mathematical analysis) and methods of the registration, in some embodiments, a registration matrix can be used to perform the registration between the EM tracking system and the 3D model, and as one example, the matrix may represent a translation and rotation in <NUM> dimensions. In alternative embodiments, a rotational matrix and a translation vector can be used for performing the registration. <MAT> <MAT> <MAT>.

From a perspective view of mathematical reasoning, as one example, applying a registration transform involves a shift from one coordinate system (x,y,z) to a new coordinate system (x',y',z') that may in general have its axes rotated to a different 3D orientation as well as having its origin shifted an arbitrary amount in each dimension. For example, a rotation to an azimuthal angle of radians θ may be expressed by the matrix M<NUM>, a rotation to an inclination angle of φ radians may be expressed by the matrix M<NUM> etc., and further rotational matrices may be written as the product of rotation matrices. Similarly, a translation vector of (Δx Δy Δz) may be chosen to represent a translation of the origin in the x, y and z axes by Δx, Δy, and Δz respectively.

The registration transform may be determined by such methods as singular value decomposition on a cross correlation matrix between measured EM positions and estimated positions in the 3D model. The transformation matrix components may then be extracted from the decomposition, e.g., by identifying the appropriate principle components. An error signal may also be generated from the residuals of the determined transform, and the size of the error signal may be used to determine a level of confidence in the position. As further data are taken and the registration transform is determined more accurately, this error signal may decrease, indicating an increasing confidence in positions estimated in this manner.

<FIG> show example block diagrams of a navigation configuration system <NUM>, according to one embodiment. More specifically, <FIG> shows a high-level overview of an example block diagram of the navigation configuration system <NUM>, according to one embodiment. In <FIG>, the navigation configuration system <NUM> includes multiple input data stores, a navigation module <NUM> that receives various types of input data from the multiple input data stores, and an output navigation data store <NUM> that receives output navigation data from the navigation module. The block diagram of the navigation configuration system <NUM> shown in <FIG> is merely one example, and in alternative embodiments not shown, the navigation configuration system <NUM> can include different and/or addition entities. Likewise, functions performed by various entities of the system <NUM> may differ according to different embodiments.

The input data, as used herein, refers to raw data gathered from and/or processed by input devices (e.g., command module, optical sensor, EM sensor, IDM) for generating estimated state information for the endoscope as well as output navigation data. The multiple input data stores <NUM>-<NUM> include an image data store <NUM>, an EM data store <NUM>, a robot data store <NUM>, and a 3D model data store <NUM>. Each type of the input data stores stores the name-indicated type of data for access and use by the navigation module <NUM>. Image data may include one or more image frames captured by the imaging device at the instrument tip, as well as information such as frame rates or timestamps that allow a determination of the time elapsed between pairs of frames. Robot data includes data related to physical movement of the medical instrument or part of the medical instrument (e.g., the instrument tip or sheath) within the tubular network. Example robot data includes command data instructing the instrument tip to reach a specific anatomical site and/or change its orientation (e.g., with a specific pitch, roll, yaw, insertion, and retraction for one or both of a leader and a sheath) within the tubular network, insertion data representing insertion movement of the part of the medical instrument (e.g., the instrument tip or sheath), IDM data, and mechanical data representing mechanical movement of an elongate member of the medical instrument, for example motion of one or more pull wires, tendons or shafts of the endoscope that drive the actual movement of the medial instrument within the tubular network. EM data is collected by EM sensors and/or the EM tracking system as described above. 3D model data is derived from 2D CT scans as described above.

The output navigation data store <NUM> receives and stores output navigation data provided by the navigation module <NUM>. Output navigation data indicates information to assist in directing the medical instrument through the tubular network to arrive at a particular destination within the tubular network, and is based on estimated state information for the medical instrument at each instant time, the estimated state information including the location and orientation of the medical instrument within the tubular network. In one embodiment, as the medical instrument moves inside the tubular network, the output navigation data indicating updates of movement and location/orientation information of the medical instrument is provided in real time, which better assists its navigation through the tubular network.

To determine the output navigation data, the navigation module <NUM> locates (or determines) the estimated state of the medical instrument within a tubular network. As shown in <FIG>, the navigation module <NUM> further includes various algorithm modules, such as an EM-based algorithm module <NUM>, an image-based algorithm module <NUM>, and a robot-based algorithm module <NUM>, that each may consume mainly certain types of input data and contribute a different type of data to a state estimator <NUM>. As illustrated in <FIG>, the different kinds of data output by these modules, labeled EM-based data, the image-based data, and the robot-based data, may be generally referred to as "intermediate data" for sake of explanation. The detailed composition of each algorithm module and of the state estimator <NUM> is more fully described in <FIG> below.

<FIG> shows an example block diagram of the navigation module <NUM> shown in <FIG>, according to one embodiment. As introduced above, the navigation module <NUM> further includes a state estimator <NUM> as well as multiple algorithm modules that employ different algorithms for navigating through a tubular network. For clarity of description, the state estimator <NUM> is described first, followed by the description of the various modules that exchange data with the state estimator <NUM>.

The state estimator <NUM> included in the navigation module <NUM> receives various intermediate data and provides the estimated state of the instrument tip as a function of time, where the estimated state indicates the estimated location and orientation information of the instrument tip within the tubular network. The estimated state data are stored in the estimated data store <NUM> that is included in the state estimator <NUM>.

<FIG> shows an example block diagram of the estimated state data store <NUM> included in the state estimator <NUM>, according to one embodiment. The estimated state data store <NUM> may include a bifurcation data store <NUM>, a position data store <NUM>, a depth data store <NUM>, and an orientation data store <NUM>, however this particular breakdown of data storage is merely one example, and in alternative embodiments not shown, different and/or additional data stores can be included in the estimated state data store <NUM>.

The various stores introduced above represent estimated state data in a variety of ways. Specifically, bifurcation data refers to the location of the medical instrument with respect to the set of branches (e.g., bifurcation, trifurcation or a division into more than three branches) within the tubular network. For example, the bifurcation data can be set of branch choices elected by the instrument as it traverses through the tubular network, based on a larger set of available branches as provided, for example, by the 3D model which maps the entirety of the tubular network. The bifurcation data can further include information in front of the location of the instrument tip, such as branches (bifurcations) that the instrument tip is near but has not yet traversed through, but which may have been detected, for example, based on the tip's current position information relative to the 3D model, or based on images captured of the upcoming bifurcations.

Position data indicates three-dimensional position of some part of the medical instrument within the tubular network or some part of the tubular network itself. Position data can be in the form of absolute locations or relative locations relative to, for example, the 3D model of the tubular network. As one example, position data can include the position of a specific branch.

Depth data indicates depth information of the instrument tip within the tubular network. Example depth data includes the total insertion (absolute) depth of the medical instrument into the patient as well as the (relative) depth within an identified branch. Depth data may be determined based on position data regarding both the tubular network and medical instrument.

Orientation data indicates orientation information of the instrument tip, and may include overall roll, pitch, and yaw in relation to the 3D model as well as pitch, roll, raw within an identified branch.

Turning back to <FIG>, the state estimator <NUM> provides the estimated state data back to the algorithm modules for generating more accurate intermediate data, which the state estimator uses to generate improved and/or updated estimated states, and so on forming a feedback loop. For example, as shown in <FIG>, the EM-based algorithm module <NUM> recieves prior EM-based estimated state data (not shown in <FIG>), also referred to as data associated with timestamp "t-<NUM>. " The state estimator <NUM> uses this data to generate "estimated state data (prior)" that is associated with timestamp "t-<NUM>," It then provides the data back to the EM-based algorithm module. The "estimated state data (prior)" may be based on a combination of different types of intermediate data (e.g., robotic data, image data) that is associated with timestamp "t-<NUM>" as generated and received from different algorithm modules. Next, the EM- based algorithm module <NUM> runs its algorithms using the estimated state data (prior) to output to the state estimator <NUM> improved and updated EM-based estimated state data, which is represented by "EM-based estimated state data (current )" here and associated with timestamp t. This process continues to repeat for future timestamps as well.

As the state estimator <NUM> may use several different kinds of intermediate data to arrive at its estimates of the state of the medical instrument within the tubular network, the state estimator <NUM> is configured to account for the various different kinds of errors and uncertainty in both measurement and analysis that each type of underlying data (robotic, EM, image) and each type of algorithm module might create or carry through into the intermediate data used for consideration in determining the estimated state. To address these, two concepts are discussed, that of a probability distribution and that of confidence value.

The "probability" of the "probability distribution", as used herein, refers to a likelihood of an estimation of a possible location and/or orientation of the medical instrument being correct. For example, different probabilities may be calculated by one of the algorithm modules indicating the relative likelihood that the medical instrument is in one of several different possible branches within the tubular network. In one embodiment, the type of probability distribution (e.g., discrete distribution or continuous distribution) is chosen to match features of an estimated state (e.g., type of the estimated state, for example continuous position information vs. discrete branch choice). As one example, estimated states for identifying which segment the medical instrument is in for a trifurcation may be represented by a discrete probability distribution, and may include three discrete values of <NUM>%, <NUM>% and <NUM>% representing chance as being in the location inside each of the three branches as determined by one of the algorithm modules. As another example, the estimated state may include a roll angle of the medical instrument of <NUM> ± <NUM> degrees and a segment depth of the instrument tip within a branch may be is <NUM> ± <NUM>, each represented by a Gaussian distribution which is a type of continuous probability distribution. Different methods can be used to generate the probabilities, which will vary by algorithm module as more fully described below with reference to later figures.

In contrast, the "confidence value," as used herein, reflects a measure of confidence in the estimation of the state provided by one of the algorithms based one or more factors. For the EM-based algorithms, factors such as distortion to EM Field, inaccuracy in EM registration, shift or movement of the patient, and respiration of the patient may affect the confidence in estimation of the state. Particularly, the confidence value in estimation of the state provided by the EM-based algorithms may depend on the particular respiration cycle of the patient, movement of the patient or the EM field generators, and the location within the anatomy where the instrument tip locates. For the image-based algorithms, examples factors that may affect the confidence value in estimation of the state include illumination condition for the location within the anatomy where the images are captured, presence of fluid, tissue, or other obstructions against or in front of the optical sensor capturing the images, respiration of the patient, condition of the tubular network of the patient itself (e.g., lung) such as the general fluid inside the tubular network and occlusion of the tubular network, and specific operating techniques used in, e.g., navigating or image capturing.

For example one factor may be that a particular algorithm has differing levels of accuracy at different depths in a patient's lungs, such that relatively close to the airway opening, a particular algorithm may have a high confidence in its estimations of medical instrument location and orientation, but the further into the bottom of the lung the medical instrument travels that confidence value may drop. Generally, the confidence value is based on one or more systemic factors relating to the process by which a result is determined, whereas probability is a relative measure that arises when trying to determine the correct result from multiple possibilities with a single algorithm based on underlying data.

As one example, a mathematical equation for calculating results of an estimated state represented by a discrete probability distribution (e.g., branch/segment identification for a trifurcation with three values of an estimated state involved) can be as follows: <MAT> <MAT> <MAT>.

In the example mathematical equation above, Si(i = <NUM>, <NUM>, <NUM>) represents possible example values of an estimated state in a case where <NUM> possible segments are identified or present in the 3D model, CEM, CImage, and CRobot represents confidence value corresponding to EM-based algorithm, image-based algorithm, and robot-based algorithm and Pi,EM, Pi,Image, and Pi,Robot represent the probabilities for segment i.

To better illustrate the concepts of probability distributions and confidence value associated with estimate states, a detailed example is provided here. In this example, a user is trying to identify segment where a instrument tip is located in a certain trifurcation within a central airway (the predicted region) of the tubular network, and three algorithms modules are used including EM-based algorithm, image-based algorithm, and robot-based algorithm. In this example, a probability distribution corresponding to the EM-based algorithm may be <NUM>% in the first branch, <NUM>% in the second branch, and <NUM>% in the third (last) branch, and the confidence value applied to this EM-based algorithm and the central airway is <NUM>%. For the same example, a probability distribution corresponding to the image-based algorithm may be <NUM>%, <NUM>%, <NUM>% for the first, second, and third branch, and the confidence value applied to this image-based algorithm is <NUM>%; while a probability distribution corresponding to the robot-based algorithm may be <NUM>%, <NUM>%, <NUM>% for the first, second, and third branch, and the confidence value applied to this image-based algorithm is <NUM>%. The difference of confidence values applied to the EM-based algorithm and the image-based algorithm indicates that the EM-based algorithm may be a better choice for segment identification in the central airway, compared with the image-based algorithm. An example mathematical calculation of a final estimated state can be:.

for the first branch: <NUM>%*<NUM>% + <NUM>%*<NUM>% + <NUM>%*<NUM>% = <NUM>%; for the second branch: <NUM>%*<NUM>% + <NUM>%*<NUM>% + <NUM>%*<NUM>% = <NUM>%; and for the third branch: <NUM>%*<NUM>% + <NUM>%*<NUM>% + <NUM>%*<NUM>% = <NUM>%.

In this example, the output estimated state for the instrument tip can be the result values (e.g., the resulting <NUM>%, <NUM>% and <NUM>%), or derivative value from these result values such as the determination that the instrument tip is in the third branch.

As above the estimated state may be represented in a number of different ways. For example, the estimated state may further include an absolute depth from airway to location of the tip of the instrument, as well as a set of data representing the set of branches traversed by the instrument within the tubular network, the set being a subset of the entire set of branches provided by the 3D model of the patient's lungs, for example. The application of probability distribution and confidence value on estimated states allows improved accuracy of estimation of location and/or orientation of the instrument itp within the tubular network.

A shown in <FIG>, the algorithm modules include an EM-based algorithm module <NUM>, an image-based algorithm module <NUM>, and a robot-based algorithm module <NUM>. The algorithm modules shown in <FIG> is merely one example, and in alternative embodiments, different and/additional algorithm modules involving different and/or additional navigation algorithms can also be included in the navigation module <NUM>.

The EM-based algorithm module <NUM> further includes an EM registration module <NUM> and a branch selection module <NUM>. The EM registration module <NUM> performs registration of EM coordinates to 3D model coordinates. <FIG> shows an example block diagram of the EM registration module <NUM>, according to one embodiment. The EM registration module <NUM> receives as input, estimated state data (prior) (e.g., bifurcation data) from the estimated state data store <NUM>, the EM data from the EM data store <NUM>, the 3D model data from the 3D model data store <NUM>.

As described above with respect to Section V, based on the received data, the EM registration module <NUM> performs on-the-fly registration of the EM tracking data to the 3D model. After the initial registration is determined, the EM registration module <NUM> continually updates its estimate of the registration transform based on received data, so as to increase transform accuracy as well as to compensate for changes to the navigation configuration system <NUM>, e.g., changes due to movement of the patient. The EM registration module <NUM> outputs registration transform data to the registration transform data store <NUM>. In one embodiment, the registration transform data reflects the best fit registration transform, and it can also be sent to the state estimator <NUM>, as well as to the branch selection module <NUM>.

<FIG> shows an example block diagram of the branch selection module <NUM>, according to one embodiment. The branch selection module <NUM> receives as inputs, estimated state data (prior) (e.g., bifurcation data) from the estimated state data store <NUM>, the EM data from the EM data store <NUM>, registration transform data from the registration transform data store <NUM>, as well as 3D model data from the 3D model data store <NUM>. Based on the received data, the branch selection module <NUM> determines an estimate of the position and orientation of the endoscope tip relative to the 3D model of the tubular network and provides EM-based estimated state data (current) to the state estimator <NUM>. As an example, the EM-based estimated state data may be represented as a probability distribution (e.g., a discrete distribution of <NUM>%, <NUM>% and <NUM>% for three segments of a trifurcation, as described above. ) Additionally, when at a bifurcation as indicated by the received bifurcation data, the branch selection module <NUM> may compare the pitch and yaw of the tip to the angles of each branch in the 3D model to estimate which branch has been selected by the user for traversal. The branch selection module <NUM> outputs the EM-based estimated state data (current) to the estimated data store <NUM>.

Turning back to <FIG>, the image-based algorithm module <NUM> uses image data to determine the estimated state of the instrument within the tubular network. The image-based algorithm module <NUM> further includes one or more different types of image-based algorithm modules that employ different image-based algorithms. As shown in <FIG>, one example including an object-based algorithm module <NUM> is shown. In alternative embodiments not shown, other types of image-based algorithms may be employed and corresponding algorithm modules may be included in the image-based algorithm module <NUM>.

The object-based algorithm module <NUM> detects and analyzes objects present in the field of view of the image data, such as branch openings or particles, to determine estimated state. In one embodiment, it includes an object detection module <NUM>, and object mapping module <NUM>, a topological reasoning module <NUM>, and a motion estimation module <NUM>. In some embodiments, it may or may not be necessary to apply the different modules <NUM>, <NUM>, <NUM> and <NUM> in a fixed sequential order, and when actually executing a process of object-based algorithm described by the object-based algorithm module <NUM>, the order of employing each module within the module <NUM> is a different order than shown in <FIG>.

Turning to <FIG>, the motion estimation module <NUM> receives as inputs image data from the image data store <NUM>, estimated state data (prior) (specifically bifurcation data), from the estimated state data store 985as well as the 3D model data from the 3D model data store <NUM>. Based on the received image data, the motion estimation module <NUM> measures a movement of the medical instrument between multiple image frames based on the received image data. Example techniques used include optical flow and image registration techniques, among others. This measurement determines a differential movement, such as forward-backward motion or roll motion, of the instrument tip in its own local frame of reference. This movement can be combined with the prior estimated state input to calculate a new estimated state. In particular, a forward (or backward) movement can translate into an increase (or decrease) in depth relative to a prior estimated state. Similarly, a differential roll translates into a change in roll angle relative to a prior estimated state. These measurements allow an estimation of movement through the tubular network. As above, these estimations may be represented as a probability distribution (e.g., a roll angle of the medical instrument of <NUM> ± <NUM> degrees represented by a Gaussian distribution). The output estimated state is stored in the estimated state data store <NUM>.

In one embodiment, in a case where the estimated state and bifurcation data for a particular instant in time indicate that the instrument tip is at or near a branch point, this movement measurement may include an identification of an estimated new branch that the instrument tip is estimated to be entering or have entered. For example, if the bifurcation data indicates that the endoscope tip is at a branch point, pitch and yaw movements can be measured to determine changes in pointing angle, and the new estimated angle can be compared with the expected angles of different branches in the 3D model of the tubular network. A determination can then be made of which branch the endoscope is facing towards when it is moved into a new branch. Estimated state data reflecting each of these estimates of new position, orientation, and/or branch entry are output to the state estimator <NUM>.

<FIG> shows an example block diagram of the object detection module <NUM>, according to one example. The object detection module <NUM> receives as inputs image data (e.g., image frames), and outputs object data to an object data store <NUM> as well as estimated state data to the estimated state data store <NUM>. Object data indicates information about what objects were identified, as well as positions, orientations, and sizes of objects represented as probabilities.

Specifically, the object detection module <NUM> detects, within an image, one or more objects and one or more features of the object(s) that may indicate branch points in a tubular network, and then determines their position, size, and orientation. Objects may be calculated or represented in the object detection module <NUM> as being two-dimensional shapes, such as circles/ovals/ellipses for detected branch points. This corresponds to the fact that the image data used to capture the objects are images from the camera on the instrument tip pointed usually along an axis substantially parallel to the direction of the segment in which the instrument is located. As a consequence, objects such as branches in the tubular network appear as simple shapes such as ellipses in the images. In one embodiment, in a given image within a tubular network, each branch will typically appear as a dark, approximately elliptical region, and these regions may be detected automatically by a processor, using region-detection algorithms such as maximally stable extremal regions (MSER) as objects. These regions may then be fit to define an object (e.g., ellipse), with appropriate free parameters such as ellipse center, major and minor axes, and angle within the image. The roll measurement and the identified matching between model lumens and lumens in the image are also output to the state estimator <NUM>, as well as topological reasoning module <NUM>. An example of identified objects superimposed on an image of a bronchial network, along with a link joining their centers, is described with reference to <FIG>.

In one embodiment, "airway" can also be identified as an object present in the image data. The object detection module <NUM> may use light reflective intensity combined with other techniques to identify airways.

The object detection module <NUM> may further track detected objects across a set of sequential image frames to detect which branch has been entered from among a set of possible branches in the tubular network. Tracking the relative positions of the objects within the image frames may be used to determine a local, absolute measurement of roll angle within a branched network.

<FIG> shows an example block diagram of the object mapping module <NUM>, according to one embodiment. The object mapping module <NUM> receives as inputs 3D model data from the 3D model data store <NUM>, object data (e.g., detected objects such as shapes representing possible branches in the tubular network) from the object data store <NUM>, and estimated state data (prior) from the estimated state data store <NUM>.

Based on the received input data, the object mapping module <NUM> outputs object mapping data to an object mapping data store <NUM> as well as image-based estimated state data (current) to the estimated state data store <NUM>. As one example, the object mapping data indicates mapping information between physical branches (lumens) shown in image data (based on the detected objects) and virtual branch information generated by 3D model. The estimated state data (current) generated by module <NUM> includes identification of each branch of the tubular network visible within the image as well as an estimate of the roll of the endoscope tip relative to the 3D model. As above, the estimated state data (current) can be represented as a probability distribution. The identification of the visible lumens may include coordinates in x and y of each identified lumen center within the image, for example based on object sizes correlated with the 3D model virtual image data, as well as an association of each identified lumen location with a particular branch of the tubular network.

In some embodiments, since the 3D model is generated prior to the endoscopic procedure, the virtual images of the tubular network may be pre-computed to speed up processing. In alternative embodiments not shown, the tubular network may be represented by a structure such as a tree diagram of lumen midlines, with each such midline describing a 3D path, so that an expected position of local branch centers as seen from any arbitrary perspective may be compared to the identified actual locations of branch centers based on EM data and/or robot data.

<FIG>, show an example object-to-lumen mapping performed by the object mapping module <NUM>, according to one embodiment. More specifically, <FIG> shows two example identified objects <NUM> and <NUM> superimposed on an image of a bronchial network <NUM> along with a link <NUM> connecting centers of the two objects, according to one embodiment. In the illustrated example, the identified objects <NUM> and <NUM> are ellipse-shaped.

<FIG> shows a matching between airway lumens in an actual image <NUM> of a real bronchial network and a corresponding virtual image <NUM> from a 3D model of that same network, according to on embodiment. In the actual image <NUM>, ellipses are identified corresponding to two different branches, located with identified centers <NUM> and <NUM>, which, in one embodiment, indicates centerline coordinates of the branches as described above in <FIG>. The 3D model virtual image <NUM> is a simulated representation of the real bronchial network shown in the actual image <NUM>, and the estimated centers <NUM> and <NUM> of the endoscope tip as determined by the state estimator <NUM> are shown corresponding to the positions of the identified centers <NUM> and <NUM>.

If both images <NUM> and <NUM> are presented to a user via a user interface, the 3D model image <NUM> may be rotated or translated to increase the closeness of fit between actual image <NUM> and virtual image <NUM>, and the amount of roll needed for the rotation or translation can be output as a correction to the current estimated state (e.g., roll of the instrument tip).

In one embodiment, the probability applied to a possible estimated state as generated by the object mapping module <NUM> is based on the closeness of fit between the identified centers <NUM> and <NUM> detected in the actual image <NUM> and estimated centers <NUM> and <NUM> in the 3D model image <NUM>, and as one example, the probability of being in the lumen with identified center <NUM> drops as the distance between the estimated center <NUM> and identified center <NUM> increases.

<FIG> shows an example block diagram of the topological reasoning module <NUM>, according to one embodiment. The topological reasoning module <NUM> receives as input image data from the 3D model data from the 3D model data store <NUM>, object mapping data from the object mapping data store <NUM>, and estimated state data (prior) from the estimated state data store <NUM>.

Based on the received data, the topological reasoning module <NUM> determines which branch the endoscope tip is facing towards, thereby generating a prediction of which branch will be entered if the endoscope is moved forward. As above, the determination may be represented as a probability distribution. In one embodiment, when the instrument tip is moving forward, the topological reasoning module <NUM> determines that a new branch of the tubular network has been entered and identifies which branch the tip has moved into. The determination of which branch is being faced and which segment is entered may be made, for example, by comparing the relative sizes and locations of different identified objects (e.g., ellipses). As one example, as a particular lumen branch is entered, a corresponding detected object will grow larger in successive image frames, and will also become more centered in those frames. If this is behavior is identified for one of the objects, the topological reasoning module <NUM> assigns an increasingly large probability to a corresponding estimated state as the endoscope tip moves towards the lumen associated with that object. Other branches are assigned correspondingly lower probabilities, until finally their object shapes disappear from images entirely. In one embodiment, the probability of the medical instrument being in those branches depends only on the probability that the branches were misidentified by the object mapping module <NUM>. The output of the topological reasoning module <NUM> is image-based estimated state data representing estimated probabilities of being in each of a set of possible branches within the branched network.

The robot-based algorithm module <NUM> uses robot data to provide robot-based estimated state data to the state estimator <NUM>. <FIG> illustrates that the robot-based algorithm module <NUM> receives estimated state data (prior) and provides estimated state data (current) to state estimator <NUM>. Robot data includes data related to physical movement of the medical instrument or part of the medical instrument (e.g., the instrument tip) within the tubular network. Example robot data includes command data instructing the instrument tip to reach a specific anatomical site and/or change its orientation (e.g., with a specific pitch, roll, yaw, insertion, and retraction for one or both of a leader and a sheath) within the tubular network, insertion data representing insertion movement of the part of the medical instrument (e.g., the instrument tip or sheath), IDM data, and mechanical data representing mechanical movement of an elongate member of the medical instrument , for example motion of one or more pull wires, tendons or shafts of the endoscope that drive the actual movement of the medical instrument within the tubular network.

Although in an ideal system, specifically input pitch, roll, yaw, insertion, and retraction commands given to the IDM to control the instrument tip would result in exactly-as-input changes in the motion of the instrument tip, in practice this is generally not the case. Friction in the system, nonlinearities in instrument motion, blockages, and other effects may cause the input motion to vary from the output motion. As such, the estimated state data provided by the raw robotic input data is just that, an estimate as to actual motion. As per the algorithms above, the estimated state data determined from the robotic data may be represented in a probabilistic manner to represent this uncertainty in actual position information.

<FIG> shows an example process of generating a probability distribution over multiple values to determine an estimated state as may be performed by any of the individual algorithm modules described above, according to one embodiment. For sake of example, this process is described with respect to the estimated state module <NUM>, but in practice may be used by any algorithm module.

In <FIG>, a process of a Bayesian estimation method is shown, and in alternative embodiments not shown, other methods of generating a probability distribution can also be employed. As shown in <FIG>, the state estimator <NUM> first determines <NUM> a prior probability distribution for the estimated state. As this stage, this probability distribution may be an initialized value distribution based, for example, on user input identifying a starting point near an entry point to a branched network. Subsequently, the distribution is determined from its previous output state estimate, adjusted based on the robotic, image, or EM input data.

For example, if the surgical robotic system <NUM> commands to move the endoscope tip forward a certain distance, e.g., <NUM>, the new or updated probability distribution may be estimated as centered <NUM> forward compared to the previous probability distribution. More generally, if a robot command is expected to change a variable x by a certain amount, represented by an expected distribution of value changes Q(Ax), the new estimated distribution P' (x) may be expressed as a convolution of the previous distribution P(x) with Q(Ax). This new estimated state is treated as a prior probability estimate of the variable for the subsequent steps.

In the next step <NUM>, the state estimator <NUM> receives an estimated value distribution for the estimated state based on one or more algorithm modules. This value distribution may be represented in various ways, such as an expected value and an error range, or as an explicit distribution function over values, for example. In any case, the value distribution contains, implicitly or explicitly, an expected value of the variable and some estimate of a range of error. In some cases, only the expected value is transmitted and the error range is determined by the state estimator <NUM>, using a record of past performance or pre-calibrated values of reliability. In one embodiment, when using an expected value and an error range, the state estimator <NUM> may treat the estimated value distribution as a normal distribution with a mean at the expected value and a standard deviation determined by the error range. In the case of a discrete variable or discrete state like branch identification, the estimated value distribution will typically comprise one or more probability values assigned to each of one or more branches, such that the total probability sums to one (or <NUM>%). In some cases, some branches may not be assigned with explicit probabilities, and the total probability may be less than <NUM>, in which case the remaining probability can be treated as being uniformly distributed over all other branches.

In step <NUM>, the state estimator <NUM> generates a posterior probability distribution based on the received estimated value distribution from step <NUM> and the determined prior probability distribution from step <NUM>. As one example, this posterior probability distribution is calculated as an application of Bayes' Theorem, which states that for an observation A, the posterior probability P(x|A) of a variable having value x is given by the equation <MAT>, where P(x|A) is the probability of observing A given that x is true, P(x) is the prior probability of x being true, and P(A) is the prior probability of observing A, whether x is true or false.

The state estimator <NUM> determines each of the quantities P(x), P(A), and P(A|x) from the inputs generated during steps <NUM> and <NUM>, as well as from a basic model of the set of possible observations. For example, P(A), representing the prior probability of x, may simply be read from the value determined in step <NUM>. Likewise, P(A|x) may be read from the function determined in step <NUM>. P(A), may be set as a constant representing the number of possible values of A. For example, when estimating a discrete probability distribution for what branch an endoscope tip is in encountering a division into a certain number (e.g., <NUM>) of branches, the probability, P(A), of observing the tip to be in any given branch, may be set as <NUM>/<NUM>. Alternatively, a model may be implemented to weight the possible observations A variably, for example, where branch sizes vary, P(A) may be set proportional to the size of branch A divided by the sum of all branch sizes, representing the idea that a randomly-placed tip is more likely to be found in a large branch than a small one. For continuous distributions, such as roll angle, depth, or orientation, P(A) will be a probability density function over all possible observations A. For example, if roll angle ranges from <NUM> to 2π radians, P(A) may be set to l/(2π) for all values of A to represent an equally likely probability density of any roll angle being observed. More generally, given P(x) as an estimate for the probability of x, P(A) will be given by the formula P(A) = P(A|x)P(x) + P(A|~x)P(~x), where ~x means "not-x.

In one embodiment, the result of step <NUM> is a new probability distribution for values of the variable/state. In one embodiment, when each of multiple independent measurements relates to a given variable, the multiple independent measurements may be adjusted sequentially by taking the output of step <NUM> as an input to step <NUM>, and using each new measurement as the estimated value distribution of step <NUM>. This generates a loop <NUM> over measurements. Alternatively, step <NUM> may incorporate a plurality of independent estimated value distribution which may be combined into a single updated estimate in step <NUM>, using Bayesian conditional updating on multiple measurements.

For example, if differential movement is being measured, the motion estimation module <NUM> may employ method <NUM> with a process of taking the prior probability distribution of step <NUM> as over an amount of movement (for example, an expected range of movement based on robot data), receiving an estimated value distribution in step <NUM> over differential movement measurements, and generating a posterior probability distribution in step <NUM> to estimate actual values of movement. This output may then be convolved with a prior estimated variable values (from a prior estimated state) to generate a posterior probability distribution for multiple values of the state. In some embodiments, once all measurements have been incorporated into an updated probability distribution, this new probability distribution is reported out in step <NUM>. The process <NUM> may be applied in parallel to generate new probability distributions for a plurality of variables (states), such as position, orientation, roll, depth, and/or branch. The outputs of step <NUM> for each such process may be combined together to generate a new estimated state (E) <NUM>, which represents the output of the motion estimation module <NUM>.

In some embodiments, the navigation module <NUM> allows estimates of variables even when certain input data is not available. For example, prior to registration of the EM system, the output of the branch selection module <NUM> is ignored by the state estimator <NUM>. Nonetheless, states representing location and/or orientation (e.g., tip insertion depth) may still be estimated based on available input data like the robot input data. Each time the instrument tip is ordered to move deeper into the branched network, the estimate state for the tip insertion depth may be updated based on this estimated movement. Thus, prior to registration, the tip insertion depth may be estimated based on robot data, and after registration, the depth may be estimated based on data from the branch selection module <NUM>, but also partially based on robot data, with a weighting function.

There is a possibility of over-determination/over-fitting of the location estimate for the instrument based on the many possible independent measurements introduced above, which include local measurements such as object-based image tracking, optical flow, global measurements such as EM tracking, and robotic input data based measurement. Consequently, the accuracy of estimated position within the branched network may be greater than the accuracy of estimates made using any one of the modules alone. Furthermore, in some embodiments, the navigation configuration system <NUM> demonstrates the ability to recover from errors by using the measurements from one module to contradict the measurements from another, allowing the system to "change its mind" about a previously-made determination. An example of how an error can be corrected is more fully described below with reference to <FIG>.

<FIG> shows an example of how an error can be corrected with navigation through a tubular network by the navigation configuration system <NUM>, according to one embodiment. In <FIG>, a simplified model of a bronchial tree <NUM> with estimated states is shown at four different temporal stages: states <NUM>, <NUM>, <NUM>, and <NUM>. For each temporal stage, an estimated position (<NUM>, <NUM>, <NUM>, and <NUM>, respectively) of an instrument tip used for the navigation is illustrated, and a corresponding actual position (<NUM>, <NUM>, <NUM>, and <NUM>, respectively) of the tip is also illustrated. In one embodiment, over time during the four stages, the accuracy of the estimated states (based on the underlying probabilities and confidences) may vary, e.g., the estimated states may first begin accurate, then becomes inaccurate, and then becomes accurate again.

As shown in <FIG>, initially, in state <NUM>, the actual position of the tip is <NUM>, at the upper branch of the bronchial tree <NUM>, and the navigation configuration system <NUM> accurately estimates that location as estimated position <NUM>. However, when it enters one of the two branches near actual position1311, one or more modules inside the system <NUM> may misidentify the branch based on probabilities provided by one or more of the algorithm modules, causing the system to conclude that the tip is entering the left branch <NUM>, when it is actually entering the right branch <NUM>. For example, the state estimator <NUM> initially assigns an <NUM>% chance of being in the left branch and a <NUM>% chance of being in the right branch.

However, as the endoscope tip proceeds down the right branch <NUM> to state <NUM>, the estimated position <NUM> will be more and more spatially distinct from the actual position <NUM>. In one embodiment, the branch selection module <NUM> may thus more and more confidently report that the tip is probably in the right branch <NUM> based on the shift in the probabilities provided by the underlying modules. Accordingly, the state estimator's <NUM> aggregate probability estimate may also shift, thereby resulting in an increase in the probability of being in the right branch <NUM> and a corresponding decreasing the probability of being in the left branch <NUM>.

The system <NUM> may proceed to a state <NUM>, in which the tip is at the actual position <NUM>, arriving at a division into three branches. However, at this point in time state estimator <NUM> may still be estimating that the most likely state to be at estimated position <NUM>.

At state <NUM>, based on the 3D model, the state estimator <NUM> may be expecting a certain distance until the next branch division, in this example a two-way division, rather than three-way branch division. Under this circumstance, both the branch selection module <NUM> and the object mapping module <NUM> may strongly estimate that the tip is located in the branch shown on the right, which further strongly adjusts the probabilities of being in the left and right branches, leading to an almost certain assignment of the tip location to the correct branch, the right branch <NUM> here.

Consequently, at state <NUM> the state estimator <NUM> correctly estimates the instrument tip be at estimated position <NUM>, very close to its actual location <NUM>. If the endoscope is along the user's desired path, the system <NUM> can now proceed to determine which branch of the three-way branch division is entered next. Alternately, the user can backtrack to travel down the left lumen of bronchial tree <NUM>. In some embodiments, this updated estimate is shown to a user on a display, so that the user can perceive that the previous estimates were in error, and that error has now been corrected.

Navigating to a particular point in a tubular network of a patient's body requires certain steps to be taken pre-operatively in order to generate the information needed to create the 3D model of the tubular network and to determine a navigation path within it. <FIG> show example pre-operative steps for preparation of a surgical instrument (e.g., an instrument tip) to navigation through an example tubular network, according to various embodiments.

<FIG> shows an example pre-operative sequence of steps of a method <NUM> for navigating the instrument tip to a particular site within the tubular network, according to one embodiment. Alongside each step of the method <NUM>, a corresponding image is shown to illustrate a representation of the involved data for planning a path and navigating through the tubular network.

Initially, in step <NUM>, a CT scan of the tubular network is obtained, and the data from the CT scan provides 3D information about the structure and connectivity of the tubular network. For example, the image in step <NUM> shows a tomographic slice of a patient's lungs.

In step <NUM>, a 3D model is generated based on the obtained CT scan data, and the generated 3D model can be used to assign each branch of the tubular network with a unique identity, enabling convenient navigation within the network. For example, the image in step <NUM> shows a 3D model of a patient's bronchial network.

In step <NUM>, a target <NUM> is selected, and this target may be, for example, a lesion to biopsy, or a portion of organ tissue to repair surgically. In one embodiment, the user is capable of selecting the location of the target by interfacing with a computer display that can show the 3D model, such as by clicking with a mouse or touching a touchscreen. The selected target may then be displayed to the user. For example, the target <NUM> is marked within the 3D bronchial model generated from step <NUM>.

In step <NUM>, a path <NUM> is automatically planned from an entry point <NUM> to the target <NUM>, and the path <NUM> identifies a sequence of branches within the network to travel through, so as to reach the target <NUM>. In one embodiment, the tubular network may be tree-like, the path <NUM> may be uniquely determined by the structure of the tubular network, while in another embodiment, the tubular network may be cyclic, and the path may be found by an appropriate algorithm such as a shortest-path algorithm.

Once the path <NUM> has been determined, virtual endoscopy <NUM> may be performed to give the user a preview of the endoscopic procedure. The 3D model generated from step <NUM> is used to generate a sequence of 2D images as though seen by an endoscope tip while navigating the network corresponding to the 3D model. The path <NUM> may be shown as a curve that may be followed to get from the entry point <NUM> to the target <NUM>.

Once the virtual endoscope tip has arrived at the target <NUM>, a virtual tool alignment procedure <NUM> may be performed to illustrate to the user how to manipulate endoscopic tools in order to perform a surgical procedure at the target. For example, in the illustration, a virtual endoscopic biopsy needle <NUM> is maneuvered by the user in order to biopsy a lesion <NUM> located beneath the surface of a bronchial tube. The lesion location is highlighted so that the user can align the needle to it, and then use the needle to pierce the surface of the bronchial tube and access the lesion underneath. This mimics the steps that will be taken during the actual surgical procedure, allowing the user to practice before performing surgery.

<FIG> shows an example user interface <NUM> for navigation of a surgical instrument through a tubular network, according to one embodiment. The user interface <NUM> allows the user to have various views of the tubular network during an endoscopic procedure. In addition to a real-time view from the imaging device (e.g., an endoscope camera), the user interface <NUM> may show various navigation views to the user. For example, the location of the endoscope tip may be superimposed on a tomographic segment of the CT scan <NUM>, with a marker (e.g., crosshairs <NUM>) showing the location of the instrument. In this case, the CT image is of a patient's lungs, and the endoscope used is a bronchoscope.

In <FIG>, the user interface <NUM> also shows a view <NUM> representing a 3D model with a highlighted path <NUM> and icons showing the endoscope location <NUM> and the target location <NUM>. Some additional icons <NUM> are also shown in the view <NUM> for user interface controls enabling features as map pan and zoom.

View <NUM> shows a virtual endoscope view from the estimated location of the tip that can be compared with a real-time view to confirm that the tip location has been estimated accurately. A path indicator <NUM> and location/orientation indicator <NUM> for aid in navigation is also shown in the view <NUM>. The upper left shows state information <NUM> determined by the state estimator <NUM>, indicating that the current distance to target "t1" is <NUM>, and that the calculated roll angle is -<NUM> degrees.

View <NUM> shows a virtual view of the endoscope shaft <NUM>, displayed from a "third-person" viewpoint to the rear of the endoscope tip. The virtual view can be generated by assuming that the endoscope shaft lies along the path already traversed by the tip, and the view of the surrounding area is generated based on the 3D model in the vicinity of the chosen viewpoint. Alternately, the view may be generated from images taken while passing through that area earlier in the procedure. In alternative embodiments, the virtual viewpoint may project ahead of the endoscope tip location, to show the next bifurcation. This view may further highlight the intended path, to inform the user in advance which way to steer when the endoscope tip reaches the next bifurcation.

<FIG> shows an example user interface <NUM> for tool alignment and control during an endoscopic procedure, according to one embodiment. View <NUM> shows a tomographic view at a later stage in the procedure than view <NUM>, in which the endoscope tip is near the target and an endoscopic tool-in this case, a biopsy needle- has been deployed from the endoscope's working channel. The crosshairs <NUM> highlights the new position of the tip. Since the bronchoscope in the image is farther into the patient's lungs, the tomographic slice has changed to show a deeper cross-sectional segment. The icon locating the endoscope tip has been replaced with one indicating the location and orientation of the needle. View <NUM> shows a map view of the 3D model, zoomed in around the target location <NUM> and the tool icon <NUM> representing the biopsy needle. Located at target <NUM> is a biopsy location <NUM> to which a biopsy needle is to be applied. As shown in this view, the endoscope tip has been navigated to nearly the end of path <NUM>, to arrive at a location close enough to the target location <NUM> so that the needle may reach the biopsy location <NUM>.

View <NUM> shows a virtual view in the vicinity of target location <NUM>, highlighting a biopsy location <NUM> to help the user visualize precisely where the needle is to be inserted to collect tissue for biopsy. Additional information, such as target size and distance to target may optionally be overlaid on the image.

View <NUM> shows a close-up view of a 3D icon <NUM> representing a biopsy needle, superimposed on a tomographic image of the patient's lungs. The roll of the instrument is indicated by a multicolored pattern <NUM> on the rear of the 3D icon <NUM>. As seen from state information <NUM>, this particular orientation represents a roll of <NUM> degrees, and the needle is currently <NUM> from the biopsy location <NUM>. A path <NUM> is displayed showing how the needle should be oriented and moved in order to contact the biopsy location <NUM>.

More generally, the navigation and tracking technique disclosed herein may be performed with an appropriately configured computer system. A processor within the computer system may comprise one or more components to process electronic signals, and may comprise one or more of a central processor unit, a video processor, logic circuitry, gate array logic, filed programmable gate array, integrated circuit, or application specific integrated circuit. The computer system includes a central processing unit (CPU, also "processor" and "computer processor" herein), which can be a single core or multi core processor, or a plurality of processors for parallel processing. The CPU can execute a sequence of machine-readable instructions, which can be embodied in a program or software. The instructions may be stored in a memory location. Examples of operations performed by the CPU can include fetch, decode, execute, and writeback. The CPU can be part of a circuit, such as an integrated circuit. One or more other components of the system can be included in the circuit. In some cases, the circuit comprises an application specific integrated circuit (ASIC).

The computer system may also include one or more of memory or memory locations (e.g., random-access memory, read-only memory, flash memory), electronic storage units (e.g., hard disk), communication interfaces (e.g., network adapters) for communicating with one or more other systems, and peripheral devices, such as caches, other memory, data storage and/or electronic display adapters. The memory, storage unit, interface, and peripheral devices are in communication with the CPU through a communication bus, such as a motherboard.

The storage unit can be a data storage unit (or data repository) for storing data. The computer system can be operatively coupled to a computer network ("network") with the aid of the communication interface. The network can be the Internet, an internet and/or extranet, or an intranet and/or extranet that is in communication with the Internet. The network in some cases is a telecommunication and/or data network, and can include can include one or more computer servers. The storage unit can store files, such as drivers, libraries and saved programs. The storage unit can store user data, e.g., user preferences and user programs. The computer system in some cases can include one or more additional data storage units that are external to the computer system, such as located on a remote server that is in communication with the computer system through an intranet or the Internet.

Methods as described herein can be implemented by way of machine (e.g., computer processor) executable code stored on an electronic storage location of the computer system, such as, for example, on the memory or electronic storage unit. The machine executable or machine readable code can be provided in the form of software. During use, the code can be executed by the processor. In some cases, the code can be retrieved from the storage unit and stored on the memory for ready access by the processor. In some situations, the electronic storage unit can be precluded, and machine-executable instructions are stored on memory.

The code can be pre-compiled and configured for use with a machine have a processer adapted to execute the code, or can be compiled during runtime. The code can be supplied in a programming language that can be selected to enable the code to execute in a pre-compiled or as-compiled fashion.

Methods and systems of the present disclosure can be implemented by way of one or more methods. A method can be implemented with a processor as described herein, for example by way of software upon execution by one or more computer processors.

Alternative views and embodiments of the surgical robotics system <NUM>, the surgical robotics system <NUM>, and other surgical robotics systems including the above mentioned components are further illustrated and described at least in <CIT>, <CIT>, <CIT>, <CIT>, <CIT>, and <CIT> <CIT>.

As used herein any reference to" one embodiment" or" an embodiment" means that a particular element, feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The appearances of the phrase " in one embodiment" in various places in the specification are not necessarily all referring to the same embodiment.

Some embodiments may be described using the expression " coupled" and "connected" along with their derivatives. For example, some embodiments may be described using the term " coupled" to indicate that two or more elements are in direct physical or electrical contact. The term " coupled," however, may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other. The embodiments are not limited in this context unless otherwise explicitly stated.

As used herein, the terms" comprises," " comprising," " includes," " including," "has," "having" or any other variation thereof, are intended to cover a non-exclusive inclusion. Further, unless expressly stated to the contrary," or" refers to an inclusive or and not to an exclusive or. For example, a condition A or B is satisfied by any one of the following: A is true ( or present) and B is false ( or not present), A is false ( or not present) and B is true ( or present), and both A and Bare true (or present).

Claim 1:
A computer-readable storage medium comprising computer program instructions that when executed by a processor cause the processor to perform a method comprising:
accessing robotic data regarding physical manipulation of an elongated medical instrument (<NUM>) inserted into a tubular network of a patient;
accessing a 3D model of the tubular network;
accessing electromagnetic (EM) data captured using an EM sensor (<NUM>) located proximal to the instrument tip (<NUM>) as well as using at least one external EM sensor (<NUM>) or EM generator located external to the patient;
determining a robot-based estimated state for the instrument tip (<NUM>) based on the robotic data;
determine a registration transform between the EM data and the 3D model;
determine the location of the medical instrument with respect to a set of branches of the tubular network;
determining an EM-based estimated state for the instrument tip (<NUM>) based on the EM data, the 3D model of the tubular network,
the registration transform and the location of the medical instrument with respect to the set of branches; and
determining an estimated state for the instrument tip (<NUM>) based on the robot-based, and EM-based estimated states with a weighting function.