Patent Description:
Eye surgery can involve reshaping the cornea and/or surface of the eye, insertion and/or replacement of intraocular devices and/or artificial intraocular lenses (IOLs), and/or other surgical manipulation of the active optical components of the eye. To achieve an optimal post-operative visual outcome, a good pre-operative clinical evaluation and surgical plan, and intraoperative monitoring of the execution of the surgical plan, are crucial.

Ocular aberrometry performed by an ocular aberrometer is typically the general methodology used to characterize the eye prior to surgery, to monitor the progress of the surgery, and to evaluate the success of the surgery. Conventional ocular aberrometers often suffer from a variety of measurement errors associated with eye movement and/or misalignment and optical aberrations of the aberrometer itself, which can lead to an inaccurate surgical plan and suboptimal surgical or vision outcome for a patient.

Therefore, there is a need in the art for systems and methods to improve clinical and/or intraoperative ocular aberrometry that leads to optimized surgical or vision outcomes for patients. Reference is made to <CIT> cited as relating to the background state of the art. <CIT> is directed to an apparatus for ascertaining predicted subjective
refraction data or predicted subjective correction values of an eye to be examined on the basis of objective refraction data of the eye to be examined is disclosed. The apparatus includes an evaluation device with a calculation unit, which ascertains the predicted subjective refraction data or predicted subjective correction values of the eye from the objective refraction data of the eye with a function.

The scope is in accordance with the appended claims.

Techniques are disclosed for systems and methods to provide improved ocular aberrometry.

Embodiments of the invention and their advantages are best understood by referring to the detailed description that follows.

In accordance with various embodiments of the present disclosure, ocular aberrometry systems and methods provide substantially real time measurement and monitoring of aberrations of a patient's eye with reduced system and measurement errors typical of conventional systems. For example, when a patient's eye fixates during an ocular aberration measurement or exam, it will naturally drift. This fixation drift includes tip, tilt, twist rotations of the eye, as well as changes in x, y, and z positions. These alignment deviations cause errors in the calculation of an eye's wavefront-characterized aberrations. If the average of these alignment deviations is close to zero, then averaging wavefront aberration measurements from individual frames of an exam image stream can be sufficient to remove most of the errors caused by misalignment. When the average of the alignment deviations for an exam sequence is known not to be near zero, or it cannot be confirmed that the alignment deviations have a near-zero mean, the measurement error or noise may be reduced using various strategies described herein, including one or a combination of averaging wavefront sensor data (e.g., represented by Zernike polynomial expansions) where the alignment deviation does not exceed a preset threshold, correcting misalignment-based error in the wavefront sensor data using a complex analysis method (described herein), determining a fixation status of the eye (e.g., for each wavefront measurement) based on cluster analysis applied to a series of wavefront measurements and/or based on eye tracker data. Estimated alignment deviations and/or their effects on wavefront measurements may be reduced to an ocular alignment deviation metric and provided to a user of the ocular aberrometry system as a display view with corresponding graphics or used to cause the ocular aberrometry system to ignore an image from an exam image sequence or abort and/or restart an exam. As such, embodiments provide substantially real time monitoring feedback while providing more reliable and accurate aberrometry measurements than conventional systems, such as by decreasing the variability in clinical and intraoperative ocular aberrometry exams due to eye movement during an exam image sequence.

In additional embodiments of the present disclosure, ocular aberrometry systems and methods provide a platform and techniques to accurately characterize system aberrations and correct wavefront sensor data that would otherwise be degraded by alignment deviations associated with the patient's eye. For example, to account for the possible error caused by system aberrations or created during eye motion, ocular aberrometry systems described herein may employ one or more of two unique forms of calibration for accurate high order aberration (HOA) analysis: a system characterization process, and a complex analysis training process.

For the system characterization process, the ocular aberrometry system may be used to measure a series of reference interferograms (e.g., a form of wavefront sensor data) generated by a model target configured to present substantially a single type of variable aberration (e.g., a defocus aberration) to the ocular aberrometry system with substantially zero alignment deviation. The reference interferograms may be used to characterize and/or quantify any system aberrations of the particular ocular aberrometry system, which can be used to correct wavefront sensor data provided by a wavefront sensor of that particular ocular aberrometry system, such as by removing it prior to subsequent analysis.

For the complex analysis training process, the ocular aberrometry system may be used to capture sets of wavefront measurements generated with a model target configured to present a selection of different types and varying strengths of aberrations (e.g., for Zernike expansion coefficients up through <NUM>th order) to the ocular aberrometry system with a variable alignment deviation in tip, tilt, twist rotations and x, y, and z positions of the aberration element of the model target. The sets of wavefront measurements may be used to train and/or refine a complex analysis engine executed by the ocular aberrometry system and configured to generate substantially accurate estimated alignment deviations and/or corrected wavefront sensor data based on uncorrected wavefront sensor data, for example, or a combination of uncorrected wavefront sensor data and eye tracker data, as described herein. As such, embodiments provide more reliable and accurate aberrometry measurements than conventional systems, such as by increasing the precision and accuracy of aberrometry measurements due to reduction in errors resulting from system aberrations and off-axis or skewed eye aberrometry measurements. Moreover, embodiments provide a more robust (e.g., reliable and quick) aberrometry system by increasing the range of alignment deviations (e.g., present and/or detected in a given image of an exam image sequence) that may be accurately compensated for or corrected and thus included in a particular exam.

<FIG> illustrates a block diagram of an ocular aberrometry system <NUM> in accordance with an embodiment of the disclosure. In the embodiment shown in <FIG>, ocular aberrometry system <NUM> may be implemented to provide substantially real time (e.g., <NUM> updates) monitoring of an optical target <NUM> (e.g., a patient's eye) while continuously compensating for common characterization errors, such as patient movement, system optical aberrations, thermal variations, vibrations, and/or other characterization errors that would otherwise degrade the ocular aberrometry provided by ocular aberrometry system <NUM>.

As shown in <FIG>, ocular aberrometry system <NUM> includes a beacon <NUM> generating probe beam <NUM> that is used to illuminate optical target <NUM> for wavefront sensor <NUM> and/or other elements of ocular aberrometry system <NUM>. Ocular aberrometry system <NUM> may also include various other sensor specific beacons and/or light sources, such as light emitting diode (LED) array <NUM> used to illuminate optical target <NUM> for eye tracker <NUM>, and OCT beacon <NUM> used to generate OCT probe beam <NUM> to illuminate optical target <NUM> for OCT sensor <NUM>. Beam splitters <NUM>-<NUM> are used to provide probe beam <NUM> to optical target <NUM> and generate associated sensor beams <NUM>, <NUM>, <NUM> sourced by optical target <NUM> (e.g., a portion of probe beam <NUM>, OCT probe beam <NUM>, and light generated by LED array <NUM> reflected by optical target <NUM>). Beacon <NUM>, OCT beacon <NUM>, LED array <NUM>, and each sensor element of ocular aberrometry system <NUM> may be controlled by controller <NUM> (e.g., over communication links <NUM>-<NUM>), and controller <NUM> may also serve as an interface between beacon <NUM>, OCT beacon <NUM>, LED array <NUM>, and the sensor elements of ocular aberrometry system <NUM> and other elements of ocular aberrometry system <NUM>, including user interface <NUM>, server <NUM>, distributed server <NUM>, and other modules <NUM> (e.g., accessed over optional communication links <NUM>, <NUM>, and <NUM>), as shown.

In typical operation, controller <NUM> initializes one or more of wavefront sensor <NUM>, optional OCT sensor <NUM>, and optional eye tracker <NUM>, controls beacon <NUM>, OCT beacon <NUM>, and/or LED array <NUM> to illuminate optical target <NUM>, and receives ocular aberrometry output data (e.g., wavefront sensor data, eye tracker data, OCT sensor data) from the various sensor elements of ocular aberrometry system <NUM>. Controller <NUM> may process the ocular aberrometry output data itself (e.g., to detect or correct for alignment deviations and/or extract aberrometry parameters from wavefront sensor data) or may provide the ocular aberrometry output data to server <NUM> and/or distributed server system <NUM> (e.g., over network <NUM>) for processing, as described herein. Controller <NUM> and/or server <NUM> may be configured to receive user input at user interface <NUM> (e.g., to control operation of ocular aberrometry system <NUM>) and/or to generate user feedback for display to a user via a display of user interface <NUM>, such as display views of the ocular aberrometry output data and/or characteristics of the ocular aberrometry output data, as described herein. Controller <NUM>, server <NUM>, and/or distributed server system <NUM> may be configured to store, process, and/or otherwise manipulate data associated with operation and/or characterization of ocular aberrometry system <NUM>, for example, including machine learning and/or training of a complex analysis engine (e.g., a neural network based classification and/or regression engine) to characterize system aberrations of ocular aberrometry system <NUM>, detect alignment deviations associated with optical target <NUM>, and/or correct wavefront sensor data and/or associated aberration classification coefficients, as described herein. In various embodiments, ocular aberrometry system <NUM> may be configured to provide substantially real time monitoring and user feedback (e.g., <NUM> or higher frequency updates) of the optical aberrometry of optical target <NUM> while continuously compensating for common characterization errors, as described herein, which makes ocular aberrometry system <NUM> particularly well suited for clinical and intraoperative examinations.

Beacon <NUM> may be implemented by a laser source (e.g., producing substantially coherent light) and/or a superluminescent diode (e.g., an "SLD" producing relatively low coherence light) that may be controlled by controller <NUM> to produce probe beam <NUM> primarily for use with wavefront sensor <NUM>. OCT beacon <NUM> may be implemented by a laser source and/or a superluminescent diode (e.g., producing relatively low coherence light, which is particularly suited for OCT sensor <NUM>) that may be controlled by controller <NUM> to produce OCT probe beam <NUM> primarily for use with OCT sensor <NUM>. In various embodiments, OCT beacon may be integrated with OCT sensor <NUM>, as shown, may be integrated with beacon <NUM>, for example, and/or may be implemented as its own standalone beacon, similar to beacon <NUM> (e.g., using an appropriate arrangement of beam splitters). LED array <NUM> may be implemented by a shaped or patterned array of LEDs that may be controlled by controller <NUM> to illuminate target <NUM> primarily for use with eye tracker <NUM>. Beam splitters <NUM>-<NUM> may be implemented by any of a number of optical components (e.g., pellicle beam splitters, mirrored surfaces) configured to aim and/or pass probe beam <NUM> through to optical target <NUM> and to divert at least a portion of probe beam <NUM> and/or a source beam generated by optical target <NUM> (e.g., a reflected portion of probe beam <NUM> or <NUM> and/or the light emitted from LED array <NUM>) towards the various sensor elements of ocular aberrometry system <NUM> to form sensor beams <NUM>-<NUM> (e.g., sensor beams). Optical target <NUM> may be a patient eye, for example, or may be implemented by single pass (probe beam <NUM> is off and optical target <NUM> generates its own illumination) or double pass (e.g., normal operation with probe beam <NUM> on) model target, for example, as described herein.

Wavefront sensor <NUM> may be implemented as any one or combination of devices or device architectures configured to measure the aberrations of an optical wavefront, such as the optical wavefront of sensor beam <NUM> generated by at least a reflection of probe beam <NUM> from optical target <NUM>, and wavefront sensor <NUM> may be configured to provide associated wavefront sensor data. For example, wavefront sensor <NUM> may be implemented as any one or combination of a Shack-Hartmann wavefront sensor, a phase-shifting Schlieren technique wavefront sensor, a wavefront curvature sensor, a pyramid wavefront sensor, a common-path interferometer, a multilateral shearing interferometer, a Ronchi tester, a shearing interferometer, and/or other wavefront sensor capable of being configured for use in ophthalmology. Wavefront sensor data provided by wavefront sensor <NUM> may be represented in a variety of formats, including Zernike coefficients, for example, Fourier, Cosine, or Hartley transforms, or Taylor polynomials in cylindrical or cartesian coordinates, or as interferograms.

OCT sensor <NUM> may be implemented any one or combination of devices or device architectures configured to use relatively low-coherence light and low-coherence interferometry to capture micrometer and/or sub-micrometer resolution two and three dimensional images from within an optical scattering media, such as optical target <NUM>, and be configured to provide associated OCT sensor data. For example, OCT sensor <NUM> may be implemented as any one or combination of OCT sensor architectures capable of being configured for use in ophthalmology. Eye tracker <NUM> may be implemented any one or combination of devices or device architectures configured to track the orientation and/or position of optical target <NUM> and/or a feature of optical target <NUM> (e.g., a retina, pupil, iris, cornea, lens), including a conventional eye tracker or a fundus camera, and be configured to provide associated eye tracker data. In some embodiments, eye tracker <NUM> may be configured to capture images of one or more types of Purkinje reflections associated with target <NUM>.

Controller <NUM> may be implemented as any appropriate logic device (e.g., processing device, microcontroller, processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), memory storage device, memory reader, or other device or combinations of devices) that may be adapted to execute, store, and/or receive appropriate instructions, such as software instructions implementing a control loop or process for controlling various operations of ocular aberrometry system <NUM> and/or elements of ocular aberrometry system <NUM>, for example. Such software instructions may also implement methods for processing sensor signals, determining sensor information, providing user feedback (e.g., through user interface <NUM>), querying devices for operational parameters, selecting operational parameters for devices, or performing any of the various operations described herein (e.g., operations performed by logic devices of various devices of ocular aberrometry system <NUM>).

In addition, a machine readable medium may be provided for storing non-transitory instructions for loading into and execution by controller <NUM>. In these and other embodiments, controller <NUM> may be implemented with other components where appropriate, such as volatile memory, non-volatile memory, one or more interfaces, and/or various analog and/or digital components for interfacing with devices of ocular aberrometry system <NUM>. For example, controller <NUM> may be adapted to store sensor signals, sensor information, complex analysis parameters, calibration parameters, sets of calibration points, training data, reference data, and/or other operational parameters, over time, for example, and provide such stored data to other elements of ocular aberrometry system <NUM>. In some embodiments, controller <NUM> may be integrated with user interface <NUM>.

User interface <NUM> may be implemented as one or more of a display, a touch screen, a keyboard, a mouse, a joystick, a knob, a virtual reality headset, and/or any other device capable of accepting user input and/or providing feedback to a user. In various embodiments, user interface <NUM> may be adapted to provide user input to other devices of ocular aberrometry system <NUM>, such as controller <NUM>. User interface <NUM> may also be implemented with one or more logic devices that may be adapted to execute instructions, such as software instructions, implementing any of the various processes and/or methods described herein. For example, user interface <NUM> may be adapted to form communication links, transmit and/or receive communications (e.g., sensor data, control signals, user input, and/or other information), determine parameters for one or more operations, and/or perform various other processes and/or methods described herein.

In some embodiments, user interface <NUM> may be adapted to accept user input, for example, to form a communication link (e.g., to server <NUM> and/or distributed server system <NUM>), to select particular parameters for operation of ocular aberrometry system <NUM>, to select a method of processing sensor data, to adjust a position and/or orientation of an articulated model target, and/or to otherwise facilitate operation of ocular aberrometry system <NUM> and devices within ocular aberrometry system <NUM>. Once user interface <NUM> accepts a user input, the user input may be transmitted to other devices of system <NUM> over one or more communication links. In one embodiment, user interface <NUM> may be adapted to display a time series of various sensor data and/or other parameters as part of display including a graph or map of such data and/or parameters. In some embodiments, user interface <NUM> may be adapted to accept user input modifying a control loop or process parameter of controller <NUM>, for example, or a control loop or process parameter of any other element of ocular aberrometry system <NUM>.

Other modules <NUM> may include any one or combination of sensors and/or devices configured to facilitate operation of ocular aberrometry system <NUM>. For example, other modules <NUM> may include a temperature sensor configured to measure one or more temperatures associated with operation of one or more elements of ocular aberrometry system <NUM>, a humidity sensor configured to measure ambient humidity about ocular aberrometry system <NUM>, a vibration sensor configured to measure a vibration amplitude and/or presence associated with operation of ocular aberrometry system <NUM>, a patient sensor configured to measure a posture, motion, or other characteristic of a patient supply optical target <NUM>, and/or other sensors capable of providing sensor data helpful to facilitate operation of ocular aberrometry system <NUM> and/or correct for common system errors typical of operation of ocular aberrometry system <NUM>. In additional embodiments, other modules <NUM> may include an additional illumination and camera system, similar to the combination of LED array <NUM> and eye tracker <NUM>, configured to capture images of one or more types of Purkinje reflections associated with target <NUM>.

Server <NUM> may be implemented similarly to controller <NUM>, for example, and may include various elements of a personal computer or server computer used to store, process, and/or otherwise manipulate relatively large data sets associated with one or multiple patients, for example, including relatively large sets of training data, as described herein, so as to train a neural network or implement other types of machine learning. Distributed server system <NUM> may be implemented as a distributed combination of multiple embodiments of controller <NUM> and/or server <NUM>, for example, and may include networking and storage devices and capabilities configured to facilitate storage, processing, and/or other manipulation of relatively large data sets, including relatively large sets of training data, as described herein, so as to train a neural network or implement other types of machine learning in a distributed matter. Network <NUM> may be implemented as one or more of a wired and/or wireless network, a local area network, a wide area network, the Internet, a cellular network, and/or according to other network protocols and/or topologies.

<FIG> illustrate block diagrams of aberrometry characterization targets 202A-B for ocular aberrometry system <NUM> in accordance with an embodiment of the disclosure. In the embodiment shown in <FIG>, aberrometry characterization target 202A may be implemented as a single pass model target configured to characterize optical aberrations associated with ocular aberrometry system <NUM>. As shown in <FIG>, aberrometry characterization target/single pass model target 202A includes laser or SLD source <NUM> generating source beam <NUM> through lens system <NUM> and oriented along an optical axis of optical aberration system <NUM> (e.g., aligned with probe beam <NUM> exiting beam splitter <NUM>). In various embodiments, source <NUM> may be configured to generate a diverging spherical wavefront with controllable vergence power, a converging spherical wavefront with controllable vergence power, or a planewave with zero power, for example. Lens system <NUM> is coupled to linear motion actuator <NUM> via mount <NUM>, which allows lens system <NUM> to be moved along its optical axis to vary a defocus aberration of single pass model target 202A to generate a plurality of reference interferograms and corresponding wavefront sensor data (e.g., provided by wavefront sensor <NUM>). Such reference interferograms and/or corresponding wavefront sensor data may be aggregated and stored as aberrometer model <NUM> of <FIG>, for example, and be used to correct system aberrations associated with ocular aberrometry system <NUM>, as described herein.

In some embodiments, lens system <NUM> may be implemented as a National Institute of Standards and Technology (NIST) traceable lens, and linear motion actuator <NUM> may be implemented as a relatively high precision actuator stage configured to position lens system <NUM> at a set of positions spaced from source <NUM> to generate source beam <NUM> with known and predefined defocus powers (e.g., defocus aberrations), such as -<NUM> to <NUM> diopters, or <NUM> to +- <NUM> diopters, in steps of <NUM>. 0D, for example, or higher resolution steps, according to a range of defocus aberrations commonly experienced by patients monitored by ocular aberrometry system <NUM>. A resulting aberrometer model <NUM> may be used to compensate for a variety of system aberrations, including those attributable to shot noise, thermal variations, and vibrations.

As shown in <FIG>, aberrometry characterization target/double pass model target 202B includes interchangeable ocular aberration model <NUM> releasably coupled to six degree of freedom (6DOF) motion actuator <NUM> via one or more mounts <NUM>, where 6DOF motion actuator <NUM> is configured to vary the position and/or orientation of interchangeable ocular aberration model <NUM> to generate a plurality of selected (e.g., known) alignment deviations (e.g., relative to an optical axis of ocular aberrometry system <NUM>) and a corresponding plurality of sets of wavefront sensor data. Such alignment deviations and corresponding wavefront sensor data may be aggregated and stored as eye model <NUM> of <FIG>, for example, and be used to train a complex analysis engine or a compact analysis engine, as described herein, to detect alignment deviations associated with ocular target <NUM> and correct corresponding wavefront sensor data.

In some embodiments, interchangeable ocular aberration model <NUM> may form one element of a set of interchangeable ocular aberration models each formed with precise amounts of pre-defined ocular aberrations (e.g., represented by precise and predefined Zernike coefficient amplitudes, such as amplitudes expressed in microns for the Zernike expansion through 6th order). In one embodiment, such interchangeable ocular aberration models may be cut on a contact lens lathe using clear poly (methyl methacrylate) (PMMA). More generally, such interchangeable ocular aberration models may be measured by a <NUM>rd party profiler with traceability to NIST for ground truth comparison to measurements performed by ocular aberrometry system <NUM>. In various embodiments, 6DOF motion actuator <NUM> may be configured to provide micrometer resolution positioning of interchangeable ocular aberration model <NUM> along the x, y, and z axes, and microradian orienting of interchangeable ocular aberration model <NUM> about the θy (tip), θx (tilt), and θz (twist) directions, as shown by representative coordinate frames 280A-B.

In general operation, each interchangeable ocular aberration model <NUM> in the set (e.g., a set of <NUM> or more) may be mounted to 6DOF motion actuator <NUM> in turn and controller <NUM> may be configured to control 6DOF motion actuator <NUM> to position and/or orient interchangeable ocular aberration model <NUM> at a set of relative positions and/or orientations (e.g., relative to an optical axis of ocular aberrometry system <NUM>) within a range of alignment deviations commonly experienced by patients monitored by ocular aberrometry system <NUM>. In one embodiment, the set of alignment deviations may include approximately <NUM>,<NUM> different alignment deviations. In various embodiments, the combined set of alignment deviations and corresponding sets of wavefront sensor data (e.g., provided by wavefront sensor <NUM>), may form a supervised data set (e.g., eye model <NUM>), which may be used to determine a complex or compact analysis engine, as described herein. Such analysis engines may be used to compensate for alignment deviations of optical target <NUM>, which may also be measured by eye tracker <NUM>. More generally, the combination of characterizations performed by aberrometry characterization targets 202A-B may be used to compensate for or correct both system aberrations and errors in wavefront sensor data caused by misalignment of optical target <NUM>.

<FIG> illustrates a block diagram of an ocular aberrometry system <NUM> in accordance with an embodiment of the disclosure. In the embodiment shown in <FIG>, ocular aberrometry system <NUM> may be configured to use the characterization data generated by ocular aberrometry system <NUM> via aberrometry characterization targets 202A-B to generate complex analysis engine <NUM> and/or compact analysis engine <NUM>, which may be used during operation of ocular aberrometry system <NUM> to provide substantially real time monitoring and user feedback (e.g., <NUM> or higher frequency updates) of the optical aberrometry of optical target <NUM> while continuously compensating for common characterization errors, as described herein.

As shown in <FIG>, ocular aberrometry system <NUM> is similar to ocular aberrometry system <NUM> but with additional detail as to various data structures and executable program instructions used in the operation of ocular aberrometry systems <NUM> or <NUM>. For example, Controller <NUM> is shown as implemented with compact analysis engine <NUM>, and server <NUM> and distributed server system <NUM> are each shown as implemented with or storing one or more of aberrometer model <NUM>, eye model <NUM>, training data <NUM>, supervised learning engine <NUM>, complex analysis/neural network engine <NUM>, and compact analysis engine <NUM>. Dashed lines generally indicate optional storage and/or implementation of a particular element, though in various embodiments, each of controller <NUM>, server <NUM>, and distributed server system <NUM> may implement or store any of the identified elements and/or additional elements, as described herein.

In general, aberrometer model <NUM> may be generated by aggregating sensor data associated with use of single pass model target 202A to characterize ocular aberrometry system <NUM>, eye model <NUM> may be generated by aggregating sensor data associated with use of double pass model target 202B to characterize a parameter space associated with optical target <NUM>, training data <NUM> may be generated by incorporating aberrometer model <NUM> and/or eye model <NUM> and/or by generating and aggregating simulated sets of training data, as described herein with respect to elements of <FIG>. Supervised learning engine <NUM> may be implemented as a static learning engine and/or according to a procedurally generated learning engine (e.g., a genetic algorithm updatable learning engine) configured to generate complex analysis engine <NUM> using training data <NUM>. Complex analysis engine <NUM> may be implemented as a deep neural network, for example, and/or may be implemented using other complex analysis methodologies, including other various neural network architectures or complex analysis methodologies, including a dense K-nearest neighbor (k-NN) database for classification and/or regression, as described herein. Compact analysis engine <NUM> may be implemented as a compact form of complex analysis engine <NUM>, such as a form more suited for relatively low resource but high performance execution by controller <NUM>, for example, and as such may be implemented as a deep neural network and/or other complex analysis methodologies. In a particular embodiment, compact analysis engine <NUM> may be implemented as a neural network with fewer hidden layers and/or neurons/layer than complex analysis engine <NUM>.

<FIG> illustrates a flow diagram of a process <NUM> to characterize ocular aberrometry systems <NUM> and/or <NUM> in accordance with an embodiment of the disclosure. It should be appreciated that any step, sub-step, sub-process, or block of process <NUM> may be performed in an order or arrangement different from the embodiments illustrated by <FIG>. For example, in other embodiments, one or more blocks may be added to the process. Furthermore, block inputs, block outputs, various sensor signals, sensor information, calibration parameters, and/or other operational parameters may be stored to one or more memories prior to moving to a following portion of a corresponding process. Although process <NUM> is described with reference to systems, processes, control loops, and images described in reference to <FIG>, process <NUM> may be performed by other systems different from those systems, processes, control loops, and images and including a different selection of electronic devices, sensors, assemblies, mobile structures, and/or mobile structure attributes, for example.

In block <NUM>, an aberrometer model associated with an ocular aberrometry system is generated. For example, controller <NUM>, server <NUM>, and/or distributed server system <NUM> may be configured to control source <NUM> of single pass model target 202A, arranged as optical target <NUM> monitored by ocular aberrometry system <NUM>, to generate source beam <NUM> through lens system <NUM> to illuminate wavefront sensor <NUM> and/or other elements of ocular aberrometry system <NUM>. Controller <NUM> may be configured to vary a defocus aberration of single pass model target 202A according to a plurality of selected defocus powers, for example, to generate a plurality of sets of wavefront sensor data provided by wavefront sensor <NUM>. Controller <NUM>, server <NUM>, and/or distributed server system <NUM> may be configured to determine system aberrations associated with ocular aberrometry system <NUM> based, at least in part, on the plurality of sets of wavefront sensor data provided by wavefront sensor <NUM>. The system aberrations and/or the associated sets of wavefront sensor data may be stored (e.g., on server <NUM> and/or distributed server system <NUM>) as aberrometer model <NUM>.

In block <NUM>, an eye model associated with an ocular aberrometry system is generated. For example, controller <NUM>, server <NUM>, and/or distributed server system <NUM> may be configured to control beacon <NUM> of ocular aberrometry system <NUM> to generate probe beam <NUM> to illuminate double pass model target 202B, arranged as optical target <NUM> monitored by ocular aberrometry system <NUM>, which in turn illuminates (e.g., via reflection of probe beam <NUM>) one or more of wavefront sensor <NUM>, eye tracker <NUM>, OCT sensor <NUM>, and/or other elements of ocular aberrometry system <NUM>. Controller <NUM> may be configured to vary a position and/or orientation of interchangeable ocular aberration model <NUM> of double pass model target 202B, relative to optical axis <NUM> of ocular aberrometry system <NUM>, according to a plurality of selected alignment deviations, for example, to generate a corresponding plurality of sets of wavefront sensor data provided by wavefront sensor <NUM>. The plurality of selected alignment deviations and/or the corresponding plurality of sets of wavefront sensor data may be stored (e.g., on server <NUM> and/or distributed server system <NUM>) as eye model <NUM>. Similar techniques may be used to incorporate eye tracker data from eye tracker <NUM> and OCT sensor data from OCT sensor <NUM> into eye model <NUM>.

In block <NUM>, a complex analysis engine is determined. For example, controller <NUM>, server <NUM>, and/or distributed server system <NUM> may be configured to determine complex analysis engine <NUM> based, at least in part, on aberrometer model <NUM> generated in block <NUM> and/or eye model <NUM> generated in block <NUM>. In some embodiments, controller <NUM>, server <NUM>, and/or distributed server system <NUM> may be configured to form deep neural network <NUM> including input layer <NUM>, output layer <NUM>, and at least one hidden layer <NUM>-<NUM> coupled between input layer <NUM> and output layer <NUM>, each comprising a plurality of neurons. Controller <NUM>, server <NUM>, and/or distributed server system <NUM> may be configured to train, via supervised learning engine <NUM>, at least a trainable weighting matrix W associated with each neuron of the input, output, and hidden layers of neural network <NUM> using alignment deviations of eye model <NUM> as ground truth output data and corresponding sets of wavefront sensor data of eye model <NUM> as training input data, as described herein. The resulting deep neural network may be stored and used as complex analysis engine <NUM>. In other embodiments, controller <NUM>, server <NUM>, and/or distributed server system <NUM> may be configured to generate a plurality of corrected sets of wavefront sensor data corresponding to the plurality of selected alignment deviations of eye model <NUM> based, at least in part, on system aberrations associated with the ocular aberrometry system in aberrometer model <NUM>, prior to forming neural network <NUM> and training one or more complex analysis parameters of neural network <NUM> using supervised learning engine <NUM> to determine complex analysis engine <NUM>, as described herein.

In block <NUM>, a compact analysis engine is generated. For example, controller <NUM>, server <NUM>, and/or distributed server system <NUM> may be configured to form a compact neural network <NUM> comprising input layer <NUM>, output layer <NUM>, and a single hidden layer <NUM> coupled between input layer <NUM> and output layer <NUM>, and to generate a weighting matrix W associated with each neuron of the input, output, and/or hidden layer of compact neural network <NUM> based, at least in part, on one or more complex analysis parameters associated with a plurality of hidden layers <NUM>-<NUM> of complex analysis engine <NUM>. Upon generation, compact analysis engine <NUM> may be stored or otherwise integrated with or implemented by controller <NUM>, which can use compact analysis engine <NUM> to generate substantially real time (e.g., <NUM> frames/second) user feedback (e.g., display views including various graphics) and reliable and accurate monitoring of ocular alignment deviations, ocular aberrations, and/or other characteristics of optical target <NUM>, as described herein.

<FIG> illustrates a flow diagram of a process <NUM> to operate ocular aberrometry systems <NUM> and/or <NUM> in accordance with an embodiment of the disclosure. It should be appreciated that any step, sub-step, sub-process, or block of process <NUM> may be performed in an order or arrangement different from the embodiments illustrated by <FIG>. For example, in other embodiments, one or more blocks may be added to the process. Furthermore, block inputs, block outputs, various sensor signals, sensor information, calibration parameters, and/or other operational parameters may be stored to one or more memories prior to moving to a following portion of a corresponding process. Although process <NUM> is described with reference to systems, processes, control loops, and images described in reference to <FIG>, process <NUM> may be performed by other systems different from those systems, processes, control loops, and images and including a different selection of electronic devices, sensors, assemblies, mobile structures, and/or mobile structure attributes, for example.

In block <NUM>, ocular aberrometry output is received. For example, controller <NUM>, server <NUM>, and/or distributed server system <NUM> may be configured to receive ocular aberrometry output data including at least wavefront sensor data provided by wavefront sensor <NUM>. More generally, the ocular aberrometry output data may include any one or more of wavefront sensor data provided by wavefront sensor <NUM>, OCT sensor data provided by OCT sensor <NUM>, eye tracker data provided by eye tracker <NUM>, and/or other output data provided by ocular aberrometry system <NUM>, as described herein.

In block <NUM>, estimated ocular alignment deviations are determined. For example, controller <NUM>, server <NUM>, and/or distributed server system <NUM> may be configured to determine estimated ocular alignment deviations corresponding to a relative position and/or orientation of optical target <NUM> (e.g., a patient's eye) monitored by ocular aberrometry system <NUM> based, at least in part, on the ocular aberrometry output data received in block <NUM>. In some embodiments, controller <NUM>, server <NUM>, and/or distributed server system <NUM> may be configured to determine the estimated ocular alignment deviations based, at least in part, on eye tracker sensor data received in block <NUM>. In other embodiments, wavefront sensor data received in block <NUM> includes a time series of wavefront sensor measurements, and controller <NUM>, server <NUM>, and/or distributed server system <NUM> may be configured to determine the estimated ocular alignment deviations by determining, for each wavefront sensor measurement, a wavefront-estimated ocular alignment deviation corresponding to the wavefront sensor measurement.

For example, in one embodiment, controller <NUM>, server <NUM>, and/or distributed server system <NUM> may be configured to determine the estimated ocular alignment deviations by determining, for each wavefront sensor measurement, a corresponding estimated relative position and/or orientation of optical target <NUM> (e.g., an estimated ocular alignment of optical target <NUM>), identifying one or more clusters of estimated relative positions and/or orientations of the optical target based, at least in part, on one or more preset or adaptive cluster thresholds, determining a fixation alignment based, at least in part, on a centroid of a largest one of the one or more identified clusters, and determining, for each wavefront sensor measurement, an estimated ocular alignment deviation based, at least in part, on a difference between the fixation alignment and the estimated relative position and/or orientation of the optical target corresponding to the wavefront sensor measurement (e.g., a difference between the fixation alignment and the estimated ocular alignments of optical target <NUM> corresponding to the time series of wavefront sensor measurements). In related embodiments, where ocular aberrometry system <NUM> includes eye tracker <NUM>, controller <NUM>, server <NUM>, and/or distributed server system <NUM> may be configured to determine the estimated ocular alignment deviations by determining, for each wavefront sensor measurement, a corresponding fixation status of the optical target based, at least in part, on a fixation threshold parameter and eye tracker sensor data corresponding to the wavefront sensor measurement, and omitting a subset of the wavefront sensor measurements, prior to determining the corresponding estimated relative positions and/or orientations of optical target <NUM>, based, at least in part, on the determined corresponding fixation statuses. For example, such technique may eliminate wavefront sensor measurements acquired while optical target <NUM> is detected as not fixated, as detected by eye tracker <NUM>.

In block <NUM>, corrected ocular aberrometry output data is determined. For example, controller <NUM>, server <NUM>, and/or distributed server system <NUM> may be configured to determine corrected ocular aberrometry output data based, at least in part, on the estimated ocular alignment deviations determined in block <NUM> and/or the wavefront sensor data received in block <NUM>. In some embodiments, where the wavefront sensor data includes a time series of wavefront sensor measurements, controller <NUM>, server <NUM>, and/or distributed server system <NUM> may be configured to determine the corrected ocular aberrometry output data by determining, for each wavefront sensor measurement, an estimated ocular alignment deviation associated with the wavefront sensor measurement, and generating an average wavefront sensor measurement, as the corrected wavefront sensor measurement, based, at least in part, on each wavefront sensor measurement with an associated estimated ocular alignment deviation that is equal to or less than a preset maximum allowable deviation. Such preset maximum allowable deviation may be selected or set by a manufacturer and/or user of ocular aberrometry system <NUM>.

In other embodiments, controller <NUM>, server <NUM>, and/or distributed server system <NUM> may be configured to determine the corrected ocular aberrometry output data by determining, for each wavefront sensor measurement, an estimated ocular alignment deviation associated with the wavefront sensor measurement, determining, for each wavefront sensor measurement with an associated estimated ocular alignment deviation that is equal to or less than a preset maximum allowable deviation, a corrected wavefront sensor measurement based, at least in part, on the wavefront sensor measurement and/or the associated estimated ocular alignment deviation, and generating an average wavefront sensor measurement based, at least in part, on the corrected wavefront sensor measurements. For example, controller <NUM>, server <NUM>, and/or distributed server system <NUM> may be configured to determine the corrected wavefront sensor measurement by applying complex analysis engine <NUM> or compact analysis engine <NUM> of ocular aberrometry system <NUM> to each wavefront sensor measurement to generate corresponding wavefront-estimated ocular alignment deviations and/or corrected wavefront sensor measurements, as described herein.

In block <NUM>, user feedback is generated. For example, controller <NUM>, server <NUM>, and/or distributed server system <NUM> may be configured to generate user feedback corresponding to the ocular aberrometry output data, received in block <NUM>, based, at least in part, on the estimated ocular alignment deviations determined in block <NUM>. In some embodiments, controller <NUM>, server <NUM>, and/or distributed server system <NUM> may be configured to generate the user feedback by determining an ocular alignment deviation metric based, at least in part, on the estimated ocular alignment deviations, and reporting the ocular alignment deviation metric via user interface <NUM> of ocular aberrometry system <NUM>. In other embodiments, controller <NUM>, server <NUM>, and/or distributed server system <NUM> may be configured to generate the user feedback based, at least in part, on the estimated ocular alignment deviations determined in block <NUM> and/or the corrected ocular aberrometry output data determined in block <NUM>. In various embodiments, such user feedback may include a substantially real time display view of an ocular alignment deviation metric based, at least in part, on the estimated ocular alignment deviations determined in block <NUM>, a substantially real time display view of an ocular aberration map based, at least in part, on the corrected ocular aberrometry output data determined in block <NUM>, and/or an audible and/or visual alarm indicating at least one of the estimated ocular alignment deviations are larger than a preset maximum allowable deviation, as described herein.

Embodiments of the present disclosure can thus provide substantially real time (e.g., <NUM> frames/second) user feedback (e.g., display views including various graphics) and reliable and accurate monitoring of ocular alignment deviations, ocular aberrations, and/or other characteristics of optical target <NUM>, as described herein. Such embodiments may be used to assist in a variety of types of clinical and intraoperative eye exams and help provide improved surgical results.

<FIG> illustrates a diagram of a multi-layer or "deep" neural network (DNN) <NUM> in accordance with an embodiment of the disclosure. In some embodiments, neural network <NUM> may be representative of a neural network used to implement each of the one or more models and/or analysis engines described with respect to systems <NUM> and/or <NUM>. Neural network <NUM> processes input data <NUM> using an input layer <NUM>. In various embodiments, input data <NUM> may correspond to the aberrometry output data and/or the training data provided to the one or more models and/or analysis engines to generate and/or train the one or more models and/or analysis models, as described herein. In some embodiments, input layer <NUM> may include a plurality of neurons or nodes that are used to condition input data <NUM> by scaling, biasing, filtering, range limiting, and/or otherwise conditioning input data <NUM> for processing by the remaining portions of neural network <NUM>. In other embodiments, input layer <NUM> may be configured to echo input data <NUM> (e.g., where input data <NUM> is already appropriately scaled, biased, filtered, range limited, and/or otherwise conditioned). Each of the neurons in input layer <NUM> generates outputs that are provided to neurons/nodes in hidden layer <NUM>. Hidden layer <NUM> includes a plurality of neurons/nodes that process the outputs from input layer <NUM>. In some embodiments, each of the neurons in hidden layer <NUM> generates outputs that are then propagated through one or more additional hidden layers that end with hidden layer <NUM>. Hidden layer <NUM> includes a plurality of neurons/nodes that process the outputs from the previous hidden layer. In the embodiment shown in <FIG>, the outputs of hidden layer <NUM> are fed to output layer <NUM>. In various embodiments, output layer <NUM> includes one or more neurons/nodes that may be used to condition the output from hidden layer <NUM> by scaling, biasing, filtering, range limiting, and/or otherwise conditioning the output from hidden layer <NUM> to form output data <NUM>. It alternative embodiments, neural network <NUM> may be implemented according to different neural network or other processing architectures, including a neural network with only one hidden layer, a neural network with recurrent layers, and/or other various neural network architectures or complex analysis methodologies, including a K-nearest neighbor (k-NN) database for classification and/or regression.

In some embodiments, each of input layer <NUM>, hidden layers <NUM>-<NUM>, and/or output layer <NUM> includes one or more neurons. In one embodiment, each of input layer <NUM>, hidden layers <NUM>-<NUM>, and/or output layer <NUM> may include the same number or a different number of neurons. In a particular embodiment, neural network <NUM> may include a total of approximately <NUM> layers with up to <NUM>-<NUM> thousand neurons in each layer. In various embodiments, each of such constituent neurons may be configured to receive a combination (e.g., a weighted sum generated using a trainable weighting matrix/vector W) of its inputs x, to receive an optional trainable bias b, and to apply an activation function f to generate an output a, such as according to the equation a=f(Wx+b). Activation function f may be implemented as a rectified linear unit activation function, for example, or any one or combination of an activation function with upper and/or lower limits, a log-sigmoid function, a hyperbolic tangent function, and/or according to other activation function forms. Each neuron in such network may be configured to operate according to the same or a different activation function and/or different type of activation function, as described herein. In a specific embodiment, corresponding to regression applications, only neurons of output layer <NUM> may be configured to apply such a linear activation function to generate their respective outputs.

In various embodiments, neural network <NUM> may be trained using supervised learning (e.g., implemented as supervised learning engine <NUM>), such as by systematically providing selected sets of training data (e.g., training data <NUM>) to neural network <NUM>, where each set of training data includes a set of input training data and a corresponding set of ground truth (e.g., expected) output data (e.g., a combination of aberrometer model <NUM> and eye model <NUM>), and then determining a difference between and/or otherwise comparing resulting output data <NUM> (e.g., training output data provided by neural network <NUM>) and the ground truth output data (e.g., the "training error"). In some embodiments, the training error may be fed back into neural network <NUM> to adjust the various trainable weights, biases, and/or other complex analysis parameters of neural network <NUM>. In some embodiments, such training error may be provided as feedback to neural network <NUM> using one or a variety of back propagation techniques, including a stochastic gradient descent technique, for example, and/or other back propagation techniques. In one or more embodiments, a relatively large group of selected sets of training data may be presented to neural network <NUM> multiple times until an overall loss function (e.g., a mean-squared error based on the differences of each set of training data) converges to or below a preset maximum allowable loss threshold.

In additional embodiments, supervised learning engine <NUM> may be configured to include semi-supervised learning, weakly supervised learning, active learning, structured prediction, and/or other generalized machine learning techniques to help train complex analysis parameters of neural network <NUM> (e.g., and generate complex analysis engine <NUM>), as described herein. For example, supervised learning engine <NUM> may be configured to generate simulated sets of training data, each set including a simulated input training data and a corresponding set of simulated ground truth output data, and perform supervised learning based, at least in part, on the simulated sets of training data. Each of the simulated sets of input training data and ground truth data may be generated by modifying the input training data (e.g., to adjust an aberration parameter and/or alignment deviation associated with a simulated double pass model target) and interpolating non-simulated ground truth data to generate corresponding simulated ground truth data. In various embodiments, supervised learning engine <NUM> may be configured to simulate one or many millions of sets of simulated training data, each deviating at least slightly from the sets of training data corresponding to eye model <NUM>, and train neural network <NUM> according to the one or many millions of sets of such simulated training data.

Where applicable, various embodiments provided by the present disclosure can be implemented using hardware, software, or combinations of hardware and software. Also, where applicable, the various hardware components and/or software components set forth herein can be combined into composite components comprising software, hardware, and/or both without departing from the present disclosure. Where applicable, the various hardware components and/or software components set forth herein can be separated into sub-components comprising software, hardware, or both without departing from the present disclosure. In addition, where applicable, it is contemplated that software components can be implemented as hardware components, and vice-versa.

Software in accordance with the present disclosure, such as non-transitory instructions, program code, and/or data, can be stored on one or more non-transitory machine readable mediums. It is also contemplated that software identified herein can be implemented using one or more general purpose or specific purpose computers and/or computer systems, networked and/or otherwise. Where applicable, the ordering of various steps described herein can be changed, combined into composite steps, and/or separated into sub-steps to provide features described herein.

Claim 1:
An ocular aberrometry system (<NUM>) comprising:
a wavefront sensor (<NUM>) configured to provide wavefront sensor data associated with an optical target (<NUM>) monitored by the ocular aberrometry system;
a beacon (<NUM>) for generating a probe beam (<NUM>) to illuminate the optical target (<NUM>) for the wavefront sensor (<NUM>), as required; and
a logic device (<NUM>) configured to communicate with the wavefront sensor (<NUM>),
wherein the logic device is configured to:
determine a complex analysis engine (<NUM>) for the ocular aberrometry system based, at least in part, on an aberrometer model (<NUM>) and an eye model (<NUM>) associated with the ocular aberrometry system, wherein the aberrometer model (<NUM>) and the eye model (<NUM>) are based, at least in part, on wavefront sensor data provided by the wavefront sensor (<NUM>); and
generate a compact analysis engine (<NUM>) for the ocular aberrometry system based, at least in part, on the determined complex analysis engine (<NUM>);
wherein the logic device (<NUM>) is configured to:
generate the eye model (<NUM>) associated with the ocular aberrometry system (<NUM>); and
determine the complex analysis engine (<NUM>) based, at least in part, on the generated eye model (<NUM>); wherein the generating the eye model comprises:
illuminating, using probe beam (<NUM>), at least the wavefront sensor (<NUM>) of the ocular aberrometry system (<NUM>) via a double pass model target (202B) arranged as the optical target (<NUM>) monitored by the ocular aberrometry system;
varying, using a motion actuator (<NUM>), a position and/or orientation of an interchangeable ocular aberration model (<NUM>) of the double pass model target, relative to an optical axis of the ocular aberrometry system, according to a plurality of selected alignment deviations to generate a corresponding plurality of sets of wavefront sensor data provided by the wavefront sensor; and
storing the plurality of selected alignment deviations and the corresponding plurality of sets of wavefront sensor data as the eye model (<NUM>).