U.S. patent application number 13/016093 was filed with the patent office on 2011-07-28 for image-based global registration system and method applicable to bronchoscopy guidance.
This patent application is currently assigned to The Penn State Research Foundation. Invention is credited to William E. Higgins, Rahul Khare, Scott A. Merritt.
Application Number | 20110184238 13/016093 |
Document ID | / |
Family ID | 44309460 |
Filed Date | 2011-07-28 |
United States Patent
Application |
20110184238 |
Kind Code |
A1 |
Higgins; William E. ; et
al. |
July 28, 2011 |
IMAGE-BASED GLOBAL REGISTRATION SYSTEM AND METHOD APPLICABLE TO
BRONCHOSCOPY GUIDANCE
Abstract
A global registration system and method identifies bronchoscope
position without the need for significant bronchoscope maneuvers,
technician intervention, or electromagnetic sensors. Virtual
bronchoscopy (VB) renderings of a 3D airway tree are obtained
including VB views of branch positions within the airway tree. At
least one real bronchoscopic (RB) video frame is received from a
bronchoscope inserted into the airway tree. An algorithm according
to the invention is executed on a computer to identify the several
most likely branch positions having a VB view closest to the
received RB view, and the 3D position of the bronchoscope within
the airway tree is determined in accordance with the branch
position identified in the VB view. The preferred embodiment
involves a fast local registration search over all the branches in
a global airway-bifurcation search space, with the weighted
normalized sum of squares distance metric used for finding the best
match.
Inventors: |
Higgins; William E.; (State
College, PA) ; Khare; Rahul; (State College, PA)
; Merritt; Scott A.; (Ridgecrest, CA) |
Assignee: |
The Penn State Research
Foundation
University Park
PA
|
Family ID: |
44309460 |
Appl. No.: |
13/016093 |
Filed: |
January 28, 2011 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61299194 |
Jan 28, 2010 |
|
|
|
61300969 |
Feb 3, 2010 |
|
|
|
Current U.S.
Class: |
600/117 |
Current CPC
Class: |
G06T 7/75 20170101; G06K
9/00208 20130101; G06K 9/00214 20130101; G06T 2207/30061 20130101;
G06T 2207/10068 20130101; A61B 1/2676 20130101; A61B 1/00009
20130101; G06K 9/6206 20130101 |
Class at
Publication: |
600/117 |
International
Class: |
A61B 1/00 20060101
A61B001/00 |
Goverment Interests
GOVERNMENT SUPPORT
[0002] This invention was made with government support under Grant
No. R01-CA074325. awarded by NIH National Cancer Institute. The
government has certain rights in the invention.
Claims
1. A global registration method useful in bronchoscopic guidance
and other applications, the method comprising the steps of:
obtaining virtual bronchoscopy (VB) renderings of a 3D airway tree,
the renderings including VB views of branch positions within the
airway tree; receiving at least one real bronchoscopic (RB) view
from a bronchoscope inserted into the airway tree; providing and
executing an algorithm on a computer operative to identify the
optimum branch position having a VB view closest to the received RB
view; and outputting the 3D position of the bronchoscope within the
airway tree based upon the branch position identified in the VB
view.
2. The method of claim 1, wherein the RB view is derived from a
video frame.
3. The method of claim 1, wherein the algorithm identifies a
plurality of most likely branch positions having VB views closest
to the received RB view.
4. The method of claim 1, wherein the algorithm uses
domain-specific information regarding general bronchoscope position
within the airway tree.
5. The method of claim 4, wherein the domain-specific information
includes current lung designation or lung lobar position.
6. The method of claim 1, including the steps of: receiving a
plurality of RB views from the bronchoscope; and identifying the
optimum branch position having a VB view closest to the RB
views.
7. The method of claim 6, wherein the multiple RB views are
associated with the same or multiple branch positions within an
airway tree.
8. The method of claim 1, wherein the algorithm includes the step
of performing a fast search over all the branches in a global
airway-bifurcation search space using a weighted normalized sum of
squares distance metric to determine the best match.
9. The method of claim 1, wherein the algorithm performs an
intra-branch search followed by an inter-branch search.
10. The method of claim 9, wherein the intra-branch search is given
by: .theta. ^ b i = arg max .chi. .di-elect cons. b i C ( I V , I
CT .chi. ) ##EQU00013## where C(.cndot.,.cndot.) is a similarity
function, {circumflex over (.theta.)}.sup.b.sup.i is the optimum
view point in branch i for the Oven RB video frame I.sub.V and b is
a subset of K.sub.tree and contains all the view points in branch
I; and the inter-branch search is given by: .theta. ^ o = arg min
.chi. .di-elect cons. K .theta. ^ b i D ( I V , I CT .chi. )
##EQU00014## where K.sub.{circumflex over (.theta.)}.sup.b.sup.i
={{circumflex over (.theta.)}.sup.b.sup.1, {circumflex over
(.theta.)}.sup.b.sup.2, . . . , {circumflex over
(.theta.)}.sup.b.sup.n} is the set of view points obtained from the
intra-branch search.
11. The method of claim 9, wherein the intra-branch search uses
pre-computed lumen region enclosing rectangles and a fast local
registration refinement.
12. A global registration method useful in bronchoscopic guidance
and other applications, the method comprising the steps of:
obtaining virtual bronchoscopy (VB) renderings of a 3D airway tree,
the renderings including VB views of branch positions within the
airway tree; receiving at least one real bronchoscopic (RB) video
frame from a bronchoscope inserted into the airway tree; providing
and executing an algorithm on a computer to identify branch
positions having VB views closest to the received RB video frame,
the algorithm including an intra-branch search followed by an
inter-branch search; and outputting the 3D position of the
bronchoscope within the airway tree based upon the most likely
branch position identified in the VB view.
13. The method of claim 12, wherein the algorithm uses
domain-specific information regarding general bronchoscope position
within the airway tree.
14. The method of claim 13, wherein the domain-specific information
includes current lung designation or lung lobar position.
15. The method of claim 12, wherein the algorithm includes the step
of performing a fast search over all the branches in a global
airway-bifurcation search space using a weighted normalized sum of
squares distance metric to determine the best match.
16. The method of claim 12, wherein the intra-branch search is
given by: .theta. ^ b i = arg max .chi. .di-elect cons. b i C ( I V
, I CT .chi. ) ##EQU00015## where C(.cndot.,.cndot.) is a
similarity function, {circumflex over (.theta.)}.sup.b.sup.i is the
optimum view point in branch i for the given RB video frame I.sub.V
and b.sub.i is a subset of K.sub.tree and contains all the view
points in branch I; and the inter-branch search is given by:
.theta. ^ o = arg min .chi. .di-elect cons. K .theta. ^ b i D ( I V
, I CT .chi. ) ##EQU00016## where K.sub.{circumflex over
(.theta.)}.sup.b.sup.i ={{circumflex over (.theta.)}.sup.b.sup.1,
{circumflex over (.theta.)}.sup.b.sup.2, . . . , {circumflex over
(.theta.)}.sup.b.sup.n} is the set of view points obtained from the
intra-branch search.
17. The method of claim 12, wherein the intra-branch search uses
pre-computed lumen region enclosing rectangles and a fast local
registration refinement.
18. A global registration system useful in bronchoscopic guidance
and other applications, comprising: a memory storing virtual
bronchoscopy (VB) renderings of a 3D airway tree, the renderings
including VB views of branch positions within the airway tree; a
bronchoscope generating a real bronchoscopic (RB) view of the
airway tree; a computer operative to use the RB view to search and
analyze the VB renderings to identify the branch position that most
closely matches the received RB view; and a display presenting the
3D position of the bronchoscope within the airway tree based upon
the branch position identified in the VB view.
19. The system of claim 18, wherein the bronchoscopic outputs the
RB view in the form of one or more video frames.
20. The system of claim 18, wherein the computer is operative to
identify a plurality of most likely branch positions having VB
views closest to the received RB view.
21. The system of claim 18, wherein the computer uses
domain-specific information regarding general bronchoscope position
within the airway tree.
22. The system of claim 21, wherein the domain-specific information
includes current lung designation or lung lobar position.
23. The system of claim 18, wherein: the bronchoscope generates a
plurality of RB views; and the computer is operative to identify an
optimum branch position having a VB view closest to the RB
views.
24. The system of claim 23, wherein the multiple RB views are
associated with the same or multiple branch positions within an
airway tree.
25. The system of claim 18, wherein the computer performs a fast
search over all the branches in a global airway-bifurcation search
space using a weighted normalized sum of squares distance metric to
determine the best match.
26. The system of claim 18, wherein the computer performs an
intra-branch search followed by an inter-branch search.
27. The system of claim 26, wherein the intra-branch search is
given by: .theta. ^ b i = arg max .chi. .di-elect cons. b i C ( I V
, I CT .chi. ) ##EQU00017## where C(.cndot.,.cndot.) is a
similarity function, .theta..sup.b.sup.i is the optimum view point
in branch i for the given RB video frame I.sub.V and b.sub.i is a
subset of K.sub.tree contains all the view points in branch and the
inter-branch search is given by: .theta. ^ o = arg min .chi.
.di-elect cons. K .theta. ^ b i D ( I V , I CT .chi. ) ##EQU00018##
where K.sub.{circumflex over (.theta.)}.sup.b.sup.i ={{circumflex
over (.theta.)}.sup.b.sup.1, {circumflex over
(.theta.)}.sup.b.sup.2, . . . , {circumflex over
(.theta.)}.sup.b.sup.n} is the set of view points obtained from the
intra-branch search.
28. The system of claim 26, wherein the intra-branch search uses
pre-computed lumen region enclosing rectangles and a fast local
registration refinement.
Description
REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority from U.S. Provisional
Patent Application Ser. Nos. 61/299,194, filed Jan. 28, 2010 and
61/300,969, filed Feb. 3, 2010, the entire content of both being
incorporated herein by reference.
FIELD OF THE INVENTION
[0003] This invention relates generally to bronchoscopy and, in
particular, to a global registration system and method useful in
image-based bronchoscopy guidance systems and other applications,
including other types of endoscopic procedures.
BACKGROUND OF THE INVENTION
[0004] Bronchoscopy is a medical procedure commonly used in
lung-cancer assessment[1]. Lung-cancer assessment involve two main
stages[2,3,4]: 1) three-dimensional (3D) multi-detector
computed-tomography (MDCT) image assessment; and 2) live
bronchoscopy. During MDCT assessment, the physician uses the
two-dimensional (2D) transverse slices obtained from the patient's
MDCT scan to identify specific diagnostic regions of interest
(ROIs), such as lymph nodes and suspicious nodules[5,6,7]. In this
step, the physician also identifies the closest route to each ROI
and mentally plans a 3D route using the 2D slices. During
bronchoscopy, the physician maneuvers a flexible bronchoscope
through the lung airways towards each ROI along the pre-planned
mentally defined route. This is done by identifying the
bifurcations along the route on the live endoluminal video feed
obtained from the bronchoscope. This manually-based route planning
procedure proves to be challenging, resulting in errors in
bronchoscopy as early as the second airway generation[8,9].
[0005] Image-guided bronchoscopy guidance systems enable more
accurate bronchoscopy[4,10,11,12,13]. These systems are motivated
by virtual bronchoscopy (VB), wherein the 3D MDCT image of a
person's chest serves as a "virtual environment"[14,15,16]. A
software-defined virtual camera navigates through the lungs in the
virtual environment and presents endoluminal renderings of the 3D
data, also known as VB images. To facilitate guidance during
bronchoscopy, all bronchoscopy guidance systems rely on some method
for registration of the real bronchoscope in 3D surgical space to
the 3D MDCT virtual space. Based on the type of sensor used for
registration, bronchoscopy guidance systems can be either
electromagnetic (EM) or image-based[3,4,11,12,13,15,16,17,18].
[0006] An EM-based guidance system consists of the following: 1) an
EM field generator; 2) a steerable EM probe; and 3) guidance
software[12,13,17]. The EM field generator generates an EM field
around the patient's chest. The steerable EM probe is inserted
through the working channel of the bronchoscope and tracked in the
external EM field. Prior to the start of bronchoscopy, the
steerable probe is used to calibrate and synchronize the coordinate
system of the external EM field and the MDCT coordinate system.
Thus, as the EM probe is tracked during bronchoscopy, its position
in the MDCT coordinate system becomes nominally known. Such a
system allows for immediate establishment of the global position of
the bronchoscope tip within the 3D MDCT coordinate system. However,
metallic objects in the vicinity induce ferromagnetic device
interference, leading to distortions in the external EM field[19].
Moreover, the patient's breathing causes chest movement that leads
to registration errors[20]. These errors are magnified in the
peripheral airways, as the airway branches become smaller and move
with the patient's breathing. Furthermore, once the bronchoscope is
guided to the ROI, the steerable probe has to be retracted from the
working channel of the bronchoscope so that the biopsy tools can be
inserted to collect ROI tissue samples. Thus, EM-based bronchoscopy
guidance systems implicitly provide global registration, but suffer
in local registration. There has been ongoing research to combine
the EM and image-based guidance methods in an attempt to mitigate
these problems[21,22].
[0007] Image-based bronchoscopy guidance systems rely on
volume-rendered[16,23] or surface-rendered[3,4,24,25] endoluminal
images of the airway tree from the 3D MDCT scans in order to
establish the location of the bronchoscope. This is generally done
by comparing the VB images with the real bronchoscopic (RB) video
frames. Weighted normalized sum of square difference errors
(WNSSD)[24] and normalized mutual information (NMI)[3,4,26] are
metrics that are used for comparing the images obtained from the
two sources. Registration is carried out using Powell's
optimization, simplex or gradient methods. The image-based
bronchoscopy guidance methods rely on local registrations at
bifurcations and so are less susceptible to patient breathing
motion. However, as these methods rely on the bronchoscope video,
they are affected by artifacts in bronchoscope video caused by
patient coughing or mucous obstruction. Also, most of the available
systems rely on manual registration for initialization of the
bronchoscope position. During a live bronchoscopic procedure, the
absence of a global registration algorithm leads to increased
procedure time and some uncertainty in the bronchoscope position.
This in turn leads to guidance errors. Thus, image-based
bronchoscopy guidance methods implicitly provide excellent local
registration, but no global registration.
[0008] Global registration is used in various fields such as image
fusion[27, 28], remote sensing[29,30], object recognition[31], and
robotic navigation[32]. The problem of establishing the global
position in robotic navigation is most similar to global
registration in the domain of image-based computer-guided
bronchoscopy. In robotic navigation, global registration is also
referred to as the "robot kidnapping problem," wherein the position
of a robot has to be estimated when it is moved to any arbitrary
pose and no motion estimates are available[32]. Moreno et al.
presented a non-linear filter, termed evolutive localization
filter, that uses raw sensor data and recursively estimates the
current pose[32]. Other methods utilizing multi-hypothesis Kalman
filters[33, 34], grid-based probabilistic filters[35] and
Monte-Carlo localization[36] methods have also been used for
addressing the problem of global registration in robot
navigation.
[0009] In the domain of medical imaging, global registration has
been primarily used for multi-modal registration. Zhang et al. have
described an adaptive region-intensity-based ultrasound and
computed tomography registration[37]. Munim et al. used vector
distance functions for registering magnetic resonance (MR) images
of multiple patients[38]. Moghari et al. have described a global
registration method for aligning multiple bone fractures to a
statistical anatomical atlas model[39]. Principal component
analysis and the unscented Kalman filter were used for local and
global registration, respectively. Fookes et al. have also
described a method for registration of multiple MR images from the
same patient by formulating the problem as the minimization of a
covariance weighted non-linear least square function[40].
[0010] In image-based bronchoscopy guidance, researchers have
focused on the problem of local registration. However, few have
worked on the problem of global registration, whereby the branch
location of the bronchoscope is established. Bricault et al. have
proposed a multi-level strategy for registration[23]. In this work,
the relative position change of the sub-division wall from one
bifurcation to the next was used to identify the branch position of
the bronchoscope. Shinohara et al. described a branch
identification method using eigenspace-image matching[41]. However,
this method addresses bronchoscope tracking and cannot be used for
global registration. Moreover, it requires manual
initialization.
SUMMARY OF THE INVENTION
[0011] This invention resides in a global registration system and
method useful in image-based bronchoscopy guidance systems and
other applications, including other types of endoscopic procedures.
Synchronization is restored by identifying the current branch
position, thereby facilitating global, technician-independent
bronchoscopy guidance without the need for any external device such
as an electromagnetic sensor.
[0012] Virtual bronchoscopy (VB) renderings of a 3D airway tree are
obtained, these including VB views of branch positions within the
airway tree. At least one real bronchoscopic (RB) video frame is
received from a bronchoscope inserted into the airway tree. An
algorithm according to the invention is executed on a computer to
identify the several most likely branch positions having a VB view
closest to the received RB view, and the 3D position of the
bronchoscope within the airway tree is determined in accordance
with the branch position identified in the VB view.
[0013] The algorithm may use various techniques to speed operation,
including an intra-branch search followed by an inter-branch
search. In particular, a fast search may be carried out over all
the branches in a global airway-bifurcation search space, with a
weighted normalized sum of squares distance metric being used to
determine the best match. In a preferred embodiment the
intra-branch search uses pre-computed lumen region enclosing
rectangles in conjunction with a fast local registration
refinement.
[0014] The intra-branch search is given by:
.theta. ^ b i = arg max .chi. .di-elect cons. b i C ( I V , I CT
.chi. ) ##EQU00001##
where C(.cndot.,.cndot.) is a similarity function, {circumflex over
(.theta.)}.sup.b.sup.i is the optimum view point in branch i for
the given RB video frame I.sub.V and b.sub.i is a subset of
K.sub.tree and contains all the view points in branch I.
[0015] The inter-branch search is given by:
.theta. ^ o = arg min .chi. .di-elect cons. K .theta. ^ b i D ( I V
, I CT .chi. ) ##EQU00002##
where K.sub.{circumflex over (.theta.)}.sup.b.sup.i ={{circumflex
over (.theta.)}.sup.b.sup.1, {circumflex over
(.theta.)}.sup.b.sup.2, . . . , {circumflex over
(.theta.)}.sup.b.sup.n} is the set of view points obtained from the
intra-branch search.
[0016] Results show that the algorithm currently needs 3 seconds
per search-space branch, with a trend of improving accuracy with
reducing search-space being seen. The algorithm gives accuracy
rates=90% when using multiple views of the same bifurcation. When
using the airway phantom, where a lighting model of the test frames
was different from that used for the VB frames, a global
registration accuracy of 89% was obtained.
BRIEF DESCRIPTION OF THE DRAWINGS
[0017] FIGS. 1A and 1B show bronchoscopic video frame distortion
correction;
[0018] FIGS. 2A-2F show examples of the 3D airway tree and the
virtual bronchoscope;
[0019] FIG. 3 illustrates a pre-computation for intra-branch
search;
[0020] FIG. 4A shows an input RB frame;
[0021] FIGS. 4B-4F show the VB images associated with the best
bronchoscope position as found by the intra-branch search in five
different branches of the search space;
[0022] FIGS. 5A-5E show input bronchoscopic video frames for airway
phantom; and
[0023] FIGS. 5F-5J show VB images at the bronchoscope position
estimated by the algorithm for airway phantom.
DETAILED DESCRIPTION OF THE INVENTION
[0024] During bronchoscopy, the physician maneuvers a bronchoscope
through the airway tree. An image-based bronchoscopy guidance
system provides discrete guidance at bifurcations. In order to
register the view seen in the bronchoscope video with
multi-detector computed-tomography MDCT co-ordinate system, we
model the image seen by the bronchoscope by using 3D MDCT data.
[0025] To model the VB views, the bronchoscope camera is first
calibrated by using an off-line procedure [42]. Parameters such as
the focal length f and the FOV angle of the camera are computed.
Coefficients are also found in order to correct the barrel
distortion of the video frames as seen in FIG. 1. FIGS. 1A and 1B
show bronchoscopic video frame distortion correction. In
particular, FIG. 1A shows an example of a bronchoscopic video frame
with barrel distortion, and FIG. 1B shows the bronchoscopic video
frame after distortion correction.
[0026] To create VB views, the airway tree is automatically
segmented using a robust segmentation algorithm [43]. The marching
cubes algorithm is run on the 3D segmentation to obtain polygonal
surface representation of the airway tree [44]. The virtual
bronchoscope is designed as a pinhole camera model with a focal
length of f and the same image dimensions as the bronchoscope
camera. The endoluminal airway surfaces are assumed to be
Lambertian, with the light source at the focal point. Secondary
reflections are disregarded. Using these assumptions, the VB view
is rendered using OpenGL[45] as shown in FIGS. 2A-2F. Virtual
bronchoscopic views. FIGS. 2A-2C show examples of the 3D airway
tree and the virtual bronchoscope (yellow cylinder+graphical
needle) positioned within the trachea, left main bronchus and the
right main bronchus (shown in FIGS. 2D-2F) and the corresponding VB
views.
The Global Registration Problem
[0027] Global registration can be defined as establishing the
current branch position of the bronchoscope in the 3D airway tree.
To formulate the global registration problem, we consider the
scenario where the bronchoscope is "blindly" inserted into the
airway so that it lies at some bifurcation. We denote the real
bronchoscopic (RB) video frame from the bronchoscope as I.sub.V(x,
v). The virtual bronchoscopy (VB) renderings obtained from the
virtual bronchoscope are denoted by I.sub.CT(x, y). The current
unknown viewpoint of the bronchoscope is denoted by .theta.=(x, y,
z, .alpha., .beta., .gamma.), where (x, y, z) gives the 3D spatial
position and (.alpha., .beta., .gamma.) specifies the Euler angles.
The global registration algorithm finds the branch that contains
the viewpoint with a VB view closest to the given RB view.
[0028] This problem can be posed as a Maximum A Posteriori (MAP)
problem. The first part is probability density estimation problem,
where we estimate the posterior density over the space of available
bronchoscope poses given the incoming bronchoscopic video. This
problem formulation is similar to that by Moreno et al [32]. In
that paper, an iterative solution is used for global registration
but we present a method for registration using a single frame which
is similar to the method by Wei .beta. et al [46]. From MAP point
of view, the global registration problem is an optimization problem
where we estimate the branch in which the bronchoscope gives a pose
that maximizes the posteriori probability density
.theta. ^ = arg max .chi. .di-elect cons. K tree p ( .chi. | I V )
( 1 ) ##EQU00003##
where {circumflex over (.theta.)} is the estimated optimum view
point, .chi. is one of the view points in K.sub.tree, the search
space for the view points and p(.chi.|I.sub.V) is the posterior
density over the space of available bronchoscope poses given the
incoming bronchoscopic video. Using Bayes theorem, we get
p ( .chi. | I V ) = p ( I V | .chi. ) p ( .chi. ) p ( I V ) ( 2 )
##EQU00004##
[0029] In the above expression, if all bronchoscope poses are
considered equi-likely p(.chi.) can be considered as a constant and
p(I.sub.V) is a constant with respect to .chi.. Thus, we get
argmax p(.chi.|I.sub.V)=argmax p(I.sub.V|.chi.) (3)
[0030] The term p(I.sub.V|.chi.) can be estimated using a
similarity function that finds the similarity between I.sub.V and
the VB image rendered at .chi., given by I.sub.CT.sup..chi.. Hence,
(3) becomes
argmax p(I.sub.V|.chi.)=argmax C(I.sub.V,I.sub.CT.sup..chi.)
(4)
where C(.cndot.,.cndot.) is a similarity function that gives the
measure of similarity between the bronchoscopic video frame I.sub.V
and I.sub.CT.sup..chi. the rendering obtained at pose .chi.. If the
similarity function C(.cndot.,.cndot.) is replaced by a
dissimilarity measure, the global registration problem becomes
.theta. ^ = arg min .chi. .di-elect cons. K tree D ( I V , I CT
.chi. ) ( 5 ) ##EQU00005##
here D(.cndot.,.cndot.) is a dissimilarity function between the RB
image I.sub.V and the VB view I.sub.CT.sup..chi. at view point
.chi. and K.sub.tree is the search space for the view points. The
optimum branch is given by
b.sup.o=B({circumflex over (.theta.)}) (6)
where B(.cndot.) is a function that finds the branch containing the
view point {circumflex over (.theta.)}.
[0031] The proposed algorithm accepts as input one or more live
bronchoscopic video frames and outputs the 3D position of the
bronchoscope within the airway tree. The algorithm is invoked
during live bronchoscopy when the position of the bronchoscope is
unknown. The algorithm will then determine the bronchoscope
position within the airway tree. Before invoking the algorithm, the
physician positions the bronchoscope to give a good view of an
airway bifurcation, so that the lumen region is well represented,
as shown in FIG. 4. Multiple runs of the algorithm on either the
same bifurcation or at related bifurcations (parent-daughter
branches) can be used to improve the overall accuracy of the
method. The algorithm broadly divides into two major stages:
intra-branch search and inter-branch search.
[0032] FIG. 3 illustrates a pre-computation for intra-branch
search. This figure shows the pre-computation carried out for the
branch highlighted by the blue line. The red lines are the
pre-defined centerline navigation routes through the 3D airway
tree. The green triangles highlight three of the pre-defined
view-sites (A, B, C) along the selected branch. The figures to the
right of the view-sites are the VB renderings (A1, B1, C1), the
lumen thresholded images (A2, B2, C2) and the minimum enclosing
rectangles (A3, B3, C3) associated with the respective view-sites.
The longer length of the minimum enclosing rectangle is saved
during pre-computation and later used for localizing the position
of the given RB frame in a given branch.
Intra-Branch Search
[0033] The intra-branch search is formulated as
.theta. ^ b i = arg max .chi. .di-elect cons. b i C ( I V , I CT
.chi. ) ( 7 ) ##EQU00006##
where C(.cndot.,.cndot.) is a similarity function, {circumflex over
(.theta.)}.sup.b.sup.i is the optimum view point in branch i for
the given RB video frame I.sub.V and b.sub.i is a subset of
K.sub.tree and contains all the view points in branch i.
[0034] This optimization process needs spanning through all
possible view positions in a given branch. This is not practical in
a real-time algorithm due to the excessive time involved. Hence, we
use a novel intra-branch search which comprises of two steps. In
the first step, the intra-branch search carries out a fast scan
through all the pre-defined view sites along the centreline of the
branch. The second step comprises render position adjustment using
fast local registration. Because of uncertainty in the roll angle
of the bronchoscope we use a set of four likely positions for each
branch using different roll angles.
[0035] The minimum enclosing rectangle of the lumen region has a
change in its larger dimension as the render position moves along
the centreline towards the bifurcation as shown in FIG. 3. This is
the underlying idea of the fast-scan search along the centreline.
In this search, first the input real image I.sub.V is thresholded
to segment out the lumen region. The p-tile thresholding with a
value of p=10 has been empirically found to give good results for
segmenting out the lumen. Once the lumen region is segmented, the
convex hull of the segmented region is found. We use the
Bentley-Faust-Preparata (BFP) fast approximate 2D convex hull
algorithm for this purpose [47]. This convex hull is used to find
the minimum enclosing rectangle of the lumen region as shown in
FIG. 3. The larger dimension of the enclosing rectangle is saved as
Dim.sub.Max. The same feature extraction step is carried out at all
the pre-defined centreline view points of all the branches as a
pre-computation step and the larger dimension of the enclosing
rectangle is saved. During live global registration, the
intra-branch search gives the best centreline view-point at each
branch that has its feature value closest to Dim.sub.Max. The best
rendering position that is obtained has a fixed roll angle.
However, the real image could have any possible roll angle. To
address this, roll angles of 90 degrees, 180 degrees and 270
degrees are applied to this rendering position resulting in the
four best rendering positions for each branch.
[0036] The real image is obtained from a bronchoscope having
multiple degrees of freedom. So the four best rendering positions
obtained in the previous step may not give rendering images
I.sub.CT similar to the real image I.sub.V. Therefore, the four
rendering positions obtained from the previous step are adjusted
further using the inverse compositional method for local
registration [24]. The local registration uses WNSSD metric for
image comparison and the optimal Gauss-Newton gradient for
parameter update (.THETA..sub..DELTA.) as given in (8) and (9).
D 1 = { u , v w u , v [ I CT ( u , v ) - .mu. CT .sigma. CT - I V (
u , v ) - .mu. V .sigma. V ] 2 } ( 8 ) ##EQU00007##
where .mu..sub.CT and .mu..sub.V are the respective weighted-image
means and .theta..sub.CT.sup.2 and .sigma..sub.V.sup.2 are the
respective weighted image variances and w.sub.u,v are weights that
can be used to arbitrarily assign higher importance to pixels in
the image based on geometry, graylevel value, gradient strength, or
any appropriate confidence measure. Here, we use the trivially
weighted case
w u , v = 1 , .A-inverted. u , v .THETA. .DELTA. = H - 1 | .THETA.
= 0 .fwdarw. u , v w u , v [ .differential. I CT .differential.
.THETA. ] _ .THETA. = 0 .fwdarw. T [ I _ V ( W ( u , v , Z ;
.THETA. eq ) ) - I _ CT ( u , v ) ] ( 9 ) ##EQU00008##
where
[ .differential. I V .differential. .THETA. ] _ .THETA.
##EQU00009##
is a 6D row vector of steepest-descent images,
.sub.V(W(u,v,Z;.THETA..sub.eq)) and .sub.CT(u,v) are the normalized
images and H, the Gauss-Newton Hessian is computed as
H = u , v w u , v [ .differential. I V .differential. .THETA. ] _ T
[ .differential. I V .differential. .THETA. ] _ ( 10 )
##EQU00010##
[0037] Parameter update is run for 200 ms, which is sufficient for
convergence and limits the total run-time of the algorithm
resulting in four image rendering positions for each branch. The
rendered images at each of these positions are thresholded to
obtain the lumen region. These thresholded images are then compared
with the lumen thresholded image obtained from the real image using
the metric C.sub.1 described in equation (11). Substituting from
equation (11) in equation (7) we get the best rendering position of
the branch.
C 1 ( I 1 , I 2 ) = n I 1 I 2 n I 1 I 2 where n I 1 I 2 = { 1 if I
1 ( u , v ) > 0 and I 2 ( u , v ) > 0 0 otherwise and n I 1 I
2 = { 1 if I 1 ( u , v ) > 0 or I 2 ( u , v ) > 0 0 otherwise
( 11 ) ##EQU00011##
Inter-Branch Search
[0038] The inter-branch search is given by
.theta. ^ o = arg min .chi. .di-elect cons. K .theta. ^ b i D ( I V
, I CT .chi. ) ( 12 ) ##EQU00012##
where K.sub.{circumflex over (.theta.)}.sup.b.sup.i ={{circumflex
over (.theta.)}.sup.b.sup.1, {circumflex over
(.theta.)}.sup.b.sup.2, . . . , {circumflex over
(.theta.)}.sup.b.sup.n} is the set of view points obtained from the
intra-branch search. In (12) we use the WNSSD dissimilarity metric
as defined in equation (8). The optimum view point is used to find
the current bronchoscope branch position using equation (6).
[0039] The above global registration method has been summarized in
equation (12). FIGS. 4A-4F show the best matches for the different
branches of the search space and FIG. 4B, the correctly identified
branch after the inter-branch search. FIG. 4A shows the input RB
frame and FIGS. 4B-4F show the VB images associated with the best
bronchoscope position as found by the intra-branch search in five
different branches of the search space. Inter-branch search
correctly identified branch with rendering shown in FIG. 4B as the
best branch.
TABLE-US-00001 Algorithm 1: Pre-computation Phase: Computation of
the feature value for every view site along each branch.
Initialization: Computing features for every view-site along a
branch for .A-inverted. branch i .epsilon. search-space do for
.A-inverted. view-site j .epsilon. branch i do Generate a virtual
image I.sub.CT. Threshold the image I.sub.CT using p-tile
thresholding (p = 10). Use BFP algorithm to find the convex hull of
the thresholded lumen region. Find the minimum enclosing rectangle
using the convex hull. save the longer dimension of the rectangle
by the view-site index j. end end
TABLE-US-00002 Algorithm 2: Global Registration for each new real
image I.sub.V do Capture real image I.sub.V into buffer Threshold
the real image I.sub.V Find convex hull of the thresholded region
Find minimum enclosing rectangle using the convex hull Set
bestValue=.infin. and bestBranch=0 for every branch i in the
search-space do Find closest branch view-site j using the
pre-computed features for branch i From view-site j, obtain 4
viewing positions ( roll angles of .theta. = [90, 180, 270] ). Use
(11) to find the VB image at the best render position for the
branch I.sub.CT.sup..theta..sup.b.sub.1 Use (8) to find D.sub.1(i)
( I.sub.CT = I.sub.CT.sup..theta..sup.b.sub.1 ). if D.sub.1(i)
.ltoreq. bv then bestValue = D.sub.1(i) bestBranch = i end end
end
Results
[0040] To evaluate the accuracy of the global registration
algorithm, we carried out three sets of tests. In the first set, we
evaluated the global registration algorithm using virtual case
studies. The second set of tests evaluated the accuracy of the
global registration algorithm using RB frames obtained from the
bronchoscopic exploration of an airway phantom. In the third set,
we evaluated the improvement in the accuracy of the algorithm when
multiple test frames were used.
Evaluation Using Virtual Cases
[0041] The global registration algorithm was evaluated using the
three virtual cases derived from the CT data of consented patients
as described in Table I. While using virtual bronchoscopic cases, a
minimum of 28 branches from the first five airway generations were
used. Four different tests were carried out by varying the
search-space of the algorithm. In all tests, a virtual
bronchoscopic bifurcation view was randomly selected from the
branch search space--this served as the unknown "live bronchoscope
video" view in the test. This bifurcation view was obtained by
randomly moving to any of the view sites along a branch. A random
roll angle from 0-360 degrees was used and a perturbation of up to
.+-.5 mm was applied to the virtual bronchoscopic position to move
the virtual bronchoscope off the center line. In the first test
set, all branches were used for the search space. In the second
set, the search space was divided into two by using branches either
in the left lung or right lung only. In the third set, the search
space was divided into five different parts based on the lung lobar
regions. In the fourth set, only branches that were daughters of
the same branch were used in the search space. The results of these
tests are summarized in Table II. Global registration accuracy
ranged from 71% to 92%. Note that a random selection from among 28
airway branches would only give an "accuracy" of 3.6%.
TABLE-US-00003 TABLE I Summary of cases used for testing.
(.DELTA..sub.X, .DELTA..sub.Y) in Total Total Case number Scanner
mm slices branches 20349.3.47 Siemens Sensation 16 (0.55, 0.55) 517
227 20349.3.49 Siemens Sensation 40 (0.64, 0.64) 673 273 20349.3.61
Siemens Sensation 40 (0.6, 0.6) 588 219
TABLE-US-00004 TABLE II Global registration accuracy in percent for
different test sets for virtual bronchoscopic cases. Case Full-tree
Half-tree Lobar Branch pairs number (set 1) (set 2) (set 3) (set 4)
47 73% 76% 80% 92% 49 75% 77% 83% 91% 61 71% 73% 80% 83%
Evaluation using a Phantom Case
[0042] The airway phantom test involved live bronchoscopy on a
preconstructed airway-tree phantom [25]. The phantom consists of 5
different accessible branch bifurcations when using a 5.9 mm
diameter bronchoscope. While carrying out the global registration,
each incoming video frame from the bronchoscope was used as input
and the output of the global-registration algorithm was one of the
five branches from the search space. In order to carry out the
tests, the bronchoscope was moved to each of the five different
branches and the video collected from this bronchoscope maneuver
was used in the testing. From the collected video, only those
frames that gave good bifurcation views were used in the study. A
total of 836 such frames were obtained. The global registration
algorithm gave an accuracy of 89% for the 836 frames (see FIG.
5A-5J). FIGS. 5A-5J show global registration results for airway
phantom. The top row (FIGS. 5A-5E) are the input bronchoscopic
video frames and the bottom row (FIGS. 5F-5J) are the VB images at
the bronchoscope position estimated by the algorithm.
Evaluation Using Multiple Frames
[0043] To evaluate the performance of the global registration
algorithm using multiple frames, the virtual cases described in
Table I were used. This test setup was the same as that used for
evaluation using virtual cases. We carried out two sets of tests.
In the first set, multiple "random views" of the same bifurcation
were used for testing. In this testing methodology, each of the
frames was independently evaluated by the global registration
algorithm. The frame that gave the lowest WNSSD metric (bestValue
from (12)) decided the branch location for the frames. In the
second set, test frames from two consecutive bifurcations were
used. Both the branches were independently evaluated. Of the two
test frames, the frame giving the lower WNSSD metric determined the
branch pair. The results for this set of testing has been
summarized in Table III. The global registration accuracy ranges
from 82% to 99%. In all of the above tests, the algorithm was found
to run in an average time of 2-3 seconds per search space
branch.
TABLE-US-00005 TABLE III Global registration accuracy in percent
when using multiple test frames for virtual bronchoscopic cases.
Two consecutive Case 3 frame 5 frame bifurcations number (set 1)
(set 1) (set 2) 47 94% 98% 89% 49 95% 99% 87% 61 85% 86% 82%
REFERENCES
[0044] 1. K. P. Wang, A. C. Mehta, and J. F. Turner, eds., Flexible
Bronchoscopy, 2nd. Ed., Blackwell Science, Cambridge, Mass., 2003.
[0045] 2. A. D. Sihoe and A. P. Yim, "Lung cancer staging," J.
Surgical Research, vol. 117, no. 1, pp. 92-106, March 2004. [0046]
3. J. P. Helferty, A. J. Sherbondy, A. P. Kiraly, and W. E.
Higgins, "Computer-based system for the virtual-endoscopic guidance
of bronchoscopy," Comput. Vis. Image Underst., vol. 108, no. 1-2,
pp. 171-187, October-November 2007. [0047] 4. W. E. Higgins, J. P.
Helferty, K. Lu, S. A. Merritt, L. Rai, and K. C. Yu, "3D CT-video
fusion for image-guided bronchoscopy," Comput. Med. Imaging Graph.,
vol. 32, no. 3, pp. 159-173, April 2008. [0048] 5. E. A. Kazerooni,
"High resolution CT of the lungs," Am. J. Roentgenology, vol. 177,
no. 3, pp. 501-519, September 2001. [0049] 6. N. C. Dalrymple, S.
R. Prasad, M. W. Freckleton, and K. N. Chintapalli, "Introduction
to the language of three-dimensional imaging with multidetector
CT," Radiographics, vol. 25, no. 5, pp. 1409-1428,
September-October 2005. [0050] 7. J. Ueno, T. Murase, K. Yoneda, T.
Tsujikawa, S. Sakiyama, and K. Kondoh, "Three-dimensional imaging
of thoracic diseases with multi-detector row CT," J. Med. Invest.,
vol. 51, no. 3-4, pp. 163-170, August 2004. [0051] 8. D. Osborne,
P. Vock, J. Godwin, and P. Silverman, "CT identification of
bronchopulmonary segments: 50 normal subjects," AJR, vol. 142, no.
1, pp. 47-52, January 1984. [0052] 9. M. Y. Dolina, D. C. Cornish,
S. A. Merritt, L. Rai, R. Mahraj, W. E. Higgins, and R. Bascom,
"Interbronchoscopist variability in endobronchial path selection: a
simulation study," Chest, vol. 133, no. 4, pp. 897-905, April 2008.
[0053] 10. F. Asano, Y. Matsuno, A. Tsuzuku, M. Anzai, N.
Shinagawa, H. Moriya, et al., "Diagnosis of peripheral pulmonary
lesions using a bronchoscope insertion guidance system combined
with endobronchial ultrasonography with a guide sheath," Lung
Cancer, vol. 60, no. 3, pp. 366-373, June 2008. [0054] 11. S. B.
Solomon, P. White, Jr., C. M. Wiener, J. B. Orens, and K. P. Wang,
"Three-dimensionsal CT-guided bronchoscopy with a real-time
electromagnetic position sensor: a comparison of two image
registration methods," Chest, vol. 118, no. 6, pp. 1783-1787,
December 2000. [0055] 12. T. R. Gildea, P. J. Mazzone, D. Karnak,
M. Meziane, and A. C. Mehta, "Electromagnetic navigation diagnostic
bronchoscopy: a prospective study," Am. J. Resp. Crit. Care Med.,
vol. 174, no. 9, pp. 982-989, 1 Nov. 2006. [0056] 13. Y. Schwarz,
J. Greif, H. D. Becker, A. Ernst, and A. Mehta, "Real-time
electromagnetic navigation bronchoscopy to peripheral lung lesions
using overlaid CT images: the first human study," Chest, vol. 129,
no. 4, pp. 988-994, April 2006. [0057] 14. W. E. Higgins, K.
Ramaswamy, R. Swift, G. McLennan, and E. A. Hoffman, "Virtual
bronchoscopy for 3D pulmonary image assessment: State of the art
and future needs," Radiographics, vol. 18, no. 3, pp. 761-778,
May-June 1998. [0058] 15. H. P. McAdams, P. C. Goodman, and P.
Kussin, "Virtual bronchoscopy for directing transbronchial needle
aspiration of hilar and mediastinal lymph nodes: a pilot study,"
Am. J. Roentgenology, vol. 170, no. 5, pp. 13614364, May 1998.
[0059] 16. K. Hopper, T. Lucas, K. Gleeson, J. Stauffer, R. Bascom,
D. Mauger, and R. Mahraj, "Transbronchial biopsy with virtual CT
bronchoscopy and nodal highlighting," Radiology, vol. 221, no. 2,
pp. 531-536, November 2001. [0060] 17. H. D. Becker, F. Herth, A.
Ernst, and Y. Schwarz, "Bronchoscopic biopsy of peripheral lung
lesions under electromagnetic guidance: a pilot study," J.
Bronchology, vol. 12, no. 1, pp. 9, January 2005. [0061] 18. N.
Shinagawa, K. Yamazaki, Y. Onodera, K. Miyasaka, E. Kikuchi, H.
Dosaka-Akita, and M. Nishimura, "CT-guided transbronchial biopsy
using an ultrathin bronchoscope with virtual bronchoscopic
navigation," Chest, vol. 125, no. 3, pp. 1138-1143, March 2004.
[0062] 19. K. Mori, K. Ishitani, D. Deguchi., T. Kitasaka, Y.
Suenaga, H. Takabatake, M. Mod, and H. Natori, "Compensation of
electromagnetic tracking system using an optical tracker and its
application to bronchoscopy navigation system," 2007, vol. 6509, p.
65090M, [0063] 20. I. Wegner, J. Biederer, R. Tetzlaff, I. Wolf,
and H.-P. Meinzer, "Evaluation and extension of a navigation system
for bronchoscopy inside human lungs," in SPIE Medical Imaging 2007:
Visualization and Image-Guided Procedures, Kevin R. Cleary and
Michael I. Miga, Eds., 2007, vol. 6509, pp. 65091H1-65091H12.
[0064] 21. T. D. Soper, D. R. Haynor, R. W. Glenny, and E. J.
Seibel, "Validation of CT-video registration for guiding a novel
ultrathin bronchoscope to peripheral lung nodules using
electromagnetic tracking," in Society of Photo-Optical
Instrumentation Engineers (SPIE) Conference Series, February 2009,
vol. 7261 of Society of Photo-Optical Instrumentation Engineers
(SPIE) Conference Series. [0065] 22. K. Mori, D. Deguchi, K.
Akiyama, T. Kitasaka, C. R. Maurer, Y. Suenaga, H. Takabatake, M.
Mod, and H. Natori, "Hybrid bronchoscope tracking using a magnetic
tracking sensor and image registration," in Medical Image Computing
and Computer Assisted Intervention 2005, J. Duncan and G. Gerig,
Eds., 2005, vol. LNCS 3750, pp. 543-550. [0066] 23. I. Bricault, G.
Ferretti, and P. Cinquin, "Registration of real and CT-derived
virtual bronchoscopic images to assist transbronchial biopsy," IEEE
Transactions on Medical Imaging, vol. 17, no. 5, pp. 703-714,
October 1998. [0067] 24. S. A. Merritt, L. Rai, and W. E. Higgins,
"Real-time CT-video registration for continuous endoscopic
guidance," in SPIE Medical Imaging 2006: Physiology, Function, and
Structure from Medical images, A. Manduca and A. A. Amini, Eds.,
2006, vol. 6143, pp. 370-384. [0068] 25. S. A. Merritt, J. D.
Gibbs, K. C. Yu, V. Patel, L. Rai, D. C. Cornish, R. Bascom, and W.
E. Higgins, "Real-time image-guided bronchoscopy for peripheral
lung lesions: A phantom study," Chest, vol. 134, no. 5, pp.
1017-1026, November 2008. [0069] 26. J. P. Helferty and W. E.
Higgins, "Technique for registering 3D virtual CT images to
endoscopic video," IEEE Int. Conf. image Processing, vol. II, pp.
893-896, Oct. 7-10 2001. [0070] 27. E-Y Kang, I. Cohen, and G.
Medioni, "A graph-based global registration for 2D mosaics," in
ICPR, 2000, pp. 1257-1260. [0071] 28. Y. Wang and Lu-ping L. Xu, "A
global optimized registration algorithm for image stitching," in
Image and Signal Processing, 2008. CISP '08. Congress on, May 2008,
vol. 3, pp. 525-529. [0072] 29. Y. Li and C. Davis, "A combined
global and local approach for automated registration of
high-resolution satellite images using optimum extrema points," in
Geoscience and Remote Sensing Symposium, 2008. IGARSS 2008. IEEE
International, July 2008, vol. 2, pp. II-1032-II-1035. [0073] 30.
A. Wong and D. Clausi, "ARRSI: Automatic registration of
remote-sensing images," Geoscience and Remote Sensing, IEEE
Transactions on, vol. 45, no. 5, pp. 1483-1493, May 2007. [0074]
31. N. Gelfand, N. J. Mitra, L. J. Guibas, and H. Pottmann, "Robust
global registration," in SGP 2005: Third Eurographics Symposium on
Geometry processing, Matthieu Desbrun and Helmut Pottmann, Eds.
2005, pp. 197-206, Eurographics Association. [0075] 32. L. Moreno,
S. Gamido, and D. Blanco, "Mobile robot global localization using
an evolutionary MAP filter," J. of Global Optimization, vol. 37,
no. 3, pp. 381-403, 2007. [0076] 33. P. Jensfelt and S. Kristensen,
"Active global localisation for a mobile robot using multiple
hypothesis tracking," IEEE Transactions on Robotics and Automation,
vol. 17, no. 5, pp. 748-760, October 2001. [0077] 34. K. O. Arras,
J. A. Castellanos, M. Schilt, and R. Siegwart, "Feature-based
multi-hypothesis localization and tracking using geometric
constraints," Robotics and Autonomous Systems, vol. 44, no. 1, pp.
41-53, 2003. [0078] 35. W. Burgard, D. Fox, D. Hennig, and T.
Schmidt, "Estimating the absolute position of a mobile robot using
position probability grids," in AAAI/IAAI, Vol. 2, 1996. [0079] 36.
F. Dellaert, D. Fox, W. Burgard, and S. Thrun, "Monte Carlo
localization for mobile robots," in IEEE International Conference
on Robotics and Automation (ICRA99), May 1999. [0080] 37. Z. Zhang,
"Adaptive region intensity based rigid ultrasound and CT image
registration," in Computer Vision and Pattern Recognition, 2008.
CVPR 2008. IEEE Conference on, June 2008, PP. 1-7. [0081] 38. H.
Munim and A. Farag, "A new global registration approach of medical
imaging using vector maps," in Biomedical Imaging: From Nano to
Macro, 2007, ISBI 2007. 4th IEEE International Symposium on, April
2007, pp. 584-587. [0082] 39. M. H. Moghari and P. Abolmaesumi,
"Global registration of multiple bone fragments using statistical
atlas models: Feasibility experiments," in Engineering in Medicine
and Biology Society, 2008. EMBS 2008. 30th Annual international
Conference of the IEEE, August 2008, pp. 5374-5377. [0083] 40. C.
Fookes, J. Williams, and M. Bennamoun, "Global 3D rigid
registration of medical images," in Image Processing, 2000.
Proceedings. 2000 International Conference on, 2000, vol. 2, pp.
447-450. [0084] 41. R. Shinohara, K. Mori, D. Deguchi, T. Kitasaka,
Y. Suenaga, H. Takabatake, M. Mori, and H. Natori, "Branch
identification method for CT-Guided bronchoscopy based on
eigenspace image matching between real and virtual bronchoscopic
images," in SPIE Medical Imaging 2006: Physiology, Function, and
Structure from Medical Images, A. Manduca and A. A. Amini, Eds.,
March 2006, vol. 6143, pp. 385-396. [0085] 42. J. P. Helferty, C.
Zhang, G. McLennan, and W. E. Higgins, "Videoendoscopic distortion
correction and its application to virtual guidance of endoscopy,"
IEEE Trans. Med. Imaging, vol. 20, no. 7, pp. 605-617, July 2001.
[0086] 43. M. W. Graham, J. D. Gibbs, D. C. Cornish, M. Khan, R.
Bascom, and W. E. Higgins, "Image-guided peripheral bronchoscopy: A
pilot human study," Chest, under review, 2009. [0087] 44. W. E.
Lorensen and H. E. Cline, "Marching cubes: A high resolution 3D
surface construction algorithm," Computer Graphics, vol. 21, no. 4,
pp. 163-169, July 1987. [0088] 45. R. S. Wright, Jr., and B.
Lipchak, OpenGL Super Bible, 3rd. Ed., SAMS Publishing, 2005.
[0089] 46. G. Weifi, C. Wetzler, and E. V. Puttkamer, "Keeping
track of position and orientation of moving indoor systems by
correlation of range-finder scans," in In Proc. 1994 IEEE Int.
Conf: on Intelligent Robots and Systems IROS '94, 1994, pp.
595-601. [0090] 47. J. L. Bentley, F. P. Preparata, and M. G.
Faust, "Approximation algorithms for convex hulls," Commun. ACM,
vol. 25, no. 1, pp. 64-68, 1982.
* * * * *