DE69330009T2 - Verfahren und Vorrichtung zur automatischen Inspektion von ophthalmischen Linsen - Google Patents
Verfahren und Vorrichtung zur automatischen Inspektion von ophthalmischen LinsenInfo
- Publication number
- DE69330009T2 DE69330009T2 DE69330009T DE69330009T DE69330009T2 DE 69330009 T2 DE69330009 T2 DE 69330009T2 DE 69330009 T DE69330009 T DE 69330009T DE 69330009 T DE69330009 T DE 69330009T DE 69330009 T2 DE69330009 T2 DE 69330009T2
- Authority
- DE
- Germany
- Prior art keywords
- lens
- pixel
- pixels
- edge
- array
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000007689 inspection Methods 0.000 title description 57
- 239000013598 vector Substances 0.000 claims description 38
- 238000012545 processing Methods 0.000 claims description 31
- 230000002093 peripheral effect Effects 0.000 claims description 4
- 230000002950 deficient Effects 0.000 claims 2
- 238000005286 illumination Methods 0.000 description 48
- 230000007547 defect Effects 0.000 description 38
- 238000012360 testing method Methods 0.000 description 36
- 230000008569 process Effects 0.000 description 32
- 230000000873 masking effect Effects 0.000 description 30
- 238000003384 imaging method Methods 0.000 description 26
- 230000000694 effects Effects 0.000 description 15
- 230000003287 optical effect Effects 0.000 description 9
- 238000013519 translation Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 239000003990 capacitor Substances 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000003708 edge detection Methods 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000004033 plastic Substances 0.000 description 2
- 229920003023 plastic Polymers 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- FAPWRFPIFSIZLT-UHFFFAOYSA-M Sodium chloride Chemical compound [Na+].[Cl-] FAPWRFPIFSIZLT-UHFFFAOYSA-M 0.000 description 1
- 239000000853 adhesive Substances 0.000 description 1
- 230000001070 adhesive effect Effects 0.000 description 1
- XAGFODPZIPBFFR-UHFFFAOYSA-N aluminium Chemical compound [Al] XAGFODPZIPBFFR-UHFFFAOYSA-N 0.000 description 1
- 229910052782 aluminium Inorganic materials 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000006193 liquid solution Substances 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 230000004660 morphological change Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 229920000915 polyvinyl chloride Polymers 0.000 description 1
- 239000004800 polyvinyl chloride Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 229910000679 solder Inorganic materials 0.000 description 1
- 239000012780 transparent material Substances 0.000 description 1
- 229910052724 xenon Inorganic materials 0.000 description 1
- FHNFHKCVQCLJFQ-UHFFFAOYSA-N xenon atom Chemical compound [Xe] FHNFHKCVQCLJFQ-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61F—FILTERS IMPLANTABLE INTO BLOOD VESSELS; PROSTHESES; DEVICES PROVIDING PATENCY TO, OR PREVENTING COLLAPSING OF, TUBULAR STRUCTURES OF THE BODY, e.g. STENTS; ORTHOPAEDIC, NURSING OR CONTRACEPTIVE DEVICES; FOMENTATION; TREATMENT OR PROTECTION OF EYES OR EARS; BANDAGES, DRESSINGS OR ABSORBENT PADS; FIRST-AID KITS
- A61F9/00—Methods or devices for treatment of the eyes; Devices for putting-in contact lenses; Devices to correct squinting; Apparatus to guide the blind; Protective devices for the eyes, carried on the body or in the hand
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01M—TESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
- G01M11/00—Testing of optical apparatus; Testing structures by optical methods not otherwise provided for
- G01M11/02—Testing optical properties
- G01M11/0207—Details of measuring devices
- G01M11/0214—Details of devices holding the object to be tested
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01M—TESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
- G01M11/00—Testing of optical apparatus; Testing structures by optical methods not otherwise provided for
- G01M11/02—Testing optical properties
- G01M11/0221—Testing optical properties by determining the optical axis or position of lenses
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01M—TESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
- G01M11/00—Testing of optical apparatus; Testing structures by optical methods not otherwise provided for
- G01M11/02—Testing optical properties
- G01M11/0228—Testing optical properties by measuring refractive power
- G01M11/0235—Testing optical properties by measuring refractive power by measuring multiple properties of lenses, automatic lens meters
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01M—TESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
- G01M11/00—Testing of optical apparatus; Testing structures by optical methods not otherwise provided for
- G01M11/02—Testing optical properties
- G01M11/0242—Testing optical properties by measuring geometrical properties or aberrations
- G01M11/0278—Detecting defects of the object to be tested, e.g. scratches or dust
Landscapes
- Physics & Mathematics (AREA)
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Geometry (AREA)
- Vascular Medicine (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Heart & Thoracic Surgery (AREA)
- Ophthalmology & Optometry (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Engineering & Computer Science (AREA)
- Public Health (AREA)
- Veterinary Medicine (AREA)
- Eyeglasses (AREA)
- Testing Of Optical Devices Or Fibers (AREA)
- Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
- Prostheses (AREA)
- Image Processing (AREA)
Description
- Diese Anmeldung steht mit den folgenden, gleichzeitig mit der vorliegenden Anmeldung hinterlegten europäischen Patentanmeldungen in Beziehung: EP-A-0 604 174; EP-A-0 605 990; EP-A-0 605 171 und EP-A-0 604 173.
- Die Erfindung betrifft allgemein Verfahren und Systeme zur Inspektion ophthalmischer Linsen, wie zum Beispiel Kontaktlinsen, und spezieller Verfahren und Systeme zur Linseninspektion von dem Typ, bei dem ein Beleuchtungsstrahl durch die Linse gerichtet wird, um von dieser ein Bild zu erzeugen.
- Kontaktlinsen werden typischerweise mit einem hohen Maß an Präzision und Genauigkeit hergestellt. Gleichwohl kann in seltenen Fällen eine bestimmte Linse eine Unregelmäßigkeit aufweisen; und aus diesem Grund werden Kontaktlinsen vor dem Verkauf an den Kunden inspiziert, um so sicherzugehen, daß die Linsen für die Verwendung durch den Kunden annehmbar sind.
- Bei einem Typ eines Systems zur Linseninspektion des Standes der Technik wird eine Vielzahl von Linsen in einem Linsenträger angeordnet, welcher bewegt wird, um die Linsen nacheinander in eine Position zur Linseninspektion zu bringen, wobei dort ein Beleuchtungsstrahl durch jede der Linsen transmittiert wird. Dieser Beleuchtungsstrahl wird daraufhin auf einen Schirm fokussiert, um darauf ein Bild der Linse zu erzeugen, wobei eine Bedienung das Bild betrachtet, um so festzustellen, ob die Linse irgendwelche Unregelmäßigkeiten aufweist. Wenn irgendeine Unregelmäßigkeit oder ein Fehler gefunden wird, wodurch die Linse zur Verwendung durch den Kunden ungeeignet wird, so wird die Linse entweder aus dem Inspektionssystem entfernt oder auf eine andere Weise identifiziert, so daß sie daraufhin nicht an einen Kunden verkauft wird.
- Dieses Inspektionssystem des Standes der Technik ist sehr effektiv und verläßlich. Gleichwohl ist das System vermutlich verbesserungsfähig. Zum Beispiel ist das System vergleichsweise langsam und teuer. Dies aus dem Grunde, da sich eine menschliche Bedienungsperson auf das Linsenbild konzentrieren muß, welches auf dem Schirm erzeugt wird, wobei das gesamte Bild auf Unregelmäßigkeiten überprüft werden muß. Vermutlich können daher die Kosten der Linseninspektion verringert werden, und die Geschwindigkeit der Inspektion kann erhöht werden, indem eine Bildverarbeitungseinrichtung zur Analyse des erzeugten Bildes der Linse verwendet wird, um so zu bestimmen, ob die Linse irgendwelche Unregelmäßigkeiten aufweist.
- Weiterhin beinhaltet bei dem oben beschriebenen System des Standes der Technik die Entscheidung der Bedienungsperson, eine Linse zu akzeptieren oder nicht zu akzeptieren, einige subjektive Erwägungen, die von einer Bedienungsperson zur anderen Bedienungsperson variieren können und sogar bei einer Bedienungsperson von Zeit zu Zeit variieren können. Typischerweise irren sich die Bedienungspersonen in die Richtung der Verwerfung von Linsen, was dazu führt, daß gute Linsen gelegentlich als ungeeignet für die Verwendung durch den Kunden identifiziert werden. Das Inspektionssystem kann somit dadurch verbessert werden, daß eine konstantere Vorgehensweise zur Verfügung gestellt wird, die einheitlich zur Bestimmung, ob die Linsen zu akzeptieren sind, angewendet werden kann.
- In der EP-A-0 491 663 ist ein Verfahren (sowie ein Gerät) zum Überprüfen optischer Komponenten offenbart, welches die Schritte aufweist, einen Lichtstrahl durch eine Linse auf eine Anordnung von Pixeln zu richten, jedem Pixel einen Datenwert zuzuordnen, welcher die Intensität des auf das Pixel treffenden Lichtstrahles repräsentiert, und die Datenwerte zu verarbeiten, um so zu bestimmen, ob die Linse irgendeine von einer Vielzahl vorbestimmter Bedingungen aufweist. Das Verfahren bestimmt das Vorliegen oder die Abwesenheit dieser Bedingungen durch das Zählen der ausgeleuchteten Pixel und durch den Vergleich der Anzahl der Pixel mit einer vorbestimmten Anzahl von Pixeln, die für einen Standard kennzeichnend ist, dem die Linse genügen muß.
- Gemäß der vorliegenden Erfindung wird ein Verfahren zur automatischen Inspektion einer ophthalmischen Linse zur Verfügung gestellt, wie es im nachstehenden Anspruch 1 dargelegt ist.
- Gemäß der vorliegenden Erfindung wird ebenso ein System zur automatischen Inspektion einer ophthalmischen Linse zur Verfügung gestellt, wie es im nachstehenden Anspruch 20 dargelegt ist.
- Eine Aufgabe dieser Erfindung besteht darin, die Verfahren und die Systeme zur Inspektion ophthalmischer Linsen zu verbessern.
- Eine andere Aufgabe der vorliegenden Erfindung besteht darin, ein Bild einer Linse zu erzeugen und dieses Bild zu analysieren, indem eine Bildverarbeitungseinrichtung verwendet wird, um zu bestimmen, ob die Linse irgendwelche Unregelmäßigkeiten aufweist.
- Eine weitere Aufgabe der Erfindung besteht darin, ein Bild einer ophthalmischen Linse zu verarbeiten, eine Bildverarbeitungseinrichtung zu verwenden und gemäß einem wohldefinierten standardisierten und einheitlichen Vorgehen zu bestimmen, ob die Linse für die Verwendung durch den Kunden akzeptabel ist.
- Diese und andere Aufgaben werden durch ein Verfahren zur automatischen Inspektion einer ophthalmischen Linse gelöst, wobei dieses die Schritte aufweist, einen Lichtstrahl durch die Linse und auf eine Anordnung von Pixeln zu richten und jedem Pixel einen Datenwert zuzuweisen, der die Intensität des Lichtstrahles auf dem Pixel repräsentiert. Das Verfahren weist weiterhin den Schritt auf, diese Datenwerte gemäß einem vorbestimmten Programm zu verarbeiten, um zu bestimmen, ob die Linse irgendeine aus einer Vielzahl von Bedingungen aufweist.
- Zum Beispiel kann das Verfahren dazu verwendet werden, die Linse auf Lücken entlang oder auf Extrastücke an dem Außenrand der Linse zu inspizieren. Um dies zu bewerkstelligen, kann ein Bild dieses Außenrandes auf der Pixelanordnung gebildet werden, wobei dieser Rand daraufhin nach irgendwelchen Lücken oder Extrastücken abgesucht wird. Wenn irgendwelche solcher Lücken oder Extrastücke gefunden werden, so wird den Pixeln in den Lücken und Extrastücken ein hoher Datenwert zugeordnet, und zusätzlich können Pixeln, die den Lücken und Extrastücken benachbart sind, ebenfalls hohe Datenwerte zugeordnet werden, um so die Lücken und Extrastücke hervorzuheben. Daraufhin können den Pixeln auf dem Linsenrand selbst niedrige Datenwerte zugeordnet werden, wobei hohe Datenwerte nur bei den Pixeln verbleiben, die sich in oder in der Nähe der Lücken und Extrastücke befinden. Die Fläche jeder Gruppe benachbarter Pixel mit hohen Datenwerten kann daraufhin berechnet und mit einem vorbestimmten Standard verglichen werden, um so zu bestimmen, ob die Pixelgruppe eine Unregelmäßigkeit repräsentiert, welche die Linse zur Verwendung für den Kunden unbrauchbar macht.
- Weitere Vorzüge und Vorteile der Erfindung werden durch die Betrachtung der folgenden, detaillierten Beschreibung offensichtlich, welche mit Bezug auf die begleitenden Zeichnungen erfolgt, die bevorzugte Ausführungsformen der Erfindung darlegen und zeigen.
- Fig. 1 veranschaulicht schematisch ein System zur automatischen Inspektion ophthalmischer Linsen.
- Fig. 2 ist eine Draufsicht auf einen Typ einer ophthalmischen Linse, die mittels des Systems nach Fig. 1 inspiziert werden kann.
- Fig. 3 ist eine Seitenansicht der in Fig. 2 gezeigten Linse.
- Fig. 3A ist eine vergrößerte Ansicht eines Randabschnittes der in den Fig. 2 und 3 gezeigten Linse.
- Fig. 4 ist eine detailliertere Ansicht des Transport-Teilsystems, welches bei dem System zur Linseninspektion nach Fig. 1 verwendet wird.
- Fig. 5 ist eine Draufsicht auf einen Linsenträger, der bei dem System nach Fig. 1 verwendet wird.
- Fig. 6 ist eine Seitenansicht des in Fig. 1 gezeigten Linsenträgers.
- Fig. 7 ist ein schematisches Diagramm, welches die Grundlagen einer Beleuchtungstechnik, auf welche als Dunkelfeldbeleuchtung Bezug genommen wird, allgemein veranschaulicht.
- Fig. 8 ist ein detaillierteres Diagramm der Beleuchtungs- und Abbildungs-Teilsysteme des in Fig. 1 gezeigten Systems zur Linseninspektion.
- Fig. 9 zeigt einen Abschnitt einer Pixelanordnung des Abbildungs-Teilsystems.
- Fig. 10 zeigt ein Bild, das auf der Pixelanordnung gebildet wird, wenn eine ophthalmische Linse des in den Fig. 2 und 3 gezeigten Typs in dem System zur Linseninspektion nach Fig. 1 inspiziert wird.
- Die Fig. 11A, 11B und 11C zeigen drei verschiedene optische Konfigurationen, die in dem Beleuchtungs- und Abbildungs-Teilsystem verwendet werden können.
- Fig. 12A veranschaulicht den Betrieb eines Steuerungs-Teilsystems des Systems zur Linseninspektion.
- Fig. 12B ist ein Zeitdiagramm, welches die Abfolge verschiedener Ereignisse bei der Funktion des Transport-, des Beleuchtungs- und des Abbildungs-Teilsystems veranschaulicht.
- Fig. 13 veranschaulicht schematisch das Datenverarbeitungs-Teilsystem des Systems zur Linseninspektion.
- Fig. 14 veranschaulicht allgemein die Hauptkomponenten eines bevorzugten Datenverarbeitungsablaufes, der bei dem System zur Linseninspektion verwendet wird.
- Fig. 15 zeigt ein Bild einer ophthalmischen Linse, das auf der Pixelanordnung des Systems zur Linseninspektion gebildet ist.
- Die Fig. 16A und 16B sind Flußdiagramme, die einen Linsensinspektionsablauf veranschaulichen, auf welchen als Dezentrierungstest Bezug genommen wird.
- Fig. 17A ist ähnlich der Fig. 15 und zeigt das Bild einer ophthalmischen Linse, welches auf der Pixelanordnung abgebildet ist.
- Fig. 17B ist eine vergrößerte Ansicht eines Abschnittes des in Fig. 17A gezeigten Kreisringes.
- Fig. 17C ist eine graphische Darstellung, welche die Intensitäten zeigt, mit welchen gewisse Pixel auf einem Liniensegment durch Fig. 17B beleuchtet werden.
- Die Fig. 17D bis 17I veranschaulichen graphisch die Ergebnisse verschiedener Prozesse, die anhand der Beleuchtungsintensitätswerte der gewissen Pixel durchgeführt wurden, um verarbeitete Werte für diese Pixel abzuleiten, was bei der Identifikation der Ränder des in Fig. 17A gezeigten Kreisringes hilfreich ist.
- Fig. 17J zeigt die Pixel der beleuchteten Pixelanordnung bei ihren verarbeiteten Beleuchtungswerten.
- Fig. 18 ist ein Flußdiagramm, welches einen bevorzugten Ablauf zur Verarbeitung der anfänglichen Beleuchtungsintensitätswerte zeigt, die für die Pixel der Pixelanordnung bestimmt wurden.
- Die Fig. 19A bis 19C zeigen den Effekt eines Maskierungsablaufes bei den Datenwerten für die Pixel der Pixelanordnung.
- Fig. 20 ist ein Flußdiagramm, welches einen bevorzugten Maskierungsablauf veranschaulicht.
- Die Fig. 21A und 21B veranschaulichen einen weiteren Datenverarbeitungsablauf, auf welchen als Gummiband-Algorithmus ("Rubber Band Algorithm") Bezug genommen wird.
- Fig. 22 zeigt ein zur Identifikation eines ersten Pixels auf dem Rand des Linienbildes verwendetes Unterprogramm.
- Fig. 23 ist ein Flußdiagramm, das einen ersten Hauptabschnitt des Gummiband-Algorithmus' mit größerer Genauigkeit zeigt.
- Fig. 24 ist ein Flußdiagramm, welches ein Unterprogramm zeigt, das aufgerufen wird, wenn eine Lücke in dem Außenrand des Bildes der Linse gefunden wird.
- Die Fig. 25A bis 25E zeigen einen Abschnitt des Außenrandes des Bildes der Linse und identifizieren verschiedene interessierende Pixel auf diesem Rand.
- Fig. 26 ist ein Flußdiagramm eines Unterprogrammes, das aufgerufen wird, wenn ein Extrastück auf dem Außenrand des Linsenbildes gefunden wird.
- Fig. 27 zeigt ein Programm, das aufgerufen wird, nachdem der in Fig. 23 gezeigte Ablauf beendet ist.
- Fig. 28 ist ein Flußdiagramm, welches einen zweiten Hauptteil des Gummiband-Algorithmus' mit größerer Genauigkeit zeigt.
- Fig. 29 zeigt den Außenrand eines Abschnittes des Linsenbildes und zeigt einige Vektoren, die in dem zweiten Abschnitt des Gummiband-Algorithmus' verwendet werden.
- Fig. 30 ist ein Flußdiagramm, welches einen dritten Hauptabschnitt des Gummiband- Algorithmus mit größerer Genauigkeit aufzeigt.
- Die Fig. 31 und 32 veranschaulichen bildlich die Wirkung zweier Schritte des in Fig. 30 gezeigten Ablaufes.
- Fig. 33 zeigt einen Abschnitt des Außenrandes des Kreisringes, wobei gewisse Linien an dem Rand angefügt sind.
- Die Fig. 34A bis 34E veranschaulichen allgemein die Ergebnisse der verschiedenen Operationen, auf die als MAX, PMAX, MIN und PMIN Bezug genommen wird.
- Fig. 35 zeigt einen bevorzugten Ablauf, der auf Pixeldatenwerte angewendet wird, um mögliche Defekte im Linsenrand hervorzuheben oder herauszustellen.
- Fig. 36 veranschaulicht die Ergebnisse des in Fig. 35 gezeigten Ablaufes.
- Fig. 37 ist ein Flußdiagramm, welches einen zweiten Maskierungsablauf zeigt, der bei der Verarbeitung der Pixeldaten verwendet wird.
- Die Fig. 38A bis 38C veranschaulichen bildlich diesen zweiten Maskierungsablauf und dessen Ergebnisse.
- Fig. 39 ist ein Flußdiagramm eines weiteren Ablaufes, der auf die Pixeldaten angewendet wird, um weiterhin irgendwelche Defekte in der inspizierten Linse hervorzuheben.
- Die Fig. 40A bis 40D veranschaulichen bildlich die Funktionsweise und die Ergebnisse des in Fig. 39 aufgezeigten Ablaufes.
- Die Fig. 41A und 41B zeigen ein Flußdiagramm eines Ablaufes, der zur Identifikation irgendwelcher Fehler oder Defekte in der inspizierten Linse verwendet wird.
- Fig. 42 zeigt verschiedene Typen möglicher Defekte in der Linse.
- Fig. 1 ist ein Blockdiagramm, welches ein System 10 zur Linseninspektion veranschaulicht. Im allgemeinen weist das System 10 ein Transport-Teilsystem 12, ein Beleuchtungssystem 14, ein Abbildungs-Teilsystem 16 sowie ein Bildverarbeitungs-Teilsystem 20 auf. Bei der bevorzugten Ausführung des Systems 10 weist das Transport-Teilsystem 12 den Linsenträger 22 und die Unterstützungsanordnung 24 (in Fig. 4 dargestellt) auf; und das Beleuchtungs- Teilsystem 14 enthält ein Gehäuse 26, eine Lichtquelle 30 und Spiegel 32 und 34. Ebenso enthält bei diesem bevorzugten System 10 das Abbildungs-Teilsystem 16 die Kamera 36, die Blende 40 und die Linsenanordnung 42. Spezieller enthält die Kamera, Bezug nehmend auf Fig. 8, das Gehäuse 44, die Pixelanordnung 46 und den Verschluß 50; und die Linsenanordnung enthält das Gehäuse 52, ein Paar Linsen 54 und 56 sowie eine Vielzahl von Scheiben 60. Wie in Fig. 1 gezeigt ist, enthält das Bildverarbeitungs-Teilsystem 20 den Vorprozessor 62, den Hauptprozessor 64 sowie Eingabemittel, wie zum Beispiel die Tastatur 66; und vorzugsweise enthält das Teilsystem 20 weiterhin die Speichereinheit 70, den Videomonitor 72, das Tastatur-Terminal 74 und den Drucker 76.
- Im allgemeinen ist das Transport-Teilsystem 12 vorgesehen, um eine Vielzahl ophthalmischer Linsen entlang eines vorbestimmten Pfades zu bewegen, um so jede der Linsen nacheinander in eine Position zu Linseninspektion zu bewegen, wobei Fig. 1 eine solche Linse 80 in dieser Position zur Linseninspektion zeigt. Das Beleuchtungs-Teilsystem 14 ist vorgesehen, um eine Reihe von Lichtimpulsen zu erzeugen und einen entsprechenden Lichtimpuls auf den Lichtpfad 82 zu richten sowie durch jede ophthalmische Linse, die sich durch die Position zur Linseninspektion bewegt. Das Teilsystem 16 erzeugt einen Satz Signale, welche die ausgewählten Abschnitte der durch die ophthalmischen Linsen transmittierten Lichtimpulse repräsentieren, und transmittiert daraufhin diese Signale zu dem Verarbeitungs-Teilsystem 20. Das Bildverarbeitungs-Teilsystem empfängt diese Signale von dem Teilsystem 16 und verarbeitet sie gemäß einem vorbestimmten Programm, um wenigstens eine Bedingung von jeder inspizierten Linse zu identifizieren; und bei der bevorzugten Ausführung des Teilsystems 20, welche unten detailliert beschrieben werden wird, bestimmt dieses Teilsystem, ob jede inspizierte Linse für die Verwendung durch den Kunden annehmbar ist.
- Das System 10 kann verwendet werden, um eine große Vielfalt von Typen und Größen ophthalmischer Linsen zu inspizieren. Das System ist besonders gut für die Inspektion von Kontaktlinsen geeignet, wobei die Fig. 2 und 3 zum Beispiel die Kontaktlinse 84 darstellen, die mittels des Systems 10 inspiziert werden kann. Die Linse 84 hat im allgemeinen eine halbsphärische Gestalt mit Vorder- und Rückflächen 86 und 90; und die Linse bildet eine zentrale optische Zone 84a und eine äußere Zone 84b. Die Linse hat eine im wesentlichen einheitliche Dicke; jedoch, wie speziell in Fig. 3A gezeigt, nimmt die Dicke der Linse graduell über den Kreisring 84C in unmittelbarer Nachbarschaft des Außenrandes der Linse ab.
- Fig. 4 veranschaulicht das Transport-Teilsystem 12 mit weiteren Details. Wie oben diskutiert, enthält dieses Teilsystem vorzugsweise den Linsenträger 22 und die Unterstützungsanordnung 24. Insbesondere enthält die Unterstützungsanordnung einen Translationstisch 92 sowie erste und zweite Schrittmotoren 94 und 96, wobei der Translationstisch wiederum ein Grundteil 100 und Rahmen 102 und 104 aufweist.
- Im allgemeinen ist der Linsenträger 22 vorgesehen, um eine Vielzahl der ophthalmischen Linsen zu halten, wobei die Fig. 5 und 6 den Linsenträger mit größerer Genauigkeit darstellen. Wie darin gezeigt, enthält der Linsenträger ein rechteckiges Grundteil 106 und eine Anordnung von Inspektionsschalen 110, die mit dem Grundteil verbunden sind. Vorzugsweise weist jede Schale eine kegelstumpfartige Seitenwand 110a und einen halbsphärisch geformten Bodenabschnitt 110b auf, der einstückig mit der Seitenwand der Schale verbunden ist und sich von dieser abwärts erstreckt. Zusätzlich hat der Bodenabschnitt jeder Schale vorzugsweise einen konstanten Krümmungsradius, etwa 10% größer als der Krümmungsradius der in der Schale plazierten ophthalmischen Linse 84; wobei der Durchmesser des Bodenabschnittes 1 l Ob größer ist als der Durchmesser der ophthalmischen Linse. Ebenso erstreckt sich die Seitenwand jeder Schale mit einer Neigung von etwa 20º bezüglich der Achse der Schale, und die Dicke jeder Seitenwand ist vorzugsweise geringer als etwa 0,010 Zoll.
- Bei dem in den Fig. 5 und 6 gezeigten speziellen Linsenträger 22 beträgt der Durchmesser der Oberseite jeder Schale 110 etwa 22 mm; und die Tiefe jeder Schale ist vorzugsweise größer als der Durchmesser der zu inspizierenden Linse, welcher bei Kontaktlinsen typischerweise 20 mm beträgt. Wie in den Fig. 5 und 6 gezeigt, enthält der Linsenträger eine Anordnung von 3 · 4 Inspektionsschalen. Die Durchschnittsfachleute werden erkennen, daß die Inspektionsschalen in anderen Konfigurationen angeordnet werden können; zum Beispiel können die Schalen in einer Anordnung von 3 · 3, einer Anordnung von 3 · 8, einer Anordnung von 4 · 8, einer Anordnung von 3 · 10 oder einer Anordnung von 4 · 10 vorliegen.
- Die Schalen 110 und vorzugsweise das Grundteil 106 sind im wesentlichen aus einem transparenten Material, wie zum Beispiel Kunststoff aus Polyvinylchlorid, hergestellt. Weiterhin sind die Schalen 110 und das Grundteil 106 vorzugsweise einstückig geformt und relativ dünn, was die Kosten reduziert und somit, als praktischer Gesichtspunkt, es gestattet, den Träger nach einer einmaligen Verwendung zu entsorgen. Die Entsorgung des Trägers nach einer einmaligen Verwendung bringt eine wesentlichen Reduzierung oder Vermeidung der Ausbildung von Kratzern in den Schalen mit sich, welche häufig auftreten, wenn die Inspektionsschalen wiederverwendet werden. Da, entsprechend der unten geführten Diskussion, ein Kratzer auf einer Schale als Fehler oder Defekt in der sich innerhalb der Schale befindlichen Linse interpretiert werden kann, verbessert die Verwendung von sofort entsorgbaren Linsenträgern die Genauigkeit des Linseninspektionsvorganges.
- Bei der Verwendung ist jede Schale 110 teilweise mit einer flüssigen Lösung 112 gefüllt, wie zum Beispiel einer Salzlösung, und die jeweilige ophthalmische Linse wird auf dem Boden einer jeden Schale plaziert, wobei diese vollständig in die darin befindliche Lösung eingetaucht ist. Wenn eine Linse in einer Schale plaziert ist, so tendiert die Schale dahin, die Linse darin automatisch, aufgrund der oben beschriebenen Gestalt und der Parameter der Schale, zu zentrieren.
- Es wird wiederum auf Fig. 4 Bezug genommen, wonach die Unterstützungsanordnung 24 vorgesehen ist, um den Linsenträger zu unterstützen und um den Linsenträger so zu bewegen, daß die sich darin befindlichen Linsen nacheinander in die Position zur Linseninspektion bewegt werden. Vorzugsweise bewegt die Unterstützungsanordnung 24 den Linsenträger 22 kontinuierlich entlang eines vorbestimmten Pfades, um die Linsen 84 sanft in und durch diese Position zur Linseninspektion zu bewegen. Zum Beispiel kann die Unterstützungsanordnung in einer Weise gestaltet sein, daß der Linsenträger so bewegt wird, daß Schalen 110 dieses Trägers durch die Position zur Linseninspektion hindurchbewegt werden, wobei dies gleichzeitig eine Schalenreihe betrifft; und nachdem jede Schalenreihe durch die Position zur Linseninspektion hindurchbewegt wurde, bewegt die Unterstützungsanordnung 24 den Träger 22, um eine andere Schalenreihe bezüglich der Position zur Linseninspektion auszurichten.
- Bei der bevorzugten, in Fig. 4 gezeigten Unterstützungsanordnung 24 ist der Rahmen 102 des Translationstisches 92 durch die Basis 100 unterstützt, um sich darauf seitlich, nach rechts und nach links, wie in Fig. 4 gezeigt, zu bewegen; der Rahmen 104 wird durch den Rahmen 102 unterstützt, so daß er sich darauf aufwärts und abwärts, wie in Fig. 4 gezeigt, bewegen kann; und der Linsenträger 22 wird von dem Rahmen 104 unterstützt, so daß er sich mit diesem bewegt. Der Schrittmotor 94 ist auf der Basis 100 angebracht und mit dem Rahmen 102 verbunden, so daß der Rahmen über das Grundteil bewegt wird, wobei der Schrittmotor 96 auf dem Rahmen 102 angebracht ist und mit dem Rahmen 104 verbunden ist, um diesen letzteren Rahmen zu bewegen.
- Beliebige geeignete Rahmen 102 und 104 sowie Schrittmotoren 94 und 96 können in der Unterstützungsanordnung 24 verwendet werden. Wie den Durchschnittsfachleuten verständlich sein wird, sind weiterhin andere geeignete Unterstützungsanordnungen bekannt, und solche können verwendet werden, um den Linsenträger 24 in der gewünschten Weise zu bewegen.
- Wiederum unter Bezugnahme auf Fig. 1 erzeugen die Teilsysteme 14 und 16 zusammen den als Dunkelfeldbeleuchtung bezeichneten Effekt und verwenden diesen zur Inspektion der ophthalmischen Linse, die sich durch die Position zur Linseninspektion bewegt. Bei diesem Ablauf wird eine Abbildung von Eigenschaften der opthalmischen Linse auf der Pixelanordnung 46 gebildet, die durch die Linse transmittiertes Licht streuen oder reflektieren. Die Dunkelfeldbeleuchtung kann verwendet werden - und sie ist tatsächlich ein sehr effektives Verfahren - um Fehler oder Unregelmäßigkeiten in ophthalmischen Linsen nachzuweisen, da im wesentlichen alle Defekte, wie auch einige normale Eigenschaften der ophthalmischen Linsen, das Licht streuen; und selbst sehr subtile, schwache Defekte, so wie jene, die als Trübungen ("Puddles") bezeichnet werden, können ohne weiteres durch die Verwendung des Verfahrens der Dunkelfeldbeleuchtung nachgewiesen werden.
- Die Prinzipien der Dunkelfeldbeleuchtung können mit Bezug auf Fig. 7 verstanden werden, welche eine ophthalmische Linse 114, einen kollimierten Lichtstrahl 116, ein Paar Linsen 120 und 122, eine lichtundurchlässige Blende 124 sowie eine Pixelanordnung 126 zeigt. Der Lichtstrahl 116 wird durch die ophthalmische Linse 114 transmittiert und fällt daraufhin auf die Abbildungslinse 120. Wenn der Beleuchtungsstrahl 116 perfekt kollimiert wäre, wenn er auf die Linse 114 fällt, so würde der Strahl im hinteren Brennpunkt der Linse 120 fokussiert. Selbst wenn der Beleuchtungsstrahl 116 durch die ophthalmische Linse 114 vollständig unbeeinflußt bliebe, so ist dieser Strahl dennoch nicht perfekt kollimiert, wenn er auf die Linse 120 fällt, und der Strahl 116 bildet einen kleinen Kreis etwa beim hinteren Brennpunkt der Linse 120, der als Kreis der geringsten Störung bezeichnet wird. Die Blende 124 ist an der anderen Seite der Abbildungslinse 120 an dem hinteren Brennpunkt derselben angeordnet, wobei die Größe der Blende so gewählt wird, daß sie geringfügig größer ist als das Kreisbild, welches von dem Beleuchtungsstrahl 116 bei dem hinteren Brennpunkt der Linse 120 gebildet wird.
- Somit wird bei Abwesenheit von Streuung oder Brechung des Beleuchtungsstrahles 116 durch die Linse 114 kein Licht über die Blende 124 hinaus transmittiert, wobei die Pixelanordnung 126 vollständig im Dunkeln liegt. Jedoch werden irgendwelche Eigenschaften der Linse 114, die das Licht in ausreichendem Maße ablenken, so daß es die Blende 124 verfehlt, bewirken, daß ein Teil des Lichtes auf die Pixelanordnung auftrifft. Die ophthalmische Linse 114 ist an der Position angeordnet, die optisch mit der Position der Pixelanordnung 126 konjugiert ist; und wenn somit irgendwelches Licht über den Stopper 124 hinaus transmittiert wird, so bildet dieses Licht eine Abbildung der Einheit der ophthalmischen Linse 114 auf der Pixelanordnung, die das Licht gestreut hat.
- Fig. 8 zeigt das bevorzugte Gerät zur Erzeugung und daraufhin zur Verwendung dieses Effektes der Dunkelfeldbeleuchtung in System 10; und insbesondere zeigt diese Figur das bevorzugte Beleuchtungs-Teilsystem und Abbildungs-Teilsystem mit größerer Genauigkeit. Wie in dieser Figur gezeigt ist, enthält das Teilsystem 14 das Gehäuse oder den Kasten 26, die Lichtquelle 30, die Spiegel 32 und 34, die Blende 130, die Energieversorgung 132, den Steuerungsschaltkreis 134, erste und zweite einstellbare Unterstützungsmittel 136 und 140 sowie ein Ausgangsfenster 142. Ebenso enthält das Teilsystem 16 die Kamera 36, die Blende 40 und die Linsenanordnung 42. Insbesondere enthält die Kamera 36 das Gehäuse 44, die Pixelanordnung 46 sowie den Verschluß 50; und die Linsenanordnung 42 enthält das Gehäuse 52, die Linsen 54 und 56 sowie die Scheiben 60.
- Das Gehäuse 26 des Teilsystems 14 stellt eine schützende Umhüllung für die anderen Elemente dieses Teilsystems zur Verfügung; und die Lichtquelle 30, die Spiegel 32 und 34 sowie die Blende 130 sind alle in diesem Gehäuse sicher untergebracht. Insbesondere enthält das Gehäuse 26 einen vertikalen Hauptschenkel 26a sowie obere und untere horizontale Schenkel 26b und 26c, wobei die Lichtquelle 30 in dem Hauptschenkel des Gehäuses positioniert ist. Der Spiegel 32 ist an der Kreuzungsstelle der Schenkel 26a und 26c befestigt, der Spiegel 34 ist dem distalen Ende des Schenkels 26c benachbart positioniert, und die Blende 130 ist innerhalb des Schenkels 26c zwischen den Spiegeln 32 und 34 positioniert. Das Gehäuse 26 bildet ebenfalls direkt oberhalb des Spiegels 34 eine Öffnung 26 W und das Fenster 142 ist in dieser Öffnung befestigt. Bei der Verwendung erzeugt die Lichtquelle 30 eine Vielzahl von Lichtblitzen oder -impulsen und richtet jeden dieser Impulse auf den Lichtpfad 82. Der Spiegel 32 ist auf diesem Pfad angeordnet und richtet die Lichtimpulse durch die Blende 130 sowie auf den Spiegel 34, welcher wiederum die Lichtimpulse aufwärts durch das Fenster 142, durch die Position zur Linseninspektion, in Fig. 8 mit 144 bezeichnet, und in Richtung oder auf das Abbildungs-Teilsystem 16 richtet.
- Vorzugsweise ist die Lichtquelle 30 auf einstellbaren Unterstützungsmitteln 136 befestigt, welche es erlauben, die spezifische Richtung des von der Lichtquelle emittierten Lichtes einzustellen, wobei der Spiegel 34 auf einem anderen einstellbaren Unterstützungsmittel 140 angebracht ist, welches es erlaubt, sowohl die spezifische Richtung als auch die spezifische Position des von diesem Spiegel reflektierten Lichtes einzustellen. Insbesondere enthalten bei der bevorzugten Ausführung des in Fig. 8 gezeigten Teilsystems 14 die Unterstützungsmittel 136 einen Kipptisch, der an dem Gehäuse 26 befestigt ist und um zwei zueinander senkrechte horizontale Achsen schwenkbar ist. Ebenso enthalten bei dieser Ausführung des Teilsystems 14 die Spiegelunterstützungsmittel 140 den Kipptisch 140a und den Translationstisch 140b; und der Spiegel 34 wird auf dem ersteren Tisch angebracht, welcher wiederum auf dem letzteren Tisch angebracht ist. Der Tisch 140b ist seitlich nach links und nach rechts, wie in Fig. 8 gezeigt, beweglich, was die Einstellung der seitlichen Position von Spiegel 34 gestattet; und der Tisch 140a ist um zwei zueinander senkrechte horizontale Achsen drehbar, was es ebenso gestattet, den speziellen Winkel des Spiegels 34 einzustellen.
- Das Abbildungs-Teilsystem 16 empfängt Lichtimpulse, die durch die in der Position 144 zur Linseninspektion angeordneten ophthalmischen Linse transmittiert wird, und erzeugt eine Reihe von Signalen, welche die ausgewählten Anteile des durch diese ophthalmischen Linsen transmittierten Lichtes darstellen. Insbesondere ist die Pixelanordnung 46 innerhalb des Kameragehäuses 44 direkt hinter dem Verschluß 50 angeordnet; und die Pixelanordnung ist vorzugsweise aus einer Vielzahl von Lichtsensoren zusammengesetzt, wobei jeder in der Lage ist, einen entsprechenden elektrischen Strom zu erzeugen, der eine zur Intensität des auf den Sensor einfallenden Lichtes proportionale Größe hat oder diese repräsentiert.
- Fig. 9 ist eine vergrößerte Ansicht eines kleinen Abschnittes der Pixelanordnung 46 und zeigt insbesondere eine Vielzahl individueller Lichtsensoren dieser Pixelanordnung. Mit Bezug auf diese Figur sind diese Lichtsensoren oder Pixel in einem gleichförmigen Gitter einer gegebenen Anzahl von Reihen und Spalten angeordnet, wobei dieses Gitter beispielsweise eine Million Pixel aufweist, die in tausend Spalten und tausend Reihen angeordnet sind. Vorzugsweise bilden die Pixel in diesem Gitter eine Vielzahl von Reihen mit gleichförmigem Abstand und eine Vielzahl von Spalten mit gleichförmigem Abstand; und, außer den Pixeln entlang des äußeren Randes der Anordnung, hat jedes Pixel acht unmittelbare Nachbarn. Beispielsweise hat Pixel 146a acht Nachbarn: das direkt oberhalb angeordnete Pixel 146b, das direkt unterhalb angeordnete Pixel 146c, die direkt jeweils links und rechts angeordneten Pixel 146d und 146e und die Pixel 146f, 146g, 146h und 146i, die jeweils oberhalb und rechts, oberhalb und links, unterhalb und rechts sowie unterhalb und links angeordnet sind.
- Es wird wiederum Bezug auf Fig. 8 genommen, wo die Blende 40 und die Linsen 54 und 56 bezüglich des Verschlusses 50 in Vorwärtsrichtung angeordnet sind und koaxial zueinander sowie bezüglich der Pixelanordnung 46 und dem Kameraverschluß ausgerichtet sind. Die Blende 40 ist zwischen den Linsen 54 und 56 und im wesentlichen an der hinteren Brennebene der Linse 54 positioniert, wobei die Linse 56 so positioniert ist, daß die Pixelanordnung bei der hinteren Brennebene dieser Linse 56 positioniert ist. Vorzugsweise sind die Linsen 54 und 56 sowie die Blende 40 innerhalb des Gehäuses 52 angebracht, welches wiederum an dem Frontende der Kamera 46 angebracht ist. Zusätzlich sind die Scheiben 60, die eine Reihe ringförmiger Glieder aufweisen können, vorzugsweise in und mit Abstand entlang der Länge des Gehäuses 42 angeordnet, um die Kollimation des durchgehenden Lichtes zu unterstützen.
- Bei dieser speziellen Position der Linsen 54 und 56 sowie der Blende 40 wird das meiste oder alles von einem durch eine spezielle inspizierte ophthalmische Linse transmittierten Lichtstrahl von der Linse 54 auf die Blende 40 fokussiert und fällt somit nicht auf die Pixelanordnung 46. Jedoch kann ein Teil des durch unregelmäßige Bestandteile der ophthalmischen Linse tretenden Lichtes sowie ein Teil des durch regelmäßige Bestandteile einiger ophthalmischer Linsen tretenden Lichtes ausreichend abgelenkt werden, so daß dieses Licht nicht durch die Linse 54 auf die Blende 40 fokussiert wird, sondern statt dessen über die Blende hinaus transmittiert wird und auf die Pixelanordnung 46 auftrifft. Zusätzlich ist die Position zur Linseninspektion an einer Stelle angeordnet, die optisch zu der Position der Pixelanordnung 46 konjugiert ist, wobei somit jegliches Licht, das über die Blende 40 hinaus transmittiert wird, ein Bild auf der Pixelanordnung von der Einheit der ophthalmischen Linse erzeugt, die das Licht gestreut hat.
- Diese Dunkelfeldbeleuchtungs-Technik ist eine sehr effektive Art, Unregelmäßigkeiten in ophthalmischen Linsen zu beleuchten; und Fig. 10 zeigt die auf einer Pixelanordnung 46 mittels eines, durch eine ophthalmische Linse und insbesondere durch eine in den Fig. 2 und 3 gezeigte Kontaktlinse 84, transmittierten Lichtstrahles gebildete Abbildung. Das meiste des durch die Linse transmittierten Lichtes wird von der Pixelanordnung durch die Blende 40 ferngehalten. Jedoch wird aufgrund der nicht einheitlichen Dicke des Kreisringes 84c der Linse das durch diesen Abschnitt der Linse transmittierte Licht über die Blende 40 hinaus abgelenkt, wobei es auf die Pixelanordnung 46 auftritt und ein Bild des Kreisringes auf dieser Anordnung ausbildet. Andere Unregelmäßigkeiten in der Linse 84 erzeugen ebenfalls ausgeleuchtete Bereiche auf der Pixelanordnung. Zum Beispiel können selbst subtile, schwache Defekte, wie zum Beispiel Trübungen, auf der Pixelanordnung gesehen werden. Wenn zum Beispiel eine Trübung im Inneren der Linse vorliegt, so wird die Trübung ohne weiteres auf der Pixelanordnung als heller Umriß auf einem dunklen Feld erscheinen; und wenn eine Trübung in der Randzone einer Linse vorliegt, so wird die Trübung ohne weiteres auf der Pixelanordnung als dunkle Linien auf einem hellen Feld erscheinen. Da ebenfalls die Randzone der Kontaktlinse einen keilförmigen Querschnitt aufweist, lenkt diese Randzone genügend Licht über die Blende 40 hinaus, so daß die gesamte Zone auf der Pixelanordnung 46 als ein heller, weißer Kreisring 150 auf einem dunklen Feld erscheint.
- Wie von den Durchschnittsfachleuten verstanden wird, können irgendwelche geeigneten Lichtquellen, Linsen und Kameras in den Teilsystemen 14 und 16 verwendet werden. Zum Beispiel kann die Lichtquelle 30 ein Kurzbogen-Xenon-Blitzlicht von Hamamatsu sein. Dieses spezielle Blitzlicht weist eine einzigartige Kombination von Bogenstabilität und Langlebigkeit auf, wobei die Ausgabe dieses Blitzlichtes um plus oder minus 2% rangiert, mit einer Lebensdauer von 109 Blitzen.
- Weiterhin ist bei einer Ausführung des Teilsystems 16, das tatsächlich verwirklicht wurde, die erste Abbildungslinse 54 eine achromatische Linse mit 100 mm Brennweite, welche für Objekte innerhalb von 2,5º bezüglich der optischen Achse der Linse beugungsbegrenzt ist, wobei die Linse 54 in einer schwarz eloxierten Aluminiumröhre mit internen Scheiben 60 zum Eliminieren der Kontrastverschlechterung aufgrund der Lichtreflexion von den Innenwänden der Röhre angeordnet ist. Die zweite Linse 56 ist eine F-1.8-Nikon-Standardlinse mit 50 mm Brennweite. Das Ende des Tubus' der ersten Linse 54 ist auf einem ultravioletten Dunstfilter zementiert, der über ein Gewinde in dem Gehäuse der 50 mm-Linse sitzt.
- Die lichtundurchlässige Blende 40 ist eine kleine Kunststoffscheibe mit einem Durchmesser von 0,100 Zoll, welche eine klebende Rückseite aufweist, um die Blende an Ort und Stelle zu befestigen. Geeignete Blenden können käuflich erworben werden und werden als Masken für Lötanschlußstellen beim manuellen Layout der Druckvorlage für gedruckte Schaltungen verwendet, wobei diese Blenden in vielen verschiedenen Größen erhältlich sind. Die bevorzugte Größe der Blende 40 kann von anderen Parametern des Systems 10 abhängen, und die ausgewählte Größe der Blende ist vorzugsweise so gewählt, daß sie den besten Kompromiß zwischen Kontrast, Einfachheit bei der Ausrichtung und Vibrationsempfindlichkeit bereitstellt.
- Die in dem Teilsystem 16 verwendete Kamera, das tatsächlich konstruiert wurde, ist eine Kamera mit hoher Auflösung, die von Videk verkauft wird und welche für die Montage von Standard-Nikon-Linsen geeignet ist. Die F-1.8 50 mm-Nikonlinse 56 wird zunächst an der Kamera 36 befestigt, woraufhin das Gehäuse der Linse 54 auf die Linse 56 aufgeschraubt wird. Das effektive Gesichtsfeld dieser Videk-Kamera beträgt 13.8 mm · 13,8 mm, was zum Beispiel etwa 10% bis 15% größer ist als die maximale Kontaktlinsengröße. Es ist erwünscht, daß die inspizierte ophthalmische Linse das Gesichtsfeld der Kamera 36 so weitgehend wie möglich belegt, um so die Genauigkeit der Inspektion zu optimieren. Folglich nutzen die Inspektionsschalen 110 des Linsenträgers 22 bei automatischer Zentrierung der zu inspizierenden Linse die von der Kamera zur Verfügung gestellte Auflösung in maximaler Weise aus.
- Die bevorzugten Konfigurationen der Teilsysteme 14 und 16 haben eine Reihe von Vorteilen. Da zunächst der Lichtpfad 82 zusammengefaltet ist, kann das Blitzlicht 30 in größerem Abstand von der ophthalmischen Linse angeordnet sein und zwar an der Position zur Linseninspektion 144, wobei dies einen stark kollimierten Lichtstrahl bei dieser ophthalmischen Linse erzeugt. Zweitens ist die Größe des Lichtbogens bei der Blende 40 im wesentlichen gleich der physikalischen Größe des Lichtbogens, multipliziert mit dem Verhältnis (i) des Abstandes von der Lampe 30 zu der Linse 54 zu (ii) dem Abstand von der Linse 54 zur Blende 40. Die bevorzugte in Fig. 8 gezeigte Konfiguration minimiert ebenfalls die Bogen- Bildgröße, was die Verwendung einer kleineren Blende erlaubt und folglich die Erzeugung einer größeren Empfindlichkeit. Drittens begrenzt die Irisblende 130 die Querschnittsfläche des Lichtstrahles 82 und somit die Fläche, die von diesem Strahl beleuchtet wird. Vorzugsweise wird die Blende 130 verwendet, um die Querschnittsfläche oder die Abmessung des Lichtstrahles 82 so einzustellen, daß der Strahl eine kreisförmige Fläche beleuchtet, die nur etwa 10% bis 15% größer ist als der Durchmesser der zu inspizierenden ophthalmischen Linse. Die Begrenzung der Größe des Beleuchtungsstrahles 82 verbessert den Kontrast zwischen dem auf der Pixelanordnung erzeugten Bild und dem Rest dieser Anordnung; und insbesondere wird durch die Begrenzung der Abmessung des Lichtstrahles 82 die Lichtmenge, welche von Artefakten der Linseninspektionsschale gestreut wird, eliminiert oder wesentlich vermindert. Dieses gestreute Licht könnte als Hintergrundlicht auf der Pixelanordnung 46 erscheinen und den Kontrast zwischen dem interessierenden Bild auf der Pixelanordnung und dem Rest dieser Anordnung verringern.
- Zusätzlich ist bei der bevorzugten Konfiguration der Teilsysteme 14 und 15 der Vergrößerungsfaktor des Systems - das heißt, das Verhältnis der Größe des Bildes der ophthalmischen Linse auf der Pixelanordnung 46 zur tatsächlichen Größe dieser ophthalmischen Linse - etwa gleich dem Verhältnis der Brennweite der zweiten Linse 56 zur Brennweite der ersten Linse 54. Der tatsächliche Vergrößerungsfaktor hängt ebenfalls vom Abstand zwischen den Linsen 54 und 56 sowie dem Abstand der zu inspizierenden ophthalmischen Linse von der ersten abbildenden Linse 54 ab. Zusätzlich gestatten es der Kipptisch 140a und der Translationstisch 140b, daß die Mitte des vom Spiegel 34 reflektierten Strahles so eingestellt wird, daß sie mit der Achse des abbildenden optischen Teilsystems 16 zusammenfällt.
- Wie oben beschrieben, enthält das abbildende Teilsystem 16 zwei Linsen 54 und 56, die näherungsweise um die Brennweite der ersten Linse 54 voneinander getrennt sind. Die Verwendung von zwei Linsen ist nicht erforderlich; jedoch ist dies bevorzugt, da die Verwendung von zwei Linsen eine bessere Kontrolle der verschiedenen Parameter der Teilsysteme 14 und 16 gestattet und, zum Beispiel, die Trennung zwischen der hinteren Brennebene und der Bildebene von der Vergrößerung der Teilsysteme entkoppelt.
- Die Fig. 11A, 11B und 11C veranschaulichen andere optische Konfigurationen, auf die im allgemeinen jeweils als 152, 154 und 156 Bezug genommen wird und welche im System 10 zum Richten eines Lichtstrahles 82 durch die Linseninspektionsposition verwendet werden können, sowie auf die Blende 40 und die Pixelanordnung 46.
- Die Konfiguration 152 enthält nur eine Linse 160, die gleichzeitig den Lichtstrahl 82 auf die Blende 40 abbildet, sowie die zu inspizierende Linse auf die Pixelanordnung 46 abbildet. Spezieller enthält die in Fig. 11A gezeigte optische Konfiguration den Spiegel 162, die abbildende Linse 160 und die Blende 40; und die Figur zeigt ebenfalls einen Linsenhalter, der schematisch bei 164 repräsentiert ist, eine zu inspizierende ophthalmische Linse 166 und die Pixelanordnung 46. Mit dieser Konfiguration werden der Lichtstrahl 82 oder Pulse von der Lichtquelle 30 auf den Spiegel 162 gerichtet, welcher wiederum das Licht durch die Linsen 166 sowie auf die Abbildungslinse 160 richtet. Das meiste auf die Linse 160 gerichtete Licht wird dadurch auf die Blende 40 fokussiert; jedoch werden gewisse Merkmale der Linse 166 das Licht ausreichend ablenken, so daß dieses abgelenkte Licht über die Blende 40 hinaus transmittiert und auf der Pixelanordnung 46 fokussiert wird, wobei darauf, durch das Licht, welches über die Blende 40 hinaus transmittiert wird, ein Bild der Merkmale der Linse 166 erzeugt wird. Die Konfiguration von Fig. 11A kann die bevorzugte Konfiguration sein, wenn der CCD-Schirm der Kamera 36 größer ist als der CCD-Schirm der obengenannten Videk-Kamera mit hoher Auflösung.
- Bei der Konfiguration 154 nach Fig. 11B sind die Funktionen der Abbildung der Lichtquelle auf die Blende 40 und der Abbildung der zu inspizierenden ophthalmischen Linse auf die Pixelanordnung 46 getrennt. Näher ausgeführt enthält diese Konfiguration den Spiegel 170, die Linsen 172 und 174 und die Blende 40; und Fig. 11B zeigt ebenso den Linsenhalter 164, die ophthalmische Linse 166 und die Pixelanordnung 46. Bei dieser Konfiguration wird der Lichtstrahl 82 von der Lichtquelle 30 auf den Spiegel 170 gerichtet, wobei dieser Spiegel den Lichtstrahl auf die Linse 172 richtet. Die Linse 172 richtet den Lichtstrahl durch die ophthalmische Linse 166, wobei das meiste des durch die Linse 166 transmittierten Lichtes auf die Blende 40 fokussiert wird. Einige Bestandteile der Linse 166 lenken jedoch Licht von der Blende 40 ab; und dieses abgelenkte Licht fällt auf die Linse 174, welche dieses Licht auf die Pixelanordnung 46 fokussiert, wobei darauf ein Bild der Bestandteile der Linse 174 erzeugt wird, welche das Licht über die Blende 40 hinaus abgelenkt haben. Ein Vorteil der Linsenanordnung von Fig. 11B besteht darin, daß die Wirkungen der beiden Linsen 172 und 174 voneinander vollständig unabhängig sind.
- Die in Fig. 11C gezeigte optische Konfiguration 156 ist der in Fig. 8 gezeigten optischen Konfiguration sehr ähnlich; jedoch enthält die Konfiguration 156 keinen Spiegel 32 und keine Blende 130. Insbesondere enthält die Konfiguration 156 den Spiegel 176, die Linsen 180 und 182 sowie die Blende 40; und die Fig. 11C zeigt ebenso den Linsenhalter 164, die ophthalmische Linse 166 und die Pixelanordnung 46. Bei der Anordnung nach Fig. 11C wird der Lichtstrahl 82 von der Lichtquelle 30 auf einen Spiegel 176 gerichtet, welcher das Licht durch die Linse 166 und auf die erste Linse 180 richtet. Das meiste auf die Linse 180 gerichtete Licht wird auf die Blende 40 fokussiert; jedoch lenken einige Bestandteile der Linse 166 das Licht ausreichend ab, so daß dieses Licht über die Blende 40 hinaus sowie auf die zweite Linse 182 transmittiert wird, wobei diese Linse 182 dieses Licht auf der Pixelanordnung 46 fokussiert. Bei dieser Konfiguration bildet die Linse 180 die Lichtquelle unabhängig von der Linse 182 auf der Blende ab. Beide Linsen 180 und 182 sind jedoch bei der Abbildung irgendwelcher Defekte in der Linse 166 auf die Pixelanordnung 46 beteiligt.
- Zusätzlich zum Vorangehenden, enthält das System 10 ebenfalls ein Steuerungs-Teilsystem, um die Funktion des Beleuchtungs-Teilsystems 14 und des Abbildungs-Teilsystems 16 mit der Funktion des Transport-Teilsystems 12 zu synchronisieren und insbesondere, um die Lichtquelle 30 zum Erzeugen eines Lichtpulses zu betätigen und den Kameraverschluß 50 zu öffnen, wenn sich eine Linse in der Linseninspektionsposition 144 befindet. Das bevorzugte Steuerungs-Teilsystem ist schematisch in Fig. 12A veranschaulicht. Bei diesem bevorzugten Steuerungs-Teilsystem erzeugt das Transport-Teilsystem 14 jedesmal, wenn sich eine der Linseninspektionsschalen in der Linseninspektionsposition befindet, ein elektrisches Signal. Dieses Signal kann beispielsweise von einem Schrittmotor 94 erzeugt werden oder von einem anderen Antriebsmittel für den Translationstisch 92 oder von einem Grenzschalter, der jedesmal betätigt wird, wenn eine der Linseninspektionsschalen die Linseninspektionsposition erreicht. Vorzugsweise wird dieses Signal auf den Kameraverschluß 50 übertragen, um diesen Verschluß zu öffnen sowie ebenso auf einen Verzögerungsschaltkreis 184 übertragen, welcher das elektrische Signal um eine kurze Periode verzögert, um dem Kameraverschluß zu gestatten, vollständig zu öffnen, wobei nach dieser kurzen Verzögerung dieses elektrische Signal daraufhin auf einen Lampentreiber 134 übertragen wird, der daraufhin die Lichtquelle 30 betätigt.
- Bei einer entwickelten Ausführungsform des Systems 10, unter Bezugnahme auf Fig. 12B, erzeugt beispielsweise das Transport-Teilsystem einen 24-Volt-Puls, wenn sich eine ophthalmische Linse in der Linseninspektionsposition befindet, und überträgt diesen sowohl auf die Kamera 36 als auch auf den Verzögerungsschaltkreis 184. Der Kameraverschluß öffnet als Folge der Anstiegsflanke dieses Pulses und benötigt etwa 9 Millisekunden, um vollständig zu öffnen. Der Verzögerungsschaltkreis verzögert den Durchgang des Signals zu dem Lampentreiber 134 um etwa 15 Millisekunden; und nach dieser Verzögerung wird dieser Triggerpuls auf den Lampentreiber übertragen. Die Anstiegsflanke dieses Triggerpulses betätigt einen SCR, welcher das Blitzlicht 30 zündet. An diesem Punkt der Zündung wird die Lampe elektrisch leitend, und ein im voraus geladener Kondensator wird über die Lampe entladen. Die Kapazität und die Spannung, auf welche dieser Kondensator geladen wurde, bestimmen die gesamte von der Lampe emittierte Lichtenergie sowie die Dauer des Lichtimpulses. Inzwischen hält ein Interface-Schaltkreis den Kameraverschluß für etwa 30 Millisekunden offen und schließt daraufhin den Verschluß.
- Die Verwendung eines Kameraverschlusses in der oben beschriebenen Weise vermeidet bzw. vermindert wesentlich die Integration des Umgebungslichtes in der Pixelanordnung 46 zwischen den Linseninspektionen. Ebenso sind bevorzugt die Hochspannungs-Energieversorgung, die Lampentreiber-Elektronik und der Speicherkondensator in der Gehäusestruktur 26 angebracht, welche die Beleuchtungsoptik enthält.
- Das Licht von der Lampe 30 ist ausreichend, um den Einfang eines Bildes auf der Pixelanordnung 46 in einer solch kurzen Zeitperiode zu gestatten, so daß es nicht erforderlich ist, die zu inspizierende ophthalmische Linse anzuhalten. Somit ist das Transport-Teilsystem 12 vorzugsweise derart gestaltet, daß es die Anordnung ophthalmischer Linsen kontinuierlich unter dem Abbildungs-Teilsystem 16 bewegt. Diese kontinuierliche, gleichmäßige Bewegung der Anordnung ophthalmischer Linsen ist vorteilhaft, da es die Entwicklung von Kräuselungen oder anderen Störungen auf der Oberfläche der Lösung 112 in den Schalen 110, welche sich mit dem Abbildungsprozeß überlagern könnten, vermindert oder vermeidet.
- Wie den Fachleuten verständlich sein wird, kann die erwünschte Synchronisation oder Koordination zwischen dem Transport-Teilsystem 12, dem Beleuchtungs-Teilsystem und dem Abbildungs-Teilsystem 16 auf andere Arten erreicht werden. Beispielsweise können die Lichtquelle 30 und der Verschluß 50 bezüglich vorbestimmter Zeitintervalle aktiviert werden, welche so gewählt sind, daß sie mit der Positionierung einer Linse an der Linseninspektionsposition 144 zusammenfallen.
- Das Beleuchtungs-, das Abbildungs- und das Transport-Teilsystem können innerhalb eines (nicht dargestellten) Gehäuses liegen, um die Effekte von schwebendem Schmutz auf die Beleuchtungs- und Abbildungsprozesse zu minimieren. Dieses Gehäuse kann mit durchsichtigen Fronttüren oder mit Fronttüren, welche durchsichtige Fenster aufweisen, ausgestattet sein, um einen Zugang zur Verfügung zu stellen und die Beobachtung des Gehäuseinneren zu gestatten, wobei die durchsichtigen Abschnitte dieser Fronttüren getönt sein können, um die Auswirkungen des umgebenden Lichtes auf den Beleuchtungs- und Abbildungsvorgang zu minimieren.
- Fig. 13 ist ein Blockdiagramm, welches das Abbildungs-Verarbeitungs-Teilsystem 20 veranschaulicht. In diesem Teilsystem werden die Signale in einer Kombination serieller und paralleler Formate dem Vorprozessor 62 zugeleitet. Diese auf den Vorprozessor 62 übertragenen elektrischen Signale können in irgendeiner geeigneten Weise mit den spezifischen Pixeln, welche die Signale erzeugt haben, identifiziert werden. Beispielsweise können die Signale von den Pixeln der Kamera 36 in einer vorgegebenen, zeitlich abgestimmten Folge auf den Vorprozessor 62 übertragen werden, wobei ebenfalls ein Taktsignal von der Kamera auf den Vorprozessor übertragen werden kann, um den Beginn oder ausgewählte Intervalle dieser Sequenz zu identifizieren. Alternativ kann jedes auf den Prozessor 62 übertragene Signal mit einem "Header" oder einem anderen Datenkennzeichen ausgestattet sein, wobei die bestimmten Pixel, welche das Signal erzeugt haben, identifiziert werden.
- Die Einheit 62 konvertiert jedes elektrische Stromsignal von jedem Pixel der Anordnung 46 in einen entsprechenden digitalen Datenwert 10 und speichert diesen Datenwert an einer Speicherstelle mit einer Adresse, welche mit der Adresse des Pixels, das das elektrische Signal erzeugt hat, in Beziehung steht. Diese Datenwerte sind dem Prozessor 64 verfügbar und können auf diesen über Busleitungen 186 übertragen werden. Wie unten detailliert diskutiert, wird vorzugsweise eine Vielzahl zusätzlicher Sätze von Datenwerten I&sub1; ...In erzeugt, wobei jeder Datensatz einen entsprechenden Datenwert hat, der mit jedem Pixel der Anordnung 46 in Beziehung steht, wobei der Vorprozessor 62 eine Vielzahl von Speicherabschnitten oder Karten aufweisen kann und jede(r) davon verwendet wird, um einen entsprechenden Satz dieser Datenwerte zu speichern.
- Der Prozessor 64 ist über Busleitungen 186 an dem Vorprozessor 62 angeschlossen, um Datenwerte von dem Vorprozessor zu erhalten und um Datenwerte auf diesen zu übertragen. Wie unten genauer beschrieben ist, ist der Prozessor 64 zum Verarbeiten und Analysieren der in dem Vorprozessor gespeicherten Datenwerte programmiert, um wenigstens eine Bedingung oder einen Parameter von jeder durch das System 10 inspizierten Linse zu identifizieren und zum Beispiel anzuzeigen, ob jede Linse zur Verwendung durch den Kunden akzeptabel ist.
- Die Speicherplatte 70 ist an den Prozessor 64 angeschlossen, um Datenwerte auf einer permanenten oder halbpermanenten Basis zu empfangen und festzuhalten. Beispielsweise kann die Speicherplatte 70 mit verschiedenen von dem Prozessor 64 verwendeten Tabellen ausgestattet sein, und die Speicherplatte kann verwendet werden um Daten zu speichern, die sich auf den Linseninspektionsvorgang beziehen oder von diesem erhalten wurden. Beispielsweise kann die Speicherplatte 70 verwendet werden, um die Gesamtzahl der während eines vorgegebenen Tages oder einer Zeitperiode inspizierten Linsen aufzuzeichnen und um die Gesamtzahl, den Typ und die Größe irgendwelcher in irgendeiner gegebenen Probe oder Linsengruppe gefundenen Defekte aufzuzeichnen.
- Die Tastatur 66 ist an den Prozessor 64 angeschlossen, um eine Eingabe durch eine Betriebsperson zu gestatten, wobei das Tastaturterminal 74 verwendet wird, um Daten oder Botschaften, die in den Prozessor eingegeben werden, sichtbar darzustellen. Der Monitor 72 ist an den Vorprozessor 62 angeschlossen und dafür vorgesehen, Videobilder von den im dem Vorprozessor gespeicherten Datenwerten zu erzeugen. Beispielsweise können die 10-Datenwerte auf den Monitor 72 übertragen werden, um darauf eine Abbildung des tatsächlich von der Pixelanordnung 46 erzeugten Bildes zu erzeugen. Andere Sätze der Datenwerte I&sub1; ...In können auf den Monitor 72 übertragen werden, um verbesserte oder verarbeitete Bilder dieses realen Bildes zu erzeugen. Der Drucker 76 ist an dem Prozessor 64 über einen Serie-Parallel- Konverter 190 angeschlossen, um eine sichtbare, permanente Aufnahme von auf den Drucker von dem Prozessor 64 übertragenen ausgewählten Datenwerten zur Verfügung zu stellen. Für die Fachleute wird verständlich sein, daß das Teilsystem 20 mit anderen oder zusätzlichen Eingabe- und Ausgabevorrichtungen ausgestattet sein kann, um es einer Betriebsperson oder einem Analysierer zu gestatten, mit dem Prozessor 64, dem Vorprozessor 62 und der Speichereinheit 70 interaktiv zu kommunizieren.
- Die individuellen Komponenten des Teilsystems 20 sind herkömmlich und den Fachleuten wohlbekannt. Vorzugsweise ist der Vorprozessor 64 ein digitaler Computer mit hoher Geschwindigkeit, und der Monitor 72 ist ein Farbmonitor mit hoher Auflösung. Auch kann zum Beispiel der Vorprozessor 62 eine Zusammenstellung von Datacube-Signalverarbeitungskarten sein und der Prozessor 64 kann eine Sun-3/140-Workstation sein.
- Wie oben diskutiert, wird jedesmal, wenn eine ophthalmische Linse direkt unter die Kamera 36 tritt, Licht durch die ophthalmische Linse transmittiert und auf die Pixelanordnung 46 fokussiert, wobei jedes Pixel der Anordnung 46 einen entsprechenden elektrischen Ausgangsstrom mit einer Größe erzeugt, welche die Intensität des auf das Pixel fallenden Lichtes repräsentiert. Dieser Ausgangsstrom wird für jedes Pixel in einen digitalen Datenwert konvertiert, der in einer Adresse im Vorprozessorspeicher gespeichert wird, die dem Pixel zugeordnet ist. Diese digitalen Datenwerte, welche als I&sub0;-Werte bezeichnet werden, werden, wie unten beschrieben, erzeugt, um zu bestimmen, ob die Linse die unter die Kamera 36 tritt, eine oder mehrere Merkmale einer ausgewählten Gruppe aufweist; und insbesondere, um zu bestimmen, ob diese Linse irgendwelche Merkmale aufweist, die als Fehler oder Defekt betrachtet werden können, welcher die Linse für die Verwendung durch den Kunden ungeeignet macht.
- Fig. 14 zeigt die Hauptkomponenten eines bevorzugten Bildverarbeitungsverfahrens, um irgendwelche Defekte des Linsentyps 84 zu identifizieren, welcher in den Fig. 2 und 3 dargestellt ist. Nachdem das Linsenbild auf der Pixelanordnung aufgenommen wurde, wird dieses Bild in einem Verfahren getestet, welches als Dezentrierung bezeichnet wird, um zu bestimmen, ob der innere und der äußere Umfangsrand des Kreisringes 84c der Linse relativ zueinander genau zentriert sind, wobei dieser Dezentrierungstest beinhaltet, erste und zweite Kreise an den Innen- und Außenrand des auf der Pixelanordnung erzeugten Kreisringes anzupassen. Hiernach werden die tatsächlichen Ränder des Kreisringes gefunden oder extrahiert. Darauf wird ein erstes Maskierungsverfahren verwendet, um Daten zu vermindern oder zu eliminieren, die mit von der Peripherie der Linseninspektionsschale gebrochenem oder abgelenktem Licht in Verbindung stehen, wobei irgendwelche Randdefekte durch ein Verfahren hervorgehoben werden, welches als Gummibandalgorithmus ("Rubber Band Algorithm") bezeichnet wird. Im folgenden werden irgendwelche Defekte durch Verfahren weiter hervorgehoben, die als "Fill-in" und "Clean-up" bezeichnet werden, sowie durch ein zweites Maskierungsverfahren, welches Daten eliminiert, die mit bestimmten Pixeln in der Nähe der Mitte des Kreisringbildes in Beziehung stehen.
- Nachdem irgendwelche möglichen Defekte betont oder hervorgehoben wurden, wird eine Suche ausgeführt, um festzustellen, ob tatsächlich irgendwelche Defekte vorliegen. Insbesondere werden die Pixel der Anordnung 46 durchsucht - oder, genauer gesagt, mit jenen Pixeln in Verbindung stehende Datenwerte werden durchsucht - um Liniensegmente oder Lauflängen von Pixeln zu identifizieren, welche ein Teil des Defektes sein könnten, wobei jene Lauflängen daraufhin gebündelt werden, um die fehlerhaften Kandidaten zu identifizieren. Daraufhin werden die Größen und die Orte dieser fehlerhaften Kandidaten analysiert, um zu bestimmen, ob es sich tatsächlich um Defekte handelt, welche die Linse ungeeignet für die Verwendung durch den Kunden machen.
- Wie oben erwähnt, wird der Dezentrierungstest zur Bestimmung verwendet, ob der innere und der äußere Umfangsrand des Kreisringes 84c der Linse, welche unter der Kamera hindurchlaufen, konzentrisch sind. Allgemein wird dies mit Bezug auf Fig. 15 erreicht, indem eine Vielzahl von Abtastvorgängen 202 über die Pixelanordnung 46 vorgenommen werden - oder, genauer gesagt, durch das Studium der Datenwerte bei Adressen im Vorprozessorspeicher, welche den Adressen der Pixel in dem ausgewählten Linienelement auf der Anordnung 46 entsprechen - um festzustellen, ob der äußere und der innere Rand 150a und 150b des Kreisringes 150 konzentrisch sind.
- Fig. 16A und 16B veranschaulichen den Dezentrierungstest oder die Routine R&sub1;. Auf den ersten Schritt 204 dieser Routine wird als Schwellwert-Unterprogramm Bezug genommen; und der Zweck dieser Routine besteht darin, jedes Pixel mit einem neuen Intensitätswert I&sub1; in Verbindung zu bringen, welcher gleich dem maximalen oder dem minimalen Beleuchtungswert Tmax oder Tmin ist, abhängig davon, ob der ursprüngliche Beleuchtungswert I&sub0; des Pixels jeweils oberhalb oder unterhalb eines gegebenen Schwellwertes Tt liegt. Somit kann zum Beispiel jedes Pixel mit einem ursprünglichen Beleuchtungswert I&sub0;, welcher größer ist als 127, mit einem neuen Beleuchtungswert I&sub1; von 255 versehen werden, wobei jedes Pixel mit einem ursprünglichen Beleuchtungswert von 127 oder weniger mit einem neuen Beleuchtungswert I&sub1; von 0 versehen werden kann.
- Der nächste Schritt 206 bei dem Dezentrierungstest besteht darin, die Anzahl, die Orte und die Größen der bei diesem Test verwendeten Abtastvorgänge 202 festzusetzen, wobei dies dadurch vorgenommen wird, daß dem Prozessor 64 die Adresse des Anfangspixels und die Länge sowie die Richtung eines jeden Abtastvorganges zugeführt werden. Diese Parameter können so gewählt werden, daß, falls die Linse nicht stark dezentriert ist, jeder einer Vielzahl von Abtastvorgängen beide Ränder des Kreisringes 150 kreuzt. Vorzugsweise wird dem Prozessor 64 oder der Speicherplatte 70 eine teilpermanente Aufzeichnung dieser Anfangsadressen, Richtungen sowie Abtastlängen zugeführt. Diese Aufzeichnung wird während der Inspektion jeder Linse von gegebenem nominalem Typ oder gegebener nominaler Größe verwendet, wobei diese teilpermanente Aufzeichnung geändert werden kann, wenn Linsen von einem anderen nominalen Typ oder von anderer nominaler Größe inspiziert werden.
- Als nächstes werden bei Schritt 210 die ausgewählten Abtastvorgänge über die Pixelanordnung oder die Anzeige 46 vorgenommen. Wenn keine Linse stark dezentriert ist, werden die meisten dieser Abtastvorgänge einen beleuchteten Abschnitt dieser Anzeige kreuzen. Wenn ein Abtastvorgang einen beleuchteten Abschnitt der Anzeige kreuzt, so werden die Adressen des ersten und des letzten Pixels des Liniensegmentes, welches diesen beleuchteten Abschnitt kreuzt, sowie die Länge dieses Liniensegmentes, auf welches als Lauflänge Bezug genommen wird, in einer Datei f&sub1; aufgezeichnet. Unterprogramme zum Ermitteln des ersten und des letzten Pixels in einer Lauflänge, um die Adressen jedes Pixels zu erhalten, und zum Bestimmen der Länge jeder Lauflänge, sind den Fachleuten wohlbekannt, wobei beliebige solcher geeigneter Routinen bei dem Dezentrierungstest eingesetzt werden können.
- Daraufhin wird bei Schritt 212 die Länge von jeder dieser Lauflängen mit einem vorbestimmten Wert verglichen, wobei die Daten - das heißt, die Adressen des ersten und des letzten Pixels in der Lauflänge sowie die Länge der Lauflänge - welche mit jeder Lauflänge in Verbindung stehen und geringer sind als der vorbestimmte Wert, ausgesondert. Diese Aussonderung wird vorgenommen, um Daten zu eliminieren oder wenigstens ihre Menge zu vermindern, welche durch das Rauschen auf der Pixelanordnung 46 verursacht wird - das heißt, durch unerwünschtes Licht, welches auf die Pixelanordnung fällt. Um dies näher auszuführen, wird ein Rauschen, das aufgrund von Hintergrundlicht oder aufgrund von Licht vorliegt, welches von dem erwünschten Lichtweg durch Staub oder andere Teilchen abgelenkt wird, beleuchtete Flächen auf der Pixelanordnung erzeugen. In der großen Mehrheit der Fälle wird jede dieser beleuchteten Flächen nur ein oder nur eine geringe Gruppe benachbarter Pixel aufweisen. Wenn einer der oben genannten Abtastvorgänge, die während Schritt 210 durchgeführt werden, eine solche beleuchtete Fläche kreuzen, so zeichnet der Prozessor die Adressen des ersten und des letzten Pixels sowie die Länge der Lauflänge über diese beleuchtete Fläche auf. Diese beleuchtete Fläche und die dazugehörigen Daten stehen jedoch nicht mit dem Kreisring 162 oder mit seinen Rändern in Beziehung, und somit wird Schritt 212 zur Verfügung gestellt, um diese Daten zu eliminieren.
- Der nächste Schritt 214 bei dem Dezentrierungstest dient dem Identifizieren, daß jede der verbleibenden Pixeladressen auf dem äußeren Rand oder dem inneren Rand des Kreisringes liegen, wobei irgendein geeignetes Unterprogramm hierzu eingesetzt werden kann. Beispielsweise können die Adressen des ersten und des letzten Pixels jeder Lauflänge miteinander verglichen werden; und die Pixel, die näher am Zentrum der gesamten Pixelanordnung 46 liegen, können als auf dem inneren Rand des Kreisringes 162 liegend betrachtet werden, während die Pixel, die weiter entfernt von dem Zentrum der Pixelanordnung liegen, als auf dem äußeren Rand des Kreisringes liegend betrachtet werden können. Alternativ können die Abtastvorgänge in zwei Gruppen unterteilt werden, so daß für jeden Abtastvorgang in der ersten Gruppe, falls eine beleuchtete Lauflänge während des Abtastvorganges gefunden wird, die ersten und die letzten Pixel in der Lauflänge jeweils auf dem äußeren und der inneren Rand des Kreisringes liegen; und für jeden Abtastvorgang in der zweiten Gruppe, falls eine beleuchtete Lauflänge während des Abtastvorganges gefunden wird, befinden sich das erste und das letzte Pixel in der Lauflänge jeweils auf dem inneren und dem äußeren Rand des Kreisringes.
- Nachdem bestimmt wurde, daß jedes Pixel auf dem inneren oder dem äußeren Rand des Kreisringes 162 liegt, wird bei Schritt 216 die Anzahl der auf jedem Rand gefundenen Pixel gezählt. Wenn irgendeine dieser Zahlen geringer ist als 3, so wird bei Schritt 220 die Linse aus dem Grunde verworfen, daß sie stark dezentriert ist. Wenn jedoch wenigstens drei Pixel auf jedem Rand gefunden wurden, so wird bei Schritt 222 ein Unterprogramm aufgerufen, um zunächst einen ersten Kreis an die Pixel, die auf dem äußeren Rand des Kreisringes gefunden wurden, anzupassen, zweitens einen zweiten Kreis an die Pixel, die auf dem inneren Rand des Kreisringes gefunden wurden, anzupassen und drittens die Mittelpunkte und die Radien dieser beiden Kreise zu bestimmen. Zahlreiche Unterprogramme sind wohlbekannt, um einen Kreis an drei oder mehr Punkte anzupassen und um den Mittelpunkt und den Radius dieses Kreises zu berechnen, wobei jedes dieser Unterprogramme bei dem Dezentrierungstest in Schritt 222 angewandt werden kann.
- Nachdem die Mittelpunkte dieser beiden angepaßten Kreise berechnet wurden, wird der Abstand d zwischen diesen beiden Mittelpunkten bei Schritt 224 bestimmt. Dieser Abstand wird dann bei Schritt 226 mit einem ersten Wert d&sub1; verglichen; und wenn der Abstand größer ist als d&sub1;, so wird die Linse bei Schritt 220 als stark dezentriert verworfen. Wenn der Abstand d geringer ist als d&sub1;, so wird bei Schritt 232 dieser Abstand d mit d&sub2; verglichen, bei welchem es sich um den maximal annehmbaren Abstand zwischen den Mittelpunkten der Kreise des inneren und des äußeren Randes des Kreisringes 150 handelt. Wenn der Abstand d zwischen den Mittelpunkten der angepaßten Kreise größer ist als d&sub2;, so wird die Linse bei Schritt 234 als dezentriert verworfen; wenn jedoch der Abstand d gleich oder kleiner ist als d&sub2;, so besteht die Linse den Dezentrierungstest, wie bei Schritt 236 angedeutet.
- Wenn eine Linse den Dezentrierungstest besteht, so setzt der Prozessor 64 einen Ablauf oder eine Routine R&sub2; in Gang, auf welche als Randdetektor Bezug genommen wird, um einen Satz von Beleuchtungswerten zu erzeugen, welche umgekehrt verwendet werden können, um die Pixel auf den Rändern des Kreisringes zu identifizieren. Typischerweise sind diese Ränder keine perfekten Kreise und somit von den angepaßten Kreisen, die während des Dezentrierungstestes gefunden wurden, verschieden. Dieser neue Satz Beleuchtungswerte wird durch eine Serie morphologischer Operationen oder Änderungen bezüglich der ursprünglichen Intensitätswerte erhalten, die jedem Pixel der Anordnung 46 zugeordnet sind oder damit in Verbindung stehen. Diese morphologischen Änderungen sind in den Fig. 17A bis 17I bildlich dargestellt und in Form eines Flußdiagrammes in Fig. 18 gezeigt. Spezieller zeigt Fig. 17A ein Bild eines Kreisringes 150 auf der Pixelanordnung 46; und Fig. 17B zeigt eine vergrößerte Ansicht eines Abschnittes dieses Kreisringes und zeigt ebenso ein kurzes Liniensegment 240 oder einen Abtastvorgang über diesen Kreisringabschnitt und die benachbarten Flächen der Pixelanordnung. Fig. 17C veranschaulicht die Intensitätswerte I&sub1; der Pixel in diesem Abtastvorgang 240; und wie darin dargestellt, haben die Pixel in den dunklen Flächen von Fig. 17B einen geringeren oder einen I&sub1;-Wert von 0, wobei die Pixel in den hellen Flächen von Fig. 17B einen höheren I&sub1;-Wert haben, wie zum Beispiel Tmax.
- Mit Bezug auf die Fig. 18 sowie auf die Fig. 17C und 17D, wird im ersten Schritt 242 des Randdetektorprozesses ein neuer Wert I&sub2; für jedes Pixel berechnet; und insbesondere wird der I&sub2;-Wert für jedes Pixel gleich dem Durchschnitt der I&sub1;-Werte dieses Pixel und seiner acht unmittelbar benachbarten Pixel gesetzt. Der Unterschied zwischen den I&sub1;- und den I&sub2;- Werten für die Pixel in der Anordnung 46 besteht darin, daß sich die letzteren Werte eher graduell zwischen den Pixeln mit den geringsten I&sub2;-Werten (welche allgemein jene Pixel in den dunklen Flächen der Pixelanordnung sind) und den Pixeln mit den höchsten I&sub2;-Werten (welche allgemein jene Pixel in den hellen Flächen der Anordnung 46 sind) ändern. Dieser Unterschied kann am besten durch den Vergleich der Fig. 17C und 17D verstanden werden.
- Dann wird bei Schritt 244 ein weiterer Wert 13 für jedes Pixel bestimmt; und speziell wird der I&sub3;-Wert für jedes Pixel gleich dem minimalen I&sub2;-Wert des Pixels und seiner acht unmittelbar benachbarten Pixel gesetzt. Mit Bezug auf die Fig. 17D und 17E können sich die I&sub3;-Werte über den Abtastvorgang 240 in einer sehr ähnlichen Weise ändern, in der sich die I&sub2;-Werte über den Pixel-Abtastvorgang ändern. Der prinzipielle Unterschied zwischen der Art, in der sich die I&sub2;- und I&sub3;-Werte der Pixel über die Pixelanordnung ändern, ist der, daß das Band der Pixel mit den höchsten I&sub3;-Werten ein wenig schmaler ist als das Band der Pixel mit den höchsten I&sub2;-Werten.
- Der nächste Schritt 246 bei dem Randdetektorprozeß besteht darin, noch einen weiteren Wert I&sub4; für jedes Pixel gemäß der Gleichung I&sub4; = I&sub2; - I&sub3; zu bestimmen. Mit speziellem Bezug auf Fig. 17F haben die meisten Pixel in dem Abtastvorgang 240 I&sub4;-Werte von Null; jedoch haben die Pixel auf und in radialer Richtung unmittelbar innerhalb der beiden Ränder des Kreisringes 162 positive I&sub4;-Werte. Als nächstes wird bei Schritt 250 ein I&sub5;-Wert für jedes Pixel bestimmt; und spezieller wird der I&sub5;-Wert von jedem Pixel gleich dem maximalen I&sub2;- Wert des Pixels und seiner acht unmittelbar benachbarten Pixel gesetzt. Für die meisten Pixel der Pixelanordnung 46 ist der I&sub5;-Wert des Pixels derselbe wie der I&sub2;-Wert des Pixels. Jedoch sind für die Pixel innerhalb eines gegebenen Abstandes von den Rändern des Kreisringes 150 die I&sub5;-Werte der Pixel größer als die I&sub2;-Werte der Pixel, wobei das Band der Pixel mit den höchsten I&sub5;-Werten geringfügig breiter ist als das Band der Pixel mit den höchsten I&sub2;-Werten.
- Der nächste Schritt 252 in dem Randdetektorprozeß besteht darin, noch einen weiteren Wert I&sub6; für jedes Pixel gemäß der Gleichung I&sub6; = I&sub5; - I&sub2; zu bestimmen. Mit speziellem Bezug auf die Fig. 17H werden die meisten der Pixel auf der Pixelanordnung einen I&sub6;-Wert von Null haben; jedoch haben die Pixel auf und in radialer Richtung unmittelbar außerhalb der beiden Ränder des Kreisringes 150 positive I&sub6;-Werte. Als nächstes wird bei Schritt 254 ein I&sub7;-Wert jedem Pixel zugeordnet; und spezieller wird der I&sub7;-Wert jedes Pixels gleich dem kleineren der I&sub4;- und I&sub6;-Werte des Pixels gesetzt. Mit Bezug auf die Fig. 17I werden die meisten der Pixel auf der Pixelanordnung einen I&sub7;-Wert von Null haben; jedoch haben die Pixel, die direkt auf und unmittelbar benachbart zu den beiden Rändern des Kreisringes 150 liegen, positive I&sub7;- Werte. Auf diese Weise identifizieren die I&sub7;-Werte der Pixel, daß die Pixel auf den Rändern des Kreisringes liegen.
- Ein Schwellwert-Unterprogramm kann daraufhin bei Schritt 256 aufgerufen werden, um die Unterscheidung zwischen den Pixeln auf den Rändern des Kreisringes 150 und den anderen Pixeln auf der Anzeige 46 zu verdeutlichen. Insbesondere kann jedem Pixel noch ein weiterer Wert I&sub8; zugeordnet werden, welcher gleich dem maximalen Beleuchtungs-Intensitätswert Tmax oder dem minimalen Beleuchtungs-Intensitätswert Tmin ist, davon abhängig, ob der I&sub7;- Wert des Pixels jeweils oberhalb oder unterhalb eines gegebenen Schwellwertes liegt, wie zum Beispiel Tt. Somit kann zum Beispiel jedes Pixel mit einem I&sub7;-Wert, welcher größer ist als 32, mit einem I&sub8;-Wert gleich 255 versehen werden, wobei jedes Pixel mit einem I&sub7;-Wert von 32 oder weniger, mit einem I&sub8;-Wert von Null versehen werden kann.
- In Fig. 17J ist jedes Pixel der Anordnung 46 mit einer Intensität beleuchtet, die gleich seinem I&sub8;-Wert ist.
- Während der Berechnung und der Verarbeitung der I&sub1;- bis I&sub8;-Werte wird bevorzugt jeder Satz von Pixelwerten in einem entsprechenden Speicherregister in dem Vorprozessor 62 gespeichert - das heißt, daß beispielsweise die I&sub0;-Wette alle in einem ersten Register gespeichert werden, die I&sub1;-Werte alle in einem zweiten Register gespeichert werden und die I&sub2;-Werte alle in einem dritten Register gespeichert werden. Es ist allerdings nicht erforderlich, alle I&sub1; bis I&sub8;- Werte während der gesamten Verarbeitungsperiode für jede Linse zu speichern; und beispielsweise können während jeder Verarbeitungsperiode die I&sub3;-Werte verworfen werden, nachdem die I&sub4;-Werte berechnet wurden, und die I&sub5;-Werte können verworfen werden, nachdem die I&sub6;-Werte bestimmt wurden.
- Zusätzlich ist es nicht erforderlich, I&sub2; bis I&sub8;-Werte für alle Pixel in der Anordnung 46 zu berechnen. Bei einer ophthalmischen Linse eines gegebenen Typs wird der Kreisring der Linse in einem vergleichsweise wohldefinierten Bereich oder einer Fläche der Pixelanordnung 46 erscheinen, und es ist nur erforderlich, die I&sub2; bis I&sub8;-Werte für die Pixel in diesem Bereich oder der Fläche zu bestimmen. Jedoch kann es aus praktischen Gründen häufig einfacher sein, die I&sub2;-I&sub8;-Werte für alle Pixel in der Anordnung 46 zu berechnen, statt weitere Verarbeitungsschritte hinzuzufügen, um jene Pixel zu identifizieren, die sich auf der gegebenen, interessierenden Fläche befinden.
- Nachdem die Randdetektorroutine beendet ist, ruft das Linseninspektionssystem eine Maskierungsroutine auf, um einen Satz Pixelbeleuchtungswerte zu erzeugen, welcher frei ist von dem Effekt, der durch den Rand der Linseninspektionsschale erzeugt wird, welche zum Halten der Linse verwendet wird. Genauer gesagt wird, wenn eine ophthalmische Linse durch einen Lichtblitz aus einer Blitzlichtlampe 30 beleuchtet wird, auch Licht durch die Schale transmittiert, welche die Linse hält. Der Rand der Schale kann einen Teil dieses Lichtes ausreichend brechen, so daß das Licht über die Blende 40 hinaus und auf die Pixelanordnung 46 transmittiert wird, wobei darauf ein Bild oder ein Teilbild des Randes der Schale erzeugt wird, wie bei 260 in Fig. 19A gezeigt. Dieses Bild steht mit der Linse selbst nicht in Beziehung, und somit sind alle Daten, die mit dem Schalenrandbild in Verbindung steht, für die Verarbeitung der mit dem Linsenbild selbst in Verbindung stehenden Daten unnötig und unerwünscht; es wird eine Maskierungsroutine aufgerufen, um das Schalenrandbild von der Pixelanordnung 46 zu eliminieren oder genauer, um einen Satz von Pixelbeleuchtungswerten zu erzeugen, der frei ist von Pixeldaten, die mit dem oben erwähnten Schalenrandbild 260 in Verbindung stehen.
- Fig. 20 ist ein Flußdiagramm, welches eine bevorzugte Maskierungsroutine R&sub3; veranschaulicht. Der erste Schritt 262 in dieser Routine besteht darin, zu bestimmen, ob bei den Schritten 260 oder 226 des Dezentrierungstestes wenigstens drei Pixel auf dem äußeren Rand des Kreisringes 162 gefunden wurden oder ob gefunden wurde, daß die ophthalmische Linse stark dezentriert ist. Wenn bei einem dieser beiden Schritte des Dezentrierungstestes gefunden wurde, daß die Linse stark dezentriert ist, so wird die Maskierungsroutine R&sub3; selbst bei Schritt 262 beendet.
- Wenn die Routine R&sub3; nicht bei Schritt 262 endet, so geht die Routine zum Schritt 264 über, bei dem die Koordinaten des Mittelpunktes des Kreises erhalten werden sollen, welcher an den äußeren Rand 150a des Kreisringes 150 während des Dezentrierungstestes angepaßt wurde. Diese Koordinaten wurden bestimmt und daraufhin entweder im Speicher des Prozessors 64 oder auf der Speicherplatte 70, während des Dezentrierungstestes gespeichert, und somit können diese Koordinaten dadurch erhalten werden, daß sie einfach aus dem Speicher wiedergewonnen werden. Sobald diese Mittelpunktskoordinaten erhalten wurden, wird ein Maskierungsunterprogramm bei Schritt 266 aufgerufen. Nun, mit Bezug auf Fig. 19B, überlagert dieses Unterprogramm in der Tat die Pixelanordnung 46 mit einer kreisförmigen Maske 270, die bezüglich der obengenannten Mittelpunktskoordinaten zentriert ist, wobei diese einen Durchmesser aufweist, der geringfügig größer ist als der Durchmesser des an den äußeren Rand des Kreisrings 150 angepaßten Kreises. Das Maskierungsunterprogramm weist dann jedem Pixel einen I&sub9;-Wert zu, abhängig davon, ob sich das Pixel innerhalb oder außerhalb der Maske befindet. Insbesondere weist das Maskierungsunterprogramm bezüglich eines jeden Pixels außerhalb der Maske dem Pixel einen I&sub9;-Wert von Null zu; und bezüglich jedes Pixels innerhalb der Maske weist das Maskierungsunterprogramm dem Pixel einen I&sub9;-Wert zu, der gleich dem I&sub8;-Wert des Pixels ist.
- Genauer gesagt werden bei Schritt 266 die Koordinaten (x&sub0;, y&sub0;) des oben erwähnten Mittelpunktes sowie ein Radiuswert r&sub1;, der geringfügig größer gewählt wird als der Radius des an den äußeren Rand des Kreisringes 150 angepaßten Kreises, auf das Maskierungsunterprogramm übertragen. Daraufhin bildet dieses Unterprogramm eine Datei f&sub2; aus Adressen aller Pixel in der Anordnung 46, die sich innerhalb des Abstandes r&sub1; dieses Mittelpunktes (x&sub0;, y&sub0;) befinden. Daraufhin wird bei Schritt 272 die Adresse von jedem Pixel in der Anordnung 46 geprüft, um zu bestimmen, ob sie sich in dieser Datei befindet. Wenn sich die Pixeladresse in dieser Datei befindet, so wird bei Schritt 274 der I&sub9;-Wert des Pixels gleich dem I&sub8;-Wert des Pixels gesetzt; wenn sich die Pixeladresse jedoch nicht in dieser Datei befindet, so wird bei Schritt 276 der I&sub9;-Wert des Pixels auf Null gesetzt.
- Zahlreiche spezifische Maskierungsunterprogramme sind in der Technik wohlbekannt und können bei Schritt 266 der Routine R&sub3; eingesetzt werden.
- Die Fig. 19C zeigt die Pixel der Anordnung 46, die mit einer Intensität beleuchtet sind, welche gleich ihren entsprechenden I&sub9;-Werten ist.
- Nachdem der in Fig. 20 gezeigte Maskierungsvorgang abgeschlossen ist, beginnt der Prozessor 64 einen weiteren Vorgang, auf den als Gummibandalgorithmus Bezug genommen wird. Dieser Algorithmus beinhaltet allgemein die Analyse und die Verarbeitung von Datenwerten für oder bezogen auf die Pixel in und unmittelbar benachbart dem Kreisringrand 150a, wobei die Fig. 21A und 21B ein Flußdiagramm zeigen, welches allgemein den Gummibandalgorithmus veranschaulicht. Mit Bezug auf diese Figuren dient der erste Schritt 280 bei diesem Algorithmus dem Erhalten der Mittelpunktskoordinaten und des Radius' des an den äußeren Rand 150a der Linse in dem Dezentrierungstest angepaßten Kreises. Wie oben diskutiert, wurden diese Werte bestimmt und daraufhin im Speicher während des Dezentrierungstestes gespeichert, wobei diese Werte durch Wiedergewinnen aus diesem Speicher erhalten werden können.
- Der nächste Schritt 282 beim Gummibandalgorithmus soll ein Pixel auf dem Außenrand 150a des Kreisringes 150 orten, indem, ausgehend vom linken Rand der Pixelanordnung 46, nach innen gesucht wird, bis ein beleuchtetes Pixel gefunden wird. Es ist möglich, daß das erste während einer gegebenen Suche gefundene beleuchtete Pixel nicht auf dem Rand des Bildes der Linse liegt, sondern irgendwo anders und aufgrund von Hintergrundrauschen beleuchtet ist. Somit werden vorzugsweise eine Vielzahl von Abtastvorgängen oder Suchen bei Schritt 282 ausgeführt, um eine Vielzahl beleuchteter Pixel zu finden, wobei die Orte dieser Pixel dann analysiert oder miteinander verglichen werden, um sicherzustellen, daß ein Pixel auf dem Rand des Linsenbildes gefunden wurde.
- Sobald ein erstes Pixel auf dem Rand des Linsenbildes gefunden wurde, geht der Gummibandalgorithmus auf Schritt 284 über; und bei diesem Schritt beginnt dieser Algorithmus in der Tat bei diesem ersten Pixel und verfolgt den gesamten Weg um den Rand des Linsenbildes, um eventuell zu diesem ersten Pixel zurückzukehren. Während dieses ersten Verfolgens zeichnet der Algorithmus in der Datei f&sub3; die Adressen der meisten oder aller der Pixel auf dem Außenrand des Linsenbildes auf; und der Algorithmus identifiziert ebenso größere Lücken im Linsenrand, die Längen jener Lücken und größere Extrastücke auf dem Linsenrand. Bei Schritt 286 zeichnet der Algorithmus in der Datei f&sub4; die Adressen der Pixel auf, welche die Endpunkte der ausgewählten Linien sind, was weiter unten genauer diskutiert werden wird, welche in der Tat über irgendwelche größeren Lücken im Linsenrand und über und auf jeder Seite von jedem größeren Extrastück auf dem Rand gezeichnet werden.
- Nachdem dieser erste Durchgang bzw. die Verfolgung rund um das Linsenbild beendet ist, bestimmt der Gummibandalgorithmus bei Schritt 290, ob irgendeine Lücke, welche gefunden worden sein könnte, groß genug ist, um zu bewirken, daß die Linse zu verwerfen ist. Wenn eine solche Lücke gefunden wurde, wird die Linse verworfen, wobei bei Schritt 292 der Drucker 76 die Nachricht ausdruckt, daß die Linse einen schlechten Rand aufweist.
- Wenn die Linse diesen Lückentest bei Schritt 290 besteht, geht der Gummibandalgorithmus dazu über, den zweiten Durchgang oder die zweite Verfolgung um den Rand des Linsenbildes durchzuführen. Bei diesem zweiten Durchgang, wie bei 294 in Fig. 21B angezeigt, identifiziert der Algorithmus schwächere Merkmale, wie zum Beispiel kleinere Lücken und kleinere Extrastücke, die sich entweder radial nach innen oder nach außen entlang dem Außenrand der Linse erstrecken, wobei der Algorithmus ein jedes solches nachgewiesenes Merkmal testet, um zu bestimmen, ob die Linse deswegen verworfen werden sollte. Allgemein wird dies vorgenommen, indem wenigstens für alle ausgewählten Pixel auf dem Außenrand der Linse das Skalarprodukt zweier Vektoren durch dieses Pixel berechnet wird, auf welche als Radialvektor und Randvektor Bezug genommen wird. Der Radialvektor durch ein Pixel ist der Vektor, der sich ebenso durch den Mittelpunkt des Kreises erstreckt, welcher dem Außenrand 150a des Kreisringes 150 angepaßt wurde. Der Randvektor durch ein Pixel ist der Vektor, der sich durch das Pixel und ein zweites Pixel auf dem Außenrand des Kreisringes erstreckt, um eine gegebene Anzahl von Pixeln in Rückwärtsrichtung oder gegen den Uhrzeigersinn bezüglich des ersteren Pixels entlang dem Außenrand 150a des Kreisrings 150 zu zählen.
- Für jedes Pixel auf einem regulären, kreisförmigen Abschnitt des Linsenrandes, welcher keinen Fehler aufweist - weder eine Lücke noch ein Extrastück - wird das Skalarprodukt der beiden oben identifizierten Vektoren im wesentlichen Null betragen, da der Radial- und der Randvektor durch dieses Pixel im wesentlichen senkrecht zueinander stehen. Jedoch wird für die meisten oder alle Pixel auf dem Rand einer Lücke oder eines Extrastückes auf dem Linsenrand das Skalarprodukt des Rand- und des Radialvektors durch dieses Pixel nicht gleich Null sein, da diese beiden Vektoren nicht senkrecht zueinander stehen. Wenn irgendein berechnetes Produkt größer ist als ein vorgegebener Wert, so wird die Linse als nicht geeignet für die Verwendung durch den Kunden betrachtet und kann verworfen werden.
- Wenn die Linse die während des zweiten Durchganges um den Linsenrand angewandten Tests besteht, so führt der Gummibandalgorithmus einen dritten Durchgang um den Rand des Linsenbildes aus, wie durch Schritt 296 in Fig. 21B dargestellt. Dieser dritte Durchgang beinhaltet keinen Test zur Bestimmung, ob die Linse verworfen werden sollte, sondern umfaßt statt dessen die Verarbeitung oder die Vorbereitung von Daten für nachfolgende Tests. Insbesondere wird dieser dritte Durchgang durchgeführt, um einen Satz von Datenwerten zu erzeugen, welcher frei von Daten ist, die mit irgendwelchen Defekten in der Linse in Verbindung stehen, die sich unmittelbar innerhalb des äußeren Randes 150a des Kreisrings 150 befinden. Dieser Satz von Datenwerten wird nachfolgend von einem Satz von Datenwerten subtrahiert, welche mit jenen Defekten in Verbindung stehende Daten aufweisen, um dadurch einen Satz von Datenwerten zu erzeugen, die nur die, mit jenen Fehlern in Verbindung stehenden Daten, aufweisen.
- Allgemein bestimmt bei diesem dritten Durchgang um den Linsenrand der Gummibandalgorithmus die durchschnittliche radiale Dicke des Außenrandes 150a des Kreisringes 150; und daraufhin setzt der Algorithmus die I&sub9;-Werte aller derjenigen Pixel auf Null, die sich unmittelbar innerhalb dieses äußeren Randes des Kreisringes befinden. Wenn beispielsweise der äußere Rand des Kreisringes eine durchschnittliche Dicke von sechs Pixeln hat, so kann der Gummibandalgorithmus die I&sub9;-Werte aller Pixel auf Null setzen, die sich zwischen 7 und 27 Pixeln in radialer Richtung innerhalb des äußeren Randes des Kreisringes befinden.
- Die Fig. 22 bis 32 veranschaulichen den Gummibandalgorithmus mit größerer Genauigkeit. Spezieller veranschaulicht die Fig. 22 ein geeignetes Unterprogramm S&sub1; zum Orten eines ersten Pixels P(x, y) auf dem äußeren Rand 150a des Kreisringes 150. Beim Schritt 300 wird (x&sub0;, y&sub0;) auf die Koordinaten des Mittelpunktes des Kreises gesetzt, welcher an den äußeren Rand des Kreisringes während des Dezentrierungstestes angepaßt wurde; und bei Schritt 302 wird r&sub0; gleich dem Radius des äußeren angepaßten Kreises gesetzt. Dann werden, wie von Schritt 304 repräsentiert, eine Vielzahl horizontaler Abtastvorgänge über die Pixelanordnung 46 ausgeführt, wobei im oder in der Nähe des Mittelpunktes des linken Randes der Anordnung begonnen wird. Genauer studiert der Prozessor 64 die Datenwerte I&sub9; bei Adressen im Vorprozessorspeicher, welche Adressen von Pixeln entsprechen, die sich in ausgewählten horizontalen Liniensegmenten auf der Pixelanordnung befinden. Während jedem dieser Abtastvorgänge prüft der Prozessor 64 den I&sub9;-Wert von jedem Pixel in einer gegebenen horizontalen Reihe von Pixeln und identifiziert das erste Pixel in dieser Reihe, welches einen I&sub9;-Wert oberhalb eines gegebenen Wertes aufweist; und vorzugsweise wird eine Vielzahl solcher Abtastvorgänge ausgeführt, was zu einer Vielzahl identifizierter Pixel führt.
- Typischerweise werden alle diese identifizierten Pixel auf dem äußeren Rand 150a des Kreisringes 150 liegen. Es ist jedoch möglich, daß ein Pixel irgendwo auf der Anordnung oder links vom Rand einen hohen I&sub9;-Wert aufgrund von Hintergrundrauschen oder Streulicht aufweist, welches auf das Pixel während des Linseninspektionsvorganges fällt, wobei ein solches Pixel als beleuchtetes Pixel bei den oben erwähnten Abtastvorgängen identifiziert werden könnte. Um zu verhindern, daß ein solches Pixel als ein Randpixel identifiziert wird, identifiziert das Unterprogramm S&sub1; bei Schritt 306 die Adressen irgendwelcher solcher Pixel und verwirft sie. Spezieller bestimmt das Unterprogramm zuerst den Abstand zwischen allen bei den Abtastvorgängen identifizierten Pixeln und dem Mittelpunkt (x&sub0;, y&sub0;) des an den äußeren Rand des Linsenbildes während des Dezentrierungstestes angepaßten Kreises und vergleicht zweitens jeden bestimmten Abstand mit r&sub0;, welcher gleich dem Radius des angepaßten äußeren Kreises gesetzt wurde. Wenn der Abstand zwischen einem speziellen Pixel und dem Mittelpunkt des angepaßten Kreises r&sub0; um mehr als um einen vorgegebenen Abstand d&sub3; überschreitet, so wird dieses Pixel als nicht auf dem Kreisring oder auf dem Rand des Kreisringes 150 unmittelbar benachbart betrachtet, wobei die Adresse des Pixels verworfen wird. Nachdem die Adressen aller Pixel, die während des Abtastvorganges gefunden wurden, geprüft wurden, um zu bestimmen, ob sie sich auf dem oder unmittelbar dem Linsenrand benachbart befinden - und diejenigen, die dies nicht erfüllen, verworfen wurden - so können daraufhin, wie bei Schritt 310 gezeigt, irgendwelche Pixeladressen als Pixel P(x, y) ausgewählt werden, wobei daraufhin der erste Durchgang um den Rand des Linsenbildes begonnen wird.
- Fig. 23 veranschaulicht genauer, wie dieser erste Durchgang durchgeführt wird und sie zeigt insbesondere die Routine R&sub4;, um diesen Durchgang auszuführen. Mit dem Pixel P(x, y) bei Schritt 312 beginnend, sucht der Algorithmus in Vorwärtsrichtung oder im Uhrzeigersinn entlang dem äußeren Rand des Kreisringes 150 nach entweder einer großen Lücke in diesem Rand oder nach einem großen Extrastück auf diesem Rand, wie durch die Schritte 314 und 320 repräsentiert. Irgendein geeignetes Unterprogramm oder Verfahren kann verwendet werden, um entlang der Kante zu suchen. Zum Beispiel kann, beginnend mit Pixel P(x, y), der Prozessor von jedem auf dem Rand gegebenen Pixel die drei oder die fünf nächsten Pixel in der Reihe oberhalb und unterhalb des gegebenen Pixels oder in der Spalte auf der rechten oder auf der linken Seite des gegebenen Pixels prüfen, abhängig von dem Quadranten oder dem Sektor der Anzeige 46, in welcher das gegebene Pixel angeordnet ist, um das nächste Pixel auf dem Linsenrand zu identifizieren. Von diesem nächsten Pixel kann der Prozessor diesen selben Vorgang verwenden, um wiederum das nächste Pixel auf dem Linsenrand zu identifizieren.
- Auch kann der Prozessor für jedes Pixel, welches auf dem Linsenrand gefunden wurde, den Abstand r zwischen diesem Pixel und dem Mittelpunkt (x&sub0;, y&sub0;) des an den äußeren Rand der Linse angepaßten Kreises bestimmen. Der Prozessor kann schließen, daß eine große Lücke gefunden wurde, wenn für jedes einer gegebenen Anzahl aufeinanderfolgender Pixel auf dem Linsenrand, r um mehr als einen gegebenen Betrag dg kleiner ist als r&sub0; (das heißt, r&sub0; - r < dg). Umgekehrt kann der Prozessor schließen, daß ein großes Extrastück gefunden wurde, wenn für jedes einer gegebenen Anzahl von aufeinanderfolgenden Pixeln auf dem Linsenrand r um mehr als einen gegebenen Wert dep größer ist als r&sub0; (das heißt r - r&sub0; > dep).
- Wenn eine Lücke oder ein Extrastück gefunden wurde, so werden die Unterprogramme S&sub2; oder S&sub3; jeweils bei den Schritten 316 und 322 aufgerufen, welche beide unten genauer diskutiert werden. Wenn weder eine Lücke noch ein Extrastück gefunden wurde, so geht die Routine R&sub4; zu Schritt 324 über.
- Bei Schritt 324 testet die Routine R&sub4;, ob der erste Durchgang um den Rand des Kreisringes 150 vollständig ist, wobei irgendein geeigneter, spezifischer Vorgang oder ein Unterprogramm verwendet werden kann, um dies zu bewerkstelligen. Beispielsweise wird, wie oben erwähnt, wenn die Verfolgung um das Bild des Linsenrandes ausgeführt wird, eine Datei f&sub3; aus Adressen der Pixel erstellt, die auf diesem Rand gefunden wurden. Bei Schritt 324 kann diese Datei geprüft werden, um zu bestimmten, ob die Adresse des jeweiligen betrachteten Randpixels sich bereits in der Datei befindet. Wenn sich die Pixeladresse bereits in der Datei befindet, so wird der erste Durchgang um das Bild des Linsenrandes als vollständig betrachtet, während der Durchgang als nicht vollständig betrachtet wird, wenn sich diese jeweilige Pixeladresse noch nicht in der Datei f&sub3; befindet. Wenn der erste Durchgang beendet ist, so geht der Gummibandalgorithmus auf die Routine R&sub5; über; wenn jedoch der erste Durchgang um die Linse nicht vollständig ist, so geht der Algorithmus zu Schritt 326 über, wobei die Adresse dieses derzeitig betrachteten Randpixels der Datei f&sub3; zugefügt wird. Dann wird bei Schritt 330 das nächste Pixel auf dem Linsenrand gefunden und P(x, y) wird gleich der Adresse dieses nächsten Pixels gesetzt, wobei die Routine R&sub4; daraufhin zu Schritt 312 zurückkehrt.
- Fig. 24 ist ein Flußdiagramm, welches das Unterprogramm S&sub2; skizziert, das jedesmal aufgerufen wird, wenn eine Lücke auf dem äußeren Rand des Kreisringes 150 gefunden wird. Der erste Schritt 332 in diesem Unterprogramm dient dem Identifizieren und dem Aufzeichnen der Adresse der Pixel am Anfang und am Ende der Lücke und des Abstandes zwischen diesen beiden Endpixeln in einer Datei f&sub4;. Diese beiden Pixel sind bei P&sub1; bzw. P&sub2; in Fig. 25A gezeigt. Sobald eine Lücke gefunden wurde - das heißt, für jedes einer gegebenen Anzahl aufeinanderfolgender Pixel auf dem Linsenrand ist r um mehr als dg kleiner als r&sub0; - so kann das letzte Pixel auf dem Linsenrand vor der gegebenen Anzahl aufeinanderfolgender Pixel als das Pixel am Anfang der Lücke betrachtet werden.
- Ebenso kann, sobald eine Lücke gefunden wurde, das Ende der Lücke gefunden werden, indem über die Lücke gesucht wird, entlang der Pixel auf dem an den äußeren Rand der Linse bei dem Dezentrierungstest angepaßten Kreis, wobei um eine gegebene Anzahl von Pixeln radial innerhalb und außerhalb von dem Abschnitt des angepaßten Kreises gesucht wird, bis der Linsenrand gefunden wird - das heißt, bis beleuchtete Pixel - oder genauer - Pixel mit großen I&sub9;-Werten gefunden werden. Nachdem der Linsenrand gefunden wurde, kann die Lücke als beendet betrachtet werden, sobald eine Serie aufeinanderfolgender Pixel gefunden wurde, die sich alle innerhalb eines gewissen Abstandes von dem angepaßten Kreis befinden; und insbesondere, wenn für jedes Pixel in dieser Serie r&sub0; - r geringer ist als dg. Das letzte Pixel auf dem Linsenrand vor der Serie aufeinanderfolgender Pixel kann als das Pixel am Ende der Lücke betrachtet werden.
- Bei Schritt 340 des Unterprogrammes S&sub2; werden die I&sub9;-Werte der Pixel auf der Linie zwischen den Pixeln P&sub1; und P&sub2; - das Liniensegment L&sub1; in Fig. 25B - auf den maximalen Beleuchtungsintensitätswert gesetzt, und daraufhin kehrt das Unterprogramm zurück zur Routine R&sub4;.
- Fig. 26 zeigt ein Flußdiagramm, welches das Unterprogramm S&sub3; veranschaulicht, welches bei Schritt 322 der Routine R&sub4; aufgerufen wird, wenn ein Extrastück 350 auf dem Rand des Kreisringes 150 gefunden wurde. Die ersten, wenigen Schritte in Routine R&sub3; werden in der Tat durchgeführt, um verschiedene Brückenlinien zu zeichnen, die sich auf das Extrastück beziehen. Insbesondere identifiziert bei Schritt 352 das Unterprogramm die Pixel P&sub3; und P&sub4;, gezeigt in Fig. 25B, auf dem Rand des Kreisringes 150 am Anfang und am Ende des Extrastückes 350; und daraufhin wird beim Schritt 354 der I&sub9;-Wert von jedem Pixel auf einem Liniensegment L&sub2;, gezeigt in Fig. 25C, zwischen den Pixeln P&sub3; und P&sub4; auf Tmax gesetzt. Als nächstes identifiziert bei Schritt 356 das Unterprogramm die Adresse von einem Pixel P&sub5;, welches sich auf dem Rand des Kreisringes 150 um eine gegebene Anzahl von Pixeln in Rückwärtsrichtung - oder entgegen dem Uhrzeigersinn - vom Beginn des Extrastückes 350 entfernt befindet; und bei Schritt 360 wird das Pixel P&sub6; auf dem Rand des Extrastückes, welches bei einem gegebenen Abstand d&sub4; von dem Pixel P&sub5; liegt, gefunden. Als nächstes wird bei Schritt 362 - und ebenso mit Bezug auf die Fig. 25D - der I&sub9;-Wert von jedem Pixel auf einer Linie L&sub3; zwischen den Pixeln P&sub5; und P&sub6; auf Tmax gesetzt.
- Als nächstes identifiziert das Unterprogramm bei Schritt 364 die Adresse eines anderen Pixels P&sub7;, welches sich auf dem Rand des Kreisringes 150 um eine gegebene Anzahl von Pixeln in Vorwärtsrichtung - oder im Uhrzeigersinn - von dem Rand des Extrastückes entfernt befindet; und daraufhin identifiziert bei Schritt 366 das Unterprogramm das Pixel P&sub8; auf dem Rand des Extrastückes, welches sich in einem gegebenen Abstand d&sub5; von dem Pixel P&sub8; befindet. Bei Schritt 370 wird der I&sub9;-Wert von jedem Pixel auf der Linie L&sub4;, gezeigt in Fig. 25E, zwischen den Pixeln P&sub7; und P&sub8; ebenso auf Tmax gesetzt. Nachdem die angemessenen Brückenlinien gezeichnet wurden, kehrt das Unterprogramm zur Routine R&sub4; zurück.
- Nachdem der erste Durchgang um das Bild des Linsenrandes beendet ist, wird das Unterprogramm R&sub5; aufgerufen. Diese Routine, die in Fig. 27 veranschaulicht ist, wird verwendet, um zu bestimmen, ob irgendwelche der Lücken, die während des ersten Durchganges um das Bild des Linsenrandes gefunden worden sein könnten, so breit sind, daß die Linse für das Tragen durch den Kunden ungeeignet ist. Der erste Schritt 376 in der Routine R&sub5; dient dem Bestimmen, ob irgendwelche Lücken in der Tat während des ersten Durchganges um den Linsenrand gefunden wurden. Wenn keine Lücken gefunden wurden, wird die Routine, R&sub5; selbst beendet und der Gummibandalgorithmus geht zur Routine R&sub6; über. Wenn jedoch irgendwelche Lücken während des ersten Durchganges um den Linsenrand gefunden wurden, geht die Routine R&sub5; zu Schritt 380 über. Bei diesem Schritt wird jede Lückenbreite - eine nach der anderen - mit einem gegebenen Wert d&sub6; verglichen; und wenn irgendeine Lückenbreite größer ist als dieser Wert d&sub6;, so wird die Linse als für die Verwendung durch den Kunden ungeeignet betrachtet, und die Linse wird beim Schritt 382 verworfen. Wenn jedoch alle Lückenbreiten geringer sind als d&sub6;, so endet die Routine R&sub5;, und der Gummibandalgorithmus geht zur Routine R&sub6; über, welche den zweiten Durchgang oder die zweite Verfolgung um das Bild des Linsenrandes ausführt.
- Die Routine R&sub6; ist in Fig. 28 dargestellt. Wie bereits erwähnt, sucht die Routine primär nach schwachen Lücken in dem Linsenrand und kleinen Extrastücken auf dem Linsenrand, welche nicht als Lücken oder Extrastücke in der Routine R&sub4;, welche der erste Durchgang um den Linsenrand war, identifiziert wurden. Insbesondere wird bei Schritt 384 die Adresse des Pixels P(x, y) gleich der Adresse des ersten Pixels in der Datei f&sub3; gesetzt. Dann werden bei den Schritten 386, 390 und 392 zwei Vektoren V&sub1; und V&sub2;, auf die jeweils als Rand- und Radialvektoren Bezug genommen wird, identifiziert, wobei das Skalarprodukt dieser beiden Vektoren berechnet wird. Spezieller ist der erste Vektor V&sub1; der Vektor durch das Pixel P(x, y) und ein zweites Pixel auf dem Linsenrand, welches um eine gegebene Anzahl von Pixeln in Rückwärtsrichtung - oder entgegen dem Uhrzeigersinn - von dem Pixel P(x, y) entlang dieses Linsenrandes liegt, und der zweite Vektor V&sub2; ist der Radialvektor des Kreisringes 150, welcher sich durch das Pixel P(x, y) erstreckt. Die Neigungen dieser beiden Vektoren und ihr Skalarprodukt können in einfacher Weise aus den Adressen der Pixel bestimmt werden, durch welche sich die Vektoren erstrecken.
- Mit Bezug auf Fig. 29, wenn das Pixel P(x, y) sich auf einem regulären, kreisförmigen Abschnitt des Linsenrandes befindet, so verläuft der Randvektor V&sub1; durch das Pixel im wesentlichen tangential zum Linsenrand, wie bei 394 in Fig. 29 gezeigt. Ebenso ist dieser Vektor V&sub1; im wesentlichen senkrecht zu dem Radialvektor V&sub2; durch dieses Pixel, und das Skalarprodukt dieser beiden Vektoren V&sub1; und V&sub2; ist im wesentlichen gleich Null. Wenn sich jedoch das Pixel P(x, y) auf einem irregulären Abschnitt des Linsenrandes befindet, wie beispielsweise auf dem Rand einer Lücke oder eines Extrastückes der Linse, wie bei 396 und 400 in Fig. 29 gezeigt, so sind der Randvektor V&sub1; und der Radialvektor V&sub2; durch das Pixel P(x, y) normalerweise nicht senkrecht zueinander, wobei das Skalarprodukt dieser beiden Vektoren normalerweise nicht gleich Null sein wird.
- Das Skalarprodukt dieser beiden Vektoren V&sub1; und V&sub2; wird bei Schritt 402 mit einem gegebenen Wert d&sub7; verglichen. Wenn dieses Skalarprodukt gleich oder größer als dieser gegebene Wert ist - was anzeigt, daß eine merkliche Lücke oder ein Extrastück in der Fläche des Pixels P(x, y) vorliegt, so wird die Linse als unannehmbar für die Verwendung durch den Kunden betrachtet und bei Schritt 404 verworfen, und die gesamte Routine R&sub6; wird beendet. Wenn bei dem Schritt 402 das berechnete Skalarprodukt geringer ist als d&sub7; - was anzeigt, daß in der Fläche des Pixels P(x, y) irgendeine Abweichung des Linsenrandes von einem perfekten Kreis innerhalb annehmbarer Grenzen liegt - so geht die Routine R&sub6; zu Schritt 406 über. Bei diesem Schritt führt die Routine einen Test zur Bestimmung aus, ob dieser zweite Durchgang- bzw. die zweite Verfolgung - um das Bild des Linsenrandes beendet ist. Dies wird spezieller dadurch erreicht, indem ein Test durchgeführt wird, um zu bestimmen, ob das Pixel P(x, y) das letzte Pixel in der Datei f&sub3; ist. Wenn ja, so ist der zweite Durchgang beendet, und der Gummibandalgorithmus geht zur Routine R&sub7; über. Wenn jedoch bei Schritt 406 bestimmt wird, daß dieser zweite Durchgang um das Linsenrandbild nicht beendet ist, so wird bei Schritt 408 die Adresse des Pixels P(x, y) gleich der Adresse des nächsten Pixels in der Datei f&sub3; gesetzt, und daraufhin kehrt die Routine zu Schritt 386 zurück. Die Schritte 386 bis 408 werden wiederholt, bis entweder die Linse verworfen wird oder bis für jedes Pixel in der Datei f&sub3; das zugehörige Skalarprodukt der beiden Vektoren V&sub1; und V&sub2; durch dieses Pixel berechnet wurde und gefunden wurde, daß es geringer ist als d&sub7;, wobei dann der Gummibandalgorithmus zur Routine R&sub7; übergeht, welche den dritten Durchgang - oder die dritte Verfolgung - um den Linsenrand ausführt.
- Vorzugsweise wird das oben erwähnte Skalarprodukt nicht für alle Pixel auf dem Linsenrand berechnet, und insbesondere wird das Produkt nicht für die Pixel berechnet, die auf den Rändern von Lücken oder Extrastücken liegen, welche während der ersten Verfolgung um den Linsenrand gefunden wurden. Es ist nicht erforderlich, dieses Skalarprodukt für diese Lücken- und Extrastückpixel zu berechnen, da es bereits bekannt ist, daß die Pixel entweder in einer Lücke oder auf einem Extrastück liegen, wobei eine merkliche Menge von Verarbeitungszeit gespart werden kann, indem die Vektoren V&sub1; und V&sub2; durch diese Pixel sowie das Skalarprodukt jener beider Vektoren nicht bestimmt werden.
- Wenn die Routine R&sub4; beendet ist, geht der Gummibandalgorithmus zur Routine R&sub7; über, welche den dritten Durchgang - oder die dritte Verfolgung - um den Linsenrand ausführt. Wie bereits diskutiert, ist der Zweck dieses dritten Durchganges in der Tat derjenige, einen neuen Satz von Datenwerten I&sub1;&sub0; zu erzeugen, welcher frei von irgendwelchen Daten ist, die mit irgendwelchen Trübungen in der Linse in Verbindung stehen, die sich unmittelbar innerhalb des äußeren Randes der Linse befinden. Fig. 30 zeigt die Routine R&sub7; genauer; und diese Routine umfaßt allgemein drei Abschnitte. Im ersten Abschnitt wird der I&sub1;&sub0;-Wert für jedes Pixel gleich dem I&sub9;-Wert für das Pixel gesetzt; im zweiten Abschnitt wird ein durchschnittlicher Randdickenwert N für den äußeren Rand 164 des Kreisringes 162 berechnet; und im dritten Abschnitt werden die I&sub1;&sub0;-Werte der Pixel in einem gegebenen Bereich weiter innerhalb dieser durchschnittlichen Randdicke auf Null gesetzt.
- Spezieller wird bei Schritt 410 der Routine R&sub7; der I&sub1;&sub0;-Wert für jedes Pixel gleich dem I&sub9;-Wert für das Pixel gesetzt. Als nächstes wird mit Bezug auf die Fig. 30 und 31 bei Schritt 410 eine gegebene Anzahl von Pixeln, gezeigt bei 414a-e in Fig. 31, auf dem extremen äußeren Rand 150a des Kreisringes 150 ausgewählt. Dann zählt bei Schritt 416 die Routine R&sub7; die Anzahl beleuchteter Pixel auf jedem der Radien, gezeigt bei 420a-e in Fig. 31, des Linsenbildes, welche durch die Pixel 414a-e gehen. Beispielsweise kann die Routine das Pixel auf dem extremen äußeren Rand des Kreisringes als erstes Pixel zählen, wobei dann radial nach innen bezüglich dieses Pixels gesucht wird, und diesen Zählwert um 1 für jedes beleuchtete Pixel auf diesem Radius erhöhen. Bei Schritt 422 wird die Durchschnittszahl beleuchteter Pixel pro Radius berechnet; und dies kann beispielsweise dadurch erfolgen, daß einfach die gesamte Anzahl gezählter, beleuchteter Pixel durch die Anzahl der erfolgten radialen Abtastvorgänge dividiert wird. Typischerweise ist dieser Durchschnittswert keine ganze Zahl, und somit wird bevorzugt der Durchschnittswert daraufhin auf die nächstgrößere ganze Zahl erhöht.
- Im nächsten Abschnitt der Routine R&sub7; wird ein dritter Durchgang um den äußeren Rand 150a des Kreisringes 150 durchgeführt. Um diesen Durchgang zu beginnen, wird irgendein Pixel auf dem Rand als Anfangspixel P (x, y) ausgewählt, wie bei Schritt 424 in Fig. 30 angezeigt ist. Daraufhin werden, wie durch die Schritte 426 und 430 repräsentiert, die I&sub1;&sub0;-Werte für ausgewählte Pixel, die sich radial innerhalb der durchschnittlichen Randdicke befinden, auf Null gesetzt. Spezieller zählt die Routine bei jedem Pixel auf dem äußeren Rand des Kreisrings 162 die Anzahl N von Pixeln radial innerhalb entlang dem Radius der Linse. Dann wird für jede einer gegebenen Anzahl von Pixeln, radial weiter innerhalb entlang dem Radius, der I&sub1;&sub0;-Wert des Pixels auf Null gesetzt. Mit Bezug auf Fig. 32 setzen diese Schritte der Routine in der Tat die I&sub1;&sub0;-Werte der Pixel in der schraffierten Fläche 432 auf Null.
- Bei Schritt 434 der Routine R&sub7; wird eine Überprüfung ausgeführt, um zu bestimmen ob dieser dritte Durchgang um das Bild des Linsenrandes beendet ist, wobei irgendein geeignetes Unterprogramm aufgerufen werden kann, um dies auszuführen. Wenn beispielsweise das als für diesen Durchgang als Anfangspixel ausgewählte Pixel das obere Pixel in der Datei f&sub3; ist, so kann der Durchgang als beendet betrachtet werden, nachdem die Routine die Schritte 426 und 430 für die unteren Pixel in dieser Datei ausgeführt hat. Alternativ kann eine separate Liste der Adressen von in den Schritten 426 und 430 der Routine R&sub7; verwendeten Pixel erstellt werden; und jedesmal, wenn eine Pixeladresse dieser Liste zugefügt wird, kann die Liste überprüft werden, um zu sehen, ob die neu zugefügte Adresse sich bereits in der Liste befindet. Wenn sich ein der Liste zugefügter Adressenwert bereits in der Liste befindet, so wird der dritte Durchgang um das Bild des Linsenrandes als vollständig betrachtet.
- Wenn bei Schritt 434 dieser dritte Durchgang um das Linsenbild nicht vollständig ist, so wird bei Schritt 436 die Adresse des Pixels P(x, y) gleich der Adresse des Pixels gesetzt, welches im Uhrzeigersinn das nächste bezüglich des derzeitigen Pixels P(x, y) entlang dem äußeren Rand 150a des Kreisringes 150 ist. Zum Beispiel kann diese Adresse der Datei f&sub3; entnommen werden; und bei Schritt 436 wird die Adresse des Pixels P(x, y) einfach gleich der Adresse aus dieser Datei gesetzt, welche der Adresse des derzeitigen Pixels am nächsten liegt. Dann kehrt die Routine R&sub7; zu Schritt 426 zurück, wobei die Schritte 426, 430 und 434 für die neue Pixeladresse P(x, y) wiederholt werden.
- Nachdem dieser dritte Durchgang um das Bild des Linsenrandes beendet wurde, tritt der Prozessor 64 aus der Routine R&sub7; aus, und der Gummibandalgorithmus wird beendet.
- Nachdem der Gummibandalgorithmus beendet ist, wird eine Reihe weiterer Operationen ausgeführt, deren allgemeine Aufgabe darin besteht, beliebige Unregelmäßigkeiten der betrachteten oder inspizierten Linse hervorzuheben und es dadurch einfacher zu machen, diese Unregelmäßigkeiten nachfolgend zu identifizieren.
- Der erste dieser Vorgänge, welcher als Fill-in-Vorgang bezeichnet wird, dient dem Ausbilden eines weiteren Satzes von Datenwerten I&sub1;&sub1; für die Pixel in der Anordnung 46 und kann verwendet werden, um Pixel in irgendwelchen Unregelmäßigkeiten in, auf oder dem benachbart äußeren Rand des Kreisringes 150 zu identifizieren. Spezieller können mit Bezug auf Fig. 33 diese Datenwerte verwendet werden, um Pixel in (i) irgendwelchen Lücken des Linsenrandes, wie zum Beispiel bei 436 gezeigt, (ii) irgendwelche Unregelmäßigkeiten innerhalb des Linsenrandes, wie zum Beispiel bei 440 gezeigt, (iii) irgendwelche Extrastücke auf dem Linsenrand, wie zum Beispiel bei 442 gezeigt, und (iv) Pixel zwischen irgendwelchen Extrastücken und den benachbarten Liniensegmenten L&sub3; und L&sub4;, die bei den Schritten 362 und 370 im Unterprogramm S&sub3; gebildet wurden, zu identifizieren.
- Dieser Fill-in-Vorgang umfaßt eine Reihe spezifischerer Operationen, die als MAX, PMAX, MIN und PMIN bezeichnet werden und die Verarbeitung eines Satzes von mit den Pixeln in Verbindung stehenden Basisdatenwerten umfassen. Bei einer MAX-Operation wird ein neuer Datenwert für ein gegebenes Pixel gebildet, der gleich dem maximalen Basisdatenwert der an das Pixel unmittelbar angrenzenden acht Nachbarn ist; und bei einer PMAX-Operation wird für ein gegebenes Pixel ein neuer Datenwert ausgebildet, der gleich dem maximalen Basisdatenwert der vier Pixel ist, welche unmittelbar links, rechts, oberhalb und unterhalb bezüglich des gegebenen Pixels liegen. Bei einer MIN-Operation wird für ein gegebenes Pixel ein neuer Datenwert ausgebildet, welcher gleich dem minimalen Basisdatenwert der an das Pixel unmittelbar angrenzenden acht Nachbarn ist; und bei einer PMIN-Operation wird für ein gegebenes Pixel ein neuer Datenwert ausgebildet, welcher gleich dem minimalen Basisdatenwert der vier Pixel ist, welche sich unmittelbar links, rechts, oberhalb und unterhalb des gegebenen Pixels befinden.
- Die Fig. 34A bis 34E veranschaulichen die MAX-, PMAX-, MIN- und PMIN- Operationen. Spezieller zeigt die Fig. 34A eine 7 · 7-Anordnung von Zahlen; und jede Zahl stellt einen Datenwert für ein zugehöriges Pixel dar, wobei die Position der Zahl in der Anordnung der Adresse des zugehörigen Pixels entspricht. Damit ist beispielsweise der Datenwert für das Pixel bei der Adresse (1,1) gleich 7; der Datenwert für das Pixel bei der Adresse (4,1) beträgt 0, und der Datenwert für die Pixel bei den Adressen (4,2), (4,7) und (5,2) betragen jeweils 7, 0 und 0.
- Die Fig. 34B zeigt die erzeugten Werte, nachdem eine MAX-Operation auf der gesamten in Fig. 34A gezeigten Anordnung von Zahlen ausgeführt wurde. Somit ist beispielsweise in Fig. 34D der Datenwert bei der Adresse (2,6) gleich 7, da in Fig. 34A einer der acht dieser Pixeladresse benachbarten Pixel einen Wert von 7 aufweist. Ähnlich ist der Wert bei der Adresse (6,2) in Fig. 34B gleich 7, da in dem Datensatz von Fig. 34A einer der acht der Pixeladresse benachbarten Pixel einen Datenwert von 7 aufweist. Fig. 34C zeigt die als Ergebnis einer auf dem gesamten Datensatz von Fig. 34A ausgeführten PMAX-Operation erzeugten Werte; und beispielsweise betragen die Werte bei den Adressen (6,3) und (6,4) in Fig. 34C 7, da in Fig. 34A jede dieser beiden Pixeladressen unmittelbar rechts von einem Pixel liegt, welches einen Wert von 7 aufweist.
- Die Fig. 34D und 34E zeigen die Werte, welche jeweils nach MIN und PMIN- Operationen erzeugt wurden, welche auf der in Fig. 34A gezeigten Anordnung von Werten ausgeführt wurden. Beispielsweise ist in Fig. 34D der Wert bei der Adresse (4,3) gleich 0, da in Fig. 34A eines der acht Pixel, welche zur Adresse (4,3) benachbart sind, einen Wert von 0 aufweist; und in Fig. 34E ist der Wert bei der Adresse (4,2) 0, da in Fig. 34A das Pixel, das unmittelbar rechts neben der Pixeladresse liegt einen Wert von 0 aufweist.
- Die Fig. 35 veranschaulicht einen bevorzugten Fill-in-Vorgang R&sub8;. Mit Bezug darauf umfaßt der Vorgang 14 getrennte Operationen, die bezüglich der Datenwerte für die Pixelanordnung 46 ausgeführt werden; und jede dieser Operationen wird einzeln über die gesamte Pixelanordnung ausgeführt. Diese Operationen sind in Reihenfolge: MAX, PMAX, PMAX, MAX, MAX, PMAX, PMAX, MIN, PMIN, PMIN, MIN, MIN, PMIN, und PMIN. Diese Operationen beginnen mit den I&sub9;-Werten für die Pixel, und auf die resultierenden Datenwerte wird, nachdem alle 14 Operationen beendet sind, als I&sub1;&sub1;-Werte Bezug genommen.
- Die Ergebnisse dieser Operationen dienen in der Tat dem Fill-in der Lücken 436, der Extrastücke 442 und der Unregelmäßigkeiten 440 in, auf, oder in Nachbarschaft zum äußeren Rand des Kreisringes 150. Spezieller zeigen die Fig. 33 und 36 denselben Abschnitt des Kreisringes 150, wobei die erstere Figur die Pixel bei ihren I&sub9;-Werten beleuchtet zeigt und die letztere Figur die Pixel bei ihren I&sub1;&sub1;-Werten beleuchtet zeigt. Die Unterschiede zwischen diesen beiden Figuren zeigen den Effekt des Fill-in-Vorganges nach Fig. 35. Insbesondere besteht der Unterschied darin, daß für die Pixel in den Lücken 436, in den Extrastücken 442, in den Unregelmäßigkeiten 440 und in den Flächen zwischen den Extrastücken und den Liniensegmenten L&sub3; und L&sub4; die I&sub1;&sub1;-Werte für diese Pixel Tmax sind, während die I&sub9;-Werte für diese Pixel gleich Null sind.
- Wie für die Durchschnittsfachleute verständlich sein wird, sind andere spezifische Vorgänge bekannt und können verwendet werden, um die erwünschten I&sub1;&sub1;-Werte für die oben beschriebenen Pixel zu erzeugen.
- Nachdem der Fill-in-Vorgang R&sub8; beendet ist, ruft der Prozessor 64 einen zweiten Maskierungsvorgang R&sub9; auf, um einen Satz von Pixelbeleuchtungswerten I&sub1;&sub2; zu erzeugen, der frei von dem Effekt von irgendwelchem Licht ist, welches auf die Pixelanordnung 46 innerhalb eines gegebenen Radius' vom Mittelpunkt des Kreises auftritt, der an den Innenrand 150b des Kreisringes 150 während des Dezentrierungstestes angepaßt wurde. Wie unten mit größerer Genauigkeit diskutiert wird, wird dieser Satz von Pixelbeleuchtungswerten I&sub1;&sub2; nachfolgend verwendet, um bei der Identifizierung von Fehlern im Inneren der Linse behilflich zu sein - das heißt, in der Fläche, welche radial innerhalb des inneren Randes des Kreisringes 150 liegt.
- Der Maskierungsvorgang R&sub9;, der in dieser Stufe des Linseninspektionsvorganges verwendet wird, ist der Maskierungsroutine R&sub9; sehr ähnlich, die in den Fig. 19A bis 19C und 20 gezeigt ist. Der prinzipielle Unterschied zwischen diesen beiden Maskierungsvorgängen besteht darin, daß der Radius der in dem Vorgang R&sub9; verwendeten Maske geringfügig kleiner ist als der Radius des an den inneren Rand des Kreisringes 150 angepaßten Kreises, während der Radius der in dem Vorgang R&sub3; verwendet wird, geringfügig größer ist als der an den äußeren Rand des Kreisringes 150 angepaßten Kreises.
- Fig. 37 ist ein Flußdiagramm, welches eine bevorzugte Maskierungsroutine R&sub9; illustriert. Der erste Schritt 446 in dieser Routine besteht darin, zu bestimmen, ob bei den Schritten 216 oder 226 des Dezentrierungstestes wenigstens drei Pixel auf dem inneren Rand des Kreisringes 150 gefunden wurden oder ob festgestellt wurde, daß die ophthalmische Linse stark dezentriert ist. Wenn bei einem dieser beiden Schritte des Dezentrierungstestes festgestellt wurde, daß die Linse stark dezentriert ist, so wird die Maskierungsroutine R&sub9; selbst bei Schritt 450 beendet.
- Wenn die Routine R&sub5; nicht bei Schritt 450 beendet wird, so geht die Routine zu Schritt 452 über, welcher dazu dient, die Koordinaten des Mittelpunktes des Kreises zu erhalten, welcher an den inneren Rand 150b des Kreisringes 150 während des Dezentrierungstestes angepaßt wurde. Diese Koordinaten wurden bestimmt und daraufhin im Prozessorspeicher während des Dezentrierungstestes gespeichert, wobei diese Koordinaten erhalten werden können, indem man sie einfach aus dem Prozessorspeicher zurückgewinnt. Sobald diese Mittelpunktskoordinaten erhalten sind, wird ein Maskierungsunterprogramm bei Schritt 454 aufgerufen. Es wird nun Bezug auf die Fig. 38A bis 38C genommen, wo dieses Unterprogramm in der Tat eine kreisförmige Maske 456 der Pixelanordnung 46 überlagert, welche bezüglich der oben erwähnten Mittelpunktskoordinaten zentriert ist und einen Durchmesser aufweist, der geringfügig kleiner ist als der Durchmesser des an den inneren Rand 150b des Kreisringes angepaßten Kreises, wobei daraufhin das Maskierungsunterprogramm einen I&sub1;&sub2;-Wert jedem Pixel zuweist. Insbesondere wird für jedes Pixel außerhalb der Maske durch das Maskierungsunterprogramm dem Pixel ein I&sub1;&sub2;-Wert zugewiesen, welcher gleich dem I&sub8;-Wert für dieses Pixel ist; und für jedes Pixel innerhalb der Maske weist das Maskierungsunterprogramm dem Pixel einen I&sub1;&sub2;-Wert von Null zu.
- Genauer werden bei Schritt 452 die Koordinaten (xi, yi) des oben erwähnten Mittelpunktes und ein Radiuswert r&sub2;, der so gewählt wird, daß er geringfügig kleiner ist als der Radius des an den inneren Rand des Kreisringes 150 angepaßten Kreises, an das Maskierungsunterprogramm übertragen. Daraufhin bildet bei Schritt 454 dieses Unterprogramm eine Datei f&sub5; aus Adressen aller Pixel in der Anordnung 46, welche innerhalb des Abstandes r&sub2; von dem Mittelpunkt (xi, yi) liegen. Daraufhin wird bei Schritt 460 die Adresse von jedem Pixel in der Anordnung 46 überprüft, um festzustellen, ob sie sich in der Datei befindet. Wenn die Pixeladresse sich in der Datei befindet, so wird bei Schritt 462 der I&sub1;&sub2;-Wert des Pixels auf Null gesetzt. Wenn sich die Pixeladresse jedoch nicht in der Liste befindet, so wird bei Schritt 464 der I&sub1;&sub2;-Wert des Pixels gleich dem I&sub8;-Wert des Pixels gesetzt.
- Zahlreiche verschiedene Maskierungsunterprogramme sind in der Technik wohlbekannt, um die obigen Aufgaben zu erfüllen, und irgendwelche geeigneten Unterprogramme können bei Schritt 454 der Routine R&sub9; verwendet werden.
- Fig. 38C zeigt die Pixel der Anordnung 46, welche mit Intensitäten beleuchtet sind, die gleich ihren entsprechenden I&sub1;&sub2;-Werten sind.
- Nachdem dieser zweite Maskierungsvorgang beendet ist, wird eine weitere Routine R&sub1;&sub0; ausgeführt, welche eine Reihe von Operationen umfaßt, um einen Satz von Pixelbeleuchtungswerten zur Verfügung zu stellen, welche die Pixel, die sich in irgendeiner Unregelmäßigkeit oder in einem Fehler in der inspizierten Linse befinden, klar identifizieren. Spezieller besteht der Zweck dieser weiteren Operationen darin, einen Satz von Pixelbeleuchtungswerten zur Verfügung zu stellen, welcher frei von irgendwelchen Effekten ist, die auf der Anordnung 46 durch Hintergrundrauschen oder Licht erzeugt werden, als auch von irgendeinem Effekt, der auf der Anordnung 46 durch die normalen oder regulären Ränder 150a und 150b des Kreisringes 150 erzeugt werden. Diese weiteren Operationen werden in dem Flußdiagramm von Fig. 39 gezeigt.
- Bei Schritt 466 wird ein weiterer I-Wert, I&sub1;&sub3;, für jedes Pixel erhalten; und insbesondere wird der I&sub1;&sub3;-Wert für jedes Pixel durch Subtraktion des I&sub1;&sub2;-Wertes für das Pixel von dem I&sub1;&sub0;-Wert für das Pixel erhalten. Die Fig. 40A, 40B und 40C zeigen die Pixel in einem Abschnitt des Kreisringes 152, der mit Intensitäten beleuchtet ist, die ihren I&sub1;&sub0;-, I&sub1;&sub2;- und I&sub1;&sub3;-Werten jeweils entsprechen; und wie zu sehen ist, besteht der praktische Effekt des Schrittes 466 darin, das Bild von Fig. 40B von dem Bild nach Fig. 40A zu subtrahieren und so das Bild nach Fig. 40C zu erzeugen.
- Daraufhin wird bei Schritt 470 eine Operation ausgeführt, auf welche als Clean-up-Operation Bezug genommen wird, um in der Tat falsche, beleuchtete Pixel zu eliminieren. Spezieller werden, mit den I&sub1;&sub3;-Werten für die Pixel beginnend, MAX-, MIN-, PMIN- und PMAX- Operationen in dieser Reihenfolge bezüglich der gesamten Pixelanordnung 46 ausgeführt, wobei ein weiterer Satz von Pixelwerten erzeugt wird, auf die als I&sub1;&sub4;-Werte Bezug genommen wird. Fig. 40D zeigt die Pixel des Kreisringes 46, die mit Intensitäten beleuchtet sind, welche gleich ihren entsprechenden I&sub1;&sub4;-Werten sind; und wie durch Vergleich der Fig. 40C und 40D zu sehen ist, besteht der Effekt der Clean-up-Operation einfach darin, verschiedene isolierte Pixel zu eliminieren, welche, aus dem einen oder aus dem anderen Grunde, in Fig. 40C beleuchtet sind.
- Nachdem das System 10 die Daten gemäß der Routinen R&sub1; bis R&sub1;&sub0; wie oben beschrieben verarbeitet hat, wird eine Fehler- oder Defektanalyse ausgeführt, wobei die Fig. 41A und 41B ein Flußdiagramm zeigen, welches eine bevorzugte Defektnachweis- oder Analyse- Routine R&sub1;&sub1; veranschaulicht. Diese Analyse ist mit Bezug auf die Fig. 42 am besten verständlich, welche die Pixel eines Abschnittes des Kreisringes 150 zeigt, welche mit Intensitäten beleuchtet sind, die gleich ihren entsprechenden I&sub1;&sub4;-Werten sind.
- Mit Bezug auf die Fig. 41A, 41B und 42 wird im ersten Abschnitt dieser Defektanalyse bei den Schritten 472 und 474 nach Fig. 41A eine Liste von Adressen der Pixel am Anfang und am Ende von jeder horizontalen Serie aufeinanderfolgender beleuchteter Pixel erstellt, auf die als Lauflänge Bezug genommen wird. Spezieller tastet der Prozessor 64 in der Tat jede horizontale Reihe von Pixeln in der Anordnung 46 ab; und während jedes Abtastvorganges werden jedesmal, wenn eine Serie beleuchteter Pixel angetroffen wird, die Adressen des ersten und des letzten Pixels in dieser Serie in der Datei f&sub6; aufgezeichnet. Im Fall eines einzelnen, isolierten, beleuchteten Pixels - das heißt, die Pixel auf der linken und der rechten Seite dieses beleuchteten Pixels sind selbst nicht beleuchtet - wird die Adresse dieses beleuchteten Pixels sowohl als die Adresse des ersten als auch als die Adresse des letzten Pixels in der Lauflänge, welche von dem beleuchteten Pixel gebildet wird, aufgezeichnet.
- Genauer tastet der Prozessor tatsächlich nicht ein Bild der Pixelanordnung ab, sondern übersetzt statt dessen die oben erwähnte Adressenliste, indem die I&sub1;&sub4;-Werte, welche in dem Prozessorspeicher für die Pixel in der Anordnung 46 gespeichert sind, überprüft werden.
- Nachdem die Datei f&sub6; beendet ist, ruft die Routine R&sub1;&sub1; ein Bündelungsunterprogramm bei Schritt 476 auf, um eine getrennte Datei f6a ... f6n, für jede Fläche oder Gruppe aufeinanderfolgender beleuchteter Pixel zu erzeugen - oder - genauer gesagt - für jede Fläche oder Gruppe aufeinanderfolgender Pixel mit hohen I&sub1;&sub4;-Werten. Jedes geeignete Bündelungsunterprogramm kann verwendet werden, um diese Bündelung vorzunehmen. Nachdem diese getrennten Dateien f6a ... f6n erzeugt wurden, werden bei Schritt 480 die Dateien für beleuchtete Flächen, welche beieinanderliegen, wie zum Beispiel jene, die bei 482 und 484 in Fig. 42 gezeigt sind, verbunden. Dies kann beispielsweise dadurch geschehen, daß eine Prüfung durchgeführt wird, um zu bestimmen, ob irgendein Pixel in irgendeiner beleuchteten Fläche innerhalb einer gegebenen Anzahl von Pixeln, wie zum Beispiel zwei oder drei Pixeln, von irgendeinem Pixel in einer anderen beleuchteten Fläche liegt. Diese nahen beleuchteten Flächen werden so betrachtet, als bildeten sie tatsächlich eine beleuchtete Fläche. Nachdem Schritt 480 beendet ist, wird ein Unterprogramm bei Schritt 486 aufgerufen, um die Fläche und den Schwerpunkt sowie die Umhüllende für jede Fläche beleuchteter Pixel zu berechnen. Zahlreiche Unterprogramme sind in der Technik wohlbekannt, um diese Berechnung auszuführen. Irgendwelche solcher geeigneter Unterprogramme können in der Routine R&sub1;&sub1; verwendet werden, und es ist nicht erforderlich, diese Unterprogramme hier im Detail zu beschreiben.
- Als nächstes bestimmt die Routine R&sub1;&sub1; den allgemeinen Ort von jeder beleuchteten Fläche. Spezieller werden bei Schritt 490 die Adressen der Mittelpunkte und die Radien der beiden Kreise erhalten, die an den äußeren und an den inneren Rand 150a und 150b des Kreisringes 150 angepaßt wurden. Dieses Daten wurden während des Dezentrierungstestes bestimmt oder gefunden und daraufhin in dem Prozessorspeicher gespeichert, wobei diese Daten dadurch erhalten werden können, daß die Daten einfach aus dem Prozessorspeicher wiedergewonnen werden. Daraufhin bestimmt bei Schritt 492 der Prozessor 64, ob der Schwerpunkt von jeder Fläche beleuchteter Pixel (i) innerhalb des zentralen Bereiches der Linse (der Fläche, die radial innerhalb des an den inneren Rand des Kreisringes angepaßten Kreises liegt) oder (ii) dem Randbereich der Linse (der Fläche der Linse zwischen den beiden an den inneren und den äußeren Rand des Kreisringes angepaßten Kreisen) liegt.
- Zahlreiche Unterprogramme zur Bestimmung, ob ein Schwerpunkt einer Fläche innerhalb eines ersten Kreises oder zwischen zwei allgemein konzentrischen Kreisen liegt, sind wohlbekannt, und es ist nicht erforderlich, diese Unterprogramme hier im Detail zu beschreiben.
- Die Schritte 490 und 492 sind nicht für den Betrieb des Systems 10 im weitesten Sinne erforderlich. Vorzugsweise werden diese Schritte jedoch ausgeführt, und die damit in Verbindung stehenden Daten werden für Analysezwecke gesammelt, wobei sie insbesondere bei der Identifizierung behilflich sein sollen, wo mögliche Unregelmäßigkeiten oder Defekte in den Linsen auftauchen. Diese Daten können bei der Einstellung oder bei der Verbesserung des Verfahrens oder der für die Herstellung der Linsen verwendeten Materialien hilfreich sein.
- Nachdem die Schritte 490 und 492 beendet sind, bestimmt der Prozessor daraufhin, ob die Größe von jeder beleuchteten Fläche von Pixeln ausreichend groß ist, um als ein Fehler oder ein Defekt qualifiziert zu werden, weswegen die Linse verworfen werden kann. Spezieller wird bei Schritt 494 die Größe von jeder Fläche beleuchteter Pixel mit einer vorgewählten Größe verglichen. Wenn diese beleuchtete Fläche kleiner ist als die vorgewählte Größe, so ist die beleuchtete Fläche nicht ausreichend, um die Linse zu verwerfen. Wenn jedoch die Fläche beleuchteter Pixel größer ist als die vorgewählte Größe, so wird die beleuchtete Fläche als ein Fehler oder ein Defekt qualifiziert, wodurch die Linse zur Verwendung durch den Kunden ungeeignet wird. Diese vorgewählte Größe kann beispielsweise in der Speichereinheit 70 gespeichert werden.
- Ebenso kann vorzugsweise bei Schritt 496 eine Zählung der Anzahl von Defekten, die in jeder Linse gefunden wurden, erhalten werden. Diese Zählung kann ebenso nützlich sein, um den Prozeß und die zur Herstellung der Linsen verwendeten Materialien zu analysieren.
- Beim Schritt 500 wird auf einem Monitor 72 eine Anzeige erzeugt, welche die Flächen von beleuchteten Pixeln zeigt, wobei jene Flächen, die größer sind als die oben erwähnten Schwellwerte, innerhalb einer Umhüllenden gezeigt werden. Dann führt bei Schritt 502 der Prozessor 64 eine Prüfung durch, um zu bestimmen, ob tatsächlich irgendwelche Fehler in der Linse gefunden wurden. Wenn ein Defekt gefunden wurde, so wird bei Schritt 504 ein Linsen-Verwerfungssignal erzeugt und auf den Monitor 72 sowie den Drucker 76 übertragen, und die Linsen können aus dem System 10 entfernt werden. Wenn in der Linse jedoch kein Defekt gefunden wurde, so wird die Routine R&sub1;&sub1; einfach beendet. Nachfolgend arbeitet das System 10 so, daß eine andere Linse unter das beleuchtete Teilsystem 14 bewegt wird und ein anderer Lichtpuls durch jene andere Linse transmittiert wird. Dieses transmittierte Licht wird auf der Pixelanordnung 46 fokussiert, und das oben beschriebene Verarbeitungsverfahren wird wiederholt, um zu bestimmen, ob diese andere Linse für die Verwendung durch den Kunden annehmbar ist.
- Während es offensichtlich ist, daß die hier offenbarte Erfindung gut geeignet ist, um die zuvor angeführten Aufgaben zu erfüllen, wird erkannt werden, daß zahlreiche Veränderungen und Ausführungsformen von den Fachleuten erdacht werden können, und es ist beabsichtigt, daß die beigefügten Ansprüche sämtliche dieser Veränderungen und Ausführungsformen abdecken, die innerhalb des Schutzumfanges der vorliegenden Erfindung liegen.
Claims (2)
1. Verfahren zur automatischen Inspektion einer ophthalmischen Linse (84), die entlang des
Umfanges im allgemeinen einen Außenrand (150a) hat, mit den Schritten:
Richten eines Lichtstrahles (82) durch die Linse und auf eine Anordnung von Pixeln (146);
Zuweisen eines Datenwertes an jedes Pixel, welcher die Intensität des Lichtstrahles auf dem
Pixel repräsentiert und
Verarbeiten der Datenwerte nach einem vorbestimmten Programm, um zu bestimmen, ob
die Linse irgendeine aus einer Vielzahl vorbestimmter Bedingungen aufweist;
dadurch gekennzeichnet, daß
der Verarbeitungsschritt die folgenden Schritte aufweist:
i) Identifizieren (280) eines Mittelpunktes eines Kreises auf der Pixelanordnung mit einem
Umfang, der im allgemeinen dem Bild des Außenrandes (150a) der Linse entspricht;
ii) Identifizieren (282) ausgewählter Pixel, die auf dem Bild des Außenrandes (150a) der
Linse liegen;
iii) Identifizieren (294) eines anderen Pixels auf dem Außenrand des Linsenbildes, das in
einem gegebenen Abstand von dem ausgewählten Pixel liegt, für jedes der ausgewählten
Pixel;
iv) Identifizieren (386) eines ersten Vektors, der sich durch das ausgewählte Pixel und
durch das andere Pixel erstreckt, für jedes der ausgewählten Pixel;
v) Identifizieren (390) eines zweiten Vektors, der sich durch das ausgewählte Pixel und
durch den Mittelpunkt erstreckt, für jedes der ausgewählten Pixel;
vi) Berechnen (392) eines Skalarproduktes des ersten und zweiten Vektors;
vii) Vergleichen (402) des Skalarproduktes mit einem vorbestimmten Wert und
viii) Identifizieren (404) der Linse als fehlerhaft, wenn das Skalarprodukt größer ist als der
vorbestimmte Wert.
2. System (10) zur automatischen Inspektion einer ophthalmischen Linse (84), die entlang
des Umfanges allgemein einen Außenrand (150a) hat, mit
einer Anordnung (46) von Pixeln (146);
Mitteln (14), um einen Lichtstrahl (82) durch die Linse (84) auf die Anordnung (46) von
Pixeln zu richten;
Mitteln (62) zum Zuweisen eines Datenwertes an jedes Pixel, welcher die Intensität des
Lichtstrahls auf dem Pixel repräsentiert und
Verarbeitungsmitteln (20) zum Verarbeiten der Datenwerte entsprechend einem
vorbestimmten Programm, um zu bestimmen, ob die Linse irgendeine aus einer Vielzahl
vorbestimmter Bedingungen erfüllt,
dadurch gekennzeichnet, daß
die Verarbeitungsmittel (20) aufweisen:
i) Mittel (64) zum Identifizieren eines Mittelpunktes eines Kreises auf der Pixelanordnung
mit einem Umfang, der im allgemeinen dem Bild des Außenrandes (150a) der Linse
entspricht;
ii) Mittel (64) zum Identifizieren ausgewählter Pixel, die auf dem Bild des Außenrandes
(150a) der Linse liegen;
iii) Mittel (64) zum Identifizieren eines anderen Pixels auf dem Außenrand (150a) des
Linsenbildes, das in einem gegebenen Abstand von dem ausgewählten Pixel liegt, für jedes der
ausgewählten Pixel;
iv) Mittel (64) zum Identifizieren eines ersten Vektors, der sich durch das ausgewählte Pixel
und durch das andere Pixel erstreckt, für jedes der ausgewählten Pixel;
v) Mittel (64) zum Identifizieren eines zweiten Vektors, der sich durch das ausgewählte
Pixel und durch den Mittelpunkt erstreckt, für jedes der ausgewählten Pixel;
vi) Mittel (64) zum Berechnen eines Skalarproduktes des ersten und zweiten Vektors;
vii) Mittel (64) zum Vergleichen des Skalarproduktes mit einem vorbestimmten Wert und
viii) Mittel (64) zum Identifizieren der Linse als fehlerhaft, wenn das Skalarprodukt größer
ist als der vorbestimmte Wert.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US99528192A | 1992-12-21 | 1992-12-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69330009D1 DE69330009D1 (de) | 2001-04-12 |
DE69330009T2 true DE69330009T2 (de) | 2001-07-19 |
Family
ID=25541615
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69330008T Expired - Lifetime DE69330008T2 (de) | 1992-12-21 | 1993-12-20 | Verfahren und Vorrichtung zur automatischen Inspektion von ophthalmischen Linsen |
DE69330009T Expired - Lifetime DE69330009T2 (de) | 1992-12-21 | 1993-12-20 | Verfahren und Vorrichtung zur automatischen Inspektion von ophthalmischen Linsen |
DE69330290T Expired - Lifetime DE69330290T2 (de) | 1992-12-21 | 1993-12-20 | Verfahren und Vorrichtung zur automatischen Inspektion von ophthalmischen Linsen |
DE69319564T Expired - Lifetime DE69319564T2 (de) | 1992-12-21 | 1993-12-20 | Verfahren und Vorrichtung zur automatischen Inspektion von ophthalmischen Linsen |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69330008T Expired - Lifetime DE69330008T2 (de) | 1992-12-21 | 1993-12-20 | Verfahren und Vorrichtung zur automatischen Inspektion von ophthalmischen Linsen |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69330290T Expired - Lifetime DE69330290T2 (de) | 1992-12-21 | 1993-12-20 | Verfahren und Vorrichtung zur automatischen Inspektion von ophthalmischen Linsen |
DE69319564T Expired - Lifetime DE69319564T2 (de) | 1992-12-21 | 1993-12-20 | Verfahren und Vorrichtung zur automatischen Inspektion von ophthalmischen Linsen |
Country Status (24)
Country | Link |
---|---|
US (1) | US5748300A (de) |
EP (5) | EP1016860B1 (de) |
JP (1) | JP3553114B2 (de) |
KR (1) | KR100224289B1 (de) |
CN (2) | CN1217173C (de) |
AT (4) | ATE199594T1 (de) |
AU (1) | AU667754B2 (de) |
BR (1) | BR9305151A (de) |
CA (1) | CA2111745C (de) |
CZ (1) | CZ276093A3 (de) |
DE (4) | DE69330008T2 (de) |
DK (1) | DK0604174T3 (de) |
ES (1) | ES2118913T3 (de) |
FI (1) | FI935734A (de) |
GR (1) | GR1002500B (de) |
HK (4) | HK1002689A1 (de) |
HU (1) | HUT65808A (de) |
IL (1) | IL107607A (de) |
MX (1) | MX9400048A (de) |
NO (1) | NO934714L (de) |
NZ (1) | NZ250042A (de) |
TW (1) | TW242175B (de) |
UY (1) | UY23680A1 (de) |
ZA (1) | ZA939537B (de) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NZ250042A (en) | 1992-12-21 | 1997-01-29 | Johnson & Johnson Vision Prod | Robotic inspection of ophthalmic lenses |
TW325744U (en) * | 1993-07-21 | 1998-01-21 | Ciba Geigy Ag | Two-sided contact lens mold |
AU7473894A (en) | 1993-07-29 | 1995-02-28 | Wesley-Jessen Corporation | Inspection system for optical components |
US5818573A (en) * | 1997-02-06 | 1998-10-06 | Pbh, Inc. | Opthalmic lens inspection system |
US5801822A (en) * | 1997-02-06 | 1998-09-01 | Pbh, Inc. | Ophthalmic lens inspection system |
US6047082A (en) * | 1997-11-14 | 2000-04-04 | Wesley Jessen Corporation | Automatic lens inspection system |
DE29901791U1 (de) * | 1999-02-02 | 2000-07-06 | Novartis Ag, Basel | Linsenmesseinrichtung |
US6577387B2 (en) | 2000-12-29 | 2003-06-10 | Johnson & Johnson Vision Care, Inc. | Inspection of ophthalmic lenses using absorption |
US6765661B2 (en) | 2001-03-09 | 2004-07-20 | Novartis Ag | Lens inspection |
US7256881B2 (en) * | 2002-02-15 | 2007-08-14 | Coopervision, Inc. | Systems and methods for inspection of ophthalmic lenses |
US7330579B2 (en) * | 2002-11-13 | 2008-02-12 | Johnson & Johnson Vision Care, Inc. | Automated inspection of tinted ophthalmic parts |
US20060232766A1 (en) * | 2005-03-31 | 2006-10-19 | Watterson Robert J Jr | Methods of inspecting ophthalmic lenses |
TWI449893B (zh) * | 2006-12-21 | 2014-08-21 | Johnson & Johnson Vision Care | 透鏡之干涉測試之方法及用於透鏡之干涉測試之系統與設備 |
US7990531B2 (en) * | 2008-06-05 | 2011-08-02 | Coopervision International Holding Company, Lp | Multi-imaging automated inspection methods and systems for wet ophthalmic lenses |
PL2461767T3 (pl) | 2010-07-30 | 2013-09-30 | Novartis Ag | Soczewki silikonowo-hydrożelowe z powierzchniami bogatymi w wodę |
JP5646922B2 (ja) * | 2010-09-03 | 2014-12-24 | 株式会社トプコン | 検査装置 |
MY166303A (en) | 2011-06-03 | 2018-06-25 | Johnson & Johnson Vision Care | Multiple radiation inspection of ophthalmic lenses |
US8634068B2 (en) | 2011-06-16 | 2014-01-21 | Johnson & Johnson Vision Care, Inc. | Method of determining the optimal wavelength for inspecting ophthalmic lenses |
US20120320374A1 (en) | 2011-06-17 | 2012-12-20 | Sites Peter W | Method of imaging and inspecting the edge of an ophthalmic lens |
EP2766750B1 (de) | 2011-10-12 | 2016-02-03 | Novartis AG | Verfahren zur herstellung uv-licht-absorbierender brillengläser mit einer beschichtung |
CN102768214B (zh) * | 2012-05-28 | 2014-09-03 | 明基材料有限公司 | 隐形眼镜检测***与方法 |
WO2014095690A1 (en) | 2012-12-17 | 2014-06-26 | Novartis Ag | Method for making improved uv-absorbing ophthalmic lenses |
WO2015053712A1 (en) * | 2013-10-08 | 2015-04-16 | Emage Vision Pte. Ltd. | System and method for inspection of wet ophthalmic lens |
CN105829081B (zh) | 2013-12-17 | 2017-12-19 | 诺华股份有限公司 | 具有交联的亲水性涂层的硅水凝胶镜片 |
KR102226634B1 (ko) | 2014-05-15 | 2021-03-10 | 이미지 비전 피티이. 리미티드 | 안과 렌즈 검사 시스템 및 방법 |
US11002884B2 (en) | 2014-08-26 | 2021-05-11 | Alcon Inc. | Method for applying stable coating on silicone hydrogel contact lenses |
US10109045B2 (en) * | 2015-07-10 | 2018-10-23 | Ricoh Company, Ltd. | Defect inspection apparatus for inspecting sheet-like inspection object, computer-implemented method for inspecting sheet-like inspection object, and defect inspection system for inspecting sheet-like inspection object |
CN105057227A (zh) * | 2015-08-18 | 2015-11-18 | 丹阳市雷腾智能科技有限公司 | 镜片自动测量、分拣*** |
CN108369291B (zh) | 2015-12-15 | 2021-07-20 | 爱尔康公司 | 用于将稳定的涂层施加在硅酮水凝胶接触镜片上的方法 |
US10184916B2 (en) * | 2016-01-15 | 2019-01-22 | The Boeing Company | Systems, methods, and devices for probe assemblies for variable curvature and variable angle configurations |
JP3213909U (ja) * | 2017-09-27 | 2017-12-07 | 欣柏 ▲黄▼ | コンタクトレンズのレンズ検出装置 |
KR20200098540A (ko) | 2017-12-13 | 2020-08-20 | 알콘 인코포레이티드 | 한 주 및 한 달 착용용 워터 그래디언트 콘택트 렌즈 |
CN108490002B (zh) * | 2018-03-06 | 2021-02-26 | 浙江工业大学 | 一种微结构棱镜镜片质量检测方法 |
US11692906B2 (en) | 2020-07-30 | 2023-07-04 | Alcon Inc. | Method for determining geometrical parameters of a soft contact lens |
US11861823B2 (en) * | 2021-04-27 | 2024-01-02 | Johnson & Johnson Vision Care, Inc. | Microfluidic device and method for quantifying contact lens deposition |
EP4231001A1 (de) | 2022-02-16 | 2023-08-23 | Carl Zeiss Vision International GmbH | Testvorrichtung und testverfahren |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3988068A (en) * | 1974-05-09 | 1976-10-26 | Itek Corporation | Method and apparatus for detecting cosmetic defects in opthalmic lenses |
DD138110A1 (de) * | 1978-07-27 | 1979-10-10 | Horst Riesenberg | Auflicht-beleuchtungseinrichtung fuer mikroskope |
US4275964A (en) * | 1979-05-18 | 1981-06-30 | Rodenstock Instruments Corporation | Apparatus and method for determining the refractive characteristics of a test lens |
DD145805B1 (de) * | 1979-08-27 | 1982-06-30 | Johannes Grosser | Beleuchtungsanordnung fuer mikroskope |
DE3115634A1 (de) * | 1981-04-18 | 1982-11-04 | Feldmühle AG, 4000 Düsseldorf | Verfahren und vorrichtung zum pruefen von durch kreislinien begrenzten flaechen |
US4733360A (en) * | 1984-06-14 | 1988-03-22 | Dai Nippon Insatsu Kabushiki Kaisha | Device and method for inspecting card-like articles |
DE3432002A1 (de) * | 1984-08-31 | 1986-03-06 | Fa. Carl Zeiss, 7920 Heidenheim | Verfahren und vorrichtung zur optischen untersuchung von kontaktlinsen |
GB2171812B (en) * | 1984-11-20 | 1988-08-17 | Michael Roy Killpartrick | Wet cell inspection of contact lenses |
US4817166A (en) * | 1986-05-05 | 1989-03-28 | Perceptics Corporation | Apparatus for reading a license plate |
DE3620129A1 (de) * | 1986-06-14 | 1987-12-17 | Zeiss Carl Fa | Vorrichtung zum pruefen von bauteilen aus transparentem material auf oberflaechenfehler und einschluesse |
JPS6348431A (ja) * | 1986-08-19 | 1988-03-01 | Canon Inc | レンズ検査装置 |
JPH0711494B2 (ja) * | 1988-06-16 | 1995-02-08 | 松下電工株式会社 | 透光性容器の検査方法 |
US4924107A (en) * | 1988-10-07 | 1990-05-08 | Ball Corporation | System for inspecting the inside surfaces of a container for defects and method therefor |
US5081685A (en) * | 1988-11-29 | 1992-01-14 | Westinghouse Electric Corp. | Apparatus and method for reading a license plate |
JPH02257007A (ja) * | 1989-03-30 | 1990-10-17 | Seiko Epson Corp | コンタクトレンズ外周欠け検査装置 |
FR2647912B1 (fr) * | 1989-06-05 | 1991-09-13 | Essilor Int | Dispositif optique a reseau pour le controle, en transmission, par detection de phase, d'un quelconque systeme optique, en particulier d'une lentille ophtalmique |
US5080839A (en) * | 1990-04-17 | 1992-01-14 | Johnson & Johnson Vision Products, Inc. | Process for hydrating soft contact lenses |
US5094609A (en) * | 1990-04-17 | 1992-03-10 | Vistakon, Inc. | Chamber for hydrating contact lenses |
AU649291B2 (en) * | 1990-12-19 | 1994-05-19 | Bodenseewerk Geratetechnik Gmbh | Process and apparatus for examining optical components, especially optical components for the eye and device for illuminating clear-transparent test-objects |
US5301004A (en) * | 1992-03-13 | 1994-04-05 | Leica Inc. | Method and apparatus for determining the optical properties of a lens |
GR1002789B (el) | 1992-12-21 | 1997-10-17 | Johnson & Johnson Vision Products Inc. | Μια συσκευη για την μεταφορα οφθαλμικων φακων. |
IL107605A (en) | 1992-12-21 | 1998-01-04 | Johnson & Johnson Vision Prod | Lens test system |
IL107601A (en) | 1992-12-21 | 1997-09-30 | Johnson & Johnson Vision Prod | Illumination and imaging subsystems for a lens inspection system |
NZ250042A (en) | 1992-12-21 | 1997-01-29 | Johnson & Johnson Vision Prod | Robotic inspection of ophthalmic lenses |
-
1993
- 1993-10-22 NZ NZ250042A patent/NZ250042A/en unknown
- 1993-11-04 GR GR930100433A patent/GR1002500B/el unknown
- 1993-11-14 IL IL107607A patent/IL107607A/xx not_active IP Right Cessation
- 1993-11-26 AU AU51983/93A patent/AU667754B2/en not_active Expired
- 1993-12-01 HU HU9303408A patent/HUT65808A/hu unknown
- 1993-12-08 UY UY23680A patent/UY23680A1/es unknown
- 1993-12-15 CZ CZ932760A patent/CZ276093A3/cs unknown
- 1993-12-17 CA CA002111745A patent/CA2111745C/en not_active Expired - Lifetime
- 1993-12-17 TW TW082110695A patent/TW242175B/zh active
- 1993-12-20 DE DE69330008T patent/DE69330008T2/de not_active Expired - Lifetime
- 1993-12-20 AT AT97200132T patent/ATE199594T1/de not_active IP Right Cessation
- 1993-12-20 EP EP00107739.5A patent/EP1016860B1/de not_active Expired - Lifetime
- 1993-12-20 BR BR9305151A patent/BR9305151A/pt not_active IP Right Cessation
- 1993-12-20 EP EP93310334A patent/EP0604174B1/de not_active Expired - Lifetime
- 1993-12-20 EP EP97200133A patent/EP0775901B1/de not_active Expired - Lifetime
- 1993-12-20 NO NO934714A patent/NO934714L/no unknown
- 1993-12-20 ZA ZA939537A patent/ZA939537B/xx unknown
- 1993-12-20 AT AT97200133T patent/ATE199595T1/de active
- 1993-12-20 JP JP34481093A patent/JP3553114B2/ja not_active Expired - Lifetime
- 1993-12-20 EP EP97200131A patent/EP0775899B1/de not_active Expired - Lifetime
- 1993-12-20 EP EP97200132A patent/EP0775900B1/de not_active Expired - Lifetime
- 1993-12-20 DE DE69330009T patent/DE69330009T2/de not_active Expired - Lifetime
- 1993-12-20 DE DE69330290T patent/DE69330290T2/de not_active Expired - Lifetime
- 1993-12-20 FI FI935734A patent/FI935734A/fi not_active Application Discontinuation
- 1993-12-20 AT AT93310334T patent/ATE168192T1/de active
- 1993-12-20 DE DE69319564T patent/DE69319564T2/de not_active Expired - Lifetime
- 1993-12-20 DK DK93310334T patent/DK0604174T3/da active
- 1993-12-20 AT AT97200131T patent/ATE201766T1/de not_active IP Right Cessation
- 1993-12-20 ES ES93310334T patent/ES2118913T3/es not_active Expired - Lifetime
- 1993-12-21 CN CN011250003A patent/CN1217173C/zh not_active Expired - Lifetime
- 1993-12-21 KR KR1019930028803A patent/KR100224289B1/ko not_active IP Right Cessation
- 1993-12-21 CN CN93112963A patent/CN1079949C/zh not_active Expired - Lifetime
-
1994
- 1994-01-03 MX MX9400048A patent/MX9400048A/es not_active IP Right Cessation
-
1996
- 1996-09-12 US US08/712,245 patent/US5748300A/en not_active Expired - Lifetime
-
1998
- 1998-03-06 HK HK98101867A patent/HK1002689A1/xx not_active IP Right Cessation
- 1998-03-06 HK HK98101871A patent/HK1002690A1/xx not_active IP Right Cessation
- 1998-03-16 HK HK98102166A patent/HK1003089A1/xx not_active IP Right Cessation
- 1998-03-23 HK HK98102452A patent/HK1003307A1/xx not_active IP Right Cessation
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69330009T2 (de) | Verfahren und Vorrichtung zur automatischen Inspektion von ophthalmischen Linsen | |
DE69319875T2 (de) | Beleuchtungs- und Abbildungs-Teilsysteme für ein Linseninspektionssystem | |
DE69326875T2 (de) | System zur Inspektion von Linsen | |
DE69320020T2 (de) | Verfahren zur Inspektion von ophthalmischen Linsen | |
DE69315186T2 (de) | Vorrichtung zum Halten von ophthalmischen Linsen | |
DE2522462C3 (de) | Verfahren zur Gütekontrolle transparenter Behälter | |
DE69317103T3 (de) | Beleuchtungssystem zur Inspektion von Kontaktlinsen | |
US5995213A (en) | Lens inspection system | |
EP0249799A2 (de) | Vorrichtung zum Prüfen von Bauteilen aud transparentem Material auf Oberflächenfehler und Einschlüsse | |
DE3809221A1 (de) | Verfahren zum detektieren von fehlstellen an pressteilen oder anderen werkstuecken und vorrichtung zur durchfuehrung des verfahrens | |
DE2651697A1 (de) | Verfahren und vorrichtung zur durchfuehrung optischer versuche | |
DE2318849A1 (de) | Verfahren zur optischen auslese oder zum optischen pruefen von objekten, wie z.b. behaeltern od.dgl | |
DE2655704B2 (de) | Vorrichtung zum Ermitteln von Fremdkörpern in Glasflaschen | |
DE3111960C2 (de) | Vorrichtung zum Feststellen eines unscharfen photographischen Bildes | |
DE3104911C2 (de) | Reifenprüfgerät | |
DE2321532A1 (de) | Verfahren und vorrichtung zur optischen fehlerauffindung an werkstuecken od.dgl. objekten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8328 | Change in the person/name/address of the agent |
Representative=s name: BOEHMERT & BOEHMERT, 28209 BREMEN |