Patent Publication Number: US-2023148860-A1

Title: Apparatus and method for imaging an eye

Description:
CROSS REFERENCE TO RELATED APPLICATION 
     This patent application claims the benefit of U.S. Prov. Ser. No. 63/278,609 filed Nov. 12, 2021, which is incorporated by reference herein. 
    
    
     FIELD OF THE INVENTION 
     The present disclosure relates generally to an apparatus and method for obtaining information concerning a target object, and in particular, an apparatus and method for capturing a data and three-dimensional images of an eye. 
     BACKGROUND OF INVENTION 
     The “background” description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description which may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present invention. 
       FIG.  10    shows an example of a conventional apparatus for obtaining images of an eye. Such an apparatus includes a scanner  1004  that illuminates the eye and captures raw image data of the eye. The scanner  1004  is controlled by a controller  1002 . An analyzer  1006  performs analysis on the raw image data to produce results  1008 , such as three-dimensional images. 
     The scanner  1004  typically moves a scanning spot to a first region to be examined, illuminates the first region with an illumination light, captures data concerning the first region, and then moves the scanning spot to a next region to be examined. The movement path of scanning spot is called a scanning trajectory. The area of the target object imaged in each scanning spot region is relatively small. Typical image spot size is ˜20 μm in ophthalmic imaging. The position of the illuminated spot is scanned by measuring scattered light that covers the imaging target length (area) of at least a few mm. Therefore, the scanning spot is moved from region to region and the data from the regions are combined to thereby obtain data spanning a wider area of the target object. 
       FIG.  11    shows a conventional scanning trajectory used to obtain data regarding a two-dimensional region of a target object. According to this example, a plurality of b-scans  1102  are performed by moving the scanning spot in a left to right direction, and after the scanning spot is moved a full b-scan length to the right-most direction, the scanning spot is moved downward in a c-scan  1104  direction to where a next b-scan  1102  is performed. 
     However, when the target object is an eye of a living subject, eye movement and fluid movement occur during examination, and therefore, errors are likely to occur when combining the data from different scanning spots. 
     SUMMARY OF INVENTION 
     This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to limitations that solve any or all disadvantages noted in any part of this disclosure. 
     According to an embodiment of the invention, a scanning apparatus includes a scanner configured to move a scanning spot along a movement path to capture three-dimensional information of a target object, the movement path including a plurality of b-scan paths performed along a c-scan path, and a processing circuit configured as a controller to control the movement path of the scanning spot, wherein an area of the target object covered by the movement path is independent of a length of the b-scan path. 
     A scanning apparatus may be arranged such that each of the plurality of b-scan paths has a same shape and size. 
     A scanning apparatus may be arranged such that each of the plurality of b-scan paths is a closed loop that returns to a starting point. 
     A scanning apparatus may be arranged such that each of the plurality of b-scan paths is a circular path. 
     A scanning apparatus may be arranged such that the c-scan path is a spiral. 
     A scanning apparatus may be arranged such that the area of the target object covered by the movement path is increased in each of two dimensions by increasing a length of the c-scan path. 
     A scanning apparatus may be arranged such that the controller is further configured to control an inter-scan time by varying a length of each of the b-scan paths and maintaining a sampling step less than a spot size. 
     A scanning apparatus may be arranged such that the controller is further configured to control the b-scan path to move continuously and with a constant speed in each of x and y directions. 
     A scanning apparatus may be arranged such that the controller is further configured to control the scanner to perform multiple b-scan paths in a same location before moving the scanning path to a next position along the c-scan path. 
     A scanning apparatus may be arranged such that the c-scan path is a closed shape. 
     A scanning apparatus may be arranged such that the b-scan path and the c-scan path are each moved through two or three dimensions. 
     A scanning apparatus may be arranged such that a start of a previous b-scan is at a first angular position with respect to a center of the previous b-scan; a start of a next b-scan is at a second angular position with respect to a center of the next b-scan; and the first angular position is different than the second angular position. 
     An embodiment of the invention includes a scanning method that includes moving a scanning spot along a movement path to capture three-dimensional information of a target object, the movement path including a plurality of b-scan paths performed at along a c-scan path; and controlling the movement path of the scanning spot, wherein an area of the target object covered by the movement path is independent of a length of the b-scan path. 
     An embodiment of the invention includes a computer readable medium storing computer instructions that when executed by a computer perform steps that includes controlling movement of a scanning spot along a movement path to capture three-dimensional information of a target object, the movement path including a plurality of b-scan paths performed along a c-scan path, wherein an area of the target object covered by the movement path is independent of a length of the b-scan path. 
     An embodiment to of the invention includes a scanning apparatus that includes a scanner configured to move a scanning spot along a movement path to capture three-dimensional information of a target object, the movement path including a plurality of b-scan paths performed along a c-scan path; and a processing circuit configured as a controller to control the movement path of the scanning spot, the processing circuit further configured as an analyzer configured to determine a saturation time for each three-dimensional position within a portion of the target object based on an inter-scan time. 
     A scanning apparatus may be arranged such that the analyzer is further configured to calculate an Optical Coherence Tomography Angiography (OCTA) signal value at each of a plurality of inter-scan times; plot points of the calculated OCTA signal values versus inter-scan time; and determine, as the saturation time, a location at a bend in a curve matching the plot of the points. 
     A scanning apparatus may be arranged such that the calculated OCTA signal value at all of the plotted points is a same one of a decorrelation, optical microangiography (OMAG), speckle variance, phase variance, and split-spectrum amplitude-decorrelation angiography (SSADA) value. 
     An embodiment of the invention includes a scanning method that includes moving a scanning spot along a movement path to capture three-dimensional information of a target object, the movement path including a plurality of b-scan paths performed along a c-scan path; controlling the movement path of the scanning spot; and determining a saturation time for each three-dimensional position within a portion of the target object based on an inter-scan time. 
     An embodiment of the invention includes a computer readable medium storing computer instructions that when executed by a computer perform steps that include controlling a movement of a scanning spot along a movement path to capture three-dimensional information of a target object, the movement path including a plurality of b-scan paths performed along a c-scan path; and determining a saturation time for each three-dimensional position within a portion of the target object based on an inter-scan time. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The scope of the present disclosure is best understood from the following detailed description of exemplary embodiments when read in conjunction with the accompanying drawings, wherein: 
         FIG.  1    is a block diagram of an embodiment of the invention; 
         FIG.  2 A  is a view of a scanning trajectory according to an embodiment of the invention; 
         FIG.  2 B  is another view of a scanning trajectory according to an embodiment of the invention; 
         FIG.  3 A  is another view of a scanning trajectory according to an embodiment of the invention; 
         FIG.  3 B  is another view of a scanning trajectory according to an embodiment of the invention; 
         FIG.  4 A  is an example a scanning trajectory that may produce artifacts according to an embodiment of the invention; 
         FIG.  4 B  is an example of a scanning trajectory that may reduce artifacts according to an embodiment of the invention; 
         FIG.  5    is an example of another scanning trajectory according to an embodiment of the invention; B 
         FIG.  6 A  is another view of a scanning trajectory according to an embodiment of the invention; 
         FIG.  6 B  is another view of a scanning trajectory according to an embodiment of the invention; 
         FIG.  7    is a block diagram of a method according to an embodiment of the invention; 
         FIG.  8    is a plot of decorrelation vs. inter-scan time illustrating a method according to an embodiment of the invention; 
         FIG.  9    is a block diagram of a computer and computer connectivity according to an embodiment of the invention; 
         FIG.  10    is an example of a conventional apparatus for obtaining images of an eye; 
         FIG.  11 A  is an example of a conventional scanning trajectory; and 
         FIG.  11 B  is another example of a conventional scanning trajectory. 
     
    
    
     Further areas of applicability of the present disclosure will become apparent from the detailed description provided hereinafter. It should be understood that the detailed description of exemplary embodiments is intended for illustration purposes only and are, therefore, not intended to necessarily limit the scope of the disclosure. 
     DETAILED DESCRIPTION 
     As an area of captured data, or the field of view (FOV), in the scan is increased according to the conventional scanning trajectory in  FIG.  11 A , the length of each b-scan  1102  increases. Thus, using the conventional scanning trajectory, the length of each b-scan  1102  depends on the desired FOV. Such a conventional scanning trajectory may make multiple passes of each b-scan  1102  to obtain overlapping data, or may move the scanning trajectory in the c-scan  1104  slowly so that scanning spots of a subsequent b-scan  1102  overlaps a previous b-scan  1102 . An amount of time that elapses between successive scans of an overlapping area on the target object is referred to as inter-scan time. 
     As discussed further below, it may be useful to control the inter-scan time. However, according to the conventional scanning trajectory in  FIG.  11   , the inter-scan time also increases with FOV. 
       FIG.  1    shows an embodiment of an apparatus according to the invention. The apparatus includes a controller  102 , a scanner  104 , and an analyzer  106  to produce results  108 . The controller  102  includes one or more computers or programmed processors and/or hardware circuits configured to control the scanner  104 . The scanner  104  includes light illumination and sensing devices that control movement of a scanning spot along a scanning trajectory to thereby capture data concerning a region of a target object. The scanner may operate to collect two-dimensional or three-dimensional data regarding the target object. The scanner  104  may include an Optical Coherence Tomography (OCT) scanner. Two-axis galvanometer scanners are typically used in OCT system. The analyzer  106  may include one or more computers or programmed processors and/or hardware circuits configured to receive the results of scanning (e.g., OCT scan data) and produce results  108  based on the scanning results. The results  108  may include two-dimensional or three-dimensional graphical visualizations of the target object, and/or quantitative information concerning the target object (e.g., blood flow speed). 
       FIG.  2 A  shows a scanning trajectory according to an embodiment of the invention and including one or more circular path b-scan  204  and a spiral path c-scan  202 . In this example, a first circular b-scan  204  is performed in the Bd  208  direction (i.e., counterclockwise) with a center of the b-scan  204  circle near a center of a two-dimensional (x, y) target area to be observed. After the first circular b-scan  204  is completed, a second circular b-scan  204  may be performed centered on a second position arranged outwardly (i.e., along the Cd  210  direction) along the spiral c-scan  202  path. The distance moved between successive b-scan circle centers are described by L c /N c , where L c  is c-scan length and N c  is sampling points of c-scans. A distance between adjacent arms of the spiral is L Δ , which is related redundancy. Alternatively, two or more b-scans may be performed in a same or similar location before moving to a next location.  FIG.  2 B  shows another view of the scanning trajectory to illustrate additional b-scans  204 . 
       FIG.  3 A  is another view of the scanning trajectory in  FIGS.  2 A and  2 B , showing plural b-scans  204  along a spiral path c-scan  202 , and indicating typical x and y axis dimensions. The scanning pattern trajectory in this example is described by the following equations: 
     
       
         
           
             
               
                 x 
                 ⁡ 
                 ( 
                 
                   
                     i 
                     b 
                   
                   , 
                   
                     i 
                     c 
                   
                 
                 ) 
               
               = 
               
                 
                   
                     - 
                     
                       
                         L 
                         b 
                       
                       
                         2 
                         ⁢ 
                         π 
                       
                     
                   
                   ⁢ 
                   
                     cos 
                     ⁡ 
                     ( 
                     
                       
                         
                           2 
                           ⁢ 
                           π 
                         
                         
                           N 
                           b 
                         
                       
                       ⁢ 
                       
                         i 
                         b 
                       
                     
                     ) 
                   
                 
                 + 
                 
                   
                     
                       
                         
                           
                             L 
                             c 
                           
                           ⁢ 
                           
                             L 
                             Δ 
                           
                         
                         
                           π 
                           ⁢ 
                           
                             N 
                             c 
                           
                         
                       
                       ⁢ 
                       
                         i 
                         c 
                       
                     
                   
                   ⁢ 
                   
                     cos 
                     ⁡ 
                     ( 
                     
                       
                         
                           
                             4 
                             ⁢ 
                             π 
                             ⁢ 
                             
                               L 
                               c 
                             
                           
                           
                             
                               L 
                               Δ 
                             
                             ⁢ 
                             
                               N 
                               c 
                             
                           
                         
                         ⁢ 
                         
                           i 
                           c 
                         
                       
                     
                     ) 
                   
                 
               
             
             ⁢ 
             
 
             
               
                 y 
                 ⁡ 
                 ( 
                 
                   
                     i 
                     b 
                   
                   , 
                   
                     i 
                     c 
                   
                 
                 ) 
               
               = 
               
                 
                   
                     - 
                     
                       
                         L 
                         b 
                       
                       
                         2 
                         ⁢ 
                         π 
                       
                     
                   
                   ⁢ 
                   
                     sin 
                     ⁡ 
                     ( 
                     
                       
                         
                           2 
                           ⁢ 
                           π 
                         
                         
                           N 
                           b 
                         
                       
                       ⁢ 
                       
                         i 
                         b 
                       
                     
                     ) 
                   
                 
                 + 
                 
                   
                     
                       
                         
                           
                             L 
                             c 
                           
                           ⁢ 
                           
                             L 
                             Δ 
                           
                         
                         
                           π 
                           ⁢ 
                           
                             N 
                             c 
                           
                         
                       
                       ⁢ 
                       
                         i 
                         c 
                       
                     
                   
                   ⁢ 
                   
                     sin 
                     ⁡ 
                     ( 
                     
                       
                         
                           
                             4 
                             ⁢ 
                             π 
                             ⁢ 
                             
                               L 
                               c 
                             
                           
                           
                             
                               L 
                               Δ 
                             
                             ⁢ 
                             
                               N 
                               c 
                             
                           
                         
                         ⁢ 
                         
                           i 
                           c 
                         
                       
                     
                     ) 
                   
                 
               
             
           
         
       
     
     L b  and L c  represent lengths of the b-scan  204  and c-scan  202 , N b  and N c  are sampling points of b-scans  204  and c-scans  202 . i b  and i c  represents i th  b-scan  204  and c-scan  202 . L Δ  indicates gap between adjacent spiral trajectory and is related to redundancy.  FIG.  3 A  illustrates an exemplary scanning trajectory in the case of L b =4.5 mm, L c =72 mm, L Δ =0.4 mm, N b =51, N c =410. For this illustration, N b  and N c  are set to extremely small number (˜ 1/10) compared to actual cases for better visualization of scanning trajectory. The invention also includes other possible values of the variables, depending upon data capture requirements. Since it may be preferred to keep sampling density along b-scan and c-scan similar, the ratio between L b /N b  (b-scan sampling density) and L c /N c  (c-scan sampling density) is typically less than 3. As shown by this example, redundancy may be less at an outermost area and at a center of the spiral trajectory (i.e., beginning of scan). 
     The inventive scan trajectory may provide several advantages over a conventional scan trajectory. 
     First, a conventional scan trajectory may include a raster-like motion of the scanning position.  FIG.  11 A  shows an idealized view of a conventional scan trajectory.  FIG.  11 B  shows a more realistic view illustrating one problem with the conventional scan trajectory. According to the example in  FIGS.  11 A and  11 B , after each completed b-scan  204  in a left-to-right direction, the scanning position must be moved in an almost opposite right-to-left direction. Scanner  1004 , for example, using galvo-scanner technology, cannot perform such a change in direction immediately, and therefore, there is some time delay for the change in direction that results in reduced duty ratio of the scan. As shown in  FIG.  11 B , the conventional raster scan has flyback  1106  during which the scanner drives the scanning position back to the beginning of a next b-scan  1102 . Duty ratio is defined by time corresponding to the dotted line divided by total scan time. 
     Second, in a conventional scan trajectory, the b-scan  204  proceeds in only a single, left-to-right direction (i.e., x direction). However, according to the inventive scan trajectory, during each circular b-scan  204  the scanning position moves continuously in both x and y directions. Thus, the scanner may be driven by a simple sine function and the component elements of the scanner (i.e., an x-direction scanner and y-direction scanner) may advantageously be driven simultaneously at a constant speed. Constant speed motion allows the inventive scan trajectory to have an easily controlled sampling density. By reducing computational cost, constant speed motion also simplifies application of computational adaptive optics (CAO), which is otherwise computationally expensive. This is an advantage compared to other scanning trajectories, for example, a Lissajous shaped scan path. Scan speed of effective area of b-scan  1102  is usually constant in a conventional raster scan trajectory. 
     Third, since each b-scan  204  according to the inventive scan trajectory completes close to the starting point of the next b-scan, there is less time spent repositioning to the start of the next b-scan  204 . Thus, an embodiment of the invention may also advantageously keep duty ratio high. 
     Fourth, according to the inventive scan trajectory, inter-scan time is primarily a function of b-scan length L b  and b-scan speed. Although inter-scan time is also a function of b-scan length in the conventional raster scan trajectory, the inventive scan trajectory can achieve a shorter inter-scan time due to the high duty ratio (close to 100%). Also, the inventive scan trajectory allows for control of the inter-scan time without limiting FOV (as discussed further below). Thus, inter-scan time may be adjusted without changing the coverage area. As discussed further below, Variable Inter Scan Time Analysis (VISTA) may be performed, according to another embodiment of the invention, by varying the inter-scan time, may be made more convenient and repeatable by the inventive scan trajectory. Also, according to the inventive scan trajectory it is possible to make inter-scan time longer and thereby improve signal contrast in Optical Coherence Tomography Angiography (OCTA). 
     Another way to control inter-scan time using a conventional scan trajectory is by changing sampling density (namely scan speed). However, in OCTA where inter-scan time is an important parameter, high sampling density (i.e., sampling step is about half of spot size) is required to visualize fine structure of a vessel, and as a result, there is not much available room for adjustment of sampling density in practice using the conventional scan trajectory. So, the inventive scan trajectory may be able to achieve better results by controlling inter-scan time by varying a length of each b-scan while keeping FOV and sampling step less than spot size (i.e., high sampling density), which is not possible with the conventional scan trajectory. Spot size is defined by size of illumination light for OCT. Sampling density means how many data points are measured per unit length. Higher sampling density means that more data points are measured per unit length. Sampling step is how much length is moved from a current measurement position to perform a measurement at the next b-scan point. Sampling density is therefore inverse of sampling step. 
     Fifth, according to the inventive scan trajectory, the FOV is independent of b-scan length L b . Thus, the FOV may be increased by merely extending the c-scan length L c . In other words, by merely extending the length (duration) of the spiral c-scan, the field of view may be increased. Such an increase also advantageously does not result in a change in the inter-scan time. 
     Sixth, scan overlaps (including b-scan to adjacent b-scan overlap, as well as overlap of a b-scan on one spiral arm to b-scan on a successive or previous spiral arms) can be used for motion estimation and correction. For example, when calculating correlation among OCT data by using the overlapped area, an embodiment of the invention can obtain the best transformation (shift and rotation etc.) which minimizes the difference or error due to eye motion. 
     Although the inventive example above is illustrated with a circular b-scan  204 , the invention encompasses any closed b-scan shape (i.e., where each b-scan path returns to a same or approximately same starting point), including but not limited to oval, elliptical, and lemniscate paths. 
     Further, although the inventive example above is illustrated with each b-scan  204  including only a single pass over the covered region, the invention also includes repeating each b-scan  204  in the same location, or in a slightly adjusted location, for more than one pass. 
     In addition, although the inventive example above is illustrated with the movements in each of the b-scan  204  and c-scan  202  being in a same x,y plane, the invention also includes moving the b-scan  204  and c-scan  202  through different planes. Further, the invention includes each of the b-scan  204  and c-scan  202  moving independently in three dimensions. 
     Further, although the inventive embodiment is shown having a c-scan path that is a spiral moving from a central region to a peripheral region, the invention also includes a spiral c-scan path that moves from a peripheral region to a central region. Also, the invention includes other c-scan paths that move from one of a central region or a peripheral region to the other of the central region or a peripheral region (e.g., an expanding or contracting rectangular path), for example as shown in  FIG.  3 B . The inventive c-scan path may also be any continuous path within the field of view. 
     As an alternative embodiment, the invention includes a continuous shape b-scan rather than discrete b-scans. That is, the plural b-scans  204  shown in  FIG.  3 A  are alternatively constructed as an uninterrupted path that continuously moves along the c-scan direction. 
     The inventive scan pattern may be applied to various scanning technologies including OCT scanning, OCTA, and VISTA. When performing OCTA, differences between OCT scans performed at different times are used to detect fluid flows in a living body. VISTA is a method to obtain additional information about the fluid flows, for example, as discussed further below. 
     When the inventive scanning trajectory noted above is applied to repeated scans used for OCTA, artifacts may appear at the beginning of each b-scan. For example, as illustrated in  FIG.  4 A , with an idealized scanner mechanism, each b-scan  204  along the c-scan path  202  would start at a same angular location  404  with respect to a center of the b-scan path  202 , and with no transition time. However, in a practical scanner, the movement of the scanning position from one b-scan path  204  to a next b-scan path requires a transition path  402 . If data is continuously collected during the transition  402 , there is a greater chance of OCTA artifacts, since the transition path  402  does not match the b-scan  204  path. 
     To reduce the capture of artifacts, an alternative inventive embodiment shown in  FIG.  4 B  which disables data collection during the transition  402  from one b-scan  204  to the next b-scan  204 . Thus, the start of data collection in a subsequent b-scan path  204  is shifted to position  406 , and the start of data collection of the subsequent b-scan path is at a different angular location  406  with respect to a center of the subsequent b-scan path than an angular location  404  of the start of data collection of the previous b-scan path  204 . This alternative embodiment has a side effect of slightly reducing duty ratio, while advantageously eliminating the artifact. 
       FIG.  5    is an example of an alternative embodiment of the scan path in which the z-axis direction (along a direction from the scanner to the target object, e.g., in and out of an eye) of the spiral c-scan path  506  may be varied. Particularly when the target object is a curved retinal surface  502  of an eye, the c-scan location may be changed in the z-direction at discrete instances  504  at locations along the scan path  506  to thereby allow the scan pattern to follow the contour of the target object. Thus, the inventive alternative embodiment may help to achieve wide-field OCT by avoiding defocus and image flipping due to limited imaging depth range of OCT. 
     The inventive scan trajectory can realize wide FOV while achieving relatively shot inter-scan time, which is advantageous for application to VISTA. For example, VISTA may be performed using a b-scan length of 4.5 mm (512 pixels), corresponding to approximately 1.4 mm diameter, and a c-scan length of 25.3 mm (1920 pixels), and L Δ =0.88 mm, with 4 repetitions. 
     OCTA scanning may require high quality data collection in a limited FOV. To achieve that, another embodiment of the invention may use an ellipsoidal c-scan path instead of the spiral scan path discussed above. 
       FIGS.  6 A and  6 B  show an example of another “cycle-scan” trajectory embodiment of the invention in which the b-scan  602  is circular and the c-scan  604  is a closed ellipsoidal path. 
     Trajectory of the cycle scan trajectory according to this embodiment is given by the following equations: 
     
       
         
           
             
               
                 x 
                 ⁡ 
                 ( 
                 
                   
                     i 
                     b 
                   
                   , 
                   
                     i 
                     c 
                   
                 
                 ) 
               
               = 
               
                 
                   
                     
                       L 
                       b 
                     
                     
                       2 
                       ⁢ 
                       π 
                     
                   
                   ⁢ 
                   
                     cos 
                     ⁡ 
                     ( 
                     
                       
                         
                           2 
                           ⁢ 
                           π 
                         
                         
                           N 
                           b 
                         
                       
                       ⁢ 
                       
                         i 
                         b 
                       
                     
                     ) 
                   
                 
                 + 
                 
                   
                     cos 
                     ⁡ 
                     ( 
                     
                       
                         
                           2 
                           ⁢ 
                           π 
                         
                         
                           n 
                           c 
                         
                       
                       ⁢ 
                       
                         i 
                         c 
                       
                     
                     ) 
                   
                   ⁢ 
                   
                     
                       { 
                       
                         
                           
                             ( 
                             
                               
                                 sin 
                                 ⁡ 
                                 ( 
                                 
                                   
                                     
                                       2 
                                       ⁢ 
                                       π 
                                     
                                     
                                       n 
                                       c 
                                     
                                   
                                   ⁢ 
                                   
                                     i 
                                     c 
                                   
                                 
                                 ) 
                               
                               
                                 
                                   
                                     L 
                                     b 
                                   
                                   
                                     2 
                                     ⁢ 
                                     π 
                                   
                                 
                                 + 
                                 Δ 
                               
                             
                             ) 
                           
                           2 
                         
                         + 
                         
                           
                             ( 
                             
                               
                                 cos 
                                 ⁡ 
                                 ( 
                                 
                                   
                                     
                                       2 
                                       ⁢ 
                                       π 
                                     
                                     
                                       n 
                                       c 
                                     
                                   
                                   ⁢ 
                                   
                                     i 
                                     c 
                                   
                                 
                                 ) 
                               
                               
                                 
                                   
                                     L 
                                     b 
                                   
                                   
                                     2 
                                     ⁢ 
                                     π 
                                   
                                 
                                 - 
                                 Δ 
                               
                             
                             ) 
                           
                           2 
                         
                       
                       } 
                     
                     
                       - 
                       0.5 
                     
                   
                 
               
             
             ⁢ 
             
 
             
               
                 y 
                 ⁡ 
                 ( 
                 
                   
                     i 
                     b 
                   
                   , 
                   
                     i 
                     c 
                   
                 
                 ) 
               
               = 
               
                 
                   
                     
                       L 
                       b 
                     
                     
                       2 
                       ⁢ 
                       π 
                     
                   
                   ⁢ 
                   
                     sin 
                     ⁡ 
                     ( 
                     
                       
                         
                           2 
                           ⁢ 
                           π 
                         
                         
                           N 
                           b 
                         
                       
                       ⁢ 
                       
                         i 
                         b 
                       
                     
                     ) 
                   
                 
                 + 
                 
                   
                     sin 
                     ⁡ 
                     ( 
                     
                       
                         
                           2 
                           ⁢ 
                           π 
                         
                         
                           n 
                           c 
                         
                       
                       ⁢ 
                       
                         i 
                         c 
                       
                     
                     ) 
                   
                   ⁢ 
                   
                     
                       { 
                       
                         
                           
                             ( 
                             
                               
                                 sin 
                                 ⁡ 
                                 ( 
                                 
                                   
                                     
                                       2 
                                       ⁢ 
                                       π 
                                     
                                     
                                       n 
                                       c 
                                     
                                   
                                   ⁢ 
                                   
                                     i 
                                     c 
                                   
                                 
                                 ) 
                               
                               
                                 
                                   
                                     L 
                                     b 
                                   
                                   
                                     2 
                                     ⁢ 
                                     π 
                                   
                                 
                                 + 
                                 Δ 
                               
                             
                             ) 
                           
                           2 
                         
                         + 
                         
                           
                             ( 
                             
                               
                                 cos 
                                 ⁡ 
                                 ( 
                                 
                                   
                                     
                                       2 
                                       ⁢ 
                                       π 
                                     
                                     
                                       n 
                                       c 
                                     
                                   
                                   ⁢ 
                                   
                                     i 
                                     c 
                                   
                                 
                                 ) 
                               
                               
                                 
                                   
                                     L 
                                     b 
                                   
                                   
                                     2 
                                     ⁢ 
                                     π 
                                   
                                 
                                 - 
                                 Δ 
                               
                             
                             ) 
                           
                           2 
                         
                       
                       } 
                     
                     
                       - 
                       0.5 
                     
                   
                 
               
             
           
         
       
     
     L b  and N b  represent length and sampling points of the b-scan  602 . i b  and i c  indicate i th  b-scan  602  and c-scan  604 . n c  is number of sampling points for 1 cycle of c-scan  604  and Δ is difference between longer and shorter axis length of ellipse. 
     The c-scan  604  may be iterated for more than one cycle to guarantee acquiring effective data at every position. 
     A typical OCTA scan according to the cycle-scan trajectory embodiment may include a b-scan length of 9 mm (1024 pixels), corresponding to 2.8 mm diameter, Δ=0.1 mm, repetitions=2, and c-scan length of 1888 pixels, with a cycle size of 384 pixels (iteration 4.9 times). “Repetition” refers to how many times a b-scan is repeated to get an OCTA signal as discussed above. “Iteration” is how many times a circle c-scan is repeated. “Cycle size” is how many c-scan points are measured in 1 iteration (i.e., in one circle c-scan). 
     Voluntary eye movement and blinking may occur during examination. Since each location is measured at well dispersed timing, a reconstruction algorithm can successfully generate completed data by using only effective data, and there is no missing coverage areas according to this embodiment. 
     By reducing cycle size and scan area in cycle trajectory scan, OCT/OCT volume data can be acquired in a short time (i.e., even less than 0.1 msec) with correcting voluntary eye movement. Cycle trajectory scan according to the embodiment may also realize temporal analysis of OCT/OCTA including dynamic contrast technique. Dynamic contrast is a technique to determine contrast based on temporal change and to provide images where contrast reflects temporal change. Temporal analysis is a technique for analyzing change in data along the time axis. 
     Although the example of  FIGS.  6 A and  6 B  are shown with an elliptical c-scan path, the invention includes using any closed path for the c-scan, including, but not limited to circular, oval, lemniscate, square, closed polygon paths, or any hybrid mixture thereof. 
     Sampling density can impact OCTA. For example, even when varying sampling density along c-scan between 13.2 μm, 19.6 μm, and 26.4 μm with sampling density along b-scan of 8.8 μm it is found that b-scan sampling density is more important factor than c-scan sampling density in determining OCTA image quality. Different from a conventional raster scan trajectory, reducing c-scan sampling density using the inventive trajectory does not impact to signal of high spatial frequency in a certain direction, and scanning can be performed using dense b-scan sampling and sparse c-scan sampling without obvious impact on image quality. 
     Further, according to the embodiments, redundancy (overlapping) is prioritized rather than c-scan sampling density in the scan design, which is effective to stabilize motion correction and reduce importance of each a-scan data. That is, information provided by one a-scan data can be covered by another a-scan data. A-scan data is data from measuring an axial profile (i.e., z-axis) of a target object (eye). Typical scan values may include the following: 
     
       
         
           
             
               
                 L 
                 b 
               
               = 
               
                 
                   
                     8.8 
                     
                       N 
                       b 
                     
                   
                   1000 
                 
                 ⁢ 
                     
                 mm 
               
             
             , 
             
               
                 L 
                 c 
               
               = 
               
                 
                   
                     26.4 
                     
                       N 
                       c 
                     
                   
                   1000 
                 
                 ⁢ 
                     
                 mm 
               
             
             , 
             
               
                 L 
                 Δ 
               
               = 
               
                 
                   5 
                   ⁢ 
                   
                     L 
                     b 
                   
                 
                 
                   9 
                   ⁢ 
                   π 
                 
               
             
           
         
       
     
     Conventionally, VISTA is a visualization technology used to graphically illustrate fluid displacement. VISTA utilizes properties of OCTA signal changes over time depending on flow speed and requires multiple repeats scans. OCTA inter-scan time is must faster than used in conventional OCT systems. While OCTA may merely show the difference between continuously acquired OCT images, e.g., for purposes of contrast enhancement, VISTA attempts to graphically represent the relative flow speeds of fluid. 
     According to a conventional VISTA visualization approach, a composite image of vascular eye structure may be presented with hue or color representing a ratio of OCTA signal collected with shorter inter-scan times vs. longer inter-scan times. The ratio corresponds to an inverse of the saturation time under an assumption that OCTA signals are saturated in longer inter-scan times and linearly increases with displacement between OCT frames. Thus, if we assume that OCTA signal is not saturated yet at shorter inter-scan time but saturated at the longer inter-scan time (under linear model), ratio and inverse of the saturation time should be same thing. For example, a conventional VISTA approach may gradually increase an inter-scan duration in successive scans, and then find a ratio between captured fluid positions of different images to graphically characterize the relative flow speeds. Although the conventional VISTA visualization provides a qualitative view of fluid flow, it does not provide any quantitative assessment of flow rates. 
     A basic concept of an improved quantitative VISTA according to another embodiment of the invention, is that OCTA signal increases with displacement between OCT frames and saturates at certain amounts of displacement. By finding a time when the OCTA signal becomes saturated (i.e., Tsaturation), an improved quantitative VISTA embodiment of the invention can quantitatively estimate flow speed, rather than merely providing a qualitative visualization. Such a quantitative estimate may be useful for clinical purposes. 
       FIG.  7    shows a flow diagram of processes used by an embodiment of the invention to perform quantitative VISTA. First, OCT (complex) is performed in step  702 , which includes generating OCT data (spatial domain) from interference data (spectral domain). Next, in step  704 , the OCTA data is generated by calculating decorrelation among OCT data acquired by repeated b-scans. 
     Step  706  includes a saturation time analysis performed for each OCT capture having a different inter-scan time. First, this step assumes that decorrelation increases linearly until decorrelation saturates, as shown by the following equation: 
     
       
         
           
             
               
                 decorrelation 
                 as 
               
               ( 
               
                 
                   τ 
                   ; 
                   x 
                 
                 , 
                 z 
               
               ) 
             
             = 
             
               { 
               
                 
                   
                     
                       
                         
                           D 
                           saturation 
                         
                         / 
                         
                           T 
                           saturation 
                         
                         ⁢ 
                             
                         τ 
                       
                       = 
                       
                         a 
                         ⁢ 
                         
                           τ 
                           ⁡ 
                           ( 
                           
                             until 
                             ⁢ 
                                 
                             decorrelation 
                             ⁢ 
                                 
                             is 
                             ⁢ 
                                 
                             sturated 
                           
                           ) 
                         
                       
                     
                   
                 
                 
                   
                     
                       
                         D 
                         saturation 
                       
                       ⁢ 
                           
                       
                         ( 
                         
                           after 
                           ⁢ 
                               
                           decorrelation 
                           ⁢ 
                               
                           is 
                           ⁢ 
                               
                           saturate 
                         
                         ) 
                       
                     
                   
                 
               
             
           
         
       
     
     Saturation time and saturation decorrelation are determined so that least square error δ is minimized. Least square error is calculated by the following equation: 
     
       
         
           
             
               δ 
               ⁡ 
               ( 
               
                 x 
                 , 
                 z 
               
               ) 
             
             = 
             
               
                 ∑ 
                 τ 
               
               
                 
                   { 
                   
                     
                       
                         decorrelation 
                         f 
                       
                       ( 
                       
                         
                           τ 
                           ; 
                           x 
                         
                         , 
                         z 
                       
                       ) 
                     
                     - 
                     
                       
                         decorrelation 
                         as 
                       
                       ( 
                       
                         
                           τ 
                           ; 
                           x 
                         
                         , 
                         z 
                       
                       ) 
                     
                   
                   } 
                 
                 2 
               
             
           
         
       
     
     Then in the case where δ(x, z) is minimized, differential of the equation is 
     
       
         
           
             
               
                 
                   ∂ 
                   
                     δ 
                     ⁡ 
                     ( 
                     
                       x 
                       , 
                       z 
                     
                     ) 
                   
                 
                 
                   ∂ 
                   a 
                 
               
               = 
               
                 
                   2 
                   ⁢ 
                   
                     
                       ∑ 
                       τ 
                       
                         not 
                         ⁢ 
                             
                         saturated 
                       
                     
                     
                       
                         { 
                         
                           
                             
                               decorrelation 
                               f 
                             
                             ( 
                             
                               
                                 τ 
                                 ; 
                                 x 
                               
                               , 
                               z 
                             
                             ) 
                           
                           - 
                           
                             
                               decorrelation 
                               as 
                             
                             ( 
                             
                               
                                 τ 
                                 ; 
                                 x 
                               
                               , 
                               z 
                             
                             ) 
                           
                         
                         } 
                       
                       ⁢ 
                       τ 
                     
                   
                 
                 = 
                 0 
               
             
             ⁢ 
             
 
             
               
                 
                   ∂ 
                   
                     δ 
                     ⁡ 
                     ( 
                     
                       x 
                       , 
                       z 
                     
                     ) 
                   
                 
                 
                   ∂ 
                   
                     D 
                     saturation 
                   
                 
               
               = 
               
                 
                   2 
                   ⁢ 
                   
                     
                       ∑ 
                       τ 
                       saturated 
                     
                     
                       { 
                       
                         
                           
                             decorrelation 
                             f 
                           
                           ( 
                           
                             
                               τ 
                               ; 
                               x 
                             
                             , 
                             z 
                           
                           ) 
                         
                         - 
                         
                           
                             decorrelation 
                             as 
                           
                           ( 
                           
                             τ 
                             , 
                             x 
                             , 
                             z 
                           
                           ) 
                         
                       
                       } 
                     
                   
                 
                 = 
                 0 
               
             
           
         
       
     
     Therefore, D saturation  and T saturation  are calculated according to the embodiment by the following equations. 
     
       
         
           
             
               
                 D 
                 saturation 
               
               = 
               
                 
                   
                     ∑ 
                     τ 
                     saturated 
                   
                   
                     
                       decorrelation 
                       f 
                     
                     ( 
                     
                       
                         τ 
                         ; 
                         x 
                       
                       , 
                       z 
                     
                     ) 
                   
                 
                 
                   
                     ∑ 
                     τ 
                     saturated 
                   
                   1 
                 
               
             
             ⁢ 
             
 
             
               
                 T 
                 saturation 
               
               = 
               
                 
                   D 
                   saturation 
                 
                 ⁢ 
                 
                   
                     
                       ∑ 
                       τ 
                       
                         not 
                         ⁢ 
                             
                         saturation 
                       
                     
                     
                       τ 
                       2 
                     
                   
                   
                     
                       ∑ 
                       τ 
                       
                         not 
                         ⁢ 
                             
                         saturated 
                       
                     
                     
                       
                         
                           decorrelation 
                           f 
                         
                         ( 
                         
                           
                             τ 
                             ; 
                             x 
                           
                           , 
                           z 
                         
                         ) 
                       
                       ⁢ 
                       τ 
                     
                   
                 
               
             
           
         
       
     
     As shown in  FIG.  8   , Dsaturation corresponds to the decorrelation value at which the data becomes saturated, and Tsaturation corresponds to an inter-scan time at which the data becomes saturated. As further illustrated by the example of  FIG.  8   , Tsaturation corresponds to a bend in a curve fitted to plotted points of decorrelation vs. inter-scan time. The inter-scan time at which the curve bends corresponds to the time after which the decorrelation values no longer increase (or increases at a lower rate), with increasing inter-scan time. 
     Instead of decorrelation, the Tsaturation calculations above may be equivalently performed to find Tsaturation and Dsaturation using any OCTA signal that represents a difference between successive OCT scans (e.g., optical microangiography (OMAG), speckle variance, phase variance, and/or split-spectrum amplitude-decorrelation angiography (SSADA)). 
     A least square error analysis performed as above for every case where decorrelation saturates between each measurement points yields the condition minimizing least square error (i.e., the condition when the differential of the equation below becomes 
     
       
         
           
             0. 
                 
             
               1 
               
                 T 
                 saturation 
               
             
           
         
       
     
     is then calculated as a parameter quantitively indicating flow speed. Since analysis may not be properly done when decorrelation is too small, the following constraint is also applied: 
     
       
         
           
             
               1 
               
                 T 
                 saturation 
               
             
             = 
             
               0 
               ⁢ 
                   
               
                 ( 
                 
                   
                     if 
                     ⁢ 
                         
                     
                       D 
                       saturation 
                     
                   
                   &lt; 
                   0.1 
                 
                 ) 
               
             
           
         
       
     
     Thus, saturation time Tsaturation can be determined at each point throughout the three-dimensional data set acquired by OCT scanning, and volume VISTA data is constructed from VISTA b-frame images. VISTA b-frame images are generated by protocol explained below using saturation time images and OCTA images. 
       FIG.  8    shows an example of using the above calculations and linear model to obtain quantitative values of Tsaturation and Dsaturation, while excluding data points where Dsaturation&lt;0.1 (i.e., assumed not to have flow). 
     Although all data points are used in the analysis above for saturation time analysis, an alternative embodiment of the inventive method avoids using decorrelation signal generated by a one pair of OCT data because of the low SNR of decorrelation. For example, according to an embodiment of the invention, it is not necessary to obtain four data points, as in the example of  FIG.  8   , to perform curve fitting and find saturation time. Since there are two unknown parameters (i.e., Tsaturation and Dsaturation), a minimum required number of data points is only two points. However, if all the data points are equally reliable, using all the data points should provide better results. If reliability of data is different among the data points, fitting may be performed by using a weight reflecting the relative reliability of each data point. In an extreme case where the last data point is not reliable, an alternative embodiment my discard the less reliable last data point and perform fitting without it, which can provide more reliable analysis results of saturation time. 
     Step  708  preforms projection of OCTA total. For example, the projection image may be an image in the xy-plane (e.g., from a top view) and calculated by compressing data (e.g., averaging or taking maximum etc.) along the z-axis. For example, in order to extract information only from vessel areas, projected image P(x) of data V (x, z) by weighting total OCTA value OCTA (x, z) is calculated as 
     
       
         
           
             
               P 
               ⁡ 
               ( 
               x 
               ) 
             
             = 
             
               
                 
                   ∑ 
                   z 
                 
                 
                   
                     V 
                     ⁡ 
                     ( 
                     
                       x 
                       , 
                       z 
                     
                     ) 
                   
                   × 
                   
                     OCTA 
                     ⁡ 
                     ( 
                     
                       x 
                       , 
                       z 
                     
                     ) 
                   
                 
               
               
                 
                   ∑ 
                   z 
                 
                 
                   OCTA 
                   ⁡ 
                   ( 
                   
                     x 
                     , 
                     z 
                   
                   ) 
                 
               
             
           
         
       
     
     OCT A (x, z) represents ratio of flowing particles under the assumption that OCTA signal is saturated, and it can be considered as probability of vessel. 
     Step  710  provides composite VISTA projection images based on the OCTA total projection of step  708  and the saturation time analysis of step  706 . A projection image of OCTA is used to determine brightness in VISTA composite image and is constructed by taking log to enhance visibility of capillaries. OCTA is generated by calculating decorrelation. 
     In particular, a VISTA composite image is generated from an OCTA image and an inverse of saturation time image for better interpretation of VISTA result. 
     Brightness of a VISTA composite image is determined based on OCTA intensity. Black (0) and white (255) may be defined as pixel intensity of OCTA of 5% and 95% quantiles. Brightness of VISTA composite image may be linearly mapped between the black and white level. Namely 
     
       
         
           
             brighness 
             = 
             
               { 
               
                 
                   
                     
                       0 
                       ⁢ 
                           
                       
                         ( 
                         
                           OCTA 
                           &lt; 
                           
                             OCTA 
                             
                               5 
                               ⁢ 
                               % 
                             
                           
                         
                         ) 
                       
                     
                   
                 
                 
                   
                     
                       255 
                       ⁢ 
                           
                       
                         ( 
                         
                           OCTA 
                           &gt; 
                           
                             OCTA 
                             
                               95 
                               ⁢ 
                               % 
                             
                           
                         
                         ) 
                       
                     
                   
                 
                 
                   
                     
                       
                         
                           OCTA 
                           - 
                           
                             OCTA 
                             
                               5 
                               ⁢ 
                               % 
                             
                           
                         
                         
                           
                             OCTA 
                             
                               95 
                               ⁢ 
                               % 
                             
                           
                           - 
                           
                             OCTA 
                             
                               5 
                               ⁢ 
                               % 
                             
                           
                         
                       
                       ⁢ 
                           
                       
                         ( 
                         rest 
                         ) 
                       
                     
                   
                 
               
             
           
         
       
     
     Hue of VISTA composite image may be determined based on inverse of saturation time. Defining minimum and maximum value as v min , and v max,  hue is determined as 
     
       
         
           
             hue 
             = 
             
               { 
               
                 
                   
                     
                       0 
                       ⁢ 
                           
                       
                         ( 
                         
                           
                             1 
                             / 
                             
                               T 
                               saturation 
                             
                           
                           &gt; 
                           
                             v 
                             max 
                           
                         
                         ) 
                       
                     
                   
                 
                 
                   
                     
                       240 
                       ⁢ 
                           
                       
                         ( 
                         
                           
                             1 
                             / 
                             
                               T 
                               saturation 
                             
                           
                           &lt; 
                           
                             v 
                             min 
                           
                         
                         ) 
                       
                     
                   
                 
                 
                   
                     
                       240 
                       × 
                       
                         { 
                         
                           1 
                           - 
                           
                             ( 
                             
                               
                                 
                                   1 
                                   
                                     T 
                                     saturation 
                                   
                                 
                                 - 
                                 
                                   v 
                                   min 
                                 
                               
                               
                                 
                                   v 
                                   max 
                                 
                                 - 
                                 
                                   v 
                                   min 
                                 
                               
                             
                             ) 
                           
                         
                         } 
                       
                       ⁢ 
                           
                       
                         ( 
                         rest 
                         ) 
                       
                     
                   
                 
               
             
           
         
       
     
     Then RGB is determined as 
     
       
         
           
             
               
                 
                   
                     if 
                     ⁢ 
                         
                     hue 
                   
                   ≤ 
                   60 
                 
                 ; 
                 
                   R 
                   = 
                   brightness 
                 
               
               , 
               
                 G 
                 = 
                 
                   
                     
                       
                         ( 
                         
                           
                             2 
                             ⁢ 
                             R 
                           
                           - 
                           B 
                         
                         ) 
                       
                       ⁢ 
                       
                         tan 
                         ⁡ 
                         ( 
                         hue 
                         ) 
                       
                     
                     + 
                     
                       
                         3 
                       
                       ⁢ 
                       B 
                     
                   
                   
                     
                       tan 
                       ⁡ 
                       ( 
                       hue 
                       ) 
                     
                     + 
                     
                       3 
                     
                   
                 
               
               , 
               
                 B 
                 = 
                 0 
               
             
             ⁢ 
             
 
             
               
                 
                   
                     if 
                     ⁢ 
                         
                     60 
                   
                   &lt; 
                   hue 
                   ≤ 
                   120 
                 
                 ; 
                 
                   R 
                   = 
                   
                     
                       
                         
                           ( 
                           
                             G 
                             + 
                             B 
                           
                           ) 
                         
                         ⁢ 
                         
                           tan 
                           ⁡ 
                           ( 
                           hue 
                           ) 
                         
                       
                       + 
                       
                         
                           3 
                         
                         ⁢ 
                         
                           ( 
                           
                             G 
                             - 
                             B 
                           
                           ) 
                         
                       
                     
                     
                       2 
                       ⁢ 
                       
                         tan 
                         ⁡ 
                         ( 
                         hue 
                         ) 
                       
                     
                   
                 
               
               , 
               
 
               
                 G 
                 = 
                 brightness 
               
               , 
               
                 B 
                 = 
                 0 
               
             
             ⁢ 
             
 
             
               
                 
                   
                     if 
                     ⁢ 
                         
                     120 
                   
                   &lt; 
                   hue 
                   ≤ 
                   180 
                 
                 ; 
                 
                   R 
                   = 
                   0 
                 
               
               , 
               
                 G 
                 = 
                 brightness 
               
               , 
               
                 B 
                 = 
                 
                   
                     
                       
                         ( 
                         
                           
                             2 
                             ⁢ 
                             R 
                           
                           - 
                           G 
                         
                         ) 
                       
                       ⁢ 
                       
                         tan 
                         ⁡ 
                         ( 
                         hue 
                         ) 
                       
                     
                     - 
                     
                       
                         3 
                       
                       ⁢ 
                       G 
                     
                   
                   
                     
                       tan 
                       ⁡ 
                       ( 
                       hue 
                       ) 
                     
                     - 
                     
                       3 
                     
                   
                 
               
             
             ⁢ 
             
 
             
               
                 
                   
                     if 
                     ⁢ 
                         
                     180 
                   
                   &lt; 
                   hue 
                   ≤ 
                   240 
                 
                 ; 
                 
                   R 
                   = 
                   0 
                 
               
               , 
               
                 G 
                 = 
                 
                   
                     
                       
                         ( 
                         
                           
                             2 
                             ⁢ 
                             R 
                           
                           - 
                           B 
                         
                         ) 
                       
                       ⁢ 
                       
                         tan 
                         ⁡ 
                         ( 
                         hue 
                         ) 
                       
                     
                     + 
                     
                       
                         3 
                       
                       ⁢ 
                       B 
                     
                   
                   
                     
                       tan 
                       ⁡ 
                       ( 
                       hue 
                       ) 
                     
                     + 
                     
                       3 
                     
                   
                 
               
               , 
               
                 B 
                 = 
                 brightness 
               
             
           
         
       
     
     Thus, red, green, and blue areas correspond to high, moderate, and slow flow in a VISTA composite image. 
     As used herein, an element or step recited in the singular and proceeded with the word “a” or “an” should be understood as not excluding plural elements or steps, unless such exclusion is explicitly recited. Furthermore, references to “one embodiment” of the present invention are not intended to be interpreted as excluding the existence of additional embodiments that also incorporate the recited features. 
     Control and processing methods and/or systems described herein may be implemented using computer programming or engineering techniques including computer software, firmware, hardware or any combination or subset thereof, wherein the technical effects may include at least processing of the three-dimensional data and quantitative values according to the present disclosure. 
       FIG.  9    illustrates a block diagram of a computer that may implement the various embodiments described herein, including the controller  102  and the analyzer  104 . Control and processing aspects of the present disclosure may be embodied as a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium on which computer readable program instructions are recorded that may cause one or more processors to carry out aspects of the embodiment. 
     The computer readable storage medium may be a tangible and non-transitory device that can store instructions for use by an instruction execution device (processor). The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any appropriate combination of these devices. A non-exhaustive list of more specific examples of the computer readable storage medium includes each of the following (and appropriate combinations): flexible disk, hard disk, solid-state drive (SSD), random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or Flash), static random access memory (SRAM), compact disc (CD or CD-ROM), digital versatile disk (DVD), MO, and memory card or stick. A computer readable storage medium, as used in this disclosure, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire. 
     Computer readable program instructions implementing the functions described in this disclosure can be downloaded to an appropriate computing or processing device from a computer readable storage medium or to an external computer or external storage device via a global network (i.e., the Internet), a local area network, a wide area network and/or a wireless network. The network may include copper transmission wires, optical communication fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing or processing device may receive computer readable program instructions from the network and forward the computer readable program instructions for storage in a computer readable storage medium within the computing or processing device. 
     Computer readable program instructions for carrying out operations of the present disclosure may include machine language instructions and/or microcode, which may be compiled or interpreted from source code written in any combination of one or more programming languages, including assembly language, Basic, Fortran, Java, Python, R, C, C++, C #or similar programming languages. The computer readable program instructions may execute entirely on a user&#39;s personal computer, notebook computer, tablet, or smartphone, entirely on a remote computer or computer server, or any combination of these computing devices. The remote computer or computer server may be connected to the user&#39;s device or devices through a computer network, including a local area network or a wide area network, or a global network (i.e., the Internet). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by using information from the computer readable program instructions to configure or customize the electronic circuitry, in order to perform aspects of the present disclosure. 
     Aspects of the present disclosure are described herein with reference to flow diagrams and block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the disclosure. It will be understood by those skilled in the art that each block of the flow diagrams and block diagrams, and combinations of blocks in the flow diagrams and block diagrams, can be implemented by computer readable program instructions. 
     The computer readable program instructions that may implement the systems and methods described in this disclosure may be provided to one or more processors (and/or one or more cores within a processor) of a general purpose computer, special purpose computer, or other programmable apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable apparatus, create a system for implementing the functions specified in the flow diagrams and block diagrams in the present disclosure. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having stored instructions is an article of manufacture including instructions which implement aspects of the functions specified in the flow diagrams and block diagrams in the present disclosure. 
     The computer readable program instructions may also be loaded onto a computer, other programmable apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions specified in the flow diagrams and block diagrams in the present disclosure. 
       FIG.  9    is a functional block diagram illustrating a networked system  900  of one or more networked computers and servers. In an embodiment, the hardware and software environment illustrated in  FIG.  9    may provide an exemplary platform for implementation of the software and/or methods according to the present disclosure. Referring to  FIG.  9   , a networked system  900  may include, but is not limited to, computer  905 , network  910 , remote computer  915 , web server  920 , cloud storage server  925  and computer server  930 . In some embodiments, multiple instances of one or more of the functional blocks illustrated in  FIG.  9    may be employed. 
     Additional detail of a computer  905  is also shown in  FIG.  9   . The functional blocks illustrated within computer  905  are provided only to establish exemplary functionality and are not intended to be exhaustive. And while details are not provided for remote computer  915 , web server  920 , cloud storage server  925  and computer server  930 , these other computers and devices may include similar functionality to that shown for computer  905 . Computer  905  may be a personal computer (PC), a desktop computer, laptop computer, tablet computer, netbook computer, a personal digital assistant (PDA), a smart phone, or any other programmable electronic device capable of communicating with other devices on network  910 . 
     Computer  905  may include processor  935 , bus  937 , memory  940 , non-volatile storage  945 , network interface  950 , peripheral interface  955  and display interface  965 . Each of these functions may be implemented, in some embodiments, as individual electronic subsystems (integrated circuit chip or combination of chips and associated devices), or, in other embodiments, some combination of functions may be implemented on a single chip (sometimes called a system on chip or SoC). 
     Processor  935  may be one or more single or multi-chip microprocessors, such as those designed and/or manufactured by Intel Corporation, Advanced Micro Devices, Inc. (AMD), Arm Holdings (Arm), Apple Computer, etc. Examples of microprocessors include Celeron, Pentium, Core i3, Core i5 and Core i7 from Intel Corporation; Opteron, Phenom, Athlon, Turion and Ryzen from AMD; and Cortex-A, Cortex-R and Cortex-M from Arm. Bus  937  may be a proprietary or industry standard high-speed parallel or serial peripheral interconnect bus, such as ISA, PCI, PCI Express (PCI-e), AGP, and the like. 
     Memory  940  and non-volatile storage  945  may be computer-readable storage media. Memory  940  may include any suitable volatile storage devices such as Dynamic Random Access Memory (DRAM) and Static Random Access Memory (SRAM). Non-volatile storage  945  may include one or more of the following: flexible disk, hard disk, solid-state drive (SSD), read-only memory (ROM), erasable programmable read-only memory (EPROM or Flash), compact disc (CD or CD-ROM), digital versatile disk (DVD) and memory card or stick. 
     Program  948  may be a collection of machine readable instructions and/or data that is stored in non-volatile storage  945  and is used to create, manage and control certain software functions that are discussed in detail elsewhere in the present disclosure and illustrated in the drawings. In some embodiments, memory  940  may be considerably faster than non-volatile storage  945 . In such embodiments, program  948  may be transferred from non-volatile storage  945  to memory  940  prior to execution by processor  935 . 
     Computer  905  may be capable of communicating and interacting with other computers via network  910  through network interface  950 . Network  910  may be, for example, a local area network (LAN), a wide area network (WAN) such as the Internet, or a combination of the two, and may include wired, wireless, or fiber optic connections. In general, network  910  can be any combination of connections and protocols that support communications between two or more computers and related devices. 
     Peripheral interface  955  may allow for input and output of data with other devices that may be connected locally with computer  905 . For example, peripheral interface  955  may provide a connection to external devices  960 . External devices  960  may include devices such as a keyboard, a mouse, a keypad, a touch screen, and/or other suitable input devices. External devices  960  may also include portable computer-readable storage media such as, for example, thumb drives, portable optical or magnetic disks, and memory cards. Software and data used to practice embodiments of the present disclosure, for example, program  948 , may be stored on such portable computer-readable storage media. In such embodiments, software may be loaded onto non-volatile storage  945  or, alternatively, directly into memory  940  via peripheral interface  955 . Peripheral interface  955  may use an industry standard connection, such as RS-232 or Universal Serial Bus (USB), to connect with external devices  960 . 
     Display interface  965  may connect computer  905  to display  970 . Display  970  may be used, in some embodiments, to present a command line or graphical user interface to a user of computer  905 . Display interface  965  may connect to display  970  using one or more proprietary or industry standard connections, such as VGA, DVI, DisplayPort and HDMI. 
     As described above, network interface  950 , provides for communications with other computing and storage systems or devices external to computer  905 . Software programs and data discussed herein may be downloaded from, for example, remote computer  915 , web server  920 , cloud storage server  925  and computer server  930  to non-volatile storage  945  through network interface  950  and network  910 . Furthermore, the systems and methods described in this disclosure may be executed by one or more computers connected to computer  905  through network interface  950  and network  910 . For example, in some embodiments the systems and methods described in this disclosure may be executed by remote computer  915 , computer server  930 , or a combination of the interconnected computers on network  910 . 
     Data, datasets and/or databases employed in embodiments of the systems and methods described in this disclosure may be stored and or downloaded from remote computer  615 , web server  620 , cloud storage server  625  and computer server  630 . 
     Numerous modifications and variations of the present invention are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the invention may be practiced otherwise than as specifically described herein.