METHOD AND SYSTEM FOR MOTION ARTEFACTS REMOVAL IN OPTICAL COHERENCE TOMOGRAPHY
20170258317 · 2017-09-14
Inventors
Cpc classification
A61B3/1241
HUMAN NECESSITIES
A61B3/0025
HUMAN NECESSITIES
International classification
A61B3/00
HUMAN NECESSITIES
A61B3/12
HUMAN NECESSITIES
Abstract
A method and system for compensating for motion artefacts in Optical Coherence Tomography is provided. A B-scan set includes a plurality of B-scan images acquired at least a position corresponding to a target position of a fundus of an eye. The plurality of B-scans within the B-scan set are aligned using a first alignment process and a second alignment process, where the second alignment process is performed on the B-scan images within the B-scan set aligned by the first alignment process. The first alignment process aligns the B-scan images within the B-scan set at a first resolution in at least an axial direction, and the second alignment process aligns the B-scan images within the B-scan set aligned in the first alignment process at a second resolution having a higher resolution than the first resolution in at least the axial direction.
Claims
1. A method for compensating for motion artefacts in Optical Coherence Tomography, the method comprising: acquiring a B-scan set including a plurality of B-scan OCT images acquired at least a position corresponding to a target position of a fundus of an eye; and aligning the plurality of B-scans within the B-scan set using a first alignment process and a second alignment process, wherein the second alignment process is performed on the B-scan images within the B-scan set aligned by the first alignment process; wherein the first alignment process aligns the B-scan images within the B-scan set at a first resolution in at least an axial direction, and the second alignment process aligns the B-scan images within the B-scan set aligned in the first alignment process at a second resolution being a higher resolution than the first resolution in at least the axial direction.
2. The method according to claim 1, wherein an alignment range of the second alignment process is smaller than an alignment range of the first alignment process.
3. The method according to claim 1, wherein; the first alignment process and the second alignment process are also performed in the horizontal direction of the B-scan images.
4. The method according claim 1, wherein the second alignment process is performed to obtain a shift value in the second resolution to align B-scan images within the B-scan set.
5. The method according to claim 4, wherein the shift value is calculated by using average decorrelation values calculated between B-scan images within the B-scan set.
6. The method according to claim 1, wherein the second alignment process includes determining for B-scans within the B-scan set, a shift amount, and applying the shift amount to a second B-scan within the B-scan set, so that the second B-scan within the B-scan set is shifted such that the second B-scan is matched with a first B-scan within the B-scan set.
7. The method according to claim 1, wherein each of the B-scan images is divided into a plurality of portions, and the second alignment process is performed on each corresponding portion of B-scans within the B-scan set.
8. The method according to claim 7, wherein the second alignment process includes determining a shift amount between the corresponding portions of B-scans within the B-scan set, and applying the shift amount to the corresponding portion of a second B-scan within the B-scan set, so that the corresponding portion of the second B-scan within the B-scan set is shifted such that the corresponding portion of the second B-scan is matched with the corresponding portion of a first B-scan within the B-scan set.
9. The method according to claim 1, further comprising; determining retinal layers of the fundus in the B-scan images, wherein; the second alignment process is performed based on the determined retinal layers.
10. The method according to claim 9, wherein the determined retinal layers include at least one of the boundary of the Vitreous body and the Inner Limiting Membrane, and the boundary of the Retinal Pigmented Epithelium of the fundus.
11. The method according to claim 1, further comprising; calculating an OCT angiogram from the aligned B-scans within the B-scan set, wherein the OCT angiogram is a motion contrast data set related to blood flow information.
12. A system for compensating for motion artefacts in Optical Coherence Tomography comprising: an OCT apparatus for obtaining a plurality of B-scan sets including a plurality of B-scan OCT images acquired at least a position corresponding to a target position of a fundus of an eye; and a data processing apparatus for performing the method according to claim 1 to generate an angiogram of the fundus.
13. A non-transitory computer readable storage medium storing a program for causing a computer to execute a method for compensating for motion artefacts in Optical Coherence Tomography, the method comprising: acquiring a B-scan set including a plurality of B-scan OCT images acquired at least a position corresponding to a target position of a fundus of an eye; and aligning the plurality of B-scans within the B-scan set using a first alignment process and a second alignment process, wherein the second alignment process is performed on the B-scan images within the B-scan set aligned by the first alignment process; wherein the first alignment process aligns the B-scan images within the B-scan set at a first resolution in at least an axial direction, and the second alignment process aligns the B-scan images within the B-scan set aligned in the first alignment process at a second resolution being a higher resolution than the first resolution in at least the axial direction.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
DESCRIPTION OF THE EMBODIMENTS
[0052] Embodiments of the present invention will now be described, by way of example only, with reference to the accompanying figures. Each of the embodiments of the present invention described below can be implemented solely or as a combination of a plurality of the embodiments or features thereof where necessary or where the combination of elements or features from individual embodiments in a single embodiment is beneficial.
Definitions
[0053] A technique called “Zero padding” is used for increasing the resolution of Fourier Transformation (FT) results by adding additional samples with the value 0 to an input signal prior FT. It is defined by the coefficient κ which is defined as ratio κ=Npd/N, where Npd is a number of samples after applying the zero-padding procedure. If κ=1, then Npd=N and the result of the FT has N/2 independent result points (for real signals analysis). If κ=4, then Npd=4N and the FT result has 2N points. In general, the FT result has an increased resolution by κ factor.
[0054] One “principal pixel” is defined as one bin (frequency resolution) of the FFT calculated from interferograms without applying the zero padding procedure (κ=1).
[0055] One “subpixel” is defined as one bin of the FFT calculated from interferograms by applying zero padding where κ>1. In general the axial size of one subpixel=1/κ of axial size of a principal pixel. The subpixel resolution can be obtained using methods other than FFT with zero padding, for example by linear interpolation or cubic interpolation.
First Embodiment
[0056] A first embodiment will be described with reference to
[0057]
[0058] In step S101 a number of B-scan sets are acquired of a fundus. A B-scan set is defined as a number of repeated B-scans (NoR) taken at a particular scanning time of Y or X scan position (in general the position of the slow scan axis). Ideally, the B-scan set includes a plurality of B-scans at a target position of the fundus of the eye. However, each of the plurality of B-scans may not be acquired at the same position (the target position) because of the eye movement and imperfect tracking. Therefore, in practice, the B-scan set includes the plurality of B-scans at least a position corresponding to the target position of the fundus. For example, if NoR=8, eight B-scans are repeated (or acquired) at the particular slow-axis position. From these eight B-scans, at least seven angiograms (NoR−1) can be obtained if each angiogram is calculated from B-scan(i) and B-scan(i+1), where i=1 . . . 8. More angiograms can be obtained if non-neighbour B-scans are used, e.g. B-scan(i) and B-scan(I+2). If an entire examination consists of for example 300 B-scan sets and each B-scan set consists of 8 B-scans, then the total number of B-scans taken during the examination is 300*8=2400 B-scans. Of course, the number of B-scans in a B-scan set is not limited to eight, any number of B-scans may be chosen. For example, at least three B-scans may be chosen as the B-scans set. Increasing the number of B-scans may improve the quality and reliability of detection of blood vessels but increase measurement time, while decreasing the number of B-scans may speed-up the measurement time but decrease the quality and reliability.
[0059] In step S102 structural tomograms are generated with zero-padding κ times (κ>1). A decimation process is performed on the generated tomograms to obtain two kinds of tomograms. One kind having subpixel resolution and the second kind having principal pixel resolution. The subpixel resolution has a higher resolution than the principal pixel resolution. The tomograms with principal resolution are used in a rough alignment process described below, while the tomograms with subpixel resolution are used in a precise alignment process described below.
[0060] In step S103 alignment with principal resolution is performed. This is called “rough alignment”. The purpose of rough alignment is to compensate for effects caused by longitudinal (axial) head movements (and thus eye-movements) along the Z-axis with the accuracy of the principal pixels (first resolution) of the tomogram. The rough alignment process is applied within each B-scan set, and is applied independently for each set. The rough alignment process will be discussed in more detail below with reference to
[0061] In step S104 an alignment with subpixel resolution is performed on the B-scans roughly aligned in step S103. This is called “precise alignment”. The purpose of precise alignment is to compensate for effects induced by transverse movements of a head (and thus eye) as well as residual longitudinal (axial) effects with subpixel accuracy (second resolution). The precise alignment process will be discussed in more detail below with reference to
[0062] In step S105 angiograms are calculated for each adjacent B-scan in a B-scan set aligned precisely in step S104 because the embodiment uses the calculation method of the angiogram similar to non-patent literatures 2, 3. Therefore, for example, if the number of B-scans within a B-scan set is eight, at least seven angiograms per B-scan set are obtained. Of course, other methods for calculating the angiograms can be easily applied.
[0063] In step S106 a final angiogram is calculated as a combination of the angiograms obtained in step S105. For example, the combined angiogram may be obtained by averaging, median, or so on.
[0064]
[0065] In
[0066] The details of the rough alignment will now be discussed with reference to the block flow diagram shown in
[0067] In step S202 using the selected B-scan reference the Z-axis offset for each pair of adjacent B-scans in a B-scan set is determined. Then in step S203 the global Z-axis offsets are applied to each B-scan within a B-scan set except the reference B-scan to correct the position of the retina on each of them. This procedure is applied to all B-scan sets independently.
[0068] An example of cross-correlation of two B-scan images as a function of shift value in the Z-direction is shown in
[0069] Next the details of the precise alignment will be discussed with reference to the flow diagram shown in
[0070] In step S301 the tomogram set roughly aligned in the rough alignment is used as the basis for the precise alignment. In step S302 the value of parameter i is set to 1. The value i represents the number of B-scan pairs within a B-scan set. For example, if the B-scan set contains eight B-scans there are seven B-scan pairs; the first pairing being the first and second B-scans, the second pairing being the second and third B-scans, and so on. Accordingly, the value of i=1 represents the first pair of B-scans (e.g. the first and second B-scans) within the B-scan set, while i=2 represents the second pair of B-scans (e.g. the second and third B-scans) within the B-scan set, and so on. Setting i=1 in step S302 selects the first B-scan pair.
[0071] In step S303 the i.sup.th B-scan and (i+1).sup.th B-scan within a B-scan set are selected. In other words, when i=1 the first B-scan (i=1) and the second B-scan (1+1=2) within the B-scan set are selected.
[0072] In step S304 a relationship between an average decorrelation value D.sub.i(δz) versus shift value δz is calculated for the i.sup.th B-scan pair selected in step S303. The average decorrelation value D.sub.i is an average value of the decorrelation value d.sub.i for two B-scans in a single B-scan set taken at the same slow axis position (X or Y scan position). To calculate the decorrelation value d.sub.i(x, z, δz) for the i.sup.th B-scan pair (the i.sup.th B-scan and the (i+1).sup.th B-scan selected in step S303), the same equations that are used for motion contrast calculation in OCTA image reconstruction can be used:
where I(x, z) is an intensity of a signal at location (x, z) in the tomogram in subpixels, δz is the shift value in subpixels, and k is the number of the A-scan.
[0073] The average decorrelation value D.sub.i can be calculated as:
where Nz, Nx is the number of the pixels in a B-scan in subpixels in the Z-axis direction and the X-axis direction.
[0074] For each of the two B-scans in a single B-scan set (the i.sup.th B-scan pair), a graph of the average decorrelation value D.sub.i(δz) versus a shift value δz is generated within a range +/−Z.sub.PA. An example of such a graph is shown in
[0075] In
[0076] In step S305 the shift value δz.sub.match corresponding to the minimum value of the average decorrelation D.sub.i(δz) is determined. The minimum average decorrelation position is at the best or suitable shift amount that provides the best match (i.e. least differences) between the two B-scans in a single B-scan set (the i.sup.th B-scan pair). In
[0077] In step S306 the determined shift value δz.sub.match is applied to the (i+1).sup.th B-scan. In other words, in this example the (i+1).sup.th B-scan is shifted by 2 subpixels.
[0078] In step S307 it is determined if the value of i equals the number of B-scan pairs within the B-scan set (the number of B-scans minus one B-scan, i.e. i=B−1, where B is the number of B-scans within the B-scan set). Thus, if there are 8 B-scans within a B-scan set, step S307 checks whether i is equal to 7. If i does not equal B−1, then the flow proceeds to step S308 where the value of i is incremented by one and the process of steps S303 to S307 are repeated. In this manner steps S303 to S307 are repeated for each i.sup.th B-scan pair within each B-scan set, until all B-scan pairs have been processed.
[0079] The accuracy of the determination of the displacement can be increased by increasing the value of zero padding, or by applying a fitting method to the obtained results (for example fitting polynomial using a least squares method).
[0080] According to the process of this embodiment a method for compensating for motion artefacts in Optical Coherence Tomography Angiography is provided. A plurality of B-scan sets are acquired, where each B-scan set includes a plurality of B-scan OCT images acquired at a position of a fundus of an eye. The B-scans within each B-scan set are aligned using a first alignment process and a second alignment process. The second alignment process is performed on the B-scan images within each B-scan set aligned by the first alignment process. An OCT angiogram from the aligned B-scans within each B-scan set is generated.
[0081] The first alignment process aligns the B-scan images within each B-scan set at a first resolution (principal pixel) in at least an axial (Z-axis) direction, and the second alignment process aligns each adjacent B-scan pair in each B-scan set aligned by the first alignment process at a second resolution (subpixel) in at least the axial (Z-axis) direction. The second resolution (subpixel) is a higher resolution than the first resolution (principal pixel).
[0082] In the second alignment process (precise alignment), for each pair of B-scans within a B-scan set, a shift amount is calculated and applied to the second ((i+1).sup.th) B-scan of the pair, so that the second ((i+1).sup.th) B-scan of a pair is shifted such that it has the best match, or correlation, with the first (i.sup.th) B-scan of the B-scan pair.
[0083] The disclosed method introduces to OCTA processing an algorithm for eye movement compensation by performing rough and precise alignment. The precise alignment is performed with subpixel accuracy. The precise alignment is performed using the averaged value of the decorrelation coefficient value (minimum of the averaged value of decorrelation coefficient as a function of shift value). Thus the process is able to determine the shift value between adjacent B-scans within a B-scan set.
[0084] According to this embodiment, the performance of OCTA processing in terms of both the removal of motion artefacts from OCT angiograms, especially OCTA maps, and the execution time of calculations, can be improved with respect to conventional arrangements. Furthermore, the quality of the angiograms can be improved.
Second Embodiment
[0085] The second embodiment is different from the first embodiment in that a different precise alignment process is used. Otherwise, the second embodiment follows the same procedures as the first embodiment shown in
[0086] The second embodiment differs from the first embodiment in that each B-scan pair is divided into smaller portions. For each pair of adjacent B-scans indexed by i, the B-scan pair is divided onto P smaller portions (or blocks) indexed by j. This is illustrated in
[0087]
[0088] Similar to the first embodiment, in step S401 the precise alignment in the Z-axis is performed on the roughly aligned tomograms (roughly aligned in step S103). In step S402 the value of i (the i.sup.th B-scan pair) is set to 1. In step S403, similarly to step S303, the i.sup.th B-scan and (i+1).sup.th B-scan within a B-scan set is selected. In other words, when i=1 the first and second B-scans within the B-scan set are selected.
[0089] In step S404 the value of j is set to 1, thus setting the value of j to the first portion P of the B-scan pairs. In step S405 the j.sup.th portion of the tomograms of the i.sup.th B-scan and the (i+1).sup.th B-scan are selected. In other words, when i=1 and j=1 the first portion (p=1) of the tomograms of the first and second B-scans is selected.
[0090] In step S406 for the selected portion j of the tomograms, the average decorrelation D versus shift δz within a range +/−Z.sub.PA is calculated. The average decorrelation value D is an average value of decorrelation for each partial angiogram resulting from a calculation of the decorrelation d of the j.sup.th portions of the B-scan pair. To calculate the decorrelation value d.sub.i,j(z) for the i.sup.th B-scan pair and x.sup.th A-scan at a certain depth z, the same equations that are used for motion contrast calculation in OCTA image reconstruction can be used:
where I(z) is an intensity of a signal at depth Z.
[0091] The average decorrelation value D.sub.i,j can be calculated using:
where Nz is the number of the pixels in a B-scan in a Z direction in subpixels, and Np is the number of the pixels of a divided small portion of a B-scan in the X direction in subpixels.
[0092] As will be discussed below in relation to step S409, the value of j is incremented for all portions P of the tomograms. Accordingly, the average decorrelation is calculated for all of the portions of the tomograms of all B-scan pairs.
[0093] To ensure a high dynamic range of the functions presented in
[0094] Equation (3) gives the decorrelation value d.sub.i,j as a function of shift δz, which varies within a +/−Z.sub.PA range. This range can be defined by theoretical considerations of the transverse head movements assuming a certain amplitude of head movement in a worst case (e.g. a patient having a head-fixation problem e.g. due to Parkinson disease). The amplitude of head movements will transfer to movement of a scanning beam pivot against the eye's pupil, and the optical path variation for peripheral scanning beams will be deduced. Alternatively, the range can be determined empirically by providing intentional transverse movement of the head during acquisition of the data or by statistical analysis of a representative sample of clinical data.
[0095] In step S407 the shift value δz.sub.match (j) corresponding to the minimum value of the average decorrelation D.sub.i(δz) is determined for the current portion j. In other words, the shift value at the position of the minimum value of the average decorrelation (Dmin) is determined as the shift value δz.sub.match (j), i.e. D(δz.sub.match)=D.sub.min. This represents the best match (i.e. least differences) between the two portions of the B-scan pair. An example of the variations of the shift value over different portions of the B-scans is described in more detail below with reference to
[0096] In step S408 the determined shift value δz.sub.match (j) is applied to the j.sup.th portion (block) of the (i+1).sup.th B-scan. In other words, if i=1 and j=1 the determined shift value δz.sub.match (j) is applied to the first portion P of the second B-scan.
[0097] In step S409 it is determined if the value of j equals the total number of portions P. If j does not equal the total number of portions the flow proceeds to step S410 where the value of j is incremented by 1 so that the processing in steps S405 to S408 is carried out on the next portion of the i.sup.th and (i+1).sup.th B-scans. In this manner, steps S405 to S408 are performed for all portions P of the i.sup.th and (i+1).sup.th B-scans until the value of j=P, and so all portions have been processed. Once j=P the flow proceeds to step S411.
[0098] In step S411 it is determined if the value of i equals the number of B-scan pairs within the B-scan set (the number of B-scans minus one B-scan, i.e. i=B−1, where B is the number of B-scans within the B-scan set). Thus, if there are eight B-scans within a B-scan set, step S411 checks whether i is equal to seven. If i does not equal B−1, then the flow proceeds to step S412 where the value of i is incremented by one and the process of steps S403 to S410 are repeated. In this manner steps S403 to S410 are repeated for each i.sup.th B-scan pair within each B-scan set, until all B-scan pairs have been processed. In other words, each portion of each B-scan pair is processed.
[0099] According to the above process, for each pair of B-scans within a B-scan set, and for each corresponding portion j of the B-scan pairs, a shift amount between the corresponding portions is calculated and applied to the corresponding portion of the second ((i+1).sup.th) B-scan of the pair, so that the corresponding portion of the second ((i+1).sup.th) B-scan of a pair is shifted such that it has the best match, or correlation, with the corresponding portion of the first (i.sup.th) B scan of the B-scan pair.
[0100]
[0101] As shown in
[0102]
[0103] If a distribution of the shift value δz.sub.match (j) is a constant horizontal line as shown in
[0104] Analysing the entire data set, the value of the alignment range Z.sub.PA can be found.
[0105] Although
[0106] In this embodiment, an algorithm for eye movement compensation by performing rough and precise alignment is provided. The precise alignment is performed with subpixel accuracy (second resolution) for a number of portions of a B-scan. The precise alignment is performed using the averaged value of the decorrelation coefficient value (minimum of the averaged value of decorrelation coefficient as a function of shift value). Thus the process is able to determine the shift value between corresponding portions of adjacent B-scans within a B-scan set.
[0107] According to this embodiment, the performance of OCTA processing in terms of both the removal of motion artefacts from OCT angiograms, especially OCTA maps, and the execution time of calculations, can be improved with respect to conventional arrangements. Furthermore, the quality of the angiograms can be improved.
Third Embodiment
[0108] The third embodiment differs from the first and second embodiments by including an additional process step between the rough alignment and the precise alignment. In particular, the third embodiment includes the additional step of detecting layers of the retina of a fundus.
[0109]
[0110] In
[0111]
[0112] Steps S501 and S502 are substantially the same as described for steps S101 and S102 of
[0113] In step S503 a subpixel accuracy alignment to compensate bulk motions of the eye is performed (rough alignment). The rough alignment process is applied within a single set of B-scans and is applied independently for each B-scan set. The rough alignment in step S503 is substantially the same as the rough alignment in step S103 of
[0114] When the B-scans are roughly aligned in step S503, in step S504 all of the structural tomograms within the B-scan set are integrated to form an integrated B-scan, and the integrated B-scans are used for layers detection for the entire 3D data set.
[0115] In step S505 the precise alignment of the B-scans is performed. This will be described in more detail below. In the step S506 angiograms are calculated for each precisely aligned adjacent B-scans, and in step S507 the final angiogram is calculated as an average of the angiograms obtained in step S506. Steps S506 and S507 are substantially the same as steps S105 and S106 of
[0116] This embodiment differs from the first and second embodiments in that the precise alignment in step S505 is calculated by averaging the decorrelation value D.sub.i, within the scope of specific retinal layers. In particular, instead of using equation (2), equation (5) is used:
[0117] where d.sub.i,j(x,z,δz) is the decorrelation value calculated by equation (1), z0 is the bottom boundary of the specific retinal layers, and z1 is the top boundary of the specific retinal layers. (the boundary of the specific retinal layers (“z0” and “z1”) are variables at each fast axis (X location.)
[0118] In this embodiment, the top of the specific retinal layers is chosen as the boundary of “Vitreous Body” and “Inner Limiting Membrane (ILM)”, and the bottom layer is chosen as the boundary of “Retinal Pigmented Epithelium (RPE)”. However, the selection of the top layer and bottom layer is not limited to these layers within the eye, any suitable boundaries may be used.
[0119] Thus, in the present embodiment the average decorrelation is limited in the Z-axis by the area of a signals existence between a top layer and a bottom layer. By doing this, the total calculation time for generating the OCTA can be decreased efficiently with respect to the calculation time of the first and second embodiments.
Fourth Embodiment
[0120] The first to third embodiments discuss processes for calculating OCTA angiograms while compensating for eye motions during OCTA measurement. In the fourth embodiment a system (or apparatus) is provided for calculating the OCTA angiograms while compensating for eye motions during OCTA measurement.
[0121] As shown in
[0122] The OCT apparatus 200 may be any suitable OCT apparatus, for example that discussed in non-patent literature 3.
[0123] The data processing apparatus includes a CPU 310, a memory 320, a display 330 and a storage means 340. The storage means 340 stores programs that may be loaded into the memory 320 and executed by the CPU 310. In particular the programs executed by the CPU 310 perform the processes discussed in any of the first to third embodiments. Thus the CPU 310, and so the data processing apparatus 300, is arranged to perform the processes of the first, second or third embodiments. Furthermore, the CPU 310, and so the data processing apparatus 300, may be arranged to be able to perform all of the processes of the first, second or third embodiments. In this later case, a user may simply select which one of the first, second and third embodiment processes is used.
[0124] The memory 320 is used by the CPU 310 as a work memory. The results of the processes and calculations by the CPU 310 may be displayed on the display 330. For example, the resultant OCTA map may be displayed on the display 330. Furthermore the results of the calculations by the CPU 310, e.g. the OCTA map, may be stored in the storage means 340. A number of results, or OCTA maps, may be stored in the storage means 340 for a number of different patients.
[0125] Although,
Other Embodiments
[0126] The above described methods are applied to generating an OCTA image, however the above described methods can be also applied to generating an averaged image. The averaged image (e.g. an averaged B-scan image) is generated based on a plurality of B-scans within the B-scan set. The plurality of B-scans are averaged after the plurality of B-scans are aligned using a first alignment process and a second alignment process.
[0127] The present invention can also be implemented through processing in which a program that implements one or more functions of the any of the above embodiments described above is supplied to a system or an apparatus via a network or in the form of a storage medium and one or more processors in the system or the apparatus read out and execute the program. In addition, the embodiments can also be implemented by a circuit (e.g., application specific integrated circuit (ASIC)) that implements one or more functions.
[0128] While the present invention has been described with reference to embodiments, it is to be understood that the invention is not limited to the disclosed embodiments.
[0129] In other words, the present invention can be implemented in various forms without departing from the principal features of the present invention.
[0130] The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.