Patent Description:
Ophthalmoscopes can include multiple scanning modalities in the same instrument. For example, ophthalmoscopes can include both a scanning laser ophthalmoscope (SLO) modality and an optical coherence tomography (OCT) modality to capture two-dimensional and three-dimensional images of the retina of the eye. The SLO and OCT modalities use separate laser light beams that are directed toward the retina of the eye for capturing images thereof.

Scan repeatability and location accuracy depend on the alignment of the light beams. Thus, alignment of the light beams at the retina can be helpful to ensure that the scanning modalities capture the same data from the same location. Any differences in the alignment of the light beams between the different scanning modalities can result in scan location errors, scan sizing errors, and/or scan linearity errors, resulting in image/feature correlation errors.

In various ophthalmic scanning configurations, there are multiple factors that affect the alignment of the light beams used by the different scanning modalities. Therefore, it would be useful to correct the alignment of the light beams from the different scanning modalities within an ophthalmoscope to reduce errors between the different scanning modalities.

<CIT> discloses a scanning laser ophthalmoscope (SLO) for imaging the retina of an eye, which comprises a source of collimated light, a scanning device, a scan transfer device and a detector. The scan transfer device has a first focus at which an apparent point source is provided and a second focus at which an eye may be accommodated. The scan transfer device transfers a two-dimensional collimated light scan from the apparent point source into the eye. An OCT system is combined with the SLO, the OCT system providing OCT reference and sample beams. The OCT sample beam propagates along the same optical path as of the SLO collimated light through the scan transfer device. An aberration compensator automatically compensates for systematic aberrations and/or changes in wavefront introduced by scanning elements and the scan transfer device as a function of scan angle.

The present invention provides an ophthalmic scanning system according to claim <NUM>, and a computer-implemented method of mapping first and second imaging modalities of an ophthalmic scanning system according to claim <NUM>.

Embodiments are described in detail below, in relation to the attached drawing figures.

The following drawing figures, which form a part of this application, are illustrative of the described technology and are not meant to limit the scope of the disclosure in any manner.

<FIG> is schematic diagram illustrating an example ophthalmic scanning system <NUM>. The ophthalmic scanning system <NUM> includes a first imaging modality <NUM>, a second imaging modality <NUM>, and a computing device <NUM>. The components of the ophthalmic scanning system <NUM> including the first imaging modality <NUM>, second imaging modality <NUM>, and computing device <NUM> are housed inside of a housing <NUM> of a single instrument such as an ophthalmoscope, according to one example.

The computing device <NUM> operates to control the first and second imaging modalities <NUM>, <NUM> and has at least one central processing unit <NUM> and a system memory <NUM> that stores instructions that, when executed by the at least one central processing unit <NUM>, causes the central processing unit <NUM> to perform one or more methods and functions described herein. The computing device <NUM> will be described in more detail below in a description of <FIG>.

In some examples, the first imaging modality <NUM> is a scanning laser ophthalmoscope (SLO) imaging modality that uses confocal laser scanning microscopy for diagnostic two-dimensional imaging of the retina of the eye. The first imaging modality <NUM> uses a laser light beam to scan across the retina in a raster pattern to illuminate successive elements of the retina, point-by-point. The light reflected from each retinal point is captured by a photomultiplier. The output of the photomultiplier is recorded and displayed in a digital format. In this manner, the first imaging modality <NUM> is able to produce high-contrast, detailed images of the retina.

In some examples, the second imaging modality <NUM> is an optical coherence tomography (OCT) imaging modality that is noninvasive and uses light waves to obtain high resolution cross-sectional images of the retina. The cross-sectional images are generated by analyzing a time delay and magnitude change of low coherence light as it is backscattered by ocular tissues. Layers within the retina can be differentiated and retinal thickness can be measured to aid in the early detection and diagnosis of retinal diseases and conditions including, by example, glaucoma, age-related macular degeneration (AMD), and diabetic eye disease.

In some examples, images are captured sequentially by the first imaging modality <NUM> and the second imaging modality <NUM> such that a first image is captured by the first imaging modality <NUM>, and thereafter the first image is used a reference for capturing a second image by the second imaging modality <NUM>.

<FIG> is a schematic view of scanning and reflecting elements of an ophthalmic scanning system <NUM>, according to an example embodiment herein. The ophthalmic scanning system <NUM> includes a first light beam imager <NUM> and a second light beam imager <NUM>. In some examples, the first light beam imager <NUM> is a fundus, SLO, or line imager. In some further examples, the second light beam imager <NUM> is an OCT or SLO imager.

The ophthalmic scanning system <NUM> is illustrated in a configuration where light beams from the first and second light beam imagers <NUM>, <NUM> share a common axis (e.g., x-axis) when directed to the patient eye <NUM>. In other configurations, the first and second light beams (and components described herein (e.g., galvanometer)) do not share a common axis, and instead can be independent in both the x-axis and y-axis, such as, by example, in cases where separate x- and y- scanners are employed.

The first light beam imager <NUM> directs light beams of a first type (hereinafter "first light beams") to a rotating polygon mirror <NUM>. The rotating polygon mirror <NUM> scans the first light beams in at least one direction toward an optical beam combiner/splitter <NUM>. Also, the rotating polygon mirror <NUM> directs reflected first light beams received from the optical beam combiner/splitter <NUM> back toward the first light beam imager <NUM>. In some examples, the first light beams are SLO light beams.

The second light beam imager <NUM> directs light beams of a second type (hereinafter "second light beams") to a focus mechanism <NUM>, which directs the second light beams to a galvanometer <NUM>. The galvanometer <NUM> scans the second light beams in at least one direction toward the optical beam combiner/splitter <NUM>. The galvanometer <NUM> also directs reflected second light beams received from the optical beam combiner/splitter <NUM>, back toward the second light beam imager <NUM> by way of focus mechanism <NUM>. In some examples, the second light beams are OCT light beams.

The optical beam combiner/splitter <NUM> combines the first and second light beams received from the rotating polygon mirror <NUM> and the galvanometer <NUM>, respectively, to follow a common path <NUM> towards a target area such as a patient eye <NUM>. The common path <NUM> includes scanning and reflecting elements such as a slit mirror <NUM>, a secondary galvanometer scanner <NUM>, and a main mirror <NUM>. The main mirror <NUM> directs the first and second light beams to the patient eye <NUM>. In some examples, the secondary galvanometer scanner <NUM> (or equivalent) is not a part of the common path <NUM>. Further, the ophthalmic scanning system <NUM> illustrated in <FIG> is just one example of a configuration that can be used with the embodiments described herein, and that additional configurations are contemplated.

The optical beam combiner/splitter <NUM> also splits the first and second light beams that are reflected back from the patient eye <NUM> and directs the reflected first and second light beams back to the first and second light beam imagers <NUM>, <NUM>, respectively, for image processing and analysis after the first and second light beams pass back through the common path <NUM> of scanning and reflecting elements. In some examples herein, the optical beam combiner/splitter <NUM> is a dichroic mirror.

In the example system illustrated in <FIG>, the rotating polygon mirror <NUM> and the galvanometer <NUM> scan the first and second light beams through the common path <NUM> and toward the patient eye <NUM> in a scan pattern that shares at least one common axis (although as described above, in other embodiments the beams are scanned through different axes). As an example, the rotating polygon mirror <NUM> scans the first light beam to have a vertical pattern in a scan location such as the patient eye <NUM>, and the galvanometer <NUM> scans the second light beam in the same vertical pattern such that the first and second light beams share a common horizontal axis (i.e., x-axis). As another example, the rotating polygon mirror <NUM> can scan the first light beam to have a horizontal pattern in a scan location such as the patient eye <NUM>, and the galvanometer <NUM> can scan the second light beam in the same horizontal pattern such that the first and second light beams share a common vertical axis (i.e., y-axis). It is contemplated that in other examples, the rotating polygon mirror <NUM> and the galvanometer <NUM> can scan the first and second light beams in a scan pattern that is independent in both the x-axis and y-axis. Furthermore, additional scan patterns such as diagonal, circular, rosette, and the like are also contemplated.

Optimally, the first and second light beams are co-aligned as they are directed in the common path <NUM> from the optical beam combiner/splitter <NUM> to the patient eye <NUM> so that they are directed to the same points on the patient eye <NUM>. However, various factors may cause correlation errors in the first and second light beams before they reach the patient eye <NUM>.

<FIG> is a schematic detailed view of the optical beam combiner/splitter <NUM> in relation to the rotating polygon mirror <NUM> and the galvanometer <NUM>. In the example illustrated in <FIG>, the optical beam combiner/splitter <NUM> combines the first and second light beams that originated from the first and second light beam imagers <NUM>, <NUM>, respectively. The second light beam, after being directed to the optical beam combiner/splitter <NUM> by the galvanometer <NUM>, is reflected from a first surface 116a of the optical beam combiner/splitter <NUM>, and the first light beam, after being directed to the optical beam combiner/splitter <NUM> by the rotating polygon mirror <NUM>, passes through the optical beam combiner/splitter <NUM> at a second surface 116b and exits at the first surface 116a.

For a given angle θv of the galvanometer <NUM> or the rotating polygon mirror <NUM> relative to the optical beam combiner/splitter <NUM>, the second light beam is optimally reflected from the first surface 116a at a same angle as that in which the first light beam exits the first surface 116a such that the first and second light beams are co-aligned. Co-alignment means that the first and second light beams are directed to the same area on the patient eye <NUM>. However, in some instances such as the one shown in <FIG>, a diffraction error can cause the first and second light beams to have different external angles when they reach the patient eye <NUM> (see <FIG>).

<FIG> depicts a graphic <NUM> that illustrates the effect of the diffraction error on the first light beam compared to the second light beam as the angle θv of the rotating polygon mirror <NUM> or galvanometer <NUM> varies. The diffraction error causes the external angle of the first light beam (i.e., the angle of the light beam going into the patient's eye) to differ from the external angle of the second light beam, at particular angles θv. The difference between the external angles of the first and second light beams increases as the angle θv of the rotating polygon mirror <NUM> increases or decreases away from <NUM> degrees such that the error is more pronounced as the field of view of the first and second light beams increases. As described above, in some examples the first light beams are used for an SLO imaging modality while the second light beams are used for an OCT imaging modality.

<FIG> depicts a graph <NUM> that illustrates the error in the external angle of the first light beam compared to the external angle of the second light beam as the angle θv of the rotating polygon mirror <NUM> varies. As shown in <FIG>, the error in the external angle of the first light beam compared to the external angle of the second light beam increases as the angle θv of the rotating polygon mirror <NUM> increases or decreases away from <NUM> degrees. Thus, the error in the first light beam increases as the field of view of the first light beam increases.

In addition to errors from the optical elements in the path of the first and second light beams (e.g., the diffraction error caused by the optical beam combiner/splitter <NUM>), errors may also result from non-linear behavior differences between the first and second light beams. For example, the ratio between the mechanical angle at the optical beam combiner/splitter <NUM> and the external angle of the light beam that enters the patient's eye can be different for the first and second light beams.

Additionally, non-linear behavior of the external angle of the first and second light beams may result in a transverse (x or y direction) sweep resolution of the light beams to vary as the first and second light beams scan across the eye from top to bottom. This can result in there being non-uniform pixel dimensions that are difficult to correct with image processing. Thus, pixel size to actual physical size encoding preferably should be accounted for to preserve feature size accuracy or linearity between the first and second light beams.

Additional errors may result from the electro-mechanical nature of positioning elements within the ophthalmic scanning system <NUM>. For example, electro-mechanical errors may result from position sensor non-linearity or electrical drive hysteresis which affect the co-alignment of the first and second light beams. The non-linearity of the position sensor may result in errors in pixel dimensions (that may be in addition to non-linear pixel dimensions due to the optical path of the first and second light beams). The effect of these additional errors can be cumulative when used in a closed loop feedback system such as for eye tracking. Non-linear behavior of the galvanometer <NUM> can increase near the end of sweeps. Further, the electrical drive hysteresis behavior (e.g., for multiple forward and reverse sweeps) may result in significant differences between forward and reverse sweeps.

<FIG> schematically illustrates an ophthalmic scanning system <NUM> for co-aligning the first light beams and the second light beams, according to an example embodiment herein. The ophthalmic scanning system <NUM> includes a first light beam imager <NUM> that transmits a first light beam to a first scanning system <NUM> that can include, in one example embodiment herein, the rotating polygon mirror <NUM> described above with reference to <FIG> and <FIG>. In some examples, the first light beam imager <NUM> is a fundus, SLO, or line imager.

The system <NUM> includes an second light beam imager <NUM> that transmits a second light beam to a second scanning system <NUM> that can include, in one example embodiment herein, the focus mechanism <NUM> and galvanometer <NUM> described above with reference to <FIG> and <FIG>. In some examples, the second light beam imager <NUM> is an OCT or SLO imager.

A control system <NUM> maps the second light beam onto the first light beam by compensating the galvanometer in the second scanning system <NUM> to adjust the internal angle of the second light beam directed to the optical beam combiner/splitter <NUM>. The optical beam combiner/splitter <NUM> is similar to the optical beam combiner/splitter <NUM> described above. In some examples, the optical beam combiner/splitter <NUM> is a dichroic mirror that is able to both combine and split the first and second light beams.

The optical beam combiner/splitter <NUM> combines/co-aligns the first and second light beams and directs the co-aligned first and second light beams to a common scanning system <NUM>. The common scanning system <NUM> can include the slit mirror <NUM>, secondary galvanometer scanner <NUM>, and main mirror <NUM> described above with reference to <FIG>, in one example embodiment herein. Accordingly, in at least some examples, the first and second light beam imagers <NUM>, <NUM> share part of an optical path.

The optical beam combiner/splitter <NUM> can also split the first and second light beams reflected back from patient eye <NUM> (by way of beam delivery system <NUM> and common scanning system <NUM>) and directs the reflected first and second light beams back to the first and second light beam imagers <NUM>, <NUM>, respectively, for image processing and analysis.

Beam delivery system <NUM> transmits the co-aligned first and second light beams received from the common scanning system <NUM> to the patient eye <NUM>. The beam delivery system <NUM> can include, in one example embodiment herein, one or more lenses (not shown) for delivering the co-aligned first and second light beams, in either direction.

<FIG> schematically illustrates the control system <NUM> of <FIG> in greater detail. The control system <NUM> uses the first imaging modality as a reference and maps the second imaging modality onto the first imaging modality by compensating for at least one of an optical-mechanical and an electro-mechanical projection difference between the first and second imaging modalities, and thereby aligning all scan system differences and optical path differences between the first and second modalities. The control system <NUM> corrects errors that may otherwise occur when using multiple modalities that do not share a common optical path.

As described above, in some examples, the first imaging modality is an SLO imaging modality and the second imaging modality is an OCT imaging modality. For each of the first and second modalities, the control system <NUM> enables the ophthalmic scanning system to scan a same location with repeatability, provides first and second laser light beam co-alignment, and corrects errors from first and second non-linearity and position dependent resolution. The control system <NUM> enables the ophthalmic scanning system to scan retina pathologies to have the same location, size, shape, and dimensions across the first and second modalities.

The control system <NUM>, in one example embodiment herein, utilizes various look-up tables (LUTs) to control the position and movement of a galvanometer <NUM> of an imaging modality, and thereby provide improved scan location accuracy and correlation between the first and second imaging modalities: a co-alignment correction look-up table <NUM> for providing co-alignment correction; a position-based pixel multiplier look-up table <NUM> for providing target tracking compensation; and a non-linearity corrections look-up table <NUM> for providing non-linearity and hysteresis correction. The control system <NUM> uses these look-up tables to map the second imaging modality onto the first imaging modality, while also providing target tracking and non-linearity compensation. In some examples, the data used to generate the look-up tables is derived from at least one of or a combination of the following: systematic data based on modelling; systematic data based on calibration; biometry information; and fixation and patient positioning error with respect to the imaging system access.

The control system <NUM> includes an electronics board <NUM>, a galvanometer controller <NUM>, and a software module <NUM> that are used in combination to control the galvanometer <NUM>. In some examples, the galvanometer <NUM> is similar to the galvanometer <NUM> described above.

The software module <NUM> includes a region of interest <NUM> for the first imaging modality to generate an image. The region of interest <NUM> is used as a reference for determining a scan location <NUM> for the second imaging modality. The scan location <NUM> can be a portion or subset of the region of interest <NUM> scanned by the first imaging modality such as a location where a feature or pathology is identified within an image generated by the first imaging modality.

In some examples, the scan location <NUM> for the second imaging modality is the same as the region of interest <NUM> of the first imaging modality. In other examples, the scan location <NUM> for the second imaging modality is different from the region of interest <NUM> of the first imaging modality. In some examples, a scan field of view for the second imaging modality is the same as a scan field of view for the first imaging modality. In further examples, a scan field of view for the second imaging modality is different from a scan field of view for the first imaging modality.

The scan location <NUM> is converted into a galvanometer position <NUM>. The galvanometer position <NUM> is based on analog-to-digital converter (ADC) values to control the position of the galvanometer <NUM>. The galvanometer position <NUM> is adjusted by the co-alignment correction look-up table <NUM> to compensate for scan location and alignment errors described above.

The co-alignment correction look-up table <NUM> provides an internal angle to external angle correction for the galvanometer position <NUM>. The co-alignment correction look-up table <NUM> uses data acquired from simulation models that estimate errors in the external angle of the first light beam of the first imaging modality relative to a second light beam of the second imaging modality (e.g., see <FIG>) to determine mechanical angle correction for the galvanometer <NUM>. Thus, the co-alignment correction look-up table <NUM> is used to compensate the galvanometer position <NUM> to reduce and/or eliminate the error between the external angles of the first and second light beams of the first and second imaging modalities.

<FIG> is a schematic detailed view of an optical beam combiner/splitter <NUM> in relation to a rotating polygon mirror <NUM> used for directing the first light beam of the first imaging modality and a galvanometer <NUM> used for directing the second light beam of the second imaging modality. The galvanometer <NUM> is compensated by the co-alignment correction look-up table <NUM> to eliminate errors between the external angles of the first and second light beams. Thus, the galvanometer <NUM> is positioned by the control system <NUM> to adjust the angle of the second light beam directed to the optical beam combiner/splitter <NUM> such that the external angle of the second light beam is mapped onto the external first light beam to co-align the first and second light beams of the first and second imaging modalities.

<FIG> depicts a graph <NUM> that illustrates mechanical angle correction data that is included in the co-alignment correction look-up table <NUM> for adjusting the angle θv of the galvanometer <NUM> (see <FIG>) to map the second light beam onto the first light beam. As shown in <FIG>, the mechanical angle correction of the galvanometer <NUM> increases as the angle θv of the rotating polygon mirror <NUM> increases or decreases away from <NUM> degrees (i.e., in the left or right directions of the x-axis). Thus, the mechanical angle correction of the galvanometer <NUM> increases as the field of view of the first and second light beams increases.

Referring back to <FIG>, in some scenarios, co-alignment correction look-up table <NUM> is not utilized to compensate the galvanometer position <NUM> (see arrow linking the scan location <NUM> directly to the galvanometer position <NUM>). This may occur when the ophthalmic scanning system performs only the second scan modality without performing the first scan modality.

Also shown in <FIG>, the position-based pixel multiplier look-up table <NUM> is used to compensate for non-uniform pixel dimensions of the first and second light beams as the light beams scan across the patient's eye. Further, the position-based pixel multiplier look-up table <NUM> is used to convert output from an eye tracking logic <NUM> (described in more detail below) into ADC values depending on real-time scan position.

Different scaling factors from the position-based pixel multiplier look-up table <NUM> are used for compensating the first and second light beams for each mechanical angle of the respective rotating polygon mirror <NUM> and galvanometer <NUM> (see <FIG>). The position-based pixel multiplier look-up table <NUM> uses data acquired from simulation models. For example, <FIG> depicts a graph <NUM> (that may be used by the position-based pixel multiplier look-up table <NUM>) that displays scaling factors (e.g., y-axis) for compensating for non-uniform pixel dimensions caused by the rotating polygon mirror <NUM>. <FIG> depicts a graph <NUM> (that may be used by the position-based pixel multiplier look-up table <NUM>) that displays scaling factors (e.g., y-axis) for compensating for the non-uniform pixel dimensions from the galvanometer <NUM>.

In some example scenarios, the position-based pixel multiplier look-up table <NUM> is not utilized to compensate the galvanometer position <NUM>. For example, the position-based pixel multiplier look-up table <NUM> is not used when the system does not have a non-linear scan location dependent pixel to ADC value relation. In these examples, the ADC values for the galvanometer position <NUM> are transmitted directly from that element of software module <NUM> to the galvanometer drive position look-up table <NUM> in the galvanometer controller <NUM>.

The galvanometer drive position look-up table <NUM> is a memory of the galvanometer controller <NUM> that stores the ADC values from the galvanometer position <NUM> to control the position of the galvanometer <NUM>. The inputs in the galvanometer drive position look-up table <NUM> thus control the location where it is desired for the galvanometer <NUM> to move and start scanning. The inputs can be stored in a plurality of different waveforms in the galvanometer drive position look-up table <NUM>. Advantageously, combining the drive and co-alignment correction values in the same memory leads to a reduction in real-time storage for the galvanometer controller <NUM>.

When the galvanometer drive position look-up table <NUM> obtains the ADC values from the galvanometer position <NUM>, the ADC values are thereafter compensated by a position-based pixel multiplier <NUM> in the galvanometer controller <NUM>. The position-based pixel multiplier <NUM> is a memory of the galvanometer controller <NUM>. In the some examples, the position-based pixel multiplier <NUM> stores only a portion or subset of the position-based pixel multiplier look-up table <NUM> to save memory in the galvanometer controller <NUM>.

The galvanometer controller <NUM> includes an eye tracking logic <NUM> that generates an adjustment of the scan pattern to compensate for eye and/or head movements of the patient. The position-based pixel multiplier <NUM> is used to convert outputs from the eye tracking logic <NUM> that are in pixels into ADC values for use by the galvanometer drive position look-up table <NUM>. In some examples, the adjustment is non-linear such that a multiplier <NUM> is used to compensate the ADC values from the position-based pixel multiplier <NUM> for the different pixel scaling in the different regions of the patient's eye. The multiplier <NUM> converts the ADC values in accordance with the pixel scaling for the different regions of the eye to adjust the position for the galvanometer <NUM> based on the eye tracking logic <NUM>.

The output from the position-based pixel multiplier <NUM> is used to convert eye tracking pixel errors from the eye tracking logic <NUM> into galvanometer drive values by multiplication. The multiplier <NUM> is not a constant, in one example embodiment herein. Instead, by example, the multiplier <NUM> is scan position dependent. Thus, the scan position is obtained from the galvanometer drive position look-up table <NUM>, and a multiplier is selected from the position-based pixel multiplier <NUM>, and the eye tracking pixel error is multiplied by the multiplier <NUM> to provide a galvanometer drive error summed into the drive waveform at memory block <NUM>. Thus, memory block <NUM> combines the scan position from the galvanometer drive position look-up table <NUM> with an offset from the eye tracking logic <NUM> via the multiplier <NUM> after multiplication with non-linear pixel correction coefficients from the position-based pixel multiplier <NUM>. The drive waveform is then fed into a PID controller and PWM driver <NUM> that drives a motor controller <NUM> for directing the position and movement of the galvanometer <NUM>.

In one illustrative example, the eye tracking logic <NUM> receives an SLO image while OCT scanning is taking place. The eye tracking logic <NUM> compares the incoming SLO image with a reference image. In some examples, the reference image is derived from an image early in the scan sequence or from a reference SLO planning image. The output of eye tracking logic <NUM> is in pixels (x-axis and y-axis coordinates), which the SLO image is offset with respect to the reference image. These pixel errors are multiplied by the multiplier <NUM> to convert them to galvanometer drive values (i.e., ADC values). The conversion is non-linear, and is scan position dependent, in one example embodiment herein. Thus, the position-based pixel multiplier <NUM> provides the correct multiplier for the current scan location (in ADC values).

Still referring to <FIG>, a non-linearity corrections look-up table <NUM> also can be used to adjust the position of the galvanometer <NUM> to compensate for non-linearity of the first and second light beams and hysteresis effects on the galvanometer <NUM>, as will be described below. First, <FIG> and <FIG> will be described.

<FIG> depicts a graph <NUM> displaying ADC values over the mechanical angle of the galvanometer <NUM> (top curve) and a gradient of the ADC values over the mechanical angle of the galvanometer <NUM> (bottom curve). As shown in <FIG>, the ADC values roll-off at the ends of the movement (i.e., sweeps) of the galvanometer <NUM>. Thus, the relationship between the ADC values and the galvanometer position changes depending on the position of galvanometer such that the relationship is non-linear at opposite ends of the field of view of the galvanometer <NUM> (e.g., the ends of the sweeps). The non-linearity of the ADC values exists from how the galvanometer <NUM> is driven when reflecting the second light beams or from the position sensors of the galvanometer <NUM> which produce analog output signals that identify the position of the galvanometer). The effect of the non-linearity (when left uncompensated) is that the galvanometer will not be correctly pointed to the desired position at all scan angles. Instead, the galvanometer will incorrectly report the "correct position" and the control system <NUM> will be unable to detect that the galvanometer is incorrectly pointed in the wrong direction.

<FIG> depicts a graph <NUM> that illustrates an electrical drive hysteresis from forward and reverse sweeps of the galvanometer <NUM>. The hysteresis from reversed wave forms causes the same ADC values to have different mechanical angles at each location of the galvanometer <NUM> for the entire sweep range from end to end. (In one illustrative, non-limiting example, hysteresis may occur where the positon of galvanometer <NUM> is driven to a position <NUM>,<NUM>, and where an angle of the galvanometer <NUM> is pointing to either -<NUM> or <NUM> degrees, depending on movement +ve or -ve. Also in one illustrative, non-limiting example, such an error can be compensated locally in software for a scan angle by overdriving the galvanometer using parameters such as, e.g., gain and dc-offset, which eventually results in a location for both forward and reverse sweeps that is close to an originally planned location).

Referring back to <FIG>, the non-linearity corrections look-up table <NUM> receives inputs from a low-pass filter <NUM>, which receives inputs from a position feedback circuit <NUM>. The non-linearity corrections look-up table <NUM> stores data acquired from simulation models (such as the data included in graphs <NUM> and <NUM>), wherein the stored data is used to compensate for non-linearity of ADC values and hysteresis of the galvanometer <NUM>. Based on position information of galvanometer <NUM> received from the position feedback circuit <NUM> by way of the low-pass filter <NUM>, the non-linearity corrections look-up table <NUM> is used to provide compensated position information to the PID controller and PWM driver <NUM>.

The PID controller and PWM driver <NUM> responds to the compensated position information, received from the non-linearity corrections look-up table <NUM>, by controlling a motor controller <NUM> to control the position and movement of the galvanometer <NUM> based on the new position information. The PID controller and PWM driver <NUM> uses the error between the current position of the galvanometer <NUM> (output of <NUM>) and the desired position of the galvanometer <NUM> (output from memory block <NUM>) to drive the galvanometer <NUM> to the correct position. In some examples, the non-linearity corrections look-up table <NUM> corrects for position sensor errors from the galvanometer <NUM>. The output from the memory block <NUM> corrects the drive position errors (i.e., from eye tracking or known optical errors in the system), so that the output of memory block <NUM> is the desired drive value for the galvanometer <NUM>. The galvanometer <NUM> then performs a scan over a target area. In some examples the galvanometer <NUM> performs an optical coherence tomography (OCT) scan over the target area.

When the location and movement of the galvanometer <NUM> is controlled in accordance with the control system <NUM>, the ratio of the mechanical angle to the external angle for second light beam path of the second imaging modality becomes the same as the ratio of the mechanical angle to the external angle for first light beam path of the first imaging modality. Thus, the control system <NUM> provides improved scan location accuracy and correlation between the first and second imaging modalities and enables the first and second imaging modalities to have a wider field view in an ophthalmic scanning system. For example, the first and second imaging modalities can have a <NUM> degree field of view that includes about <NUM> percent of the retina while significantly reducing scan location errors, scan sizing errors, and scan linearity errors.

Advantageously, the control system <NUM> enables an ophthalmic scanning system to cover a wider scanning range (i.e., an ultra-wide-field) while providing improved scan linearity and accuracy throughout the entire scanning range. Additionally, errors between the first and second imaging modalities are made negligible at the scanner level to achieve a high level of scan resolution and repeatability such that post-imaging processing is not needed to correct for the scan location and resolution differences between the first and second imaging modalities. Furthermore, the control system <NUM> can substantially reduce the effects of hysteresis and non-linearity on the galvanometer <NUM>.

<FIG> illustrates a method <NUM> of mapping a second imaging modality onto a first imaging modality, according to an example embodiment herein. As described above, in some examples the first imaging modality is an SLO imaging modality and the second imaging modality is an OCT imaging modality. The method <NUM> includes an operation <NUM> of receiving a scan location for the second imaging modality (e.g., the scan location <NUM> of <FIG>) based on a region of interest imaged by the first imaging modality (e.g., the region of interest <NUM> of <FIG>). The scan location can be a feature or pathology identified within the region of interest imaged by the first imaging modality. The method <NUM> then determines at operation <NUM> an initial galvanometer position for the second imaging modality (e.g., the galvanometer position <NUM> of <FIG>) based on the scan location received from operation <NUM>.

Next, the method <NUM> includes an operation <NUM> of adjusting the initial galvanometer position for the second imaging modality using a co-alignment correction look-up table (e.g., the co-alignment correction look-up table <NUM> of <FIG>). As described above, the co-alignment correction look-up table provides an internal angle to external angle correction for the galvanometer position to adjust the galvanometer position to compensate for the errors between the external angles of the first and second light beams at the target area.

Next, the method <NUM> at operation <NUM> determines whether the target area has moved (e.g., when the patient moves their eye). If it is determined that the target area has moved (i.e., "yes" in operation <NUM>), the method <NUM> proceeds to operation <NUM> to perform an eye tracking logic that generates an adjustment of the scan pattern to compensate for eye and/or head movements of the patient. As described above, a look-up table such as the position-based pixel multiplier <NUM> can be used to convert outputs from the eye tracking logic that are in pixels into ADC values to adjust the galvanometer position. Different scaling factors are provided in the look-up table for compensating for the non-uniform pixel dimensions.

If it is determined that the target area has not moved (i.e., "no" in operation <NUM>) or after completion of performing the eye tracking logic in operation <NUM>, the method <NUM> proceeds to operation <NUM> where a non-linearity corrections look-up table (e.g., the non-linearity corrections look-up table <NUM> of <FIG>) is used to adjust the position of the galvanometer to compensate for the non-linearity and the hysteresis effects on the galvanometer. Thereafter, the method <NUM> proceeds to operation <NUM> by performing a scan of the target area by the second imaging modality. In some examples, the scan performed at operation <NUM> is an OCT scan.

<FIG> illustrates example physical components of a computing device <NUM>, such as the computing device or devices associated with the ophthalmic scanning systems described above. As shown, the computing device <NUM> includes at least one processor or central processing unit ("CPU") <NUM>, a system memory <NUM>, and a system bus <NUM> that couples the system memory <NUM> to the CPU <NUM>. The central processing unit <NUM> is an example of a processing device.

The system memory <NUM> includes a random access memory ("RAM") <NUM> and a read-only memory ("ROM") <NUM>. A basic input/output system containing the basic routines that help to transfer information between elements within the computing device, such as during startup, is stored in the ROM <NUM>. The computing device further includes a mass storage device <NUM>. The mass storage device <NUM> is able to store software instructions and data. The mass storage device <NUM> is connected to the CPU <NUM> through a mass storage controller connected to the system bus <NUM>. The mass storage device <NUM> and its associated computer-readable data storage media provide non-volatile, non-transitory storage for the computing device <NUM>. Although the description of computer-readable data storage media contained herein refers to a mass storage device, such as a hard disk or CD-ROM drive, it should be appreciated by those skilled in the art that computer-readable data storage media can be any available non-transitory, physical device or article of manufacture from which the device can read data and/or instructions. The mass storage device <NUM> is an example of a computer-readable storage device.

Computer-readable data storage media include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable software instructions, data structures, program modules or other data. Example types of computer-readable data storage media include, but are not limited to, RAM, ROM, EPROM, EEPROM, flash memory or other solid-state memory technology, CD-ROMs, digital versatile discs ("DVDs"), other optical storage media, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computing device.

The computing device <NUM> may operate in a networked environment using logical connections to remote network devices through the network <NUM>, such as a local network, the Internet, or another type of network. The computing device <NUM> connects to the network <NUM> through a network interface unit <NUM> connected to the system bus <NUM>. The network interface unit <NUM> may also connect to other types of networks and remote computing systems.

The computing device <NUM> includes an input/output controller <NUM> for receiving and processing input from a number of other devices, including a touch user interface display screen, or another type of input device. Similarly, the input/output controller <NUM> may provide output to a touch user interface display screen, a printer, or other type of output device.

As mentioned above, the mass storage device <NUM> and the RAM <NUM> of the computing device <NUM> can store software instructions and data. The software instructions include an operating system <NUM> suitable for controlling the operation of the computing device <NUM>. The mass storage device <NUM> and/or the RAM <NUM> also store software instructions, that when executed by the CPU <NUM>, cause the computing device <NUM> to provide the functionality discussed in this document, including the methods described herein and shown in the Figures.

Communication media may be embodied in the software instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes any information delivery media. By way of example, communication media may include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared, and other wireless media.

The block diagrams depicted herein are just examples. There may be many variations to these diagrams described therein without departing from the scope of the disclosure. For instance, components may be added, deleted or modified.

In the foregoing description, example aspects are described with reference to several example embodiments. Accordingly, the specification is illustrative, rather than restrictive. Similarly, the figures illustrated in the drawings, which highlight the functionality and advantages of the example embodiments, are presented for example purposes only. The architecture of the example embodiments is sufficiently flexible and configurable, such that it may be utilized (and navigated) in ways other than those shown in the accompanying figures.

Software embodiments of the examples presented herein may be provided as, a computer program, or software, such as one or more programs having instructions or sequences of instructions, included or stored in an article of manufacture such as a machine-accessible or machine-readable medium, an instruction store, or computer-readable storage device, each of which can be non-transitory, in one example embodiment (and can form a memory or store). The program or instructions on the non-transitory machine-accessible medium, machine-readable medium, memory, instruction store, or computer-readable storage device or medium, may be used to program a computer system or other electronic device. The machine- or computer-readable device/medium, memory, instruction store, and storage device may include, but are not limited to, floppy diskettes, optical disks, and magneto-optical disks or other types of media/machine-readable medium/instruction store/storage device suitable for storing or transmitting electronic instructions. The techniques described herein are not limited to any particular software configuration. They may find applicability in any computing or processing environment. The terms "computer-readable medium", "machine-accessible medium", "machine-readable medium", "memory", "instruction store", "computer-readable storage medium", and "computer-readable storage device" used herein shall include any medium that is capable of storing, encoding, or transmitting instructions or a sequence of instructions for execution by the machine, computer, or computer processor and that causes the machine/computer/computer processor to perform any one of the methods described herein. Furthermore, it is common in the art to speak of software, in one form or another (e.g., program, procedure, process, application, module, unit, logic, and so on), as taking an action or causing a result. Such expressions are merely a shorthand way of stating that the execution of the software by a processing system causes the processor to perform an action to produce a result.

Some embodiments may also be implemented by the preparation of application-specific integrated circuits, field-programmable gate arrays, or by interconnecting an appropriate network of conventional component circuits.

Some embodiments include a computer program product. The computer program product may be a storage medium or media, memory, instruction store(s), or storage device(s), having instructions stored thereon or therein which can be used to control, or cause, a computer or computer processor to perform any of the procedures of the example embodiments described herein. The storage medium/memory/instruction store/storage device may include, by example and without limitation, an optical disc, a ROM, a RAM, an EPROM, an EEPROM, a DRAM, a VRAM, a flash memory, a flash card, a magnetic card, an optical card, nanosystems, a molecular memory integrated circuit, a RAID, remote data storage/archive/warehousing, and/or any other type of device suitable for storing instructions and/or data.

Stored on any one of the computer-readable medium or media, memory, instruction store(s), or storage device(s), some implementations include software for controlling both the hardware of the system and for enabling the system or microprocessor to interact with a human user or other mechanism utilizing the results of the example embodiments described herein. Such software may include without limitation device drivers, operating systems, and user applications. Ultimately, such computer-readable media or storage device(s) further include software for performing example aspects of the invention, as described above.

Included in the programming and/or software of the system are software modules for implementing the procedures described herein. In some example embodiments herein, a module includes software, although in other example embodiments herein, a module includes hardware, or a combination of hardware and software.

Claim 1:
An ophthalmic scanning system (<NUM>) comprising:
a first imaging modality (<NUM>);
a second imaging modality (<NUM>) different from the first imaging modality (<NUM>); and
a control system (<NUM>) having a module (<NUM>) comprising software and/or hardware arranged to implement a procedure which maps the first imaging modality (<NUM>) to the second imaging modality (<NUM>) by compensating for at least one of an optical-mechanical and an electro-mechanical projection difference between the first and second imaging modalities (<NUM>, <NUM>), providing a scan location for the second imaging modality (<NUM>) based on a scan location of the first imaging modality (<NUM>).