U.S. patent application number 11/437001 was filed with the patent office on 2006-12-28 for apparatus and method for imaging objects with wavefields.
This patent application is currently assigned to Techniscan, Inc.. Invention is credited to Michael J. Berggren, David T. Borup, Douglas A. Christensen, Steven A. Johnson, Frank Natterer, Frank Stenger, James W. Wiskin, F. Wubbeling, Yongzhi Zhang.
Application Number | 20060293597 11/437001 |
Document ID | / |
Family ID | 24836632 |
Filed Date | 2006-12-28 |
United States Patent
Application |
20060293597 |
Kind Code |
A1 |
Johnson; Steven A. ; et
al. |
December 28, 2006 |
Apparatus and method for imaging objects with wavefields
Abstract
A transmission wave field imaging method, comprising the
transmission of an incident wave field into an object, the incident
wave field propagating into the object and, at least, partially
scattering. Also includes the measuring of a wave field
transmitted, at least in part, through an object to obtain a
measured wave field, the measured wave field based, in part, on the
incident wave field and the object. Additionally, the processing of
the measured wave field utilizing a parabolic approximation
reconstruction algorithm to generate an image data set representing
at least one image of the object.
Inventors: |
Johnson; Steven A.; (Sal
Lake City, UT) ; Borup; David T.; (Salt Lake City,
UT) ; Wiskin; James W.; (Salt Lake City, UT) ;
Berggren; Michael J.; (Salt Lake City, UT) ;
Natterer; Frank; (Muenster, DE) ; Wubbeling; F.;
(Muenster, DE) ; Zhang; Yongzhi; (Madison, WI)
; Christensen; Douglas A.; (Salt Lake City, UT) ;
Stenger; Frank; (Salt Lake City, UT) |
Correspondence
Address: |
Garron M. Hobson
P.O. Box 1219
Sandy
UT
84070-0562
US
|
Assignee: |
Techniscan, Inc.
|
Family ID: |
24836632 |
Appl. No.: |
11/437001 |
Filed: |
May 17, 2006 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10615569 |
Jul 7, 2003 |
|
|
|
11437001 |
May 17, 2006 |
|
|
|
10024035 |
Dec 17, 2001 |
6636584 |
|
|
10615569 |
Jul 7, 2003 |
|
|
|
09471106 |
Dec 21, 1999 |
6587540 |
|
|
10024035 |
Dec 17, 2001 |
|
|
|
08706205 |
Aug 29, 1996 |
|
|
|
09471106 |
Dec 21, 1999 |
|
|
|
Current U.S.
Class: |
600/437 |
Current CPC
Class: |
G01S 15/8977 20130101;
G06T 11/001 20130101; A61B 5/7257 20130101; G01S 15/895 20130101;
A61B 8/4281 20130101; A61B 8/0825 20130101; A61B 8/406 20130101;
A61B 8/4483 20130101; A61B 8/14 20130101; A61B 8/4209 20130101;
A61B 8/15 20130101; G01S 13/89 20130101; A61B 5/4312 20130101; A61B
8/485 20130101 |
Class at
Publication: |
600/437 |
International
Class: |
A61B 8/00 20060101
A61B008/00 |
Claims
1. A wave field imaging method, comprising: transmitting incident
wave fields into an object, the incident wave fields propagating
into the object and, at least, partially scattering; measuring a
transmission wave field transmitted, at least in part, through the
object, the transmission wave field being defined, in part, by the
incident wave field and the object; measuring a reflected wave
field reflected from the object, the reflected wave field being
defined, in part, by the incident wave field and the object;
processing the reflected wave field to form a reflection data set;
and processing the transmission wave field to form a transmission
data set.
2. The method of claim 1, further comprising obtaining
speed-of-sound and attenuation values from the transmission data
set, the speed-of-sound values corresponding to a speed of
ultrasound wave fields through tissue, the attenuation values
corresponding to an amount of attenuation of ultrasound wave fields
propagating through the tissue.
3. The method of claim 1, further comprising constructing a
speed-of-sound image from the transmission data set; constructing
an attenuation image from the transmission data set; and displaying
the speed-of-sound image and the attenuation image.
4. The method of claim 1, further comprising obtaining
speed-of-sound values from the transmission data set, the
speed-of-sound values corresponding to a speed of ultrasound wave
fields through tissue and modifying the reflection data set based
on the speed of sound values.
5. The method of claim 1, further comprising obtaining
speed-of-sound values from the transmission data set, and modifying
the reflection data set based on the speed of sound values to
correct the reflection data set for refraction.
6. The method of claim 1, wherein the processing includes
constructing a B-scan image from the reflection data set.
7. The method of claim 1, wherein the object is a breast and the
processing generates the reflected and transmission data sets of a
breast during a breast scan.
8. The method of claim 1, wherein the transmission data set
represents quantitative estimates of a speed-of-sound associated
with the object.
9. The method of claim 1, wherein the transmission data set
represents quantitative estimates of an attenuation associated with
the object.
10. The method of claim 1, further comprising forming and
displaying at least one of a transmission image and reflected image
from the transmission and reflection data sets.
11. The method of claim 1, further comprising forming and
co-displaying transmission and reflected images from the
transmission and reflection data sets.
12. The method of claim 1, wherein the incident wave field
comprises at least one of acoustic energy, elastic energy,
electromagnetic energy and microwave energy.
13. The method of claim 1, wherein the transmitting and measuring
are performed by a transmitter and receiver, respectively, the
method further comprising moving at least one of the transmitter
and receiver with respect to the object.
14. The method of claim 1, further comprising repeating the
transmitting and measuring at multiple slices within the object to
generate a 3D volume of data.
15. The method of claim 1, further comprising displaying 2-D images
representative of slices through the object based on at least one
of the transmission and reflection data sets.
16. The method of claim 1, further comprising displaying a 3-D
image of at least a portion of the object based on at least one of
the transmission and reflection data sets.
17. An ultrasound scanner, comprising: first and second arrays of
transducer elements, at least one of the first and second arrays
transmitting incident wave fields into an object, the incident wave
fields propagating into the object and, at least, partially
scattering, at least one of the first and second arrays measuring a
transmission wave field transmitted, at least in part, through the
object, the transmission wave field being defined, in part, by the
incident wave field and the object; at least one of the first and
second arrays measuring a reflected wave field reflected from the
object, the reflected wave field being defined, in part, by the
incident wave field and the object; and a processing module
processing the reflected wave field to form a reflection data set
and processing the transmission wave field to form a transmission
data set.
18. The scanner of claim 17, wherein the processing module obtains
speed-of-sound and attenuation values from the transmission data
set, the speed-of-sound values corresponding to a speed of
ultrasound wave fields through tissue, the attenuation values
corresponding to an amount of attenuation of ultrasound wave fields
propagating through the tissue.
19. The scanner of claim 17, wherein the processing module
constructs a speed-of-sound image from the transmission data set,
constructs an attenuation image from the transmission data set and
displays the speed-of-sound image and the attenuation image.
20. The scanner of claim 17, wherein the processing module obtains
speed-of-sound values from the transmission data set, the
speed-of-sound values corresponding to a speed of ultrasound wave
fields through tissue, the processing module modifying the
reflection data set based on the speed of sound values.
21. The scanner of claim 17, wherein the processing module obtains
speed-of-sound values from the transmission data set, and modifies
the reflection data set based on the speed of sound values to
correct the reflection data set for refraction.
22. The scanner of claim 17, wherein the processing module obtains
speed-of-sound values from the transmission data set, and modifies
the reflection data set based on the speed of sound values to
improve ultrasound reflectivity spatial resolution of the
reflection data set.
22. The scanner of claim 17, wherein the processing module
generates, based on the transmission and reflection data sets, a
reflection tomographic image having spatial resolution of at least
0.65mm.
23. The scanner of claim 17, wherein the processing module
generates, based on the transmission and reflection data sets, a
reflection tomographic image having spatial resolution of between
0.3mm and 0.65mm.
24. The scanner of claim 17, wherein the incident wave field is
transmitted into the object at a fundamental frequency of
approximately 5MHz.
25. The scanner of claim 17, further comprising opposed first and
second compression plates, the first and second arrays being held
by the first and second compression plates, respectively, the first
and second plates being moveable toward one another to compress
there between an object to be scanned.
26. The scanner of claim 17, further comprising opposed first and
second compression plates, the first and second arrays being held
by the first and second compression plates, respectively, facing
one another and aligned parallel to one another.
27. The scanner of claim 17, wherein the scanner constitutes a
breast scanner and further comprising opposed first and second
compression plates, the first and second arrays being held by the
first and second compression plates, respectively, facing one
another and aligned parallel to one another, the first and second
compression plates being configured to compress a breast during a
mammogram.
28. The scanner of claim 17, wherein the first and second arrays
each include 1-D arrays.
29. The scanner of claim 17, wherein the first and second arrays
each include 2-D arrays.
30. The scanner of claim 17, further comprising a display
displaying a B-scan image generated based on the reflection and
transmission data sets.
31. The scanner of claim 17, wherein the transmission data set
represents quantitative estimates of a speed-of-sound associated
with the object.
32. The scanner of claim 17, wherein the transmission data set
represents quantitative estimates of an attenuation associated with
the object.
33. The scanner of claim 17, further comprising a display
displaying at least one of a transmission image and reflected image
from the transmission and reflection data sets.
34. The scanner of claim 17, further comprising a display
co-displaying transmission and reflected images from the
transmission and reflection data sets.
35. The scanner of claim 17, further comprising a display
displaying a 3-D image of at least a portion of the object based on
at least one of the transmission and reflection data sets.
Description
PRIORITY CLAIM
[0001] This is a continuation of U.S. patent application Ser. No.
10/615,569, filed Jul. 7, 2003, which is a continuation of U.S.
patent application Ser. No. 10/024,035, filed on Dec. 17, 2001, now
U.S. Pat. No. 6,636,584, which is a continuation of U.S. patent
application Ser. No. 09/471,106, filed on Dec. 21, 1999, now U.S.
Pat. No. 6,587,540, which is a continuation-in-part of U.S. patent
application Ser. No. 08/706,205, filed on Aug. 29, 1996, now
abandoned; which are all herein incorporated by reference.
INCORPORATION BY REFERENCE
[0002] Material on one (1) compact disc accompanying this patent
and labeled COPY 1, an exact copy of which is also included and is
labeled as COPY 2, is incorporated herein by reference in it's
entirety for all purposes. The compact disc has a software appendix
thereon in the form of the following three (3) files: [0003]
Appendix A.txt, Size: 16 Kbytes, Created: Aug. 13, 2001; [0004]
Appendix B.txt, Size: 19 Kbytes, Created: Aug. 13, 2001; and [0005]
Appendix C.txt, Size: 1 Kbytes, Created: Aug. 13, 2001.
COPYRIGHT NOTICE
[0006] A portion of the disclosure of this patent document contains
material to which a claim of copyright protection is made. The
copyright owner(s) has/have no objection to the facsimile
reproduction by any one of the patent document or the patent
disclosure as it appears in the Patent and Trademark Office patent
file or records, but reserves all other rights in the copyrighted
word.
BACKGROUND OF THE INVENTION
[0007] It has long been known that elastic, electromagnetic or
acoustic waves in homogeneous and layered environments in the
frequency range of a fraction of a cycle per second up to hundreds
of millions of cycles per second and higher can be propagated
through many solids and liquids. Elastic waves are waves that
propagate through solids, and have components of particle motion
both parallel (longitudinal, or pressure, wave) and perpendicular
(shear wave) to the direction of propagation of the wave energy
itself. In contrast to this, acoustic waves are those waves that
generate particle motion that is exclusively parallel to the
propagation of wave energy. Electromagnetic waves have components
of variation of field strength solely in the direction
perpendicular to the direction of propagation. All of these types
of waves may be used to image the acoustic longitudinal wavespeed
and absorption, the electromagnetic wavespeed and absorption, the
shear wavespeed, and the density of the material through which the
wave energy has travelled.
[0008] It is also known that scattering is produced not only by
spatial fluctuations in acoustic impedance, which is the product of
mass density times wavespeed, but also by independent fluctuations
in electromagnetic permeability, permittivity and conductivity,
elastic compressibility, shear modulus, density, and absorption.
These lead to variations in phase speed (which is the speed of
propagation of fronts of constant phase) and in impedance (for the
electromagnetic case, the ratio of the electric to the magnetic
field strength). The net property of an object which describes the
phenomenon of scattering in a given modality, is called the
"scattering potential".
[0009] Other imaging methods have been applied to one or the other
modality, or restricted to acoustic or elastic media, the method
described in this patent is applicable to any type of wave motion,
whether electromagnetic, elastic (including shear wave effects) or
acoustic (scalar approximation valid in liquid and gases).
[0010] Furthermore, the ambient media may have some forms of
structure (layering) or microstructure (porosity) relevant to the
medical, geophysical, or nondestructive imaging applications
envisioned for this technology. In the prior art the presence of
this layering or porosity has greatly diminished the effectiveness
of the imaging program. The method of this patent minimizes the
obscuring effect of such structures in the ambient media. In
addition, we have made several changes to the previous U.S. Pat.
No. 4,662,222 that significantly extend the applicability and speed
of our algorithm. These changes are described, in part, below:
[0011] As discussed in U.S. Pat. No. 4,662,222, by one of the
present authors, these principles can be used to image scattering
bodies within a given medium. Some definitions will clarify the
procedures and methods used:
[0012] The direct or forward scattering problem is concerned with a
determination of the scattered energy or fields when the elastic or
electromagnetic properties of the scattering potential are
known.
[0013] The inverse scattering problem, by contrast, consists in the
use of scattered electromagnetic, elastic, or acoustic waves to
determine the internal material properties of objects embedded in a
known (ambient) medium. An incident wave field is imposed upon the
ambient medium and the scatterer. The scattered field is measured
at detectors placed a finite distance from the scattering objects.
The material parameters of the scatterer are then reconstructed
from the information contained in the incident and scattered
fields. In other words, as defined herein, acoustic or
electromagnetic imaging using inverse scattering techniques is
intended to mean electronic or optical reconstruction and display
of the size shape, and unique distribution of material elastic or
electromagnetic and viscous properties of an object scanned with
acoustic, electromagnetic or acoustic energy, i.e., reconstruction
of that scattering potential which, for a given incident field and
for a given wave equation, would replicate a given measurement of
the scattered field for any source location.
[0014] The description of prior art summarized in U.S. Pat. No.
4,662,222 (referred to as "the previous Patent") is also relevant
here. It is sufficient to say here, that the use of the conjugate
gradient algorithms discussed in the previous patent brought the
attainment of inverse scattering into a practical reality. Previous
to that Patent (U.S. Pat. No. 4,662,222), only linear
approximations to the full inverse scattering problem were amenable
to solution, even with the aid of modern high speed digital
computers. The resolution achievable with the inverse scattering
methods described in the previous patent was far superior to any
ultrasound imaging in medicine previous to that time.
[0015] This invention is designed to provide improved imaging of
bodies using wave field energy such as ultrasound energy,
electromagnetic energy, elastic wave energy or Biot wave energy. In
particular it is designed to provide improved imaging for medical
diagnostic applications, for geophysical imaging applications, for
environmental imaging applications, for seismic applications, for
sonar applications, for radar applications and for similar
applications where wave field energy is used to probe and image the
interior of objects.
[0016] In particular, this invention has important applications to
the field of medical diagnosis with specific value to improved
breast cancer detection and screening. The present method of choice
is mammography. This choice is not supported by the outstanding
performance of mammography, but rather because it is the most
diagnostically effective for its present cost per exam. Another
reason for the wide spread use of mammography is the inertia of
changing to other modalities. It is known that hand-probe-based,
clinical reflection ultrasound can match the performance of
mammography in many cases, but only in the hands of specially
trained ultrasound radiologists. Today and in the foreseeable
future, there are more mammography machines and radiologists
trained to use them than there are trained ultrasound radiologists
that have access to high quality ultrasound scanners. Sophisticated
breast cancer diagnostic centers use both mammography and
ultrasound to compensate for weakness in either approach when used
alone. When used alone, ultrasound and mammography require a biopsy
to remove a sample of breast tissue for pathology lab analysis to
determine whether a sampled lesion is cancerous or benign.
[0017] Even when mammography and ultrasound are used together, the
specificity for discriminating between cancer and fibrocystic
condition or between cancerous tumor and a fibroadenoma is not high
enough to eliminate the need for biopsy in 20 to 30 percent of
lesions. Given that early diagnosis of breast cancer can ensure
survival and that one woman in eight will have breast cancer in her
life, it is important to the general population for cancer to be
detected as early as possible. Detection of cancer in an early
stage for biopsy is thus very important. However, biopsy of benign
lesions is traumatic to the patient and expensive. A mammogram
costs about $90 but a biopsy is about ten times more expensive.
Thus, it is important that a breast cancer diagnostic system have
high specificity and sensitivity to eliminate unnecessary biopsies.
Increasing the rate of diagnostic true positives to near 100
percent will identify all lesions as a cancer that are cancer
without the need to biopsy. However, it is also necessary to
increase the rate of true negatives to near 100 percent to
eliminate biopsy of benign lesions. Neither mammography or
ultrasound or their joint use has provided the combination of
sensitivity and specificity to eliminate biopsy or to detect all
cancers early enough to insure long term survival after breast
cancer surgery for all women that have had breast exams.
[0018] There does not seem to be any obvious improvements in
present mammography or hand-probe-based, clinical reflection
ultrasound that can significantly improve these statistics.
However, there is reason to believe that inverse scattering
ultrasound tomography or electric impedance tomography can provide
improved diagnostic sensitivity or specificity when used separately
or jointly with themselves and with ultrasound and/or mammography.
Inverse scattering ultrasound imaging provides several advantages
over present clinical reflection ultrasound that uses hand held
ultrasound probes. A hand held probe is a transducer assembly that
scans an area of the patient's body below the probe. Probes
consisting of mechanical scanning transducers and probes comprising
electronically scanned arrays of transducer elements are both well
developed technologies.
[0019] Inverse scattering has the following advantages over said
clinical reflection ultrasound. Inverse scattering images have the
following features: (1) two separate images can be made, one of
speed of sound and one of acoustic absorption; (2) these images are
a quantitative representation of actual acoustic bulk tissue
properties; (3) the images are machine independent; (4) the images
are operator independent; (5) the images are nearly free of speckle
and other artifacts; (6) all orders of scattering tend to be used
to enhance the images and do not contribute to artifacts or degrade
the images; (7) the images of speed of sound and absorption create
a separation of tissues into classes (fat, benign fluid filled
cyst, cancer, and fibroadenoma), although the cancer and
fibroadenoma values tend to overlap; (8) the speed of sound and
acoustic absorption images have excellent spatial resolution of 0.3
to 0.65 mm at or below 5 MHz; and (9) the speed of sound images can
be used to correct reflection tomography for phase aberration
artifacts and improve ultrasound reflectivity spatial resolution.
Inverse scattering easily discriminates fat from other tissues,
while mammography and present clinical ultrasound cannot.
[0020] Because of the similar values of speed of sound and acoustic
absorption between cancer and fibrocystic condition (including
fibroadenoma), it is not known whether inverse scattering will
provide the required high level of specificity to eliminate biopsy.
Perhaps this performance could be achieved if inverse scattering
were combined with reflection ultrasound (including reflection
tomography) or with mammography or with both.
[0021] A traditional problem with inverse scattering imaging is the
long computing times required to make an image. Diffraction
Tomography is an approximation to inverse scattering that uses a
first order perturbation expansion of some wave equation.
Diffraction Tomography is extremely rapid in image computation, but
suffers the fatal flaw for medical imaging of producing images that
are blurred and not of acceptable quality for diagnostic purposes
and it is not quantitatively accurate. In our last patent
application, we addressed the computational speed problem with
inverse scattering and showed how to increase the calculation speed
by two orders of magnitude over finite difference methods and
integral equation methods. This speed up in performance was
achieved by use of a parabolic marching method. This improvement in
speed was sufficient to allow single 2D slices to be imaged at
frequencies of 2 MHz using data collected in the laboratory.
However, making a full 3-D image with a 3D algorithm or even from
several, stacked 2-D image slices made with a 2D algorithm would
have required computing speed not available then and only becoming
available now.
[0022] Another imaging modality that has been investigated for
detecting breast cancer is EIT (electrical impedance tomography).
This modality has been investigated for many years and many of its
features are well known. One of its great advantages for breast
cancer detection is its high selectivity between cancer and
fibrocystic conditions including fibroadenoma. Cancer has high
electrical conductivity (low electrical impedance) while
fibrocystic conditions and fibroadenoma have low electrical
conductivity (high electrical impedance). However, EIT has poor
spatial resolution. Also EIT requires the use of inversion
algorithms similar (in a general sense) to those of inverse
scattering. In addition EIT algorithms have mostly been used to
make 2-D images. Work on making 3-D EIT images is less developed
because of the increased computer run time of 3-D algorithms.
[0023] Other problems with mammography may be listed, such as the
pain associated with compressing the breast between two plates to
reduce the thickness of the breast in order to improve image
contrast and cancer detection potential. Another problem is the
accumulated ionizing radiation dose over years of mammography. It
is true that a single mammogram has a very low x-ray dose,
especially with modern equipment. However, if mammograms are taken
every year from age 40 or earlier, by age 60 to 70 the accumulated
dose begins to cause breast cancer. The effect is slight, and the
benefits of diagnosis outweigh this risk. Nevertheless, it would be
an advantage to eliminate this effect. Mammography is not useful in
many younger women (because of the tendency for greater breast
density) or older women with dense breasts (such as lactating
women). About 15 percent of women have breasts so dense that
mammography has no value and another 15 percent of women have
breasts dense enough that the value of mammography is questionable.
Thus 30 percent of all mammograms are of questionable or zero value
because of image artifacts from higher than normal breast
density.
SUMMARY OF THE INVENTION
[0024] The present invention provides for a wave field imaging
method including transmitting incident wave fields into an object.,
the incident wave fields propagating into the object and, at least,
partially scattering. A transmission wave field transmitted, at
least in part, through the object can be measured. The transmission
wave field can be defined, in part, by the incident wave field and
the object. A reflected wave field reflected from the object can
also be measured. The reflected wave field can be defined, in part,
by the incident wave field and the object. The reflected wave field
can be processed to form a reflection data set. The transmission
wave field can also be processed to form a transmission data
set.
[0025] The method above further describes obtaining speed-of-sound
and attenuation values from the transmission data set. The
speed-of-sound values can correspond to a speed of ultrasound wave
fields through tissue, and the attenuation values can correspond to
an amount of attenuation of ultrasound wave fields propagating
through the tissue.
[0026] The method of above further describes constructing a
speed-of-sound image from the transmission data set. An attenuation
image can be constructed from the transmission data set, and the
speed-of-sound image and the attenuation image can be
displayed.
[0027] The method above further describes obtaining speed-of-sound
values from the transmission data set. The speed-of-sound values
can correspond to a speed of ultrasound wave fields through tissue
and the reflection data set can be modified based on the speed of
sound values. The reflection data set can also be modified based on
the speed of sound values to correct the reflection data set for
refraction.
[0028] The method above further describes processing includes
constructing a B-scan image from the reflection data set. Moreover,
the object can be a breast and the processing can generate the
reflected and transmission data sets of a breast during a breast
scan.
[0029] The method above further describes the transmission data set
can represent quantitative estimates of a speed-of-sound associated
with the object. The transmission data set can also represent
quantitative estimates of an attenuation associated with the
object.
[0030] The method above further describes forming and displaying at
least one of a transmission image and reflected image from the
transmission and reflection data sets. Moreover, the transmission
and reflected images can be formed and co-displayed from the
transmission and reflection data sets.
[0031] The method above further describes the incident wave field
can include at least one of acoustic energy, elastic energy,
electromagnetic energy and microwave energy.
[0032] The method above further describes the transmitting and
measuring can be performed by a transmitter and receiver,
respectively, and at least one of the transmitter and receiver can
be moved with respect to the object. Additionally, the transmitting
and measuring can be repeated at multiple slices within the object
to generate a 3D volume of data.
[0033] The method above further describes displaying 2-D images
representative of slices through the object based on at least one
of the transmission and reflection data sets. Additionally, a 3-D
image of at least a portion of the object can be displayed based on
at least one of the transmission and reflection data sets.
[0034] The present invention also describes an ultrasound scanner
device including first and second arrays of transducer elements,
and at least one of the first and second arrays can transmit
incident wave fields into an object. The incident wave fields can
propagate into the object, and at least partially scattering.
Additionally, at least one of the first and second arrays can
measure a transmission wave field transmitted, at least in part,
through the object. The transmission wave field can be defined, in
part, by the incident wave field and the object. At least one of
the first and second arrays can also a reflected wave field
reflected from the object with the reflected wave field being
defined, in part, by the incident wave field and the object. A
processing module can process the reflected wave field to form a
reflection data set and can also process the transmission wave
field to form a transmission data set.
[0035] The device above also describes that the processing module
can obtain speed-of-sound and attenuation values from the
transmission data set. The speed-of-sound values can correspond to
a speed of ultrasound wave fields through tissue, and the
attenuation values can correspond to an amount of attenuation of
ultrasound wave fields propagating through the tissue. Additionally
the processing module can construct a speed-of-sound image from the
transmission data set, and can also construct an attenuation image
from the transmission data set and displays the speed-of-sound
image and the attenuation image. The processing module can also
obtain speed-of-sound values from the transmission data set. The
speed-of-sound values can correspond to a speed of ultrasound wave
fields through tissue, and the processing module can modify the
reflection data set based on the speed of sound values. The
processing module can also obtain speed-of-sound values from the
transmission data set, and modify the reflection data set based on
the speed of sound values to correct the reflection data set for
refraction. The processing module can also obtain speed-of-sound
values from the transmission data set, and can modify the
reflection data set based on the speed of sound values to improve
ultrasound reflectivity spatial resolution of the reflection data
set. The processing module can also generate, based on the
transmission and reflection data sets, a reflection tomographic
image having spatial resolution of at least 0.65 mm. The processing
module can also generate, based on the transmission and reflection
data sets, a reflection tomographic image having spatial resolution
of between 0.3 nm and 0.65 mm.
[0036] The method above further describes that the incident wave
field can be transmitted into the object at a fundamental frequency
of approximately 5 MHz.
[0037] The method above further describes opposed first and second
compression plates with the first and second arrays being held by
the first and second compression plates, respectively, and the
first and second plates being moveable toward one another to
compress there between an object to be scanned. Additionally, the
first and second arrays can be held by the first and second
compression plates, respectively, facing one another and aligned
parallel to one another.
[0038] The method above further describes that the scanner
constitutes a breast scanner including opposed first and second
compression plates with the first and second arrays being held by
the first and second compression plates, respectively, facing one
another and aligned parallel to one another. The first and second
compression plates can be configured to compress a breast during a
mammogram.
[0039] The method above further describes that the first and second
arrays each include 1-D arrays. Additionally, the first and second
arrays can each include 2-D arrays.
[0040] The method above further describes that the transmission
data set can represent quantitative estimates of a speed-of-sound
associated with the object. Additionally, the transmission data set
can represent quantitative estimates of an attenuation associated
with the object.
[0041] The method above further describes a display that can
display a B-scan image generated based on the reflection and
transmission data sets.33. Additionally, a display can display at
least one of a transmission image and reflected image from the
transmission and reflection data sets. A display can also
co-display transmission and reflected images from the transmission
and reflection data sets. A display can also display a 3-D image of
at least a portion of the object based on at least one of the
transmission and reflection data sets.
BRIEF DESCRIPTION OF THE DRAWINGS
[0042] In order that the manner in which the above-recited and
other advantages and objects of the invention are obtained, a more
particular description of the invention briefly described above
will be rendered by reference to specific embodiments thereof which
are illustrated in the appended drawings. Understanding that these
drawings depict only typical embodiments of the invention and are
not therefore to be considered limiting of its scope, the invention
will be described and explained with additional specificity and
detail through the use of the accompanying drawings in which:
[0043] FIG. 1 is a side-elevational view shown partially in cross
section which schematically illustrates an acoustic scanner which
may be used with the apparatus and method of the present
invention;
[0044] FIG. 1A is a two dimensional view of a cross-borehole
geometry imaging method, according to the present invention, using
inverse scattering;
[0045] FIG. 1B is a two dimensional view of a reflection geometry
imaging method, according to the present invention, using inverse
scattering with both a wave energy source means and wave energy
detection means juxtaposed to the image field;
[0046] FIG. 1C is a two dimensional view of a reflection geometry
imaging method, according to the present invention, using inverse
scattering with a remote wave energy source means and remote wave
energy detection means;
[0047] FIG. 2 is a perspective view illustrating one type of
configuration which may be used for the transducer arrays employed
in the scanner of FIG. 1;
[0048] FIG. 3 is a top view of the transducer arrays shown in FIG.
2;
[0049] FIGS. 4A-4B are schematic diagrams illustrating one
embodiment of an electronic system that may be used to implement
the apparatus and method of the present invention, generally
illustrate the invention in both the acoustic and electromagnetic
wavefield case;
[0050] FIG. 4A illustrates, with the use of an array processor, the
scanning of an object using multiple frequencies, the frequency of
an oscillator being changed several times at each illustrated
transmitter position, so that sequential multiple frequencies may
be transmitted by changing the frequency of the oscillator;
[0051] FIGS. 4C-4F schematically illustrate how electronic
multiplexing may be used to eliminate the need for mechanical
rotation, thus further enhancing system performance;
[0052] FIG. 4C shows n transducer elements in a circular array
closely spaced to form a continuous array surrounding a body for
use in the present inventive method of electronically multiplexing
the array elements to eliminate the need for mechanical
rotation;
[0053] FIG. 4D illustrates the transducers arranged in a linear
fashion for pure electronic multiplexing of a linear transducer
array according to the present invention.
[0054] FIG. 4E is an electrical schematic diagram showing how the
elements in FIGS. 4C and 4D may be switched to act as either a
transmitter or receiver by use of an active switch. FIG. 4F shows
how a passive network of diodes and resistors may be used to allow
a single element to act as either a transmitter or a receiver, or
in both capacities by the use of diode networks to isolate the
transmitter from the receiver circuits according to the present
invention;
[0055] FIG. 4G is an electrical schematic illustration of a Bow-Tie
Antennae used with the apparatus and method of the present
invention;
[0056] FIG. 4H is an electrical schematic illustration of a
Log-Periodic Antennae used with the apparatus and method of the
present invention;
[0057] FIG. 4I is an electrical schematic illustration of a Spiral
Antennae used with the apparatus and method of the present
invention;
[0058] FIGS. 5A and 5B schematically illustrate another electronic
system which can be used to implement the apparatus and method of
the present invention;
[0059] FIG. 5A shows multiple frequency signals transmitted by
selecting and generating a type of waveform which inherently
includes multiple frequencies, and using a parallel processor, so
as to produce repetitive narrow bandwidth signals or a wide
bandwidth signal, which differs from the system shown in FIG. 4A in
that the amplified analog signals output by a preamplifier are
digitized by a high-speed analog-to-digital converter rather than
being input to a phase detector;
[0060] FIG. 5B shows a waveform generator having five basic
components;
[0061] FIG. 6A is a system block diagram of an optical microscope
used with the apparatus and method of the present invention;
[0062] FIG. 6B is a perspective view which schematically
illustrates an interferometer used with the apparatus and method of
the present invention;
[0063] FIG. 7 shows parallelization of the forward problem
according to the present invention;
[0064] FIG. 8 illustrates a generic imaging algorithm, according to
the present invention;
[0065] FIGS. 9A through 9D detail an expanded imaging algorithm
with respect to that shown in FIG. 8 which schematically
illustrates a flow diagram for programming a computer or
combination of computer and array processor or parallel processor
to enable the computer or combination mentioned to control the
electronic system of FIG. 4 or 5 and the apparatus of FIGS. 1-3 so
as to rapidly develop a reconstruction of the image of an object
from scattered acoustic energy using inventive scattering
techniques, in accordance with one presently preferred method of
the invention;
[0066] FIG. 10 shows the generic solution to the forward problem
according to the present invention;
[0067] FIGS. 11A-1, 11A-2 show the generic solution to the forward
problem (or any square system) using a biconjugate gradient
algorithm according to the present invention;
[0068] FIGS. 11B-1, 11B-2 show the generic solution to the forward
problem using the stabilized conjugate gradient algorithm,
according to the present invention;
[0069] FIG. 11C illustrates the application of the
Lippmann-Schwinger Operator to the internal field estimate
according to the present invention;
[0070] FIG. 12 illustrates the application of the
Lippmann-Schwinger Operator in the presence of layering to the
internal field estimate according to the present invention;
[0071] FIG. 13 illustrates the application of the Hermitian
conjugate of the Lippmann-Schwinger operator;
[0072] FIG. 14 illustrates the application of the second
Lippmann-Schwinger operator in the generic case;
[0073] FIG. 15 illustrates the application of Hermitian conjugate
of the second Lippmann Schwinger Operators. FIG. 15 also
illustrates a subroutine for the Top Loop Box in FIG. 8, according
to the present invention;
[0074] FIG. 16 illustrates a rectangular scattering matrix
according to the present invention;
[0075] FIG. 17 illustrates a N-by-N scattering region according to
the present invention;
[0076] FIG. 18 illustrates a N-by-N scattering coalesced region
according to the present invention;
[0077] FIGS. 19A and B illustrate application of the Hermitian
conjugate of the Jacobian Matrix in the presence of layering
according to the present invention;
[0078] FIGS. 20A through 20C illustrate application of the Jacobian
Matrix in the generic case (free space--or no layering), according
to the present invention;
[0079] FIG. 21 illustrates the propagation or transportation of
fields from image space to detector position;
[0080] FIG. 22 the illustrates application the Hermitian conjugate
of transportation of fields from image space to detector
position;
[0081] FIGS. 23A and B illustrates application the Jacobian Matrix
with correlation, according to the present invention;
[0082] FIG. 24 shows a transducer coupling according to the present
invention;
[0083] FIGS. 25A, B. and C illustrates application of the Hermitian
Jacobian Matrix in the generic case according to the present
invention;
[0084] FIG. 26 illustrates the scattering subroutine, according to
the present invention;
[0085] FIG. 27 shows the relavant geometry for the illustrates R
reflection coefficients;
[0086] FIGS. 28A through 30C are photographs of computer renderings
of computer models and their reconstructions using inverse
scattering;
[0087] FIG. 31A. Example of subroutine forward called from main
program;
[0088] FIG. 31B. Example of subroutine forward called from main
program continued;
[0089] FIG. 32A. Example of subroutine Jac called from parent
program;
[0090] FIG. 32B. Example of subroutine Jac called from parent
program continued;
[0091] FIG. 32C. Example of subroutine Jac called from parent
program continued;
[0092] FIG. 33A. Example of subroutine JacH called from parent
program;
[0093] FIG. 33B. Example of subroutine JacH called from parent
program continued;
[0094] FIG. 33C. Example of subroutine JacH called from parent
program continued;
[0095] FIG. 33D. Example of subroutine JacH called from parent
program continued;
[0096] FIG. 34: Illustration of the water bath scanner and the
associated two transducer arrays;
[0097] FIG. 35: Tilting cot for patient positioning when scanning
using the water bath scanner;
[0098] FIG. 36A: Block Diagram of the total water bath scanner
system;
[0099] FIG. 36B: Block Diagram of the transmit and receive MUX;
[0100] FIG. 37A: Side view of the ultrasound compression plate
scanner for transmission inverse scattering and reflection
ultrasound;
[0101] FIG. 37B: End view of the ultrasound compression plate
scanner for transmission inverse scattering and reflection
ultrasound;
[0102] FIG. 37C: Isometric view of the compression plate scanner
showing options for placing transducer elements either inside or
outside of the top and bottom compression plates;
[0103] FIG. 37D: Isometric view of the compression plate scanner
showing options for placing side compression plates with optional
transducer elements either inside or outside of the side
compression plates;
[0104] FIG. 37E: Isometric view of the compression plate scanner
showing the option for placing front compression plates with
optional transducer elements either inside or outside of the front
compression plates;
[0105] FIG. 38A: Speed of sound model of a breast compressed
between two plates as in a mammogram;
[0106] FIG. 38B: Reconstructed image of sound speed (including a
random component) using a 1/2 wavelength pixel parabolic inverse
scattering algorithm;
[0107] FIG. 38C: Attenuation model of a breast compressed between
two plates as in a mammogram;
[0108] FIG. 38D: Reconstructed image of the acoustic attenuation
using a 1/2 wavelength pixel parabolic inverse scattering
algorithm;
[0109] FIG. 38E: B-scan image created from simulated data for the
model defined in FIGS. 5.a and 5.c with scattering from changes in
speed of sound;
[0110] FIG. 39A: "Time of flight image" i.e., speed of sound map
(image) obtained from real time of flight data collected on a
laboratory scanner through application of a time of flight CT
algorithm;
[0111] FIG. 39B: Sound speed map (image) obtained after 15 steps of
the new fast 2 wavelength pixel algorithm starting with the same
data as the time of flight CT algorithm;
[0112] FIG. 40A: Normalized true speed of sound image,
.gamma.=[c.sub.o/c(x,y)-1], used to generate simulated data to test
the 2 wavelength pixel algorithm;
[0113] FIG. 40B: Normalized speed of sound image,
.gamma.=[c.sub.o/c(x,y)-1], reconstructed by the 2 wavelength pixel
algorithm;
[0114] FIG. 40C: Sampled true and reconstructed 2 wavelength pixel
images through the horizontal center-line;
[0115] FIG. 41A: A 120 by 120 pixel image of Re(.gamma.) for the
true object.;
[0116] FIG. 41B: A 120 by 120 pixel image of the Re(.gamma.)
reconstructed using the straight line, time of flight CT
algorithm;
[0117] FIG. 41C: A 120 by 120 pixel image made by the new fast
parabolic algorithm;
[0118] FIG. 42A: True 3-D speed of sound x-y image for breast
cancer model on plane y=75;
[0119] FIG. 42B: Parabolic reconstructed 3-D speed of sound image
for the breast cancer model on plane y=75;
[0120] FIG. 43A: Commercial B-scan Image of the cancerous breast
tissue;
[0121] FIG. 43B: Reflection tomography image of the corresponding
slice of the cancerous breast tissue shown in the companion B-scan
image, FIG. 10.a.;
[0122] FIG. 44: The discrete propagator for .DELTA.=2.lamda.,
.DELTA.=.lamda. and .DELTA.=.lamda./2 for the new `big pixel`
parabolic method;
[0123] FIG. 45: 2.5 MHz to 5 MHz bandwidth time signal through a
cylinder; and
[0124] FIG. 46: Squared envelope of the 2.5 MHz to 5 MHz bandwidth
time signal through a cylinder.
DEFINITIONS
[0125] Definition 1. An inverse scattering imaging method is any
imaging method which totally or partially uses wave equation
modeling and which utilizes a nonlinear operator relating the
inversion data to the image components.
[0126] Definition 2. The inversion data is defined by that
transformation of the wavefield data which is the range of the
nonlinear operator. The domain of the nonlinear operator is the
image components.
[0127] Definition 3. A parabolic propagation step is an arithmetic
operation which computes the wavefield on a set of surfaces given
the wavefield on another, disjoint set of surfaces using a
parabolic differential (or difference?) equation in the derivation
of the arithmetic operation.
[0128] Definition 4. By .lamda. we mean the wavelength in the
imbedding medium for the maximum temporal frequency in the
wavefield energy.
[0129] Definition 5. By .DELTA. we mean the average spatial
separation of the points used to discretize the discretized
wavefield in the computer implementation of the method.
[0130] Definition 6. By a short convolution operation we mean a
discrete convolution which is faster if done by direct summation
rather than by FFT.
DETAILED DESCRIPTION OF INVENTION
[0131] The following explanation of notation is given to facilitate
obtaining an understanding of the invention. Unless otherwise
noted, the notation will essentially be the same as U.S. Pat. No.
4,662,222. The scattering potential .gamma. changes from point to
point within an object or body as well as changing with frequency
of the incident field. Thus,
.gamma..sub..omega.j.ident..gamma..sub..omega.(x.sub.j),x.sub.j.di-elect
cons.R.sup.3 or R.sup.3 is used to signify the scattering potential
at pixel j or point j, for the incident field at frequency
.omega...gamma..sub..omega. can be considered to be the vector
composed of all values of j, i.e. for all pixels:
.gamma..sub..omega..ident.(.gamma..sub..omega.1.gamma..sub..omega.2
. . . .gamma..sub..omega.N).sup.T,
[0132] where T indicates "transpose". For our purposes of
exposition and simplicity, we will hence forth consider the case
where .gamma. is independent of frequency, although this is not
necessary. This convention also is essentially the same as that
employed in the U.S. Pat. No. 4,662,222.
Notation
Vector Field Notation
[0133] The following notation will be used throughout the patent to
denote a vector field describing elastic waves, or electromagnetic
waves: f .function. ( r ) .ident. ( f x .function. ( x , y , z ) f
y .function. ( x , y , z ) f z .function. ( x , y , z ) ) .ident. (
f x .times. f y .times. f z ) T ##EQU1## (T-denotes "transpose") is
used to represent the total field. f i .function. ( r ) .ident. ( f
x i .function. ( x , y , z ) f y i .function. ( x , y , z ) f z i
.function. ( x , y , z ) ) .ident. ( f x i .times. f y i .times. f
z i ) T ##EQU2## (T-denotes "transpose") is used to denote the
incident field. The incident field is the field that would be
present if there was no object present to image. In the case of
layering in the ambient medium, it is the field that results from
the unblemished, piecewise constant layering.
[0134] The scattered field is the difference between the total
field and the incident field, it represents that part of the total
field that is due to the presence of the inhomogeneity, i.e. the
"mine" for the undersea ordnance locater, the hazardous waste
cannister for the hazardous waste locator, the school of fish for
the echo-fish locator/counter, and the malignant tumor for the
breast scanner: f s .function. ( r ) .ident. .ident. f .function. (
r ) - f i .function. ( r ) ##EQU3## f s .function. ( r ) .ident. (
f x s .function. ( x , y , z ) f y s .function. ( x , y , z ) f z s
.function. ( x , y , z ) ) .ident. ( f x s .times. f y s .times. f
z s ) T ##EQU3.2## T-denotes "transpose"
f.sub..omega..phi..sup.inc(r) denotes the scalar incident field
coming from direction (source position) .PHI. at frequency .omega..
The r could represent either a 3 dimensional, or a 2 dimensional
vector of position. Scalar Field Notation
[0135] A scalar field is indicated by a nonbold f(r),
r.epsilon.R.sup.3
EXAMPLE 1
Acoustic Scattering--Scalar Model Equations
[0136] This first example is designed to give the basic structure
of the algorithm and to point out why it is so fast in this
particular implementation compared to present state of the art. The
background medium is assumed to be homogeneous medium (no
layering). This example will highlight the exploitation of
convolutional form via the FFT, the use of the Frechet derivative
in the Gauss-Newton and FR-RP algorithms, the use of the
biconjugate gradient algorithm (BCG) for the forward problems, the
independence of the different view, and frequency, forward
problems. It will also set up some examples which will elucidate
the patent terminology. The field can be represented by a scalar
quantity f. The object is assumed to have finite extent The speed
of sound within the object is c=c(x). The speed of sound in the
background medium is the constant c.sub.o. The mass density is
assumed to be constant. The attenuation is modelled as the
imaginary part of the wavespeed. These are simplifying assumptions,
which we make so as to focus on the important aspects of the
imaging algorithm. By no means is the imaging algorithm restricted
to the scalar case, either in theory, or, more importantly, in
practical implementation.
[0137] We consider the two dimensional case first of all
(equivalently the object and incident fields are assumed to be
constant in one direction). Given an acoustic scatterer with
constant mass density and constant cross-section in z, illuminated
by a time harmonic incident field, f.sub..omega..phi..sup.inc, with
e.sup.i.omega.t dependence and source position (incident angle),
.phi., the total field satisfies the following integral equation. f
.omega..PHI. inc .times. ( .rho. ) _ = f .omega..PHI. .times. (
.rho. ) _ - .intg. .intg. .gamma. .times. ( .rho. ' ) _ .times. f
.omega..PHI. .times. ( .rho. ' ) _ .times. g .omega. .function. ( 1
.times. .rho. _ - .rho. _ .times. 1 ) .times. d x ' .times. d y '
.times. .times. where .times. .times. .gamma. = c 0 2 c 2 - 1 ( 1 )
##EQU4## where {overscore (.rho.)}=(x,y) and where
f.ident.f.sub..omega..phi. is the field internal to the object at
frequency co and resulting from the incident field from source
position .phi.,:f.sub..omega..phi..sup.inc. The 2-D Helmholtz
Green's function is given by: g .omega. .function. ( 1 .times.
.rho. _ - .rho. ' _ .times. 1 ) = k .omega. 2 4 .times. i .times. H
0 ( 2 ) .function. ( k .omega. .times. l .times. .rho. _ - .rho. '
_ .times. l ) , k .omega. = .omega. c 0 ##EQU5## where
H.sub.0.sup.(2) is the Hankel function of the second kind, and
zeroth order.
[0138] Now it is required to compare the field measured at the
detectors, with the field as predicted by a given guess,
.gamma..sup.(n) for .gamma.. To accomplish this, first define the
scattered field at the detectors as the total field minus the
incident field. f.sub..omega..phi..sup.sc({overscore
(.rho.)}).ident.f.sub..omega..phi.({overscore
(.rho.)})-f.sub..omega..phi..sup.inc({overscore (.rho.)}) This
represents the field due entirely to the scattering potential.
Using this relation to rewrite (1), gives
f.sub..omega..phi..sup.sc({overscore
(.rho.)})=.intg..intg..gamma.({overscore
(.rho.)}')f.sub..omega..phi.({overscore
(.rho.)}')g.sub..omega.(l{overscore (.rho.)}-pl)dx'dy' (2)
[0139] These two equations, (1) and (2) are the basis of the
imaging algorithm. They must be discretized, then exported to the
computer in order to solve practical imaging problems. The purpose
of the apparatus and method herein described, is to solve the
discretized form of these equations without making any linearizing
assumptions (such as used in conventional diffraction tomography),
and in real time, with presently available computers.
[0140] Discretization of the Acoustic Free-Space Lippmann Schwinger
Integral Equation and Green's function--2D free space case
[0141] Let us for a moment drop the frequency and source position
subscripts. The scalar field ".gamma.f" is given by .gamma. .times.
.times. f .function. ( x ' y ' ) .ident. .gamma. .function. ( x ' y
' ) .times. f .function. ( x '` y ' ) ##EQU6## Discretization of
the integral equation is achieved by first decomposing this
function into a linear combination of certain (displaced) basis
functions .gamma. .times. .times. f .function. ( x ' y ' )
.apprxeq. n ' = 1 N x .times. .times. m ' = 1 N y .times. .times. a
n ' .times. m .times. S .function. ( x ' - n .times. .times.
.delta. y ' - m ' .times. .delta. ) ( 3 ) ##EQU7## where it has
been assumed that the scatterer .gamma. lies within the support [0,
N.sub.x.delta.]x[0, N.sub.y.delta.]-a rectangular subregion.
[0142] The basis functions S can be arbitrary except that we should
have cardinality at the grid nodes: S .function. ( 0 0 ) = 1
##EQU8## whereas for all other choices of n',m', s .function. ( n '
.times. .delta. m ' .times. .delta. ) = 0 , .times. n ' .times. m '
.noteq. 0 ##EQU9##
[0143] An example of such a function is the 2-D "hat" function. Our
algorithm uses the "sinc" function has its basic building
block--the Whittaker sinc function which is defined as: sin .times.
.times. c .function. ( x ) = sin .function. ( .pi. .times. .times.
x ) .pi. .times. .times. x ##EQU10## The two dimensional basis
functions are defined by the tensor product: s .function. ( x ' - n
' .times. .delta. y ' - m ' .times. .delta. ) = sin .times. .times.
c .function. ( ( x ' - n ' .times. .delta. ) / .delta. ) sin
.times. .times. c .function. ( ( y ' - m ' .times. .delta. ) /
.delta. ) ( 4 ) ##EQU11## If the equality in equation (3) is
presumed to hold at the grid points x=n.delta., y=m.delta.: the
coefficients .alpha..sub.nm can be determined to be precisely the
value of the field .gamma.f: .gamma. .times. .times. f .function. (
x ' y ' ) .ident. n ' = 1 N x .times. .times. N y m ' = 1 .times.
.gamma. .function. ( n ' .times. .delta. m ' .times. .delta. )
.times. f .function. ( n ' .times. .delta. m ' .times. .delta. )
.times. s .function. ( x ' - n ' .times. .delta. y ' - m ' .times.
.delta. ) ( 5 ) ##EQU12## Now this expression for the product if
can be substituted into (1): f i .function. ( x y ) = f .function.
( x y ) - k .omega. 2 4 .times. i .times. n ' .times. .times. m '
.times. .times. .gamma. n ' .times. m ' .times. fn ' .times. m '
.times. .intg. H o ( 2 ) .function. ( k .omega. .times. l .times.
.rho. _ - .rho. _ ' .times. l ) .times. S .function. ( x ' - n '
.times. .delta. y ' - m ' .times. .delta. ) .times. d 2 .times.
.rho. ' ( 6 ) ##EQU13## In particular this equation holds at ( x y
) = ( n .times. .times. .delta. m .times. .times. .delta. )
##EQU14## for which we get: f nm i = f nm - .times. n ' - 1 N x
.times. .times. m ' - 1 N y .times. .times. .gamma. n ' .times. m '
.times. fn ' .times. m ' .times. fn - n ' , m - m ' , .times.
.times. n = 1 , .times. , N x .times. m = 1 , .times. , N y ( 7 )
##EQU15## where the 2-D discrete Green's function is defined as: g
.function. ( n - n ' , m - m ' ) .ident. k 2 4 .times. i .times.
.intg. H 0 2 .function. ( k .times. ( n .times. .times. .delta. - x
' m .times. .times. .delta. - y ' ) ) .times. S .function. ( x ' -
n ' .times. .delta. y ' - m ' .times. .delta. ) .times. d 2 .times.
.rho. ' ( 8 ) ##EQU16##
[0144] Although it is not clear that the dependence of g on m and n
is as so stated, in is indeed the case, since we have by the
substitution of the transformation x'.fwdarw.x'+n.delta.
y'.fwdarw.y'+m'.delta. into this last equation shows explicitly
that the discretized Green's function "g", does in fact depend only
on the differences n-n', and m-m''. Thus the discrete equation (7)
has inherited the convolutional form of the continuous equation
(1). It is this fact which allows the use of the 2-D FFT to compute
the summation in (8) in only order
N.sub.XN.sub.Ylog.sub.2(N.sub.xN.sub.y) arithmetic operations and
is therefore critical to the real-time speed of the algorithm.
Expression of the Discretized Lippmann-Schwinger Equation in
Compact Notation
[0145] The discretized Lippmann-Schwinger equation can be rewritten
using a compact operator notation. We write (7) as: f.sub.107
.phi..sup.i=(I-G.sub..omega.[.gamma.])f.sub..omega..phi. (9) where
G.sub..omega. represents 2-D discrete convolution with the
discrete, 2-D Green's function for frequency .omega. and [.gamma.]
denotes the operator consisting of pointwise multiplication by the
2-D array .gamma.. I denotes the identity operator.
[0146] In exactly the same manner, and with the same definitions,
we can write the scattered field equation (2) as:
f.sub..omega..phi..sup.sc=G.sub..omega.[.gamma.]f.sub..omega..phi.
(10) for the scattered field inside of the object, and finally
f.sub..omega..phi..sup.meas.ident.T(f.sub..omega..phi..sup.sc)=T(G.sub..o-
mega.[.gamma.]f.sub..omega..phi.) (11) for the measured value of
the scattered field at the detectors. The T operator is used to
indicate the "truncation" of the calculated scattered field,
calculated on the entire convolution range (a rectangle of samples
[1 ,N.sub.x]x[1,N.sub.y] covering .gamma.), onto the detectors
which lie outside the support of .gamma.. (see FIGS. 1A/B/C.). In
other words T is simply the operation of "picking" out of the
rectangular range of the convolution, those points which coincide
with receiver locations. Extension of the Method to Remote
Receivers with Arbitrary Characteristics
[0147] In the event that the receivers do not lie within the range
of the convolution and/or they are not simple point receivers, we
need to modify the measurement equations (11). It is well known
that, given source distributions within an enclosed boundary, the
scattered field everywhere external to the boundary can be computed
from the values of the field on the boundary by an application of
Green's theorem with a suitably chosen Green's function, i.e.: f s
.function. ( .rho. _ ) = B .times. f s .function. ( .rho. _ ' )
.times. p .function. ( .rho. _ , .rho. _ ' ) .times. .times. d l '
, .rho. _ ##EQU17## {overscore (.rho.)} outside boundary B (12)
where P is the Green's function the integral is about the boundary,
and dl' is the differential arclength (in the 3-D case, the
integral is on an enclosing surface). Equation (12) allows for the
construction of a matrix operator which maps the boundary values of
the rectangular support of the convolution (2N.sub.x+2N.sub.y-4
values in the discrete case) to values of the scattered field
external to the rectangle. Furthermore, this "propagator matrix"
can be generalized to incorporate more complex receiver geometries.
For example, suppose that the receiver can be modeled as an
integration of the scattered field over some support function,
i.e.; v.sub.n.ident.signal from receiver
n=.intg..intg.f.sup.s({overscore (.rho.)})S.sub.n({overscore
(.rho.)}ds) (13) where S.sub.n is the support of receiver n. Then
from (12): v n = B .times. f s .function. ( .rho. _ ' ) .times. {
.intg. .intg. S n .function. ( .rho. _ ) .times. P .function. (
.rho. _ , .rho. _ ' ) .times. d s } .times. d l ' , ##EQU18##
{overscore (.rho.)} outside boundary .rho. _ .times. .times.
outside .times. .times. boundry .times. .times. .times. B = B
.times. f s .function. ( .rho. _ ' ) .times. P ' .function. ( n ,
.rho. _ ' ) .times. .times. d l ' , P ' .function. ( n , .rho. _ '
) = .intg. .intg. S n .function. ( .rho. _ ) .times. P .function. (
.rho. _ , .rho. _ ' ) .times. d s ( 14 ) ##EQU19## Discretizing the
integral gives the matrix equation: v n = i = 1 N b .times. .times.
P nl ' .times. fi s , n = 1 , .times. , N d ( 15 ) ##EQU20## where
N.sub.b=2N.sub.x+2N.sub.y-4 is the number of boundary (border)
pixels and N.sub.d is the number of receivers. Equation (15)
defines the matrix that we shall henceforth refer to as P or the
"propagator matrix" for a given distribution of external receivers.
The equation:
v.sub..omega..phi..sup.meas=P.sub..omega.(G.sub..omega.[.gamma.]f.sub..om-
ega..phi.) (16) includes (11) as a special case for which the
receivers are point receivers inside the convolution support. Note
that P is a function of frequency, but is not a function of source
position. v.sub..omega..phi..sup.meas is a vector of dimension
N.sub.d.
[0148] The added flexibility of this propagator matrix formulation
is particularly advantageous when interfacing our algorithms with
real laboratory or field data. Often times the precise radiation
patterns of the transducers used will not be known a priori. In
this event, the transducers must be characterized by measurements.
The results of these measurements can be easily incorporated into
the construction of the propagator matrix P allowing the
empirically determined transducer model to be accurately
incorporated into the inversion. Equations (9) and (16) then
provide in compact notation the equations which we wish to solve
for the unknown scattering potential, .gamma.. First we consider
the forward problem, i.e. the determination of the field
f.sub..omega..phi. for a known object function .gamma. and known
incident field, f.sub..omega..phi..sup.i. Then we establish how
this forward problem is then incorporated into the solution of the
inverse problem, i.e., the determination of .gamma. when the
incident fields, and the received signals from a set of receivers
are known. Note that the internal field to the object is
also--along with the object function .gamma., an unknown in the
inverse problem.
[0149] Since (9) is linear in f.sub..omega..phi. it can be solved
by direct inversion of the linear system:
f=(1-G[.gamma.]).sup.-1f.sup.i (17) In discrete form, this is just
a matrix equation (after linearly ordering the 2-D supports of the
domain and range into vectors). Since the dimension of the range
and domain of the linear system is N.sub.xN.sub.y, the dimension of
the linear system is the same giving a total of
(N.sub.xN.sub.y).sup.2 elements. The arithmetic required to solve
the system by standard direct means is thus order
(N.sub.xN.sub.y).sup.3. In other words, a doubling of the edge
dimension of the problem space will increase the CPU time required
by a factor 2.sup.6=64 times! The arithmetic work required will
quickly become intolerable as the size of the problem increases. It
is precisely this large growth rate which has convinced many
researchers not to pursue inverse scattering approaches based on
integral equations. One could, of course, go to an iterative
method. A single iteration of an iterative linear system solver,
such as bi-conjugate gradients requires order
(N.sub.xN.sub.y).sup.2 operations (essentially a matrix-vector
product). It can be shown that the growth rate in the number of
required iterations for sufficient convergence for the BCG
algorithm is order N for this equation. Thus, the overall
computational complexity is order N.sup.5--only one order of N has
been saved over direct inversion. Since inverse problems in 2-D
generally require order N views, the iteration must be done N times
and we are back to order N.sup.6 computation for BCG.
[0150] The key to overcoming this objection is the convolutional
form of (7). If this is exploited by use of the FFT algorithm, the
computation needed to perform a matrix-vector product is only order
N.sub.xN.sub.ylog.sub.2 (N.sub.xN.sub.y). This allows the BCG
algorithm to be applied to a single view with order
N.sup.3log.sub.2(N) operations and to all views with order
N.sup.4log.sub.2(N) operations. Due to the slow growth rate of
log.sub.2(N), this is essentially a reduction of two orders of N
over nonconvolutional methods. Also, this convolutional approach
avoids the necessity of storing the order N.sup.4 computer words
needed to contain the linear system in full matrix form. Only order
N.sup.2 words are needed due to the shift invariance of the
discrete Green's kernel in (7). It is these two savings, more than
any other advance that we have made, that allows us to perform
inverse scattering in reasonable time for meaningfully sized
problems. The use of BCG over the original CG algorithm also
represents a major advance since it converges in essentially the
square root of the number of iterations needed by CG. This
combination of FFT and CG algorithm was originally developed in
[Borup, 1989, Ph.D. dissertation, Univ. of Utah, Salt Lake City],
herein incorporated by reference.
The Imaging or Inverse Problem
[0151] In order to solve the imaging problem, we need a set of
equations relating the unknown scattering potential, .gamma., and
total fields, f.sub..omega..phi., with measurements of the
scattered field on a set of external detectors. These detector
equations are given in (16). Equation (16), and the internal field
equations (9) are the equations which are solved simultaneously to
determine .gamma. and the f.sub..omega..phi.. There are
N.sub.xN.sub.y unknowns corresponding to the .gamma. values at each
of the grid points, and
N.sub.x.times.N.sub.y.times..OMEGA..times..PHI., unknowns
corresponding to the unknown fields, .OMEGA. is the number of
frequencies, and .PHI. is the number of source positions (angles).
We have improved upon the state of the art by considering the
internal field equations to define f.sub..omega..phi.. for a given
.gamma.. Thus the total number of unknowns is reduced to
N.sub.xN.sub.y.
[0152] The total number of measurement equations is
N.sub.d.times..OMEGA..times..PHI. where N.sub.d is the number of
detectors. In the general case, where, the sources and detectors do
not completely surround the object, the problem of determining
.gamma. is "ill-posed", in a precise mathematical sense, therefore,
in order to guarantee a solution, the number of equations
N.sub.d.times..OMEGA..times..PHI.>N.sub.xN.sub.y, is chosen to
be larger than the number of pixel values for over determination.
Then the system is solved in the least squares sense. More
specifically the solution of (9,16) for .gamma. and the set of
fields, f.sub..omega..PHI., in the least squares sense is obtained
by minimizing the real valued, nonlinear functional: min .gamma.
.times. .omega..PHI. .times. r .omega..PHI. 2 .ident. min .gamma.
.times. .omega..PHI. .times. v .omega..PHI. meas - P .omega.
.times. G .omega. .function. [ f .omega..PHI. ] .times. .gamma. 2 (
18 ) ##EQU21## subject to the satisfaction of the total field
equations, (9), as constraints. The vector r.sub..omega..phi. of
dimension N.sub.d is referred to as the "residual" for frequency,
.omega.., and angle, .phi..
[0153] The methods used to solve the nonlinear optimization problem
in our inverse scattering algorithms are, thus far, all "gradient
methods" in that second derivative information is not used (as it
is in the full Newton and quasi-Newton methods). The principal
computation involves the calculation of the gradient vector of
(18). A straight forward calculation gives the gradient formula:
.gradient.f(x)=J.sup.H(x)r(x) where the superscript H denotes the
Hermitian transpose (complex conjugate transpose of the matrix) and
J is the Jacobian of the nonlinear system: J .function. ( x ) = [
.differential. .differential. x 1 .times. a 1 .differential.
.differential. x N .times. a 1 .differential. .differential. x 1
.times. a M .differential. .differential. x N .times. a M ] . ( 19
) ##EQU22##
[0154] The simplest gradient algorithm is the Gauss-Newton (GN)
iteration. The GN iteration for finding a solution to .gradient.f=0
is given by: x.sup.n=y-a(x).sup.(n)) (20.1)
.delta.x.sup.(n)=(J.sub.n.sup.HJ.sub.n).sup.-1J.sub.n.sup.Hr.sup.(n)
(20.2) x.sup.(n+1)=x.sup.(n)+.delta.x.sup.(n) (20.3) where a is the
vector of nonlinear equations. This iteration is well defined
assuming that the columns of J.sub.n remain linearly independent.
Since (20.2) is equivalent to the quadratic minimization problem:
min .delta. .times. .times. x ( n ) .times. J n .times. .delta.
.times. .times. x ( n ) - r ( n ) .times. M 2 ( 21 ) ##EQU23## it
can be solved by the minimum residual conjugate gradient method
(MRCG). This approach also ensures that small singular values in
J.sub.n will not amplify noise if care is taken not to overconverge
the iteration.
[0155] In the previous patent U.S. Pat. No. 4,662,222 the fields
f.sub..omega..phi. were considered to be independent variables. In
this present patent these fields are considered to be dependent
variables, with dependence upon .gamma. given implicitly by
f.sub..omega..phi..sup.(n)=(I-G.sub..omega.[.gamma..sup.(n)]).sup.-1f.sub-
..omega..phi..sup.inc
[0156] In order to find the Jacobian expression we must then
differentiate the residual vector defined in (18) with respect to
.gamma.. The details of this calculation are given in [Borup,
1992.]. The result is: J .omega..PHI. = .delta. .times. .times. r
.omega..PHI. .delta..gamma. = P .omega. .function. ( I - [ .gamma.
] .times. G .omega. ) - 1 .function. [ f .omega..PHI. ] ( 22 )
##EQU24## The final Gauss-Newton algorithm for minimizing (18)
subject to equality constraints (9) is:
[0157] GN 1. Select an initial guess, .gamma..sup.(0)
[0158] GN 2 Set n=0
[0159] GN 3 Solve the forward problems using (biconjugate
gradients) BCG:
f.sub..omega..phi..sup.(n)=(I-G.sub..omega.[.gamma..sup.(n)]).sup.-1f.su-
b..omega..phi.' .phi.=1, . . . ,.PHI..sup.inc .omega.=1, . . .
,.OMEGA.
[0160] GN 4 Compute the detector residuals:
r.sub..omega..phi..sup.(n)=v.sub..omega..phi..sup.meas-P.sub..omega.G.sub-
..omega.[f.sub..omega..phi..sup.(n)].gamma..sup.(n), .omega.=1, . .
. ,.OMEGA..sub..phi.=1, . . . ,.PHI.
[0161] GN5 If
.sub..omega..phi..sup..SIGMA..parallel.r.sub..omega..phi..sup.(n).paralle-
l..sup.2<.di-elect cons., stop.
[0162] GN6 Use MRCG to find the least squares solution to the
quadratic minimization problem. .delta..gamma. ( n ) min .times.
.omega..PHI. .times. r .omega..PHI. ( n ) + P .omega. .times. G
.omega. .function. ( I - [ .gamma. ( n ) ] .times. G .omega. ) - 1
.function. [ f .omega..PHI. ( n ) ] .times. .delta..gamma. ( n ) 2
##EQU25## for .delta..gamma..sup.(n)
[0163] GN7 Update .gamma..
.gamma..sup.(n+1)=.gamma..sup.(n)+.delta..gamma..sup.(n).
[0164] GN8 Set n=n+1, go to GN3
[0165] The crux of the GN iteration is GN 6 where the
overdetermined quadratic minimization problem is solved for the
scattering potential correction. This correction is approximated by
applying a set of M iterations of the MRCG algorithm. The details
of GN 6 are:
[0166] GN.6.1 Initialize the zeroth iterate of MRCG:
.delta..gamma..sup.0=0
[0167] GN.6.2 Initialize the MRCG residuals equal to the GN outer
loop residuals:
r.sub..omega..phi..sup.0=r.sub..omega..phi..sup.(n)
[0168] Note that iterates pertaining to the MRCG iteration are
indexed without the ( ) in order to distinguish them from outer GN
loop iterates.
[0169] GN.6.3 Compute the gradient of the MRCG quadratic
functional: g 0 = .omega..PHI. .times. [ f .omega..PHI. * ( n ) ]
.times. ( I - G .omega. * .function. [ .gamma. * ( n ) ] ) - 1
.times. G .omega. * .times. P .theta. H .times. r .omega..PHI. 0
##EQU26##
[0170] GN.6.4 Set the initial search direction equal to minus the
gradient: p.sup.0=-g.sup.0
[0171] GN.6.5 Set m=0
[0172] GN.6.6 Compute
t.sub..omega..phi..sup.n=p.sub..omega.G.sub..omega.(I-[.gamma..sup.(n)]G.-
sub..omega.).sup.-1[f.sub..omega..phi..sup.(n)]p.sup.mm.sub..phi.=1,
. . . ,.PHI..sup..omega.=1, . . . ,.OMEGA.
[0173] GN.6.7 Compute the quadratic step length: .alpha. m =
.omega..PHI. .times. t .omega..PHI. m 2 / g m 2 ##EQU27##
[0174] GN.6.8 Update the solution of the quadratic minimization:
.delta..gamma..sup.m+1=.delta..gamma..sup.m+.alpha..sup.mp.sup.m
[0175] GN.6.9 Update the MRCG search residuals:
r.sub..omega..phi..sup.m+1=r.sub..omega..phi..sup.m+.alpha..sup.mt.sub..o-
mega..phi..sup.m
[0176] GN.6.10 Compute the gradient of the MRCG quadratic
functional: g m + 1 = .omega..PHI. .times. [ f .omega..PHI. * ( n )
] .times. ( I - G .omega. * .function. [ .gamma. * ( n ) ] ) - 1
.times. G .omega. * .times. p .omega. H .times. .GAMMA.
.omega..PHI. n + 1 ##EQU28##
[0177] GN.6.11 Compute
.beta..sup.m=.parallel.g.sup.m+1.parallel..sup.2/.parallel.g.sup.m.parall-
el..sup.2
[0178] GN.6.12 Update the MRCG search direction:
p.sup.m+1=-g.sup.m+1+.beta..sup.mp.sup.m
[0179] GN.6.13 If m=M, go to CN.6.15
[0180] GN.6.14 m=m+1. go to GM.6.8
[0181] GN.6.15 Equate the solution of the quadratic minimization
problem with the last iterate of MRCG:
.delta..gamma..sup.(n)=.delta..gamma..sup.M
[0182] GN.6.16 Return to the GN algorithm at GN 7
[0183] A problem with the algorithm above is the presence of the
inverse of the transposed total field equation
(I-[.gamma..sup.(n)]G.sub..omega.).sup.-1 in the computation of the
Jacobian and its adjoint in 6.3 and 6.10 Since we do not invert (or
even store) these large linear systems, the occurrence of these
inverse operators must be dealt with. This problem can however be
overcome by computing the action of this operator on a given
vector, as needed during the MRCG iteration, by a few iterations of
BCG. When performed in this way, the shift invariance of the
Green's function is exploited in a maximal way. No large matrices
need to be inverted or stored. This is because the Jacobian
implementation now consists exclusively of shift invariant kernels
(diagonal kernels such as pointwise multiplication by .gamma. or f
and the shift invariant kernel composed of convolution with the
Green's function) Such shift invariant kernels can be implemented
efficiently with the FFT as previously described.
[0184] An even greater increase in numerical efficiency can be
obtained in cases for which the approximation:
(I-[.gamma..sup.(n)]G.sub..omega.).sup.-1.apprxeq.(I+[.gamma..sup.(n)]G.s-
ub..omega.) (23) (which is similar to the Born approximation of the
forward problem) can be used in the Jacobian. This has been found
to be the case for many acoustic scattering problems for biological
tissue, and for EM problems for which the contrast in dielectric
contrast is small. The other two gradient algorithms that are used
to solve the inverse scattering equations are the Fletcher-Reeves
and Ribiere-Polak algorithms. For the inverse scattering equations,
they are given by the iteration:
[0185] RP 1. Select an initnal guess, .gamma..sup.(0)
[0186] RP 2. Solve the forward problems using (biconjugate
gradients) BCG
f.sub..omega..phi..sup.inc=(I-G.sub..omega.[.gamma..sup.(0)])f.sub..omeg-
a..phi.' .phi.=1, . . . ,.PHI..sup.(0) .omega.=1, . . . ,.OMEGA.
for the internal fields, f.sub..omega..phi..sup.(0)
[0187] RP 3 Computer the detector residuals:
r.sub..omega..phi..sup.(0)=P.sub..omega.G.sub..omega.[f.sub..omega..phi..-
sup.(0)].gamma..sup.(0)-v.sub..omega..phi., .phi.=1, . . .
,.PHI..sup.meas .omega.=1, . . . ,.OMEGA.
[0188] RP 4 Compute the gradient:
r.sub..omega..phi..sup.(0)=P.sub..omega.G.sub..omega.[f.sub..omega..phi..-
sup.(0)].gamma..sup.(0)-v.sub..omega..phi., .phi.=1, . . .
,.PHI..sup.meas .omega.=1, . . . ,.OMEGA.
[0189] RP 5 computer the search direction: p.sup.(0)=-g.sup.(0)
[0190] RP 6 n=0
[0191] RP 7 compute the Jacobian operating on the search direction:
t.sub..omega..phi..sup.(0)=P.sub..omega.G.sub..omega.(I-[.gamma..sup.(n)]-
G.sub..omega.).sup.-1[f.sub..omega..phi..sup.(0)]p.sup.(0),
.omega.=1, . . . ,.OMEGA..sub..phi.=1, . . . ,.PHI.
[0192] RP 8 compute the step length (quadratic approximation):
.alpha. n = - Re .times. .omega..PHI. .times. ( r .omega..PHI. ( n
) , t .omega..PHI. ( n ) ) / .omega..PHI. .times. t .omega..PHI. (
n ) 2 ##EQU29##
[0193] RP 9 update the solution:
.gamma..sup.(n+1)=.gamma..sup.(n)+.alpha..sub.np.sup.(n)
[0194] RP 10 Solve the forward problems using (biconjugate
gradients) BCG:
f.sub..omega..phi..sup.inc=(I-G.sub..omega.[.gamma..sup.(n+1)])f.su-
b..omega..phi.' .phi.=1, . . . ,.PHI..sup.(n+1) .omega.=1, . . .
,.OMEGA.
[0195] RP 11 Compute the detector residuals:
r.sub..omega..phi..sup.(n+1)=P.sub..omega.G.sub..omega.[f.sub..omega..phi-
..sup.(n+1)].gamma..sup.(n-1)-v.sub..omega..phi., .phi.=1, . . .
,.PHI..sup.meas .omega.=1, . . . ,.OMEGA. .omega..PHI. .times. r
.omega..PHI. ( n ) 2 < .di-elect cons. , stop ##EQU30##
[0196] RP 13 Computer the gradient: g ( n + 1 ) = .omega..PHI.
.times. .times. [ f .omega..PHI. * ( n + 1 ) ] .times. ( i - G
.omega. * .function. [ .gamma. * ( n + 1 ) ] ) - 1 .times. G
.omega. * .times. P .omega. H .times. r .omega..PHI. ( n + 1 )
##EQU31##
[0197] RP 14 Compute: .beta. n = { g ( n + 1 ) 2 / g ( n ) 2 g ( n
+ 1 ) , g ( n + 1 ) - g ( n ) / g ( n ) 2 , .times. ##EQU32##
[0198] Fletcher-Reeves
[0199] Ribere-Pollack
[0200] RP 15 Update the search direction:
p.sup.(n+1)=-g.sup.(n+1)=.beta..sub.np.sup.(n)
[0201] RP 16 n=n+1, go to RP 7
[0202] The distinction between FR and RP lies in the calculation of
.beta.in RP 14. It is generally believed that the RP calculation is
more rapidly convergent. Our experience indicates that this is true
and so we generally use the RP iteration rather than FR.
[0203] Comparison of the linear MRCG iteration and the nonlinear RP
iteration reveals that they are very similar. In fact, RP is
precisely a nonlinear version of MRCG. Note that the only
difference between them lies in the fact that the RP residuals,
computed in steps RP.10 and RP.11 involve recomputation of the
forward problems while the MRCG residuals are simply recurred in
6.9 (additional, trivial, differences exist in the computation of
the a and .beta.'s). In other words, the RP iteration updates the
actual nonlinear system at each iteration, while the MRCG simply
iterates on the quadratic functional (GN linearization). The
overall GN-MRCG algorithm contains two loops--the outer
linearization loop, and the inner MRCG loop, while the RP algorithm
contains only one loop. Sine the RP algorithm updates the forward
solutions at each step, it tends to converge faster than GN with
respect to total iteration count (number of GN outer iterations
times the number, M, of inner loop MRCG iterates). The GN method
is, however, generally faster since an MRCG step is faster than an
RP step due to the need for forward recomputation in the RP step.
The overall codes for the GN-MRCG algorithm and the RP algorithm
are so similar that a GN-MRCG code can be converted to an RP code
with about 10 lines of modification.
[0204] Before leaving this example it is important to note that the
examples given in this patent all assume that the different
frequencies, .omega., and views, .phi. are all computed in serial
fashion. It is important to note however, that another important
link in the real time implementation of our algorithm, is the fact
that the different frequencies and different views are independent
in both the forward problem and Jacobian calculations, and
therefore can be computed independently and in parallel. This
should be clear by examining, for example, the computations in GN.3
and GN.6.3. The forward problem calculations, GN.3 are completely
independent and in the gradient calculation, GN.6.3, the
computations are independent in frequency and view up to the point
at which these contributions are summed to give the gradient. The
GN and RP algorithms could thus be executed on a multinode machine
in parallel with node intercommunication required only 2 to 3 times
per step in order to collect sums over frequency and view number
and to distribute frequency/view independent variables, such as
scattering potential iterates, gradient iterates, etc., to the
nodes.
EXAMPLE 2
Image Reconstruction in Layered Ambient Media Using Optimization of
a Bilinear or Quadratic Objective Function Containing All Detector
Measurement Equations, and with Internal Fields Represented as a
Function of the Scattering Potential
[0205] The examples in the previous patent U.S. Pat. No. 4,662,222
were characterized by the consideration of both the internal
fields, and the object function y to be independent variables of
equal importance. The example given above, however, has the
distinguishing characteristic that the object function .gamma. is
considered to be the sole independent variable, and the internal
field resulting from the incident field and .gamma. interaction is
considered to be a function of this .gamma.. We may write
f.sub..theta..omega..sup.sc.ident.f.sub..theta..omega..sup.sc(.gamma.).A--
inverted..sub..omega.=1, . . . ,.OMEGA..sup..theta.=1, . . .
,.THETA. (24) for the scattered field.
[0206] The difference between this example, and the previous one is
that the background medium, in which the object is assumed to be
buried, is assumed to be homogeneous in the previous case, whereas
it is here assumed that the background is layered. The residual is
defined in the same way as the previous example, with
d.sub..theta..omega. used to represent the N.sub.d-length vector of
measured scattered field at the detector positions. That is, the
residual vectors for all .omega., .theta. are defined in the
following way.
r.sub..theta..omega..ident.f.sub..theta..omega..sup.sc(.gamma.)-d.sub..th-
eta..omega.=0.A-inverted..sub..omega.=1, . . . ,
.OMEGA..sup..theta.=1, . . . ,.THETA. (25) The functional
F(.gamma.), dependent upon .gamma. is defined in the same way as
example 1:
F(.gamma.).ident..SIGMA..sub..theta..omega..parallel.r.sub..theta..omega.-
.parallel..sub.2.sup.2 (26) This is the functional, dependent upon
the object function .gamma. in a highly nonlinear manner, which
must be minimized in order to determine the .gamma. values at each
gridpoint in the object space. It is again necessary to compute the
Jacobian: ( .differential. f .theta..omega. sc .differential.
.gamma. ) = T o .function. ( ( I - G .omega. [ .gamma. ] ) - 1
.times. ( G .omega. [ f .theta..omega. ] ) ) .times. .A-inverted.
.theta. = 1 , .times. , .THETA. .omega. = 1 , .times. , .OMEGA. (
27 ) ##EQU33## where .theta. again refers to the multiple views and
the o to the multiple frequencies available to us. That is, we
again assume that the noise level in the system is zero. We apply
the Gauss Newton algorithm to the associated least squares problem
and get the same result. This leads to the overdetermined system
described above (the notation is identical to the previous example,
the difference lies in the actual form of the layered Green's
function). [ T o .function. ( [ I - G k [ .gamma. ] ] - 1 .times. G
k ) .times. I .theta. .times. .times. x .times. .times. .theta. ]
.function. [ [ f 1 .times. k ] [ f .theta. .times. .times. k ] ]
.times. .times. .delta..gamma. ( n ) = - [ [ r 1 .times. k ( n ) ]
[ r .theta. .times. .times. k ( n ) ] ] .times. .A-inverted. k
.times. : ( 28 ) ##EQU34## which must be solved for the
.gamma.-update .delta..gamma. The left hand side of the above
formula is given by [ T o .function. ( [ I - G k [ .gamma. ] ] - 1
.times. G k ) .times. I .theta. .times. .times. x .times. .times.
.theta. ] .ident. { [ TG k .function. ( 1 - [ .gamma. ( n ) ]
.times. G k ) - 1 0 .times. .times. 0 0 .times. .times. 0 .times.
TG k .function. ( I - [ .gamma. ( n ) ] .times. G k ) - 1 ] } ( 29
) ##EQU35##
[0207] Again, we can use the complex analytic version of the
Hestenes overdetermined conjugate gradient algorithm, adapted for
least squares problems to iteratively solve this system. This is
equivalent to finding the minimum norm solution.
[0208] The formula for the Jacobian in the layered medium situation
in the presence of multiple frequencies, is, ( .differential. f
.theta..omega. sc .differential. .gamma. ) = T o .function. ( ( I -
G .omega. [ .gamma. ] ) - 1 .times. ( G .omega. [ f .theta..omega.
] ) ) .times. .A-inverted. .theta. = 1 , .times. , .THETA. .omega.
= 1 , .times. , .OMEGA. ( 30 ) ##EQU36## where G.sub..omega. is the
Layered Green's function for the frequency .omega.. Therefore, in
effect, to determine the .gamma.-update, .delta..gamma., we merely
solve the multiple view problem for each particular frequency, that
is, we solve the overdetermined system: [ T o .function. ( [ I - G
k [ .gamma. ] ] - 1 .times. G k ) .times. I .theta. .times. .times.
x .times. .times. .theta. ] .function. [ [ f 1 .times. k ] [ f
.theta. .times. .times. k ] ] .times. .delta..gamma. ( n ) = [ r 1
.times. k ( n ) r .theta. .times. .times. k ( n ) ] .times.
.A-inverted. k = 1 , .times. , .OMEGA. ( 31 ) ##EQU37## which in
component form is
[T.smallcircle.([I-G.sub.k[.gamma.]].sup.-1G.sub.k)][f.sub.jk].delta..gam-
ma..sup.(n)=-[r.sub.jk.sup.(n)].A-inverted..sub.j+1, . . .
,.THETA..sup.k+1, . . . ,.OMEGA. (32)
[0209] See also the computer code in this patent for the complete
description of this procedure. For multiple view and multiple
frequency inversion then, the inversion scheme in layered media
reads:
[0210] STEP 1. Choose an initial guess for the scattering
potential, .gamma..sup.(o).
[0211] STEP 2. Set n=0
[0212] STEP 3. solve the forward problems
(I-G[.gamma.])f.sub..theta..omega.=f.sub..theta..omega..sup.inc,.A-invert-
ed..sub..omega.=1, . . . ,.OMEGA..sup..theta.=1, . . .
,.THETA.using biconjugate gradients, and use the result to compute
the .phi.-forward maps .phi..sub..theta..omega.(.gamma..sup.(n))
and
r.sub..theta..omega..sup.(n).ident..phi..sub..theta..omega.(.gamma..sup.(-
n))-d.sub..theta..omega.=0.A-inverted..sub..omega.=1, . . .
,.OMEGA..sup..theta.=1, . . . ,.THETA.
[0213] STEP 4. Determine the L.sub.2 norm of the total residual
vector: tr ( n ) .ident. [ r 11 ( n ) r .theta. ( n ) ] [ r 1
.times. .OMEGA. ( n ) r .theta..OMEGA. ( n ) ] ##EQU38## If .times.
.times. tr ( n ) 2 .ident. .omega. = 1 .OMEGA. .times. .times.
.theta. = 1 .THETA. .times. .times. r .theta..omega. ( n ) 2 <
.di-elect cons. .times. then .times. .times. stop . ##EQU39##
[0214] Step 6. Solve the N.sub.d.theta..OMEGA. by N overdetermined
system: T [ ( [ I - G 1 [ g ] ] - 1 .times. G 1 ) .times. I .theta.
.times. .times. x .times. .times. .theta. 0 0 ( [ I - G .OMEGA. [ g
] ] - 1 .times. G .OMEGA. ) .times. I .theta. .times. .times. x
.times. .times. .theta. ] ##EQU40## in the least squares sense
for
[0215] .delta..gamma..sup.(n), using the conjugate gradient
algorithm adapted for least squares problems.
[0216] STEP 7. Update 7 via the formula
.gamma..sup.(n+1)=.gamma..sup.(n)+.delta..gamma..sup.(n)
[0217] STEP 8. Set n=n+1, go to begin
[0218] The actual values of the angles of incidence .theta. are
chosen to diminish as much as possible the ill conditioning of the
problem. Equally spaced values 0<.theta.<2.PI. are ideal, but
experimental constraints may prohibit such values, in which case
the multiple frequencies are critical. For biological contrasts
(.gamma.<0.15 say) the following approximation, which is
essentially identical to the assumption in the previous example, is
valid: [I-G.sub..omega.[.gamma.]].sup.-1=[I+G.sub..omega.[.gamma.]]
(33)
[0219] This is the same Born-like approximation restricted to the
Jacobian calculation only, that is assumed in example 1. This
approximation has a much larger radius of convergence than the
standard born approximation, but substantially reduces the
computational complexity of the problem.
How to Implement the Convolution and Correlation in Layered Medium
Imaging
[0220] All of the above calculations have been carried out without
using the fact that the operation of matrix multiplication with G
is in fact the sum of a convolution and a correlation, which is
transformed into a pair of convolutions. Symbolically
G.sup.L=G.sub.R+G.sub.V, where G.sub.R is the correlation and
G.sub.V is a convolution operator. The actual numerical
implementation of the above formulas, therefore, is somewhat
different than would naively appear. The implementation of the
correlation with convolution is a little more challenging than the
convolution in the homogeneous case, in that a change of variables
must be used to convert the correlation to a convolution before the
Fast Fourier Transform (FFT)s can be applied. A "reflection"
operator must be applied to .gamma. before the convolution is
applied, this operator is denoted by Z, and is defined by: ( zf )
.times. ( x , y , z , ) .ident. f .function. ( x , y , h = z )
.times. [ [ [ f 11 ] [ f .theta.1 ] ] [ [ f 1 .times. .OMEGA. ] [ f
.THETA..OMEGA. ] ] ] .times. .times. .delta. g ( n ) = - [ [ [ r 11
( n ) ] [ r .theta.1 ( n ) ] ] [ [ r 1 .times. .OMEGA. ( n ) ] [ r
.THETA..OMEGA. ( n ) ] ] ] .times. ( 34 ) ##EQU41##
[0221] The use of this operator is incorporated into the action of
the Lippmann-Schwinger equation on the field f That is, the
equation for the internal fields, which in example 1 read:
(I-G.gamma.)f=f.sup.inc(I-G.gamma.) Now becomes
(I-G.sub.v.gamma.-G.sub.RZ.gamma.)f=f.sup.inc
[0222] This change has non-trivial ramifications for the
construction of the algorithms discussed above. The FFT
implementation of this is given below. To prevent the notation from
getting out of hand we use [] to indicate that a diagonal matrix is
constructed out of an n vector, so that
[.gamma..sup.(n)]f.sub..phi..sup.(n) denotes pointwise
multiplication of the vectors .gamma. and f. Also F is used to
denote the Fourier transform, and * is used to indicate
"convolution". In this notation, the Lippmann-Schwinger equation
becomes, in the symbolic form adopted above,
(I-G.sub.v.gamma.-G.sub.RZ.gamma.)f=(f.sub.--G.sub.v*([.gamma.]f)-G.sub.R-
*Z([.gamma.]f))=(f-F.sup.-1{(F(G.sub.v)F([.gamma.]f))-(F(G.sub.R)F{Z([.gam-
ma.]f)})}) (35)
[0223] Substantial savings is achieved through the observation that
the Fourier Transforms of G.sub.V and G.sub.R need only be done
once, then stored, and finally, that the reflection operator, Z,
will commute with Fourier transformation in the x and y
(horizontal) directions, since it only involves reflection in the z
(vertical) direction.
[0224] There are changes also, for example in the computation of f.
The biconjugate gradient algorithm requires the use of the adjoint
in the solution of the above equation. This adjoint differs from
the homogeneous ambient medium case with the introduction of the
correlation operator. Also, there are substantial changes in the
implementation of the overdetermined conjugate gradient algorithm
used to solve (in the least squares sense) the overdetermined
system of equations. In this section, as before, we incorporate the
k.sub.sc.sup.2 factor into the G.sub.V and G.sub.R terms. Of
course, rather than carry out the inversion of a matrix, we use
biconjugate gradients and Fast Fourier Transforms (FFT's), which
require the Lippmann Schwinger operator, which we denote by LS, and
its adjoint, which are defined by the following formulas:
(LS)f.ident.(I-F.sup.-1[({overscore (G)}.sub.v.cndot.F)+({overscore
(G)}.sub.R.cndot.F.smallcircle.Z)])([.gamma.]f) (36) Where
{overscore (G)}.sub.v.ident.F(G.sub.v) and {overscore
(G)}.sub.R.ident.F(G.sub.R) are the Fourier Transforms of G.sub.V
and G.sub.R and need only be calculated once, then stored. The
unitarity of F is used below to determine the adjoint (LS).sup.H.
(LS).sup.H.ident.((I-F.sup.-1[({overscore
(G)}.sub.RF.smallcircle.Z)])[.gamma.]).sup.H=[{overscore
(.gamma.)}](I-[(F.sup.-1{overscore
(G)}.sub.V.sup.H)+(Z.sup.HF.sup.-1{overscore
(G)}.sub.R.sup.H)](F.sup.-1).sup.H)=({overscore
(.gamma.)})(I-[(F.sup.-1{overscore (G)}.sub.V)+(ZF.sup.-1{overscore
(G)}.sub.R)]F) (37) where we have used the unitarity of Fourier
Transformation F:F.sup.H=F.sup.-1, and the fact that point wise
multiplication is used, and-the fact that Z.sup.H=Z. For practical
problems it is best to obtain a reasonable first guess using low
frequency data, then to build on this using the higher frequency
information. The Actual Construction of the Layered Greens
Function
[0225] Up to this point, we have assumed the existence of the
layered Green's function, but have not shown explicitly how to
construct it. This is an essential step. For simplicity we deal
with the scalar case, although the inclusion of shear wave
phenomena is conceptually no more difficult than this case. The
details are given in [Wiskin, 1991]. The general idea is based upon
standard ideas in the literature concerning reflection coefficients
in layered media. See for example [Muller, G., 1985, Journal of
Geophysics, vol. 58] which is herein incorporated by reference. The
novelty is the combination of the reflection coefficients into a
bona fide Green's function, and the utilization of this in a
forward problem, then more importantly, in the inverse problem
solution. The procedure involves decomposing the point response in
free space into a continuum of plane waves. These plane waves are
multiply reflected in the various layers, accounting for all
reverberations via the proper plane wave reflection/transmission
coefficients. The resulting plane waves are then resummed (via a
Weyl-Sommerfeld type integral) into the proper point response,
which in essence, is the desired Green's function in the layered
medium. The final result is: G V .function. ( x - x ' ; .DELTA.
.times. .times. z - .DELTA. .times. .times. z ' ) = .intg. -
.infin. .infin. .times. e I.omega. .times. .times. u .function. ( x
- x ' ) .times. C .function. ( u ) .function. [ e - I.omega.
.times. .times. b .times. sc .DELTA. .times. .times. z - .DELTA.
.times. .times. z ' + R + .times. R - .times. e I.omega. .times.
.times. b .times. sc .DELTA. .times. .times. z - .DELTA.z ' ]
.times. .times. d u , .times. and ( 38 ) G R .function. ( x - x ' ;
.DELTA. .times. .times. z - .DELTA. .times. .times. z ) = .intg. -
.infin. .infin. .times. e I.omega. .times. .times. u .function. ( x
- x ' ) .times. C .function. ( u ) .function. [ R + .times. e -
I.omega. .times. .times. b .times. sc ( .DELTA. .times. .times. z -
.DELTA. .times. .times. z ' ) + R - .times. e I.omega. .times.
.times. b .times. sc ( .DELTA. .times. .times. z - .DELTA.z ' ) ]
.times. .times. d u , .times. where .times. .times. C .function. (
u ) = ( 1 - R + .times. R - ) - 1 .times. I.omega. .times. .times.
u b sc , ( 39 ) ##EQU42## R.sup.- and R.sup.30 are the recursively
defined reflectivity coefficients described in Muller's paper, u is
the horizontal slowness, u .ident. sin .times. .times. .theta. c
##EQU43## Recall that Snell's law guarantees that u will remain
constant as a given incident plane wave passes through several
layers.
[0226] .omega. is the frequency
[0227] b.sub.sc is the vertical slowness for the particular layer
hosting the scattering potential
[0228] This Green's function for imaging inhomogeneities residing
within Ambient Layered Media must be quantized by convolving with
the sinc (really Jinc) basis functions described below. This is
done analytically in [Wiskin, 1991], and the result is given
below.
Discretization of Layered Medium Lippmann-Schwinger Equation
[0229] Unfortunately the basis functions that were used in the free
space case (example 1) cannot be used to give the discretization in
the layered medium case because of the arbitrary distribution of
the layers above and below the layer which contains the scattering
potential. The sinc functions may continue to be used in the
horizontal direction, but the vertical direction requires the use
of a basis function with compact support (i.e. should be nonzero
only over a finite region). The sampled (i.e. discrete) Green's
operator in the layered case is defined by
G.sup.L(y,k,m)=G.sup.L(j.delta.,k.delta.,m.delta.) (40) where the
three dimensional basis functions are of the form:
B(x)=B(x,y,z)=Sj,.delta.)(x)S.sub.k,.delta.(y).LAMBDA..sub.m(z),
(41) (I is the set of integers) and where: x = ( x y z ) .di-elect
cons. R 3 .times. .times. x jkm .ident. ( j.delta. k .times.
.times. .delta. m .times. .times. .delta. ) .times. j , k , m
.di-elect cons. I ##EQU44##
[0230] The basis functions in the horizontal (x-y) plane
S.sub.(j,.delta.) are based upon the Whittaker sin .times. .times.
c .function. ( x ) = sin .function. ( .pi. .times. .times. x ) .pi.
.times. .times. x ##EQU45##
[0231] The basis functions in the vertical (z) direction, on the
other hand, are given by .LAMBDA..sub.m(Z)=.LAMBDA.(z-m.delta.),
where .LAMBDA.(z) is the "tent" function: .LAMBDA. .function. ( z )
= { 1 .delta. .times. ( z + .delta. ) .times. z .di-elect cons. [ -
.delta. , 0 ] - 1 .delta. .times. ( z - .delta. ) .times. z
.di-elect cons. [ 0 , .delta. ] ##EQU46##
[0232] The form of the discretized Lippmann Schwinger equation is f
inc .function. ( n .times. .times. .delta. m .times. .times.
.delta. l .times. .times. .delta. ) .ident. f nml inc = f
.function. ( n .times. .times. .delta. m .times. .times. .delta. l
.times. .times. .delta. ) - k sc 2 .times. n ' .times. m ' .times.
l ' .times. .times. G .pi. .times. / .times. .delta. V .function. (
n - n ' m - m ' l - l ' ) .times. .gamma. f L .function. ( n
.times. ' .times. .delta. m .times. ' .times. .delta. l .times. '
.times. .delta. ) - k sc 2 .times. n ' .times. m ' .times. l '
.times. .times. G ^ .pi. .times. .times. l .times. .times. .delta.
R .function. ( n - n ' m - m ' l - l ' ) .times. .gamma. f L
.function. ( n .times. ' .times. .delta. m .times. ' .times.
.delta. l .times. ' .times. .delta. ) ( 42 ) ##EQU47## with the
vectors G.sub..pi./.delta..sup.R and G.sub..pi./.delta..sup.V are
the result of first convolving the Green's function with the basis
functions, and then sampling at the gridpoints. The superscript R
refers to the correlation part whereas the superscript V refers to
the convolution part of the Green's function. Both are computed via
Fast Fourier Transforms, and are very fast. In the free space case
the correlation part is zero. That is, we make the definition for
L=V or R- (ie. convolution or correlation): G .pi. .times. /
.times. .delta. L .function. ( n , m , l ) .ident. .intg. .intg.
.intg. R .times. 3 .times. .times. S .function. ( x ' ) .times. S
.function. ( y ' ) .times. .LAMBDA. .function. ( z ' ) .times. G L
.function. ( n .times. .times. .delta. - x ' m .times. .times.
.delta. - y ' l .times. .times. .delta. - z ' ) .times. d x '
.times. d y ' .times. d z ' , ( 43 ) ##EQU48## substitution into
equation (17) yields thee form (42). In matix notation, this
equation gives:
f(I-k.sub.sc.sup.2G.sub.V*.gamma..sub.L-k.sub.sc.sup.2G.sub.R*Z.g-
amma..sub.l).sup.-1f.sup.inc (44) where now * represents discrete
convolution in 3D. Now that we have constructed the Integral
equations in discrete form, we must derive the dosed form
expression for the layered Green's operators. The construction of
the closed form expression of the sampled and convolved acoustic
layered Green's function G.sub..pi./.delta..sup.L from the layered
Green's function given in equations (38 and 39) above is given by
performing the integration in (43) analytically. This process is
carried out in [Wiskin, 1991]. The final result is, for the
convolutional part, G V .function. ( m , n ) = A .times. .intg. u =
0 u .times. .times. .delta. .times. J 0 .times. C .function. ( u )
.times. 2 I.omega. .times. .times. b sc .times. { R - .times. R +
.times. { - 1 + ( e I.omega. .times. .times. b .times. SC .delta. -
1 ) sc .delta. I.omega. .times. .times. b } + { 1 - e - I.omega.
.times. .times. b .times. sc .delta. .times. ( e I.omega. .times.
.times. b .times. sc .delta. - 1 ) sc .delta. I.omega. .times.
.times. b } } .times. .times. d u n = 0 A .times. .intg. u = 0 u
.times. .times. .delta. .times. J 0 .times. C .function. ( u )
.times. 1 .omega. 2 .times. b sc 2 .times. .delta. .times. { 2 - e
I.omega. .times. .times. b .times. sc .delta. - e - I.omega.
.times. .times. b .times. sc .delta. } .times. { e - I.omega.
.times. .times. b .times. sc n .times. .times. .delta. + R -
.times. R + .times. e I.omega. .times. .times. b .times. sc n
.times. .times. .delta. } .times. d u n .gtoreq. 1 .times. .times.
.A-inverted. m .di-elect cons. [ 0 , M - 1 ] , .times. .A-inverted.
n .di-elect cons. [ - N + 1 , N - 1 ] .times. .times. and ( 45 ) G
r .function. ( m , n ) = A .times. .intg. u = 0 u .times. .times.
.delta. .times. J 0 .times. C .function. ( u ) .times. { 2 - e
I.omega. .times. .times. b .times. m .delta. - e - I.omega. .times.
.times. b .times. m .delta. } .omega. 2 .times. b sc 2 .times.
.delta. .times. { R + .function. ( e .omega. .times. .times. b
.times. sc ( h + 2 .times. d ) .times. e - I.omega. .times. .times.
b .times. sc n .times. .times. .delta. ) + R - .function. ( e I
.times. .times. .omega. .times. .times. b .times. sc ( h + 2
.times. d ) .times. e I.omega. .times. .times. b .times. sc n
.times. .times. .delta. ) } .times. .times. d u .times. .times.
.A-inverted. m .di-elect cons. [ 0 , M - 1 ] , .times. .A-inverted.
n .di-elect cons. [ - N + 1 , N - 1 ] ( 46 ) ##EQU49##
[0233] In the above formulas
J.sub.o.ident.J.sub.o(u.omega.|m|.delta.) is the zero.sup.th order
Bessel Function, and the upper limit u.delta. is defined as: u
.times. .times. .delta. = 1 / c .delta. = k .delta. .times. 1
.omega. = .pi. / .delta. .omega. ##EQU50## for wavenumber k .times.
.times. .delta. = .pi. / .delta. . .times. Also , .times. C
.function. ( u ) .ident. ( 1 - R - .times. R + ) - 1 .times. S c
##EQU51## where .times. .times. S c = I .times. .times. .omega.
.times. .times. u b sc ##EQU51.2## with b.sub.sc defined as the
vertical slowness in the layer containing the scattering point.
When this layer is assumed to have acoustic wave velocity, it is
given explicitly by: b sc .times. 1 .beta. sc 2 - u 2 .
##EQU52##
[0234] These expressions give the discretized 3D Acoustic layered
Green's function, which is used in the layered media discretized
Lippmann-Schwinger equation to obtain the solution field within the
inhomogeneity. It is also used in the detector equations (9), which
correspond to the detector equations (11).
[0235] This patent differs from the previous art in the important
aspect of including the correlation part of the green's function.
This correlation part is zero for the free space case. This
correlational part is directly applicable as it occurs above to the
fish echo-locator/counter, and to the mine detection device in the
acoustic approximation. (There are specific scenarios, where the
acoustic approximation will be adequate, even though shear waves
are clearly supported to some degree in all sediments). The
inclusion of shear waves into the layered media imaging algorithm
(the technical title of the algorithm at the heart of the hazardous
waste detection device, the fish echo-locator, and the buried mine
identifier) is accomplished in Example 6 below. Actually a
generalized Lippmann-Schwinger equation is proposed. This general
equation is a vector counterpart to the acoustic Layered Green's
function, and must be discretized before it can be implemented. The
process of discretization is virtually identical to the method
revealed above. Furthermore, the BCG method for solving the forward
problem, the use of the sinc basis functions, and the use of the
Fast Fourier Transform (FFT) are all carried out identically as
they in the acoustic (scalar) case.
EXAMPLE 3
Imaging with Electromagnetic Wave Energy
[0236] The use of electromagnetic energy does not greatly affect
the basic idea behind the imaging algorithm, as this example will
demonstrate. Furthermore, we will see that it is possible to
combine the layered Green's function with the electromagnetic free
space Green's function to image materials within layered
dielectrics. In fact this process of combining the layered Green's
function with Green's functions derived for other structures and/or
modalities than the free space acoustic case can be extended almost
indefinitely. Another example is given below, where the combination
of the Acoustic Biot Green's function with the layered Green's
function is carried out. Further extensions that are not detailed
here, are: (1) Combining Elastic (including shear wave energy) Wave
equations with the layered Green's function, (3) Combining the
Elastic Biot equations with the layered Green's function, (4)
Combining the elastic and electromagnetic wave equations to model
transducers. For simplicity, we consider a homogeneous, isotropic,
non-magnetic background material. The time dependence will be
e.sup.i.omega.l, the magnetic properties of free space are
summarized in {circumflex over (z)}.sub.o.ident.i.omega.u.sub.o,
and the electric properties are summarized in
y.sub.o.ident.i.omega..di-elect cons..sub.o. Within the object
being imaged the magnetic properties are {circumflex over
(z)}.ident.{circumflex over (z)}.sub.o.ident.i.omega.u.sub.o (the
equivalence with the free space value is the nonmagnetic media
assumption). The electric properties of the object being imaged are
summarized in
y.ident..sigma.+y.sub.o.ident..sigma.i.omega..di-elect
cons..sub.r.di-elect cons..sub.o, which is the complex admittivity
of the object. The larger .sigma. is, the less able the medium is
able to support electromagnetic wave transport. These properties
are combined in k o 2 .ident. - y ^ o .times. z ^ o = .omega. 2
.times. .mu. o .times. .di-elect cons. o .times. .ident. .omega. 2
c o 2 ( 47 ) ##EQU53## which is a measure of the number of wave
cycles present per unit distance for a given frequency .omega.,
when the wave speed of propagation is c.sub.o. The object's
electrical properties (recall it is assumed non-magnetic for
simplicity) are summarized in the "object function", .gamma.. (the
normalized difference from the surrounding medium): .gamma.
.function. ( r ) .ident. y ^ - y ^ o y ^ o = .sigma. + I .times.
.times. .omega. .times. .di-elect cons. r .times. .di-elect cons. o
I .times. .times. .omega. .times. .di-elect cons. o - 1 = - i
.times. .sigma. .omega. .times. .di-elect cons. o + .times.
.di-elect cons. r .times. - 1 ( 48 ) ##EQU54## The total electric
field equations are: E i .function. ( r ) = E .function. ( r ) - (
k o 2 + .gradient. .gradient. . ) .times. .intg. .gamma. .function.
( r ' ) .times. E .function. ( r ' ) .times. e - I .times. .times.
k o .times. r - r ' 4 .times. .pi. .times. r - r ' .times. d 3
.times. r ' ( 49 ) ##EQU55## where E.sup.i(r) is the 3-D incident
field, E(r)is the 3-D total field.
[0237] The construction of the sinc basis discretization and the GN
and RP algorithms for this 3-D EM case is essentially equivalent to
the 2-D scalar acoustic case described above. See [Borup, 1989] for
the details of the discretization and solution of the forward
problem by FFT-BCG. The vector-tensor nature of the fields--Green's
function is the only new feature and this is easily dealt with.
[0238] For simplicity, we now look at the situation where there is
no z dependence in either the object function, i.e.
.gamma.(x,y,z)=.gamma.(x,y), neither in the incident field. The
vector .rho.=(x,y) is used for the position vector in (x,y)-space.
E i .function. ( .rho. ) = ( .rho. ) - ( k o 2 + .gradient.
.gradient. . ) .times. .intg. .gamma. .function. ( .rho. ' )
.times. E .function. ( .rho. ' ) .times. 1 4 .times. i .times. H 0
( 2 ) .function. ( k o .times. .rho. - .rho. ' ) .times. d 2
.times. .rho. ' ( 50 ) ##EQU56## in matrix form the equation (50)
looks like: E ' .function. ( .rho. ) = E .function. ( .rho. ) - [ k
0 2 + .differential. 2 .differential. x 2 .times. .differential. 2
.differential. x .times. .differential. y .differential. 2
.differential. y .times. .differential. x .times. k 0 2 +
.differential. 2 .differential. y 2 .times. k o 2 ] .times. .intg.
.gamma. .function. ( .rho. ' ) .times. E .function. ( .rho. ' )
.times. 1 4 .times. i .times. H o 2 .function. ( k o .times. .rho.
- .rho. ' ) .times. d 2 .times. .rho. ' ( 51 ) ##EQU57##
[0239] From this form of the equation, it is clear that the
electric field in the z-direction is uncoupled with the electric
field in the x-y plane. Thus, in this situation the field consists
of two parts. The so-called transverse electric (TE) mode, in which
the electric field is transverse to the z direction, and the
transverse magnetic (TM) mode, in which the electric field has a
nonzero component only in the z direction. The TM mode is governed
by the scalar equation: E z ' .function. ( .rho. ) = E z .function.
( .rho. ) - k o 2 4 .times. i .times. .intg. .gamma. .function. (
.rho. ' ) .times. E z .function. ( .rho. ' ) .times. H 0 ( 2 )
.function. ( k o .times. .rho. - .rho. ' ) .times. d 2 .times.
.rho. ' .times. .times. where .times. .times. E i .function. (
.rho. ) .ident. ( E x i E y i E z i ) .times. .times. and .times.
.times. E .function. ( .rho. ) .ident. ( E x E y E Z ) .times. ( x
, y ) ( 52 ) ##EQU58## which is identical to the 2-D acoustic
equation discussed previously. Thus, the 2-D TM electromagnetic
imaging algorithm is identical to the 2-D acoustic case discussed
in detail above. The TE mode is given by the following equation: (
E x i .function. ( .rho. ) E y i .function. ( .rho. ) ) = ( E x
.function. ( .rho. ) E y .function. ( .rho. ) ) - 1 4 .times. i
.function. [ k 0 2 .times. .differential. 2 .differential. x 2
.times. .differential. 2 .differential. x .times. .differential. y
.differential. 2 .differential. y .times. .differential. x .times.
k 0 2 + .differential. 2 .differential. y 2 ] .times. .intg.
.gamma. .function. ( .rho. ' ) .times. ( E x .function. ( .rho. ' )
E y .function. ( .rho. ' ) ) .times. H 0 2 .function. ( k o .times.
.rho. - .rho. ' ) .times. d 2 .times. .rho. ' ( 53 ) ##EQU59## The
field is a two component vector and the Green's function is a 2x2
tensor Green': function: G = [ g xx g xy g xy g yy ] = 1 4 .times.
i .function. [ k 0 2 + .differential. 2 .differential. x 2 .times.
.differential. 2 .differential. x .times. .differential. y
.differential. 2 .differential. y .times. .differential. x .times.
k 0 2 + .differential. 2 .differential. y 2 ] .times. H 0 2
.function. ( k o .times. .rho. - .rho. ' ) ( 54 ) ##EQU60## In
compact notation: E i .function. ( I - G .times. .times. .GAMMA. )
.times. E .times. .times. where .times. : .times. .times. E i = [ E
x i E y i ] , E = [ E x E y ] , I = [ I 0 0 I ] .times. .times. and
.times. .times. .GAMMA. = [ .gamma. 0 0 .gamma. ] ( 55 )
##EQU61##
[0240] This equation also has a convolution form and can thus be
solved by the FFT-BCG algorithm as described in [Borup, 1989] The
construction of the GN-MRCG MRCG and RP imaging algorithms for this
case is identical to the 2-D acoustic case described above with the
exception that the fields are two component vectors and the Green's
operator is a 2.times.2 component Green's function with
convolutional components.
[0241] Finally, note that the presence of layering parallel to the
z direction can also be incorporated into these 2-D algorithms in
essentially the same manner as above. Special care must be taken,
of course, to insure that the proper reflection coefficient is in
fact, used. The reflection coefficient for the TM case is different
from the TE case.
The Electromagnetic Imaging Algorithm
[0242] The electromagnetic imaging algorithm is virtually the same
as the imaging algorithm for the scalar acoustic mode shown in the
previous example, and therefore, will not be shown here. The
Microwave Nondestructive Imager is one particular application of
this imaging technology, another example is the advanced imaging
optical microscope.
EXAMPLE 4
Advanced Imaging Microscope
[0243] The microscope imaging algorithm requires the complex
scattered wave amplitude or phasor of the light (not the intensity,
which is a scalar) at one or more distinct pure frequencies (as
supplied by a laser). Since optical detectors are phase
insensitive, the phase must be obtained from an interference
pattern. These interference patterns can be made using a
Mach-Zehnder interferometer. From a set of such interference
patterns taken from different directions (by rotating the body for
example), the information to compute the 3-D distribution of
electromagnetic properties can be extracted. A prototype microscope
system is shown in FIG. 6A and discussed in the Detailed
Description Of The Drawings. There are two interferometer paths A
and B where A is the path containing the microscope objective
lenses and sample and B is the reference path containing a beam
expander to simulate the effect of the objective lenses in path A.
These paths are made to be nearly identical. If the paths are equal
in length and if the beam expander duplicates the objective lenses,
then the light from these two paths has equal amplitude and phase.
The resulting interference pattern will be uniformly bright. When
any path is disturbed and interference pattern will result. In
particular if path A is disturbed by placing a sample between the
objective lenses, an interference pattern containing information of
the object will result. When path B has an additional phase shift
of 90 degrees inserted, then the interference pattern will change
by shifted (a spatial displacement) corresponding to 90
degrees.
[0244] The problem of extracting the actual complex field on a
detector (such as a CCD array face) from intensity measurements can
be solved by analysis of the interference patterns produced by the
interferometer. It is possible to generate eight different
measurements by: (1) use of shutters in path A and path B of the
interferometer; (2) inserting or removing the sample from path A;
and (3) using 0 or 90 degree phase shifts in path B. It is seen
that all eight measurements are necessary.
[0245] The procedure to extract amplitude and phase from the
interference patterns can be seen after defining variables to
describe the eight measurements. Let:
f.sub.o.sup.(det).phi..omega.xA=A.sub.o.phi..omega.xe.sup.i.omega.t+i.alp-
ha.(.phi.,.omega.,x) be the incident field on the detector from
path A (with no energy in path B) when no sample is in place,
A.sub.o.phi..omega.x=|A.sub.o.phi..omega.x|,
f.sub.o.sup.det.phi..omega.xB=B.sub.1.phi..omega.ne.sup.i.omega.t+i.beta.-
(.phi..omega.x) be the incident field on the detector from
reference path B.sub.1 when no additional phase shift is introduced
in path B (with no energy in path A), B.sub.1
.phi..omega.x=|B.sub.1.phi..omega.x|
f.sub.1.sup.(det)100.sub..omega.xB=B.sub.2.phi..omega.xe.sup.i.omega.t+i.-
beta.(.phi.,.omega.,x)+i.pi./2 be the incident field on the
detector from reference path B when .pi./2 additional phase shift
is introduced in path B (with no energy in path A),
B.sub.2.phi..omega.x=|B.sub.2.phi..omega.x|,
f.sub.o.sup.(det).phi..omega.xC=C.sub.o1.phi..omega.xe.sup.i.omega.t+.the-
ta.(.phi.,.omega.,x) be the field on the detector when both path A
and path B.sub.1 are combined when no sample is in place,
C.sub.o1.phi..omega.x=|C.sub.o1.phi..omega.x|,
f.sub.o.sup.(det).phi..omega.xC=C.sub.o2.phi..omega.xe.sup.i.omega.t+.the-
ta.(.phi.,.omega.,x)+i.pi./2 be the field on the detector when both
path A and path B.sub.2 are combined when no sample is in place,
C.sub.o2.phi..omega.x=|C.sub.o2.phi..omega.x|,
f.sup.(det).phi..omega.xA=A.sub.1.phi..omega.xe.sup.i.omega.t+.phi.(.phi.-
,.omega.,x) be the field on the detector from path A (with no
energy in path B) when a sample is present,
A.sub..phi..omega.x=|A.sub..phi..omega.x|,
f.sup.(det).phi..omega.xC=C.sub.1.phi..omega.xe.sup.i.omega.t+i.sigma.(.p-
hi.,.omega.,x) be the field on the detector when both path A and
path B, are combined when the sample is in place,
C.sub.1.phi..omega.x=|C.sub.1.phi..omega.x|
f.sup.(det).phi..omega.xC=C.sub.2.phi..omega.xe.sup.i.omega.t+i.sigma.2(.-
phi.,.omega.,x) be the field on the detector when both path A and
path B.sub.2 are combined when the sample is in place,
C.sub.2.phi..omega.x=|C.sub.2.phi..omega.x|,
[0246] .phi. be the rotation angle of the sample holder
[0247] .omega. be the frequency of the light
[0248] x be the 2-D address of a pixel on the detector.
[0249] Now consider the one pixel for one rotation angle and at one
frequency of light so that we may suppress these indices
temporarily. The measurement made by the CCD camera is not of the
field but rather of the square of the modulus of the field (i.e.,
the intensity). Thus, eight intensity fields can be measured on the
detector:
M.sub.1.sup.2=A.sub.0.sup.2.phi..omega.xM.sub.2.sup.2=B.sub.1.sup.2.sub..-
phi..omega.x
M.sub.3.sup.2=B.sub.2.sup.2.phi..omega.xM.sub.4.sup.2=C.sub.01.sup.2.sub.-
.phi..omega.x
M.sub.5.sup.2=C.sub.o2.sup.2.phi..omega.xM.sub.6.sup.2=A.sup.2.sub..phi..-
omega.x
M.sub.7.sup.2=C.sub.1.sup.2.phi..omega.xM.sub.8.sup.2=C.sub.2.sup-
.2.sub..phi..omega.x
[0250] Because of the nature of an interferometer, the eight
measurements are not independent. In particular, M.sub.4.sup.2 is
dependent on M.sub.1.sup.2 and M.sub.2.sup.2. M.sub.5.sup.2 is
dependent on M.sub.1.sup.2 and M.sub.3.sup.2 M.sub.7.sup.2 is
dependent on M.sub.1.sup.2, M.sub.2 .sup.2, M.sub.4.sup.2 and
M.sub.6.sup.2 M.sub.8.sup.2 is dependent on M.sub.1.sup.2,
M.sub.3.sup.2, M.sub.5.sup.2 and M.sub.6.sup.2. Also,
[0251] M.sub.3.sup.2=K M.sub.2.sup.2 (where, K=1 for a perfect
phase shifter).
Thus, B.sub.2.sup.2 =KB.sub.1.sup.2
[0252] There are four ways to add the two beams on specifying
sample in or sample out and specifying 0-degree phase shift or
90-degree phase shift. For sample out:
M.sub.4.sup.2=C.sub.o1.phi..omega.x.sup.2=|A.sub.oe.sup.i.omega.t+i.alpha-
.(.phi.,
.omega.,x)+B.sub.1e.sup.i.omega.t+i.beta.(.phi.n.omega.x)|.sup.2=-
A.sub.o.sup.2+B.sub.1.sup.2+2A.sub.oB.sub.1cos(.beta.-.alpha.),M.sub.5.sup-
.2=C.sub.o2.phi..omega.x.sup.2=|A.sub.oe.sup.i.omega.t+i.alpha.(.phi.,.ome-
ga.,x)+B.sub.2e.sup.i.omega.x+i.beta.(.phi.,.omega.,x)+i.pi./2|.sup.2=A.su-
b.o.sup.2+B.sub.2.sup.2+2A.sub.oB.sub.2cos(.beta.-.alpha.+.pi./2)=A.sub.o.-
sup.2+B.sub.2.sup.2+2A.sub.oB.sub.2sin(.beta.-.alpha.)(.beta.-.alpha.)=-ar-
ctan{M.sub.3[M.sub.4.sup.2-M.sub.1.sup.2-M.sub.2.sup.2]/M.sub.2[M.sub.5.su-
p.2-M.sub.1.sup.2-M.sub.3.sup.2]} For sample in:
M.sub.7.sup.2=C.sub.1
.phi..omega.x.sup.2=|A.sub..phi..omega.xe.sup.i.omega.t+i.phi.(.phi.,.ome-
ga.,x)+B.sub.1.phi..omega.xe.sup.i.omega.t+i.beta.(.phi.,.omega.,x)|.sup.2-
=A.sup.2+B.sub.1.sup.2+2AB.sub.1
cos(.beta.-.PSI.),M.sub.8.sup.2=C.sub.2.phi..omega.x.sup.2=|A.sub..phi..o-
mega.xe.sup.i.omega.t+i.phi.(.phi.,.omega.,x)+B.sub.2.phi..omega.e.sup.i.o-
mega.x+i.beta.(.phi.,.omega.,x)|.sup.2=A.sup.2+B.sub.2.sup.2+2AB.sub.2cos(-
.beta.-.PSI.+.pi./2)=A.sup.2+B.sub.2.sup.2-2AB.sub.2sin(.beta.-.PSI.).
(.beta.-.PSI.)=-arctan{M.sub.3.left
brkt-bot.M.sub.7.sup.2-M.sub.6.sup.2-M.sub.2.sup.2.right
brkt-bot./M.sub.2.left
brkt-bot.M.sub.8.sup.2-M.sub.6.sup.2-M.sub.3.sup.2.right brkt-bot.}
(.beta.-.alpha.)-(.beta.-.PSI.)=(.PSI.-.alpha.)=phase shift
introduced by sample The scattering equations are
f(x)-f.sup.inc(x)+C(x-y)*([.gamma.(y)]).sub.Df(y)), f(x)
f.sup.(sc-det)(z)=f.sup.(det)(z)-f.sup.(inc)(z)=D(z-x)*([f(x)].sub.D.gamm-
a.(x))
[0253] Here, the symbol * means convolution and the symbol
[.].sub.D means the vector [.] is replaced by a diagonal matrix.
When written in terms of the phase shift introduced by the sample
these equations become:
(f(x)/f.sup.(inc)(x))-1=C(x-y)*([.gamma.(y)].sub.D(f(y))/f.sup.(inc)(x))-
)
f.sup.(sc-det)(z)=f.sup.(inc)(z)=(f.sup.(det)(z)/f.sup.(inc)(z))-1=D(z--
x)*([f(x)/f.sup.(inc)(z)].sub.D.gamma.(x))
[0254] If the incident field is known then then these equations can
be solved. If the incident field is not known explicitly, but is
known to be a plane wave incident normal to the detector, then the
phase and amplitude is constant and can be divided out of both
pairs of equations. It is the latter case that is compatible with
the data collected by the interferometer. If the incident field is
not a plane wave then, the amplitude and phase everywhere must be
estimated, but the constant (reference) phase and amplitude will
still cancel. The incident field can be estimated by inserting
known objects into the microscope and solving for the incident
field from measured interference patterns or from inverse
scattering images.
[0255] The basic microscope has been described in its basic and
ideal form. A practical microscope will incorporate this basic form
but will also include other principles to make it easier to use or
easier to manufacture. One such principle is immunity to image.
degradation due to environmental factors such as temperature
changes and vibrations. Both temgerature changes and vibration can
cause anomalous differential phase shifts between the probing beam
and reference beam in the interferometer. There effects are
minimized by both passive and active methods. Passive methods
isolate the microscope from vibrations as much as possible by
adding mass and viscous damping (e.g. an air supported optical
table). Active methods add phase shifts in one leg (e.g. the
reference leg) to cancel the vibration or temperature induced phase
shifts. One such method we propose is to add one or more additional
beams to actively stabilize the interferometer. This approach will
minimize the degree of passive stabilization that is required and
enhance the value of minimal passive stabilization.
[0256] Stabilization will be done by adjusting the mirrors and beam
splitters to maintain parallelness and equal optical path length. A
minimum of three stabilizing beams per/mirror is necessary to
accomplish this end optimally (since three points determine a plane
uniquely including all translation). These beams may be placed on
the edge of the mirrors and beam splitters at near maximum mutual
separation. The phase difference between the main probing and main
reference beam occupying the center of each mirror and beam
splitter, will remain nearly constant if the phase difference of
the two component beams for each stabilizing beam is held constant.
Note that one component beam propagates clockwise in the
interferometer, while the other propagates counterclockwise.
Stabilization can be accomplished by use of a feed back loop that
senses the phase shift between the two component beams for each
stabilizing beam, and then adjusts the optical elements (a mirror
in our case) to hold each phase difference constant. This
adjustment of the optical elements may be done by use of
piezoelectric or magnet drivers.
[0257] We now describe how use of the several stabilizing beams
operates to stabilize the interferometer and the microscope. Since
the stabilization of a single beam is known to those working with
optical interferometers, the description given here will be brief.
The description is easily seen by a simple mathematical analysis of
the interaction of the two components of the stabilizing beam. The
electric field of the light at a point in space may be represented
E=E.sub.oexp (i2.pi. ft), where E.sub.o contains the spatial
dependence and exp(i2.pi. ft) contains the temporal component,
where f is the frequency of oscillation and t is time. For the
remainder of this discussion we assume exp(i2.pi. ft) time
dependence at a single frequency f and this factor will be omitted.
Let the electric field of the output of the interferometer for one
component beam be A and let the electric field output of the second
component be B expi.theta.. Then the combined output is
[A+Bexp(i.theta.)]. The light intensity of the combined output that
is detected is
|A+Bexp(i.theta.)|.sup.2=A.sup.2+B.sup.2+2ABcos.theta..
[0258] The feedback conditions can be easily derived from the above
equation. The feedback signal can be derived by: (1) synchronous
detection of the summed beams when one of the beams, say beam B, is
modulated; or (2) by use of the differences in intensity of the
transmitted and reflected beam exiting the final beam splitter. We
now describe the operation of the first method of synchronous
detection.
[0259] Let .theta.=(.theta..sub.o+.di-elect cons.sin(.omega.t))
represent phase modulation of phase .theta. around equilibrium
phase .theta..sub.o by amount .di-elect cons. at frequency .omega..
The frequency co is typically 100 Hz to 1000 Hz. Suppose that phase
difference of zero degrees between beam A and beam B is required.
Setting .theta..sub.o=.delta. and noting that both .di-elect cons.
and .delta. are small we see that cos.theta.=cos(.delta.+.di-elect
cons.sin(.omega.t)). By use of the trigonometric identity for the
cosine of the sum of two angles we get cos.theta.=cos.delta.
cos(.di-elect cons.sin(.omega.t))-sin.delta. sin(.di-elect
cons.sin(.omega.t)). On expanding this expression to second order
in .delta. we obtain cos .times. .times. .theta. = ( 1 - .delta. 2
/ 2 ) - 1 2 .di-elect cons. e 2 .function. ( 1 - .delta. 2 )
.times. sin 2 .function. ( .omega. .times. .times. t ) - .delta.
.di-elect cons. sin .function. ( .omega. .times. .times. t ) .
##EQU62## We wish to force .delta. to zero for optimal phase lock.
There are two ways to accomplish this end: (1) by maximizing the
modulus of the signal component .di-elect
cons..sup.2(1-.delta..sup.2)sin.sup.2(.omega.t); or (2) by
minimizing the modulus of the signal component .delta..di-elect
cons.sin(.omega.t). The former method is accomplished by mixing
(multiplying) |A+Bcos.theta.|.sup.2 by sin.sup.2(.omega.t), low
pass filtering and then maximizing the signal by feedback changes
to .delta..
[0260] To lock the phase difference to .pi./2 a modification of the
above procedure may be used. Set .theta.=.pi./2+.delta.+.di-elect
cons.sin(.omega.t). Then cos.theta.=cos(.pi./2+.delta.+.di-elect
cons.sin(.omega.t))=sin(.delta.+.di-elect
cons.sin(.omega.t))=-sin.delta.cos(.di-elect
cons.sin(.omega.t))+cos.delta.sin(.di-elect cons.sin(.omega.t)). On
expanding this expression to second order in .delta. we obtain cos
.times. .times. .theta. = ( 1 - .delta. 2 / 2 ) .di-elect cons. sin
.function. ( .omega. .times. .times. t ) - .delta. .function. ( 1 -
1 2 .times. .di-elect cons. 2 .times. sin 2 .function. ( .omega.
.times. .times. t ) ) . ##EQU63##
[0261] Again, we wish to force .delta. to zero for optimal phase
lock. There are again two ways to accomplish this end: (1) by
maximizing the modulus of the signal component
(1-.delta..sup.2/2).di-elect cons.sin(.omega.t); or (2) by
minimizing the modulus of the signal component
.delta.(1-(1/2).di-elect cons..sup.2sin.sup.2sin.sup.2(.omega.t)).
The former method is accomplished by mixing |A+Bcos.theta.|.sup.2
with sin(.omega.t), low pass filtering and maximizing the result by
changing to .delta. through feedback. The latter method is
accomplished by mixing |A+Bcos.theta.|.sup.2 with
sin.sup.2(.omega.), low pass filterings and minimizing the
resulting signal by feedback to change .delta..
[0262] We now describe a second or non-hetrodyning method of phase
locking beam A and B to a constant phase difference. The net
intensity of the respective transmitted and reflected beams from a
beam splitter have different dependency of the phase difference
from the that combines two beams. Let the two beams coincident on
the beamsplitter be A and B cos .theta. Then the two exit beams
from the beam splitter have respective intensities |A+B cos
.theta.|.sup.2 and |A-B cos .theta.|.sup.2. This follows from a
difference in phase of 180 degrees in the reflected beam depending
on whether the incident medium has a higher or lower dielectric
constant than the medium beyond the reflecting surface. The
difference of the signals from detectors that detect transmitted
and reflected beams is given by |A+B cos .theta..sup.2-|A-B cos
.theta.|.sup.2=4AB cos .theta.. If the desired phase angle is
.pi./2 and the error is .delta. then 4AB Cos .theta.=-4AB sin
.delta..apprxeq.-4AB.delta.4. Thus, the error signal .delta. can be
used in a feedback loop to drive the difference in the two optical
paths to .pi./2. This technique can be refined by dividing by the
product of A and B. Since A is proportional to B dividing by
A.sup.2 will be equivalent. The value of A is proportion to the
sampled laser power that is used to generate beam A and beam B cos
.theta..
EXAMPLE 5
Extension to Biot Theory (Acoustic Approximation)
[0263] In the article [Boutin, 1987, Geophys. J. R. astr. Soc.,
vol. 90], herein incorporated by reference, a greens function for
the determination of a point response to a scattering point located
in an isotropic, homogeneous, porous medium that supports elastic
waves is developed. The implementation of this Greens' function
into an imaging algorithm has never been carried out before. In
this section, we have adapted their approach to derive an acoustic
approximation to the fully elastic Biot theory that enables us to
present a simplified practical tool for the imaging of
porosity-like parameters in a geophysical context. The
implementation of the full elastic Biot imaging algorithm using the
Green's function of [Boutin, 1987] in place of the one derived in
[Wiskin, 1992] is no different from the discretization employed
here. The use of the sinc basis functions, the FFT's, the
biconjugate gradients, and so on, is identical.
[0264] We have developed a model that incorporates the parameters
of fluid content, porosity, permeability, etc, but instead of the
3+1 degrees of freedom of the two phase elastic model, has only
1+1, corresponding to the two independent variables, P.sub.s' and
P.sub.l' the pressure field within the solid (modelled as a liquid
in this approximation) and truly liquid phase respectively. As with
the previous example. The use of the Blot theory Green's function
can be combined profitably with layering, to image material in a
layered background.
[0265] Define (see [Boutin, 1987]., for more complete discussion of
the parameters): [0266] .omega. as the frequency of the
interrogating wave [0267] .rho..sub.1 as the density of the liquid
phase [0268] .rho..sub.s as the density of the solid phase [0269] n
as a saturation parameter [0270] K(.omega.) as the generalized,
explicitly frequency-dependent Darcy coefficient introduced via
homogenization theory. [0271] .alpha..sub.o,.theta.,.rho. are
parameter's defined in the following way:
.rho.=(1-n).rho..sub.s+.rho..sub.1[n+.rho..sub.1.omega..sup.2K(.omega.)/i-
.omega.] .theta.=K(.omega.)/i(.omega.)
.alpha..sub.o=.alpha.+.rho..sub.1.omega..sup.2K(.omega.)/i.omega.=.alpha.-
+.rho..sub.1.omega..sup.2.theta.
[0272] The "acoustic two phase Green's function" is the Green's
function obtained by solving the above system with a distributional
right hand side, where .delta.(x) is the Dirac delta distribution.
That is we seek the solution to the following matrix operator
equation: BG.sub.Biot+I.sub.2.times.2.5.delta.(x)=0 where
BG.sub.Biot: R.sup.2,3.fwdarw.R.sup.2 is a function on R.sup.3 or
R.sup.2and I.sub.2.times.2 is the two dimensional identity matrix.
B is given by: B = [ .theta. .times. .gradient. 2 .times. - .beta.
- .alpha. 0 - .alpha. 0 .times. .gradient. 2 .lamda. .times.
.gradient. 2 .times. + .omega. 2 .times. .rho. ] ##EQU64## This
author obtained G Biot .times. 1 4 .times. .pi. .times. .times.
.theta. .times. .times. .lamda. .times. .alpha. 0 ( .delta. 2 2 -
.delta. 1 2 ) .times. { ( .omega. d ) .function. [ .lamda. .alpha.
0 .times. 0 .theta. ] + ( .omega. v ) .function. [ .rho. _ .times.
.times. .omega. 2 0 .times. .alpha. 0 - .beta. _ ] } ##EQU65##
where w: R.sup.3.fwdarw.R.sup.2 is the 2D vector defined by: w
.ident. ( e I .times. .times. .delta. 1 .times. x x e - I .times.
.times. .delta. 2 .times. x x ) ##EQU66## and x.di-elect
cons.R.sup.3 for the acoustic two-phase 3D model, and where d and v
are 2 component vectors (representing the two phases) given by d =
( - .delta. 1 2 .delta. 2 2 ) , v = ( 1 - 1 ) ##EQU67##
[0273] A very similar analysis gives an equation and corresponding
Green's Operator for the acoustic two-phase 2D (two spatial
independent variables) case, in which w: R.sup.2.fwdarw.R.sup.2 and
x.di-elect cons.R.sup.2 The operator is very similar except that
the w vector contains Hankel functions of the zeroth order: w = ( i
4 .times. H 0 ( 2 ) .function. ( .delta. 1 .times. x ) i 4 .times.
H 0 ( 2 ) .function. ( .delta. 2 .times. x ) ) ##EQU68##
[0274] Notice the existence of the two wavenumbers .delta..sub.1
and .delta..sub.2 in this acoustic approximation to Biot theory
guarantee the existence of a fast and slow compressional wave--a
distinguishing characteristic of the classical elastic Biot
theory.
[0275] More importantly this algorithm provides us with a
computationally feasible means of inverting for phenomenological
parameters derived from the classical elastic two phase Biot
Theory.
[0276] Finally, it is important to point out that convolving the
above functions with the sinc basis function analytically is done
in exactly the same manner with G.sub.BIot=G.sub.2.times.2 above as
it was done above because x only occurs in the form of the scalar
acoustic Green's operator. This is why it is possible to create
very efficient algorithms based upon the sinc-Galerkin method and
FFT's as described in [Borup, 1992], using the Green's Operator
described above.
[0277] It is now possible to obtain an algorithm for the inversion
of the 2D Biot porous medium by analogy with the algorithm based
upon the Lippmann-Schwinger equation used earlier. This new
algorithm is based upon a "two phase" Lippmann-Schwinger type
equation derived in a future publication. r 0 .function. ( x ) = r
.function. ( x ) - [ - b _ 1 0 0 b 2 ] .times. .intg. .intg. .intg.
G 2 2 .function. ( x - .xi. ) .times. D ' .function. ( .xi. )
.times. r .function. ( .xi. ) .times. d 3 .times. .xi. .times.
.times. where ##EQU69## D ' .function. ( x ) = [ .gamma. 1 0 0
.gamma. 2 ] ##EQU69.2## the object functions .gamma..sub.j are
given by .gamma. j .function. ( x ) .ident. ( - 1 ) j .times. ( b j
.function. ( x ) b j _ - 1 ) .times. j = 1 , 2 ##EQU70##
[0278] This equation is discretized in the same manner as above,
and the convolution character is preserved. With the explicit form
of the discretized Biot Lippmann-Schwinger Integral Equation the
imaging problem is solved by applying the analogous conjugate
gradient iterative solution method to the Gauss-Newton Equations in
a manner exactly analogous to the discussion above (see future
publication for details).
[0279] Finally, as mentioned above, it is certainly possible to
construct, using the above principles, a layered Green's function
for the Biot theory in exact analogy with the construction for the
acoustic layered Green's Operator. This operator will be a matrix
operator (as is the acoustic two phase Green's Operator constructed
above), and will consist of a convolutional and correlational part
(as does the acoustic single phase Green's Operator constructed
earlier). Because of these convolutional and correlational parts,
the FFT methods discussed above are directly applicable, making the
algorithm feasible from a numerical standpoint.
EXAMPLE 6
Non-Perturbative Inversion of Elastic Inhomogeneous Structures
Buried Within a Layered Half Space
[0280] In elastic media (by convention in this patent, media that
supports shear wave activity) the relevant parameters are .gamma.,
.mu., (Lame' parameters), .rho. (density) and absorption. The
inversion for these elastic parameters (i.e. the first and second
Lame' parameters, .gamma. and .mu. follows virtually the same
prescription as was outlined above for the acoustic scalar case. In
a manner similar to the Electromagnetic Inversion problem discussed
above, it is possible to break up the arbitrary 3 dimensional
vector u(x,y,z), representing the displacement into components that
propagate independently. The exact description of this procedure is
given in [Wiskin, 1991], and [Muller, 1985]. This example will not
deal with this decomposition since the idea behind this is more
easily seen by looking at the electromagnetic example given
earlier.
[0281] The idea here is to incorporate the above solution to the
layered inversion problem directly into the Green's operator. As
before, in the electromagnetic and the acoustic case, this Green's
function is used in the integral equation formulation of the
inversion problem of imaging an inhomogeneous body extending over
an arbitrary number of layers.
[0282] The following is the general elastic partial differential
equation which governs the displacement vector field u in the
general case where X and p both depend upon x .di-elect
cons.R.sup.3. When .lamda. and .mu. are independent of x, we have
the homogeneous elastic case. - .omega. 2 .times. .rho. .function.
( x ) .times. u i .function. ( x ) - .differential. .differential.
x i .function. [ .lamda. .function. ( x ) .times. .differential.
.differential. x k .times. u k .function. ( x ) ] + .differential.
.differential. x i .function. [ .mu. .function. ( x ) .times. {
.differential. .differential. x i .times. u k .times. .function. (
x ) + .differential. .differential. x k .times. u i .function. ( x
) } ] = f i .function. ( x ) ##EQU71## f.sup.i(x) represents the
applied body force, and .mu.(x) and .lamda.(x) are the Lame'
parameters, their dependence upon x .di-elect cons.R.sup.3 is the
result of both the inhomogeneit to be imaged and the ambient
layered medium. In particular u.sub.i({right arrow over (y)}){right
arrow over (y)}.di-elect cons.R.sup.3 is the i.sup.th component
(i=1,2,3) of the displacement field at point {right arrow over
(y)}.di-elect cons.R.sup.3
[0283] u.sub.i.sup.0({right arrow over (y)}) is the i.sup.th
component of the incident field.
[0284] .rho..sub.1({right arrow over
(x)})+.rho..sub.0(z)=.rho.({right arrow over (x)}) is the total
density variation, it consists of the 3-D variation in .rho..sub.1
and the vertical 1-D variation in .rho..sub.o
[0285] .lamda..sub.1({right arrow over
(x)})+.lamda..sub.o(z)=.lamda.({right arrow over (x)}) is the total
variation in .lamda. the first Lame' parameter, .lamda..sub.1 has
3-D variation, and .lamda..sub.0 has 1-D vertical variation.
[0286] .mu..sub.1({right arrow over (x)})+.mu..sub.o(z)=.mu.({right
arrow over (x)}) is the total variation in the second Lame'
parameter .mu.. The .mu..sub.1 has variation in 3-D, the .mu..sub.2
has variation in 1-D (vertical).
[0287] ({right arrow over ({right arrow over
(x)})})=density=..rho..sub.1({right arrow over
(x)})+.rho..sub.0(z),
where .rho..sub.0({right arrow over (x)}) represents the layered
medium without the object, and .rho..sub.1({right arrow over (x)})
represents the object to be imaged.
[0288] .lamda..sub.0(z) and .mu..sub.0 (z) are the z-dependent
Lame' parameters representing the layered medium
[0289] .lamda..sub.1({right arrow over (x)}) and .mu..sub.1({right
arrow over (x)}) are the Lame' parameters representing the object
to be imaged
[0290] The above differential equation is converted to the
following elastic "Generalized Lippmann-Schwinger equation u i
.function. ( y .fwdarw. ) = u i 0 .function. ( y .fwdarw. ) -
.intg. .intg. .intg. vol .times. { G im ( LAY ) .function. ( y
.fwdarw. , x .fwdarw. ) } .times. u m .function. ( x .fwdarw. )
.times. d x .fwdarw. , .times. i = 1 , 2 , 3 ##EQU72## by means of
the kernel G.sub.im.sup.(LAY)({right arrow over (y)},{right arrow
over (x)}), which is constructed below. Where the volume integral
is performed over the finite volume that contains the image space
(and the object being imaged, for example, an ore body, submarine
mine, oil reservoir, etc). This is the basic integral equation
which forms the theoretical foundation for the Layered Green's
Operator approach to Inverse Scattering in a layered medium.
[0291] This kernel is a 3 by 3 matrix of functions which is
constructed by a series of steps:
[0292] Step 1:
[0293] Beginning with the acoustic (scalar or compressional)
Green's function given by G .function. ( k 0 .times. r - r ' ) = e
- I .times. .times. k 0 .times. r - r ' 4 .times. .pi. .times. r -
r ' ##EQU73##
[0294] Step 2:
[0295] The free space elastic Green's matrix is a 3 by 3 matrix of
functions, built up from the free space Green's function. It's
component functions are given as G im .function. ( k T .times. k L
.times. r - r ' ) = .mu. .times. .times. G .function. ( k T .times.
r - r ' ) .times. .delta. im + .mu. k T 2 .times. .differential. 2
.differential. x i .times. x m .function. [ G .function. ( k T
.times. r - r ' ) - G .function. ( k L .times. r - r ' ) ]
##EQU74##
[0296] Step 3:
[0297] Next the layered Green's function, G.sub.im.sup.L({right
arrow over (y)},{right arrow over (x)}), for a layered elastic
medium is defined. It is defined in terms of G.sub.im, the
components i,m=1, . . . , 3, of the elastic Green's function in
homogeneous elastic media given above. The components of the
layered Green's matrix are integrals over Bessel functions and
reflection coefficients in essentially the same manner as the
acoustic layered Green's function consisted of integrals over
wavenumber, of the acoustic reflection coefficients. This dyadic is
patterned after [Muller, 1985], in the manner discussed in [Wiskin,
1992].
[0298] Step 4:
[0299] Finally the layered Green's kernel G.sub.im.sup.(LAY), is
constructed {right arrow over (x)}.di-elect cons.R.sup.3 G im ( LAY
) .function. ( y .fwdarw. , x .fwdarw. ) = - .omega. 2 .times. G im
L .function. ( y .fwdarw. , x .fwdarw. ) .times. .rho. 1 .function.
( x .fwdarw. ) - .differential. .differential. x m .times. { (
.differential. .differential. x j .times. G ij L .function. ( y
.fwdarw. , x .fwdarw. ) ) .times. .lamda. 1 .function. ( x .fwdarw.
) } + .differential. .differential. x j .times. { ( .differential.
.differential. x m .times. G ij L .function. ( y .fwdarw. , x
.fwdarw. ) + .differential. .differential. x j .times. G m L
.function. ( y .fwdarw. , x .fwdarw. ) ) .times. .mu. 1 .function.
( x .fwdarw. ) } ##EQU75## where G.sub.im.sup.L({right arrow over
(y)},{right arrow over (x)}) is layered Green's function for the
elastic layered medium. The progressive constructions can be
represented in the following way, beginning with the acoustic free
space Green's function: G .function. ( k 0 .times. r - r ' ) = e -
I .times. .times. k 0 .times. r - r ' 4 .times. .pi. .times. r - r
' .fwdarw. .fwdarw. G im .function. ( y .fwdarw. , x .fwdarw. )
.fwdarw. .fwdarw. G im L .function. ( y .fwdarw. , x .fwdarw. )
.fwdarw. .fwdarw. G im ( LAY ) .function. ( y .fwdarw. , x .fwdarw.
) ##EQU76##
[0300] Alternatively, in words: TABLE-US-00001 Acoustic free
elastic free space elastic kernel for elastic space Green's Greens
function layered layered Lippmann- function Green's Schwinger
equation function
[0301] Using the last "kernel" in this series in the generalized
elastic layered Lippmann-Schwinger Equation gives the vector
displacement. u i .function. ( y .fwdarw. ) = u i 0 .function. ( y
.fwdarw. ) = .intg. .intg. .intg. vol .times. { G im ( LAY )
.function. ( y .fwdarw. , x .fwdarw. ) } .times. u m .function. ( x
.fwdarw. ) .times. d x .fwdarw. ##EQU77## which is then
discretized, using the sinc basis in exactly the same way as for
the previous examples, and, the FFT, and biconjugate gradient, and
conjugate gradient algorithms are then applied to this vector
equation, in the same way as done above. Thus the elastic modality
(including shear waves) is accounted for.
[0302] The construction of the layered Green's function in the full
elastic case (with shear wave energy included is slightly more
complicated than the purely scalar case. For this reason, we look
at the construction in more detail, see also [Wiskin, 1993]
[0303] For discretization of the resulting equations see the
electromagnetic case discussed in example 3.
[0304] The Construction of the Continuous Form of the Layered
Green's Operator G.sup.L-3D and with full elastic mode conversion
Case,
[0305] Now we proceed with the construction of the continuous
variable form of the Layered Green's operator. The closed form
expression for the discretized form of the bandlimited
approximation to this continuous variable Green's operator is
constructed in a manner exactly analogous to the vector
electromagnetic case discussed in example 3.
[0306] By analogy with the acoustic (scalar) situation, the
construction of the layered Green's operator can be viewed as a
series of steps beginning with the 3D free space Green's
operator.
[0307] Step a) Decompose a unit strength point source into a plane
wave representation (Weyl-Sommerfeld Integral). For the
elastodynamic (vector) case we must consider the the three
perpendicular directions of particle motion, which we take to be
the horizontal direction, the direction of propagation, and the
direction perpendicular to the previous two. Muller has given the
representation for a point source in elastic media in [Muller,
1985]
[0308] Step b) Propagate and reflect the plane waves through the
upper and lower layers to determine the total field at the response
position. The total field will consist of two parts: u.sup.up(r),
the upward propagating particle velocity, and u.sup.d(r), the
downward propagating particle velocity at position r. This
propagation and reflection is carried out analytically by means of
the reflection coefficients, which in the elastic case, are the
matrices R.sup.- and R.sup.+(R.sup.- and R.sup.+ are 2.times.2
matrices), and the scalars, r.sup.-, and r.sup.+. The matrices
correspond to the P-SV (compressional and shear vertical polarized
waves) for the case of horizontal stratification. (x is the
horizontal, and z is the vertical coordinate, z is positive
downward). The scalar coefficients correspond to the SH
(horizontally polarized) shear waves, which propagate without mode
conversion to the other types for the case of horizontally layered
media.
[0309] R.sup.- and r.sup.-, represent the wave field reflected from
the layers below the source position, and R.sup.+, and r.sup.+
represent the cumulative reflection coefficient from the layers
above the source position, for the matrix and scalar cases
respectively.
[0310] These total reflection coefficients are formed recursively
from the standard reflection coefficients found in the literature
(e.g. Muller [1985], and Aki and Richards, Quantitative Seismology,
Freeman and Co., 1980, herein included as a reference].
[0311] FIGS. 1-C and 27 should be kept in mind throughout the
following discussion. As in the scalar case, in order to have a
single reference position R.sup.+ and R.sup.- are both given with
respect to the top of layer that contains the scattering point,
which is denoted by "sc". That is, R.sup.+ represents the
reflection coefficient for an upgoing wave at the interface between
layer sc and sc-1. FIG. 27 displays the relevant geometry.
[0312] In our case the expressions S.sup.u and S.sup.d, S.sup.d and
S.sup.u, and are those derived from the Sommerfeld integral
representation of a point source of unit strength, given in Muller.
[see also Aki and Richards, 1980]. For example:
S.sup.d=e.sup.iwb.sup.sc.sup.(z'-z.sup.sc.sup.)=e.sup.iwb .sup.sc
.sup..DELTA.z'
S.sup.u=e.sup.iwb.sup.sc.sup.(z'-z.sup.sc.sup.)=e.sup.iwb .sup.sc
.sup..DELTA.z' for the scalar case.
[0313] As shown in detail, by Muller, the total contribution of the
upward travelling wave is given by
S.sup.u+R.sup.-R.sup.+S.sup.u+R.sup.-R.sup.+R.sup.-R+S.sup.u+R.sup.-R.sup-
.+R.sup.-R.sup.30 S.sup.u+ . . .
=[1+R.sup.-R.sup.++R.sup.-R.sup.+R.sup.-R.sup.++R.sup.-R.sup.+R.sup.-R.su-
p.+R.sup.-R.sup.++ . . . ]S.sup.u=[1-R.sup.-R.sup.+].sup.-1S.sup.u
for the transverse shear wave (SH or horizontal shear wave), and
S.sup.u+R.sup.-R.sup.+S.sup.u+R.sup.-R.sup.+R.sup.-R+S.sup.u+R.sup.-R.sup-
.+R.sup.-R.sup.+S.sup.u+ . . .
=[1+R.sup.-R.sup.++R.sup.-R.sup.+R.sup.-R.sup.++R.sup.-R.sup.+R.sup.-R.su-
p.+R.sup.-R.sup.++ . . . ]S.sup.u=[1=R.sup.-R.sup.+].sup.-1S.sup.u
for the P-SV matrix case. Note that some care must be exercised in
the convergence of the matrix series, however, for practical
situations we can omit this detail.
[0314] Step c) The process of forming the total field at the
response point must be broken up into two cases:
[0315] Case 1: the response point is above the scatter point, that
is .DELTA.z-.DELTA.z'<0(.DELTA.z is the distance from the
interface above the scattering layer, to the response point, the z
axis is positive downward), and
[0316] Case 2, where the response point is below the scattering
point .DELTA.z-.DELTA.z'<0.
[0317] Furthermore each case consists of an upward travelling, and
a travelling wave:
[0318] Upward travelling wavefield:
[0319] First, in case 1:
[1-R.sup.-R.sup.+].sup.-1S.sup.u and
[1-R.sup.-R.sup.+].sup.-1S.sup.u represent the contribution to
u.sup.up from the upward travelling part of the source. A similar
expression can be formed for the contribution from the downward
travelling part of the source, it is
[1-R.sup.-R.sup.+]-1R.sup.-S.sup.d, and
[1-R.sup.-R.sup.+].sup.-1R.sup.-S.sup.d Thus, the total upward
component of the wave field at the response point is formed from: u
up .ident. ( ( 1 - R - .times. R + ) - 1 ( S u + R - .times. S d )
( 1 - r - .times. r + ) - 1 ( S u + r - .times. S d ) )
##EQU78##
[0320] Case 2: the response point is below the scatter point, that
is .DELTA.z-.DELTA.z'>0
[0321] The result here is similar, the change occurring in the
coefficient of the S.sup.u, and S.sup.u. u up .ident. ( ( 1 - R -
.times. R + ) - 1 ( R - .times. R + .times. S u + R - .times. S d )
( 1 - r - .times. r + ) - 1 ( S u + r - .times. S d ) )
##EQU79##
[0322] Downward Component of Wavefield
[0323] Case 1: A similar expression gives the downward component of
the total wave field at the response point r, for case 1: u down
.ident. u d .ident. ( ( 1 - R + .times. R - ) - 1 ( R + .times. R -
.times. S d ) ( 1 - r + .times. r - ) - 1 ( r + .times. r - .times.
S d ) ) + ( ( 1 - R + .times. R - ) - 1 R + .times. S u ( 1 - r +
.times. r - ) - 1 r + .times. S u ) ##EQU80## or ##EQU80.2## u down
.ident. u d .ident. ( ( 1 - R + .times. R - ) - 1 ( R + .times. R -
.times. S d + R + .times. S u ) ( 1 - r + .times. r - ) - 1 ( r +
.times. r - .times. S d + r + .times. S u ) ) ##EQU80.3##
[0324] Case 2: For case 2, the result is similar, here the response
point resides below the scatter point, that is
.DELTA.z-.DELTA.z'>0 u down .ident. u d .ident. ( ( 1 - R +
.times. R - ) - 1 ( S d + R + .times. S u ) ( 1 - r + .times. r - )
- 1 ( r + .times. r - .times. S d + r + .times. S u ) )
##EQU81##
[0325] Step d) The final step in the process is the recombination
of the plane waves to obtain the total wavefield (upgoing and
downgoing waves) at the response position:
[0326] For the scalar case 1 .DELTA.z-.DELTA.z'<0, and:
G.sup.L(x-x',y-y',z/z')=f.sup.u=f.sup.d, with
u.sup.up=.intg.J.sub.0(u.omega./r-4\)[1-R.sup.-R.sup.+].sup.-1[S.sup.u+R.-
sup.-S.sup.d]exp.sup.i.omega.bsc(z-zsc)du
u.sup.d=.intg.J.sub.0(u.omega./r-r'|)[1-R.sup.-R.sup.+].sup.-1[R.sup.+S.s-
up.u+R.sup.+R.sup.-S.sup.d]exp.sup.-i.omega.bsc(z-zsc)du so that
G.sup.L(x-x',y-y',z/z')=.intg.J.sub.0(u.omega./r-r'|)[1-R.sup.-R.sup.+].s-
up.-1[S.sup.u+R.sup.-S.sup.d]{e.sup.i.omega.b.sup.sc.sup.(z-z.sup.sc.sup.)-
+R.sup.+e.sup.i.omega.b.sup.sc.sup.(z-z.sup.sc.sup.)}du While for
case 2, .DELTA.z-.DELTA.z'>0, similar algebra gives:
G.sup.L(x-x',y-y',z/z')=.intg.J.sub.0(u.omega./r-r'|)[1-R.sup.-R.sup.+].s-
up.-1R.sup.+S.sup.u+S.sup.d[e.sup.i.omega.b.sup.sc.sup.(z-z.sup.sc.sup.)+R-
.sup.-e.sup.i.omega.b.sup.sc.sup.(z-z.sup.sc.sup.)]du For case 1
this can be rewritten as:
G.sup.L(r-r',z/z')+A.intg..sub.u=0.sup..infin.C(u:r-r'){S.sup.ue.sup.i.om-
ega.b.sup.sc.sup..DELTA.z+R.sup.-S.sup.de.sup.i.omega.b.sup.sc.sup..DELTA.-
z+R.sup.+S.sup.ue.sup.-i.omega.b.sup.sc.sup..DELTA.z+R.sup.+R.sup.-S.sup.S-
e.sup.i.omega.b.sup.sc.sup..DELTA.z}du where the coefficient
function C(u:r-r') is given by: C .function. ( u .times. : .times.
r - r ' ) = J 0 .function. ( u .times. .times. .omega. .times. r -
r ' ) .times. ( 1 - R - .times. R + ) - 1 .times. I .times. .times.
.omega. .times. .times. u b sc ##EQU82## For case 2, G.sup.L can be
written as:
G.sup.L(x-x',y-y',z/z')=.intg.J.sub.0(u.omega./r-r'|).sup.-1{R.sup.+R.sup-
.-S.sup.ue.sup.i.omega.b.sup.sc.sup..DELTA.z+R.sup.-S.sup.de.sup.i.omega.b-
.sup.sc.sup..DELTA.z+R.sup.+S.sup.ue.sup.-i.omega.b.sup.sc.sup..DELTA.z+S.-
sup.de.sup.-i.omega.b.sup.sc.sup..DELTA.z}du
[0327] Finally, using the definitions for S.sup.u and S.sup.d and
recognizing that products such as
S.sup.de.sup.i.omega.b.sup.sc.sup..DELTA.z can be rewritten as
S.sup.de.sup.i.omega.b.sup.sc.sup..DELTA.z=e.sup.i.omega.b.sup.sc.sup..DE-
LTA.z'e.sup.i.omega.b.sup.sc.sup..DELTA.z=e.sup.i.omega.b.sup.sc.sup.(.DEL-
TA.z+.DELTA.z') the operator G.sup.L turns out (after rearrangement
of the above equations) to be the sum of a convolution and a
correlation kernel:
G.sup.L(r-r',z/z)=G.sub.R(r-r',z+z)+G.sub.v(r-r',z-z').
[0328] Case I has (.DELTA.z-.DELTA.z').ltoreq.0, where
.DELTA.z=z-z.sub.sc and .DELTA.z'=z'-z.sub.sc with z.sub.sc being
the z co-ordinate of the top part of the layer that contains the
scatterer. In fact G.sub.R and G.sub.V turn out to be given by the
following formulae (they appear to differ from the integrals above
because of the rearrangement that leads to the decomposition into
convolutional and correlational parts): G.sub.R(r-r',
.DELTA.z/.DELTA.z')=A
.intg..sub.u=0.sup..infin.J.sub.0(u.omega.|r-r'|)C(u){R.sup.+e.sup.-i.ome-
ga.b.sup.sc.sup.(.DELTA.z+.DELTA.z')+R.sup.-e.sup.i.omega.b.sup.sc.sup.(.D-
ELTA.z+.DELTA.z')}du G.sub.V(r-r', .DELTA.z/.DELTA.z')=A
.intg..sub.u=0.sup..infin.J.sub.0(u.omega.|r-r'|)C(u){R.sup.+R.sup.-e.sup-
.-i.omega.b.sup.sc.sup.(.DELTA.z+.DELTA.z')+e.sup.i.omega.b.sup.sc.sup.(.D-
ELTA.z+.DELTA.z')}du where, now:
C(u)=(1-R.sup.+R-).sup.-1.sup.h.sup.i.omega.b
[0329] R.sup.- and R.sup.+ are the recursively defined reflectivity
coefficients described in Muller's paper, u is the horizontal
slowness, u .ident. sin .times. .times. .theta. c ##EQU83## Recall
that Snell's law guarantees that u will remain constant as a given
incident plane wave passes through several layers.
[0330] .omega. is the frequency
[0331] b.sub.sc is the vertical slowness for the particular layer
hosting the scattering potential
[0332] Case II consists of the case where
(.DELTA.z-.DELTA.z'.gtoreq.0. The G.sub.R and G.sub.V are now given
by the following: G.sub.V(r-r', .DELTA.z/.DELTA.z')=A
.intg..sub.u=0.sup..infin.J.sub.0(u.omega.|r-r'|)C(u){R.sup.+R.sup.-e.sup-
.-i.omega.b.sup.sc.sup.(.DELTA.z+.DELTA.z')+e.sup.i.omega.b.sup.sc.sup.(.D-
ELTA.z+.DELTA.z')}du and G.sub.R(r-r', .DELTA.z/.DELTA.z')=A
.intg..sub.u=0.sup..infin.J.sub.0(u.omega.|r-r'|)C(u){R.sup.-e.sup.-i.ome-
ga.b.sup.sc.sup.(.DELTA.z+.DELTA.z')+R.sup.+e.sup.i.omega.b.sup.sc.sup.(.D-
ELTA.z+.DELTA.z')}du
[0333] These expressions can be combined into one equation by the
judicious use of absolute values. The correlational part of the
Green's operator can be transformed into a convolution by a
suitable change of variables. The resulting Green's function for
imaging inhomogeneities residing within Ambient Layered Media must
be quantized by convolving with the sinc (really Jinc) basis
functions described below. This is done analytically and the result
iS given below. The same process is carried out as detailed above,
in order to determine the P-SV total wavefield (the 2 by 2 matrix
case), and is not repeated.
[0334] The matrix case is handled in exactly the same manner, with
allowance for the differing algebra associated with matrices, the
preservation of the convolution is preserved for the same reason as
shown above in the scalar situation.
[0335] On avoiding convergence problems due to the presence of
derivatives in the elastic Green's function (i.e. with shear wave
motion)
[0336] One difficulty with this formulation is the presence of four
derivatives acting upon the acoustic free space Green's function in
the construction of the dyadic G.sup.(LAY). This problem we have
overcome (see related code in Appendix E) by the following
method:
[0337] Given an inhomogeneous distribution of isotropic density
.rho. and Lame parameters .lamda. and .mu., imbedded in a
homogeneous medium with density .rho..sub.0 and Lame parameters
.lamda..sub.0, and .mu..sub.0, the total infinitesimal displacement
vector u satisfies the partial differential equation
.omega..sup.2.rho.u.sub.i+(.lamda.u.sub.jj).sub.i+[.mu.(u.sub.ij+u.sub.ji-
)].sub.j=0 (1) while the incident displacement field u.sup.i
satisfies
.omega..sup.2.rho.u.sub.i.sup.i+(.lamda..sub.0u.sub.jj.sup.i).sub.i+[.mu-
..sub.0(uij.sup.i+u.sub.ji.sup.i)].sub.j=0 (2) where .rho..sub.0,
.lamda..sub.0, and .mu..sub.0 are the homogeneous parameters of the
imbedding medium. Subtracting (2) from (1) and rearranging results
in u i s + ( 1 k p 2 - 2 k s 2 ) .times. ( u jj s ) , i + 1 k s 2
.function. [ ( u ij s + u ji s ) j ] j = - fi ( 3 ) ##EQU84## for
the scattered displacement field u.sup.s=u-u.sup.i. The
inhomogeneous term f is given by fi = ( .rho. .rho. 0 - 1 ) .times.
u i - ( 1 k p 2 - 2 k s 2 ) .times. { ( .lamda. .lamda. 0 - 1 )
.times. u ij } i + 1 k s 2 .times. { ( .mu. .mu. 0 - 1 ) .times. (
u ij + u j , i ) } j ( 4 ) ##EQU85## where the respective
shear-wave and compression-wave velocities c.sub.s and c.sub.p and
corresponding wave numbers k.sub.s and k.sub.p are given by c s 2 =
.mu. 0 .rho. 0 ; k s 2 = .omega. 2 c 2 ; c p 2 = .lamda. 0 + 2
.times. .mu. 0 .times. .rho. 0 ; k p 2 = .omega. 2 c p 2 ( 5 )
##EQU86## for the imbedding medium. Introducing the scattering
potentials .gamma. .rho. = .rho. .rho. 0 - 1 ; .gamma. .times.
.times. .lamda. = ( 1 k p 2 - 2 k s 2 ) .times. ( .lamda. .lamda. 0
- 1 ) ; .gamma. .mu. = ( 1 k s 2 ) .times. ( .mu. .mu. 0 - 1 )
.times. .times. gives ( 6 ) f i = .gamma. .rho. .times. u i + {
.gamma. .lamda. .times. u jj } , i + { .gamma. .mu. .function. ( u
ij + u ij + u j , i ) } j ( 7 ) ##EQU87## Solution of (3) by the
introduction of the free-space Green's function results
u.sub.i.sup.s=G.sub.ij*f.sub.i=.intg..sub.vfi(r')G.sub.ij(F-r')dv'
(8) where * denotes 3-D convolution, v is the support of the
inhomogeneity, and the Green's function is given by [Aki and
Richards, Quantitative Seismology, Freeman and Co., 1980, herein
included as a reference]: G ij .function. ( r - r ' ) = k s 2
.times. g .function. ( k s .times. r - r ' ) .times. .delta. ij +
.differential. 2 .differential. x i .times. dx j .times. { g
.function. ( k s .times. r - r ' ) - g .function. ( k p .times. r -
r ' ) } ( 9 ) ##EQU88## where g(kR) is the scalar Helmholtz Green's
function g .function. ( kR ) = e IkR 4 .times. .pi. .times. .times.
R ( 10 ) ##EQU89## where e.sup.-i.omega.t time dependence has been
assumed. Inserting (7) into (8) and integrating by parts yields the
following integral wave equation:
u.sub.i.sup.s=G.sub.ij*{.gamma..sub..rho.u.sub.j}+G.sub.ij,j*{.gamma..sub-
..lamda.u.sub.k,k}+G.sub.ij,k*={.gamma..sub.u(u.sub.j,k+u.sub.kj)}
(11) For now, consider the case where .gamma..sub..mu.=0 and note
that: G ij , j = k s 2 .times. .differential. .differential. x i
.times. g .function. ( k s .times. R ) + .differential.
.differential. x i .times. ( .gradient. 2 .times. g .function. ( k
s .times. R ) - .gradient. 2 .times. g .function. ( k p .times. R )
) ( 12 ) ##EQU90## using
(.gradient..sup.2+k.sup.2).sub.g(kR)=-.delta.(|r-r'|) (13) reduces
(12) to: G ij , j = k p 2 .times. .differential. .differential. x i
.times. g .function. ( k p .times. R ) ( 14 ) ##EQU91## which will
henceforth be denoted C.sub.i. We have now arrived at the integral
equation: [ u x i u y i u z i ] = [ u x u y u z ] - [ G xx G xy G
xz C x G yx G yy G yz C y G zx G zy G zz C z ] * [ .gamma. .rho. 0
0 0 0 .gamma. .rho. 0 0 0 0 .gamma. .rho. 0 0 0 0 .gamma. .rho. ]
.function. [ u x u y u z .gradient. u ] ( 15 ) ##EQU92## since
u.sub.kk=.gradient.u
[0338] The integral equation (15) can be solved by application of
the 3-D FFT to compute the indicated convolutions, coupled with the
biconjugate gradient iteration, or similar conjugate gradient
method. [Jacobs, 1981]. One problem with (15) is, however, the need
to compute .gradient.u at each iteration. Various options for this
include taking finite differences or the differentiation of the
basis functions (sinc functions) by FFT. Our experience with the
acoustic integral equation in the presence of density inhomogeneity
indicates that it is best to avoid numerical differentiation.
Instead, the system is augmented as: [ u x i u y i u z i .gradient.
u i ] = .times. [ u x u y u z .gradient. u ] - [ G xx G xy G xz C x
G yx G yy G yz C y G zx .times. 0 G zy G zz G z C x C y C z D ] * [
.gamma. .rho. 0 0 0 0 .gamma. .rho. 0 0 0 0 .gamma. .rho. 0 0 0 0
.gamma. .rho. ] .function. [ u x u y u z .gradient. u ] .times.
.times. where ( 16 ) D = C XX + C YY + C z , z = k p 2 .times.
.gradient. 2 .times. g .function. ( k p .times. R ) = - k p 2
.times. { k p 2 .times. g .function. ( k i .times. R ) + .delta.
.function. ( R ) } . ( 17 ) ##EQU93##
[0339] Iterative solution of (16) for the four unknown fields
u.sub.x, u.sub.y, u.sub.z, and .gradient.u now involves no
numerical differentiation of u, since all derivative operators have
now been applied analytically to the Green's function. The incident
component .gradient.u.sup.i is assumed known. Equation (16) can be
written symbolically as U.sup.i=(I-G[.gamma.].sub.diag)U (18) where
U.sup.i and U are the augmented 4-vectors in Eq. (16),
[.gamma.].sub.diag is the diagonal operator composed of
.gamma..sub..rho. and .gamma..sub..lamda., and is the 4.times.4
dyadic Green's function in Eq. (16).
[0340] Inclusion of .gamma..sub..mu. Scattering to Give the General
Elastic-wave Integral Equations We now give a method for solving
integral equations in the general case for the inhomogeneous
material properties .rho., .lamda., and .mu..
[0341] Because the inclusion of the more complicated term in
.gamma..mu.. causes the matrix notation used above to require
breaking the equations into parts on several lines, we elect for
efficiency of space to use the more compact tensor notation. This
should cause no difficulty because the translation is clear on
comparing the special case of .gamma..sub..mu.=0 in the general
tensor equations which follow with the previous matrix notation for
this same case.
[0342] First we give again (see Eq (11)) the integral equations
(which in practice have been discretized by sinc basis functions)
for inhomogeneous .rho., .lamda., and .mu.. Here * means
convolution (the integration operation):
u.sub.i.sup.s=G.sub.ij*{{.gamma..sub..rho.u.sub.j}+G.sub.ij,j*[.gamma..su-
b.u(u.sub.j,k+u.sub.kj)] (19) We note that the displacement field
uj and its derivatives also ujk appear. We choose not to compute
derivatives of the fields numerically and avoid the associated
numerical instability. Instead, we augment the above equation with
additional equations to compute the derivatives in a more stable
way by solving for them directly. Thus, solving for
(u.sub.i,1+u.sub.1,i) directly is more efficient and replaces
computation of nine fields with only six. Forming the six unique
symmetric-derivative pairs, we obtain an integral equation for
these pairs.
u.sub.i,j.sup.s+u.sub.l,j.sup.s=(G.sub.ij,l+G.sub.lj,i)*[.gamma..sub..rho-
.u.sub.j]+(G.sub.ij,kl+G.sub.l,j,ki)*[.gamma..sub..mu.(u.sub.jk--u.sub.kj)-
]+(G.sub.ij,jl+G.sub.lj,ji)*[.gamma..lamda..sup.u.sub.k,k] (20)
Note that G ij , jl = k p 2 .times. .differential. 2 .times.
.differential. x i .times. x l .times. g .function. ( k p .times. R
) ( 21 ) ##EQU94##
[0343] We now augment the system Eq. (19) for the three components
of u.sub.i.sup.s with the system Eq. (20) which has six pairs of
unique component derivatives.
[0344] These nine equations can also be placed in a matrix form
similar to that of the augmented system given in Eq (16). The
augmented system of nine components could be solved for
.gamma..sub..rho., .gamma..sub..lamda., and .gamma..sub..mu.,
assuming knowledge of the fields u.sup.i and derivatives u.sub.i,k.
Since the fields and derivatives are also unknown, we must solve
for them simultaneously with .gamma..sub..rho.,
.gamma..sub..lamda., and .gamma..sub..mu.. This is done by adding
these constraint equations. These nine equations are composed of
the three equations for u.sub.i
u.sub.i.sup.i=u.sub.i-G.sub.ij*(.gamma..sub.pu.sub.j)-G.sub.ij,j*[.gamma.-
.sub..lamda.u.sub.k,k]-G.sub.ij,k*
[.gamma..sub..mu.(u.sub.j,k+u.sub.kj)] (22) and the six equations
for u.sub.j,k+u.sub.kj
u.sub.i,l.sup.i+u.sub.l,i.sup.i=(u.sub.i,l-u.sub.l,i)-(G.sub.ij,l+G.sub.l-
j,i)*[.gamma..sub.pu.sub.j]-(G.sub.ij,kl+G.sub.lj,ki)*[.gamma..sub..mu.(u.-
sub.jk+u.sub.kj)]-(G.sub.ij,jl+G.sub.lj,ji)*[.gamma..sub..lamda.u.sub.k,k]
(23)
[0345] These 9 equations can also be placed in a matrix form
similar to that of the augmented system given in Eq (16). Solving
these twelve equations (Eq. (19, 22, 23)) for (.gamma..sub..rho.,
.gamma..sub..lamda., and .gamma..sub..mu..), the fields, and their
derivatives is accomplished using the Frechet derivative methods
described next. As in Eq. (16) for the .mu.=.mu..sub.0 case, Eq.
(23) can be written symbolically as
U.sup.i=(I-G[.gamma.].sub.diag)U (24) where the operators and
[.gamma.].sub.diag are now 9.times.9, and the vectors U and U.sup.i
consist of the three components of u and its six symmetric
derivative sum-pairs.
EXAMPLE 7
Cylindrical Coordinate Methods for Numerical Solution of the
SIE
[0346] The above examples all use the FFT-BCG algorithm for
imaging. This method is one of three methods discussed in this
patent. The other two methods are
[0347] (1) The cylindrical coordinate recursion method (Cylindrical
Recursion)
[0348] (2) Rectangular recursion of scattering matrix method
(Rectangular Recursion for short reference)
[0349] We now discuss the cylindrical recursion method:
7.1 Cylindrical Coordinate SIE Formulation and Discretization
[0350] We begin with the acoustic scattering integral equation
(SIE) for the constant density case: f i .function. ( .rho. ) = f
.function. ( .rho. ) - k 0 2 4 .times. i .times. .intg. .intg.
.gamma. .function. ( .rho. ' ) .times. f .function. ( .rho. ' )
.times. H 0 ( 2 ) .function. ( k 0 .times. .rho. - .rho. ' )
.times. d 2 .times. .rho. ( 1.1 ) ##EQU95## Let each field be
expanded in a Fourier series in the angular variable: f .function.
( .rho. ) = n .times. f n .function. ( .rho. ) .times. e I .times.
.times. n .times. .times. .PHI. ##EQU96## Then using Graf's
addition theorem: H 0 ( 2 ) .function. ( k 0 .times. .rho. - .rho.
' ) = { n .times. H n ( 2 ) .function. ( k 0 .times. .rho. )
.times. J n .function. ( k 0 .times. .rho. ' ) .times. e I .times.
.times. n .function. ( .PHI. - .PHI. ' ) .times. .rho. > .rho. '
n .times. H n ( 2 ) .function. ( k 0 .times. .rho. ' ) .times. J n
.function. ( k 0 .times. .rho. ) .times. e I .times. .times. n
.function. ( .PHI. - .PHI. ' ) .times. .rho. < .rho. ' ( 1.2 )
##EQU97## results in the cylindrical coordinate form of (1.1): f n
i .function. ( .rho. ) = f n .function. ( .rho. ) - .pi. .times.
.times. k 0 2 2 .times. i .times. .intg. 0 a .times. { m .times.
.gamma. n - m .function. ( .rho. ' ) .times. f m .function. ( .rho.
' ) } .times. B m .function. ( k 0 .times. .rho. ) .times. C m
.function. ( k 0 .times. .rho. ' ) .times. .rho. ' .times. d .rho.
' ( 1.3 ) ##EQU98## where the kernel is B m .function. ( k 0
.times. .rho. ) .times. C m .function. ( k 0 .times. .rho. ' ) = {
H n ( 2 ) .times. ( k 0 .times. .rho. ) .times. J n .function. ( k
0 .times. .rho. ' ) .rho. > .rho. ' H n ( 2 ) .times. ( k 0
.times. .rho. ' ) .times. J n .function. ( k 0 .times. .rho. )
.rho. < .rho. ' } ( 1.4 ) ##EQU99## separably symmetric:
[0351] Henceforth assume that k.sub.0=1. Discretizing the radial
integral by trapezoidal rule using an increment of .DELTA. results
in: f 1 , n = f nl , n - { h l , n .times. l ' - l l .times. (
.gamma. .times. .times. f ) l , n , jl , n + j l , n .times. l ' =
l + 1 L .times. ( .gamma. .times. .times. f ) l ' .times. n .times.
h l ' .times. n } .times. .times. where ( 1.5 ) f 1 , n = f n
.function. ( 1 .times. .DELTA. ) , .times. h l , n = .DELTA.
.times. .pi. 2 .times. i .times. H n ( 2 ) .function. ( 1 .times.
.DELTA. ) , .times. j l , h = .DELTA. .times. .pi. 2 .times. i
.times. J n .function. ( 1 .times. .DELTA. ) .times. .times. and (
1.6 ) ( .gamma. .times. .times. f ) 1 ' , n = 1 ' .times. m .times.
.times. .gamma. 1 ' , n - m .times. f 1 ' , m ( 1.7 )
##EQU100##
[0352] Notice that the extra 1' resulting from the .rho.' in the
integral in (1.3) has been placed in the definition of
(.gamma.f).sub.1'n'. Equation (1.5) is the final discrete linear
system for the solution of the scattering integral equation in
cylindrical coordinates. It can be rewritten as: f l i = f l - { [
h l ] .times. l ' = 7 l .times. [ jr ] .function. [ .gamma. 1 ' * ]
.times. f 1 ' + [ jl ] .times. 1 ' = l + 1 L } .function. [ h ]
.function. [ .gamma. .times. .times. r * ] .times. f 1 ' ( 1.8 )
##EQU101## where the vector components are the Fourier
coefficients: f i = [ f 1 , - N f l , .times. N ] ( 1.9 )
##EQU102## where, or, equivalently, {f.sub.l}.sub.n=f.sub.l,nn=-N,
. . . ,N where N is the range of the truncated Fourier series (The
vectors are length 2N+1). The notation [x] denotes a diagonal
matrix formed from the vector elements: [ x ] = [ x - N 0 0 .times.
0 x N ] ( 1.10 ) ##EQU103## and the notation [.gamma..sub.1'*]
denotes a convolution (including the 1' factor): { [ .gamma. 1 ' *
] .times. f 1 ' } n = 1 ' .times. m = - N N .times. .gamma. 1 ' , n
- mf .times. .times. 1 ' , m , .times. n = - N .times. .times.
.times. , N . ( 1.11 ) ##EQU104## Writing (1.8) out in full gives
the matrix equation: [ f l i f L i ] = A .function. [ f l f L ]
.times. .times. where ( 1.12 ) A = [ I 0 0 0 0 0 0 I ] - [ [ j l ]
.function. [ h 1 ] [ j 1 ] .function. [ h 2 ] [ j l ] .function. [
h L ] [ h l ] .function. [ j 1 ] [ h L ] .function. [ j 1 ] [ h L ]
.function. [ j 2 ] [ j L ] .function. [ h L ] ] [ [ .gamma. l ] 0 0
0 0 0 0 [ .gamma. L ] ] ( 1.13 ) ##EQU105##
[0353] Notice that the kernel is composed of a L.times.L block
matrix with 2N+1.times.2N+1 diagonal matrix components and that the
L.times.L block matrix is symmetric-separable, i.e.: L n .times.
.times. m = { [ j n ] .function. [ h m ] , n .ltoreq. m [ h n ]
.function. [ j m ] , n > m ( 1.14 ) ##EQU106## where L.sub.nm is
one of the L.times.L component matrices.
[0354] For reference in the next section, we make the definitions:
s l .ident. l ' L .times. [ h 1 ' ] .function. [ .gamma. 1 ' * ]
.times. f 1 ' ( 1.15 ) p l .ident. l ' = 1 l - 1 .times. [ h 1 ' ]
.function. [ .gamma. 1 ' * ] .times. f 1 ' ( 1.16 ) ##EQU107## 7.2
Recursive Solution of the Cylindrical Coordinate SIE
[0355] The recursion for the 2-D cylindrical equation is:
[0356] Initialize: p.sub.L=0 (2.1)
{s.sub.L}.sub.n=f.sub.Ln.sup.s/h.sub.L,n For l=L, . . . ,1
s.sub.l-1=s.sub.1-[j.sub.1][.gamma..sub.1*]{[h.sub.1]s.sub.1+[j.sub.1]p.s-
ub.1}
p.sub.l-1=p.sub.1-[h.sub.1][.gamma..sub.1*]{[h.sub.1]s.sub.1+[j.sub.-
1]p.sub.1} Next l.
[0357] Thus far, we have assumed that the number of angular
coefficients is the same for each radius l. In fact, the number of
angular coefficients should decrease as l decreases. We find that
for .DELTA.=.lamda./4, an accurate interpolation is achieved with
N.sub.l=2l-1, n=-N.sub.l, . . . , N.sub.l Fourier coefficients. To
introduce this modification, we must slightly define the operators
as: { [ j l ] .times. x } n = { jl , n .times. x n . .times. n
.ltoreq. N l 0 , n > N l ( 2.2 ) { [ .gamma. l * ] .times. x } n
= { l .times. m = N l N l .times. n .times. .ltoreq. N l _ 0 , n
> N l ( 2.3 ) ##EQU108## where the vector operated on is always
length N where N is now the maximum number of Fourier coefficients,
N=N.sub.L. The total field at each layer, 1, is given by: f l
.times. .times. n = { h l .times. .times. n s .times. l , n + j l ,
n .times. p l , n + f l , n i n .ltoreq. N l 0 , n > N l ( 2.4 )
##EQU109## In order to eliminate the need to know the starting
values, s.sub.L, we note that at each iteration, s.sub.l and
p.sub.l are linear functions of s.sub.L:
s.sub.l=A.sub.ls.sub.L+b.sub.l,p.sub.l=C.sub.lS.sub.L+d.sub.l (2.5)
where the matrices A.sub.l, C.sub.1 (dimension 2N+1.times.2N+1) and
the vectors b.sub.1, d.sub.1 (dimension 2N+1) have the initial
values: A.sub.L=I,C.sub.L=0,b.sub.1_b =0,d.sub.1=0 (2.6) Using
(2.5) and (2.6) in (1.1) and equating common terms leads a matrix
and a vector recursion:
[0358] Initialize: A.sub.L=I,C.sub.L=0 b.sub.L=0,d.sub.L=0 (2.7)
for l=L, . . . ,1
A.sub.l-1=A.sub.l-[j.sub.l][.gamma..sub.l*]{[h.sub.l]A.sub.l+[j.sub.l]C.s-
ub.l}
b.sub.l-1=b.sub.l-[j.sub.l][.gamma..sub.l*]{[h.sub.l]b.sub.l+[j.sub.-
l]d.sub.l+f.sub.l.sup.i}
C.sub.l-1=C.sub.l-[j.sub.l][.gamma..sub.l*]{[h.sub.l]A.sub.l+[j.sub.l]C.s-
ub.l}
d.sub.l-1=d.sub.l-[j.sub.l][.gamma..sub.l*]{[h.sub.l]b.sub.l+[j.sub.-
l]d.sub.l+f.sub.l.sup.i} Then using the fact that S.sub.L=0 leads
to the solution:
A.sub.os.sub.L+b.sub.o=0,s.sub.L=-A.sub.o.sup.-1b.sub.o,f.sub.L,n.sup.s=s-
.sub.L,n/h.sub.L,n (2.8) for the scattered field at the outer
boundary. Iteration (1.1) with (1.4) can then be used to evaluate
the total field internal to the object.
[0359] Notice that the LHS matrix recursion in (2.7) is independent
of the incident field. Once it is used to compute A.sub.0, the RHS
vector recursion can be done for any number of incident fields.
Concurrent solution for any number of incident fields can be
obtained by replacing the RHS vector recursion with the matrix
recursion: B.sub.L=0,D.sub.L=0 (2.9)
B.sub.l-1=B.sub.l-[j.sub.i][.gamma..sub.l*]{[h.sub.l]B.sub.l[j.su-
b.l]D.sub.l+F.sub.l.sup.i}
D.sub.l-1=D.sub.l+[h.sub.l][.gamma..sub.l*]{[h.sub.l]Bl+[j.sub.l]D.sub.l+-
F.sub.l.sup.i} where the matrices B.sub.l, D.sub.ll are
2N+1.times.N.sub.v where N.sub.v is the number of views and the
matrix of incident fields, F.sub.l.sup.i is given by: F l i = [ f l
- N il f l , - N iN y f l , N il f l , N i , N v ] ( 2.10 )
##EQU110## where the superscript after i is the view number (note
that although the incident matrix is written as 2N+1.times.N.sub.v,
the entries are zero for the row index N.sub.1<|n|.ltoreq.N) . A
more compact recursion can be obtained by concatenating the two
recursions to give:
G.sub.L=[A.sub.l,B.sub.L]=[I,O],H.sub.L=[C.sub.L,D.sub.L]=[0,0]
(2.11) For l=L, . . . ,1
G.sub.l-1=G.sub.l-[j.sub.i][.gamma..sub.l*]{[h.sub.l]A.sub.l+[j.sub.l]C.s-
ub.l+[0,F.sub.l.sup.i]}
H.sub.l-1=H.sub.l+[h.sub.l][.gamma..sub.l*]{[h.sub.l]A.sub.l+[j.sub.l]C.s-
ub.l+[0,F.sub.l.sup.i]} where the matrices G.sub.l, H.sub.l are
2N+1.times.2N+1+N.sub.v and in the notation [A,B] the first matrix
is 2N+1.times.2N+1 and the second is 2N+1.times.N.sub.v Then
G.sub.0=[A.sub.0,B.sub.0] and the solution for all views is given
by: F L s = [ f L - N s .times. .times. 1 f L , - N sN y f L , N sl
f L , N s , N v ] = [ h L ] .times. A 0 - 1 .times. B 0 ( 2.12 )
##EQU111## A slightly modified recursion can be shown to yield the
scattering matrix of the object. Recall that the total field is
given by: f.sub.l=[h.sub.l]s.sub.i+[j.sub.l]p.sub.l+f.sup.l.sup.1
(2.13) Any externally generated incident field can be expanded in a
bessel series which implies that there exists a sequence,
g.sub.-N.sup.i, . . . ,g.sub.N.sup.i such that: f i .function. (
.rho. , .PHI. ) = .DELTA. .times. .pi. 2 .times. i .times. n
.times. g n i .times. J n .function. ( .rho. ) .times. e I .times.
.times. n .times. .times. .PHI. ( 2.14 ) ##EQU112## (recall that we
are assuming that k.sub.0=1) which means that
f.sub.l.sup.i=[j.sub.l]g.sup.i (2.15) Redefining
p.sub.l.fwdarw.p.sub.l+g.sup.i then gives
f.sub.l=[h.sub.l]s.sub.l+[j.sub.l]p.sub.l and leads easily to the
iteration: G.sub.L=[I,O],H.sub.L=[0,I] (2.16) For l=L, . . . ,1
G.sub.l-1=G.sub.l-[j.sub.i][.gamma..sub.l*]{[h.sub.l]A.sub.l+[j.sub.l]C.s-
ub.l}
H.sub.l-1=H.sub.l+[h.sub.l][.gamma..sub.l*]{[h.sub.l]A.sub.l+[j.sub.-
l]C.sub.l} where the matrices are now 2N+1.times.2(2N+1). The last
iterate G.sub.0=[A.sub.0,B.sub.0] yields the scattering matrix:
S(.gamma.)=A.sub.0.sup.-1B.sub.0 (2.17) for the body .gamma. which
relates the incident field coefficients to the scattering
coefficients: g.sup.s=Sg.sup.i where f 2 .function. ( .rho. , .PHI.
) = .DELTA. .times. .pi. 2 .times. i .times. n .times. g n s
.times. H 0 ( 2 ) .times. ( .rho. ) .times. e I .times. .times. n
.times. .times. .PHI. ( 2.18 ) ##EQU113## for all incident field
coefficient vectors, g.sup.i. Notice that in the previous notation:
g.sub.n.sup.i=f.sub.L,n.sup.i/j.sub.L,n,g.sub.n.sup.s=f.sub.L,n.sup.s/h.s-
ub.L,n (2.19) 7.3 Computational Formulas for the Jacobian and its
Adjoint
[0360] In order to apply the Gauss-Newton iteration to the solution
of the imaging problem we must first derive recursive formulas for
the application of the Jacobian and its adjoint. The Jacobian of
the scattering coefficient vector, s.sub.L, operating on a
perturbation in .gamma. is given by: J .times. .times.
.delta..gamma. = l ' = 1 L .times. n ' = - N l N l ' .times.
.delta..gamma. l ' , n .times. .differential. .differential.
.gamma. l ' , n ' .times. s L ( 3.1 ) ##EQU114## From (2.8) we get:
s'.sub.L=-A.sub.0.sup.-1(b'.sub.0+A'.sub.0s.sub.L) (3.2) where the
prime denotes differentiation followed by summation over the
elements of .delta..gamma. s L ' = J .times. .times. .delta..gamma.
= l ' = 1 L .times. n ' = - N t N t .times. .delta..gamma. l ' , n
' .times. .differential. .differential. .gamma. l ' , n .times. s L
( 3.3 .times. a ) b 0 ' = l ' = 1 L .times. n ' = - N t N t .times.
.delta..gamma. l ' , n ' .times. .differential. .differential.
.gamma. 1 ' , n .times. b 0 ( 3.3 .times. b ) A 0 ' = l ' = 1 L
.times. n ' = - N t N t .times. .delta..gamma. l ' , n ' .times.
.differential. .differential. .gamma. 1 ' , n .times. A 0 ( 3.3
.times. c ) ##EQU115## Equation (3.2) provides the formula for
computing J.delta..gamma. is recursive formulas for A'.sub.0 and b'
can be found. Define the notation: A l ' = l ' = l + 1 L .times. n
' = - N t N t .times. .delta..gamma. l ' , n ' .times.
.differential. .differential. .gamma. l ' , n .times. A 1 ( 3.4
.times. a ) C l ' = l ' = l + 1 L .times. n ' = - N t N t .times.
.delta..gamma. l ' , n ' .times. .differential. .differential.
.gamma. l ' , n .times. C 1 ( 3.4 .times. b ) ##EQU116## (note the
lower limit of the l' summation). Then using the LHS recursion in
(2.7), it is simple to show that:
A'.sub.l-1=A'.sub.l-[j.sub.l]{[.gamma..sub.l*{h.sub.t]A'.sub.l+[j.sub.l]C-
'.sub.l}+[.delta..gamma..sub.l*]{[h.sub.l]A.sub.l+[j.sub.l]C.sub.l}}
(3.5a)
C'.sub.l-1=C'.sub.l+[h.sub.l]{[.gamma..sub.l*{h.sub.t]A'.sub.l+[j-
.sub.l]C'.sub.l}+[.delta..gamma..sub.l*]{[h.sub.l]A.sub.l+[j.sub.l]C.sub.l-
}} (3.5b)
[0361] A further reduction in computational requirements can be
achieved by noting from (3.2) that we do not need A'.sub.0 but
rather A'.sub.0S.sub.L where S.sub.L is the matrix whose columns
are the s.sub.L,s for each view. The matrix A'.sub.0 is
2N+1.times.2N+1 while the matrix A'.)S.sub.L is 2N+1.times.N.sub.v.
Thus define:
A'.sub.l.sup.s.ident.A'.sub.lS.sub.L,C'.sub.l.sup.s.ident.C'.sub.lS.sub.L-
,A.sub.l.sup.s.ident.A.sub.lS.sub.L,C'.sub.l.sup.s.ident.C.sub.lS.sub.L
(3.6) Then we get the recursion:
A.sub.L.sup.s=A.sub.LS.sub.L=IS.sub.L=S.sub.L,C.sub.L.sup.s=0,A'.sub.l.su-
p.s=0,C'.sub.L.sup.s=0 (3.7a) For l=L, . . . ,1
A'.sub.l-1=A'.sub.l.sup.s-[j.sub.l]{h.sub.l]A'.sub.l.sup.s+[j.sub.l]C'.su-
b.l.sup.s}+[.delta..gamma..sub.l*]{[h.sub.l]A.sub.l.sup.s+[j.sub.l]C.sub.l-
.sup.s}} (3.7b)
C'.sub.l-1=C'.sub.l.sup.s+[h.sub.l]{h.sub.l]A'.sub.l.sup.s+[j.sub.l]C'.su-
b.l.sup.s}+[.delta..gamma..sub.l*]{[h.sub.l]A.sub.l.sup.s+[j.sub.l]C.sub.l-
.sup.s}} (3.7c)
A'.sub.l-1=A'.sub.l.sup.s-[j.sub.l]{h.sub.l]A'.sub.l.sup.s+[j.sub.l]C'.su-
b.l.sup.s} (3.7d)
C'.sub.l-1=C'.sub.l.sup.s+[h.sub.l]{h.sub.l]A'.sub.l.sup.s+[j.sub.l]C'.su-
b.l.sup.s} (3.7e) Similarly, for the b's and d's we get the
recursion: B.sub.L=0,D.sub.L=0,B'.sub.L=0,D'.sub.L=0 (3.8a) For
L=L, . . . ,1
B'.sub.l-1=B'.sub.l-[j.sub.i]{[.gamma..sub.l*]{[h.sub.l]B.sub.l+[j.sub.l]-
D'.sub.l}+[.delta..gamma..sub.l]{[h.sub.l]B.sub.l+[j.sub.l]D.sub.l+F.sub.l-
.sup.i}} (3.8b)
D'.sub.l-1=D'.sub.l+[h.sub.i]{[.gamma..sub.l*]{[h.sub.l]B'.sub.l+[j.sub.l-
]D'.sub.l}+[.delta..gamma..sub.l]{[h.sub.l]B.sub.l+[j.sub.l]D.sub.l+F.sub.-
l.sup.i}} (3.8c)
B.sub.l-1=B.sub.l-[j.sub.i][.gamma..sub.l*]{[h.sub.l]B.sub.l+[j.sub.l]D.s-
ub.l+F.sub.l.sup.i} (3.8d)
D.sub.l-1=D.sub.l-[j.sub.i][.gamma..sub.l*]{[h.sub.l]B.sub.l+[j.sub.l]D.s-
ub.l+F.sub.l.sup.i} (3.8e) where the matrices are all
2N+1.times.N.sub.v The final Jacobian is then:
S'.sub.L=-A.sub.0.sup.-1(B'.sub.0+A'.sub.0.sup.s) (3.9) where the
columns of S'.sub.L are the vectors J.sub.n.delta..gamma. for each
view, n=1, . . . , N.sub.v. We can of course concatenate these two
recursions to give:
G.sub.L=[S.sub.L,0],H.sub.L=[0,0],G'.sub.L.sup.s=[0,0],H'.sub.L-
=[0,0] (3.10a) For l=L, . . . ,1
G'.sub.l-1=G'.sub.l-[j.sub.i]{[.gamma..sub.l*]{[h.sub.l]G'.sub.l+[j.sub.l-
]H'.sub.l}+[.delta..gamma..sub.l*]{[h.sub.l]G.sub.l+[j.sub.1]H.sub.l+[0,F.-
sub.l.sup.i]}} (3.10b)
H'.sub.l-1=H'.sub.l+[h.sub.i]{[.gamma..sub.l*]{[h.sub.l]G'.sub.l+[j.sub.l-
]H'.sub.l}+[.delta..gamma..sub.l*]{[h.sub.l]G.sub.l+[j.sub.1]H.sub.l+[0,F.-
sub.l.sup.i]}} (3.10c)
G.sub.l-1=G.sub.l-[j.sub.i][.gamma..sub.l*]{[h.sub.l]G.sub.l+[j.sub.1]H.s-
ub.l+[0,F.sub.l.sup.i]} (3.10d)
H.sub.l-1=H.sub.l+[h.sub.i][.gamma..sub.l*]{[h.sub.l]G.sub.l+[j.sub.1]H.s-
ub.l+[0,F.sub.l.sup.i]} (3.10e) where, at the last iterate,
G'.sub.0=[A'.sub.0.sup.s,B'.sub.0]. The matrices (G's and H's) in
this recursion are all 2N+1.times.2N.sub.v. This is the form of the
Jacobian recursion used in the imaging programs.
EXAMPLE 8
Rectangular Scattering Matrix Recursion
[0362] This section describes a new recursive algorithm the used
scattering matrices for rectangular subregions. The idea for this
approach is an extension and generalization of the cylindrical
coordinate recursion method discussed in the previous section. The
computational complexity is even further reduced over CCR. The CCR
algorithm derives from the addition theorem for the Green's
function expressed in cylindrical coordinates. The new approach
generalizes this by using Green's theorem to construct propagation
operators (a kind of addition theorem analogue) for arbitrarily
shaped, closed regions. In the following, it is applied to the
special case of rectangular subregions, although any disjoint set
of subregions could be used.
[0363] Consider two rectangular subregions A and B of R.sup.2 as
shown in FIG. 16 Although the regions are drawn as disjoint, assume
that they touch at the center of the FIGURE Let C denote the
external boundary of the union of A and B. Define the scattering
operator, S.sub.A, of region A as the operator that gives the
outward moving scattered field on the boundary A, given the inward
moving field, due to external sources, evaluated on the boundary A.
Similarly, define the scattering matrix for boundary B. The goal is
to find the scattering matrix for boundary C, given S.sub.A and
S.sub.B--the scattering matrices for A and B.
[0364] Let the incident field due to sources external to boundary
C, evaluated on boundary A be denoted f.sub.A.sup.i and similarly
define f.sub.B.sup.i. For the total problem (A and B both
containing scatterers) there exists a net, inward moving field at
boundary A. Denote this field f.sub.A.sup.in and similarly define
f.sub.B.sup.in. total field leaving boundary
f.sub.A.sup.out=S.sub.Af.sub.A.sup.in. Knowledge of the radiated
field on a closed boundary due to internal sources allows the field
external to the boundary to be computed at any point. Let the
operator that maps f.sub.A.sup.out onto the boundary B be denoted
T.sub.BA (rectangular translation operator from A to B). Similarly
denote the operator mapping f.sub.B.sup.out to boundary A be
denoted T.sub.AB.
[0365] The total, inward moving field at boundary A has two
parts--that due to the incident field external to C and that due to
sources internal to boundary B. From the forgoing definitions, it
should be obvious that the inward moving fields satisfy:
f.sub.A.sup.in=F.sub.A.sup.i+T.sub.ABS.sub.Bf.sub.B.sup.in (1a)
f.sub.B.sup.in=F.sub.B.sup.i+T.sub.BAS.sub.Af.sub.A.sup.in (1a)
Solving for the total inward moving fields gives: [ f A in f B in ]
= [ I - T AB .times. S B - T BA .times. S A I ] - 1 .function. [ f
A i f B i ] ( 2 ) ##EQU117## The total scattered field at boundary
A has two components--one from inside A and one from inside B. It
should be obvious that the total scattered fields at boundaries, A
and B are given by: f A s = S A .times. f A in + T AB .times. S B
.times. f B in ( 3 .times. a ) f B s = T BA .times. S A .times. f A
in + S B .times. f B in .times. .times. or ( 3 .times. b ) [ f A s
f B s ] = [ S A T AB .times. S B T BA .times. S A S B ] .function.
[ f A in f B in ] ( 4 ) ##EQU118## Combining (2) and (4) gives: [ f
A s f B s ] = [ S A T AB .times. S B T BA .times. S A S B ]
.function. [ I - T AB .times. S B - T BA .times. S A I ] - 1
.function. [ f A i f B i ] ( 5 ) ##EQU119##
[0366] Assuming that the scattering operators are invertible, then
we have the equivalent form: [ f A s f B s ] = [ I T AB T BA I ]
.function. [ S A - 1 - T AB - T BA S B - 1 ] - 1 .function. [ f A i
f B i ] ( 6 ) ##EQU120##
[0367] The scattered field on the boundary C can be obtained from
f.sub.A.sup.s and f.sub.B.sup.s by simple truncation (and possible
re-ordering depending on how the boundaries are parameterized). Let
the operator that does this be denoted: fc s = [ C A C B ]
.function. [ f A s f B s ] ( 7 ) ##EQU121##
[0368] Let the incident field on boundary C due to external sources
be denoted f.sub.c.sup.i There exist operators D.sub.A and D.sub.B
that operate on f.sub.C.sup.i to give f.sub.A.sup.i and
f.sub.B.sup.i (similar to the external translation operators
T.sub.AB and T.sub.BA). Thus: fc s = [ C A C B ] .function. [ I T
AB T BA I ] .function. [ S A - 1 - T AB - T BA S B - 1 ] - 1
.function. [ D A D B ] .times. fc i ( 8 ) ##EQU122## from which we
see that the scattering matrix for boundary C is given by: S C = [
C A C B ] .function. [ I T AB T BA I ] .function. [ S A - 1 - T AB
- T BA S B - 1 ] - 1 .function. [ D A D B ] ( 9 ) ##EQU123##
Equation (9) then gives the core computation for our rectangular
scattering matrix recursion algorithm. Technical details concerning
the existence and discrete construction of the translation and
other needed operators has been omitted in this write-up. We have,
however written working first-cut programs that perform (9). An
O(N.sup.3) Algorithm for Computing all Scattering Views Based on
Rectangular Scattering Matrix Recursion
[0369] Consider a region containing scattering material covered by
an N.times.N array of rectangular sub regions as shown in FIG.
16.
[0370] Again, although drawn as disjoint, assume that the
subregions touch. Assume that the scattering matrix for each
subregion is known (for example, if each subregion is only
.lamda./2 on edge, the calculation of S is trivial given the
material enclosed). Now coalesce 2.times.2 sets of these scattering
matrices into larger scattering matrices (this coalesce of 4
subregions into one is similar to the algorithm defined above for
coalescing two subregions). There are N/2.times.N/2 such 2.times.2
blocks to coalesce. When done, we have scattering matrices for the
set of larger subregions shown in FIG. 18.
[0371] This process is continued until, at the final stage, the
scattering matrix for the total region is computed. Note that the
physical parameters of the scattering media (speed of sound,
absorption, etc.) are used only in the first stage (computation of
the N.times.N array of scattering matrices).
[0372] Assuming that N is a power of two, the algorithm will
terminate after log.sub.2(N) such stages with the scattering matrix
for the whole region. A careful accounting of the computation
required reveals that the total computation is O(N.sup.3). The end
resulting scattering matrix then allows fast calculation of the
scattered field anywhere external to the total region for any
incident field (angle of view).
[0373] Although derived assuming that N is a power of 2, the
algorithm can be generalized by including 3.times.3 (or any other
sized) coalescing at a stage, allowing thereby algorithms for any N
(preferably N should have only small, say 2,3,5, prime factors).
Also, there is no reason that the starting array of subregions
cannot be N.times.M (by using more general nxm coalescing at some
stages).
[0374] In addition, the existence of layering can be included. If
layering occurs above and below the total region so that the total
inhomogeneity resides in a single layer, then the algorithm
proceeds as before. Once the total region scattering matrix has
been obtained, its interaction with the external layering can be
computed. If inhomogeneous layer boundaries lie along horizontal
borders between row of subscatterers, then the translation matrices
can be modified when coalescing across such boundaries, properly
including the layer effects. This is an advantage over our present
layered Green's function algorithms which require that the
inhomogeneity lie entirely within a single layer (This can be fixed
in our present algorithms but at the expense of increased
computation).
[0375] The O(N.sup.3) computation of this approach is superior to
the O(N.sup.4log.sub.2(N)) computation of our original FFT-BCG
approach and our present recursion based on cylindrical coordinates
which is OO(N.sup.3log.sub.2(N).
EXAMPLE 9
Modeling System Transfer Function Including Driving Voltage,
Transmitting Transducers Receiving Transducers, Preamplifiers,
Analog to Digital Converter Etc.
[0376] Let the transfer function of the transmitting waveform
generator, power amplifier, transmitting multiplexer, transmitting
transducer, ocean/sediment, receiving transducers, preamplifiers,
differential amplifier, differential waveform generator, and analog
to digital converter be, respectively, T.sub.TWG, T.sub.PA,
T.sub.TM, T.sub.TT, T.sub.O/S, T.sub.RT, T.sub.RM, T.sub.DA,
T.sub.DWG, and T.sub.DAC. These separate transfer function can be
identified with the system hardware. Then the total transfer
function is: T.sub.total=T.sub.DAC(T.sub.DA1 T.sub.RM T.sub.RT
T.sub.O/S T.sub.TT T.sub.TM T.sub.PA T.sub.TWG-T.sub.DA2
T.sub.DWG)
[0377] Note that the term T.sub.DA2 T.sub.DWG is subtracted in
order to remove direct path energy and to remove reverberations in
the transducers and the platform; this subtraction effectively
increases the analog to digital converter dynamic range. The signal
in the differential waveform generator is programmed to produce a
net zero signal output from the analog to digital converter for the
case of no sediment present.
[0378] Recall that the equation for the scattered field f.sup.(sc)
(from the sediment) at a transducer (not the output voltage) at a
given temporal frequency is given in terms of the
transducer-to-sediment Green's function D, the sediment's acoustic
properties .gamma. and the internal field in the sediment f by
f.sup.(sc)=D.gamma.f
[0379] The field (at a given temporal frequency) within the
sediment itself f is given in terms of the incident field
f.sup.(inc), the sediment's acoustic properties .gamma., and the
sediment-to-sediment Green's function C by
f.sup.(inc)=(I-C.gamma.)f.
[0380] On combining these two equations we eliminate the internal
field and find the scattered field in terms of the incinet field
and the sediment properties
f.sup.(sc)=D.gamma.(I-C.gamma.).sup.-1f.sup.(inc)
[0381] These equations involving C and D are true for both the free
space Green's function ["Nonperturbative Diffraction Tomography Via
Gauss-Newton Iteration Applied to the Scattering Integral Equation,
Borup, D. T. et al., Ultrasonic Imaging] and our newly developed
layered Green's functions [Johnson, S. A., D. T. Borup, M J.
Berggren, Wiskin, J. W., and R. S. Eidens, 1992, "Modelling of
inverse scattering and other tomographic algorithms in conjunction
with wide bandwidth acoustic transducer arrays for towed or
autonomous sub-bottom imaging systems," Proc. of Mastering the
Oceans through Technology (Oceans 92), 1992, pp 294-299.]. We now
combine the scattering equations with the transfer functions.
First, identify f.sup.(sc) with T.sub.O/S T.sub.TT T.sub.TM
T.sub.PA T.sub.TWG and f.sup.(inc) with T.sub.TT T.sub.TM T.sub.PA
T.sub.TWG. Next we note that measuring f(inc) is a direct way of
finding the product T.sub.TT T.sub.TM T.sub.PA T.sub.TWG. We also
note that T.sub.total can be written as
T.sub.total(.gamma.,T.sub.TWG)=T.sub.DAC(T.sub.DA1 T.sub.RM
T.sub.RT D.gamma.(I-C.gamma.).sup.-1 T.sub.TT T.sub.TM T.sub.PA
T.sub.TWG-T.sub.DA2 T.sub.DWG). Then T.sub.total
(.gamma.,T.sub.TWG) is a nonlinear operator that transforms
(.gamma.,T.sub.TWG into recorded signals T.sub.total-measured.
Thus, for a given set of T.sub.total-measured measurements and for
a given T.sub.TWG, we may in principal find .gamma. by a nonlinear
inverse operator
.gamma.=T.sub.total.sup.-1(T.sub.total-measured(.gamma.,T.sub.TWG))
Since the exact form of T.sub.total (.gamma.,T.sub.TWG) is not
known, we find .gamma. by a Gauss-Newton iteration method. This
requires that the Jacobian of T.sub.total(.gamma.,T.sub.TWG) be
computed. The Jacobian is readily computed in closed form [Borup,
1992] and is given by
J(.gamma.)=-.differential.T.sub.total(.gamma..sup.(n),T.sub.TWG)/.differe-
ntial..gamma.J(.gamma.). Then the Gauss-Newton iteration for
computing .gamma. is given by: (1) set n=1, estimate a value for
.gamma..sup.(n); (2) compute J(.gamma..sup.(n)); (3) solve
J.sup.T(.gamma..sup.(n))J(.gamma..sup.(n)).delta..gamma..sup.(n)=-J.sup.T-
(.gamma..sup.(n))(.gamma..sup.(n))[T.sub.total-measured-T.sub.total(.gamma-
..sup.(n),T.sup.TWG)] for .delta..gamma..sup.(n); (4) update
.gamma..sup.(n) by the formula
.gamma..sup.(n+1)=.gamma..sup.(n)+.delta..gamma..sup.(n); (5) if
[T.sub.total-measured-T.sub.total(.gamma..sup.(n),T.sub.TWG)
<.di-elect cons. then set .gamma.=.gamma..sup.(n+1) and quite,
else go to step 2.
[0382] The extra dynamic range provided by the differential
waveform generator/analog to digital converter circuit raises
questions as to the optimal setup procedure (e.g. how many bits to
span the noise present with no signal). We have modeled the signal
to noise ratio that can be achieved by a beamformer which delays
and sums multiple channel signals, each channel being such a
circuit. We find as a rule of thumb, that the lowest order one or
two bits should span either the noise or the signal, depending
which ever is smaller (i.e., for signal to noise ratios greater
than unity the noise should be spanned, but for signal to noise
ratios less than unity the signal should be spanned). Upon using
commercial 16 or 18 bit analog to digital converters this method
may well extend their range to 20 bits or more.
2. Model Electrical Crosstalk, Acoustic Crosstalk
[0383] Electrical cross talk can be removed by use of knowledge of
the cross coupling matrix M. Let V.sub.n.sup.(true) be true
electrical signal at transducer n and let Vm.sup.(meas) be the
measured signal at transducer m. Then
V.sub.n.sup.(meas)=M.sub.nmVm.sup.(true). We observe for small
cross talk that matrix M has the form M=D.sub.2(I+.di-elect
cons.)D.sub.1, where I is the identity matrix, D.sub.1 and D.sub.2
are diagonal matrices and .di-elect cons. is the differential cross
talk matrix whose elements are small in value. We seek
V.sub.n.sup.(true)=M.sup.-1V.sub.n.sup.(meas). By the binomial
theorem (I+.di-elect cons.).sup.-1.apprxeq.(I-.di-elect cons.).
Thus, M.sup.-1.apprxeq.D.sub.1.sup.-1(I-.di-elect
cons.)D.sub.2.sup.-1. Once D.sub.1, D.sub.2, and M are measured the
problem of removing cross talk is quite inexpensive numerically
(even if .di-elect cons. is not small the exact inverse M.sup.-1
can be computed once and stored). If the matrix M turns out to be
noninvertible (as can be the case for large magnitude coupling)
then we can alternatively concatenate M onto the inverse scattering
equation to give:
v.sub..omega..phi..sup.(meas)=M.sub..omega.P.sub..omega.G.sub..omega.[f.s-
ub..omega..phi.].gamma. to which the inverse scattering algorithm
can be directly applied.
[0384] We believe that cross talk can be removed by good
fabrication techniques including careful shielding. Nevertheless,
the above numerical method can be used if necessary.
[0385] Acoustic cross talk can be removed by several methods: (1)
acoustic baffling of each transducers; (2) calibration of
individual (isolated) transducers, computing the acoustic coupling
in the array from wave equations methods, then inverting the model
by a cross talk matrix as above; (3) direct measurement of the
coupling in a finished array to find the cross talk matrix and then
inverting as shown above.
[0386] A more difficult type of cross talk to remove is the direct
mechanical coupling between transducers. This problem will be
attacked by using vibration damping techniques in mounting each
transducer on the frame. We believe that such damping methods will
eliminate direct mechanical coupling. As a backup we note that
modeling of the coupled system are theoretically possible and has
been successfully accomplished by the university's AIM Lab for
circular mounting geometries (by derivation of a new "total system
Green's function" for the imaging system that that includes cross
coupling between elements).
EXAMPLE 10
Inclusion of Transducer Coupling
[0387] In the event that significant coupling exists between the
object to be imaged and the transducers (and/or coupling between
transducers is not negligible), a computationally efficient means
of incorporating this coupling into the inverse scattering
algorithm is needed. Equivalently, the transducers must be included
as part of the scattering problem This section details a
computational algorithm for achieving this incorporation.
[0388] Consider an object to be imaged, .gamma., illuminated by a
transmitter, T, with the scattering received by a receiver, R, as
shown in FIG. 24 Let C denote a closed surface separating .gamma.
from the transceivers.
[0389] Let S be the scattering matrix of .gamma. which, given the
incident field generated from sources outside of C, gives the
outward moving scattered field evaluated on C. This operator can be
computed by solving a sufficient number of forward scattering
problems for the object .gamma..
[0390] Let P.sub.R denote the operator that computes the field
impinging on R due to sources inside of C from the scattered field
evaluated on C. This is a simple propagation operator computable by
an angular spectrum technique.
[0391] Let P.sub.T denote the operator that computes the field
impinging on T due to sources inside of C from the scattered field
evaluated on C. This is a simple propagation operator computable by
an angular spectrum technique.
[0392] Let A.sub.RT denote the operator that computes the field
impinging on R due to scattering from T (it operates on the net
total field incident on T). This operator is computed by a moment
method analysis of the transmitter structure.
[0393] Let A.sub.TR denote the operator that computes the field
impinging on T due to scattering from R (it operates on the net
total field incident on R). This operator is computed by a moment
method analysis of the receiver structure.
[0394] Let B.sub.T denote the operator that computes the field on C
due to scattering from T (it operates on the net total field
incident on T). This operator can be computed by a moment method
analysis of the transmitter structure.
[0395] Let B.sub.R denote the operator that computes the field on C
due to scattering from R (it operates on the net total field
incident on R). This operator can be computed by a moment method
analysis of the receiver structure.
[0396] Assume that the transmitter T also produces a field,
f.sup.i, due to eternally applied excitation (electrical). Denote
by f.sub.c.sup.i the values of this field on C. Denote by
f.sub.R.sup.i the values of this field on the receiver surface. We
assume that these field values are known (i.e., we know the
free-space radiation characteristics of the transmitter).
[0397] Given these definitions, the total field incident from
outside of C evaluated on C is given by:
fc.sup.tot=fc.sup.i+B.sub.Tf.sub.T.sup.tot+B.sub.Rf.sub.R.sup.tot 1
where the superscript tot indicates the field incident on the
particular element due to all other sources. For T and R we have:
f.sub.T.sup.tot=P.sub.TSfc.sup.tot+A.sub.TRf.sub.R.sup.tot 2
f.sub.R.sup.tot=f.sub.R.sup.i+P.sub.TSfc.sup.tot+A.sub.RTf.sub.T.sup.tot
3 Note that the formula for f.sub.T.sup.tot has no superscript i
term since the incident field emanates from its interior. Solving
1-3 for the tot fields gives: [ f C tot f T tot f R tot ] = [ I - B
r - B R P T .times. S I - A RT P R .times. S - A RT I ] - 1
.function. [ fc o 0 f R i ] = [ f C tot f T tot f R tot ] ( 4 )
##EQU124## The size of this matrix operator is O(N.times.N) and so
computation of its inverse does not require much CPU time (mere
seconds). In order to compute the signal received by the receiver
transducer, we take f.sub.R.sup.tot computed in 4 and compute the
surface currents (EM case) or surface velocities (acoustic case)
from which the signal from the receiver can be computed.
[0398] This procedure for analyzing a scatterer in the presence of
coupling between the T/R pair includes all orders of multiple
interaction allowing transducers with complex geometries to be
incorporated into our inverse scattering algorithms.
EXAMPLE 11
Frequency Dependent Scattering Parameters
[0399] Throughout the previous sections it has been assumed that y
is independent of frequency. Suppose now that .gamma. is a function
of frequency. In the event that only a single frequency is needed
(transmission mode with encircling transducers and only one complex
parameter to be imaged) this is not a problem--the algorithm will
simply image 2 or 3-D distribution of y evaluated at that
frequency. However, in reflection mode or when imaging multiple
parameters, multiple frequencies are needed. This increases the
number of unknowns to .OMEGA.*N.sub.x*N.sub.y if we naively seek a
separate image at each frequency. Since multiple frequencies were
already needed to complete the data for a frequency independent
unknown, we have no way of correspondingly increasing the number of
equations by a factor of .OMEGA.. Instead, consider approximating
the frequency variation with a set of parameters at each pixel:
.gamma..sub.nm(.omega.).apprxeq..gamma..sub.nm.sup.(0).PSI..sup.(0)(.omeg-
a.)+.gamma..sub.nm.sup.(1).PSI..sup.(1)(.omega.)+ . . .
+.gamma..sub.nm.sup.(q-1).PSI..sup.(q-1) where the basis functions
.PSI. are selected based on the physics of the frequency dependence
(we may, for example, simply use the monomial basis:
.PSI..sup.(n)(.omega.)=.omega..sup.n, perhaps a rational function
basis might be chosen since simple relaxation dispersion is a
rational function). The formula for the GN update for this case is:
P.sub..omega.G.sub..omega.((I-[.gamma..sub..omega.]G.sub..omega.).sup.-1[-
f.omega..phi.]M.sub..omega.j.delta..gamma..sup.(i)=-T.sub..omega..phi.)
where summation over j is assumed and the matrix M is given by: M =
[ .PSI. ( 1 ) .function. ( .omega. 1 ) .PSI. ( 2 ) .function. (
.omega. 1 ) .PSI. ( q - 1 ) .function. ( .omega. 1 ) .PSI. ( 1 )
.function. ( .omega. 2 ) .PSI. ( 2 ) .function. ( .omega. 2 ) .PSI.
( q - 1 ) .function. ( .omega. 2 ) .PSI. ( 1 ) .function. ( .omega.
.OMEGA. ) .PSI. ( 2 ) .function. ( .omega. .OMEGA. ) .PSI. ( q - 1
) .function. ( .omega. .OMEGA. ) ] ##EQU125##
[0400] Solution for the q.times.N.sub.x.times.N.sub.y unknowns,
assuming that q is sufficiently smaller than .OMEGA. can then
carried out via the GN-MRCG or RP algorithms. We have already
verified the success of this approach using quadratic polynomial
models of the frequency variation (q=3,
.PSI..sup.(n)(.omega.).ident..omega..sup.n). We have discussed 3
separate algorithms for imaging:
[0401] (1) FFT-BCG
[0402] (2) Cylindrical Recursion
[0403] (3) Rectangular Recursion
[0404] We have given examples of how this technology is used in
various scenarios. We have shown how various modalities of wave
propagation are amenable to the imaging algorithm. Any propagating
substance or energy that can be successfully modelled with the wave
equation is suitable. We have also included examples of simulated
and actual data, thereby establishing the concept as workable.
[0405] The apparatus and method of the present invention holds
promise for many useful applications in various fields, including
seismic surveying, nondestructive testing, sonar, radar, ground
penetrating radar, optical microscopes, x-ray microscopes, and
medical ultrasound imaging, to name just a few. For purposes of
illustrating the utility of the present invention, the detailed
description which follows will emphasize the apparatus and method
of the invention in the context of a system for use in performing
ultrasound imaging of human organs, such as the breast. However, it
will be appreciated that the present invention as claimed herein
may employ other forms of energy such as microwaves, light or
elastic waves and furthermore may be used in other fields and is
not intended to be limited solely to medical acoustic imaging.
[0406] 1. The Scanner and Transducer Configuration
[0407] Reference is first made to FIG. 1 which generally
illustrates one type of scanner which may be used to implement the
apparatus and method of the present invention for purposes of
medical ultrasound imaging of a human breast or other organs. As
shown in FIG. 1, the scanning apparatus generally designated at 30
includes fixed base 32. Wheels 38 and 40 are attached to the
underside of a movable carriage base 34. Small shoulders 42-45
formed on the upper surface of cylindrical pedestal 36 define a
track along which the wheels 38 and 40 are guided.
[0408] A stepping motor 46 mounted within the fixed base 32 is
joined by a shaft 48 to a small pinion gear 50. Pinion gear 50
engages a large drive gear 52. Pillars 54-57 are rigidly ioined at
one end to the top of drive gear 52 and at the opposite end to the
underside of movable carriage base 34. Bearing block 58 supports
drive gear 52 and movable carriage base 34.
[0409] Stepping motor 46 may be operated to turn the drive gear 52
which in turn will cause the movable carriage base 34 to rotate on
top of the cylindrical pillar 36 within the tracks defined by
shoulders 42-45. As hereinafter more fully described, rotation of
the movable carriage base 34 may be employed to insure that an
obiect is fully scanned from every possible angle.
[0410] With continued reference to FIG. 1, it will be seen that
movable carriage base 34 has an inner cylindrical wall 60 and an
outer cylindrical wall 62. The outer wall 62 and inner cylindrical
wall 60 of movable carriage base 34 define a generally cylindrical
chamber 64. Vertical drive motor 66 is mounted within chamber 64
and is connected by a shaft 68 to a circular ring of transducer
arrays generally designated at 70. Vertical drive motor 66 permits
the circular ring of transducer arrays 70 to be vertically
adjusted. Slide bracket 72 is mounted within the chamber 64 and
serves to guide in a sliding manner, the ring of transducer arrays
70 when it is vertically adiusted.
[0411] The ring of transducer arrays 70 is electrically connected
through line 74 to components of an electronic system which may be
housed in part within the chamber 64, as schematically indicated at
76. As hereinafter more fully described, the electronic system is
used to control transmission and reception of acoustic signals so
as to enable reconstruction therefrom of an image of the object
being scanned.
[0412] Circular bracket 78 is attached to the top of the outer wall
62 of movable carriage base 34. A flexible, transparent window 80
extends between circular bracket 78 and the inner cylindrical wall
60 so as to enclose the transducer arrays 70 and stepping motor 66
within the chamber 64. The length of flexible window 80 is greater
than the distance between bracket 78 and inner cylindrical wall 60.
Window 80 thus serves as a flexible yet water-tight seal which
permits vertical motion of the transducer arrays 70 for purposes of
vertical focusing. Acoustically transparent window 80 may be made
of any suitable material, such as plastic or rubber.
[0413] A stationary water tank generally designated 86 is adapted
to fit within the movable carriage base 34. Water tank 86 consists
of a fixed top plate 88 rigidly attached to vertical support bars
82 and 84. Support bars 82 and 84 are mounted on the fixed base 32.
The length of support bars 82 and 84 is chosen such that the fixed
top plate 88 of water tank 86 will be slightly suspended above the
bracket 78 of movable carriage 34. Thus, a space 87 is provided
between bracket 78 and fixed top plate 88. Additionally, a space 89
will be provided between side 94 and bottom 95 of water tank 86 and
cylindrical wall 60 and bottom 61 of movable carriage 34. A third
support bar 83 extends through a central hole (not shown) provided
in block 58 and drive gear 52. Support bar 83 also extends through
a watertight opening 85 provided in the bottom 61 of movable
carriage 34. Support bar 83 thus helps to support water tank 86 in
spaced relation from movable carriage 34. Since water tank 86 is
suspended in spaced relation from movable carriage base 34, water
tank 86 will remain stationary as movable carriage 34 is rotated.
As hereinafter more fully described, rotation of the carriage 34
permits the transducer arrays 70 to scan the object 98 from every
possible position around the object 98.
[0414] Fixed top plate 88 has a short downwardly extending lip 90
which extends over the end of circular bracket 78. A rubber-covered
window 92 extends between the lip 90 and side 94 of the water tank.
Window 92 encloses within space 89, water 97, or some other
suitable acoustic medium so as to acoustically couple the
transducer array 70 to the water 96 contained in tank 86. The
rubber-covered window 92 also permits acoustic energy signals to be
transmitted therethrough by the transducer arrays 70 and insures
that the patient will be protected in the event window 92 should be
broken.
[0415] The scanning apparatus generally described above may be
employed to scan various parts of the human anatomy as, for
example, a patient's breast, as schematically illustrated at 98.
The scanning apparatus generally described above may be used for
nonmedical applications and may employ acoustic or electromagnetic
energy wavefields. For example, the same scheme may be used with
acoustic transducers for scanning nonbiological specimens such as
plastic parts. As further example, the same scheme may be used with
microwave wavefields. In this latter case, the use of a coupling
medium such as water 96 and water 97 is optional. Indeed, at
frequencies over one GH.sub.z, the microwave absorption of water
limits the size of the apparatus to a few centimeters. However, the
use of air permits the use of electromagnetic energy over the
spectrum from DC to far ultraviolet and soft x-rays. For microwave
imaging, the ring of acoustic transducer arrays 70 is replaced with
a corresponding ring of microwave transducer (i.e. antennas).
[0416] Reference is next made to FIGS. 2-3. FIG. 2 generally
illustrates one suitable type of transducer configuration for the
transducer arrays of FIG. 1. As shown in FIG. 2, the transducer
configuration consists of eight transmitter arrays 100-107 and
eight corresponding receiver arrays 108-115. The transmitter array
100-107 are thin, cylindrically-shaped transducer arrays which
provide point-source or line-source segment transmission of
acoustic energy. The receiver arrays 108-115 are arc-wise shaped
arrays which are interposed between each pair of transmitter arrays
100-107. For purposes hereinafter more fully described, every other
receiver array (e.g., receiver arrays 108, 110, 112 and 114) has a
shortened arc-wise length.
[0417] Each of the transducer arrays 100-115 may be any of several
well-known types of transducers. For example, transducers 100-115
may be piezoelectric transducers which produce ultrasound energy
signals directly from high-frequency voltages applied to the
transducer. Alternatively, the transducer arrays 100-115 may be
magnetostrictive transducers having a magnetic coil (not shown)
which receives the electrical oscillations and converts them into
magnetic oscillations which are then applied to the
magnetostrictive material to produce ultrasound energy signals.
[0418] With continued reference to FIG. 1, it will be seen that the
transducer arrays 100-115 are arranged so as to form a cylindrical
ring of arrays which encircles the object 98. By encircling the
object with the transducer arrays 100-115, the arrays 110-115 may
be quickly commutated by either mechanical methods, electronic
methods or by a combination of both methods so as to completely
scan the object in a much shorter time. In the illustrated
embodiment, commutation is achieved by both mechanical rotation by
stepping motor 46 and by electronic triggering of transmitter
arrays 100-117 in sequence, as described more fully below.
[0419] Commutation of the transmitter arrays 100-107 permits
acoustic energy to be transmitted from every possible position
about the object, thus insuring that the data received (i.e.
scattered acoustic energy) is complete. Commutation of the receiver
arrays 108-115 insures that all spaces between receiver arrays
108-115 (known as "sound holes") will be covered, thus providing
for accurate collection of all acoustic energy that is transmitted
through or scattered by the object 98. However, commutation of the
receiver arrays 108-115 is not necessary where transmitter arrays
100-107 are also used to receive acoustic signals. The circular
configuration of transducer arrays 100-115 permits certain parts of
the body to be scanned which would otherwise be inaccessible
because of bones or other obstructions of the tissue.
[0420] The method for commuting the arrays 100-115 is best
understood by reference to FIG. 3. First, each of the transmitter
arrays 100-107 is sequentially triggered so as to transmit acoustic
energy. Immediately after each transmitter array 100-107 is
triggered, arrays 108-115 receive acoustic energy signals that have
been either transmitted through or scattered by the object being
scanned. Once this procedure has been followed for each of the
transmitter arrays 100-107, the ring of arrays 70 is then
mechanically rotated counterclockwise through a small angle, as
schematically represented by arrow 116. The mechanical rotation is
achieved by the stepping motor 46 (see FIG. 1) which rotates the
movable carriage base 34, as described above.
[0421] After rotation of the arrays 100-115 to a second position,
each of the transmitter arrays 100-107 is again sequentially
triggered and data are again collected through receiver arrays
108-115. This procedure is repeated until acoustic energy has been
transmitted at each possible point about the object.
[0422] Where the arrays 100-107 are used only for transmitting
acoustic energy, a second series of rotations must then be effected
to cover the sound holes between each pair of receiver arrays
108-115. For example, by rotating transmitter array 101 to the
position occupied by the transmitter array 100, receiver arrays
109, 111, 113 and 115 will, because of their longer arcuate
(arcwise measured) length, cover the spaces previously occupied by
transmitter arrays 101, 103, 105 and 107. This procedure is
repeated until all sound holes have been covered. It should be
noted that for a fixed circumference by decreasing the length of
each array and increasing the number of arrays, electronic
commutation may be used to reduce the angle through which the ring
of transducer arrays must be rotated to achieve complete collection
of both echo and transmission data.
[0423] It should also be noted that, in principal, no mechanical
rotation of the array of detectors is necessary if every element is
small enough and can be made to act as either a receiver or
transmitter. Such an arrangement is more expensive than the
technique illustrated in FIGS. 1, 2, and 3.
[0424] The transducer array 70 generally describes an
implementation for an acoustic scanner and, in particular, of a
breast scanner. In this case, the transducer elements generate and
detect acoustic energy wavefields. However, can be seen that the
acoustic transducers can be replaced with microwave transducers
(antennas). The functions of interleaving, rotation, commutation
are identical, for either microwave or acoustic transducers.
[0425] 2. The Electronic System
[0426] Reference is next made to FIGS. 4A-4B which schematically
illustrate an electronic system which may be used to implement the
apparatus and method of the present invention. It is clear from
present practices in acoustics and radar technology that in both
disciplines quadrature detection and analog to digital conversion
are well known and widely used. Therefore, FIGS. 4A-4B generally
illustrate the invention in both the acoustic and electromagnetic
wavefield case. For clarity and simplicity, the electronic system
is described in the context of acoustic wavefields. Following this
acoustic description additional discussion on the applicability of
FIGS. 4A-4B to microwave energy wavefields is made.
[0427] As hereinafter more fully described, the electronic system
generates the acoustic energy that is propagated through and
scattered by the object 98. The electronic system thereafter
detects and processes the acoustic energy signals that are
scattered by and transmitted through the object 98, and then
communicates the processed signals to a computer (CPU) which
interprets the signals and outputs the result in the form of a
visual display or printed output.
[0428] In the transmission mode, CPU 118 causes an oscillator 128
to output a waveform which is amplified by a power amplifier 130
before being sent through multiplexer 132 to one of the
transmitters. CPU 118 controls the multiplexer 132 so as to
sequence each transmitter array 100-107 used to generate the
acoustic energy propagated through the acoustic medium and object.
If desired, after it is amplified, the waveform can also be input
to an impedance matching transformer (not shown) and to a series of
RC or RLC networks connected in parallel across the transmitter
arrays 100-107 as illustrated and described in U.S. Pat. No.
4,222,274 (hereinafter the Johnson '274 patent), which is
incorporated herein by reference. The impedance matching
transformer may be used to achieve maximum power transfer while the
RC or RLD networks may be used to distribute power across each
transmitter array 100-107 in a way that deceases the side lobes in
the transmitted signal.
[0429] Each of the acoustic receivers 108-115 (FIG. 2) are
connected through a multiplexer 134 which is also controlled by CPU
118. In the receive mode, the detected signals may also be input
through a delay line (not shown) to an analog adder and time
variable gain circuit (not shown) to vertically focus the signals
and to compensate for signal attenuation, as shown and described in
the Johnson '274 patent. CPU 118 causes multiplexer 134 to sequence
in turn each of the acoustic receivers 108-115 so as to gather
transmitted or scattered acoustic energy around the entire
circumference of the object. From receiver multiplexer 134,
detected acoustic energy signals are amplified by a preamplifier
136 which may be used to logarithmically amplify the detected
signal to reduce storage space required for each signal after it is
digitized. The amplified signal is then processed by a phase
detector 138.
[0430] The operation and components of phase detector 138 are best
illustrated in FIG. 4B. As there shown, phase detector 138 receives
the amplified signal as schematically represented by line 137 on
which the signal is input to multipliers 154 and 156. The signal
generated by oscillator 128 is input as shown at line 150 to one of
the multipliers 156, and the signal from oscillator 128 is also
shifted 90 degrees by the phase shifter 152 and then input as shown
at line 153 to the other multiplier 154. Thus, each signal detected
at the acoustic receivers is multiplied at multiplier 154 by a
signal which is 90 degrees out of phase with the signal which is
used to multiply the detected signal at the other multiplier 156.
During the receive mode, the switch controller 158 and reset 166
are controlled as shown at line 123 by CPU 118 so that controller
158 closes each switch 164 and 165 after integrators 168 and 170
are reset. The resulting signals from multipliers 154 and 156 are
then filtered by low-pass filters 160 and 162 and integrated by
integrators 168 and 170. The integrated signals are then output, as
shown at lines 139 and 140 to the analog to digital converters
(ADCS) 142 and 143 (see FIG. 4A). The two signals which are output
by phase detector 138 electronically represent the real and
imaginary mathematical components of the acoustic signals which are
detected at the acoustic receivers 108-115.
[0431] Once the received signals have been digitized, they are
input and stored in the memory of an array processor 120.
Alternately, a parallel processor or other special purpose
high-speed computational device may be used for even higher
computational speed. As hereinafter more fully described, CPU 118
in combination with the array processor 120 are programmed to then
reconstruct the acoustic image using inverse scattering techniques,
several alternatives of which are described more fully in Examples
1-3 of section 3 below. Once the acoustic image is reconstructed,
it may be output either visually at a display 124 or in printed
form at printer 122, or stored on a disc or other storage medium
123. Mechanical scan devices represented at 126 correspond to the
motors 46 and 66 (FIG. 1) for controlling commutation and vertical
positioning at the transmitter and receiver arrays 100-107 and
108-115, and are controlled by CPU 118. Other configurations of
transducers can be scanned by mechanical means through use of
mechanical scanning device 126.
[0432] The electronic circuits of FIGS. 4A-4B are effective over
the frequency ranges of fractions of H.sub.Z to hundreds of
GH.sub.z. The transmitter multiplexer 132 can drive signals to
either acoustic or electromagnetic energy transmitting transducers.
Likewise, receiving multiplexer 134 can receive signals from either
acoustic or electromagnetic energy transducers. The operation of
the circuit in FIG. 4A is independent of the source of the received
signal at receiver multiplexer 134 or the destination of signal
from transmitter multiplexer 132. The operation of the phase
detector of FIG. 4B is independent of the type of wavefield used.
Reference is next made to FIGS. 4C-4F which schematically
illustrate how electronic multiplexing may be used to eliminate the
need for mechanical rotation, thus further enhancing system
performance. In the following description, the term transducer
applies equally well to both acoustic and electromagnetic energy
types. In particular, FIG. 4C shows n transducer elements 131a
through 131n of a circular array closely spaced to form a
continuous array surrounding the body. The array is shown as a
one-dimensional structure, but clearly could be a two-dimensional
structure as in FIG. 2. FIG. 4D illustrates the n elements 131a
through 131n arranged in a linear fashion. It is also clear that a
planar or checkerboard two-dimensional array of element could be
used.
[0433] Such one-dimensional and two-dimensional arrays of receivers
and transmitters have a direct application to advanced medical
imaging instruments where motion of the array is undesirable or in
seismic exploration in which such movements are difficult. FIG. 4E
illustrates how each element 131a through 131n may be switched to
either a transmitter circuit or a receiver circuit. Here, for
example, element 131a is switched by switch 137a to either a
receiver circuit 133a or a transmitter circuit 135a. FIG. 4F shows
how a passive network of diodes and resistors may be used to allow
a single element to act as either a transmitter or a receiver, or
in both capacities. For example, in the transmit mode, diodes 139
are driven into conduction by transmit signal on fine 135a. With
two silicon diodes in series in each parallel leg, the voltage drop
is a few volts. Thus, for an applied transmit signal of 20 volt or
more, only a small percentage of signal power is lost across diodes
139. Diodes 139 are arranged in a series parallel network so that
either polarity of signal is passed to transducer element 131a with
negligible loss. In the transmit mode, resistors 145, 147, and 149
and diodes 141 and 143 prevent excessive and harmful voltage from
appearing at output 133a that leads to the preamplifier
multiplexer, or analog-to-digital circuits that follow. In
operation, resistor 145, diode 141, and resistor 149 act as a
voltage divider for the large transmit voltage present at the
transducer element 131a. Diodes 141 are arranged with opposing
polarity to provide a path for any polarity of signal above their
turn on voltage of about 0.7 to 1.0 volts. The values of resistors
145 and 149 are typically so that the impedance of resistor 145 is
greater than or equal to that of the internal impedance of
transducer element 131a. Resistor 149 is chosen to be some fraction
of resistor 145, such as one-fifth. Resistor (resistor 147)
typically is chosen to be about equal to the resistance of resistor
149. Thus, during transmission, the voltage appearing at output
133a is only the conduction voltage drop across diodes 143.
[0434] In the receiving mode, signals received at transducer
element 131a are typically less than one diode voltage drop (about
0.7 volt) and thus are isolated from transmitter 135a, since point
135a is a ground and diodes 139 are not conducting. Diodes 141 and
143 are not conducting and therefore output 133a is not shunted.
Thus, the preamplifier following 133a would only see an impedance
of resistor 145 plus resistor 147 plus that of the transducer
element 131a. In practice, resistor 145 plus resistor 147 can be
made about equal to or less than the impedance of transducer
element 131a to minimize signal loss. It is clear that the
principles illustrated in FIGS. 4C-4F may also be applied in the
case of wide bandwidth signal transmission as described further
below in connection with FIGS. 5A-5B.
[0435] FIG. 4F describing the use of diode networks to isolate the
transmitter from the receiver circuits is commonly used in
ultrasound scanners and sonar systems. Similar circuits are used in
some radar systems. At radar frequencies other methods of isolation
such as gas diodes, directional couplers, active diode switches,
etc. are also used.
[0436] FIGS. 5A and 5B schematically illustrate another electronic
system which can be used to implement the apparatus and method of
the present invention. In the description that follows, the circuit
is specifically designed for driving acoustic transmitting
transducers and for digitizing signals from acoustic transducers,
but the same circuit also applies to electromagnetic transducers
(antennae) as well. In FIG. 5A, oscillator 128 has been replaced by
waveform generator 129 that can produce repetitive narrow bandwidth
signals or a wide bandwidth signal. The advantages of using a
suitable wide bandwidth signal is that in one transmit-receive
event, information at all frequencies of interest may be collected.
Typically, it will be preferable to scan the object under
consideration with signals having several different frequencies.
This may be especially true in cases where it is not possible to
encircle the object with a ring of transducer arrays, as in the
case of seismic imaging. Moreover, by using multiple frequencies,
it will typically be possible to obtain more data for use in
reconstructing the image. The lowest frequency used for the signal
must be such that the wavelength of the signal is not significantly
larger than the object to be imaged. The highest frequency must be
such that the acoustic signal may be propagated through the object
without being absorbed to such an extent as to render detection of
the scattered signal impossible or impractical. Thus, depending
upon the absorption properties and size of the object which is to
be scanned, use of multiple frequencies within the range indicated
will typically enhance the ability to more accurately reconstruct
the image of the object.
[0437] The use of multiple frequencies or signals containing many
frequencies also has the advantage of obtaining data that may be
used to accurately reconstruct frequency dependent material
properties.
[0438] In the electronic system of FIG. 4A, in order to scan the
object using multiple frequencies, the frequency of oscillator 128
must be change several times at each transmitter position. This
increases the time involved in transmitting and detecting the
scattered acoustic energy from which the image is reconstructed. In
the electronic system of FIG. 5, a special waveform is used which
inherently includes multiple frequencies within it. The type of
waveform generated by waveform generator 129 may be the well-known
Tanaka-Iinuma kernel or the Ramachandran and Lakshiminaraynan
kernel, as illustrated and described in the Johnson '274 patent.
Swept frequency signals such as the well-known frequency modulated
chirp or other types of waveforms could also be used to provide
acceptable results.
[0439] As shown in FIG. 5B, the waveform generator 129 basically
comprises five elements. An electronic memory device 178 is
connected to the CPU 118 through read-and-write lines 179 and 181.
CPU 118 determines the numerical value for a series of discrete
points on the selected waveform. These numerical values are stored
in binary form in memory device 178. Each of the discrete values
stored in the memory device 178 is then sent to a digital to analog
converter (DAC) 180. DAC 180 then transforms each of these digital
values into a corresponding analog pulse which is then input to a
sample and hold circuit 182. Sample and hold circuits, such as that
schematically illustrated at 182, are well-known in the art and
operate to hold each analog signal for a predetermined period of
time. Counter-timer 184 is used to control the amount of time that
each signal is held by the sample and hold circuit 182. Clock and
synchronizer 183 is triggered by computer 118 and advances the
memory address in memory 178, synchronizes the DAC 180, and
controls the sample and hold 182.
[0440] With each clock pulse from counter-timer 184, the sample and
hold circuit 182 retrieves one of the analog signals from DAC 180
and then holds the value of that signal for the duration of the
clock pulse. Sample and hold circuit 182 thus outputs the
approximate shape of the desired waveform which is then input to a
low pass filter circuit 186 which is used to smooth the shape of
the waveform before amplification and transmission through
multiplexer 132 to one of the transmitters.
[0441] The electronic system of FIG. 5A also differs from the
system shown in FIG. 4A in that the amplified analog signals output
by the preamplifier 136 are digitized by a high-speed
analog-to-digital converter 144 rather than being input to a phase
detector. The digitized signals are then transformed by a complex
fast Fourier transform (hereinafter "FFT") operation provided by a
parallel processor 146 prior to being input and stored in the
memory of the CPU 118. As described further in section 3 below, CPU
118 then reconstructs the image using a novel inverse scattering
technique. Use of array processor 120 with CPU 118 in FIG. 4A and
parallel processor 146 with CPU 118 in FIG. 5A is arbitrary and in
principle either array processor 120 or parallel processor 146 or
special purpose hard wired computational hardware could also be
used in either FIG. 4A or 5A to accomplish the image
reconstruction, as described further in section 3.
[0442] Optical Microscope
[0443] The operation of the inverse scattering microscope can be
seen in block diagram form in FIG. 6A. This figure explains the
operation of a specially modified Mach Zehnder interferometer based
detection system. This detection system produces the information
from which phase and modulus information is produced that is needed
by an inverse scattering algorithm. A monochromatic, coherent light
source such as laser 500 produces an approximately parallel beam of
light 501 that passes through polarizer 502 and passes into beam
expander and spatial filter 504. Such beam expanders are well known
and a representative form is shown wherein the input beam enters a
positive lens 506 with focal length L.sub.1. A pin hole is placed
at a distance of L.sub.1 from lens 506 to remove unwanted spatial
frequency spectral components. Light from pin hole 508 is
reconverted into output parallel beam 509 by lens 508 with focal
length L.sub.2. The pinhole 508 is placed at a distance L.sub.2
from lens 508. Output of beam expander 504 is beam 509 which passes
to beam splitter 510 and split into two beams: beam 511 and beam
513. Beam 511 is the precursor of the main beams 515 and 516. Beam
513 is the precursor of stabilizing beams 517 and 518.
[0444] The operation of main beams 515 and 516 is now described.
Beam 515 is the precursor of a beam that will pass through the
interferometer in a clockwise direction and will pass through and
scatter from the sample and will act as a probing beam. Main beam
516 is the precursor of a beam that will not pass through the
sample, but will act as a reference beam as it traverses the
interferometer in a counterclockwise direction. The probing beam
and the reference beam will be combined to produce various
interference patterns from which phase and modulus information can
be obtained. Beam 515 passes through shutter 520 and then is
reflected by mirror 522 to become beam 519. Beam 519 passes through
objective lens 523 into sample holder 525. The light that is
scattered by the sample and the sample holder is collected by
objective lens 526 and passed as beam 527 to beam splitter 528.
Companion main beam 516 passes from beam splitter 514 through
shutter 530 to phase shifter 532. Phase shifter 532 can be set to
introduce either a 0 degree phase shift or a 90 degree phase shift.
Beam 533 is the output of phase shifter 532.
[0445] The purpose of objective lens 526 is to collect as large an
angle of scattered light as possible. Objective lens 523 serves
several purposes including: (1) that of focusing a small spot of
light onto the sample holder of higher intensity than normally
would be present in beam 519 in order to improve the signal to
noise ratio; and (2) that of restricting the illumination to a
narrow, focal spot region with desirable, plane-wave-like phase
fronts with lateral amplitude anodizing.
[0446] Light beam 531 from shutter 530 passes through
transmission-type phase shifter 532 where its phase is shifted
either 0 degrees or 90 degrees. Beam 533 exits transmission-type
phase shifter 532 and passes to mirror 536. At mirror 536 beam 533
is reflected to become light beam 539. Mirror 536 is driven by
optional mirror driver 538 in small amplitude, periodic motion at
frequency co and in a direction perpendicular to the mirror face in
its resting position. As mirror 538 vibrates it introduces a small
periodic phase shift modulation to beam 537, but this phase shift
is negligible. The purpose of either transmission-type phase
shifter 534 or reflection phase shifter 538 is to impart a small
periodic phase shift, typically from 1 degree to 10 degrees at
frequency (o into beam 518 in order to stabilize the main beams 527
and 541 as combined to form beam 543. Either of these phase
modulation methods is workable either separately or in combination.
Usually, for cost reasons, only one of these phase modulation
methods will be implemented in hardware.
[0447] Beam 539 emerges from mirror 538 and passes through beam
transformer 540 and thence to beam splitter 528. Beam transformer
540 serves the purpose of adjusting the phase fronts and lateral
amplitude of beam 541 to match those of beam 527 at the mirror 528
and at camera 544. While-such matching may not be strictly
necessary it does provide a more simple interference pattern that
is mostly a function of the inserted object and not a function of
the interferometer itself. Beam transformer 540 could be
constructed in a number of ways, but one obvious way would be to
replicate objective lens pair 523 and 526, however with the
following modifications: (1) the sample holder and object is
omitted; or (2) the sample holder is present but no object is
present.
[0448] Beams 541 and 527 are combined by beam splitter 528, now
acting as a beam combiner, and produce an interference pattern on
the sensitive one-dimensional or two-dimensional solid state array
of detector cells in camera 544. The intensity pattern on the array
of detector cells is then converted into an electrical signal that
is sent to the digitizer and computer 545 where this signal is
digitized and stored in memory. Computer 545 controls the angular
position of sample holder 525 by means of rotation device 524.
Rotation device 524 also serves the function, under direction of
computer 545, of inserting or removing the object from the beam.
Rotation device 524 may be a stepping motor or a worm gear driven
rotation stage as is common in optical technology. Computer 545
also controls the transmission of shutters 520 and 530, controls
the phase of phase shifter 532, and controls the digitizing of
camera 544. Computer 545 performs the important role of creating
different diffraction patterns by changing the combinations of: (1)
sample in or sample out; (2) main beam A only or main beam B only
or their sum; or (3) phase sifter in main beam set at 0 degrees or
at 90 degrees. From these different diffraction patterns, as
described by the eight measurements and equations in the summary of
invention section, computer 545 can compute the scattered detected
field from the object. By including various test objects of know
properties the incident field present at object 526 can be
calculated. The set of scattered fields calculated for each of the
various respective adjusted angular position of the object holder
525 is used as the detected scattered fields in the inverse
scattering algorithms. Likewise, the incident field in and around
the sample holder is taken as the incident fields in the inverse
scattering algorithms.
[0449] Returning to FIG. 6A, note that a second set of beams
defined as stabilizing beams is shown and these beams also are
caused to interfere by the same mirrors and beam splitters as is
traversed by the main beams. The function and justification for
using these stabilizing beams is described in the summary of
invention section. Note beam 513 is reflected by mirror 512 into
beam splitter 514 to become beams 517 and 518. Beam 517 is
reflected by mirror 522 to become beam 521 which then passes to
beam splitter 528 where it is reflected into detector 542a and
transmitted into detector 542b. Beam 518 passes through phase
modulator 534 to mirror 536 where it is reflected and becomes beam
537. A fraction of beam 537 then passed through beam splitter 528
to detector 542a where it interferes with reflected version of beam
521. A fraction of beam 537 is also reflected into detector 542b
where it combined with a fraction of beam 521. Detector 542a
typically would be a semiconductor pn diode or pin diode. The
output of detectors 542a and 542b passes to locking amplifier
system 546 which adjusts the mean phase shift imposed by mirror
536.
[0450] Locking amplifier system 546 functions in the following
manner. The signal from detector 542a passes into locking amplifier
system to amplifier 547. Output of amplifier is the input of
multiplier 548. Multiplier has a second input 550a. The product of
the output of amplifier 547 and input 550a passes through low pass
filter 549 thence both to non inverting amplifier 550h and to
inverting amplifier 550i. Switch 550j selects either the output of
noninverting amplifier 550h or that of inverting amplifier 550i.
The output of switch 550j passes to switch 550 s and thence to
summing amplifier 550g. Input 550a to multiplier 548 originates in
oscillator 550f at frequency .omega.. The output of oscillator 550f
is shown as signal 550l and is split into two parts: one part,
signal 552n, is an input to summing amplifier 550g; the other part,
signal 550p, is in turn split into two signals 550c and signal
552q. Signal 550c is one input to switch 550b. Signal 552q is
imposed on both inputs of multiplier 550e. The effect of
multiplying a signal by itsself is to produce sum and difference
signal. The difference signal is at zero frequency while the sum
frequency is at double the input frequency. The output of
multiplier 550e passed through high pass filter 550d to switch
550b. High pass filter 550d rejects the zero frequency signal but
passes the doubled frequency. An offset constant voltage 550m is
also an input of the summing amplifier 550g. Summing amplifier 550g
sums signals 550m, 550k and 552n. The output of summing amplifier
550g is then sent to a phase modulator which may be mirror driver
538 or phase modulator 534. If output of summing amplifier 550g is
sent to mirror driver 538 then this signal is first amplified by
amplifier 507. If output of summing amplifier 550g is sent to phase
modulator 534 then this signal is first amplified by amplifier
505.
[0451] The phase locking circuits can function in several modes. In
a first mode, heterodyning techniques are used. In the summary of
the invention section four different heterodyning methods are
described. The hetrodyning mode is now described. One of two
heterodyne methods to lock the two component beams at the same
phase is now described. The output of amplifier 547 is multiplied
by signal of frequency .omega. at multiplier 548 and the resulting
signal is low pass filtered in low pass filter 549. The output is
then passed through inverting amplifier 550i or noninverting
amplifier 550h and thence through switches 550j and 550s to summing
amplifier 550g and thence to phase modular 534 or phase modulator
538. The feedback loop adjusts the phase shifters 534 or 538 to
minimize the signal component at .omega. present in the signal
output of amplifier 547.
[0452] One of two heterodyne methods to lock the two component
beams in quadrature (i.e. 90 degree phase difference) is now
described. The output of amplifier 547 is multiplied by signal of
frequency 2.omega. from high pass filter 550d. The signal from high
pass filter 550d passes through switch 550b to multiplier 548 and
thence to low pass filter 549. From low pass filter 549 the signal
passes through either inverting amplifier 550i or noninverting
amplifier 550h to switch 550j and thence to switch 550s and thence
to input 550k to summing amplifier 550g. Output from summing
amplifier 550g then drives either phase modulator 534 or mirror
driven 538 to maximize the signal component at 2.omega. present in
the signal output of amplifier 547.
[0453] The phase locking circuit can operate in a second mode where
no heterodyning techniques are used. In this mode, output signal
from detector 542a and output signal from detector 542b are passed
to differential amplifier 552q, whose output is proportional to the
difference in voltage between these two input signals. The output
of differential amplifier is low pass filtered by low pass filter
550r to remove high frequency noise and passed to switch 550s and
thence to summing amplifier 550g. The output of summing amplifier
is then sent to either mirror driver 538, or phase modular 534. The
advantage of this method is a reduction in parts, since no
heterodyning circuits are required. Also significant is the
elimination of phase modulators. Only the mirror driver for zero
frequency baseband stabilization adjustments is necessary. A
possible disadvantage may be an insensitivity to systematic
errors.
[0454] Referring to FIG. 6B, a perspective drawing of the
interferometer section of the optical microscope of FIG. 6A is
shown. This drawing is useful for visualizing the spatial
relationships between the main imaging beam (located in the center
of the mirrors and beam splitters) and the stabilizing beams
(located at the edges of the mirrors and beam splitters). The main
beam passes through the sample and objective lenses. The
stabilizing beam passes around and misses the objective lenses and
sample. The main beam is collected by solid state camera k, but
stabilizing beams are collected by photodetectors m1, m2, n1, n2,
p1 and p2. The normals to mirrors e2 and e3 and the normals to beam
splitters e1 and e4 are mutually parallel. Main beam al enters the
interferometer and is split by beam splitter e1 into beams a2 and
a4. Beam a2 passes through shutter f and through phase shifter g to
mirror e2. From mirror e2 the reflected version of beam a3 passes
through wave front transformer L.sub.1 to mirror e4 where it
combines with beam a8 and passes to the solid state camera k. Main
beam a4 passes through shutter h to mirror e3 where it is reflected
and becomes beam a5. Beam a5 passes through objective lens i and
lens j and becomes beam a8. The sample is placed between objective
lens i and objective lens j as shown in FIG. 6A.
[0455] The paths of the stabilization beams are now described. The
stabilization beams are comprised of three parallel beams. These
beams enter mirror e1, as respective beams b1, c1, and d1. They
leave in the clockwise direction as respective beams b4, c4, and d4
and reach mirror e3. They leave mirror e3 as respective beams b5,
c5, and d5 and reach beam splitter e4. Beams b1, c1, and d1 also
incident at beam splitter e1 produce respective counterclockwise
directed beams b2, c2 and d2 which leave beam splitter e1 and are
reflected from mirror e2 to become respective beams b3, c3, d3.
Beams b3, c3 and d3 reach beam splitter e4 where they combine with
respective beams b5, c5 and d5. This combination then exits beam
splitter e4 as respective pairs b6, c6 and d6 to the right, and as
respective pairs b7, c7, and d7 to the top. Beams b6, c6, and d6
are detected by respective detectors m1, n1 and p1. Beams b7, c7
and d7 are detected by detectors m2, n2, and p2, respectively.
Outputs of m1 and m2 are combined to form a first feedback signal
for mirror and beam splitter alignment. Outputs of n1 and n2 are
combined to form a second feedback signal for mirror and beam
splitter alignment. Outputs of p1 and p2 are combined to form a
third feedback signal for mirror and beam splitter alignment. The
stabilization scheme show in FIG. 6B is the nonheterodyne method
described in the brief summary and object of the invention section.
Clearly, the heterodyne methods may also be used.
[0456] The function of the feedback signals is now described. The
signal outputs of detectors p1 and p2 are respectively q1 and q2
and these pass into differential amplifier r1. The output of
differential amplifier V1 passes to linear actuator t1 that moves
mirror e2. A solid frame is not shown on which linear actuators t1,
t2 and t3 are mounted as well as components e1, e3, e4, i, j, m1,
n1, p1, m2, n2, p2, and h. Differential actuator provides motion
parallel to normal of mirror e2. Detectors m1 and m2 produce
respective signals U1 and U2 that pass to differential amplifier r2
and thence becomes signal S2 that drives linear actuator t2 at
mirror e2. Detectors n1 and n2 produce respective signals v1 and v2
that pass to differential amplifier r3 and thence as signal s3 to
linear activator t3 on mirror e2. Once mirrors e2 and e3 and beam
splitters e1 and e4 are aligned, the stabilizing feedback loops
just described will maintain alignment.
[0457] FIGS. 28A and 28B show an example of the application of
inverse scattering to medical imaging through the use of computer
simulation. FIGS. 28A and 28B also illustrate the powerful impact
of a large inverse scattering image. FIG. 28A is a photograph of a
cross section of a human through the abdomen that could appear in
an anatomy atlas. The image was actually made on a magnetic
resonance clinical scanner. This image is 200 by 200 pixels, each
pixel being 1/4 wave length square. It was used a the starting
image in the process of creating synthetic scattering data. The
pixel values in this image were assigned to a set of speed of sound
values in a range that is typical for soft tissue. This range is
typically plus or minus 5 percent of the speed of sound of water.
Using this image of speed of sound the forward scattering algorithm
then computed the scattered field at a set of detectors on the
perimeter of the image for the case of incident plane waves for 200
source directions equally spaced in angle around 360 degrees. The
detectors enclosed the cross section on all sides and numbered
4(200).times.4=796. This set of synthetic scattering data was used
to compute the inverse scattering image of FIG. 28B.
[0458] FIG. 28B shows the inverse scattering image computed from
the synthetic data generated from the image in FIG. 28A. Note that
the quantitative values in each pixel are preserved and that the
spatial resolution is only slightly degraded.
[0459] FIGS. 29A and 29B show that the quality of inverse
scattering images of a test object computed from real data
collected in the laboratory is excellent. The laboratory data was
collected using microwave energy at 10 GHz. FIG. 29A is the image
of the cross section of a test object that is a thin walled plastic
pipe with an outside diameter of 6 cm and a wall thickness of 4 mm.
This pipe was illuminated by microwaves at 10 GHz from a horn
antenna. A second receiver horn antenna was rotated 120 degrees in
both clock wise and counter clock wise directions from the forward
propagation direction, about the sample to pick up the scattered
field. The receiving antenna rotates around an axis that is
parallel to the axis of the pipe. The transmitting antenna and the
receiving antenna lie in a common plane that is perpendicular to
the axis of the pipe. FIG. 29B is the inverse scattering image made
from the data collected by the receiving antennas. The thickness of
the pipe wall has been broadened because the true pipe wall
thickness is less than one half-wave length at 10 GHz. The
reconstructed wall thickness is about 0.6 wavelength.
[0460] FIGS. 29C, 29D and 29E demonstrate through computer
simulation that three different and independent acoustic parameters
can be imaged accurately by inverse scattering. FIGS. 29C, 29D and
29E show respective images of compressibility, density and acoustic
absorption. The images are 50 by 50 pixels, each pixel being 1/4
wavelength square, and were reconstructed from frequencies in the
range from f.sub.max to f.sub.max/50. The sources were 8 plane
waves equally distributed around 360 degrees. The receivers
surrounded the object and were placed on the perimeter of the image
space. In FIG. 29C an image of true compressibility in the test
object is on the right while the reconstructed compressibility is
shown on the left. The compressibility scattering potential
component has a range of values spanning 0.2 for black, 0.1 for
gray and 0 for white. The compressibility region is square in
shape. Note that little cross coupling from density and absorption
is present. FIG. 29D shows on the right an images of true density
in the test object, while the reconstructed density is shown on the
left. The density scattering potential component has a range of
values spanning 0 for black, -0 025 for gray and -0.05 for white.
The density region is circular in shape. Note that little cross
coupling from absorption is present and a small amount from
compressibility is present. FIG. 29E shows on the right an image of
true acoustic absorption in the test object, while the
reconstructed acoustic absorption is shown on the left. The
attenuation scattering potential component has a range of values
spanning 0 for white, 0.01 for gray and 0.02 for black. The
absorption region is triangular in shape. Note that little cross
coupling from density is present but a little cross coupling from
compressibility is present.
[0461] FIGS. 30A, 30B and 30C describe the application of inverse
scattering to the case where sources and detectors are limited to a
single line (as in the case of 2-D scattering) or a single plane
(as in the case of 3-D scattering). FIG. 30A shows the true
scattering potential values for a test object. In this example, the
scattering potential variation corresponds to different dielectric
constants. The background dielectric constant corresponds to earth
with a dielectric constant of 18 and extends to infinity on both
sides and below the image space. Air, with a dielectric constant of
unity lies above and next to the top of the image. The small black
circle has a dielectric constant of 21.6; the small white circle on
the right has a dielectric constant of 16.2; and the larger gray
circle in the center has a dielectric constant of 19.8. The pixels
are 1/4 wave length on a side at the highest frequency. A set of 32
frequencies uniformly distributed between the highest to 1/32 of
the highest are used. The image space is 64 pixels horizontally and
32 pixels vertically. 64 detectors and 5 sources are uniformly
placed across the top of the image space. The scattering potential
values, relative to the background dielectric constant of 18,
(scattering potential=.epsilon./.epsilon..sub.background-1 span the
range of 0.1 for black to -0.1 for white. A dielectric constant of
18 therefore corresponds to a scattering potential of zero.
[0462] FIG. 30B shows the inverse scattering reconstruction
generated by imaging data synthesized from the model in FIG. 30A
(please note that the image in this figure was accidentally video
reversed). The synthesized data was inverted using a layered
Green's function. Note the excellent spatial resolution and
excellent quantitative accuracy of the reconstruction. FIG. 30C
shows an image generated by using conventional radar beam forming
methods. This conventional method places echoes at a given range
and angle by processing the transmitted signals into transmit beams
and the received signals into receiver beams. This conventional
method is mathematically equivalent to seismic migration imaging.
Such methods are linear, not nonlinear as is inverse scattering. As
such, linear methods do not accurately model multiple scattering,
reverberation from the air-soil interface, and refraction. Such
images are not quantitative. Note the inferior quality of this
image relative to the inverse scattering image in FIG. 30B.
Inverse Scattering Scenarios
[0463] FIG. 1-A shows a typical imaging scenario, such as might be
encountered in the geophysical applications. Half space 1300
represents air, with a speed of sound equal to about 344
meters/sec. The image space 1312 is divided up into "pixels"
(1320), which cover the region to be imaged. The object to be
imaged, 1310, is located within this pixel grid. The term "pixel"
is usually associated with two dimensions, however, we apply the
same discretization procedure in 3-D (voxels), and higher
dimensions (or lower) are certainly possible. For the sake of
brevity and clarity, we refer throughout this patent to "pixels",
even though their n-dimensional counterpart is meant.
[0464] The layers 1302, 1304, 1306, and 1316 are arbitrary both in
vertical dimension, as well as speed of sound associated with them.
The sources 1314, and receivers 1298, are in both boreholes
1308.
[0465] FIG. 1-B shows a typical scenario such as might be
encountered in nondestructive evaluation, or in geophysical
imaging. The source positions 1314 are located along the top of the
image space at the interface of half space 1340 (sea-water), and
layer 1342. Layer 1344 is basement sediment, and the image space
1312 is divided up into pixels, 1320. The detectors, 1348 are also
located at the sea-water interface. Notice that the sources and
receivers in this case, and the previous case, are juxtaposed to
the image space 1312, which contains 1350, the object to be
imaged.
[0466] FIG. 1-C shows the reflection scenario, as in FIG. 1-B, with
the twist that the sources and receivers (1314 and 1308
respectively) are located at some finite distance from the image
space. This remote source/receiver geometry is also implementable
with the cross-borehole geometry of FIG. 1A. The layers 1302, and
target to be imaged 1310 are as before in FIG. 1A. The pixels 1320
are as before. The speeds of sound are such as to be appropriate to
the geophysical case.
Software Description
[0467] Having described some examples in the previous section which
illustrate mathematical and physical models which may be used to
model scattered wavefield energy and to process data so as to
reconstruct an image of material parameters using inverse
scattering, theory, reference is next made to FIG. 8.
[0468] This figure schematically illustrates a flow diagram for
programming the CPU No. 118 or combination of CPU 118 and array
processor 120 or parallel processor 146 in order to enable CPU 118
or said combination to control the electronic system of FIGS. 4 and
5 and the apparatus of FIGS. 1, 2, and 3 in accordance with one
presently preferred method of the invention. It should also be
understood that special purpose computational hardware should be
constructed to incorporate the flow diagrams including FIGS. 8-26
and also explicitly encoded in Appendices A-J. These flow diagrams
of FIGS. 8-26 are merely illustrative of one presently preferred
method for programming CPU 118 using the scalar Helmholtz wave
equation or vector wave equation or similar wave equation for
modeling scattered wavefield energy as described in Example 1 in
the Summary of the Invention section. Any suitable computer
language which is compatible with the type of CPU 118 that is used
in the electronic system can be used to implement the program
illustrated in the diagrams and flowcharts. As shown in FIG. 8, the
CPU 118 is programmed so that it will first cause the transmitter
multiplexer 132 to sequence in turn each transducer or antenna so
that each transmitter or antenna will in turn propagate a signal at
a selected frequency. In the case of FIG. 4A, for each transmitter
position sequential multiple frequencies may be transmitted by
changing the frequency of the oscillator 128. On the other hand, in
the system of FIG. 5A multiple frequency signals are transmitted by
selecting and generating a type of waveform which inherently
includes multiple frequencies. As schematically illustrated in Step
202, for each transmitter from which a signal is sent CPU 118 next
causes a receiver multiplexer 134 to sequence each receiver array
108-115 so as to detect the scattered wavefield energy at each
position around the ring of transducers 70. The source receiver
geometry represented by Step 202 is not restricted to the ring of
transducers 70. One alternative source receiver geometry is
depicted in FIG. 1A. This figure depicts inverse scattering in a
cross-borehole geometry relevant to geophysical imaging. This FIG.
1A shows four layers representing sedimentation sandwiched between
two half spaces which represent, respectively, the ocean and the
basement sediment. The image space is depicted and an object to be
imaged, 1310 is shown. The sources and receivers are located down
two boreholes which exist on either side of the image space. The
receiver arrays 1308 detect scattered wavefield energy for each
frequency that is transmitted. As described previously, the
electronic system then amplifies the detected signals and processes
the signals in order to develop the electronic analog of the real
and imaginary components of each signal and in order to digitize
each detected signal.
[0469] Once the scattered wavefield energy has been detected,
processed, and digitized, CPU 118 next determines the incident
field f.sub.107 .phi..sup.inc, as indicated at step 204. The
incident field is determined from the wavefield energy [i.e.,
frequency and amplitude components of the transmitted waveform] and
transducer geometry from which the incident field is transmitted.
The process of determining this incident field may involve direct
measurement of the incident field or calculation of the incident
field using the appropriate Green's function whether it be Biot,
elastic, electromagnetic, scalar, vector, free space or some
combination or permutation of these. The incident field is
determined at each pixel in the imaged space for each source
position .phi.=1, . . . ,.PHI. and for each frequency .omega.,
which varies from 1 to .OMEGA.. In step 206, the scattered
wavefield is measured, recorded and stored at the wavefield
transducer receivers for each .omega., varying from 1 to .OMEGA.
each source position 1-.PHI., and each pixel element at each
wavefield transducer receiver position. As described in step 208,
the initial estimate for the scattering potential is input directly
into CPU 118 or estimated within CPU 118 from data input to it from
some outside source. The initial estimate for the scattering
potential can be set at either 0 or at an average value which is
derived from the average material parameters estimated a priori for
the object. When applicable, a lower resolution image of .gamma.,
such as produced by a more approximate method such as the time of
flight method described in U.S. Pat. No. 4,105,018 (Johnson) may
also be used to advantage (in the acoustic case) to help minimize
the number of iterations. Similar approximations for other forms of
wavefield energy may be used to advantage to help minimize the
number of iterations.
[0470] CPU 118 next determines in step 210 an estimate of the
internal fields for each pixel in the image space and for each
frequency .omega., and each source position .OMEGA.. This estimate
is derived from the incident field and the estimated scattering
potential. This step corresponds to step 222 in FIG. 9A as well as
to step 210 in FIG. 8. FIG. 7 is also relevant here. As is
indicated in step 360 of FIG. 7, the present scattering potential
estimate is used simultaneously in several independent processors
so that the forward problems are farmed out to these independent
processors which simultaneously solve the forward problems for each
frequency and for each source position of the incident wavefield.
These independent processors are labeled 368-380 in FIG. 7. It may
be that there are not enough parallel processors available to farm
out each incident field for each frequency and source position.
However, effort should be made to delegate and solve as many
forward problems independently and in parallel as possible. Ovals
362, 364 and 366 indicate that the forward problems for all
possible source positions and a given fixed frequency can be
calculated in one processor and simultaneously a second frequency
forward problem can be calculated simultaneously in a second
parallel independent processor. There is great flexibility in this
approach and this example is not meant to be restrictive; for
example, it is not difficult to see that the multiple frequency and
source position parts of the Jacobian calculation can also be done
in parallel in the same manner.
[0471] The total fields are then stored in central processor 382 of
FIG. 7. For a given and fixed frequency .omega., and fixed source
position .phi., the forward problem consists of using equation 1 or
17 of the Summary of Invention section to determine the total field
f.sub..omega..phi. given the scattering potential .gamma. and the
incident field f.sup.inc.sub..omega..phi. and the appropriate
Green's function. This Green's function could be the scalar Green's
function which is essentially the Hankel function of the second
kind of zero order, or it could be the elastic Green's functions
which is from the scalar Helmholtz Green's function, or it could be
the Biot Green's function, or it could be the electromagnetic
vector or scalar Green's function as well as a layered Green's
function derived from one of the preceding green's function in the
manner described in the Summary of the Invention section. The
process whereby this is done is elucidated in FIGS. 11A-1,
11A-2.
[0472] Before applying this algorithm, it is required to discretize
equation 1 or 17 of the Summary of Invention section so that it may
be input into the CPU. This process is described in detail in the
Summary of the Invention. The subroutine that solves the forward
problem is given explicitly in Appendix B for the two-dimensional
case and in Appendix F for the three-dimensional forward problem
solution. Our algorithm uses the Whittaker sinc function which is
defined on page 18, equation E of the Summary of the Invention. We
use the sinc function because of its optimal approximating
qualities. However, the infinite support of the sinc function
precludes its use in certain situations. More specifically in the
presence of layering, one-dimensional "hat" functions are required.
This is outlined in detail after eqn (41) in the Summary of the
Invention. The number of frequencies that are used in the inverse
scattering problem is a function of the source receiver geometry,
among other things. FIG. 1B shows the reflection-only
source-receiver geometry prevalent in geophysics. In this scenario
it is imperative to use multiple frequencies which distinguishes
this case from FIG. 1A where, because the source receiver geometry
allows transmission mode imaging only a small number of frequencies
may be used. An example of such code using transmission mode
imaging is given in Appendix H.
[0473] All forward problems for all possible frequencies, and all
possible source positions are solved with one call of the
subroutine in Appendix B for the two-dimensional case, and Appendix
F for the three-dimensional case, whichever is relevant. FIG. 10
gives in detail the procedure for solving for the internal fields
at all possible source positions and all possible frequencies. From
step 222 in FIG. 9A we enter step 340 on FIG. 10. In step 340 of
FIG. 10, all of the files that contain all of the Green's functions
for all possible frequencies and the files that contain the
incident fields for all possible frequencies and all possible
source-positions are rewound. In step 342 of FIG. 10, .omega. is
set equal to 1, i.e., we indicate that we are about to calculate
the forward problem for the first frequency. In step 344 of FIG.
10, the Green's function for this particular frequency is read into
memory. In step 346 of FIG. 10, the source position index .phi., is
set equal to 1 indicating that we are solving the forward problem
for the first source position. In step 348, the incident field for
this particular .phi., i.e., source position, and this particular
.omega., i.e., frequency, is read into memory. In step 350, the
forward problem for this particular frequency and this particular
source position is solved using either biconjugate gradients or
BiSTAB. This process is detailed in FIG. 11A-1/2 for the
biconjugate gradient or BCG algorithm and FIGS. 11B-1/11B-2 for the
BiSTAB or biconjugate gradient stabilized algorithm. In FIG. 11A-1,
in step 450 which follows step 350 in FIG. 10, the predetermined
maximum number of biconjugate steps and tolerance are read into
memory, and the forward problem, which in discrete form reads
(I-.sub.G.omega.)f=f.sup.inc, is solved. For purposes of
generality, we consider the BCG or biconjugate gradient algorithm
applied to the system Ax=y. A is a matrix which is square, x and y
is a vector of suitable dimension. Step 452 consists of reading in
an initial guess X.sup.0 and calculating an initial residual which
is calculated by applying A to the initial guess X.sup.0 and
subtracting from the right-hand side Y. In step 454, the initial
search direction P.sup.0, bi-search direction Q, bi-residual S are
calculated and stored. In step 456, we put N equal to 0. In step
458, we calculate the step length .alpha..sub.n by taking the inner
product of the two vectors s and r, the bi-residual and residual
respectively, and dividing by a quantity which is the inner product
of two vectors. These two vectors are 1) q, the bi-search
direction, and 2) the result of the application of the operator A
to the present search direction P. In step 460 of FIG. 11A-1, the
guess for x is updated as per the equation that is shown there. In
Step 462, the residual R is updated as per the formula given, and
the bi-residual S is updated as per the formula given. (H indicates
Hermitian conjugate.) In particular, the bi-residual is given by
the previous bi-residual S.sup.n minus a quantity which is given as
.alpha.*.sub.n, which is the complex conjugate of .alpha..sub.n,
multiplied by a vector, which is the result of the operation of the
Hermitian conjugate of the operator A, applied to the vector q, the
bi-search direction. This is carried out by a call to FIG. 13,
which we discuss below. In step 464, check to see if the stop
condition has been satisfied, i.e, is the present updated residual
less than or equal to .epsilon. (which is given a priori)
multiplied by the initial residual in absolute value. Step 466
consists of the determination of .beta., the direction parameter,
which is given as the ratio of two numbers. The first number in
this ratio is the inner product of the new updated bi-residual with
the updated residual and the denominator is the inner product of
the previous residual with the previous bi-residual, which has
already been calculated in box 458. In step 468, use the calculated
.beta. to update and get a new bi-search direction, and a new
search direction given by the formulas shown. In step 470, N is
incremented by 1 and control is taken back to step 458. In step
458, a new step length is calculated, etc. This loop is repeated
until the condition in step 464 is satisfied, at which time control
is returned to step 350 in FIG. 10. The forward problem for this
particular frequency and this particular source position has now
been solved and the result, i.e. the internal field, is now
stored.
[0474] In step 352, back in FIG. 10, it is determined if .phi. is
equal to .PHI., i.e. have we computed all the forward problems for
this particular frequency for all possible source positions. If
not, then .phi. is incremented by 1 in step 354 and control is
returned to step 348 of FIG. 10. If so, we have calculated the
forward problem for all possible source positions .phi. and control
is transferred to step 356 where it is determined if .omega. is
equal to .OMEGA., i.e. have we calculated the forward problem for
all possible frequencies .omega.?" If not, .omega. is incremented
by 1 in box 357 and control is returned to step 344. If so, we have
completed the computation of the internal fields for all possible
source positions and all possible frequencies and have stored the
results, i.e. we have finished the subroutine in Appendix B and
Appendix F for the two-dimensional or three-dimensional problem,
respectively. Control is now transferred to the main program which
is in Appendix A for the two-dimensional case, and in Appendix E
for the three-dimensional case. This corresponds to step 224 in
FIG. 9A. This also corresponds to step 212 of FIG. 8. FIGS. 9A, 9B,
9C, 9D together comprise an expanded version of the inverse
scattering algorithm in its entirety, which is given in compressed
form by FIG. 8. Before proceeding further to describe in detail
step 212 of FIG. 8, i.e. also FIG. 226 of FIG. 9A, we mention that
the BCG algorithm just described may be replaced by the BiSTAB
(biconjugate gradient stabilized algorithm) of FIGS. 11B-1/11B-2.
Furthermore, in the calculation of both the BiSTAB algorithm or the
biconjugate gradient algorithm, the implementation of the operation
of the operator A acting on the vector x is carried out in a very
specific manner which is described in FIG. 11C. Furthermore, in
FIG. 13, the hermitian conjugate of the operator A, denoted
A.sup.H, is applied to vectors in its domain. Specifically, in step
400 of FIG. 11C, we come in from any step in FIG. 11B-1/11B-2 or
11A-1/11A-2, respectively, the conjugate gradient stabilized
algorithm or the bi-conjugate gradient algorithm which requires the
calculation of the operation of the operator A acting on the vector
"x". In step 402, the pointwise product of the scattering potential
.gamma. and the present estimate of the internal field at frequency
.omega. and source position .phi. is formed and stored. Step 404,
the Fast Fourier Transform (FFT) of this pointwise product is
taken. In step 406, the result of the Fast Fourier Transform (FFT)
taken in step 404 is pointwise multiplied by G.sub..omega. which is
the Fast Fourier Transform (FFT) of the Green's function at
frequency .omega., which has been stored and retrieved. In step
408, the inverse Fast Fourier Transform (FFT) is taken the
pointwise multiplication that was formed in the previous step. In
step 410 this result is stored in vector y. In step 412 the
difference, taken pointwise, of the f.sub..omega..phi., the present
value for the internal field at frequency .omega., and source
position .phi., and the constructed vector y is taken. Step 414
returns control to either the BCG or the BiSTAB algorithm,
whichever has been called by step 350 of 10. The application of the
operator which is described in FIG. 11C is carried out multiple
times for a given call of the biconjugate gradient or the BiSTAB
algorithm, it is imperative, therefore, that this step be computed
extremely quickly. This explains the presence of the fast Fourier
transforms to compute the convolutions that are required. This
operator, (I-G.gamma.) symbolically written, we refer to as the
Lippmann-Schwinger operator. FIG. 13 calculates the adjoint or
hermitian conjugate of the given Lippman-Schwinger operator and
applies this to a given vector. Step 580 of FIG. 13 takes control
from the appropriate step in the biconjugate gradient algorithm. It
is important to note that the BiSTAB algorithm does not need to
compute the adjoint of the Lippmann-Schwinger operator. Therefore,
FIG. 13 is relevant only to FIGS. 11A-1 and 11A-2, i.e. the
biconjugate gradient algorithm. In step 580 of FIG. 13 the Fast
Fourier Transform (FFT) of the field f to which the adjoint of the
Lippmann-Schwinger operator is being applied, is taken. In step 582
of FIG. 13, the Fast Fourier Transform (FFT) computed above is
pointwise multiplied by G*.sub.107, the complex conjugate of the
Fast Fourier Transform (FFT) of the Green's function at frequency
.omega.. In step 584, the inverse Fast Fourier Transform (FFT) of
this pointwise product is taken and stored in vector y. In step
586, the pointwise product of the complex conjugate of .gamma., the
present estimate of the scattering potential is taken with the
vector y. The result is stored in vector y. In step 590, the
difference is formed between the original field to which the
adjoint of the Lippmann-Schwinger operator is being applied, and
the vector y just calculated. Now
(I-G.gamma.).sup.Hf.sup..omega..phi. has been calculated and
control is now returned to box 462 of FIG. 11A-1/11A-2, the
biconjugate gradient algorithm, where use is made of the newly
created vector, A.sup.H q. Next the stop condition is checked at
step 464.
[0475] We now return to step 224 of FIG. 9A, i.e. step 212 of FIG.
8 where we determine the scattered field at the detector locations
for all possible source positions, i.e. incident fields and also
all possible frequencies co. This process is carried out in FIG.
26, to which we now turn.
[0476] Step 1150 of FIG. 26 transfers control to step 1152 of FIG.
26 where .omega. is set equal to 1. Control is then transferred to
step 1154 where the Green's function for this particular .omega. is
read into memory. Control is then transferred to step 1156 where
.phi. is set equal to 1. Control is then transferred to step 1158
where the internal estimate for this source and this frequency is
read into memory. Control is then transferred to step 1160 where
the incident field is subtracted from estimated total internal
field. In step 1162 the truncation or propagation operator shown
FIG. 21 is performed. When the truncation or propagation has been
performed, control is transferred back to FIG. 26 and in step 1164
the calculated scattered field is stored. In step 1166 it is
determined if .phi. is equal to .PHI., if it is not, then .phi. is
incremented by one, in step 1170, and control is returned to step 1
58 of FIG. 26. If .phi. is equal to .PHI., then control is
transferred to step 1 72 where it is determined if .omega. is equal
to .OMEGA.. If it is not, .omega. is incremented by one in step
1174, and control is returned to step 1154 of FIG. 26. If .omega.is
equal to .OMEGA., then control is returned to step 226 of FIG. 9A,
the inverse scattering subroutine.
[0477] Now consider FIG. 21, which was called by FIG. 26 above.
[0478] Step 1118 of FIG. 21 transfers control to step 1122 where
the input is truncated to the border pixels. Control is passed to
step 1124 which determines if the receivers are distant from the
image space as in FIG. 1C or whether the receivers are juxtaposed
to the image space as in FIG. 1A or 1B. If the detectors are in
fact juxtaposed to the image space, then control is transferred to
step 1126 and from there to the calling subroutine. If the
detectors are not juxtaposed to the image space, the fields are
propagated to the detector positions. The details of this
propagation are given in the "EXTENSION OF THE METHOD TO REMOTE
RECEIVERS WITH ARBITRARY CHARACTERISTICS" section of this patent.
Actually, there are several methods which could be used to
accomplish this. For example, an application of Green's theorem is
one possibility. The beauty and utility of the method shown in the
"EXTENSION OF THE METHOD TO REMOTE RECEIVERS WITH ARBITRARY
CHARACTERISTICS" section however, is that the normal derivatives of
the Green's function, or the fields themselves, do not need to be
known or estimated.
[0479] The input to FIG. 21 is a vector of length N.sub.xN.sub.y.
FIG. 21 represents the subroutine that is called by the Jacobian
calculation or following immediately after the calculation of the
internal fields. The input in the first case of the Jacobian
calculation consists of box 720 of FIG. 20B. The input in the
second case is the scattered field calculated for a particular
frequency .omega. and a particular source position .phi.. The
purpose of FIG. 21 is to propagate the input (scattered field in
the image space) to the detector positions. In step 1124 it is
determined whether the receivers are distant. If the detector
positions are located at some distance from the image space, the
subroutine passes control from step 1124 to step 1128.
[0480] In step 1128, the matrix P, constructed earlier is used to
propagate the field to remote detectors. In step 1130 of 21,
control is returned to the program which called the subroutine. The
matrix P will change when correlation is present; the fundamental
form of the propagation algorithm remains unchanged, however.
[0481] These scattered fields are stored in vector
d.sup..omega..phi.. Control is then transferred to step 228 in FIG.
9A which subtracts the measured scattered field from the calculated
scattered field and stores the result in one vector
r.sup..omega..phi. which is the residual vector for frequency
.omega. and source position .phi.. This step is repeated until all
possible frequencies and all possible source positions have been
accounted for, whereupon the residual vectors r.sup..omega..phi.
for all possible .phi.'s and O 's are stored in one large residual
vector shown in FIG. 9A as step 228. We now apply the Hermitian
conjugate of the Jacobian to the residual vector r just calculated
in order to establish the search direction P.sup.n where n=0, i.e.
the initial search direction. The search direction is given
explicitly by the negative of the action of the hermitian conjugate
of the Jacobian acting upon the residual vector r, in step 238.
[0482] There are in effect at least two possibilities regarding the
use of the Jacobian. First, the full Jacobian could be used or,
secondly, an approximation to the Jacobian could be used. The
determinator of which path to follow is the programmer, who bases
his decision on the magnitude of the .gamma. which is to be solved
in the full inverse scattering problem. If the .gamma. is large,
the exact Jacobian must be used. On the other hand, if the y is
reasonably small, although still larger than required for the Born
or Rytov approximation, the approximation to the full exact
Jacobian which is shown on FIG. 9A, step 236 may be used. The
application of the exact or approximate Jacobjan will be discussed
later.
[0483] Now we step through FIGS. 9A to 9D to get an overall view of
how the algorithm works. Step 238 computes the initial search
direction P.sup.(0) Step 240 of FIG. 9A zeros the initial guess for
.delta..gamma., which is the Gauss-Newton (or Ribiere-Polak, or
other) update to .gamma., the scattering potential. .gamma. can be
initially set=0. A large portion of the rest of FIG. 9A, 9B, 9C, 9D
is concerned with the calculation of .delta..gamma.. This is used
in FIG. 8 also, of course.
[0484] Step 212 of FIG. 8 has estimated the scattered field at the
detector positions. Step 214 of FIG. 8 now determines if the
residual (which is given by the magnitude squared of the difference
between the measured scattered field and the calculated scattered
field, for each possible source position and each possible
frequency) is less than some predetermined e tolerance. If the
condition is satisfied then control is transferred to Step 216
where the reconstructed image of the scattering potential is either
displayed or stored. If the condition is not met, then from the
updated internal field calculated in Step 210 of FIG. 8 and also
from the most recent estimate of the scattering potential and also
from the estimated scattered field at the detectors calculated in
Step 212 of FIG. 8 and also from the measured scattered field at
the detectors, a new estimate of the scattering potential .gamma.
is calculated in a manner to be made explicit below. This updated
scattering potential estimate is derived in Step 218, and is now
used in Step 210 of FIG. 8 to calculate a new update of the
estimate of the internal fields, for each possible frequency
.omega. and each possible source position .phi.. Then in Step 212
of FIG. 8 a new estimated scattered field at the detectors is
calculated by means of Green's theorem as shown in FIG. 26. This
new estimate of the scattered field is then used in Step 214 as
before, to estimate the magnitude of the residual vector between
the measured scattered field and the calculated scattered field to
determine if this quantity is less than .epsilon., the
predetermined tolerance. As before if this tolerance is exceeded
the loop just described, is repeated until such time as either the
tolerance is satisfied or the maximum number of iterations of this
loop has been exceeded. This maximum number is predetermined by the
operator.
[0485] We have just concluded a general description of the overall
inverse scattering algorithm leaving out many important details. We
now look at each of the steps in more detail. First, we explain how
the .delta..gamma..sup.0 shown in Step 240 of FIG. 9A is related to
Step 218 of FIG. 8. .delta..gamma..sup.0 in FIG. 8 is the first
estimate of .delta..gamma. in Step 314, which is the vector which
is solved for, in Steps 244 through to Step 314 in FIGS. 9B through
9D. This .delta..gamma. is the correction term to the scattering
potential which is applied to the present estimated scattering
potential .gamma..sup.(n) in Step 314 of FIG. 9D in order to get
the updated scattering potential .gamma..sup.(n+1). Once this new
updated scattering potential has been determined, transfer to Step
316 of FIG. 9D where it is determined if the maximum number of
Gauss-Newton corrections have been exceeded. Each pass through
Steps 244 through 314, to calculate .delta..gamma. is one
Gauss-Newton step. These Gauss-Newton steps are repeated until one
of two things occurs. Either the maximum number of Gauss-Newton
corrections is exceeded, or the tolerance condition of Step 294 is
satisfied. It is important to reiterate that which was noted
earlier, namely, that the description of the Gauss-Newton algorithm
here, does not preclude the use of a suitable Ribiere-Polak, or
Fletcher-Reeves non-linear algorithm, or other non-linear system
solver. The changes in detail do not change the overall character
of the minimization algorithm.
[0486] The appendix A contains the main program for imaging in two
dimensions, which represents the code associated with the FIGS. 9A
through 9D. More specifically Appendix A deals with the
two-dimensional situation whereas Appendix E deals with the
three-dimensional imaging situation.
[0487] It is important to note that the code in Appendices A, B, C,
F, and G, deal with the most general case. This means that they can
account for layering as is discussed in the Summary of the
Invention Example 2. This means that the Lippman-Schwinger operator
described earlier incorporates a convolution and correlation part.
If it is known a priori that there is negligible layering in the
geophysical or non-destructive testing or other scenario envisioned
then it is appropriate to use the code given in Appendix H and
Appendix I which deals with the case of no correlation part in the
Green's function. The great simplification of the code that results
from this omission and specialization is reflected in the fact that
the code in Appendix H contains both the main imaging program and
the forward problem solution. Furthermore, this code also computes
the two-dimensional free space Green's function from scratch. This
is in contradistinction to the codes in Appendix A or B or C where
in the two-dimensional case in the presence of layering, three
separate programs are used to solve the inverse scattering problem,
the forward problem and the construction of the layered Green's
function. The construction of this layered Green's function which
is discussed in Example 2 for the acoustic scalar case, requires
substantial amount of time for its computation. However, it is
important to note that once the Green's function has been
constructed for a given layered scenario, in a geophysical context,
for example, it is not necessary to recalculate this Green's
function iteratively. Rather the Green's function once it has been
determined by methods discussed in the literature, see for example
[Johnson et al. 1992, or Wiskinet al, 1993], is used in the code in
Appendix A and Appendix B to complete the imaging problem. To
display the versatility of this inverse imaging code note that the
code in Appendix H deals with the transmission mode imaging problem
with the particular modality being electromagnetic wave propagation
in particular in the microwave frequency range. Note also that
Appendix H incorporates within it the situation where the detectors
are at some finite distance away from the image space, i.e. they
are not juxtaposed to the image space. The implication being that
Green's theorem or some type of "scattering matrix" is required to
propagate the field from the border pixels of the image space to
the detector positions at some finite distance away from the image
space. Such a scattering matrix is constructed earlier.
[0488] It is important to note that all of the Appendices deal with
the rectangular iterative method. It is also important to recognize
that the construction of the layered Green's function as shown in
Summary of the Invention, Example 2 shows explicitly how the
convolution and correlation are preserved even though the
distribution of the layers above and below the layer containing the
image space are arbitrarily distributed. The preservation of
convolution and correlation is a critical element of the ability to
image objects in a layered or Biot environment (Biot referring to
the Biot theory of wave propagation in porous media) in real time.
The reflection coefficients which are used in the construction of
the layered Green's function in the acoustic, elastic and the
electromagnetic case are well known in the literature. See, for
example [Muller, 1985] or Aki and Richards, 1980. The incorporation
of this Green's function for layered media in the acoustic, elastic
and electromagnetic case for the express purpose of imaging objects
buried within such a layered medium is novel. The ability to image
in real time is critical to practical application of this
technology in the medical, geophysical, non-destructive and testing
microscopic environments.
[0489] We now elucidate the steps shown in FIG. 9A. We have already
discussed in detail, steps up to 240, Step 242 of FIG. 9A begins
the conjugate gradient loop. Step 244 of FIG. 9A sets n equal to
0.
[0490] This n is the counter that keeps track of the number of
conjugate, gradient steps that have been performed in the pursuit
of .delta..gamma., the update to the scattering potential estimate.
Step 246 of FIG. 9A again determines if the full Jacobian will be
used. As in previous step 230 of FIG. 9A the answer depends on the
magnitude of .gamma.. In the case that the y is large, the
approximation given in Step 250 is not appropriate. Furthermore the
actual implementation of the algorithm depends on whether there is
correlation present. They are sufficiently different to warrant
separate flow charts. FIGS. 20A/B/C deal with the free space case.
Considering this case first, JACFLAG is set to one and Step 252 is
computed via FIG. 20A/B/C. Step 700 of FIG. 20A transfers the
algorithm control to Step 702 where the disk file containing the
Green's functions and the disk file containing the internal fields
for all possible .omega. and all possible .phi. source positions
are rewound. Control is then transferred to Step 704 where .omega.,
the index for the frequency, is set equal to 1. In Step 706
thereafter, the complex Fast Fourier Transform (FFT) of the Green's
function, at this particular frequency, is retrieved. In Step 708,
.phi., the counter corresponding to the source positions, is set
equal to 1. The Step 710 in FIG. 20A/B/C retrieves the internal
field for this particular source position .phi., the Step 712 takes
the point-wise product of this internal field which was retrieved
in Step 710, with the .delta..gamma. which is the input to FIG.
20A/B/C and is also the same .delta..gamma. which is being sought
after in the main program in FIG. 9A through 9D. In Step 252 of
FIG. 9B which is where we have come from in FIG. 20A/B/C, the
Jacobjan is applied to p, which is the search direction for
.delta..gamma.. That is p is the input to FIG. 20A/B/C, i.e.
.delta..gamma. .gamma. in this call of FIG. 20A/B/C is p of Step
252 in FIG. 9B. In Step 714 of FIG. 20A/B/C either the inverse of a
certain operator or the first order binomial approximation of the
inverse, is applied to the point-wise product produced in Step 712.
This operator, (I-.gamma.G), is similar to, but not the -same, as
the Lippmann-Schwinger operator which is represented as
(I-G.gamma.). Note, the determinator of which operator
(I-G.gamma.).sup.-1 or (I+G.gamma.) is applied is the JACFLAG
variable defined in FIG. 9B JACFLAG=1 corresponds to application of
(I-G.gamma..sup.)-1
[0491] It is important to note that the inverse of this operator,
(I-.gamma.G).sup.-1 , is never explicitly calculated in Step 714.
The actual computation of the inverse of this operator, which in
discrete form is represented as a matrix would be computationally
very expensive. Therefore, the inverse action of the operator
(I-.gamma.G).sup.)-1 acting on the point-wise product calculated in
Step 712 is calculated by using bi-conjugate gradients or BiCGStab
as indicated in Step 714 of FIG. 20A/B/C. This bi-conjugate
gradient algorithm is the same bi-conjugate algorithm shown in FIG.
11A-1/11A-2 and was used to calculate the application of the
Lippman-Schwinger operator [I-G.gamma.] on a vector f. However, it
is important to note that the operator represented by the matrix A
in Step 450 of FIG. 11A-1 is not the Lippman-Schwinger operator,
rather it is the above (I-.gamma.G) operator in this case. As
before, the BiCGStab or Biconjugate gradient stabilized algorithm
may be used in place of the bi-conjugate gradient algorithm. This
BiCGStab or conjugate gradient stabilized algorithm is shown in
FIG. 11B-1/11B-2. The application of the algorithm shown in FIG.
11C for the actual application of the operator A in BiCGStab, FIG.
11B-1/11B-2, or BCG, FIG. 11A-1/11A-2, will of course, differ, in
that the point-wise multiplication by .gamma. will be performed
after the convolution with the Green's function G appropriate to
this frequency .omega., in this case. However, the changes that
must be made to FIG. 11C are clear in this case. Namely, the
point-wise product shown in Step 402 is taken after the computation
of the inverse Fast Fourier Transform (FFT) in Step 408 instead of
before. A similar comment applies to FIG. 13 where the Hermitian
conjugate of I-.gamma.G is computed. In this case the Hermitian
conjugate of the operator I-.gamma.G requires that the pointwise
product of the conjugate of .gamma. which is carried out in Step
586 of FIG. 13 be calculated before the Fast Fourier Transform
(FFT) is taken in Step 580 of FIG. 13. Step 254 of FIG. 9B now
calculates the magnitude of the vector computed in Step 252 namely,
the application of the vector A to the search direction p. Step 254
of FIG. 9B also computes the magnitude of the vector which is the
result of the application of the Hermitian conjugate of the vector
A to the residual vector r. Again, A is either the exact Jacobian
or the approximation to the Jacobian shown in Step 250. The Step
256 computes the square of the ratio of the two magnitudes computed
in Step 254, this ratio is denoted by a. Step 258 of FIG. 9B now
updates .delta..gamma. which is the Gauss-Newton correction sought
after in the loop from Step 244 to 314 of FIGS. 9B through 9D. The
update is given explicitly in Step 258 of FIG. 9B. Also at the same
time the residual is updated via the formula shown explicitly in
Step 258 of FIG. 9B. Step 260 transfers control to the Step 286 in
FIG. 9C which determines if the full, exact Jacobian will be used
or the approximation shown explicitly in Step 290. Depending upon
which A is defined i.e. either the exact Jacobian or the
approximation, JACFLAG is set to 1 or 0 and Step 292 is carried
out. It is the application of the Hermitian conjugate of the matrix
A which is defined in either Step 290 or 288, depending upon
whether the exact Jacobian is used. The Hermitian conjugate of A is
applied to the updated residual vector r. Step 294 calculates the
ratio of two numbers. The first number is the magnitude of the
updated residual calculated in Step 292, the second number is the
magnitude of the scattered field for all possible (i's, i.e. source
positions, and .phi.'s i.e. frequencies, and compares this ratio to
E the pre-determined tolerance. If the tolerance is larger than
this calculated number, control is transferred to Step 296 which
effectively stores the image of the scattering potential and/or
displays this image. If the tolerance is not satisfied, control is
transferred to Step 298 where .beta. is calculated as shown
explicitly in Step 298. Step 300 calculates the new search
direction which is given by the explicit formula shown. Note that
the Hermitian conjugate applied to the residual vector r has
already been calculated in previous Step 298. Now transfer to Step
304 of FIG. 9D and it is determined in Step 310 if the maximum
number of iterations allowed for the conjugate gradient solution
have been exceeded. If no, then n, the counter for the conjugate
gradient steps is incremented by one, and control is transferred to
Step 246 of FIG. 9B. If, however, the maximum number of conjugate
gradient iterations has been in fact exceeded, control is
transferred to Step 314 of FIG. 9D. This is the step that has been
discussed previously in which the scattering potential is updated
by the .delta..gamma. vector which has been computed by the
conjugate gradient iterations. Control is then transferred to Step
316 of FIG. 9D where it is determined if the maximum number of
Gauss-Newton corrections, specifically the .delta..gamma.'s, have
been calculated. If the maximum number of Gauss-Newton (see earlier
note regarding Gauss Newton vs Ribiere Polak) steps has been
exceeded then the control is transferred to Step 320 where the
present scattering potential estimate is stored and/or displayed.
If the maximum number of Gauss-Newton corrections has not been
exceeded then the index parameter that counts the number of
Gauss-Newton corrections that have been computed, is incremented by
1 and control is transferred to Step 308 which transfers to Step
284 (arrow) of FIG. 9C which transfers control to Step 244 (arrow)
of FIG. 9B which transfers control to Step 236 (arrow) of FIG. 9A
which transfers control to Step 222 of FIG. 9A. Again as before, in
Step 222 the forward problems for all possible .omega.'s and all
possible .phi.'s are calculated. More specifically control is
transferred to Step 340 of FIG. 10. This FIGURE has been discussed
in detail above.
[0492] The loop just described and displayed in FIG. 9A through 9D
is now reiterated as many times as necessary to satisfy the
tolerance condition shown in Step 294 of 9C or until the maximum of
Gauss-Newton iteration steps has been performed.
[0493] It is appropriate to study in detail the application of the
Lippman-Schwinger operator and the Jacobian in the situation where
layering is present. It is important to note that the discussion
heretofore, has emphasized the special situation where layering is
not present so that the free space or similar Green's function not
involving any correlation calculation, has been used. This
specialization is appropriate for pedagogical reasons, however, the
importance of the layered Green's function makes it necessary to
discuss in detail the application of the Lippman-Schwinger operator
in this case. Before doing this however, we look at FIG. 25A/B/C
where the Hermitian conjugate of the Jacobian calculation is
considered in the free space case. Just as in the calculation of
the Jacobian itself (or its approximation) the variable JACFLAG
determines whether BCG (or variant thereof) is applied or whether
the binomial approximation shown is used.
[0494] In Step 600 the full Hermitian conjugate of the Jacobian
calculation is undertaken with the disk files containing the
Green's functions and the disk files containing the internal fields
for each .omega. and each .phi. being rewound. In Step 604 .omega.
is set equal to 1, i.e. the first frequency is considered. In Step
606 the complex Fast Fourier Transform (FFT) of the Green's
function at this particular frequency .omega. is retrieved from
disk where it has been stored previously. In Step 608 .phi. is set
equal to 1 indicating we are dealing with the first source
position. Step 610 retrieves the internal-field f.omega..phi., for
this source position .phi. at frequency .omega.. Step 612
propagates the scattered field from the detector positions to the
border pixels of the image space. Also in Step 612 the field values
at the non-border pixels of the image space are equated to 0. In
Step 614 the Fast Fourier Transform (FFT) of the field resulting
from Step 612 is computed and stored in vector x. In Step 616 the
complex conjugate of the Fast Fourier Transform (FFT) of the
Green's function G is point-wise multiplied by x, the vector
computed in Step 614. As before the actual computation of this
inverse operator is computationally prohibitive. Therefore, the
application of the inverse of I-G*.gamma.* to the vector x is
carried out by using bi-conjugate gradients or BiCGStab as
discussed above. In Step 620 either the inverse of the operator
I-G*.gamma.* or the approximation (I+G*.gamma.*) is applied to this
result. The system [I-G*.gamma.*].gamma.=x is solved for y using
BCG. See FIGS. 11A-1/11A-2. In Step 622 of FIG. F01 the point-wise
multiplication by the complex conjugate of f.sub..sigma..phi., the
internal field for this frequency and source position, is carried
out. This point-wise multiplication is the product with the result
of Step 620. The Step 624 stores the result of this point-wise
multiplication. Step 626 determines if .phi. is equal to .PHI., the
maximum number of source positions. If the maximum number of source
positions has not yet been achieved, then the .phi. is incremented
by 1 to indicate movement to the next source position. Transfer of
control is now made to Step 610, where the internal field for this
particular source position is retrieved. The loop from Step 610 to
Step 626 is performed iteratively until the maximum number of
source positions has been achieved. When this occurs, it is
determined if .omega. is equal to .OMEGA., the maximum number of
frequencies, in Step 630. If the maximum number of frequencies has
been achieved then control is transferred to Step 634 which
transfers control back to FIG. 9A where the Hermitian conjugate of
the Jacobian, or its approximation, was being applied. If, however,
the maximum number of frequencies has not been achieved then
transfer is made to Step 632 where the frequency index is
incremented by 1 and control is transferred to Step 606 of FIG. F01
which is the retrieval of the complex Fast Fourier Transform (FFT)
of the Green's function at new frequency .omega.. This loop is now
repeated until all possible frequencies and all possible source
positions have been exhausted. At this time control is transferred
to the inverse scattering routine in FIG. 9A through 9D.
[0495] It is appropriate now to turn to that part of FIG. 20A/B/C
which details the application of the reduced Jacobian calculation
which is used by FIG. 9A through 9D, i.e. the Gauss-Newton
iteration in the situation where it is permissible to use the
approximation to the Jacobian in place of the exact Jacobian. This
calculation is called the reduced Jacobian calculation by virtue of
the fact that no inverse operator is required to be calculated in
this FIGURE Therefore, the total computational complexity of this
part of FIGS. 20A through 20C (ie. Step 715) is less than the
corresponding Step 714 of FIGS. 20A 20C, in which the full exact
Jacobian calculation is carried out. When the Jacobian calculation
in FIG. 20A through 20C is being carried out to compute Step 252 in
FIG. 9B .delta..gamma. is in fact p.sup.n, the search direction for
the conjugate gradient step in determining .delta..gamma., which in
turn is the update to the scattering potential determined by this
particular Gauss-Newton step. In Step 715 a) the point-wise product
is stored in vector x. In Step 715 b) the Fast Fourier Transform
(FFT) of the point-wise product is computed and in Step 715 c) this
Fast Fourier Transform (FFT) is taken with a point-wise product
with the Fast Fourier Transform (FFT) of the Green's function for
this particular frequency .omega., and the inverse Fast Fourier
Transform (FFT) of the point-wise product is taken to yield G
convolved with the product f*.delta..gamma. which result is stored
in vector y. In Step 715 d) the point-wise product of vector y is
taken with .gamma. and the vector x computed and stored in Step 715
a) is added to it. The Fast Fourier Transform (FFT) of this sum is
calculated in Step 716 of FIGS. 20A through 20C and the algorithm
finishes exactly as described previously. Recall that
transportation takes place in the scenario where the receivers
exist at some finite distance from the image space in
contradistinction to the truncation operation which takes place
when the receivers exist at the border pixels of the image space.
The truncation or transportation operator is discussed in FIG. 21
for the general case in which correlation, i.e. layering, is
present or absent.
[0496] It is very important to note that the correlation that is
calculated in the case of layering is, without exception,
calculated as a convolution by a change of variables. It is the
presence of the convolution which allows the introduction of the
Fast Fourier Transform (FFT) and allows this algorithm to be
completed in real time when the Fast Fourier Transform (FFT) is
used in conjunction with the other specific algorithms and devices
of this apparatus.
[0497] It is now appropriate to consider in detail the action of
the Lippmann-Schwinger operator and the Jacobian in the case when
layering is present. FIGS. 23A and B displays this case.
[0498] It is also important to note regarding the Jacobian
calculation with correlation, that both the reduced and the exact
form have their counterpart in the Hermitian conjugate. This is
discussed in FIGS. 19A/B. In Step 654, the re-winding of the disk
with the Green's function and the disk with the internal fields is
carried out, and .omega. is set equal to 1. In Step 658 the complex
Fast Fourier Transform (FFT) of the Green's function at this
particular frequency Co is retrieved. Step 658 also sets .phi.
(source position) equal to 1. Step 660 retrieves the internal field
for this .phi.. Step 662 calculates the Hermitian conjugate of the
truncation operator which puts values in border positions of the
image space of the appropriate field and zeros everywhere else.
Step 664 point-wise multiplies the result of 662 by complex
conjugate of the Fast Fourier Transform (FFT) of the Green's
function. Step 668 takes the inverse Fast Fourier Transform (FFT)
and stores this in vector y. Now, in Step 670 depending upon the
value for JACFLAG, either the full inverse (I-G*.gamma.*).sup.-1
(via BCG or BiSTAB, etc.) or (I+G*.gamma.*) is applied directly to
y. The second alternative is carried out in the standard manner.
That is, one takes the point-wise multiplication of the complex
conjugate of .gamma., the scattering potential estimate at this
time with the vector y. The one takes the Fast Fourier Transform
(FFT) of the result and takes the point-wise multiplication of the
complex conjugate of the Fast Fourier Transform (FFT) with this
result. Finally one adds the vector y and stores it in vector y,
(overwriting y). The Step 672 multiplies the final result
point-wise, with the complex conjugate of the internal field for
this particular frequency and source position, and stores the
result. Step 672 transfers control to 674 where it is determined if
.phi. is equal to .PHI.. If no, then .phi. is incremented by 1 and
returned to Step 660 in Step 676. If yes, control is transferred to
680 where it is determined if .omega. is equal to .OMEGA.; if yes,
increment .omega. by 1 in Step 682, and transfer control to Step
656. If no, transfer control to Step 684 where control is
transferred back to the inverse scattering main algorithm, FIGS. 9A
through 9D.
[0499] It is important to note at this point that when the operator
I-G.gamma. is applied to the vector T.sub.1, and also when the
Lippmann-Schwinger operator I-G.gamma. is applied to any input
vector in the layering scenario, FIG. 12 must be followed. Step 556
of FIG. 12 forms the vectors which store the Fast Fourier Transform
(FFT) of the convolutional and the correlational parts of the
layered Green's function separately. These convolutional and
correlational parts are computed by appendices C and G for the two
and three-dimensional cases, respectively, and are given explicitly
by the formulas given on page 35 of the Summary of the Invention
section.
[0500] The step 558 passes control to step 560 where the vector of
pointwise products shown explicitly there, is formed. This
pointwise produce of .gamma., the scattering potential estimate,
and F, the internal field, is Fourier transformed in step 564 and
in parallel simultaneously in step 562, the reflection operator is
applied to this pointwise product .gamma.F computed in step 560. In
step 566, following step 562, the Fourier Transform of the
reflected product .gamma.F is taken. In step 570 and in step 568,
there is pointwise multiplication by the correlational part and the
convolutional part of the layered Green's function, respectively.
The correlational part of the layered Green's function is pointwise
multiplied by the Fast Fourier Transform (FFT) computed in step
566, the convolutional part of layered Green's function fast
Fourier transformed is pointwise multiplied by the Fast Fourier
Transform (FFT) which was computed in step 564. In step 572, the
vector W, which is the difference of the results of step 568 and
570, is computed and stored. In step 574, the inverse Fast Fourier
Transform (FFT) of the vector W is computed. In step 576, the final
answer which is the action of the Lippmann-Schwinger operator
acting upon the field f is computed for the layered medium case,
i.e., the case in which correlation exists. This process of
applying a Lippmann-Schwinger operator in the presence of layering
established in FIG. 12 is used explicitly in the calculation of the
forward problems in step 222 of FIG. 9A in the presence of
layering. It is also carried out explicitly in Appendices B and F
for the two and three-dimensional cases, respectively. It is also
required in some of the calculations of the application of the
Jacobian in the layered medium case.
[0501] The operator described by FIG. 14, (I-.gamma.G), is called
the "Second Lippmann-Schwinger operator". This operator is in fact
the transpose of the "Lippmann-Schwinger" operator so-called, i.e.
(I-G.gamma.). Note that this is not the Hermitian adjoint of the
Lippmann-Schwinger operator, precisely because no complex conjugate
is taken.
[0502] The input to FIG. 14 is Fast Fourier Transformed in step
1222. The result is then pointwise multiplied by the Fast Fourier
Transform (FFT) of the Green's function for this particular
frequency. The result is inverse Fast Fourier Transformed and
stored in vector y, in step 1226. The pointwise product .gamma.*y
is computed and stored in vector y. Finally the difference between
input vector x, and y is formed in step 1230. Finally, the control
is transferred back to the calling subroutine.
[0503] FIG. 15 details the application of the hermitian conjugate
of the "second Lippmann-Schwinger" operator
[0504] In 15 control is transferred to step 1242, where the
pointwise product is formed, between the complex conjugate of the
scattering potential estimate, and the input to this subroutine, x.
The Fast Fourier Transform (FFT) is then applied to this product in
step 1244. In step 1246 the pointwise multiplication by G*, the
complex conjugate of the Fast Fourier Transform (FFT) of the
Green's function at frequency .omega., is effected. In step 1248,
the Inverse Fast Fourier Transform (FFT) of the product is taken,
and finally the result is stored in y. In step 1252, the difference
is formed between the input to this subroutine, x, and the computed
vector y, and the result is stored in y.
[0505] FIG. 21 delineates the propagation operator that takes
fields in the image space, and propagates them to the remote
receivers at some distance from the image space. This propagator is
discussed elsewhere in more detail.
[0506] In FIG. 21, the input is truncated to the border pixels, in
step 1122. Next it is determined if the receivers are remote, or
juxtaposed to the image space. If the detectors are in fact
juxtaposed to the image space, the control is returned to the
calling subroutine.
[0507] If the detectors are remote, the field is propagated with
the aid of the propagator matrix P (described in section EXTENSION
OF THE METHOD TO REMOTE RECEIVERS WITH ARBITRARY CHARACTERISTICS),
in step 1128. Control is then transferred to the calling subroutine
in the situation where the detectors are remote.
[0508] FIG. 22 details the Hermitian conjugate of the propagation
operator discussed in FIG. 21.
[0509] In FIG. 22, the Hermitian conjugate of the Propagation
operator P, it is first determined in step 1262, whether the
receivers are at some remote location. If not, then control is
transferred directly to step 1268. If the detectors are in fact
remote, then control is passed to step 1266, where the fields are
propagated via the propagation matrix to the border pixels of the
image space. In either case, control is passed then to step 1270,
and on to the calling subroutine.
[0510] FIG. 23A/B determines the effect of the Jacobian on an input
vector x in the presence of layering. Step 1050 transfers control
to step 1052 where .omega. is set equal to 1. Also the files
containing the Greens function for this frequency (both the
correlations and the convolutional parts), and the internal field
estimates, and the propagator matrix are rewound. Control is then
transferred to step 1054 where the propagator matrix for this
frequency is read in and also the Greens function for this
particular frequency is read into memory. Also in step 1054 .phi.
resource position index is set equal to 1. Control is then
transferred to step 1056 where the file that contains the internal
field estimate for this particular frequency and source position is
read into memory. Control is then transferred to step 1058 where
the pointwise product of the internal field estimate and the input
vector x is computed. Next in step 1060 it is determined if the
approximate Jacobian or the full Jacobian will be used. If the full
Jacobian is to be used then control is transferred to step 1062
where biconjugate gradients or biconjugate gradients stabilized is
used to solve for the action of the inverse matrix of I-.gamma.G
acting on T.sub.1. Recall T.sub.1 is the temporary matrix which
holds the pointwise product computed in step 1058. Control is then
transferred to step 1066. If in step 1060 the determination is made
to perform the approximate Jacobian operation then control is
transferred to step 1064. In step 1064 the Fast Fourier Transform
(FFT) is taken of the vector T.sub.1 and it is stored in temporary
vector T.sub.2. Also the reflection operator is applied to the
vector T.sub.1 and the result is stored in vector T.sub.3. Also the
Fast Fourier Transform (FFT) is taken of the result of the planar
reflection operator which is stored in T.sub.3 and T.sub.2 now
contains the pointwise product of the convolutional part of the
Greens function and the previous T.sub.2 added to the pointwise
product of T.sub.3 with the correlational part of the Greens
function for this particular frequency. The inverse Fast Fourier
Transform (FFT) is applied to vector T.sub.2 and the result is
stored in vector T.sub.2. Finally, the pointwise product between
.gamma. and T.sub.2 is formed and the result is added to vector
T.sub.1 and the result is stored in vector T.sub.1. Regardless of
whether step 1064 or 1062 has just been completed in step 1066 the
reflection operator is applied to the result of either box 1062 or
1064 and the result is Fast Fourier transformed in vector T.sub.3.
Also the original vector T.sub.1 is Fast Fourier transformed and
the result is stored in Vector T.sub.2. T.sub.2 is the pointwise
multiplied by the convolutional part of the layered Greens function
at this particular frequency and the result is added to the
pointwise product of T.sub.3 with the correlational part of the
layered Greens function at this frequency. The result is stored in
vector T.sub.2. Finally a Fast Fourier Transform (FFT) is applied
to the resulting vector T.sub.2 control is then transferred to step
1068 where the transportation or truncation operator given in FIG.
21 is applied to the result. In step 1070 it is determined if .phi.
is equal to .PHI. if in fact .phi. is equal to .PHI. control is
transferred to step 1074 where it is determined if .omega. is equal
to .omega.. If .phi. is not equal to .PHI. control is transferred
to step 1072 where .phi. is incremented by 1 and control is then
transferred back to step 1056. If in step 1074 .omega. is
determined to be equal to .OMEGA. control is transferred to step
1076 where (o is incremented by 1 and control is transferred back
to step 1054. If (o is equal to (o in step 1074 control is
transferred step 1080 from there control is returned to the calling
subroutine.
[0511] In FIG. 19A the Hermitian conjugate Jacobian with
correlation present is applied to an input vector x in step 654 of
FIG. 19A .omega. is set equal to 0 and the files containing the
Greens functions for all frequencies are rewound in step 658. The
Greens function both the convolutional and the correlational parts
for this particular frequency are read into memory, also .phi. is
set equal to 1. In step 660 the file containing the internal field
estimate for this particular source position and frequency is read
into memory in step 662 the Hermitian conjugate of the propagation
operator is applied to the vector x the result is stored in vector
T.sub.1. In step 664 the reflection operator is applied to the
vector T.sub.1 and the result is stored in vector T.sub.3 also Fast
Fourier transforms are applied to both vector T.sub.1 and vector
T.sub.3. Finally the pointwise product of the complex conjugate of
the FFT of the convolution part of the layered Greens function is
formed with T1 and the result is added to the pointwise product of
T.sub.3 with the FFT of the correlational part of the layered
Greens function with its complex conjugate taken. The result is
stored in vector T.sub.1. Control is then transferred to step 668
where the inverse Fast Fourier Transform (FFT) of T.sub.1 is taken
and the result is stored in vector T.sub.1. In step 670 either the
approximation or the full action of the inverse of the second
Lippmann-Schwinger operator with Hermitian conjugate taken is
applied as before. If the inverse operator is applied it is
approximated by the solution to a system via biconjugate gradients
or biconjugate gradients stabilized. In step 670 also, the
approximation I+G* .gamma.* is applied to the vector T.sub.1
resulting from step 668, and the pointwise product with Gamma* ie
the complex conjugate of .gamma. is taken. The Fast Fourier
Transform (FFT) of the result is then pointwise multiplied by G*
the complex conjugate of the Greens function, with care being taken
to insure that the convolution and the correlational parts are
performed separately as before. This result is added to T.sub.1,
then stored in T, and control is then transferred to step 672 where
the result is pointwise multiplied by the complex conjugate of the
internal field estimates and the result is added to the previous
frequency and source position result. Then control is transferred
to step 674 where it is determined if .phi. is equal to .PHI. if
not .phi. is incremented by 1 and control is transferred to step
660 if it is, control is transferred to step 680 where it is
determined if .omega. is equal to .OMEGA.. If not the .omega. in
incremented by 1 and control is transferred back to step 658. If it
is, control is transferred back to the calling subroutine.
[0512] Having seen in the previous pages how the full nonlinear
inversion yields substantial increases in resolution and utility of
image, we are now prepared to discuss the advanced marching
technique employed in both the forward problem and the Jacobian
calculations (as well as the closely related Hermitian conjugate of
the Jacobian calculation) in the following algorithm.
Scientific Background to Advanced Parabolic Marching Method
[0513] The parabolic equation method is a very efficient method for
modelling acoustic wave propagation through low contrast acoustic
materials (such as breast tissue). The original or classical method
requires for its applicability that energy propagate within
approximately .+-.20.degree. from the incident field direction.
Later versions allow propagation at angles up to .+-.90.degree.
from the incident field direction. Further modifications provide
accurate backscattering information, and thus are applicable to the
higher contrasts encountered in nondestructive imaging, EM and
seismic applications. [M. D. Collins, A two-way parabolic equation
for acoustic backscattering in the ocean, Journ. Acoustical Society
of America, 1992, 91, 1357-1368, F. Natterer and F. Wubbeling, "A
Finite Difference Method for the Inverse Scattering Problem at
Fixed Frequency,"Lecture Notes in Physics, 1993, vol. 422:157-166,
herein included as reference]. The source/receiver geometry we use
in this device, and the relatively low contrast of breast tissue,
allow us to utilize this efficient approximation. The resulting
speed up relative to the Gauss Newton, conjugate gradient method
[Borup et al., 1992] described in the previous patent, is dependent
upon the contrast but is estimated to be 100-400 times. This allows
us, for the first time, to apply inverse scattering to fully 3-D
reconstruction of the human breast. Furthermore the coarse grain
parallelization employed in the integral equation method is equally
applicable to the parabolic algorithm. The basic structure of the
inversion algorithm is essentially unchanged over our previous
patent. The main difference is in the use of the Parabolic equation
approximation, and more exactly, the "split step Fourier Method"
[R. H. Hardin and F. D. Tappert "Applications of the split-step
fourier method to the solution of nonlinear and variable
coefficient wave equations," SIAM Rev. 15, 423 (1973). and M. D.
Collins, "A Split-step Pade" solution for the parabolic equation
method," J. Acoust. Soc. Am. 93, 1736-1742 (1993), herein included
as reference] in the implementation of both the Jacobian of the
residual function, and the solution to the forward problems for
each view. The source/receiver geometry requirements and the
relatively low contrast of breast tissue, allow us to utilize this
efficient approximation for breast cancer scanner applications, for
example. In particular because we may elect to use only
transmission data in the breast problem, we are able to use this
"parabolic approximation" in a straightforward, simple manner [see
Hardin and Tappert].
[0514] To derive and elucidate our parabolic equation method in
2-D, we begin with the 2-D Helmholtz wave equation governing wave
propagation in inhomogeneous media: { .differential. 2
.differential. x 2 + ( k 2 .function. ( x , y ) + .differential. 2
.differential. y 2 ) } .times. f .function. ( x , y ) = 0 1
##EQU126## Now Fourier transforming y to .lamda. results in: [
.differential. 2 .differential. x 2 + ( 1 2 .times. .pi. .times. k
~ 2 .function. ( .lamda. ) * - .lamda. 2 ) ] .times. f ~ .function.
( x , .lamda. ) = 0 .times. .times. where .times. : 2 k ~ 2
.function. ( .lamda. ) .ident. k ~ 2 .function. ( x , .lamda. )
.ident. .intg. - .infin. .infin. .times. k 2 .function. ( x , y )
.times. e - I.lamda. .times. .times. y .times. d y 3 ##EQU127## and
the * notation denotes convolution: f .function. ( .lamda. ) * g
.function. ( .lamda. ) = .intg. - .infin. .infin. .times. f
.function. ( .lamda. - .lamda. ' ) .times. g .function. ( .lamda. '
) .times. d .lamda. ' 4 ##EQU128## Eqn (2) can be factored in the
sense of pseudo-differential operators [M. E. Taylor,
"Pseudo-differential Operators," Princeton University Press,
Princeton, 1981, herein included as reference] ( .differential.
.differential. x + i .times. 1 2 .times. .pi. .times. k ~ 2
.function. ( .lamda. ) * - .lamda. 2 ) .times. ( .differential.
.differential. x - i .times. 1 2 .times. .pi. .times. k ~ 2
.function. ( .lamda. ) * - .lamda. 2 ) .times. f ~ .function. ( x ,
.lamda. ) = 0 5 ##EQU129##
[0515] An intuitive feel for the manner in which the Parabolic
equation arises can be seen by looking at particularly simple case:
when k is a constant. Then we have, upon Fourier Transforming (1):
( .differential. .differential. x + i .times. k 2 - .lamda. 2 )
.times. ( .differential. .differential. x - i .times. k 2 - .lamda.
2 ) .times. f ~ .function. ( x , .lamda. ) = 0 6 ##EQU130## where
the square root is now simply the square root of a scalar value.
From 6, it is clear that in this special case, two solutions exist:
( .differential. .differential. x + i .times. k 2 - .lamda. 2 )
.times. f ~ .function. ( x , .lamda. ) = 0 , .times. f ~ .function.
( x , .lamda. ) = g .function. ( .lamda. ) .times. e - I .times.
.times. x .times. k 2 - .lamda. 2 7 ##EQU131## for an arbitrary
function g, which represents a rightmoving wave for e.sup.1017 t
time dependence and: ( .differential. .differential. x - i .times.
k 2 - .lamda. 2 ) .times. f ~ .function. ( x , .lamda. ) = 0 ,
.times. f ~ .function. ( x , .lamda. ) = g .function. ( .lamda. )
.times. e I .times. .times. x .times. k 2 - .lamda. 2 8 ##EQU132##
representing a wave which "moves" to the left. Suppose that we know
that the field is due to sources entirely on the LHS of the x-y
plane. Then, for x>0 we must have: f ~ .function. ( x , .lamda.
) = g .function. ( .lamda. ) .times. e - ix .times. k 2 - .lamda. 2
9 ##EQU133## Note that knowledge of f on the line x=0 (boundary
condition) completes the solution since: {tilde over
(f)}(0,.lamda.)=g(.lamda.) 10 and so, on inverse Fourier
Transforming: f .function. ( x , y ) = 1 2 .times. .pi. .times.
.intg. - .infin. .infin. .times. f ~ .function. ( 0 , .lamda. )
.times. e - I .times. .times. x .times. k 2 - .lamda. 2 .times. e
I.lamda. .times. .times. y .times. d .lamda. , .times. x > 0 11
##EQU134## In fact, for any x.sub.0>0: f .function. ( x , y ) =
1 2 .times. .pi. .times. .intg. - .infin. .infin. .times. f ~
.function. ( x 0 , .lamda. ) .times. e - I .function. ( x - x 0 )
.times. .times. k 2 - .lamda. 2 .times. e I.lamda. .times. .times.
y .times. d .lamda. , .times. x > x 0 > 0 12 ##EQU135## The
idea behind the parabolic equation method is to try to factor a
general inhomogeneous (i.e. k=k(x,y)) problem into forward and
backward moving (in x) factors and then solve only the forward (+x)
moving part (assuming that the field source is to the left (on the
x-axis) of the scatterer). Let .times. .times. x n = n.DELTA. ,
.times. n = 0 , .times. .times. then .times. .times. 12 .times.
.times. is .times. : f n + 1 .function. ( y ) = 1 2 .times. .pi.
.times. .intg. - .infin. .infin. .times. f ~ n .function. ( .lamda.
) .times. e - I.DELTA. .times. k 2 - .lamda. 2 .times. e I.lamda.
.times. .times. y .times. d .lamda. 13 ##EQU136## Since 13 is local
to x=(n+1/2).DELTA. we consider the discretization/approximation: f
n + 1 .function. ( y ) = 1 2 .times. .pi. .times. .intg. - .infin.
.infin. .times. f ~ n .function. ( .lamda. ) .times. e - I.DELTA.
.times. k 2 .function. ( x n + 1 / 2 , y ) - .lamda. 2 .times. e
I.lamda. .times. .times. y .times. d .lamda. 14 ##EQU137## Detailed
Description of Advanced Parabolic Marching Method Now we desire to
take the y-dependence out from under the square root in order that
it may then be factored out from under the integral, which will
result in the integral being an inverse Fourier Transform, yielding
a substantial increase in efficiency. This goal can be achieved
approximately in the following manner: e - i .times. .times.
.DELTA. .times. .times. k n , m .times. I - ( .lamda. / k n , m ) 2
.apprxeq. e - i .times. .times. .DELTA. .times. .times. ( k n , m -
k n ) .times. e - i .times. .times. .DELTA. .times. .times. k n
.times. 1 - ( .lamda. / k n ) 2 ##EQU138## where
k.sub.n,m.apprxeq.k(x.sub.n+1/2,y.sub.m)y.sub.m=m.DELTA.. and
k.sub.n is the wave number averaged over y. Equation 14 is then: f
n + 1 .function. ( y m ) .apprxeq. 1 2 .times. .pi. .times. .intg.
- .infin. .infin. .times. f ~ n .function. ( .lamda. ) .times. e -
I.DELTA. .function. ( k n , m - k n ) .times. e - I.DELTA. .times.
.times. k n .times. 1 - ( .lamda. / k n ) 2 .times. e I.lamda.
.times. .times. y m .times. d .lamda. .times. .times. or f n + 1
.function. ( y m ) .apprxeq. e - I.DELTA. .function. ( k n , m - k
n ) 2 .times. .pi. .times. .intg. - .infin. .infin. .times. f ~ n
.function. ( .lamda. ) .times. e - I.DELTA. .times. .times. k n
.times. 1 - ( .lamda. / k n ) 2 .times. e I.lamda. .times. .times.
y m .times. d .lamda. 15 ##EQU139##
[0516] We have thus approximately maintained the y variation in k,
while simultaneously giving a Fourier Transform formulation for the
field f.sub.n+1, and maintaining the exact Fourier propagator which
is exact for all angle of scattering in homogeneous medium k.sub.n.
Using the notation: f .function. ( y ) = F - 1 .times. { f ~
.function. ( .lamda. ) } .times. ( y ) .ident. 1 2 .times. .pi.
.times. .intg. - .infin. .infin. .times. f ~ .function. ( .lamda. )
.times. e - I.lamda. .times. .times. y .times. d .lamda. ##EQU140##
to indicate the Inverse Fourier Transform, gives:
f.sub.n+1(y)=F.sup.-1{{tilde over
(f)}.sub.n(.lamda.)P.sub.n(.lamda.)}(y) where P.sub.n is the range
(x) dependent propagator def.about.ned as:
P.sub.n(.lamda.).apprxeq.e.sup.-i.DELTA.
k.sup.2.sup.(x.sup.n+1/2.sup.)-.lamda..sup.2 This is our basic
equation for the parabolic split step method. The "standard" form
of the parabolic equation with approximate propagator is derived by
using the binomial approximation: 1 - ( .lamda. / k n ) 2 .apprxeq.
1 - 1 2 .times. ( .lamda. k n ) 2 ##EQU141##
[0517] In the above integral this approximation is valid only for
angular deviations of approximately 20.degree. from the incident
propagation direction. This yields the "standard" form of the
split-step parabolic equation method: f n + 1 .function. ( y m ) =
e - I.DELTA. .times. .times. k n , m 2 .times. .pi. .times. .intg.
- .infin. .infin. .times. f ~ n .function. ( .lamda. ) .times. e
I.DELTA. .times. .lamda. 2 2 .times. k 0 .times. e I.lamda. .times.
.times. y .times. d .lamda. 16 ##EQU142## Our numerical experiments
have proven the superiority of 15 over 16 due to the occurance of
the exact propagator in our approach, 15. In Fourier notation, 16
is: f n + 1 .function. ( y m ) = e - I.DELTA. .times. .times. k n ,
m .times. F - 1 .times. { e I.DELTA. .times. .lamda. 2 2 .times. k
0 .times. F .times. { f n } .times. ( .lamda. ) } .times. ( y m )
17 ##EQU143## This is the usual form of the split-step PE method.
Our more general equation is (in Fourier notation): f n + 1
.function. ( y m ) = e - i .times. .times. .DELTA. .function. ( k n
, m - k n ) .times. F - 1 .times. { e - i .times. .times. .DELTA.
.times. .times. k n .times. I - ( .lamda. / k n ) 2 .times. F
.times. { f n } .times. ( .lamda. ) } .times. ( y m ) ##EQU144## An
interesting interpretation of our split step method is evident from
this: The algorithm step consists of an exact propagation a
distance of .DELTA. in k.sub.n (which includes diffraction)
followed by a phase shift correction, i.e, multiplication by
e.sup.-i.DELTA.(k.sup.n,m.sup.-k.sup.n.sup.)t, 18 which corrects
the phase of a plane wave travelling forward.
[0518] Relation to the Generalized Born approximation The above
split step Fourier method can be seen to be a generalization of the
"Generalized Born" method as developed at TechniScan scientific
research division in the following manner. Suppose that we assume
that the f.about.eld variation in y is very slow, i.e.,
F{f.sub.n}(.lamda.).apprxeq.0 for .lamda..noteq.0 so that we may
replace e - i .times. .times. .DELTA. .times. .times. k n .times. I
- ( .lamda. / k n ) 2 .apprxeq. e - i .times. .times. .DELTA.
.times. .times. k n ##EQU145## in the above integral, 15, which
gives 1 2 .times. .pi. .times. .intg. - .infin. .infin. .times. f ~
n .function. ( .lamda. ) .times. e - I.DELTA. .times. k o 2 -
.lamda. 2 .times. e I.lamda. .times. .times. y .times. .times. d
.lamda. .apprxeq. f n .function. ( y ) .times. e - I .times.
.times. k n .times. .DELTA. 19 ##EQU146## Then 15 becomes: f n + 1
.function. ( y m ) = e - I.DELTA. .times. .times. k n , m .times. f
n .function. ( y m ) , .times. f n + 1 .function. ( y m ) = e
I.DELTA. .times. n = 0 n .times. .times. k n , m .times. ( assuming
.times. .times. f 0 .function. ( y ) = 1 ) 20 ##EQU147## which, in
integral form, is: f .function. ( x , y ) = e - I .times. .intg. 0
R .times. k .function. ( x ' , y ) .times. .times. d x ' 21
##EQU148##
[0519] This is our generalized Born approximation to the field.
Thus, our PE formula 15 reduces to the GB formula if straight line
propagation and no diffraction are assumed. In order to reintroduce
diffraction in the GB approach, we must now "rescatter" the
internal field approximation, 21, via: f s .function. ( .rho. ) = k
0 2 .times. .intg. .intg. .gamma. .function. ( .rho. ' ) .times. f
GB .function. ( .rho. ' ) .times. H 0 ( 2 ) .function. ( k 0
.times. .rho. - .rho. ' ) 4 .times. i .times. d s ' .times. .times.
.gamma. .function. ( x , y ) .ident. k 2 .function. ( x , y ) k 0 2
- 1 22 ##EQU149## where f.sup.GB is computed from 21.
[0520] This "rescattering" will also improve the calculation of
backscatter in our PE method. The PE formulation has no explicit
backscatter in it. Equation 22 is one way to put it back in, in a
manner that gives a good approximation for weak scattering.
[0521] It is important to note that the above formulation of the
parabolic equation inversion method does not require the storage of
any fields (ru.about.like the integral equation method of the
previous patent). Of course, our PE method (as in the method
described in our previous proposal) does not require the explicit
storage of a large Jacobian, or its adjoint.
Inverse Problem and Implementation of the Jacobian.
[0522] A computational formula for the Jacobian is desired for the
construction of the inversion algorithm .differential.
.differential. k i , j .times. f n + 1 .function. ( y m ) = e -
I.DELTA. .function. ( k n , m - k o ) .function. ( -
I.DELTA..delta. [ n , m ] [ i , j ] ) .times. F - 1 .times. { e -
I.DELTA. .times. .times. k o .times. 1 - ( .lamda. / k o ) 2
.times. F .times. { f n } .times. ( .lamda. ) } .times. ( y m ) + e
- I.DELTA. .function. ( k n , m - k o ) .times. F - 1 .times. { e -
I.DELTA. .times. .times. k o .times. 1 - ( .lamda. / k o ) 2
.times. F .times. { .differential. .differential. k i , j .times. f
n } .times. ( .lamda. ) } .times. ( y m ) ##EQU150##
[0523] More exactly, we use the conjugate gradient algorithms in
our inversion, and consequently desire only the action of the
Jacobian defined above on a wavenumber perturbation
.delta.k.sub.ij, i.e. the total variation of f due to perturbation
.delta.k: .delta. .times. .times. f n + 1 .function. ( y m )
.ident. i , j .times. .times. .differential. f n + 1 .differential.
k i , j .times. ( y m ) .times. .delta. .times. .times. k i , j
##EQU151## The recursion formula for the action of the Jacobian on
the perturbation in k is given by .delta. .times. .times. f n + 1
.function. ( y m ) = e - i .times. .times. .DELTA. .function. ( k n
, m - k o ) .function. ( - i .times. .times. .DELTA. .times.
.times. .delta. .times. .times. k n , m ) .times. F - 1 .times. { e
- i .times. .times. .DELTA. .times. .times. k o .times. I - (
.lamda. / k o ) 2 .times. F .times. { f n } .times. ( .lamda. ) }
.times. ( y m ) + e - i .times. .times. .DELTA. .function. ( k n ,
m - k o ) .times. F - 1 .times. { e - i .times. .times. .DELTA.
.times. .times. k o .times. I - ( .lamda. / k o ) 2 .times. F
.times. { .delta. .times. .times. f n } .times. ( .lamda. ) }
.times. ( y m ) ##EQU152## It is advisable to rewrite the recursion
expression for the field values f.sub.n+1(Ym) as: f n + 1
.function. ( y m ) = t n , m .times. .intg. - .infin. .infin.
.times. f ~ n .function. ( .lamda. ) .times. e - I.DELTA. .times. k
o 2 - .lamda. 2 .times. e I.lamda. .times. .times. y m .times.
.times. d .lamda. ##EQU153## Where ##EQU153.2## t n , m .ident. 4 2
+ .gamma. n , m + 1 + 1 / .gamma. n , m + 1 .times. e - I.DELTA.
.function. ( k n , m - k o ) ##EQU153.3## is the transmission
coefficient of pixel n,m. The equation for the Jacobian with repect
to the new unknown variable t is: .differential. .differential. t i
, j .times. f n + 1 .function. ( y m ) = .delta. [ n , m ] [ i , j
] .times. F - 1 .times. { e - I.DELTA. .times. k o 2 - .lamda. 2
.times. F .times. { f n } .times. ( .lamda. ) } .times. ( y m ) + t
n , m .times. F - 1 .times. { e - I.DELTA. .times. k o 2 - .lamda.
2 .times. F .times. { .differential. f n .differential. t i , j }
.times. ( .lamda. ) } .times. ( y m ) ##EQU154## and the total
field variation in terms of a perturbation in t, .delta. t, is:
.delta. .times. .times. f n + 1 .function. ( y m ) .ident. i , j
.times. .times. .differential. f n + 1 .differential. t i , j
.times. ( y m ) .times. .delta. .times. .times. t i , j ##EQU155##
The recursion formula for .delta. f is therefor: .delta. .times.
.times. f n + 1 .function. ( y m ) = .delta. .times. .times. t n ,
m .times. F - 1 .times. { e - I.DELTA. .times. k o 2 - .lamda. 2
.times. F .times. { f n } .times. ( .lamda. ) } .times. ( y m ) + t
n , m .times. F - 1 .times. { e - I.DELTA. .times. k o 2 - .lamda.
2 .times. F .times. { .delta. .times. .times. f n } .times. (
.lamda. ) } .times. ( y m ) ##EQU156##
[0524] The Formula for the Adjoint (Conjugate Transpose) of the
Jacobian:
[0525] The recursion for the total variation in the data .delta.
f.sub.N (on a detector line at x=N.DELTA.) can be written as:
.delta.f.sub.n=.delta.t.sub.N{circle around
(.times.)}v.sub.N+W.sub.N.delta.f.sub.N-1 where the matrix W.sub.j
is defined as: W.sub.j.apprxeq.t.sub.j{circle around
(.times.)}A.sub.j=[t.sub.j]A.sub.j where {circle around (.times.)}
denotes the Hadamard product, [t.sub.j] represents the diagonal
matrix: [ t j ] .ident. [ t j , 1 0 0 0 0 t j , 2 0 0 0 0 0 0 0 0 t
j , M ] ##EQU157## whose diagonal terms consist of the elements of
the vector t.sub.j and A.sub.j is the matrix defined as (where
juxtaposition always indicates matrix multiplication):
A.sub.j.apprxeq.F.sup.-1P.sub.jF Also the vector V.sub.j is defined
as v.sub.j.apprxeq.A.sub.jf.sub.j-1 i.e.
v.sub.j=F.sup.-1P.sub.jFf.sub.j-1 With these notational
conventions, the recursion for the total variation becomes:
.delta.f.sub.N=[v.sub.N].delta.t.sub.N+W.sub.N[v.sub.N-1].delta.t.sub.N-1-
[v.sub.N-2].delta.t.sub.N-2+. . . +(W.sub.NW.sub.N-1. . .
W.sub.1)[v.sub.0].delta.t.sub.0 The total variation can be written
as a matrix product to facilitate the formation of the adjoins
(conjugate transpose): [ .delta. .times. .times. f N ] = ( [ v N ]
.times. W N .function. [ v N - 1 ] .times. .times. .times. ( W N
.times. W N - 1 .times. .times. .times. W 1 ) .function. [ v o ] )
.function. [ [ .delta. .times. .times. t N ] [ .delta. .times.
.times. t N - 1 ] [ .delta. .times. .times. t N - 2 ] [ .delta.
.times. .times. t 0 ] ] ##EQU158## Defining the matux M as:
M.ident.([v.sub.N]W.sub.N[v.sub.N-1]. . . (W.sub.NW.sub.N-1. . .
W.sub.1)[v.sub.0]) one can form the conjugate transpose, which is
(using the symmetry of the diagonal matrices [v.sub.k])): M H = [ [
v N ] _ [ v N - 1 ] _ .times. W N H [ v N - 2 ] _ .times. W N - 1 H
.times. W N H [ v o ] _ .times. ( W 1 H .times. .times. .times. W N
- 1 H .times. W N H ) ] ##EQU159## The equation for the action of
the conjucate transpose of the Jacobianacting on .delta. f.sub.N is
then: [ [ .delta. .times. .times. t N ] [ .delta. .times. .times. t
N - 1 ] [ .delta. .times. .times. t N - 2 ] [ .delta. .times.
.times. t 0 ] ] = [ [ v N ] _ [ v N - 1 ] _ .times. W N H [ v N - 2
] _ .times. W N - 1 H .times. W N H [ v o ] _ .times. ( W 1 H
.times. .times. .times. W N - 1 H .times. W N H ) ] .function. [
.delta. .times. .times. f N ] ##EQU160## For computational purposes
it is advantageous to write this equation in conjugate form: [ [
.delta. .times. .times. t N ] _ [ .delta. .times. .times. t N - 1 ]
[ .delta. .times. .times. t N - 2 ] [ .delta. .times. .times. t 0 ]
] = M H _ .times. [ .delta. .times. .times. f N ] _ = M T .times. [
.delta. .times. .times. f N ] _ ##EQU161## This reduces the number
of conjugation operations needed for computer implementation. Thus
the matrix required is actually M.sup.T: M T = [ [ v N ] [ v N - 1
] .times. W N T [ v N - 2 ] .times. W N - 1 T .times. W N T [ v o ]
.times. ( W 1 T .times. .times. .times. W N - 1 T .times. W N T ) ]
##EQU162## The expression for W.sup.T is (as usual F will denote
Fourier Transform.):
(W.sub.j).sup.T=A.sub.j.sup.T[t.sub.j]=FP.sup.jF.sup.-1[t.sub.j]
where use has been made of the fact that since the propagator P is
a diagonal operator: P.sub.j=P.sub.j.sup.T
[0526] The v.sub.j=F.sup.-1P.sub.jFf.sub.j-1 computed and stored as
the forward fields are computed within the "subroutine jach" which
computes the action of the transpose of the jacobian on the complex
conjugate of the residual vector, followed by condgugation of the
result.
[0527] The updates for one view, then, are constructed in sequence
using the formulae: {overscore
([.delta.t.sub.N])}=[v.sub.N][.delta.f.sub.N] {overscore
([.delta.t.sub.N-1])}=[v.sub.N-1]W.sub.N.sup.T{overscore
([.delta.f.sub.N])}=[v.sub.N-1]FP.sub.NF.sup.-1[t.sub.j]{overscore
([.delta.f.sub.N])} etc. See FIGS. 35 and forward, for the
flowohart, and the microfiche documentation for the source code.
Preconditioned Inversion General Discussion of Conditioning
[0528] Suppose that the goal is to find
min.sub.t.parallel.At-r.parallel..sub.2, where A is m by n matrix
(m<n), t is an n-dimensional vector, and r is m-dimensional
"residual" vector. By making a change of variables BS=t, to s,
where B is n by m., the system to be solved is now ABs=r
[0529] is a square system. Therefore the BiConjugate gradient
method or BiCGsquared algorithm can be applied to this system. BiCG
squared has much better convergence behaviour than standard
conjugate gradient methods for non-square systems [see references
in previous patent]. Consequently the convergence to a solution s
will generally be much quicker, whereupon {circumflex over
(t)}.ident.Bs computes the answer to the original problem. Due to
the position of the conditioning matrix B, this procedure is
hereafter referred to as `post conditioning`
[0530] Two special cases:
[0531] 1. B=A.sup.T in which case
[0532] s is the minimum norm solution to an underdetemined problem
A .function. ( .gamma. ) = .sym. .omega..PHI. .times. G .omega. sc
.function. ( I - G .omega. .times. .gamma. ) - 1 .times. f
.omega..PHI. inc . ##EQU163## where .sym. .omega..PHI. ##EQU164##
indicates the direct sum in the sense of vector spaces over all
frequencies, .omega., and views, .phi., ie concatenation. In fact,
for operators A.sub.j, j=1, . . . , N, we have explicitly: .sym. j
.times. A j .ident. [ A 1 0 0 0 0 A 2 0 0 0 0 0 0 0 0 A N ]
##EQU165## Of course, this is a nonlinear operator, and the
corresponding Jacobian .differential. AB .differential. g .ident.
.differential. A .function. ( .gamma. ) .differential. .gamma.
.times. .differential. B .differential. g = ( by linearity ) =
.differential. A .function. ( .gamma. ) .differential. .gamma.
.times. B ( 1 ) ##EQU166## evaluated at some iterated guess is the
object that is used in the BiCG minimization routine. B in this
case is the Born or Rytov reconstruction. The general procedure for
the solution of the Jacobian equation: .differential. A .function.
( .gamma. ) .differential. .gamma. .times. B .times. .times.
.delta.g sc = - r ( n ) ##EQU167## then involves the application of
said Jacobian (1), and its conjugate transpose: B H .times.
.differential. A .function. ( .gamma. ) H .differential. .gamma.
.times. r ( n ) ##EQU168## g.sup.sc is the scattered field to which
the Born reconstruction procedure is applied to yield .gamma.,
.gamma.=Bg.sup.sc where the standard Born approximation is
utilized:
g.sup.sc(x)=.intg..sub..OMEGA.G(x,x').gamma.(x')f.sup.inc(x')dx'
which upon discretization reads: g.sup.sc=G[f.sup.inc].gamma. where
the standard notation for the matrix whose diagonal elements are
the components of the vector f.sup.inc has been used: [ f inc ]
.ident. [ f 1 inc f 2 inc f N inc ] ##EQU169## It is important to
realize that the explicit matrix inversian of B is never carried
out: rather, the standard Born reconstruction based upon the
Fourier Diffraction Theorem is used, for computational
efficiency.
[0533] Subroutine "scatter" is called from main program in FIG. 9A,
in order to effect the forward calculation of the fields for each
view. Control is transferred to box 2000, where inv is set=1 (inv
is the index of views). Next, in box 2002, is the calculation of
rotation angle .theta.=(inv-1).delta..theta., and the setting up of
rotation matrix M(.theta.), which is then applied to transmission
coefficient matrix T to yield
T.sub.v(x).ident.M(.theta.)T(x)x.epsilon.R.sup.3
[0534] Next control is moved to box 2004, where the field for the
first "slice" (ie. j=1) is set to predetermined values: s(ik), and
the y index, "j" is set= 1.
f.sub.0(x,z).ident.f(x,j.delta.y,z)|.sub.j=0.rarw.s(z) Control is
then transferred to box 2006, where the Fourier Transform is
applied to field slice j-1 .F(f.sub.j-1) Control is then
transferred to box 2008, where the pointwise product is taken
between the propagator P.sub.j, defined as P j = propagator = e - i
.times. .times. .DELTA. .times. k o 2 - .lamda. 2 , ##EQU170## and
the result from box 2006, to get P.sub.jF(f.sub.j-1). Now transfer
to box 2012 where we take the Inverse Fourier transform in
z-direction to get v.sub.j.ident.F.sup.-1(P.sub.jF(f.sub.j-1)).
Then move to box 2014, where j.sup.th field slice is given by
pointwise product of transmission coefficient T.sub.j and v.sub.j.
f.sub.j.ident.T.sub.j(x)v.sub.j. Then transfer control to decision
box 2016, whereupon: if j is strictly less than N.sub.y then
control moves to box 2018, where index j is increased by 1, and
control is directed along arrow 2020 to box 2006. If j is exactly
N.sub.y, control is transferred to decision box 2024. Then, if inv
<N.sub.view, control is transferred to box 2030 where inv is
incremented by 1 to inv+1, and control is then transferred along
arrow 2026 to box 2002. When inv=N.sub.view, control is returned to
the main program.
[0535] Referring to FIGS. 32A, B, and C, control is passed to
subroutine Jac from the parent program in box 2102 It will
calculate the action of the Jacobian of the forward problem on the
vector .delta.y. Control is transferred to box 2104 where
.delta..theta. is determined via the formula
.delta..theta..ident.2.pi./N.sub.views, the spatially dependent
transmission coefficient T.sub..upsilon.=t.sub..upsilon.+1
(T.sub..upsilon.=T.sub..upsilon.(x,y,z) and the input .delta.t, or
the corresponding .delta..gamma. (object function) are also
initialized, and inv is set=1, ie. the index corresponding to view
number Control is then transferred to box 2106 where one sets
.theta.=(inv-1).delta..theta., and thus to box 2108 which sets up
rotation matrix M(.theta.), and applies rotation matrix to
transmission coefficient matrix T: T,.sub.v(x).ident.M(.theta.)T(x)
x.epsilon.R.sup.3. Control is then transferred to box 2110 which
initializesfiled at left side of pixelated cube using the formula
f.sub.0(x,z).ident.f(x,j.delta.y,z)|.sub.j=0.rarw.s(z)
[0536] Now begin the march across the pixelated image space by
transferring control to box 2112 where j (y index) is set=1. Then
control moves to box 2114 where we apply Fourier Transform to field
slice j-1: F(f.sub.j-1) Then control is transferred to box 2116 of
FIG. 32B where we multiply pointwise by propagator P.sub.j. P j =
propagator = e - i .times. .times. .DELTA. .times. k o 2 - .lamda.
2 .times. to .times. .times. get .times. .times. P j .times. F
.function. ( f j - 1 ) . ##EQU171##
[0537] We now move to box 2118 where the Inverse Foufier transform
in z-direction is applied to get
v.sub.j.ident.F.sup.-1(P.sub.jF(f.sub.j-1)).ident.Af.sub.j-1 (this
slice v.sub.j will be used later, and so is not overwritten).
Control is then transferred to box 2120, where
A.sub.j(.delta.f.sub.j-1).ident.F.sup.-1(P.sub.jF(.delta.f.sub.j-1))
is computed in exactly the same manner, i.e. the Fourier transform
is applied to .delta.f.sub.j-1, then the propagator is pointwise
multiplied, and finally the inverse Fourier Transform is taken.
[0538] Control is then transferred to box 2122, where the pointwise
product between the v.sub.j (calculated above) and .delta.t.sub.j,
[.delta.t.sub.j]v.sub.j is formed. Also the pointwise product
involving t.sub.j.: [t.sub.j]A.sub.j(.delta.f.sub.j-1) is formed.
The definition of the pointwise product is given explicitly by
[.delta.t.sub.j]v.sub.j.ident..SIGMA..sub.i,k.sup.j
fixed.delta.t.sub.ijkv.sub.ijk.
[0539] Finally form the sum of the resulting "vectors",
.delta.f.sub.j.rarw.[.delta.t.sub.j]v.sub.j+[t.sub.j]A.sub.j(.delta.f.sub-
.j-1)
[0540] If control has been transferred to decision box 2130 of FIG.
32C, and if the index for "view", inv=N.sub.view then control moves
to box 2134, where the Fourier Transform is applied to the error on
the detectors .delta.f.sub.N: fc.rarw.F(r.ident..delta.f.sub.N),
The resulting fc is pointwise multiplied by a scaling which in some
cases, leads to more rapid convergence. This scaling is not
critical to the implementation of the algorithm. The vector fc
(scaled or not) is the output for the subroutine.
[0541] Referring to FIGS. 33 A, B, and C, subroutine JacH(r) is
called from parent program--it will calculate action of Hermitian
conjugate of Jacobian on the residual vector r. Control is
transferred from box 2202 to box 2204 where 60 is determined:
.delta..theta..ident.2.pi./N.sub.views also .delta.t is
initialized=0 and in vis set=1. Control is transferred then, to box
2206 where .theta. is defined according to:
.theta.=(inv-1).delta..theta.. Control is transferred to box 2208,
where the rotation matrix M(.theta.) is defined, and applied to
transmission coefficient matrix T to yield
T.sub..upsilon.T.sub.v(x).ident.M(.theta.)T(x) x.epsilon.R.sup.3.
Then control is transferred to box 2210, where the field at the
left side of the pixelated cube is initialized:
f.sub.0(x,z).ident.f(x,j.delta.y,z)|.sub.j=0.rarw.s(z)
[0542] Next control is transferred to box 2212, where j is set=1,
and the march across the pixelated image space is begun. Next
control is transferred to box 2214 the Fourier transform is applied
to the field slice f.sub.j-1:F(f.sub.j-1) and control is
transferred to box 2216, where pointwise multiplication by the
propagator P.sub.j is carried out, where P j = propagator .times. =
: e - i .times. .times. .DELTA. .times. k o 2 - .lamda. 2 .
##EQU172## The result, P.sub.jF(f.sub.j-1) is then transferred to
box 2218 where the inverse Fourier transform in the z (vertical)
direction is applied, yielding
v.sub.j.ident.F.sup.-1(P.sub.jF(f.sub.j-1)). This v.sub.j will be
used below, and so is saved.
[0543] From this, control moves to box 2220, where the field slice
at y=j.delta. (recall that field values are recomputed to obviate
the time consuming storage/retrieval of these on disk) is given by
pointwise product of transmission coefficient T.sub.j and v.sub.j.
f.sub.j.ident.T.sub.j(x)v.sub.j. Control now goes to decision box
224, whereupon if j is strictly less than N.sub.y, control is
switched to box 2222, where index j is increased by 1, and control
reverts to box 2214, where the Fourier transform of the next field
slice is taken. When j is equal to N.sub.y, control is transferred
to box 2226 of FIG. 33B. This is the beginning of the backward
moving loop (ie. j decreases from N.sub.y to 1). Here we form the
Fourier transform of the conjugate of the error vector at the
detectors, and store result fc:
fc.rarw.F(r.ident..delta.f.sub.N).
[0544] Now use V.sub.j (calculated in loop above) and fields
fc.sub.j to calculate action of Jacobian on r, the error in field
at the detector (far side of image space) in the following
manner:
[0545] Control then moves to box 2226 where fc is redefined as
fc(t.sub..upsilon.+1) and the pointwise product between the
resulting fc, and v.sub.j is taken, and stored in
v.sub.j.rarw.[v.sub.j]fc . Control is then transferred to box 2228
where we pointwise multiply fc by rotated transmission coefficient
T.sub.v, Fourier Transform the result, pointwise multiply by
propagator P.sub.j, then inverse Fourier Transform (in z direction)
the result; finally store the resulting slice in fc (overwriting
previous contents) fc.rarw.F.sup.-1P.sub.iFT.sub.v(x)fc. Next,
control is transferred to box 2230, in order to test whether j=0.
If not, then control is transferred to box 2238, where the y index,
"j", is decreased by one (put j.rarw.j-1), and control is
transferred along arrow 2236, back to box 2226. If, however,j
does=0, then the loop is done, and control moves to box 2232, where
the hermitian conjugate of rotation matrix is applied to matrix of
transmission coefficients tu computed in the above loop, where: tv
.ident. [ ( v 1 ) ( v 2 ) ( v N ) ] ##EQU173## in order to rotate
(estimate of) object back to original orientation [ ( t 1 ) ( t 2 )
( t N ) ] .ident. Rot H .function. ( tv ) ##EQU174##
[0546] Then, control moves to box 2234, where we add contribution
for this view to total transmission coefficient adjustment dt dt
.rarw. dt + [ ( t 1 ) ( t 2 ) ( t N ) ] ##EQU175##
[0547] Now control is transferred over to decision box 2240, where
it is determined if index inv=N.sub.views. If it is, then control
is transferred over to box 2242, where index inv is increased by 1:
in.upsilon..rarw.in.upsilon.+1, and control is transferred up arrow
2242 to box 2246 to do the next view. If it is determined that
index inv does in fact=N.sub.views, the control is passed along
arrow 2244, to return to the calling program, with
output.fwdarw.(.delta.t)
[0548] Embodiments within the scope of the present invention also
include computer-readable media having computer-executable
instructions or data structures stored thereon. Such
computer-executable media can comprise RAM, ROM, EEPROM, CD-ROM or
other optical disk storage, magnetic disk storage or other magnetic
storage devices, or any other medium which can be used to store
desired computer-executable instructions or data structures and
which can be accessed by a general purpose or special purpose
computer. When information is transferred or provided over a
network or another communications connection to a computer, the
computer properly views the connection as a computer-readable
medium. Thus, such connection is also properly termed a
computer-readable medium. Combinations of the above should also be
included within the scope of computer readable media.
Computer-executable instructions comprise, for example,
instructions and data which cause a general purpose computer,
special purpose computer, or special purpose processing device to
perform a certain function or group of functions.
[0549] The following discussion is intended to provide a brief,
general description of a suitable computing environment in which
the invention may be implemented. Although not required, the
invention can be implemented in the general context of
computer-executable instructions, such as program modules, being
executed by computers in network environments. Generally, program
modules include routines, programs, objects, components, data
structures, etc. that perform particular tasks or implement
particular abstract data types. Computer-executable instructions,
associated data structures, and program modules represent examples
of the program code means for executing steps of the methods
disclosed herein.
[0550] Those skilled in the art will appreciate that the invention
may be practiced in network computing environments with many types
of computer system configurations, including personal computers,
hand-held devices, multi-processor systems, microprocessor-based or
programmable consumer electronics, network PCs, minicomputers,
mainframe computers, and the like. The invention may also be
practiced in distributed computing environments where tasks are
performed by local and remote processing devices that are linked
through a communications network. In the distributed computing
environment, program modules may be located in both local and
remote memory storage devices.
Water Bath Scanner Compatible with Reflection Tomography and Large
Pixel Inverse Scattering
[0551] General features of the proposed water bath scanner are
shown in FIG. 34. It is seen that the general architecture is a
pair of 2-D arrays (actually 1.75-D arrays) that are rotated about
a vertical axis below the water surface. Each array can act as a
transmitter or a receiver in both pulse echo mode (B-scan and
reflection tomography) and in transmission mode (inverse scattering
tomography). This arrangement allows a complete 360 degree
tomographic scan to be obtained in only 180 degrees of rotation.
Each array can be tilted up to image features close to the chest
wall. The respective tilt axes are mutually parallel. The arrays as
a group can be raised and lowered to image different slices of the
breast. An optional latex rubber shield (or a woven nylon
stocking-like shield) holds the breast stationary to minimize
motion artifacts during scanning. The shield is held at the top of
the water tank by a ring and at the bottom by a tube that passes
through a hole in the rotation shaft.
[0552] A slight vacuum can be applied to the tube to make a tighter
fit as needed for the latex version. This shield is disposable and
contributes to the esthetics and sanitation of the scanner. A
tilting cot provides a comfortable means in patient positioning,
shown in FIG. 35. The patient stands on the foot rest when the cot
is vertical. Then the cot tilts to the horizontal position for the
scanning process. The breast is then pendant in the water bath
tank. One breast at a time is scanned. The tilt process is reversed
for patient exit.
[0553] Some of the important specifications for the scanner are
given in TABLE 1 below. Said table illustrates the performance of
both reflection tomography and inverse scattering transmission
tomography. The in-plane and normal to plane spatial resolution of
reflection tomography will approach 0.2 mm and 2 to 3 mm
respectively (the vertical resolution may be increased to 1 to 1.5
mm with special apodizing functions).
[0554] The number of views for reflection tomography will be
determined experimentally, but best estimated as equal to be the
number of depth resolution lengths per circumference of a circle of
diameter equal to the lateral resolution of a single view. Thus,
N=.lamda..pi.[2R/A]/[c/(2Pf)]=4.pi. .lamda.RPf/[cA]=4.pi. RP/A
where .lamda. is wavelength, R is range to target from array, A is
the active lateral aperture of the array, c is the speed of sound,
P is the fractional bandwidth, and f is the center frequency of the
signal. The total data collection time for one slice is 12 seconds
for the system specified in TABLE 1.
[0555] The in-plane spatial resolution of inverse scattering can be
varied by choice of the pixel size (this ability is not possible
with reflection tomography and is one of the new developments we
report). In TABLE 1 we use 2 wavelength pixels (0.6 mm at 5 MHz) as
an example.
[0556] The number of views for inverse scattering tomography will
be taken to be the same as for diffraction tomography which is
N=.pi.D/.lamda. where D is the breast diameter. For inverse
scattering this generalizes to N=.pi.D/p=667 at 5 MHz for D=5
inches and for p=pixel size=2 wavelengths. Using many views at one
frequency is equivalent to using fewer views with more frequencies
per view. This creates a speed up factor in data collection since
many frequencies can be collected at each view in the same time
required to collect a single frequency after 2 wavelengths. The
frequency sample interval required to reduce the view-to-view angle
separation for a complete high quality image reconstruction is
given by .DELTA.f=2.pi.f/N==2.pi.f/[.pi.D/p]=2pf/D=0.047 MHz. The
frequency bandwidth for 16 frequencies is then 0.047
MHz.times.16=0.752 MHz and requires only 667/16=42 views. For this
example with p=2 wavelengths, the spatial resolution is 0.6 mm. If
p=1 wavelength were used, then the spatial resolution would be 0.3
mm. The total single slice, data collection time for 42 views and
16 frequencies is 4.3 seconds for the system specified in TABLE
1.
[0557] The block diagram of the scanner electronics is shown in
FIG. 36A. Starting on the left, the transducer array is 8 by 96
elements. Each row has a receiver multiplexer (MUX) that feeds one
of 8 analog to digital converters (ADC). Two ADCs are packaged on
one GaGe.TM., Montreal, QC, Canada, "CompuScope 12100.TM., card and
is clocked at 30 million samples per second (www.gageapplied.com).
Each of the 8 channels digitizes 6,000 samples simultaneously per
transmit event. Each transmit event is a transmission from a single
element or from a single column (or part of a column) of elements.
Also shown is a potential future expansion (using even and odd
columns to separate MUXs) where 4 more GaGe cards are added to each
computer or to 4 additional separate computers. If the PCI bus in
each computer runs at 100 Mbytes/sec then each channel on the GaGe
card runs at 25 sample/micro-sec (two Bytes/sample) into the PCI
bus. Then 6000 samples will be transferred in 6000/25=240
microseconds on a single channel. This closely matches the 30
samples/micro-sec digitization rate. The computational load can be
handled is several ways: (1) array processor boards; (2) Apple G4
computers with their velocity engine that, when programmed properly
and matched to compatible problems, operates up to 4 GFLOPS (4
billion floating operations per second); or (3) by parallel
computers. Our first choice would be to place one dual G4 PCI card
in one slot of each of the 4 computers. This would provide
4.times.2=8 G4 computers, which would provide a maximum of 32
GFLOPS. We could also put two G4 cards in each computer for a
maximum of 64 GFLOPS. TABLE-US-00002 TABLE 1 Scanner Specifications
Diameter of water bath tank 9 inches Depth of water bath tank 13
inches Water temperature stability .+-.0.1 degrees F. Ground fault
and safety protection yes Patient hand controlled interrupt Yes
Breast stabilizing disposable liner yes Antibacterial water in tank
Yes Disposable sanitary liners per patient yes Inter array
separation 5 .+-. 2 inches Percent bandwidth of arrays 70 percent
Center frequency of arrays 5 MHz Waterproof cable built in yes Size
of each array (elements) 8 by 96 Impedance of sub cable (Ohms) 50
Number of sub cables/array 768 Height of arrays 0.736 inches Length
of arrays 4.91 inches Vert. motion of arrays 6 inches Vert.
rotation of arrays 370 degrees Arrays identical yes Tilt of arrays
0 .+-. 30 degrees Center lateral resolution/view, r = 3'' 1.47 mm #
views for reflection tomography 19 to 36 Collection time per
reflection view .34 sec Total collect time for reflection slice 12
sec Spatial resolution for reflect tomog 0.2 mm planar Contrast
resolution: reflect tomog 15 to 1 2-3 mm vert. Number of reflection
vertical slices up to 153 Collect time for inverse scat view 0.102
sec # views for inverse scat tomogra'y 667 @ 1 freq Spatial
resolution: Inv. Scat. tomog 0.3-0.6 mm pln 42 @16 freq 2-3 mm vert
Total collect time/slice for inv. scat 68 sec @ 1 freq Frequency
separation to replace 47 kHz 4.3 sec@16 freq angle separation for
667 views Contrast resol'n: Inv. Scat. tomog 100 to 1 Number of inv
scat. vertical slices up to 153 Frequency band = 16 .times. 47 kHz
= 752 kHz
[0558] The question of over loading the PCI bus has been examined
and is not a problem since our algorithms are coarse grained and
each distributed process needs minimum communication with the other
processes. Thus, similar operations can run in parallel on all the
G4s nodes and possibly parts of each node (each G4 has 4 parallel
SIMD processors). SIMD (single instruction multiple data) computers
also work well with our coarse grained algorithms. The natural
process divisions are frequency, view angle and slice height.
[0559] The signals to the transmitter elements are generated by an
arbitrary wave form generator card (such as the GaGe.TM. CompuGen
1100) that is placed in the PCI bus of one of the computers 10 that
acts as the master computer. This master computer synchronizes the
actions of the other computers. This is not a time consuming task
since each computer's processing is largely independent of the
other nodes. The output of the waveform generator is amplified by a
linear amplifier and sent to the transmitter MUX. The MUX will be
designed to allow future expansion for using 2 to 8 linear
amplifiers to be placed after respectively 2 to 8 delay
lines(connected to the 15 common wave form generator) to form
transmit beams. The MUX circuits will be solid state analog
switches of either the diode network type or of the Supertex.TM.
(Sunnyvale, Calif. 94089) MOS (metal oxide semiconductor) type. We
have used the diode network type with success in one of our present
scanners. The diode network requires more printed circuit (PC)
board space, but has lower series resistance (about 5 Ohms) and low
shunt capacitance. The Supertex approach uses less PC board space
(the HV20822 has 16 switches in a 0.354 inch square package) but
has higher series resistance (about 25 Ohms) and shunt capacitance
(20 pf off, 50 pf on). The diode network is a safe bet. However, we
will look at placing the Supertex switches in the MUX circuit bays
close to the arrays to reduce cable capacitance. We will also
consider using preamplifiers or buffer amplifiers after the
Supertex switches to reduce the effect of their higher resistance
and capacitance. The Supertex is not a bad choice and is used in
many commercial ultrasound scanners with normal cable lengths from
probe to chassis where space-savings is important in the chassis.
The MUX circuits will use two stages, for both the transmitter and
receiver connections.
[0560] The tank and scan motion control will be constructed and
assembled as per well known methods and components known to the
art. The arrays can be built by transducer jobbers such as Blatek,
State College, Penn. The engineering and tooling for the arrays has
already been completed; and allows the present array we are using
(8 rows and 16 columns) to be replicated 6 times per new array to
make a 96 by 8 element array.
[0561] A more detailed understanding of the MUX shown in FIG. 36A
is given in FIG. 36B. The MUX circuit is divided into two natural
parts, the transmitter MUX and the receiver MUX. The transmitter
MUX is shown in the top part of FIG. 36B. The transmitter portion
consists of a programmable arbitrary waveform generator, a power
amplifier, a protection circuit (which blocks the signal if the
voltage exceeds a critical threshold), and a programmable gain
module that can provide independent gains to each of 8 separate
output lines. The 8 independent output lines drive 8 independent
rows of the 96-column transducer. Each row has six multiplexers,
labeled A through F, that multiplex to 16 respective elements on
that row, so that 6.times.16=96 elements per row. Each of the said
six multiplexers drives one row of an 8 row by 16-column subarray.
The 6.times.8=48 multiplexers labeled S1A through S8A for column A
through SiF through S8F for column F are 16 to 1 supertex MOS,
analog, high voltage switches.
[0562] The receiver multiplexer is shown in the bottom half of FIG.
36B and consists of two subsections. The first subsection consists
of six modules that multiplex 128 to 16. This is accomplished by 16
daughter cards that each multiplex 8 to z,900 1 using divide gates,
8.times.16=128 inputs; each subarray has 8 rows and 16 column=128
elements to match. The outputs of the six modules in the first
subsection then are routed to a matrix switch that selects which of
16 outputs of each module are connected to either 8 or 16 analog to
digital converters. The matrix switch has 2.times.6.times.16 nodes
that thus allows either 8 or 16 ADC to be used. The node switches
can be diode switches or selectable preamps. Outputs can be
parallel when deselected without loading the input to any ADC
channel.
[0563] The design and construction of multiplexer circuit boards is
a process well known in the art. We have experience in designing
such multiplexers for the compression plate inverse scattering
scanner and other scanners in our lab.
[0564] The circuit board fabrication can be sent to a jobber. The
circuit boards layout work can be done by Orcad or similar
software. The design and coding of the software for data
acquisition is a well known process in the art. For example, one
can use C++ or the Labview.TM. application software from National
Instruments.TM. (Austin, Tex. 78759-3504) for the main data
acquisition program to allow the use of a virtual instrument panel
(showing scanner array position, digitized waveforms, gain
settings, etc.). The inner loops of the Labview program will be
written in C or C++ for speed. Algorithm implementation and
programming may be done in Fortran or C or C++.
Reflection Tomography and Inverse Scattering Imaging Algorithms
[0565] The algorithms used for reflection tomography are described
further below. The exact algorithms for inverse scattering are
given by Borup et al in [D. T. Borup, S. A. Johnson, W. W. Kim, and
M. J. Berggren, "Nonperturbative diffraction tomography via
Gauss-Newton iteration applied to the scattering integral
equation," Ultrasonic Imaging 14, 69-85, (1992), and Wiskin, J W,
Borup, D T, and Johnson, S A, "Inverse Scattering from arbitrary
two-dimensional objects in stratified environments via a Green's
Operator", J. Acoust. Soc. Am. Pt.1, August 1997.]. We show here an
improved faster version of the parabolic method which is one of
three faster versions of inverse scattering that uses forward
propagating wave solutions. This method is an approximate method
that is much more accurate than the Born or Rytov methods, and even
approaches closely the accuracy of the exact solution. An outline
of the theory will be given here, but a full account of several
approaches using this method may be found in the literature and our
patent.
[0566] We start with the Helmholtz wave equation
[.differential..sup.2/.differential.x.sup.2+[k.sup.2(x,y)+.differential..-
sup.2/.differential.y.sup.2]]f(x,y)=0.
[0567] Next we take the Fourier transform with respect to y and
then assume an approximate factor of the resultant equation. Note
that the convolution theorem of Fourier transforms is used, where
{circle around (.times.)} denotes the convolution operator. Let
{tilde over (f)}(x,.lamda.) denote the Fourier transform of f(x,y)
with respect to y. The approximate factored equation (by forcing
commutation of all variables) is then: ( .differential.
.differential. x + i .times. k ~ 2 .function. ( x , .lamda. ) -
.lamda. 2 ) .times. ( .differential. .differential. x - i .times. k
~ 2 .function. ( x , .lamda. ) - .lamda. 2 ) .times. f ~ .function.
( x , .lamda. ) = 0. ##EQU176##
[0568] We next note that the two factors represent waves moving to
the left and to the right along the x axis. Taking only the wave
moving from left to right (the first factor), we have (
.differential. .differential. x + i .times. k ~ 2 .function. ( x ,
.lamda. ) - .lamda. 2 ) .times. f + ~ .function. ( x , .lamda. ) =
0 , ##EQU177## where the superscript+indicates that part of {tilde
over (f)}(x,A.lamda.moving in the +x direction (left to right). It
is a parabolic differential equation. For the special case,
k.sup.2(x,y)=k.sub.0.sup.2=const., the factorization is exact and
convolution becomes multiplication and we can solve the equation
for {tilde over (f)}.sup.+(x,.lamda.) and then take the inverse
Fourier transform to get the propagation formula: f + .function. (
x , y ) = 1 2 .times. .pi. .times. .intg. - .infin. .infin. .times.
f ~ + .function. ( x 0 , .lamda. ) .times. e - I .function. ( x - x
0 ) .times. k 0 2 - .lamda. 2 .times. e I.lamda. .times. .times. y
.times. .times. d .lamda. , x > x 0 > 0 , ##EQU178## which
approximation propagation in breast tissue where contrast in
k.sup.2 is small, i.e. k.sup.2216 k.sub.0.sup.2.
[0569] This formula is the basis for a multitude of marching
approaches for solving the direct scattering problem. The general
idea is to perform the integral on a line parallel to the y-axis
and to propagate the angular spectra forward by an increment of x.
Then the process is repeated for additional increments of x. The
method for dealing with k.sup.2(x,y).noteq.const. varies between
methods (including a binomial expansion of the square root). Our
approach follows this general pattern but adds additional
refinements to improve accuracy and speed. This completes the
outline of the parabolic method.
[0570] The parabolic method has allowed us to design the proposed
scanner to use inverse scattering at 5 MHz. Using several tricks
has accomplished this. One trick is to use larger pixels to reduce
the computational load. Other tricks involve further approximations
that increase speed but do not degrade performance. The basis of
inverse scattering imaging is to solve by optimization methods the
following least squares problem for the vector of independent
variable y or (x,y)*, whose components are the image parameters.
Let f.sup.(measured)(x.sub.det) be the measured field on detectors
and let f.sup.(calcutlaed)(x.sub.det,.gamma.,f.sup.(inc)) be the
computed received field as a function of an estimate of .gamma. and
the incident field f.sup.(inc)(x) in the body and on the detectors.
Then the scattering potential is found by finding the minimum value
of the norm of the measurement residual R, where, R is defined as
the square of the difference, in Hilbert space, between the
measured and computed fields on the detector. min .lamda. .times. {
f ( measured ) .function. ( x det ) - f ( calculated ) .function. (
x det , .gamma. , f ( inc ) ) 2 } = min .gamma. .times. { R 2 }
##EQU179##
[0571] We have shown how this optimization problem may be solved by
Gauss Newton, Fletcher Reeves, Ribiere Polak and other methods [D.
T. Borup, S. A. Johnson, W. W. Kim, and M. J. Berggren,
"Nonperturbative diffraction tomography via Gauss-Newton iteration
applied to the scattering integral equation," Ultrasonic Imaging
14, 69-85, (1992), J W Wiskin, D T Borup, S A Johnson, "Inverse
Scattering from arbitrary two dimensional objects in Stratified
Environments via a Green's Operator", APPARATUS AND METHOD FOR
IMAGING WITH WAVEFIELDS USING INVERSE SCATTERING TECHNIQUES, S. A.
JOHNSON ET AL.], herein included by reference. Formerly we used
integral equations or finite difference time domain (FDTD) methods
to solve the forward problem (given .gamma. and f.sup.(inc)(x),
compute f.sup.(calulated)(x.sub.det,.gamma.,f.sup.(inc))). The
Jacobian is defined as J .ident. .delta. .times. .times. f (
calculated ) .delta..gamma. ##EQU180## The solution, .gamma., is
found by the iteration
J.sup.(n).delta..gamma..sup.(n).sub.-R.sup.(n)
.gamma..sup.(n+1)=.gamma..sup.(n)+.delta..gamma..sup.(n)
[0572] The derivation and use of the Parabolic Jacobian is based on
a recursion process and is found in our patent [APPARATUS AND
METHOD FOR IMAGING WITH WAVEFIELDS USING INVERSE SCATTERING
TECHNIQUES, S. A. JOHNSON ET AL.] in a subsection called "Inverse
problem and construction of Jacobian" in section call "EXAMPLE 12,
PARABOLIC MARCHING METHODS".
[0573] We form a Jacobian for the parabolic method and incorporate
it as part of the above iterative formula. We next show how the new
parabolic method performs in terms of speed and accuracy by
simulating the geometry and parameters for scanners similar to the
proposed scanner specified in TABLE 1.
EXAMPLES OF EMBODIMENT OF INVENTION
Example 1
[0574] In this example we consider the design of a compression
plate ultrasound scanner combining both reflection imaging and
transmission inverse scattering imaging. This is not the geometry
for the water bath scanner, yet we show that both geometries can
produce images of sound speed and attenuation.
[0575] We specify two arrays facing each other, with their faces
mutually parallel. Each array can be a 1-D array or a 2-D array of
transducer elements. We have constructed a compression plate
scanner where each array is a 1-D array with 256 elements with
.lamda./2 element separation at 2 MHz. A drawing of this
compression plate configuration is shown in FIG. 37A and 37B.
Therein is shown the side view of a breast between two compression
plates and an end view of the top and bottom linear array
transducers and their translation motions. The two opposing
transducers allow transmission data to be collected that includes
scattering and diffraction into wide angles thus improving spatial
resolution. The motion of the top and bottom linear 1-D array or
2-D array is included to image successive slices of the breast. The
top and bottom compression plates are also shown.
[0576] The array geometry can be extended to provide improved
imaging by adding side reflecting plates or side transducer arrays
which also serve as side compression plates. This extension in
function is shown in FIGS. 37C and 37D. In particular, FIG. 37C
shows an isometric view of a compression plate scanner showing
options for placing transducer elements either inside or outside of
the top and bottom compression plates. We also note that the top
and bottom transducer arrays can be used for reflection imaging as
well. The side plates with transducers may also be used for
reflection imaging. FIG. 37D shows an isometric view of a
compression plate scanner showing options for placing side
compression plates with optional transducer elements either inside
or outside of the side compression plates. A front compression
plate and optional reflector or transducer array can also be added
as a front plate as is shown in FIG. 37E.
[0577] A simulation of the compression plate scanner is described
next. The bandwidth for the reflection imaging mode was set equal
to a Blackmann window from 0 to 2 MHz with a center frequency of 1
MHz. The reflection mode beam former used a 16-element segment of
the array to create a beam perpendicular to the array face which
was then translated across the array. The beam former was focused
at all ranges for both the transmitter and receiver elements and a
Hamming window was used to apodize both the transmitter and
receiver beams FIG. 38A. Shows the speed of sound model of a breast
compressed between two plates as in a mammogram. FIG. 38C. Shows
the corresponding attenuation model. The tissue model for the
simulation was constructed with five tissue speeds of sound and
attenuations. For speed of sound: C.sub.fat=1458 m/s,
C.sub.parenchyma=1519 m/s, C.sub.tumor=1564 m/s, C.sub.cyst=1568
m/s, C.sub.skin=1525 m/s. For attenuation: a.sub.fat=0.41
dB/cm/MHz, a.sub.parenchyma=0.81 dB/cm/MHz, a.sub.tumor=1.18
dB/cm/MHz, a.sub.cyst=0.10 dB/cm/MHz, a.sub.skin=0.81 dB/cm/MHz. A
value of 1500 m/s for water was assumed. A random component with
mean 0 and uniformly distributed from -5% to 5% of the average
speed of sound-was added to the speed of sound model. The data was
generated with the generalized Born approximation corrected for
time delay and attenuation loss through the tissue. The generalized
Born scattering model and image arrays were 512 by 200 with a
.lamda./4 at 2 MHz pixel size. A reflection image was made by
software that simulates a reflection mode scanner. FIG. 38E shows
the reflection mode image created from the simulated data for the
model defined in FIGS. 38A and 38C. The image range is -50 dB
(black) to 0 dB (white). Notice the noise and speckle caused by the
random speed of sound component. The speckle caused by the random
component prevents the identification of the targets (except
possibly the cyst although there are speckle artifacts at least as
bright).
[0578] The inverse scattering data was generated by computer
simulation using a direct scattering solver. This solver generated
data at all elements on the receiving array for each element
transmitting on the opposite transmitter array. The inverse
scattering image was formed by software that inverted this
simulated data. Perfectly reflecting plates (infinite impedance)
were assumed to exist on the other two sides. Two frequencies, 1
MHz and 2 MHz, were used. The image array was 256 by 100, .lamda./2
at 2 MHz, pixels. For 30 iterations, the algorithm required 1.5 hr.
of CPU time on a 400 MHz Pentium II. The model defined in FIGS. 38A
and 38C was used to generate data which was then inverted with the
parabolic inverse scattering algorithm.
[0579] The performance of the standard parabolic method with 1/2
wavelength pixels is shown if FIG. 38A through 38D.
[0580] FIG. 38A. Shows the true speed of sound model. FIG. 38B
shows the reconstructed image of sound speed using the 1/2
wavelength pixel parabolic inverse scattering algorithm. Values
range from 1419 m/s (black) to 1602 m/s (white). Notice that unlike
the reflection mode image, all targets are visible. If sources
& receivers are added to the sides, the reconstructed image
becomes almost identical to original, but this simulation has only
the top and bottom arrays. Note the accurately reproduced random
component of the speed of sound.
[0581] FIG. 38C. Shows the true corresponding attenuation model.
Note that no random components were added to the attenuation for
this simulation. FIG. 38D. Shows the reconstructed image of the
acoustic attenuation using the 1/2 wavelength pixel parabolic
inverse scattering algorithm. Notice that all of the targets are
clearly visible. The original parabolic method used .lamda./2
pixels. With 2.lamda. pixels, there are 4.times.4=16 times fewer
pixels; and 4 times fewer sources and 4 times the inner loop speed,
for a factor of 4.sup.4=256. At 5 MHz the 2.lamda. pixel spatial
resolution is 0.6 mm. With the new parabolic method two options
still exist: (1) use .lamda./2 or .lamda. pixels and run the
imaging program over night for those slices that are wanted at 0.3
mm spatial resolution; or (2) increase computing power. By Moore's
law, computing speed increases 2.5 times per 2 years, so in about
12 years 0.3 mm resolution may be possible in some breast
types.
Example 2
[0582] Inverse scattering images from real lab data from two 1/4
inch, 5 Hz Panametrics.TM. video scan transducers facing each other
and using parabolic inverse scattering algorithm.
[0583] This example illustrates that our breakthrough in large
pixel parabolic codes is practical. We applied it to existing time
of flight data (digitized waveforms) that were collected to be
analyzed by time of flight tomography (a modified x-ray CT
algorithm). No transducer array was used as a receiver (thus no
diffraction pattern was recorded). Nevertheless, the parabolic
inverse scattering method has defined the two holes in an agar
phantom somewhat better than the straight line time of flight
method (see FIG. 39).
[0584] FIG. 39A. shows the "time of flight image" i.e., speed of
sound map (image) obtained from real time of flight data collected
on a laboratory scanner through application of a time of flight CT
algorithm. Minimum=black=1477 m/s, Maximum=white 32 1560 m/s.
[0585] FIG. 39B Shows the sound speed map (image) obtained after 15
steps of the new fast 2 wavelength pixel algorithm starting with
the same real lab data as used by the time of flight CT algorithm.
Minimum=black=1465 m/s, Maximum=white=1560 m/s. Although the data
used was not designed for this new algorithm, the image is better
than the corresponding "time of flight image". Based on this
evidence we therefore point out that with hardware designed to be
compatible with and optimized for this new method, we can rapidly
compute images of speed of sound at 5 MHz that exceed the spatial
resolution of time of flight images by a factor of 10 (0.6 mm vs. 6
mm). With further effort we can obtain images of 0.3 mm and even
0.15 mm resolution (by combining reflection and transmission data).
We have tested this claim with computer simulation and the results
support the claim as we show in FIGS. 40 and 41 in the next
example.
[0586] Conclusion for Example 2: The new fast algorithm has been
tested in adverse conditions with poor data (incomplete angular
spectrum) from the laboratory and performs better than the "gold
standard" time of flight CT algorithm. Its predicted performance
should be about 10 times better when using data that is designed to
meet it's computational and interface requirements. This will be
verified in the next two examples.
Example 3
[0587] Inverse scattering images from simulated data from 1/4 inch
piston transducers using the parabolic inverse scattering
algorithm.
[0588] For this computer simulation example we use the following
parameters: Frequency=5 MHz. Number of frequencies=1. Pixel
dimension=2.lamda. Image size 100 by 100 pixels=2.36 by 2.36
inches. Element aperture=0.236 inches. 90 element translation
positions for 90 view angles. Speed of sound values (m/s):
cwater=1500, cskin=1505, cfat=1490, cparenchyma=1505, ctumor=1510.
The image size can easily be doubled or beyond for real data. The
results of this simulation are shown in FIGS. 40A and 40B. FIG. 40A
shows the normalized true speed of sound image, [c.sub.0/c
(x,y)-1], used to generate the simulated data. FIG. 40B shows the
normalized image, [c.sub.0/c(x,y)-1], reconstructed by the 2
wavelength pixel algorithm.
[0589] Conclusion for Example 3: Using an accurate model of the
two, 5 MHz, 1/4 inch diameter piston transducers rather than lab
data that was not designed with the transducers accurately aligned
and calibrated, the spatial resolution is about 4 times better than
the lab data. In fact, the images are remarkable. This simulation
experiment suggest a follow up simulation experiment where a much
larger receiver aperture is used to sample a much greater part of
the scattered (diffracted) waves in the forward direction. In this
case an additional factor of improvement should be obtained. This
experiment is performed in the next example.
Example 4
[0590] Images made from simulated data for the same phantom as in
EXAMPLE 3, but with the 1/4 inch diameter piston transducers
replaced with an transducer array of 120 elements, each 2
wavelengths in width and center to center separation.
[0591] See FIG. 41 for the comparison of the time of flight image
using the CT algorithm with straight acoustic rays vs. the new,
high speed inverse scattering method with 2.lamda. (two wavelength)
size square pixels. The phantom for generating the computer
simulated data (used by the inversion algorithm in FIGS. 40 and 41)
are the same, but the transducers are different (FIG. 40 uses
piston transducers, while FIG. 41 uses a 120 element array). The
parameters used in FIG. 41 are: D=pixel size=2.lamda. at 5 MHz=0.6
mm; Numeric array size=180 by 120 pixels=10.8 by 7.2 cm=4.25 by
2.84 in; outside circle diameter=6 cm=2.36 in; the receivers are
located at 151 points centered on the 180 pixel border; the left
and right hand sides of the 180 by 120 array are assumed to be
perfectly reflecting (infinite impedance) boundaries; 120 views, 2
frequencies at 2.5 MHz and 5 MHz; cfat=1485; cparen=1515;
ctumor=1520; ccyst=1520; and cskin=1515.
[0592] FIG. 41A shows a 120 by 120 pixel image of
[c.sub.0/c(x,y)-1] for the true object. FIG. 41B shows a 120 by 120
pixel image of the [c.sub.0/c(x,y)-1] reconstructed using the
straight line, time-of flight CT algorithm. FIG. 41 C shows a 120
by 120 pixel image by the new fast parabolic algorithm. Note the
big improvement over the CT method.
[0593] Note the greater accuracy of the image from the new
algorithm (right) vs. the time of flight (i.e. CT) image (center).
Also note that using an array (FIG. 41C) produces a much better
image than a single piston receiver (FIG. 40B).
[0594] Conclusion for Example 4: Increasing the receiver aperture
does indeed improve spatial resolution as predicted by theory. The
new algorithm is stable, accurate and fast and can use this
increased data set size. The results of the four (4) Examples are
self consistent and a speed up factor of 256 over previous
parabolic methods is verified.
Transition to 3-D Imaging
[0595] The transition from 2-D algorithms (either standard
parabolic or fast multi pixel parabolic) is straight forward and
only involves replacing the 1-D convolution kernel by a 2-D
convolution kernel and other obvious dimensional changes. We have
reprogrammed our standard 2-D parabolic algorithm to make 3-D
inverse scattering images. The image pixel space for the following
test case was 150 by 150 in the (x,y) topographic plane with 60
stacked planes (z axis direction). FIG. 42A and 42B show the
results of this simulation.
[0596] FIG. 42A shows the 3-D breast model with the true speed on
sound on a z-x plane at y=75. In particular, the image is given by:
speed of sound c(x, 75, z); positive contrast=4.6%; negative
contrast=5.4%; gray scale limits are max black=-6% and max
white=8%. Note that the three simulated tumors near the center are
spatially resolved and reconstructed accurately.
[0597] We conclude from these images that 3-D imaging is a straight
forward modification of 2-D imaging.
Value of Incorporating Reflectivity Imaging by Reflection
Tomography.
[0598] We show next that incorporating reflection tomography
imaging with the inverse scattering algorithm is straightforward
and valuable. The speed of sound image made by inverse scattering
can be used with ray tracing (either straight ray approximation or
actual ray tracing) as a correction map or correction table to
adjust the delay times for back propagation of data from a common
transmission and reception transducer array. This process is well
known to the art. The main difficulty to date has been obtaining an
accurate speed of sound image to proceed with the mapping process
to generate the correction table. The inverse scattering method
fulfills this requirement almost perfectly. We show the result of
straight line ray tracing through a speed of sound image made by
time of flight tomography to correct a reflection tomography image
of human breast tissue in a thin plastic cylinder.
[0599] FIG. 43A shows an image system made with a commercial B-scan
of the cancerous breast tissue in the cylinder. A 3.5 MHz
ultrasound sector probe was used while the phantom was submerged
under water. The commercial scanner used 32 beam former
channels.
[0600] FIG. 43B shows a reconstructed image made by reflection
tomography of the same breast tissue sample at approximately the
same level, made with a Water Bath, Reflection Tomography scanner
at 5 MHz. This image was reconstructed from 12 vertical
source/receiver pairs on a 420.times.420 grid using 0.25 mm wide
pixels. Corrections in time delays were made for speed of sound
variations (but not for refraction effects). It takes approximately
1.5 hr. of CPU time to compute this image on a 27 MFLOP computer.
The breast is encapsulated in a plastic container whose walls are
clearly visible and the bright spots on the walls are four marker
strings. The greatly improved quality of the reflection tomography
image is obvious.
Invention Disclosures for the Parabolic Inverse Scattering
Algorithm
--Large (2.lamda.) Pixels
[0601] In our original parabolic disclosure: example 12 of
APPARATUS AND METHOD FOR IMAGING WITH WAVEFIELDS USING INVERSE
SCATTERING TECHNIQUES, S. A. JOHNSON ET AL., the forward
propagation of the wavefield from f(x,y) to f(x, y+.DELTA.) where
.DELTA. is the pixel site, was performed by Fourier transforms via:
f(x,y+.DELTA.)=F.sub..lamda..fwdarw.x.sup.-1{p(.lamda.)F.sub.x'.fwdarw..l-
amda.{f(x',y)}} 101.1 where F and F.sup.-1 denote the forward and
inverse Fourier transforms and the exact propagator, p, is given
by: p .function. ( .lamda. ) = e - i .times. .times. .LAMBDA.
.times. k o 2 - .lamda. 2 101.2 ##EQU181## This propagator is
exact. By the convolution theorem, 101.1 can be rewritten as:
f(x,y+.DELTA.)=.intg.f(x',y)p(x-x')dx' 101.3 where
p(x)=F.sub..lamda..fwdarw.x.sup.-1{p(.lamda.)} 101.4
[0602] In other words, the propagator can be implemented by
convolution. The question is, for a discrete version of these
equations, which is faster, FFT's and multiplication in the
frequency domain or convolution in the spatial domain? FIG. 44
shows our discrete propagator, p(i.DELTA.), for 3 cases:
.DELTA.=2.lamda., .DELTA.=.lamda. and .DELTA.=.lamda./2 where
k.lamda. is the wavelength.
[0603] Notice that for .DELTA.=.lamda./2, if we assume that we can
cut off the propagator at i=.+-.20 then the implementation of the
propagator by a direct convolution sum would require N*41
operations. This convolution length is probably too long to be any
faster than the FFT implementation. However, the .DELTA.=.lamda.
case can be cut off at i=.+-.6 and the .DELTA.=2.lamda. case can be
cut off at i=.+-.3. In particular, have found that the
.DELTA.=2.lamda. case can be implemented with a cut off at i=.+-.3
with no discernible error over the FFT implementation providing
that the propagator is multiplied by a Blackmann window: {tilde
over (p)}(i)=p(i)(0.42+0.5 cos (.pi.i/(nfilt+1))+0.08 cos
(2.pi.i/(nfilt+1))), i=-nfilt, . . . , nfilt where nfilt=3 for the
.DELTA.=2.lamda. case. Without this filter multiplication, the
parabolic propagation was found to be unstable. Apparently, even
though the neglected values are small, simple truncation of the
propagator results in at least one eigenvalue slightly greater than
I resulting in exponential growth for large numbers of parabolic
steps.
[0604] We had originally thought that the parabolic algorithm
required .DELTA..ltoreq..lamda./2 in order to maintain accuracy for
scattering from biological tissue contrasts. This is certainly true
if one requires scattering at angles out to 45 deg. from the
incident field propagation direction. However, for computation of
all scattering in a .+-.15 deg. cone, .DELTA.=2.lamda. sampling is
sufficient. Of course, in a typical medical imaging problem, there
will be scattering at large angles, however, suppose that the
receivers are 2.lamda. segments. Then the receivers do not see this
large angle scattering energy anyway. Thus, the .DELTA.=2.lamda.
algorithm will accurately compute the received data. Since the
pixel size is now larger, the number of views needed for a complete
dataset is also reduced by a factor of 4 over the .DELTA.=.lamda./2
algorithm.
[0605] Compared with the previous .DELTA.=.lamda./2 algorithm, the
speedup in compute time is given by: 4 times fewer views * 16 times
fewer pixels*speedup factor of short convolution vs. FFT
propagator.
[0606] Even assuming that the short convolution buys only a factor
of 4 over the FFT (it is likely better than this for nfilt=3), the
algorithm is still 256 times faster than the previous algorithm for
the same sized object at the same frequency. Pseudo Code
Definitions of the Plane Wave Parabolic Algorithms for the
Frequency Domain Parameter .times. .times. definitions ##EQU182## c
0 = background .times. .times. medium .times. .times. speed .times.
.times. of .times. .times. sound .times. .times. in .times. .times.
m / s ##EQU182.2## denotes .times. .times. the .times. .times.
complex .times. .times. conjugate ##EQU182.3## x 2 = x .times.
.times. x * ##EQU182.4## array 2 = i , j , .times. array ( i , j ,
.times. ) 2 .times. .times. where .times. .times. i , j , .times.
.times. are .times. .times. the .times. .times. indices .times.
.times. of .times. .times. the .times. .times. array ##EQU182.5##
array .times. .times. 1 , array .times. .times. 2 = i , j , .times.
array .times. .times. 1 .times. ( i , j , .times. ) * array .times.
.times. 2 .times. ( i , j , .times. ) ##EQU182.6## denotes .times.
.times. discrete .times. .times. convolution .times. = pixel
.times. .times. dimension ##EQU182.7##
[0607] nx=x-axis array dimension (x is normal to the parabolic
propagation direction)
[0608] ny =y-axis array dimension (y is parallel to the parabolic
propagation direction)
[0609] nr=the number of receivers per view
[0610] nv=the number of plane wave views from 0 to 360 deg.
[0611] nf=the number of frequencies used
[0612] nfilt defines the width of the short convolution propagator:
the values f(-nfilt+n) to f(n+nfilt) are used to propagate one step
for field index f(n).
[0613] ne defines the number of samples used to define a receiver
element. Each receiver is -ne to ne, .DELTA. samples long. For a
point receiver, ne is set equal to 0.
Propagator Definition
[0614] The following pseudo code defines the short convolution
propagator generation. TABLE-US-00003 .delta..lamda. =
2.pi./(nx.DELTA.) for lf=1,...,nf for n=1,...,nx =
(n-1).delta..lamda. if n > nx/2, .lamda. =
(n-nx-1).delta..lamda. if .lamda.<k.sub.0(lf) then temp(n) =
exp(-i .DELTA. sqrt(k.sub.0(lf).sup.2-.lamda..sup.2)) else temp(n)
= exp(- .DELTA. sqrt(.lamda..sup.2-k.sub.0(lf).sup.2)) endif next
n
[0615] The next step is done by the FFT algorithm: TABLE-US-00004
for m=1,nx temp2(m)=0 for n=1,nx temp2(m)=temp2(m)+temp(n) exp(i
2.pi.(n-1)(m-1)/nx)/nx next n next m for n=0,nfilt
wind=0.42+0.5cos(.pi.n/(nfilt+1))+0.08cos(2.pi.n/(nfilt+1))
prop(n,lf)=temp2(n+1) wind next n for n=-nfilt,-1
prop(n,lf)=prop(-n,lf) next n next lf The window (wind = Blackmann
in the present case) applied above to the short convolution
propagator is essential for stability.
Definition of the Propagator Operation
[0616] The Notation: TABLE-US-00005 temp.fwdarw.tempprop(.,lf) will
henceforth be used to denote the following computation: for
n=1,...,nx temp2(n)=temp(n) next n for n=-nfilt+1,0
temp2(n)=temp(1-n) next n for n=nx+1,nx+nfilt
temp2(n)=temp(2nx-n+1) next n for m=1,...,nx temp(m)=0 for
n=n-nfilt,n+nfilt temp(m)=temp(m)+temp2(n)prop(m-n,lf) next n next
m Note that this implementation applies the boundary condition for
an infinite impedance boundary (f'=0) at the array ends 1 and
nx.
Definition of the Rotation Operator The Notation tr=Rot(t,.phi.)
will henceforth denote the rotation of the function in array
t(nx,ny) by 4 radians followed by placement into array tr(nx,ny)
via bilinear interpolation. Definition of the Receiver Location
Array
[0617] The nr receivers are located at the points mr(1r), 1r=1, . .
. , nr where each mr(1r) is an element of [1+ne, . . . , nx-ne]
Definition of the Receiver Sensitivity Function
[0618] Receiver 1r is centered at point mr(1r) and extends from
mr(1r)-ne to mr(1r)+ne. The array wr(-ne:ne,nf) is set to be the
receiver sensitivity function on the support of the receiver for
each frequency 1, . . . , nf. TABLE-US-00006 Code 1. Frequency
domain, plane wave source, parabolic algorithm common
k.sub.0,.DELTA.,prop,wr,mr common /gamma/ .gamma. complex
.gamma.(nx,ny), grad(nx,ny), tg(nx,ny), p(nx,ny) f(nr,nv,nf),
r(nr,nv,nf),tr(nr,nv,nf), wr(-ne:ne,nf), prop(-nfilt:nfilt,nf) real
k.sub.0(nf),freq(nf) integer mr(nr) set .DELTA. = pixel size in m.
set freq(lf), lf=1,...,nf in Hz. k.sub.0(lf)=2.pi.
freq(lf)/c.sub.0, lf=1,...,nf set the prop( ) array as described in
"Definition of the propagator operation" section above. set wr as
described in "Definition of the receiver location array" section
above. set mr as described in "Definition of the receiver
sensitivity function" section above. select a residual termination
tolerance .epsilon..sub.1 select a gradient magnitude termination
tolerance .epsilon..sub.2 select a maximum number of iterations,
nrp read the data f(nr,nv,nf) resdata=||f|| set .gamma. equal to a
starting guess call scatter(.gamma.,r) r.fwdarw.r-f
res0=||r||/resdata call jacobian_adjoint(r,grad) r.sub.1 =
||grad||.sup.2 p.fwdarw.-grad g0=||grad|| for lrp=1,...,nrp call
jacobian(p,tr) .alpha.=-Re{<r,tr>}/||tr||.sup.2
.gamma..fwdarw..gamma.+.alpha.p call scatter(.gamma.,r)
r.fwdarw.r-f res(lrp)=||r||/resdata call jacobian_adjoint(r,tg)
g(lrp)= ||tg||/g0 if res(lrp) < .epsilon..sub.1, go to line 100
if g(lrp) < .epsilon..sub.2, go to line 100
.beta.=Re{<tg,tg-grad>}/r.sub.1 if .beta. < 0,
.beta..fwdarw.0 r.sub.1 = ||tg||.sup.2 p.fwdarw.-tg+.beta.p
grad.fwdarw.tg next lrp 100 write .gamma. to a datafile stop
subroutine scatter(.gamma.,f) common k.sub.0,.DELTA.,prop,wr,mr
complex t(nx,ny),.gamma.(nx,ny),temp(nx),f(nr,nv,nf),wr(-ne:ne,nf),
prop(-nfilt:nfilt,nf),tr(nx,ny) real ko(nf) integer mr(nr) for
lf=1,...,nf t(n,m)=exp(-i k.sub.0(lf).DELTA. .gamma.(n,m)),
n=1,...,nx, m=1,...,ny for lv=1,...,nv =2.pi. (lv-1)/nv tr =
Rot(t,.phi.) temp(n) = 1, n=1,...,nx for m=1,...,ny
temp.fwdarw.tempprop(.,lf) temp(n) = temp(n) tr(n,m), n=1,...,nx
next m for lr=1,...,nr f(lr,lv,lf) = 0 for le=-ne,...,ne
f(lr,lv,lf) = f(lr,lv,lf)+temp(mr(lr)+le)wr(le,lf) next le next lr
next lv next lf return subroutine jacobian(.delta..gamma.,.delta.f)
common k.sub.0,.DELTA.,prop,wr,mr common /gamma/ .gamma. complex
t(nx,ny),.gamma.(nx,ny),temp(nx),wr(-ne:ne,nf),prop(-nfilt:nfilt,n-
f),tr(nx,ny)
.delta.t(nx,ny),.delta.tr(nx,ny),temp2(nx),.delta.f(nr,nv,nf) real
ko(nf) integer mr(nr) for lf=1,...,nf t(n,m)= exp(-i
k.sub.0(lf).DELTA. .gamma.(n,m)), n=1,...,nx, m=1,...,ny coeff = -i
k.sub.0(lf).DELTA. for lv=1,...,nv =2.pi. (lv-1)/nv tr =
Rot(t,.phi.) .delta.tr = Rot(.delta.t,.phi.) temp(n) = 1,
n=1,...,nx temp2(n) = 0, n=1,...,nx for m=1,...,ny
temp.fwdarw.tempprop(.,lf) temp2.fwdarw.temp2prop(.,lf) for
n=1,...,nx temp2(n) = (temp2(n)+temp(n) .delta.tr(n,m) coeff)
tr(n,m) temp(n) = temp(n) tr(n,m) next n next m for lr=1,...,nr
.delta.f(lr,lv,lf) = 0 for le=-ne,...,ne .delta.f(lr,lv,lf) =
.delta.f(lr,lv,lf)+temp(mr(lr)+le)wr(le,lf) next le next lr next lv
next lf return subroutine jacobian_adjoint(.delta.f,.delta..gamma.)
common k.sub.0,.DELTA.,prop,wr,mr common /gamma/ .gamma. complex
t(nx,ny),.gamma.(nx,ny),temp(nx),wr(-ne:ne,nf),prop(-nfilt:nfilt,n-
f),tr(nx,ny)
.delta.t(nx,ny),.delta.tv(nx,ny),.delta.tvr(nx,ny),.delta.f(nr,nv,nf)
real ko(nf) integer mr(nr) .delta.t(n,m)=0, n=1,...,nx m=1,...,ny
for lf=1,...,nf t(n,m)= exp(-i k.sub.0(lf).DELTA. .gamma.(n,m)),
n=1,...,nx, m=1,...,ny coeff = -i k.sub.0(lf).DELTA. for
lv=1,...,nv =2.pi. (lv-1)/nv tr = Rot(t,.phi.) temp(n) = 1,
n=1,...,nx for m=1,...,ny temp.fwdarw.tempprop(.,lf) for n=1,...,nx
.delta.tv(n,m)=temp(n) temp(n) =t emp(n) tr(n,m) next n next m
temp(n) = 0, n=1,...,nx for lr=1,...,nr for le=-ne,...,ne
temp(mr(lr)+le) =temp(mr(lr)+le)+.delta.f*(lr,lv,lf)wr(le,lf) next
le next lr for m = nx,...,1 for n = 1,...,nx .delta.tv(n,m) =
.delta.tv(n,m)*temp(n) temp(n) = temp(n) tr(n,m) next n
temp.fwdarw.tempprop(.,lf) next m .delta.tvr =
Rot(.delta.tv,-.phi.) .delta.t(n,m) = .delta.t(n,m)+.delta.tvr(n,m)
tr(n,m) coeff, n=1,...,nx m=1,...,ny next lv next lf .delta.t(n,m)
= .delta.t*(n,m), n=1,...,nx m=1,...,ny return
The Enveloped Time Domain Parabolic Algorithm
[0619] The second invention disclosure for the parabolic inverse
scattering algorithm is a means of avoiding local minima when
imaging an object with many .pi. phase shifts and when starting
from a zero (or a somewhat poor) initial guess. If one has only one
frequency and the phase shift through the object is less than 7i
radians then one can converge to the global, correct solution from
a starting guess of zero. If the phase shift is greater than n then
the algorithm will converge to a local minimum if a zero starting
guess is used. Extrapolating this, if one has a bandwidth from fmin
to fmax then convergence to the correct solution will occur from a
zero starting guess only if the phase shift through the object is
less than .pi. at fmin. For biological tissue at ultrasound
frequencies, say 5 MHz, phase shifts of on the order of 10 .pi. are
encountered. This means that fmin needs to be on the order of 1/10
th fmax. This is not possible with the typically 50% bandwidth
transducers available at present.
[0620] In order to get around this difficulty, we have examined the
use of starting guesses computed by straight line time of flight
imaging. In this approach the time delay of the acoustic time pulse
through the body is extracted from the data. Assuming that the
energy took a straight line path through the body for each receiver
(not a good assumption due to ray bending (refraction) and
diffraction effects) then the speed of sound image can be
reconstructed by well known x-ray CT type algorithms. We have found
that these starting guesses will work up to a point but as we
increase the size and contrast of the body up to that of tissue, we
find that the time of flight image is not sufficiently close to the
truth to allow inverse scatter imaging with 50% bandwidth
transducers.
[0621] One may reasonably ask the question: why does the time of
flight algorithm work with 50% bandwidth transducers? The answer is
that even though the time pulse that travels through the target has
only 50% bandwidth, it is still possible to deduce the time
delays.
[0622] FIG. 35 shows the time signal computed for a 2.4 cm dia.
1520 m/s cylinder illuminated by a plane wave for 20 frequencies
from 2.5 to 5 MHz at a receiver located at the center of the
receiving array. The frequency domain data for this case is
f.sup.total(.omega.)/f.sup.inc(.omega.) which was then transformed
to time. Note that this division by f.sup.inc in the frequency
domain removes the time delay due to the propagation from source to
receiver through the background medium (water 1500 m/s) and so the
center of the time pulse gives the time shift due to the
cylinder.
[0623] Suppose now that we attempted to find the center of the
waveform in FIG. 45 with a optimization algorithm (say Newton's
method) starting with t=0 (sample 51) as the starting guess.
Further suppose that we defined the center as coincident with the
maximum wave magnitude.
[0624] Clearly we would find the negative peak near sample 51--a
local maximum. This is analogous to what happens with the parabolic
inversion algorithm starting with a zero guess. The time of flight
algorithm, on the other hand, finds the time delay by first taking
the envelope of the waveform. The envelope squared of the signal
shown in FIG. 45 is shown in FIG. 46.
[0625] It is now a simple matter to find the time delay to the
waveform center with either an optimization algorithm or by simply
detecting the index of the maximum value.
[0626] The preceding discussion suggests that the parabolic
inversion algorithm might avoid local minima, even with 50%
bandwidth transducers, if one operated on the envelope of the time
waveform as the data. It is a simple matter to take the frequency
domain output of the parabolic algorithm, transform to time, and
then take the envelope. Unfortunately, the envelope operator is not
differentiable and the parabolic inversion algorithm relies on
gradient direction optimization (conjugate gradients). This
difficulty can, however, be overcome by making the square of the
envelope the time domain output data. This function is
differentiable and a conjugate gradient optimization algorithm can
be applied. Specifically, the new functional to be minimized is:
F[.gamma.]=.parallel.env(f.sup.parabolic(.gamma.,t)).sup.2-env(f.sup.data-
(t)).sup.2.parallel..sup.2 102.1 (with multiple receivers and views
of course). Derivation of the Jacobian and its adjoint for the new
functional is straightforward. The resulting forward scattering
calculations and the Jacobian and its adjoint are best viewed in
the following pseudo code form. PseudoCode for Time Domain
Parabolic Code Algorithm:
[0627] For the time domain code, we first set the parameter
.DELTA.f=the frequency domain sample interval so that the total
time period T=1./.DELTA.f is sufficient to contain the minimum and
maximum time shifts in the data. We then specify the minimum and
maximum frequencies by their indices nmin and nmax: fmin=minimum
frequency=nmin .DELTA.f, fmax=maximum frequency=nmax .DELTA.f,
using the desired fmax and fmin.
[0628] We then select the number of time steps, nt>nmax and set
the time domain sample interval as: .DELTA.t=1/(nt .DELTA.f).
[0629] Then, nf=the number of frequencies, is set=nmax-nmin+1 and
the frequency list is set as: freq(1f)=(1f-1+nmin).DELTA.f, 1f=1, .
. . , nf
[0630] Now, suppose that the array fc(nr,nv,nf) contains the
frequency domain total field computed by the parabolic algorithm
for nr receivers and nv views and let the array fi.omega.(nr,nf)
contain the incident field for the parabolic algorithm. We then
transform this frequency domain to the envelope squared of the time
domain data via the operations: TABLE-US-00007 for lv = 1,...,nv
for lr = 1,...,nr fctemp(i)=0, i = 1,...,nt for lf = 1,...,nf
fctemp(lf+nfmin)=(fc(lr,lv,lf)/fi.omega.(lr,lf)) wt(lf) next lf
fctemp.fwdarw.FFT .sup.-1.sub.nt{fctemp} for n = 1,...,nt
f.omega.(lr,lv,n)=fctemp(n) f(lr,lv,n)=fctemp(n) fctemp*(n) next n
next lr next lv
[0631] Now, f(nr,nv,nt) contains the time envelope squared of the
simulated signals. Note we have also computed the array
fco(nr,nv,nt) which contains the complex analytic time domain
waveforms. This function is needed for the Jacobian and Jacobian
adjoint calculations. The frequency domain filter wt(nf) is given
by: freqc=(fmax+fmin)/2 freqb=(fmax-fmin)/2 wt(1f)=(0.42+0.5cos
(.pi.(freq(1f)-freqc)/(freqb)+0.08cos(2.pi.(freq(1f)-freqc)/freqb))*exp(--
i2.pi.freq(1f).DELTA.t (nt/2)), 1f=1, . . . , nf and is applied to
prevent sidelobes in the envelope and to shift the time=0 index in
the array from 1 to nt/2+1.
[0632] In order to compute the gradient (Jacobian adjoint operating
on the residual), we first compute the time domain residual array:
r(1r,1v,1t)=f.sup.data(1r,1v,1t)-f(1r,1v,1t), 1t=1, . . . ,nt,
1v=1, . . . ,1v,1r=1, . . . ,nr.
[0633] We then compute the frequency domain residual,
r.omega.(nr,nv,nf) by the calculation: TABLE-US-00008 for lv =
1,...,nv for lr = 1,...,nr for n = 1,...,nt fctemp(n)=2 r(lr,lv,n)
f.omega.(lr,lv,n) next n fctemp.fwdarw.FFT .sub.nt{fctemp} for lf =
1,...,nf r.omega.(lr,lv,lf=fctemp(lf+nfmin)
(wt(lf)/fi.omega.(lr,lf))* next lf next lr next lv
[0634] Once the frequency domain residual array is computed, we
then apply the original Jacobian adjoint of the frequency domain
parabolic algorithm: .gradient.F=J(frequency domain parabolic
Jacobian).sup.Hr.omega.
[0635] The Jacobian operating on a perturbation to y (which is also
needed to perform a conjugate gradient optimization) is similarly
computed.
[0636] Note on the Jacobian implementation: observe that the
operation of converting to time domain data, then taking the
envelope and squaring is concatenated onto the operation of
propagating the fields via the parabolic algorithm at the
respective frequencies, therefore, it follows that the
implementation of the Jacobian will follow from the standard chain
rule of vector calculus. This implementation is in fact given
explicitly in the above pseudo-code, but is restated explicitly
here for further elucidation of the process.
CONCLUSION
[0637] We have implemented this enveloped time domain parabolic
algorithm and have verified that it does indeed converge from a
zero starting guess. The final image is somewhat degraded (lower
resolution) relative to the frequency domain algorithm with a good
starting guess due to the loss of some information from the
envelope operation. However, this code does produce a sufficiently
accurate starting guess for the frequency domain algorithm which
can then refine the resolution of the image.
[0638] The present invention describes an Apparatus and Method for
Imaging Objects with Wavefields as further described in U.S. patent
application Ser. No. 11/223,084, filed Sep. 9, 2005; U.S. patent
application No. 11/222,541, filed Sept. 9, 2005; U.S. patent
application Ser. No. 10/615,569, filed Jul. 7, 2003; U.S. Pat. No.
6,636,584; U.S. Pat. No. 6,587,540; U.S. patent application Ser.
No. 08/706,205, filed on Aug. 29, 1996, now abandoned; U.S. patent
application Ser. No. 08/486,971, filed Jun. 22, 1995, now
abandoned; and U.S. Pat. No. 5,588,032; which are all herein
incorporated by reference in their entirety for all purposes.
[0639] The present invention may be embodied in other specific
forms without departing from its spirit or essential
characteristics. The described embodiments are to be considered in
all respects only as illustrative and not restrictive. The scope of
the invention is, therefore, indicated by the appended claims
rather than by the foregoing description. All changes which come
within the meaning and range of equivalency of the claims are to be
embraced within their scope.
* * * * *