Method and system for reading optical prescription on optical prescription image
By detecting and classifying areas on optical prescription images, extracting and converting them into machine-encoded data, the problems of inaccurate and inefficient optical prescription conversion in the prior art are solved, and automated processing and accurate monitoring of optical prescriptions are realized.
Patent Information
- Application Number
- CN202380037368.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-06-09
- Filing Date
- 2023-06-07
- Publication Date
- 2024-12-13
AI Technical Summary
The prior art converts inaccurate and inefficient when reading optical prescription images, especially the digitization of handwritten optical prescriptions requires manual classification and correction, rely on professionals, and has poor accuracy.
Provides a method and system that can generate accurate optical prescription values by detecting areas on optical prescription images, extract and convert them into machine-encoded data, classify them into predetermined categories, and correct errors. .
It realizes automatic extraction, conversion, classification and correction of optical prescriptions, improves reading efficiency and accuracy, reduces dependence on professionals, and helps users monitor vision health.
Smart Images

Figure CN119137628A_ABST
Abstract
Description
Technical Field
[0001] Various aspects of the present disclosure relate to a method for reading an optical prescription on an optical prescription image. Various aspects of the present disclosure further relate to a system for reading an optical prescription on an optical prescription image. Background Art
[0002] The practice of recording optical prescriptions, particularly handwritten optical prescriptions or handwritten optical prescriptions on prescription forms, is not standardized and largely depends on the individual practices of the eye care practitioner who is recording the optical prescription. As a result, the format of the optical prescription varies and is often unclear to the user, particularly the subject or subject's parent who may wish to understand and / or monitor their own or their child's vision health and myopia evolution.
[0003] An optical prescription (e.g., a handwritten optical prescription) can be converted into text using conventional optical character recognition (OCR) technology. However, such conversion of the optical prescription is often inaccurate, particularly because the accuracy of the converted optical prescription depends largely on the OCR technology employed. Further, the text of the converted optical prescription is often in the form of a illogical string of numbers, alphabetic characters, and / or symbols. Therefore, an eye care practitioner must manually classify the illogical string of text into specific optical categories and manually correct errors in the text of the converted optical prescription. The process of manually classifying and correcting errors in the text of the converted optical prescription is inefficient and cumbersome, and requires a trained professional, such as an eye care practitioner.
[0004] Therefore, it is desirable to find a more accurate and efficient means to read the optical prescription on the optical prescription image. Summary of the invention
[0005] The object of the present disclosure is to provide a method and system for accurately and efficiently reading an optical prescription on an optical prescription image. To this end, methods and systems are provided for extracting an optical prescription and converting the optical prescription into optical prescription data; classifying the optical prescription data into one or more predetermined categories to generate an optical prescription value associated with one or more predetermined categories; and determining whether the optical prescription value associated with a predetermined category in one or more predetermined categories contains an error, and if the optical prescription value contains an error, correcting the error in the optical prescription value to generate a corrected optical prescription value. These methods can be implemented on a computing system to provide automatic extraction, conversion, classification, and / or correction of optical prescriptions. The methods and systems of the present disclosure can help users understand and / or monitor their vision health, especially for the onset or progression of myopia.
[0006] The methods and systems are particularly suitable for reading optical prescriptions for myopia management, in particular myopia onset or progression, but may also be used to read all types of optical prescriptions on an optical prescription image.
[0007] A first aspect of the present disclosure relates to a method for reading an optical prescription on an optical prescription image, the method comprising: (i.) detecting an area on the optical prescription image including an optical prescription; (ii.) extracting the optical prescription and converting the optical prescription into machine-encoded optical prescription data; (iii.) classifying a portion of the optical prescription data into one or more predetermined categories to generate an optical prescription value associated with a corresponding predetermined category in the one or more predetermined categories; and (iv.) determining whether the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories contains an error, and if the optical prescription value contains an error, correcting the error in the optical prescription value to generate a corrected optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories.
[0008] In different embodiments of the first aspect, (i.) detecting an area on an optical prescription image that includes an optical prescription includes detecting at least one keyword and a portion of optical prescription data associated with the at least one keyword; and (ii.) extracting the optical prescription includes extracting at least one keyword and a portion of the optical prescription data associated with the at least one keyword.
[0009] In various embodiments of the first aspect, (i.) detecting at least one keyword includes detecting at least one keyword and corresponding one or more erroneous keywords associated with a respective keyword of the at least one keyword.
[0010] In different embodiments of the first aspect, the one or more predetermined categories include (i.) a first category associated with the subject's spherical data; (ii.) a second category associated with the subject's cylindrical data; (iii.) a third category associated with the subject's cylindrical axis data; (iv.) a fourth category associated with the subject's sub-lens add power data; (v.) a fifth category associated with the subject's pupil distance data; and (vi.) a sixth category associated with the subject's axial length data.
[0011] In various embodiments of the first aspect, the method further includes (i.) modifying the optical prescription data such that each portion of the optical prescription data to be classified into any one of the one or more predetermined categories is separated by a single separator.
[0012] In different embodiments of the first aspect, classifying a portion of the optical prescription data into a first category associated with the subject's spherical data includes: (i.) detecting a first punctuation mark in the optical prescription data; and (ii.) extracting a first character string positioned before the first punctuation mark and a second character string positioned after the first punctuation mark, wherein the first character string and the second character string each have a first predefined length.
[0013] In different embodiments of the first aspect, classifying a portion of the optical prescription data into a second category associated with the subject's cylindrical lens data includes: (i.) detecting a second punctuation mark in the optical prescription data, the second punctuation mark being positioned after the first punctuation mark; and (ii.) extracting a third character string positioned before the second punctuation mark and a fourth character string positioned after the second punctuation mark, wherein the third character string and the fourth character string each have a first predefined length.
[0014] In different embodiments of the first aspect, classifying a portion of the optical prescription into a fourth category associated with the subject's sub-lens addition power data includes: (i.) detecting a third punctuation mark in the optical prescription data, the third punctuation mark being positioned after each of the first punctuation mark and the second punctuation mark; and (ii.) extracting a fifth character string positioned before the third punctuation mark and a sixth character string positioned after the third punctuation mark, wherein the fifth character string and the sixth character string each have a first predefined length.
[0015] In various embodiments of the first aspect, the first predefined length comprises 3 characters.
[0016] In different embodiments of the first aspect, classifying a portion of the optical prescription data into a sixth category associated with the subject's axial length data includes: (i.) detecting a fourth punctuation mark in the optical prescription data, the fourth punctuation mark being positioned after each of the first punctuation mark, the second punctuation mark, and the third punctuation mark; and (ii.) extracting a seventh character string positioned before the fourth punctuation mark and an eighth character string positioned after the fourth punctuation mark, wherein the seventh character string and the eighth character string each include 2 characters.
[0017] In different embodiments of the first aspect, classifying a portion of the optical prescription data into a first category associated with the subject's spherical data includes: (i.) detecting a first keyword from at least one keyword, the first keyword being associated with the first category; and (ii.) extracting a ninth character string positioned after the first keyword, wherein the ninth character string has a second predefined length.
[0018] In various embodiments of the first aspect, classifying a portion of the optical prescription data into a second category associated with the subject's cylindrical data includes: (i.) detecting a tenth character string positioned after the portion of the optical prescription data classified into the first category; and (ii.) extracting the tenth character string, wherein the tenth character string has a second predefined length.
[0019] In different embodiments of the first aspect, classifying a portion of the optical prescription into a fourth category associated with sub-lens addition power data for the subject includes: (i.) detecting a second keyword from at least one keyword, the second keyword being associated with the fourth category; and (ii.) extracting an eleventh character string positioned after the second keyword, wherein the eleventh character string has a second predefined length.
[0020] In different embodiments of the first aspect, classifying a portion of the optical prescription into a sixth category associated with the subject's axial length data includes: (i.) detecting a third keyword from at least one keyword, the third keyword being associated with the sixth category; and (ii.) extracting a twelfth character string positioned after the third keyword, wherein the twelfth character string has a second predefined length.
[0021] In various embodiments of the first aspect, the second predefined length comprises 7 characters.
[0022] In various embodiments of the first aspect, classifying a portion of the optical prescription data into a first category associated with the subject's spherical data includes: (i.) detecting a first symbol and a first separator in the optical prescription data; and (ii.) extracting a thirteenth character string positioned between the first symbol and the first separator.
[0023] In different embodiments of the first aspect, classifying a portion of the optical prescription data into a second category associated with the subject's cylindrical lens data includes: (i.) detecting a second symbol and a second separator in the optical prescription data, the second symbol and the second separator being positioned after the first symbol and the first separator; and (ii.) extracting a fourteenth character string positioned between the second symbol and the second separator.
[0024] In different embodiments of the first aspect, classifying a portion of the optical prescription data into a third category associated with the subject's cylindrical axis data includes: (i.) detecting a third delimiter in the optical prescription data, the third delimiter being positioned after each of the first delimiter and the second delimiter; and (ii.) extracting a fifteenth character string positioned after the third delimiter.
[0025] In different embodiments of the first aspect, classifying a portion of the optical prescription into a fourth category associated with the subject's sub-lens addition power data includes: (i.) detecting a third symbol and a fourth separator in the optical prescription data, the third symbol and the fourth separator being positioned after each of the first symbol and the second symbol and each of the first to third separators; and (ii.) extracting a sixteenth character string positioned between the third symbol and the fourth separator.
[0026] In different embodiments of the first aspect, classifying a portion of the optical prescription data into a third category associated with the subject's cylindrical axis data includes: (i.) detecting a seventeenth character string positioned after the portion of the optical prescription data classified into the second category; and (ii.) extracting the seventeenth character string, wherein the seventeenth character string includes 6 characters.
[0027] In different embodiments of the first aspect, classifying a portion of the optical prescription into a fifth category associated with pupil distance data of the subject includes: (i.) detecting a fourth keyword from at least one keyword, the fourth keyword being associated with the fifth category; and extracting an eighteenth character string positioned after the fourth keyword, wherein the eighteenth character string includes 5 characters.
[0028] In different embodiments of the first aspect, the method further includes (i.) determining whether there is a unit associated with the fifth category in the eighteenth character string; (ii.) if it is determined that there is a unit associated with the fifth category in the eighteenth character string: extracting the nineteenth character string positioned before the unit associated with the fifth category to generate an optical prescription value associated with the fifth category.
[0029] In different embodiments of the first aspect, the method further includes (i.) determining whether there is a unit associated with the sixth category in the twelfth character string; (ii.) if it is determined that there is a unit associated with the sixth category in the twelfth character string: extracting the twentieth character string positioned before the unit associated with the sixth category to generate an optical prescription value associated with the sixth category.
[0030] In different embodiments of the first aspect, the method further includes (i.) detecting at least one of the numbers, alphabetic characters, fourth symbols, and fifth punctuation marks in each of the first to eighteenth character strings; and (ii.) extracting the at least one of the numbers, alphabetic characters, fourth symbols, and fifth punctuation marks detected in each of the first to eighteenth character strings to generate an optical prescription value associated with a corresponding predetermined category in one or more predetermined categories.
[0031] In different embodiments of the first aspect, (i.) the optical prescription value associated with each of the first category, the second category, the fourth category, and the sixth category has a length less than or equal to 5 characters; (ii.) the optical prescription value associated with the third category has a length less than or equal to 4 characters; and (iii.) the optical prescription value associated with the fifth category has a length less than or equal to 2 characters.
[0032] In different embodiments of the first aspect, determining whether an optical prescription value associated with a corresponding predetermined category in one or more predetermined categories contains an error, and if the optical prescription value contains an error, correcting the error in the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories includes: (i.) determining whether there is at least one alphabetic character in the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories; (ii.) if it is determined that there is at least one alphabetic character in the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories: (a.) matching the at least one alphabetic character with one or more predetermined alphabetic character candidates, wherein the one or more predetermined alphabetic character candidates each include a corresponding predetermined numeric candidate; (b.) selecting the corresponding predetermined numeric candidate, the selection being based on at least one alphabetic character matching the one or more predetermined alphabetic character candidates; and (c.) correcting at least one alphabetic character present in the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories to the selected corresponding predetermined numeric candidate.
[0033] In different embodiments of the first aspect, the method further includes (i.) determining whether there is a fifth punctuation mark in the optical prescription value associated with a corresponding predetermined category in one or more predetermined categories; (ii.) if it is determined that there is no fifth punctuation mark in the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories: (a.) detecting the last two digits in the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories; and (b.) inserting the fifth punctuation mark before the last two digits of the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories.
[0034] In different embodiments of the first aspect, the method further includes (i.) determining whether the last two digits of the optical prescription value associated with the corresponding predetermined category in one or more predetermined categories are the same as one or more predetermined digital strings; (ii.) if it is determined that the last two digits of the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories are different from the one or more predetermined digital strings: (a.) matching the last two digits of the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories with one or more predetermined erroneous digital strings, wherein the one or more predetermined erroneous digital strings each include a corresponding predetermined digital string; (b.) selecting the corresponding predetermined digital string, the selection being based on the last two digits matching the one or more predetermined erroneous digital strings; and (c.) correcting the last two digits of the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories to the selected corresponding predetermined digital string; (iii.) generating a corrected optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories.
[0035] In different embodiments of the first aspect, the method further includes: (i.) determining whether a corrected optical prescription value associated with a corresponding predetermined category in one or more predetermined categories falls within a reference value range associated with a corresponding predetermined category in one or more predetermined categories; and (ii.) issuing a first alarm if it is determined that the corrected optical prescription value falls outside the reference value range associated with a corresponding predetermined category in one or more predetermined categories.
[0036] In different embodiments of the first aspect, the method further includes: (i.) calculating the difference between the corrected optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories and the corresponding previous optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories; and (ii.) issuing a second alarm if it is determined that the difference is greater than a predefined threshold associated with the corresponding predetermined category in the one or more predetermined categories.
[0037] In various embodiments of the first aspect, correcting errors within optical prescription values associated with respective ones of the one or more predetermined categories to generate corrected optical prescription values is based on a machine learning algorithm.
[0038] A second aspect of the present disclosure relates to a system for reading an optical prescription on an optical prescription image, the system comprising: (i.) a detection device for detecting an area on the optical prescription image including an optical prescription; (ii.) an extraction device for extracting the optical prescription and converting the optical prescription into machine-coded optical prescription data; (iii.) a classification device for classifying a portion of the optical prescription data into one or more predetermined categories to generate an optical prescription value associated with a corresponding predetermined category in the one or more predetermined categories; and (iv.) a determination device for determining whether the optical prescription value associated with a corresponding predetermined category in the one or more predetermined categories contains an error, and if the optical prescription value contains an error, correcting the error in the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories to generate a corrected optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories.
[0039] In different embodiments of the second aspect, at least one of the detection device, the extraction device, the classification device, and the determination device includes a circuit, the detection device is used to detect an area including an optical prescription, the extraction device is used to extract the optical prescription and convert the optical prescription into machine-coded optical prescription data, the classification device is used to classify a portion of the optical prescription data into one or more predetermined categories to generate an optical prescription value associated with a corresponding predetermined category in the one or more predetermined categories, and the determination device is used to determine whether the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories contains an error, and if the optical prescription value contains an error, correct the error in the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories to generate a corrected optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories.
[0040] In different embodiments of the second aspect, the circuit associated with the classification device and the circuit associated with the determination device further include a memory, the classification device being used to classify a portion of the optical prescription data into one or more predetermined categories to generate an optical prescription value associated with a corresponding predetermined category in the one or more predetermined categories, the determination device being used to determine whether the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories contains an error, and if the optical prescription value contains an error, correcting the error in the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories to generate a corrected optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories, the memory being configured to store the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories and the corrected optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories, and wherein the circuit is further configured to send the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories and the corrected optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories to an external server.
[0041] A third aspect of the present disclosure relates to a computer program product, the computer program product comprising instructions for causing the system according to the second aspect to perform the steps of the method according to the first aspect.
[0042] According to various embodiments, the optical prescription on the optical prescription image may be a handwritten optical prescription for myopia. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] With reference to the detailed description, the present disclosure will be better understood when considered in conjunction with the non-limiting examples and accompanying drawings, in which:
[0044] - Figure 1 A schematic diagram of a method 100 for reading an optical prescription on an optical prescription image is shown;
[0045] - Figure 2A An exemplary erroneous keyword table 200A showing at least one keyword and corresponding erroneous keywords associated with the at least one keyword; Figure 2B An example 200B of detecting, extracting, and converting ("recording") a handwritten optical prescription on an optical prescription image 210 into optical prescription data 220 is shown; Figure 2C Another example 200C of recording a handwritten optical prescription on a printed prescription form 230 as optical prescription data 240 according to steps 102 and 104 of the method 100 is shown;
[0046] - Figure 3An exemplary optical prescription image 300 is shown, in which each portion of the optical prescription may be positioned according to general rules and protocols for writing optical prescriptions;
[0047] - 4A to 4D Exemplary schematic diagrams showing methods 400A, 400B, 400C, 400D for classifying a portion of optical prescription data into one or more predetermined categories according to embodiments of the present disclosure;
[0048] - FIG. 5A to FIG. 5F An exemplary schematic diagram showing a method 500A, 500B, 500C, 500D, 500E, 500F for classifying a portion of optical prescription data into one or more predetermined categories according to another embodiment of the present disclosure;
[0049] - FIG. 6A to FIG. 6D An exemplary schematic diagram showing a method 600A, 600B, 600C, 600D for classifying a portion of optical prescription data into one or more predetermined categories according to another embodiment of the present disclosure;
[0050] - FIG. 7A to FIG. 7C Exemplary schematic diagrams of methods 700A, 700B, and 700C according to various embodiments of the present disclosure are shown, which are used to determine whether an optical prescription value associated with a corresponding predetermined category in one or more predetermined categories contains an error, and if the optical prescription value contains an error, correct the error in the optical prescription value to generate a corrected optical prescription value associated with a corresponding predetermined category in the one or more predetermined categories;
[0051] - Fig. 8A A flow chart illustrating a method 800A for determining whether a corrected prescription value associated with one or more predetermined categories falls within a reference value range associated with a corresponding predetermined category in the one or more predetermined categories; Figure 8B A flow chart illustrating a method 800B for determining whether a difference between a corrected optical prescription value associated with a corresponding predetermined category of one or more predetermined categories and a corresponding previous optical prescription value associated with a corresponding predetermined category of the one or more predetermined categories is greater than a predefined threshold;
[0052] - Fig. 9 A schematic diagram of a system 900 for reading an optical prescription on an optical prescription image is shown;
[0053] - Fig.10 An example 1000 for reading a handwritten optical prescription on an optical prescription image 1001 , including Chinese characters, is shown;
[0054] - Fig.11Another example 1100 for reading a handwritten optical prescription on an optical prescription image 1101 is shown, including under-lens add power measurements; and
[0055] - Fig.12 Another example 1200 for reading a handwritten optical prescription on an optical prescription image 1201 is shown. DETAILED DESCRIPTION
[0056] The following detailed description refers to the accompanying drawings, which illustrate the specific details and embodiments in which the present disclosure may be implemented. These embodiments are described in sufficient detail to enable those skilled in the art to implement the present disclosure. Other embodiments and structural and logical changes may also be utilized without departing from the scope of the present disclosure. Different embodiments are not necessarily mutually exclusive, as some embodiments may be combined with one or more other embodiments to form new embodiments.
[0057] Features described in the context of one embodiment may be correspondingly applicable to the same or similar features in other embodiments. Features described in the context of one embodiment may be correspondingly applicable to other embodiments, even if not explicitly described in these other embodiments. In addition, supplements and / or combinations and / or alternatives described for a feature in the context of one embodiment may be correspondingly applicable to the same or similar features in other embodiments.
[0058] In the context of various embodiments, the articles "a", "an", and "the" used in conjunction with features or elements include reference to one or more of these features or elements. As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items.
[0059] Reference signs included in parentheses in the claims are intended to facilitate understanding of the present disclosure and have no limiting effect on the scope of the claims.
[0060] According to various embodiments, the term "reading" as used herein refers to the acquisition of text information containing an optical prescription from an optical prescription image machine. In the context of the present disclosure, the term "reading" encompasses the detection, extraction, conversion, classification, and / or correction of an optical prescription.
[0061] According to various embodiments, the term "optical prescription" as used herein broadly refers to an optical measurement that indicates the visual health of a subject. In some embodiments, the optical prescription may be a measurement of myopia and / or astigmatism for a subject. In some other embodiments, the optical prescription may be a measurement of hyperopia.
[0062] According to various embodiments, the term "optical prescription image" as used herein may refer to a digital image of a prescription form. In some embodiments, the prescription form may be a hard copy prescription form and may include printed and / or handwritten text. The digital image may be acquired by scanning the prescription form using an image sensor. The optical prescription image may have various formats, and the prescription form of one eye care practitioner may be different from the prescription form of another eye care practitioner. In some embodiments, the optical prescription on the optical prescription image may be handwritten on a piece of white paper.
[0063] According to various embodiments, the term "subject" as used herein may refer to any individual who undergoes an optical examination to obtain an optical prescription. In some embodiments, the term "subject" may refer to, for example, a child or adolescent under the age of 12. In some embodiments, the subject may refer to an emmetropic (e.g., non-myopic or pre-myopic) individual, or a myopic or ametropic individual.
[0064] According to various embodiments, the term "error" as used herein may refer to an erroneous conversion of a numeric or alphabetic character within an extracted optical prescription into machine-encoded optical prescription data. An error identified by the method of the present disclosure may have one or more corresponding predetermined erroneous numeric or alphabetic characters associated with the identified error.
[0065] According to various embodiments, the term "keyword" as used herein may refer to a word indicating a portion of an optical prescription associated with the keyword, or optical prescription data associated with the keyword. The keyword may be in any language, such as English or Chinese, such as Chinese characters.
[0066] According to various embodiments, the term "detection" as used herein may refer to machine-enabled optical recognition of a keyword or character (e.g., a number, an alphabetic character, a symbol, a punctuation mark, and / or a separator). Detecting the keyword or character may include scanning each line of the optical prescription image from a left side (LHS) to a right side (RHS) of the optical prescription image, starting from the top RHS of the first line on the optical prescription image.
[0067] According to various embodiments, the terms "before" and "after" as used herein may refer to the location of a portion of an optical prescription or string of characters. The term "before" may refer to a portion of an optical prescription or string of characters that is positioned in front, in front, or positioned toward the left or LHS; the term "after" may refer to a portion of an optical prescription or string of characters that is positioned behind, behind, or positioned toward the right or RHS relative to another portion, string of characters, and / or characters.
[0068] According to different embodiments, the term "string" as used herein may refer to a series of characters within a string. A string may refer to a string of data as used in a programming language, and may have a predefined finite length or may have a variable length. Within the context of the present disclosure, the term "string" may include at least one of a number, an alphabetic character, a symbol, a punctuation mark, and / or a separator.
[0069] According to various embodiments, the term "number" as used herein may refer to a character of a number or a character representing a number.
[0070] According to different embodiments, the term "alphabetic character" as used herein may refer to the conventional 26 characters of the alphabet. In some embodiments, the term "alphabetic character" may further include characters of any other language, such as Chinese characters.
[0071] According to different embodiments, the term "symbol" as used herein may refer to conventional symbols as used in the field of ophthalmology, including but not limited to: "- (minus)"; "+ (plus)"; "° (degrees)". In different embodiments, the term "symbol" may also refer to the unit of magnification power of the lens, i.e., diopter (D).
[0072] According to various embodiments, the term “punctuation marks” as used herein may refer to conventional symbols as used in the field of ophthalmology, including but not limited to: “. (decimal point)”; “, (decimal comma)”.
[0073] According to various embodiments, the term “separator” as used herein may refer to one or more spaces (“ ”) in the optical prescription data. In the present disclosure, the separator is represented as “ ”.
[0075] As used herein, reference to the numbering of the first to twentieth character strings is not sequential or numerical. The numbering of the character strings is provided for reference only and for reasons of clarity.
[0076] Figure 1A schematic diagram of a method 100 for reading an optical prescription on an optical prescription image is shown. The method 100 includes (i.) detecting an area on the optical prescription image that includes an optical prescription (step 102); (ii.) extracting the optical prescription and converting the optical prescription into machine-encoded optical prescription data (step 104); (iii.) classifying a portion of the optical prescription data into one or more predetermined categories to generate an optical prescription value associated with a corresponding predetermined category in the one or more predetermined categories (step 106); and (iv.) determining whether the optical prescription value associated with a corresponding predetermined category in the one or more predetermined categories contains an error, and if the optical prescription value contains an error, correcting the error in the optical prescription value to generate a corrected optical prescription value associated with a corresponding predetermined category in the one or more predetermined categories (step 108).
[0077] Figure 2A An exemplary erroneous keyword table 200A showing at least one keyword and corresponding erroneous keywords associated with the at least one keyword; Figure 2B An example 200B of detecting, extracting, and converting ("recording") a handwritten optical prescription on an optical prescription image 210 into optical prescription data 220 is shown; Figure 2C Another example 200C of recording a handwritten optical prescription on a printed prescription form 230 as optical prescription data 240 according to steps 102 and 104 of the method 100 is shown.
[0078] refer to Figure 1 and Figure 2A , detecting an area on the optical prescription image that includes an optical prescription (step 102) may include detecting at least one keyword and a portion of the optical prescription associated with the at least one keyword. Non-limiting keywords representing the right eye of the subject may include: “RIGHT”; “R”; “R:”; “OD”; “right”, and non-limiting keywords representing the left eye of the subject may include: “LEFT”; “L”; “L:”; “OS”; “left”. Once at least one keyword is detected, step 102 may include detecting a portion of the optical prescription associated with the at least one keyword, which portion may be positioned after the keyword. For example, the portion of the optical prescription may be positioned adjacent to the keyword and at the RHS of the keyword. Alternatively or additionally, step 102 may include detecting a first keyword, such as “R”; “OD”; “right”, and a second keyword, such as “L”; “OS”; “left”, positioned after the first keyword, and detecting a portion of the optical prescription between the two keywords, which portion may correspond to the portion of the optical prescription associated with the first keyword (e.g., “R”; “OD”; “right”).
[0079] Detecting at least one keyword in step 102 may further include detecting at least one keyword and corresponding one or more wrong keywords associated with a corresponding keyword in the at least one keyword, as shown in the wrong keyword table 200A. For example, the alphabetic characters in the keyword "OD" may be detected as symbols and alphabetic characters, such as "(a"; "a)"; the alphabetic characters in the keyword "OS" may be detected as the number "05".
[0080] According to various embodiments, detecting the corresponding one or more erroneous keywords associated with a corresponding keyword in at least one keyword may be based on a machine learning algorithm. For example, one or more neural networks may be trained by inputting a keyword and the corresponding one or more possible erroneous keywords associated with the keyword, and establishing a table, such as the erroneous keyword table 200A or any database containing information providing correlations between keywords and the corresponding one or more erroneous keywords. In an embodiment, the table or database may include training a neural network with a set of optical prescription images to establish correlations between keywords and the corresponding one or more erroneous keywords. The table or database may be stored in a memory or an external server.
[0081] refer to Figures 1 to 2C , extracting the optical prescription (step 104) may include extracting at least one keyword and a portion of the optical prescription associated with the at least one keyword. In some embodiments, the portion of the optical prescription associated with the at least one keyword may be positioned after the keyword. In some other embodiments, the portion of the optical prescription associated with the at least one keyword may be positioned between two keywords. Step 104 also includes extracting one or more corresponding erroneous keywords associated with a corresponding keyword in at least one keyword that can be detected according to the erroneous keyword table 200A, and converting the optical prescription (including the keyword and the portion of the optical prescription associated with the keyword) into machine-encoded optical prescription data. The conversion of the optical prescription to optical prescription data may be performed using an electronic device, for example, by digitizing a printed or handwritten optical prescription using conventional OCR technology, as known to those skilled in the art.
[0082] In some embodiments, steps 102 and 104 may further include detecting, extracting and converting portions of the optical prescription that may be associated with the general vision condition of the subject. The data contained in such portions of the optical prescription image may include general information such as, but not limited to: the subject's name, date of birth, date of measurement, type of measurement used in the eye examination. It is contemplated that other data related to the general vision condition of the subject may be included in such portions of the optical prescription image.
[0083] refer to Figure 2B In the illustrated example 200B, keyword 212 “OD” may be incorrectly recorded as keyword 222 “a)”, and keyword 214 “OS” may be incorrectly recorded as keyword 224 “OS”. The corresponding one or more incorrect keywords associated with the keywords may be based on incorrect keyword table 200A.
[0084] In an embodiment, the portion 216 of the optical prescription corresponding to the keyword 212 “OD” may be recorded as the optical prescription data 226 because it is located after the keyword 212 “OD”, for example, adjacent to and at the RHS thereof. In another embodiment, the optical prescription 216 located between the keywords 212, 214 (e.g., “OD” and “OS”) may be recorded as the optical prescription data 226. Similarly, the portion 218 of the optical prescription corresponding to the keyword 214 “OS” may be recorded as the optical prescription data 228. For example, the optical prescription 218 may be located after the keyword 214 “OS” and may therefore be recorded as the optical prescription data 228.
[0085] refer to Figure 2C , which shows another example 200C of printed text including a handwritten optical prescription and keywords on a printed prescription form 230, steps 102 and 104 of method 100 may include recording a portion containing the printed keyword 232 (including any Chinese character conversion thereof) as optical prescription keyword data 242 on the optical prescription data 240. For example, keyword 234 "R" may be recorded as keyword 244 "R", and keyword 236 "L" may be recorded as keyword 246 "L". A portion 235 of the optical prescription corresponding to keyword 234 "R" may be recorded as optical prescription data 245, and a portion 237 of the optical prescription corresponding to keyword 236 "L" may be recorded as optical prescription data 247. In various embodiments, portions 235, 237 of the optical prescription positioned after their respective keywords 234, 236 (e.g., "R", "L") may be recorded as optical prescription data 245, 247, respectively.
[0086] As shown in examples 200B and 200C, the machine-encoded optical prescription data may include or be a illogical string of at least one number, alphabetic character, symbol, punctuation mark, and / or separator, and further include errors. Thus, a user (e.g., a subject or a subject's parent) may have difficulty understanding the information presented in the machine-encoded optical prescription data 245, 247, and may need to further classify and / or correct any errors in the optical prescription data 245, 247.
[0087] Return to reference Figure 1, the method 100 further includes (iii.) classifying a portion of the machine-encoded optical prescription data into one or more predetermined categories to generate an optical prescription value associated with a corresponding predetermined category of the one or more predetermined categories (step 106).
[0088] The one or more predetermined categories may include (i.) a first category associated with spherical data of the subject, the spherical data referring to the lens power or spherical power required to correct vision (e.g., the subject's myopia (nearsightedness) or hyperopia (hyperopia)). The first category may include the lens power or spherical power for both the subject's right eye and left eye.
[0089] The one or more predetermined categories may further include: (ii.) a second category associated with the subject's cylindrical data, the cylindrical data indicating the lens power required to correct the subject's astigmatism; and (iii.) a third category associated with the subject's cylindrical axis data, the cylindrical axis data indicating the lens meridian required to correct the subject's astigmatism.
[0090] The one or more predetermined categories may further include (iv.) a fourth category associated with a sub-lens addition power for the subject, the sub-lens addition power indicating an increased magnification lens power that may be required to correct the subject's presbyopia. The fourth category may include sub-lens addition powers for both the subject's right eye and left eye.
[0091] The one or more predetermined categories may further include (v.) a fifth category associated with pupil distance data for the subject, the pupil distance data indicating the distance between the pupils of the subject's two eyes. In an embodiment, the pupil distance data may be a monocular pupil distance measurement indicating the distance between the center of the subject's pupil and the middle of the bridge of the subject's nose, and may include pupil distance data for both the subject's right eye and the left eye. In another embodiment, the pupil distance data may be a binocular pupil distance measurement indicating the distance between the center of the pupil of one eye and the center of the pupil of the other eye.
[0092] The one or more predetermined categories may further include (vi.) a sixth category associated with the subject's axial length, the axial length indicating a combination of anterior chamber depth, lens thickness, and vitreous cavity depth that may contribute to the subject's refractive error.
[0093] In some embodiments, the one or more predetermined categories may further include (vii.) a seventh category associated with data of the general vision condition of the subject. As described above, non-limiting examples of data associated with the seventh category may include or be: the subject's name, date of birth, date of eye examination, type of measurement used in the eye examination to obtain the subject's optical prescription.
[0094] According to various embodiments, classifying a portion of the optical prescription data into one or more predetermined categories to generate an optical prescription value associated with a corresponding predetermined category in the one or more predetermined categories (step 106) may include modifying the optical prescription data so that each portion of the optical prescription data to be classified into any one of the one or more predetermined categories (e.g., any one of the first to sixth categories) is separated by a single separator (e.g., ""). For example, a string manipulation or string processing function may be applied to the optical prescription data to remove any additional separators in the optical prescription data. Such string manipulation techniques may be known to those skilled in the art and will not be described in detail in the present disclosure.
[0095] Figure 3 An exemplary optical prescription image 300 is shown, in which each portion of the optical prescription may be positioned according to general rules and protocols for writing optical prescriptions.
[0096] like Figure 3 As shown, the spherical data 302 of the subject associated with the first category may be positioned before the data associated with any one of the second to sixth categories. For example, the spherical data 302 may be positioned at the top of the optical prescription image 300. The spherical data 302 may include measurement results 304 and 306 for both the right eye and the left eye, and in an embodiment, the spherical data 304 for the right eye (e.g., "OD: -6.25") may be positioned before the spherical data 306 for the left eye (e.g., "OS: -1.75"). In various embodiments, the spherical data 302 may have the following format: a first part, including a sign, such as "+" or "-" or no sign; a second part, including 1 to 2 numbers; a third part, including punctuation marks, such as "," or "."; and a fourth part, including 2 numbers. Therefore, the length of the spherical data 302 may be 4 to 6 characters, for example, "2.50"; "+2.50"; "+02.25".
[0097] The cylindrical data 310 of the subject associated with the second category may be positioned after the spherical data 302 of the subject, for example adjacent thereto and at its RHS, such as Figure 3As shown. In an embodiment, the cylindrical data 310 can be positioned after the left eye spherical data 306, for example, "-0.75" is positioned after the left eye spherical data 306 "-1.75". Alternatively, the cylindrical data 310 can be positioned after the right eye spherical data 304. In different embodiments, the cylindrical data 310 can have the following format: a first part, including a sign, such as "+" or "-" or no sign; a second part, including 1 to 2 digits; a third part, including punctuation marks, such as "," or "."; and a fourth part, including 2 digits. Therefore, the length of the cylindrical data 310 can be 4 to 6 characters, for example, "0.75"; "-0.75"; "-4.00".
[0098] The subject's cylindrical axis data 320 associated with the third category may be positioned after the subject's cylindrical data 310, such as adjacent to and at its RHS, such as Figure 3 As shown. In different embodiments, the subject's cylindrical axis data 320 may have the following format: a series of characters, and may not include symbols and / or punctuation marks. In some embodiments, the cylindrical axis data 320 may be an integer, and its length may be 1 to 3 characters, for example, "6"; "16"; "180". In some other embodiments, the cylindrical axis data 320 may include a cylindrical axis data keyword, such as "A"; "x": "Axis" positioned before the cylindrical axis data 320, for example, "x 6"; "x 16"; "x 180", and its length may be 3 to 5 characters.
[0099] The subject's sub-lens add power data 330 associated with the fourth category may be positioned after the subject's spherical data 302, cylindrical data 310, and cylindrical axis data 320. Figure 3As shown, the sub-lens addition power data 330 may be positioned in a row below the spherical data 302, the cylindrical data 310, and the cylindrical axis data 320. The sub-lens addition power data 330 may include measurement results 332 and 334 for the right eye and / or the left eye, and in an embodiment, the sub-lens addition power data 332 for the right eye in the sub-lens addition power data 330 (e.g., "R: -3.75") may be positioned before the sub-lens addition power data 334 for the left eye in the sub-lens addition power data 330 (e.g., "L: -2.00"), for example, in the previous row. In different embodiments, the sub-lens addition power data 330 may have the same format as the spherical data 302, specifically: a first part, including a sign, such as "+" or "-" or no sign; a second part, including 1 to 2 numbers; a third part, including punctuation marks, such as "," or "."; and a fourth part, including 2 numbers. Therefore, the length of the sub-lens addition power data 330 may be 4 to 6 characters, for example, “3.50”; “+3.50”; “-2.00”.
[0100] The pupil distance data 340 for the subject associated with the fifth category may be located after a keyword 342 (e.g., "PD") associated with the pupil distance data 340. Non-limiting examples of keywords 342 associated with the pupil distance data 340 may include keywords such as "PD" or "pd". Figure 3 In the illustrated embodiment, binocular pupil distance data 340 may be positioned in a row below spherical data 302, cylindrical data 310, and cylindrical axis data 320, and may be positioned after keyword 342 "PD". In different embodiments, pupil distance data 340 may have the following format: a series of characters, and may not include symbols and / or punctuation marks. In some embodiments, pupil distance data 340 may be an integer comprising a length of 2 characters, for example, "25"; "50"; "72". In some embodiments, pupil distance data 340 may include a unit of measurement, such as mm (millimeter) positioned after pupil distance data 340, and pupil distance data 340 may be 4 characters in length. Although Figure 3 Binocular pupil distance data 340 measurements are shown, but pupil distance data 340 may be a monocular measurement and may include pupil distance data 340 for both the right eye and the left eye of the subject.
[0101] The axial length data of the subject associated with the sixth category may be located after the keyword associated with the axial length data ( Figure 3). Non-limiting examples of keywords associated with the axial length data may include keywords such as "AL" or "al". The axial length data may be a separate measurement and may be located in a row separate from and below the row with the spherical data 302, the cylindrical data 310, the cylindrical axis data 320, the sub-lens add power data 330, and the pupil distance data 340. In different embodiments, the axial length data may have the following format: a first part, including 2 digits; a second part, including punctuation marks, such as "," or "."; and a third part, including 2 digits, so its length may be 5 characters, for example, "20.00"; "27.00". In some embodiments, the axial length data may include a unit of measurement, such as mm (millimeter) located after the axial length data. In this way, the length of the axial length data may be 7 characters, for example, "20.00mm"; "27.00mm".
[0102] Will refer to 4A to 6D Various embodiments for classifying a portion of the optical prescription data into one or more predetermined categories to generate optical prescription values associated with respective ones of the one or more predetermined categories (step 106 ) are described below.
[0103] 4A to 4D Exemplary schematic diagrams of methods 400A, 400B, 400C, and 400D for classifying a portion of optical prescription data into one or more predetermined categories according to embodiments of the present disclosure are shown.
[0104] Figure 4AA flow chart of a method 400A for classifying a portion of optical prescription data into a first category associated with spherical data of a subject is shown, including an example 405 thereof. The method 400A may include: (i.) detecting a first punctuation mark in the optical prescription data (e.g., "," or "." in the optical prescription data) (step 401); and (ii.) extracting a first string of characters positioned before the first punctuation mark and a second string of characters positioned after the first punctuation mark, wherein the first string of characters and the second string of characters each have a first predefined length (step 402). In some embodiments, the length of the first predefined length may be 3 characters. As described above, the length of the spherical data may be 4 to 6 characters, and the spherical data may have a format as described above. Accordingly, the 3 characters positioned before the first punctuation mark (e.g., the first string of characters) and the 3 characters positioned after the first punctuation mark (e.g., the second string of characters) may be extracted. As shown in the example 405, the first string of characters 407 may be the 3 characters "-2" positioned before the first punctuation mark 406, and the second string of characters 408 may be the 3 characters "5D" positioned after the first punctuation mark 406. It is conceivable that the first punctuation mark 406 may also be extracted in step 402 .
[0105] In some embodiments, method 400A may further include (iii.) detecting at least one of numbers, alphabetic characters, symbols, and / or punctuation marks in the first and second character strings, and extracting the at least one of numbers, alphabetic characters, symbols, and / or punctuation marks in the first and second character strings to generate an optical prescription value associated with the first category (step 403). Since spherical data including 4 to 6 characters may be included in the first and second character strings, the extracted one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the first and second character strings may correspond to the optical prescription value for the spherical data associated with the first category, and may have a length of less than or equal to 5 characters. As shown in example 405, optical prescription value 409 "-25D" may refer to optical prescription value 409 for spherical data associated with the first category.
[0106] Figure 4BA flow chart of method 400B for classifying a portion of optical prescription data into a second category associated with cylindrical data of a subject is shown, including an example 415 thereof. Method 400B may include (i.) detecting a second punctuation mark in the optical prescription data, the second punctuation mark being positioned after the first punctuation mark (step 411). In example 415, a subsequent second punctuation mark 416 positioned after the first punctuation mark 406 may be detected, for example, ".". Method 400B may also include (ii.) extracting a third string positioned before the second punctuation mark and a fourth string positioned after the second punctuation mark, wherein the third string and the fourth string each have a first predefined length of 3 characters (step 412). In some embodiments, method 400A may be performed before method 400B because the cylindrical data may be positioned after the spherical data. Additionally, as described above, the length of the cylindrical data may be 4 to 6 characters, and the cylindrical data may have a format as described above. Accordingly, step 412 of method 400B may include extracting 3 characters positioned before and after the second punctuation mark, for example, a third string and a fourth string. In example 415, third string 417 may be 3 characters "-0" positioned before second punctuation mark 416, and fourth string 418 may be 3 characters "750" positioned after the second punctuation mark. It is contemplated that step 412 may further include extracting second punctuation mark 416.
[0107] In some embodiments, method 400B may further include (iii.) detecting at least one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the third and fourth character strings, and extracting the at least one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the third and fourth character strings to generate an optical prescription value associated with the second category (step 413). Since cylindrical lens data including 4 to 6 characters may be included in the third and fourth character strings, the extracted one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the third and fourth character strings may correspond to the optical prescription value for the cylindrical lens data associated with the second category, and may have a length of less than or equal to 5 characters. As shown in example 415, optical prescription value 419 "-0750" may refer to optical prescription value 419 for cylindrical lens data associated with the second category.
[0108] Figure 4CA flow chart of a method 400C for classifying a portion of optical prescription data into a fourth category associated with sub-lens addition power data of a subject is shown, including an example 425 thereof. The method 400C may include (i.) detecting a third punctuation mark in the optical prescription data, the third punctuation mark being positioned after each of the first punctuation mark and the second punctuation mark (step 421). As described above, the sub-lens addition power data may be a separate measurement result and may be positioned after the spherical data (having the first punctuation mark) and the cylindrical data (having the second punctuation mark). For example, the third punctuation mark 426 (e.g., ".") may be positioned after the first punctuation mark 406 and the second punctuation mark 416. The method 400C may further include (ii.) extracting a fifth character string positioned before the third punctuation mark and a sixth character string positioned after the third punctuation mark, wherein the fifth character string and the sixth character string each have a first predefined length of 3 characters (step 422). The sub-lens addition power data may have a length of 4 to 6 characters and a format as described above. Accordingly, method 400A and method 400B may be performed before method 400C is performed, and 3 characters located before (e.g., the fifth string) and after (e.g., the sixth string) the third punctuation mark may be extracted. As shown in example 425, the 3 characters located before the third punctuation mark 426 corresponding to the fifth string 427 may be "-3", and the 3 characters located after the third punctuation mark 426 corresponding to the sixth string 428 may be extracted, such as "75". It is contemplated that step 422 may further include extracting the third punctuation mark 426.
[0109] In some embodiments, the method 400C may further include (iii.) detecting at least one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the fifth and sixth character strings, and extracting the at least one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the fifth and sixth character strings to generate an optical prescription value associated with a fourth category (step 423). Since the sub-lens addition power data including 4 to 6 characters may be included in the fifth and sixth character strings, the extracted one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the fifth and sixth character strings may correspond to the optical prescription value of the sub-lens addition power data for the fourth category. In an embodiment, the optical prescription value for the sub-lens addition power data may have a length of less than or equal to 5 characters. As shown in example 425, the optical prescription value 429 "-375" may refer to the optical prescription value 429 for the sub-lens addition power data associated with the fourth category.
[0110] Figure 4DA flow chart of a method 400D for classifying a portion of optical prescription data into a sixth category associated with axial length data of a subject is shown, including an example 435 thereof. The method 400D may include (i.) detecting a fourth punctuation mark in the optical prescription data, the fourth punctuation mark being positioned after each of the first punctuation mark, the second punctuation mark, and the third punctuation mark (step 431). In example 445, the fourth punctuation mark 436 may be detected, for example, relative to the first punctuation mark 406, the second punctuation mark 416, and the third punctuation mark 426 associated with the first to sixth character strings (see FIG. 4A to FIG. 4C ) is followed by a punctuation mark ".". Method 400D may further include (ii.) extracting a seventh character string positioned before the fourth punctuation mark and an eighth character string positioned after the fourth punctuation mark, wherein the seventh character string and the eighth character string each include 2 characters (step 432). As described above, the axial length data may be a separate measurement result and have a length of 5 (excluding the unit of the measurement result) or 7 characters (including the unit of the measurement result) and the above-mentioned format. Accordingly, and as shown in example 435, 2 characters (e.g., "20") corresponding to the seventh character string 437 positioned before the fourth punctuation mark 436 and 2 characters (e.g., "50") corresponding to the eighth character string 438 positioned after the fourth punctuation mark 436 may be extracted. It is conceivable that step 432 may further include extracting the fourth punctuation mark 436. In some embodiments, methods 400A to 400C may be performed before executing method 400D.
[0111] In some embodiments, method 400D may further include (iii.) detecting at least one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the seventh and eighth character strings, and extracting the at least one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the seventh and eighth character strings to generate an optical prescription value associated with the sixth category (step 433). Since axial length data including 5 to 7 characters may be included in the seventh and eighth character strings, the extracted one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the seventh and eighth character strings may correspond to the optical prescription value of the axial length data for the sixth category. In an embodiment, the optical prescription value of the axial length data may have a length less than or equal to 5 characters, and may have an optical prescription value 439 "2050" as shown in example 435.
[0112] FIG. 5A to FIG. 5FExemplary schematic diagrams of methods 500A, 500B, 500C, 500D, 500E, and 500F for classifying a portion of optical prescription data into one or more predetermined categories according to another embodiment of the present disclosure are shown.
[0113] Figure 5A A flow chart of a method 500A for classifying a portion of optical prescription data into a first category associated with spherical data of a subject is shown, including an example 505 thereof. The method 500A may include (i.) detecting a first keyword from at least one keyword, the first keyword being associated with the first category (step 501). For example, in example 505, a keyword "L" 506 associated with the spherical data may be detected. The method 500A may further include (ii.) extracting a ninth character string positioned after the first keyword, wherein the ninth character string has a second predefined length (step 502). In some embodiments, the second predefined length may include or be a length of 7 characters. As described above, the spherical data may include 4 to 6 characters and may be contained within 7 characters of the ninth character string. As shown in example 505, a ninth character string 507 may be extracted, which is positioned after the keyword 506 and includes 7 characters, for example, "-2.5D--".
[0114] In some embodiments, method 500A may further include (iii.) detecting at least one of numbers, alphabetic characters, symbols, and / or punctuation marks in a ninth character string, and extracting the at least one of numbers, alphabetic characters, symbols, and / or punctuation marks in the ninth character string to generate an optical prescription value associated with the first category (step 503). Since spherical data including 4 to 6 characters may be included in the ninth character string, the extracted one of numbers, alphabetic characters, symbols, and / or punctuation marks in the ninth character string may correspond to the optical prescription value for the spherical data of the first category, and may have a length of less than or equal to 5 characters. For example, optical prescription value 508 "-2.5" may refer to optical prescription value 508 for the spherical data of the first category.
[0115] Figure 5BA flow chart of a method 500B for classifying a portion of optical prescription data into a second category associated with cylindrical data of a subject is shown, including an example 515 thereof. Method 500B includes (i.) detecting a tenth character string positioned after the portion of the optical prescription data classified into the first category (step 511); and (ii.) extracting a tenth character string, wherein the tenth character string has a second predefined length of 7 characters (step 512). Since cylindrical data can be positioned after spherical data (e.g., spherical data for the left eye or the right eye), method 500B can include detecting and extracting a tenth character string including 7 characters positioned after the spherical data. Cylindrical data including a length of 4 to 6 characters can be contained within the 7 characters of the tenth character string. As shown in example 515, a tenth character string 517 (e.g., "--D750") can be positioned after the spherical data 516. In some embodiments, method 500A can be performed before method 500B.
[0116] In some embodiments, method 500B may further include (iii.) detecting at least one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the tenth character string, and extracting the at least one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the tenth character string to generate an optical prescription value associated with the second category (step 513). Since cylindrical lens data including 4 to 6 characters may be included in the tenth character string, the extracted one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the tenth character string may correspond to the optical prescription value of the cylindrical lens data for the second category. In an embodiment, the optical prescription value of the cylindrical lens data may have a length less than or equal to 5 characters, and may have an optical prescription value 518 "-D750" as shown in example 515.
[0117] Figure 5CA flow chart of a method 500C for classifying a portion of optical prescription data into a third category associated with a subject's cylindrical axis data is shown, including an example 525 thereof. The method 500C includes: (i.) detecting a seventeenth character string positioned after the portion of the optical prescription data classified into the second category (step 521); and (ii.) extracting the seventeenth character string, wherein the seventeenth character string includes 6 characters (step 522). As described above, the cylindrical axis data may be positioned after the cylindrical data (because the cylindrical axis data may generally be measured in conjunction with the cylindrical data), and accordingly, the method 500C may include detecting and extracting the seventeenth character string including 6 characters positioned after the cylindrical data. The cylindrical axis data including 1 to 3 characters (excluding the keyword 526 "x") or 2 to 4 characters (including the keyword 526 "x") in length may be contained within the 6 characters of the seventeenth character string. As shown in example 525, a seventeenth character string 527 (e.g., "x 180") having a length of 6 characters may be positioned after the spherical data and the cylindrical data 528. In some embodiments, the spherical data and the cylindrical data 528 may be detected before the cylindrical axis data 527 is detected, and methods 500A and 500B may be performed before method 500C.
[0118] In some embodiments, method 500C may further include (iii.) detecting at least one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the seventeenth character string, and extracting the at least one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the seventeenth character string to generate an optical prescription value associated with the third category (step 523). Since cylindrical axis data including 1 to 4 characters may be included in the seventeenth character string, the extracted one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the seventeenth character string may correspond to the optical prescription value of the cylindrical axis data for the third category. In an embodiment, the optical prescription value of the cylindrical axis data may have a length less than or equal to 4 characters, and may have an optical prescription value 529 "180" as shown in example 525.
[0119] Figure 5DA flow chart of a method 500D for classifying a portion of optical prescription data into a fourth category associated with sub-lens addition power data of a subject is shown, including an example 535 thereof. The method 500C includes (i.) detecting a second keyword from at least one keyword, the second keyword being associated with the fourth category (step 531). For example, in example 535, a keyword 536 "R" associated with the sub-lens addition power data of the subject may be detected. The method 500C further includes (ii.) extracting an eleventh string of characters positioned after the second keyword, wherein the eleventh string of characters has a second predefined length (step 532), and the length of the second predefined length may be 7 characters. Since the sub-lens addition power data may include 4 to 6 characters, the data may be contained within the 7 characters of the eleventh string of characters. As shown in example 535, an eleventh string of characters 537 may be extracted, which is positioned after the keyword 536 "R" and includes 7 characters, for example, "-3.75D".
[0120] In some embodiments, method 500C may further include (iii.) detecting at least one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the eleventh character string, and extracting the at least one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the eleventh character string to generate an optical prescription value associated with the fourth category (step 533). Since the sub-lens addition power data including 4 to 6 characters may be included in the eleventh character string, the extracted one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the eleventh character string may correspond to the optical prescription value of the sub-lens addition power data for the fourth category. In an embodiment, the optical prescription value of the sub-lens addition power data may have a length less than or equal to 5 characters, and may have an optical prescription value 538 "-3.75" as shown in example 535.
[0121] Figure 5EA flow chart of a method 500E for classifying a portion of optical prescription data into a fifth category associated with pupil distance data of a subject is shown, including an example 545 thereof. The method 500E may include (i.) detecting a fourth keyword from at least one keyword, the fourth keyword being associated with the fifth category (step 541). For example, in example 545, a keyword 546 "PD" associated with pupil distance data of a subject may be detected. The method 500E may further include (ii.) extracting an eighteenth character string positioned after the fourth keyword, wherein the eighteenth character string includes a length of 5 characters (step 542). Pupil distance axial data including a length of 2 characters (excluding the unit 547 "mm" associated with the fifth category) or 4 characters (including the unit 547 "mm" associated with the fifth category) may be contained within the 5 characters of the eighteenth character string. As shown in example 545, an eighteenth character string 548 (e.g., "56mm") having a length of 5 characters may be extracted, which is positioned after the keyword 546 "PD". In some embodiments, spherical data, cylindrical data, cylindrical axis data, and sub-lens add power data may be detected before detecting pupil distance data 548, and the method of the present disclosure may include performing methods 500A to 500D before method 500E.
[0122] In some embodiments, method 500E may further include (iii.) determining whether there is a unit associated with the fifth category in the eighteenth character string; if it is determined that there is a unit associated with the fifth category in the eighteenth character string: extracting a nineteenth character string positioned before the unit associated with the fifth category to generate an optical prescription value associated with the fifth category (step 543). In an embodiment, step 543 may include detecting a unit 547 (e.g., "mm") associated with the fifth category, and extracting a nineteenth character string 549 (e.g., "56") positioned before the unit 547 associated with the fifth category, and the nineteenth character string may have a length less than or equal to 2 characters. In another embodiment, if it is determined that there is no unit 547 associated with the fifth category in the eighteenth character string 548, step 543 may include extracting 2 characters (e.g., "56") positioned after the keyword 546 "PD" to generate an optical prescription value associated with the fifth category.
[0123] Figure 500F shows a flow chart of a method 500F for classifying a portion of optical prescription data into a sixth category associated with axial length data of a subject, including an example 555 thereof. The method 500F may include (i.) detecting a third keyword from at least one keyword, the third keyword being associated with the sixth category (step 551). For example, in example 555, a keyword 556 "AL" associated with the axial length of the subject may be detected. The method 500F may further include (ii.) extracting a twelfth string positioned after the third keyword, wherein the twelfth string has a second predefined length (552) including 7 characters. The axial length data including 5 characters (excluding the unit 557 "mm" associated with the sixth category) may be contained within the 7 characters of the twelfth string. As shown in example 555, a twelfth string 558 (e.g., "20.50mm") having a length of 7 characters may be positioned after the keyword 556 "AL" and may be extracted according to steps 551 and 552 of the method 500F. In some embodiments, spherical data, cylindrical data, cylindrical axis data, sub-lens add power data, and pupil distance data may be detected before detecting the axial length data 558, and the method of the present disclosure may include performing methods 500A to 500E before method 500F.
[0124] In some embodiments, method 500F may further include (iii.) detecting at least one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the twelfth character string, and extracting the at least one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the twelfth character string to generate an optical prescription value associated with the sixth category (step 553). Since the axial length data including 5 characters may be included in the twelfth character string, the extracted one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the twelfth character string may correspond to the optical prescription value of the axial length data for the sixth category. In an embodiment, the optical prescription value of the axial length data may have a length less than or equal to 5 characters, and may have an optical prescription value 559 "20.50" as shown in example 555.
[0125] Alternatively, in some other embodiments, method 500F may include (iii.) determining whether there is a unit associated with the sixth category in the twelfth character string; if it is determined that there is a unit associated with the sixth category in the twelfth character string: extracting a twentieth character string positioned before the unit associated with the sixth category to generate an optical prescription value associated with the sixth category (step 554). In an embodiment, step 554 may include detecting a unit 557 associated with the sixth category (e.g., unit "mm"), and extracting a twentieth character string 560 (e.g., "20.50") positioned before the unit 557 associated with the sixth category, and the twentieth character string may have a length less than or equal to 5 characters. In another embodiment, if it is determined that there is no unit 557 associated with the sixth category in the twelfth character string 558, step 554 may include extracting 5 characters (e.g., "20.50") positioned after the keyword 556 "AL" to generate an optical prescription value associated with the sixth category.
[0126] According to different embodiments, it is contemplated that the method of the present disclosure may be implemented to classify a portion of the optical prescription data into a seventh category associated with the general vision condition of the subject to generate an optical prescription value associated with the seventh category. For example, a fifth keyword associated with the general vision condition of the subject may be detected from at least one keyword, and a character string positioned after the fifth keyword may be extracted. Non-limiting examples of the fifth keyword include: "name"; "measurement date"; "solution type"; the character string positioned after the fifth keyword may have a variable length. In an embodiment, generating an optical prescription value associated with the seventh category may further include detecting at least one of numbers, alphabetic characters, symbols, and / or punctuation marks in the character string, and extracting the at least one of numbers, alphabetic characters, symbols, and / or punctuation marks in the character string, because the general vision condition data may be contained in a character string having a variable length.
[0127] According to various embodiments, detecting the first to fifth keywords associated with the corresponding predetermined categories in the one or more predetermined categories may include detecting corresponding one or more erroneous keywords associated with the corresponding keywords in the at least one keyword. For example, the detection of erroneous keywords may be based on the erroneous keyword table 200A.
[0128] FIG. 6A to FIG. 6D Exemplary schematic diagrams of methods 600A, 600B, 600C, and 600D for classifying a portion of optical prescription data into one or more predetermined categories according to another embodiment of the present disclosure are shown.
[0129] Fig. 6AA flow chart of a method 600A for classifying a portion of optical prescription data into a first category associated with a subject's spherical data is shown, including an example 605 thereof. The method 600A may include: (i.) detecting a first symbol and a first separator in the optical prescription data (step 601); and (ii.) extracting a thirteenth string of characters positioned between the first symbol and the first separator (step 602). As described above, the spherical data is typically the first measurement result positioned on the optical prescription image. For example, the spherical data may be positioned before the cylindrical data and may be separated by a single separator (e.g., ""). In this embodiment, the optical prescription data may be manipulated prior to step 601 to remove additional separators. Accordingly, and as shown in example 605, step 601 may include detecting a first symbol 606 and a first separator 607, and extracting a thirteenth string of characters 608, e.g., "3.25", positioned between the first symbol and the first separator. It is contemplated that, in an embodiment, step 602 may further include extracting the first symbol 606 and the first separator 607.
[0130] In some embodiments, method 600A may further include (iii.) detecting at least one of numbers, alphabetic characters, symbols, and / or punctuation marks in the thirteenth character string, and extracting the at least one of numbers, alphabetic characters, symbols, and / or punctuation marks in the thirteenth character string to generate an optical prescription value associated with the first category (step 603). Since spherical data including 4 to 6 characters may be included in the thirteenth character string, the extracted one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the thirteenth character string may correspond to the optical prescription value of the spherical data for the first category. In an embodiment, the optical prescription value of the spherical data may have a length less than or equal to 5 characters. As shown in example 605, an optical prescription value 609 may be extracted, for example, "3.25"; or "-3.25".
[0131] Figure 6BA flow chart of a method 600B for classifying a portion of optical prescription data into a second category associated with a subject's cylindrical data is shown, including an example 615 thereof. Method 600B may include: (i.) detecting a second symbol and a second separator in the optical prescription data, the second symbol and the second separator being positioned after the first symbol and the first separator (step 611); and (ii.) extracting a fourteenth string of characters positioned between the second symbol and the second separator (step 612). As described above, cylindrical data is typically positioned after spherical data on an optical prescription image. For example, cylindrical data may be positioned after spherical data and may be separated by a single separator "" (via the above-described string manipulation function). Accordingly, method 600A may be performed prior to method 600B. As shown in example 615, step 611 may therefore include detecting a second symbol 616 and a second separator 617 positioned after the first symbol 606 and the first separator 607, and extracting a fourteenth string of characters 618, e.g., "IFS", positioned between the second symbol 616 and the second separator 617. It is contemplated that step 611 may further include extracting a second symbol 616 and a second separator 617 .
[0132] In some embodiments, method 600B may further include (iii.) detecting at least one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the fourteenth character string, and extracting the at least one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the fourteenth character string to generate an optical prescription value associated with the second category (step 613). As described above, cylindrical lens data that may include 4 to 6 characters may be included in the fourteenth character string, and the extracted one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the fourteenth character string may correspond to the optical prescription value of the cylindrical lens data for the second category. In an embodiment, the optical prescription value of the cylindrical lens data may have a length less than or equal to 5 characters, and may have an optical prescription value 619 "IFS"; or "-IFS", as shown in example 615.
[0133] Figure 6CA flow chart of a method 600C for classifying a portion of optical prescription data into a third category associated with a subject's cylindrical axis data is shown, including an example 625 thereof. The method 600C may include: (i.) detecting a third delimiter in the optical prescription data, the third delimiter being positioned after each of the first delimiter and the second delimiter (step 621); and (ii.) extracting a fifteenth character string positioned after the third delimiter (step 622). As described above, the cylindrical axis data is typically positioned immediately after the cylindrical data on the optical prescription image. For example, the cylindrical axis data may be positioned after the cylindrical data and may be separated by a single delimiter " " (via the above-mentioned string manipulation function). Accordingly, the method 600A and the method 600B may be performed prior to the method 600C. As shown in the example 625, the step 621 may include detecting a third delimiter 626 positioned after the first delimiter 607 and the second delimiter 617, and extracting a fifteenth character string 627, for example, "5", positioned after the third delimiter 626. It is contemplated that step 622 may further include extracting a third delimiter 626 and / or a keyword associated with the cylinder axis data (if such keyword is present in the optical prescription data).
[0134] In some embodiments, method 600C may further include (iii.) detecting at least one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the fifteenth character string, and extracting the at least one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the fifteenth character string to generate an optical prescription value associated with the third category (step 623). As described above, cylindrical axis data that may include 1 to 3 characters may be included in the fifteenth character string, and the extracted one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the fifteenth character string may correspond to the optical prescription value of the cylindrical axis data for the third category. In an embodiment, the optical prescription value of the cylindrical axis data may have a length less than or equal to 4 characters, preferably 3 characters or less, and may have an optical prescription value 628 "5" as shown in example 625.
[0135] Fig.6DA flow chart of a method 600D for classifying a portion of optical prescription data into a fourth category associated with sub-lens addition power data for a subject is shown, including an example 635 thereof. Method 600D may include: (i.) detecting a third symbol and a fourth separator in the optical prescription data, the third symbol and the fourth separator being positioned after each of the first symbol and the second symbol and each of the first to third separators (step 631); and (ii.) extracting a sixteenth character string positioned between the third symbol and the fourth separator (step 632). Sub-lens addition power data may be a separate measurement result, may generally be positioned after spherical data, cylindrical data, and cylindrical axis data on an optical prescription image, and may be separated by a single separator 636, such as "" (via the above-mentioned string manipulation function). Accordingly, methods 600A to 600C may be performed prior to method 600D. As shown in example 635, step 631 may include detecting a third symbol 637 positioned after each of the first symbol 606 and the second symbol 616, and detecting a fourth separator 638 positioned after each of the first separator 607, the second separator 617, and the third separator 626, and extracting a sixteenth character string 639 positioned between the third symbol 637 and the fourth separator 638, for example, "3.75". It is contemplated that step 632 may further include extracting the third symbol 637 and the fourth separator 638.
[0136] In some embodiments, the method 600D may further include (iii.) detecting at least one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the sixteenth character string, and extracting the at least one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the sixteenth character string to generate an optical prescription value associated with the fourth category (step 633). As described above, the sub-lens addition power data that may include 4 to 6 characters may be included in the sixteenth character string, and the extracted one of the numbers, alphabetic characters, symbols, and / or punctuation marks in the sixteenth character string may correspond to the optical prescription value of the sub-lens addition power data for the fourth category. In an embodiment, the optical prescription value of the sub-lens addition power data may have a length less than or equal to 5 characters, and may have an optical prescription value 640 "3.75" or "-3.75" as shown in example 635.
[0137] Return to reference Figure 1 , method 100 further includes (iv.) determining whether the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories contains an error, and if the optical prescription value contains an error, correcting the error in the optical prescription value to generate a corrected optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories (step 108).
[0138] FIG. 7A to FIG. 7C Exemplary schematic diagrams of methods 700A, 700B, and 700C according to different embodiments of the present disclosure are shown, which are used to determine whether an optical prescription value associated with a corresponding predetermined category in one or more predetermined categories contains an error, and if the optical prescription value contains an error, correct the error in the optical prescription value to generate a corrected optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories.
[0139] Fig. 7A A flow chart of a method 700A is shown for determining whether an optical prescription value associated with a corresponding predetermined category in one or more predetermined categories contains an error, and if the optical prescription value contains an error, correcting the error in the optical prescription value to generate a corrected optical prescription value associated with a corresponding predetermined category in the one or more predetermined categories, including an exemplary alphanumeric correction table 704 for correcting the error, and an example 705 thereof. In various embodiments, the optical prescription value associated with a corresponding predetermined category in one or more predetermined categories may be generated according to any one of methods 400A to 600D.
[0140] Method 700A may include (i.) determining whether at least one alphabetic character exists in an optical prescription value associated with a corresponding predetermined category in one or more predetermined categories (step 701); and if it is determined that at least one alphabetic character exists in the optical prescription value associated with a corresponding predetermined category in one or more predetermined categories: (a.) matching the at least one alphabetic character with one or more predetermined alphabetic character candidates, wherein the one or more predetermined alphabetic character candidates each include a corresponding predetermined numeric candidate; (b.) selecting the corresponding predetermined numeric candidate, the selection being based on matching the at least one alphabetic character with the one or more predetermined alphabetic character candidates; and (c.) correcting the at least one alphabetic character existing in the optical prescription value associated with the corresponding predetermined category in one or more predetermined categories to the selected corresponding predetermined numeric candidate (step 702).
[0141] Referring to the alphanumeric correction table 704 and example 705, each alphabetic character detected in step 701 may have a corresponding predetermined alphabetic character, which further corresponds to a predetermined numeric candidate. As shown in example 705, step 701 may include detecting alphabetic characters "I", "F", and "S" in the optical prescription value 706, indicating that there are one or more errors in the optical prescription value 706. As shown in the alphanumeric correction table 704, the predetermined alphabetic characters "I", "F", and "S" may correspond to numeric candidates "1", "7", and "5", respectively. Accordingly, step 702 may include (a.) matching the detected alphabetic characters “I”, “F”, “S” with predetermined alphabetic characters “I”, “F”, “S” according to the alphanumeric correction table 704; (b.) selecting corresponding predetermined digital candidates from the predetermined digital candidates “1”, “7”, “5” according to the alphanumeric correction table 704; and (c.) correcting the detected alphabetic characters “I”, “F”, “S” to the selected corresponding predetermined digital candidates “1”, “7”, “5” to generate a corrected optical prescription value 707, for example, “-175”.
[0142] It is contemplated that method 700A may further include performing steps 701 and 702 for at least one symbol (e.g., "\"; "|"; "{", "}") that may be present in an optical prescription value associated with a corresponding predetermined category in one or more predetermined categories. For example, the at least one symbol that may be detected in step 701 may have one or more predetermined symbol candidates, wherein the one or more predetermined symbol candidates each include a corresponding predetermined numeric candidate. Accordingly, step 702 may be performed to correct at least one symbol present in the optical prescription value to a selected corresponding predetermined numeric candidate for a corresponding predetermined category in one or more predetermined categories. In an embodiment, the one or more predetermined symbol candidates and their corresponding predetermined numeric candidates may be stored in an alphanumeric correction table 704 or in a separate table or database.
[0143] Figure 7B A flow chart of a method 700B is shown for correcting errors in optical prescription values to generate corrected optical prescription values associated with corresponding predetermined categories of one or more predetermined categories, including an example 715 thereof. In some embodiments, method 700B may be performed after method 700A for correcting a detected alphabetic character to a selected corresponding predetermined numeric candidate.
[0144] Method 700B may include: (i.) determining whether there is a fifth punctuation mark in the optical prescription value associated with a corresponding predetermined category in one or more predetermined categories (step 711); and (ii.) if it is determined that there is no fifth punctuation mark in the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories: (a.) detecting the last two digits in the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories; and (b.) inserting the fifth punctuation mark before the last two digits of the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories (step 712).
[0145] Referring to example 715, the corrected optical prescription value 707 (e.g., "-175") obtained according to method 700A may not include punctuation marks, such as "," or "." (step 711). Accordingly, step 712 may include detecting the last two digits 716 (e.g., "75") in the optical prescription value 707, and inserting a punctuation mark 718 (e.g., "," or ".", preferably ".") before the last two digits 716 to generate a further corrected optical prescription value "-1.75". In some embodiments, method 700B may be applicable to optical prescription values associated with the first (spherical data), the second (cylindrical data), the fourth (lens addition power data), and the sixth (axial length data) categories.
[0146] Figure 7C A flow chart of a method 700C is shown for correcting errors in optical prescription values to generate corrected optical prescription values associated with respective predetermined categories in one or more predetermined categories, including an exemplary digital correction table 725 for correcting errors in the last two digits of the optical prescription values. In some embodiments, the method 700C may be performed after each of the method 700A and the method 700B. In an embodiment, the method 700C may be the final step for correcting detected errors in optical prescription values associated with respective predetermined categories in one or more predetermined categories.
[0147] Method 700C may include: (i.) determining whether the last two digits of the optical prescription value associated with the corresponding predetermined category in one or more predetermined categories are the same as one or more predetermined digital strings (step 721); (ii.) if it is determined that the last two digits of the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories are different from the one or more predetermined digital strings: (a.) matching the last two digits of the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories with one or more predetermined error digital strings, wherein the one or more predetermined error digital strings each include a corresponding predetermined digital string; (b.) selecting the corresponding predetermined digital string, the selection being based on the last two digits matching the one or more predetermined error digital strings; and (c.) correcting the last two digits of the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories to the selected corresponding predetermined digital string (step 722); and (iii.) generating a corrected optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories (step 723).
[0148] Referring to the digital correction table 725, the last two digits of the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories obtained according to the method 700B and determined in step 721 may have a corresponding predetermined error digital string, which further corresponds to the predetermined digital string. For example, step 721 may include detecting the last two digits "66" in the optical prescription value, indicating that there are one or more errors in the optical prescription value. As shown in the digital correction table 725, the predetermined error digital string "66" may correspond to the predetermined digital string "00". Accordingly, step 722 may include: (a.) matching the detected error digital string "66" with the predetermined digital string "00" according to the digital correction table 725; (b.) selecting the corresponding corresponding predetermined digital string "00" in the predetermined digital string according to the digital correction table 725; and (c.) correcting the detected last two digital strings "66" to the selected corresponding predetermined digital string "00". Therefore, step 723 may include generating a corrected optical prescription value, wherein the errors in the last two digits may be corrected to their corresponding predetermined digital strings. In an embodiment, method 700C may be applicable to optical prescription values associated with first (spherical data), second (cylindrical data), fourth (sub-lens add power data), and sixth (axial length data) categories.
[0149] Although the exemplary digital correction table 725 shows 4 possible predetermined digital strings with 0.25D increments, the digital correction table according to different embodiments of the present disclosure may include digital strings with any increments. In some embodiments, the predetermined digital strings may have 0.12D increments, 0.05D increments, or 0.01D increments.
[0150] In various embodiments, the method of the present disclosure may further include issuing an alarm, referring to Fig. 8A and Figure 8B Various embodiments for issuing an alarm are described.
[0151] Fig. 8A A flow chart of method 800A for determining whether a corrected prescription value associated with one or more predetermined categories falls within a reference value range associated with a corresponding predetermined category in the one or more predetermined categories is shown. Method 800A includes (i.) determining whether a corrected prescription value associated with one or more predetermined categories falls within a reference value range associated with a corresponding predetermined category in the one or more predetermined categories (step 801). In some embodiments, step 801 may include determining whether a corrected optical prescription value associated with a corresponding predetermined category in one or more predetermined categories, which may be generated according to any one of methods 700A to 700C, falls within a reference value range. In an embodiment, the reference value range may be associated with myopia in children or adolescents, and may include a predetermined range associated with a corresponding category. In some non-limiting embodiments, a first category associated with spherical data may have a reference value range ranging from -0.00D to -10.00D; a second category associated with cylindrical data may have a reference value range ranging from 0.00D to ±3.50D; a third category associated with cylindrical axis data may have a reference value range ranging from 0° to 180°; a fourth category associated with sub-lens addition power data may have a reference value range ranging from ±0.50D to ±0.35D; a fifth category associated with pupil distance data may have a reference value range ranging from 30mm to 80mm, preferably 50mm to 72mm for binocular measurement results, and a reference value range ranging from 15mm to 40mm, preferably 25mm to 36mm for monocular measurement results; a sixth category associated with axial length data may have a reference value range ranging from 20.00mm to 27.00mm. The reference value ranges have been provided as exemplary reference value ranges associated with the corresponding categories among the first to sixth categories, which may depend on the age and gender of the subject, as known to those skilled in the art.
[0152] The method 800A may further include (ii.) if it is determined that the corrected optical prescription value falls outside a reference value range associated with a corresponding predetermined category in one or more predetermined categories, issuing a first alarm (step 802). For example, the first alarm may notify a user or an eye care practitioner that an incorrect optical prescription may have been provided, or that the corrected optical prescription value may include an error that has not been corrected according to the methods 700A to 700C of the present disclosure. In other words, the first alarm may indicate to the user that the corrected optical prescription value falls outside a predetermined reference value range and may include an error.
[0153] Figure 8B A flow chart of a method 800B for determining whether a difference between a corrected optical prescription value associated with a corresponding predetermined category in one or more predetermined categories and a corresponding previous optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories is greater than a predefined threshold is shown. The method 800B may include (i.) calculating a difference between a corrected optical prescription value associated with a corresponding predetermined category in one or more predetermined categories and a corresponding previous optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories (step 811). For example, step 811 may include comparing a corrected optical prescription value associated with a corresponding predetermined category in one or more predetermined categories (which may be generated according to any one of methods 700A to 700C) and a previous optical prescription value of a subject associated with the corresponding predetermined category in the one or more predetermined categories. In an embodiment, at least one of the previous optical prescription values of the subject associated with the one or more predetermined categories may be stored in a database in a memory or an external server for comparison purposes.
[0154] Method 800B may further include (ii.) issuing a second alarm (step 812) if it is determined that the difference is greater than a predefined threshold associated with a corresponding predetermined category in one or more predetermined categories. For example, the calculated difference obtained in step 812 may be compared with a predefined threshold associated with any one of the first to sixth categories, such as ±5D for the first, second, and fourth categories associated with spherical data, cylindrical data, and sublens add power data, respectively; ±10° for the third category associated with cylindrical axis data; and ±10 mm for the fifth and sixth categories associated with pupil distance data and axial length data, respectively. For example, the second alarm may notify the user or eye care practitioner that the difference between the corrected optical prescription value and the previous measurement result is too large, indicating that an incorrect optical prescription may have been provided, or that the corrected optical prescription value may include errors that have not been corrected according to methods 700A to 700C of the present disclosure.
[0155] According to various embodiments, the correction of errors in the optical prescription values associated with the corresponding predetermined categories in the one or more predetermined categories to generate the corrected optical prescription values (step 108) of the method 100 can be based on a machine learning algorithm. For example, one or more neural networks can be trained by inputting a series of optical prescription values associated with the corresponding predetermined categories in the one or more predetermined categories, identifying possible errors in the numbers, alphabetic characters, and / or the last two digits in the optical prescription values and their corresponding predetermined digital candidates or digital strings, to establish a correlation table (e.g., an alphanumeric correction table 704 or a digital correction table 725), or any database containing information about the relationship between possible errors and corresponding predetermined digital candidates or digital strings. In an embodiment, the correlation table or database is based on studying a set of optical prescription images and establishing a correlation between possible errors in the numbers, alphabetic characters, and / or the last two digits in the optical prescription values and their corresponding predetermined digital candidates or digital strings.
[0156] According to various embodiments, the machine learning algorithm may be selected from the group consisting of supervised, semi-supervised and unsupervised learning, such as support vector machine (SVM), Naive Bayes ( Bayes) classification, random forest, artificial neural network, decision tree, K-means, learning vector quantization, self-organizing map, graphical model, preferably regression algorithm, such as linear, multivariate, logic, association rule learning, deep learning, dimensionality reduction and integrated selection algorithm. In an embodiment, the machine learning algorithm can be a supervised learning algorithm, such as a convolutional neural network.
[0157] According to another aspect of the present disclosure, a system for reading an optical prescription on an optical prescription image is provided. Fig. 9 A schematic diagram of a system 900 for reading an optical prescription on an optical prescription image is shown by way of example. The system 900 may be based on the steps of the method 100 and configured to perform these steps, and repeated descriptions will be omitted for the sake of brevity.
[0158] The system 900 includes: (i.) a detection device 902, which is used to detect an area including an optical prescription on an optical prescription image; and (ii.) an extraction device 904, which is used to extract the optical prescription and convert the optical prescription into machine-coded optical prescription data. Each of the devices 902 and 904 may include at least one circuit, such as a microprocessor, such as an image sensor for detecting the area on the optical prescription image. At least one circuit may be configured (e.g., including instructions) to detect at least one keyword, and to extract the optical prescription and convert the optical prescription into machine-coded optical prescription data. In an embodiment, the extraction device 904 may be based on OCR technology, and the extraction device is used to extract the optical prescription and convert the optical prescription into machine-coded optical prescription data.
[0159] The system 900 further includes: (iii.) a classification device 906, the classification device is used to classify a portion of the optical prescription data into one or more predetermined categories to generate an optical prescription value associated with a corresponding predetermined category in the one or more predetermined categories; and (iv.) a determination device 908, the determination device is used to determine whether the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories contains an error, and if the optical prescription value contains an error, correct the error in the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories to generate a corrected optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories. Each of the devices 906, 908 may include at least one circuit (e.g., a microprocessor), and the at least one circuit may be configured to store and execute instructions for performing the steps described in reference to 4A to 6D The steps of any of the methods 400A to 600D described for classifying a portion of optical prescription data into one or more predetermined categories, and performing the steps of any of the methods 400A to 600D described in reference FIG. 7A to FIG. 7C The steps of any of the methods 700A to 700C described above are for determining whether an optical prescription value associated with a corresponding predetermined category in one or more predetermined categories contains an error, and if the optical prescription value contains an error, correcting the error in the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories to generate a corrected optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories. In various embodiments, the system 900 may be further configured to perform the steps described in reference to Fig. 8A and Figure 8B The steps of method 800A and method 800B are described for issuing a first alarm and / or a second alarm.
[0160] In the system 900, the circuit associated with the classification device 906 may further include a memory 916, the classification device is used to classify a portion of the optical prescription data into one or more predetermined categories to generate an optical prescription value associated with a corresponding predetermined category in the one or more predetermined categories, and the memory is configured to store the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories. Additionally, the circuit associated with the determination device 908 may further include a memory 918, the determination device is used to determine whether the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories contains an error and correct the error in the optical prescription value, and the memory is configured to store the corrected optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories.
[0161] Alternatively or additionally, the system 900 may further include a memory 920 for storing classified optical prescription values associated with corresponding predetermined categories of the one or more predetermined categories and corrected optical prescription values associated with corresponding predetermined categories of the one or more predetermined categories.
[0162] In various embodiments, the circuitry associated with the classification device 906 for classifying a portion of the optical prescription data into one or more predetermined categories to generate an optical prescription value associated with a corresponding predetermined category in the one or more predetermined categories and the circuitry associated with the determination device 908 for determining whether the optical prescription value associated with a corresponding predetermined category in the one or more predetermined categories contains an error and correcting the error in the optical prescription value may be further configured to send the classified optical prescription value associated with a corresponding predetermined category in the one or more predetermined categories and the corrected optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories stored in the memory 916 to the external server 930. Alternatively, the system 900 may be configured to send the classified optical prescription value associated with a corresponding predetermined category in the one or more predetermined categories and the corrected optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories stored in the memory 920 to the external server 930.
[0163] According to different embodiments, the classified optical prescription values associated with the corresponding predetermined categories in the one or more predetermined categories and the corrected optical prescription values associated with the corresponding predetermined categories in the one or more predetermined categories may be sent to the external server 930 at predetermined time intervals, or may be sent according to a request of the external server 930, and may be transmitted according to a predefined wireless communication protocol. Examples of predefined wireless communication protocols include: Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), Wideband Code Division Multiple Access (WCDMA), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Wireless Fidelity (Wi-Fi), Voice over Internet Protocol (VoIP), Worldwide Interoperability for Microwave Access (Wi-MAX), Wi-Fi Direct (WFD), Ultra Wideband (UWB), Infrared Data Association (IrDA), Bluetooth, ZigBee, SigFox, LPWan, LoRaWan, GPRS, 3G, 4G, LTE, and 5G communication systems. Accordingly, each of the circuits 906, 908, 920 in the circuit may include necessary hardware required to support wireless transmission. Alternatively, it is contemplated that the optical prescription value may be transmitted via wired means.
[0164] According to various embodiments, the computer program product may include instructions for causing the system 900 to perform the steps of method 100 and methods 400A to 800B. Method 100 and steps of methods 400A to 800B may be used to read an optical prescription on an optical prescription image, specifically, to classify a portion of the optical prescription data into one or more predetermined categories to generate an optical prescription value associated with a corresponding predetermined category in the one or more predetermined categories; and to determine whether the optical prescription value associated with a corresponding predetermined category in the one or more predetermined categories contains an error, and if the optical prescription value contains an error, correct the error in the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories to generate a corrected optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories.
[0165] Accordingly, the methods and systems of the present disclosure provide a means for accurately and efficiently reading an optical prescription on an optical prescription image to help users (e.g., subjects or parents of subjects) understand and / or monitor their vision health, particularly with respect to myopia onset or progression.
[0166] Example
[0167] The system 900 and methods 100, 400A-800B disclosed herein are further described in the following examples, which are provided by way of illustration and are not intended to limit the scope of the present disclosure.
[0168] Example 1. Handwritten Optical Prescription Including Chinese Characters
[0169] Fig.10 Example 1000 for reading a handwritten optical prescription on the optical prescription image 1001 is shown. In some embodiments, the optical prescription on the optical prescription image 1001 may include Chinese characters. For example, at least one keyword may be written in Chinese.
[0170] According to different embodiments of the present disclosure, the machine-encoded optical prescription data 1010 can be obtained by: (i.) detecting the region 1002 including the optical prescription on the optical prescription image 1001 (step 102), by detecting at least one keyword (e.g., "left"; "right"; "AXIS") and the part of the optical prescription associated with the at least one keyword; and (ii.) extracting at least one keyword within the region 1002 and the part of the optical prescription associated with the at least one keyword, and converting the at least one keyword and the part of the optical prescription into machine-encoded optical prescription data (step 104). In some embodiments, step 104 can be performed according to OCR technology.
[0171] As Fig.10 shown, the machine-encoded optical prescription data 1010 may be incorrectly converted. For example, the punctuation mark (e.g., ".") in the optical prescription 1003 associated with the right eye cylinder data of the subject is omitted in the optical prescription data 1013 (e.g., "-300") associated with the cylinder data. Similarly, the punctuation mark (e.g., ".") in the optical prescription 1004 associated with the left eye spherical lens data of the subject is omitted in the optical prescription data 1014 (e.g., "-050") associated with the spherical lens data. In another example, the keyword 1005 (e.g., "AXIS") associated with the pupil distance data and the part 1006 (e.g., "61mm") of the optical prescription associated with the keyword 1005 are incorrectly converted into the incorrect keyword 1015 (e.g., "随雞") associated with the pupil distance data and the optical prescription data 1016 (e.g., "6lmm") (where "l" indicates the lowercase letter character L) associated with the pupil distance data.
[0172] The method 100 further includes (iii.) classifying a part of the optical prescription data 1010 into one or more predetermined categories to generate optical prescription values associated with the corresponding predetermined categories in the one or more predetermined categories (step 106), which can be based on, for example, as referred to in 4A to 6DAny one of the methods 400A to 600D described above is performed, and repeated descriptions will be omitted for the sake of brevity. The classified optical prescription values can be seen in the row titled "Extracted" in the set of optical prescription values 1020.
[0173] For example, the optical prescription data associated with the pupil distance data of the fifth category can be classified according to Method 500E. In an embodiment, the keyword 1005 (e.g., "随距") associated with the pupil distance data of the fifth category may include one or more corresponding error keywords (e.g., "随雞") associated with the keyword 1005. In this way, the error keyword 1015 (e.g., "随雞") associated with the pupil distance data of the fifth category can be detected, and the eighteenth character string including 5 characters (e.g., "6lmm") located after the error keyword 1015 associated with the pupil distance data of the fifth category can be extracted. The optical prescription value 1026a associated with the pupil distance data of the fifth category, such as "6l", with a length less than or equal to 2 characters, can be generated by detecting at least one digit, letter character, symbol, and / or punctuation mark in the eighteenth character string. In another embodiment, the error keyword 1015 (e.g., "随雞") associated with the pupil distance data of the fifth category may not be detected. Instead, Method 500E may include detecting the unit 1017 (e.g., "mm") associated with the fifth category, and extracting the nineteenth character string (e.g., "6l") located before the unit 1017 associated with the fifth category, such as the optical prescription value 1026a associated with the pupil distance data of the fifth category, and the nineteenth character string has a length less than or equal to 2 characters.
[0174] Method 100 further includes determining whether the optical prescription value associated with the corresponding predetermined category in one or more predetermined categories contains an error according to Methods 700A to 700C of the present disclosure. If the optical prescription value contains an error, the error in the optical prescription value is corrected to generate a corrected optical prescription value associated with the corresponding predetermined category in one or more predetermined categories (step 108). The corrected optical prescription values can be seen in the row titled "Actual" in the set of optical prescription values 1020.
[0175] For example, the method 700B may be performed to: insert a punctuation mark (e.g., ".") before the last two digits of the optical prescription value associated with the second category of cylinder data to generate a corrected optical prescription value 1023 (e.g., "-3.00"); and insert a punctuation mark (e.g., ".") before the last two digits of the optical prescription value associated with the first category of spherical data to generate a corrected optical prescription value 1024 (e.g., "-0.50"). In another example, the method 700A may be performed to correct the alphabetic character "l" in the optical prescription value 1026a (e.g., "6l") associated with the fifth category of pupil distance data to its corresponding predetermined numeric candidate (e.g., "1") according to the exemplary alphanumeric correction table 704 to generate a corrected optical prescription value 1026b (e.g., "61") associated with the fifth category of pupil distance data.
[0176] Example 2. Handwritten optical prescription including sub-lens add power measurement
[0177] Fig.11 Another example 1100 for reading a handwritten optical prescription on an optical prescription image 1101 is shown.
[0178] According to various embodiments of the present disclosure, machine-encoded optical prescription data 1110 may be obtained by: (i.) detecting an area 1102 including an optical prescription on an optical prescription image 1101 (step 102), by detecting at least one keyword (e.g., "OD"; "OS"; "PD"; "R"; "L") and a portion of the optical prescription associated with the at least one keyword; and (ii.) extracting at least one keyword within the area 1102 and a portion of the optical prescription associated with the at least one keyword, and converting the at least one keyword and the portion of the optical prescription into optical prescription data (step 104). In some embodiments, step 104 may be performed according to an OCR technique.
[0179] refer to Fig.11, the optical prescription data 1110 may include one or more errors. For example, keyword 1103 (e.g., "OD") associated with the subject's right eye spherical lens data is incorrectly converted into an incorrect keyword 1113 (e.g., "a") associated with the subject's right eye spherical lens data; portion 1104 of the optical prescription data associated with the keyword (e.g., "OS") for the subject's left eye spherical lens data is incorrectly converted into incorrect optical prescription data 1114a, 1114b (e.g., "-17501-075146"); keyword 1105 (e.g., "R"; "L") associated with the subject's right and left eye lens added power data is incorrectly converted into incorrect keyword 1115 (e.g., "IR"; "1") associated with the subject's right and left eye lens added power data; portion 1106 of the optical prescription data associated with the subject's right eye lens added power data (e.g., "-3.75") is incorrectly converted into incorrect optical prescription data 1116 (e.g., "-3-75").
[0180] The method 100 further includes (iii.) classifying a portion of the machine-encoded optical prescription data 1101 into one or more predetermined categories to generate an optical prescription value associated with a corresponding predetermined category of the one or more predetermined categories (step 106), which can be based on reference 4A to 6D The categorized data may be seen in a row titled “Extracted” in a set of optical prescription values 1120 .
[0181] For example, the optical prescription data associated with the first category of right eye mirror data may be classified according to method 500A. For example, the keyword 1103 (e.g., "OD") associated with the first category of right eye mirror data may include one or more corresponding erroneous keywords (e.g., "a") associated with the keyword 1103. In this way, the erroneous keyword 1113 (e.g., "a") associated with the first category of right eye mirror data may be detected, and a ninth character string (e.g., "-6.251") including 7 characters located after the erroneous keyword 1113 associated with the first category of right eye mirror data may be extracted. The optical prescription value 1123 associated with the first category of right eye mirror data, such as "-6.25", may be generated by detecting at least one number, alphabetic character, symbol, and / or punctuation mark in the ninth character string, which has a length less than or equal to 5 characters.
[0182] Similarly, the optical prescription data associated with the right eye lens addition power data of the fourth category can be classified according to method 500D. The keyword 1105 (e.g., "R") associated with the right eye lens addition power data of the fourth category may include one or more corresponding erroneous keywords (e.g., "IR") associated with the keyword 1105. In this way, the erroneous keyword 1115a (e.g., "IR") associated with the right eye lens addition power data of the fourth category can be detected, and the eleventh character string (e.g., "-3-73") including 7 characters positioned after the erroneous keyword 1115a associated with the right eye lens addition power data of the fourth category can be extracted. The optical prescription value 1126a associated with the right eye lens addition power data of the fourth category can be generated by detecting at least one number, alphabetic character, symbol, and / or punctuation mark in the eleventh character string, such as "-3-73", which has a length less than or equal to 5 characters.
[0183] In the embodiment of example 1100, optical prescription data associated with the left-eye lens addition power data of the fourth category may be classified according to method 600D. For example, the optical prescription data associated with the left-eye lens addition power data of the fourth category may include detecting a third symbol 1117 and a fourth separator 1118 in the optical prescription data 1110, and extracting a sixteenth character string (e.g., "-2.00") positioned between the third symbol 1116 and the fourth separator 1118. Method 600D may further include extracting the third symbol 1116 and / or the fourth separator. An optical prescription value 1127 associated with the left-eye lens addition power data of the fourth category may be generated by detecting at least one number, alphabetic character, symbol, and / or punctuation mark in the sixteenth character string, such as "-2.00", which has a length less than or equal to 5 characters. Further, method 600D may include adding a unit associated with a fourth category (eg, "D (diopters)") to the optical prescription value 1127 associated with the left eyeglass add power data of the fourth category.
[0184] In another embodiment of example 1100, optical prescription data associated with the first category of left-eye spherical lens data and the second category of cylindrical lens data may be classified according to methods 500A and 500B. For example, method 500A may include detecting a keyword (e.g., "OS") associated with the first category of left-eye spherical lens data, and extracting a ninth character string (e.g., "-17501") having a second predefined length of 7 characters, and method 500B may include detecting a tenth character string (e.g., "-07516") having a second predefined length of 7 characters positioned after the portion of the optical prescription data classified into the first category (e.g., the ninth character string). The optical prescription value 1122a associated with the first category of left-eye spherical lens data and the optical prescription value 1124a associated with the second category of cylindrical lens data may be generated by detecting at least one number, alphabetic character, symbol, and / or punctuation mark in the ninth character string and the tenth character string, respectively, such as "-175" and "075", which have a length less than or equal to 5 characters.
[0185] The method 100 further includes (iv.) determining whether the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories contains an error, and if the optical prescription value contains an error, correcting the error in the optical prescription value to generate a corrected optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories (step 108), which can be performed according to any of the methods 700A to 700C. The corrected optical prescription value can be seen in the row titled "Actual" in the set of optical prescription values 1120.
[0186] For example, method 700B may be performed to: insert a punctuation mark (e.g., “.”) into the optical prescription value 1122a associated with the first category of left-eye spherical data to generate a corrected optical prescription value 1122b (e.g., “-1.75”) associated with the first category of left-eye spherical data; and insert a punctuation mark (e.g., “.”) into the optical prescription value 1124a associated with the second category of left-eye spherical data cylindrical data to generate a corrected optical prescription value 1124b (e.g., “-0.75”) associated with the second category of cylindrical data.
[0187] In another example, the method 700A may be performed to replace a symbol (e.g., "-") in the optical prescription value 1126a associated with the fourth category of right-eye lens addition power data with a punctuation symbol (e.g., ".") to generate a corrected optical prescription value 1126b associated with the fourth category of right-eye lens addition power data. For example, the symbol may correspond to a corresponding predetermined punctuation symbol, the association of which may be stored in the exemplary alphanumeric correction table 704, or in a separate table or database on an external server.
[0188] Example 3. Handwritten optical prescription on a printed prescription form
[0189] Fig.12 Another example 1200 is shown for reading a handwritten optical prescription on an optical prescription image 1201. In this example 1200, the handwritten optical prescription may be written on a printed prescription form.
[0190] According to various embodiments of the present disclosure, the machine-encoded optical prescription data 1210 may be obtained by: (i.) detecting an area 1202 including an optical prescription on an optical prescription image 1201 (step 102), by detecting at least one keyword (e.g., "RIGHT"; "LEFT"; "SPH"; "CYL"; "AXIS") and a portion of the optical prescription associated with the at least one keyword; and (ii.) extracting at least one keyword within the area 1202 and a portion of the optical prescription associated with the at least one keyword, and converting the at least one keyword and the portion of the optical prescription into optical prescription data (step 104). In some embodiments, step 104 may be performed according to an OCR technique.
[0191] refer to Fig.12 The optical prescription data 1210 may include one or more errors. For example, the optical prescription data 1204 (eg, “-175”) for cylinder data is incorrectly converted into incorrect optical prescription data 1214 (eg, “-IFS”) in the optical prescription data 1210 .
[0192] The method 100 further includes (iii.) classifying a portion of the machine-encoded optical prescription data 1210 into one or more predetermined categories to generate an optical prescription value associated with a corresponding predetermined category in the one or more predetermined categories (step 106), which can be performed according to any of the above methods 400A to 600D, and repeated descriptions will be omitted for brevity. The classified data can be seen in the row titled "Extracted" in the set of optical prescription values 1220.
[0193] For example, an optical prescription value 1224a associated with the second category of lenticular data may be generated by detecting at least one number, alphabetic character, symbol, and / or punctuation mark in the extracted string (e.g., "-IFS"), which may have a length less than or equal to 5 characters. The optical prescription 1224a associated with the second category of lenticular data may be generated according to any of the methods 400B, 500B, 600B, preferably the method 600B.
[0194] The method 100 further includes (iv.) determining whether the optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories contains an error, and if the optical prescription value contains an error, correcting the error in the optical prescription value to generate a corrected optical prescription value associated with the corresponding predetermined category in the one or more predetermined categories (step 108), which can be performed according to any of the above methods 700A to 700C. The corrected optical prescription value can be seen in the row titled "Actual" in the set of optical prescription values 1220.
[0195] For example, the method 700A may be performed to correct the detected alphabetic characters "I", "F", "S" in the optical prescription value 1124a associated with the second category of cylindrical data by selecting corresponding predetermined numeric candidates according to the exemplary alphanumeric correction table 704, e.g., correcting "I" to "1"; correcting "F" to "7"; and correcting "S" to "5" to obtain "-175". Additionally, the method 700B may be performed to insert a punctuation mark (e.g., ".") before the last two digits to generate a corrected optical prescription value 1224b (e.g., "-1.75") associated with the second category of cylindrical data.
[0196] Accordingly, the present disclosure provides a method and system for reading an optical prescription on an optical prescription image, specifically by classifying the optical prescriptions into different categories, and correcting any errors in the optical prescriptions, thereby providing an efficient and accurate way for reading the optical prescription on an optical prescription image.
[0197] Although the present disclosure has been particularly shown and described with reference to specific embodiments, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present disclosure as defined in the appended claims. Therefore, the scope of the present disclosure is indicated by the appended claims, and therefore, all changes within the equivalent meaning and scope of the claims are intended to be included.
Claims
1. A method (100) for reading an optical prescription on an optical prescription image, the method comprising: (i.) detecting an area (102) on the optical prescription image that includes the optical prescription; (ii.) extracting the optical prescription and converting the optical prescription into machine-encoded optical prescription data (104); (iii.) classifying a portion of the optical prescription data into one or more predetermined categories to generate an optical prescription value (106) associated with a corresponding predetermined category of the one or more predetermined categories; as well as (iv.) determining whether an optical prescription value associated with a corresponding predetermined category among the one or more predetermined categories contains an error, and if the optical prescription value contains the error, correcting the error within the optical prescription value to generate a corrected optical prescription value associated with the corresponding predetermined category among the one or more predetermined categories (108).
2. The method (100) of claim 1, wherein: (i.) detecting an area (102) on the optical prescription image that includes the optical prescription includes detecting at least one keyword and a portion of the optical prescription data associated with the at least one keyword, wherein detecting the at least one keyword includes detecting the at least one keyword and corresponding one or more erroneous keywords associated with a corresponding keyword in the at least one keyword; and (ii.) extracting the optical prescription (102) includes extracting the at least one keyword and a portion of the optical prescription data associated with the at least one keyword.
3. The method (100) of claim 1 or claim 2, wherein: The one or more predetermined categories include: (i.) a first category associated with the subject's spherical data; (ii.) a second category associated with cylindrical data of the subject; (iii.) a third category associated with cylindrical axis data of the subject; (iv.) a fourth category associated with sub-lens addition power data for the subject; (v.) a fifth category associated with pupillary distance data of the subject; and (vi.) A sixth category associated with the subject's axial length data.
4. The method (400A) of claim 3, wherein: Classifying a portion of the optical prescription data into a first category associated with spherical data of the subject comprises: (i.) detecting a first punctuation mark in the optical prescription data (401); and (ii.) extracting a first character string positioned before the first punctuation mark and a second character string positioned after the first punctuation mark, wherein the first character string and the second character string each have a first predefined length (402); (iii.) detecting a first keyword from the at least one keyword, the first keyword being associated with the first category (501); and (iv.) extracting a ninth character string located after the first keyword, wherein the ninth character string has a second predefined length (502); (v.) detecting a first symbol and a first separator in the optical prescription data (601); and (vi.) extracting a thirteenth character string located between the first symbol and the first separator (602); or any combination of the above, and The first predefined length includes 3 characters, and the second predefined length includes 7 characters.
5. The method (400B) of claim 4, wherein: Classifying a portion of the optical prescription data into a second category associated with cylinder data for the subject comprises: (i.) detecting a second punctuation mark in the optical prescription data, the second punctuation mark being located after the first punctuation mark (411); and (ii.) extracting a third character string positioned before the second punctuation mark and a fourth character string positioned after the second punctuation mark, wherein the third character string and the fourth character string each have the first predefined length (412); (iii.) detecting a tenth character string (511) located after the portion of the optical prescription data classified into the first category; and (iv.) extracting the tenth character string, wherein the tenth character string has the second predefined length (512); (v.) detecting a second symbol and a second separator in the optical prescription data, the second symbol and the second separator being located after the first symbol and the first separator (611); and (vi.) extracting a fourteenth character string located between the second symbol and the second separator (612); or any combination of the above.
6. The method (400C) of claim 5, wherein: Classifying a portion of the optical prescription into a fourth category associated with sub-lens addition power data for the subject comprises: (i.) detecting a third punctuation mark in the optical prescription data, the third punctuation mark being positioned after each of the first punctuation mark and the second punctuation mark (421); and (ii.) extracting a fifth character string positioned before the third punctuation mark and a sixth character string positioned after the third punctuation mark, wherein the fifth character string and the sixth character string each have the first predefined length (422); (iii.) detecting a second keyword from the at least one keyword, the second keyword being associated with the fourth category (531); and (iv.) extracting an eleventh character string located after the second keyword, wherein the eleventh character string has the second predefined length (532); or any combination of the above.
7. The method (400D) of claim 6, wherein: Classifying a portion of the optical prescription data into a sixth category associated with the subject's axial length data comprises: (i.) detecting a fourth punctuation mark in the optical prescription data, the fourth punctuation mark being positioned after each of the first punctuation mark, the second punctuation mark, and the third punctuation mark (431); and (ii.) extracting a seventh character string located before the fourth punctuation mark and an eighth character string located after the fourth punctuation mark, wherein the seventh character string and the eighth character string each include 2 characters (432); (iii.) detecting a third keyword from the at least one keyword, the third keyword being associated with the sixth category (551); (iv.) extracting a twelfth character string located after the third keyword, wherein the twelfth character string has the second predefined length (552); and further comprising: (v.) determining whether a unit associated with the sixth category exists in the twelfth character string; (vi.) if it is determined that the unit associated with the sixth category exists in the twelfth character string: extracting the twentieth character string positioned before the unit associated with the sixth category to generate an optical prescription value associated with the sixth category (554); or any combination of the above.
8. The method (600C) according to any one of claims 5 to 7, wherein: Classifying a portion of the optical prescription data into a third category associated with cylinder axis data for the subject includes: (i.) detecting a third delimiter in the optical prescription data, the third delimiter being positioned after each of the first delimiter and the second delimiter (621); and (ii.) extracting the fifteenth character string (622) located after the third delimiter; (iii.) detecting a seventeenth character string (521) located after the portion of the optical prescription data classified into the second category; and (iv.) extracting the seventeenth character string, wherein the seventeenth character string includes 6 characters (522); or any combination of the above.
9. The method (600D) of claim 8, wherein: Classifying a portion of the optical prescription into a fourth category associated with sub-lens addition power data for the subject comprises: (i.) detecting a third symbol and a fourth separator in the optical prescription data, the third symbol and the fourth separator being located after each of the first symbol and the second symbol and each of the first to third separators (631); (ii.) Extracting a sixteenth character string located between the third symbol and the fourth separator (632).
10. The method (500E) according to any one of claims 3 to 9, wherein: Classifying a portion of the optical prescription into a fifth category associated with pupillary distance data for the subject includes: (i.) detecting a fourth keyword from the at least one keyword, the fourth keyword being associated with the fifth category (541); (ii.) extracting an eighteenth character string located after the fourth keyword, Wherein, the eighteenth character string includes 5 characters (542); (iii.) determining whether there is a unit associated with the fifth category in the eighteenth character string; (iv.) If it is determined that a unit associated with the fifth category exists in the eighteenth character string: A nineteenth character string positioned before the unit associated with the fifth category is extracted to generate an optical prescription value associated with the fifth category (543).
11. The method (400A, 400B, 400C, 400D, 500A, 500B, 500C, 500D, 500F, 600A, 600B, 600C, 600D) of claim 10, further comprising: (i.) detecting at least one of a number, an alphabetic character, a fourth symbol, and a fifth punctuation mark in each of the first to eighteenth character strings; as well as (ii.) extracting the at least one of the numbers, alphabetic characters, fourth symbols, and fifth punctuation marks detected in each of the first to eighteenth character strings to generate an optical prescription value (403, 413, 423, 433, 503, 513, 523, 533, 553, 603, 613, 623, 633) associated with a corresponding predetermined category among the one or more predetermined categories, wherein (a.) an optical prescription value associated with each of the first category, the second category, the fourth category, and the sixth category has a length less than or equal to 5 characters; (b.) the optical prescription value associated with the third category has a length of less than or equal to 4 characters; and (c.) The optical prescription value associated with the fifth category has a length less than or equal to 2 characters.
12. The method (700A) of claim 11, wherein: Determining whether an optical prescription value associated with a corresponding predetermined category among the one or more predetermined categories includes the error, and if the optical prescription value includes the error, correcting the error within the optical prescription value associated with the corresponding predetermined category among the one or more predetermined categories comprises: (i.) determining whether at least one alphabetic character (701) is present in an optical prescription value associated with a corresponding predetermined category of the one or more predetermined categories; (ii.) if it is determined that the at least one alphabetic character is present in the optical prescription value associated with a corresponding predetermined category of the one or more predetermined categories: (a.) matching the at least one alphabetic character with one or more predetermined alphabetic character candidates, wherein the one or more predetermined alphabetic character candidates each include a corresponding predetermined numeric candidate; (b.) selecting the corresponding predetermined numeric candidate, the selecting being based on the at least one alphabetic character matching the one or more predetermined alphabetic character candidates; and (c.) correcting the at least one alphabetic character present in the optical prescription value associated with a corresponding predetermined category among the one or more predetermined categories to the selected corresponding predetermined numeric candidate (702).
13. The method (700B) of claim 12, further comprising: (i.) determining whether the fifth punctuation mark (711) exists in the optical prescription value associated with a corresponding predetermined category of the one or more predetermined categories; (ii.) if it is determined that the fifth punctuation mark does not exist in the optical prescription value associated with a corresponding predetermined category among the one or more predetermined categories: (a.) detecting last two digits of an optical prescription value associated with a corresponding predetermined category of the one or more predetermined categories; as well as (b.) inserting the fifth punctuation mark (712) before last two digits of the optical prescription value associated with a corresponding predetermined category of the one or more predetermined categories.
14. The method (700C) of claim 13, further comprising: (i.) determining whether the last two digits of the optical prescription value associated with a corresponding predetermined category of the one or more predetermined categories are the same as one or more predetermined digit strings (721); (ii.) if it is determined that the last two digits of the optical prescription value associated with a corresponding predetermined category of the one or more predetermined categories are different from the one or more predetermined digit strings: (a.) matching the last two digits of the optical prescription value associated with a corresponding predetermined category of the one or more predetermined categories with one or more predetermined error digit strings, wherein the one or more predetermined error digit strings each include a corresponding predetermined digit string; (b.) selecting the corresponding predetermined numeric string, the selection being based on the last two digits matching the one or more predetermined erroneous numeric strings; and (c.) correcting the last two digits of the optical prescription value associated with a corresponding predetermined category of the one or more predetermined categories to the selected corresponding predetermined string of digits (722); (iii.) generating corrected optical prescription values associated with corresponding predetermined categories of the one or more predetermined categories (723).
15. The method (800A) of claim 14, further comprising: (i.) determining whether a corrected optical prescription value associated with a corresponding predetermined category among the one or more predetermined categories falls within a reference value range associated with a corresponding predetermined category among the one or more predetermined categories (801); as well as (ii.) issuing a first alarm (802) if it is determined that the corrected optical prescription value falls outside a reference value range associated with a corresponding predetermined category of the one or more predetermined categories; (iii.) calculating a difference between a corrected optical prescription value associated with a corresponding predetermined category among the one or more predetermined categories and a corresponding previous optical prescription value associated with the corresponding predetermined category among the one or more predetermined categories (811); as well as (iv.) issuing a second alarm (812) if it is determined that the difference is greater than a predefined threshold associated with a corresponding predetermined category of the one or more predetermined categories; or any combination of the above.
