AU735732B2 - Excimer laser system for correction of vision - Google Patents
Excimer laser system for correction of vision Download PDFInfo
- Publication number
- AU735732B2 AU735732B2 AU52578/99A AU5257899A AU735732B2 AU 735732 B2 AU735732 B2 AU 735732B2 AU 52578/99 A AU52578/99 A AU 52578/99A AU 5257899 A AU5257899 A AU 5257899A AU 735732 B2 AU735732 B2 AU 735732B2
- Authority
- AU
- Australia
- Prior art keywords
- shots
- loop
- ablation
- shot
- laser
- 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.)
- Ceased
Links
Landscapes
- Laser Surgery Devices (AREA)
Description
4* 4't*
C
C. C eq C. U e C. C C
C
AUSTRALIA
Patents Act 1990.
Chiron/Technolas GmbH Ophthalmologische Systeme, Kristian Hohia
ORIGINAL
COMPLETE SPECIFICATION STANDARD PATENT Invention Title: Excimer laser system for correction of vision The following statement is a full description of this invention including the best method of performing it known to us:- 1A APPLICATION FOR PATENT TITLE: EXCIMER LASER SYSTEM FOR CORRECTION OF VISION WITH REDUCED THERMAL EFFECTS This application claims priority to United States patent application Serial No. 08/324,782, filed October 14, 1994.
BACKGROUND OF THE INVENTION 1. Field of the Invention The invention relates to an apparatus for surgically modifying the curvature of the eye cornea and a method of controlling the apparatus, and more particularly to an apparatus for smoothly correcting a variety of corneal defects using a large, fixed spot size in an overlapping pattern that reduces thermal effects.
2. Description of the Related Art Since the initial development of corrective lenses, new and better ways of correcting defective eyesight have been developed. From the bifocal lens and extended wear soft contact lens to corneal incisions and shaping, the field of ophthalmology has seen great advances in convenience, safety, and accuracy in correcting a variety of sight defects, including myopia, hyperopia, and astigmatism.
While corrective lenses still find wide general application, ophthalmologists are focussing on surgery to correct such defects. One of the most popular surgical techniques is radial keratotomy, in which a surgeon forms radial slits in the outer surface of the cornea, allowing the cornea to re-shape and resulting in a modified cornea to correct the deficiencies of the patient's sight. This technique has continued to develop, but the advent of the laser and its introduction into the field of medicine have given rise to a new and potentially revolutionary method of eye surgery. Specifically, the development of the excimer laser and its application to eye surgery has opened a new approach to ophthalmological surgery.
The excimer laser produces coherent light of a very short wavelength of around 193 nm. At these wavelengths and the resulting high energies, the excimer laser removes, or ablates, tissue at the molecular level without significant heating of adjacent tissue. Thus, rather than *:"burning" away tissue, the excimer laser literally breaks the molecular bonds, and the ablated tissue is ejected from the ablated surface leaving a relatively unmarred surface to heal virtually scar-free. This aspect of the excimer laser is now well known and is further described, for example, in U.S. patent 4,784,135 entitled "Far Ultraviolet o. :25 Surgical and Dental Procedures," issued November 15, 1988.
The word "excimer" in excimer laser was initially drawn from its molecular principal of operation. The excimer laser was initially based on the lasing action of excited dimers, such as xenon, krypton, or fluorine in the 30 form of Xe 2 Kr 2 or F 2 The word "excimer" as applied to lasers is now a misnomer, as the most popular excimer laser used in eye surgery does not even use dimers--it uses argon fluoride. The excimer laser is also a pumped laser, in the sense that another laser is used to stimulate the lasing action of the argon fluoride mixture in the laser cavity.
"Excimer laser" has now come to be applied to an entire group of lasers with ultraviolet wavelengths below 400 nm.
When used in ophthalmological surgery, the excimer laser is preferably pulsed, as that allows for application of high energies without thermal heating. These pulses are very short bursts of high energy laser light applied to the cornea. For example, such a laser is typically pulsed at between 1 to 50 Hz with a 10 to 20 ns pulse duration. A drawback of the excimer laser, however, is the energy density over the beam tends to have both large and small scale inhomogeneities. The application of the excimer laser for surgical procedures is described in U.S. patent 4,784,135, entitled "Far Ultraviolet Surgical and Dental Procedures," issued November 15, 1988. For a historical *:background of the development and application of the excimer laser to ophthalmic surgery, see Chapter 1 of the Color Atlas/Text of Excimer Laser Surgery, 1993 Igaku- Shoin Medical Publishers, Inc.
As early as 1983, researchers recognized the potential application of excimer laser light in reshaping the cornea.
25 Since that time, a number of systems have been developed to reshape the cornea, using a variety of techniques such as variable sized circular apertures to correct for myopia, *variable sized ring shaped apertures to correct for Shyperopia, and variable sized slit shaped apertures to correct for astigmatism. These techniques collectively came to be known as photorefractive keratectomy. It has been recognized that using such apertures to correct for myopia, for example, a series of excimer laser shots using progressively smaller spot sizes could ablate away a portion of the cornea to effectively build a "corrective lens" into the cornea. These techniques are discussed, for example, in U.S. patent 4,973,330, entitled "Surgical Apparatus for Modifying the Curvature of the Eye Cornea," issued November 27, 1990, and in U.S. patent 4,729,372, entitled "Apparatus for Performing Ophthalmic Laser Surgery," issued March 8, 1988. Those skilled in the art of laser ophthalmological surgery have extensively developed the required exposure patterns using these variable size apertures to provide an appropriate amount of correction to various degrees of myopia, hyperopia, and astigmatism, and a combination of these conditions.
These multiple aperture systems, however, suffer a number of drawbacks. They tend to be complicated and inflexible, requiring a number of aperture wheels or masks and only providing standard forms of correction for myopia 20 and hyperopia with circular symmetry and astigmatism with cylindrical symmetry. The human eye, however, tends to have more subtle defects. A system that could accommodate these defects and provide more adaptable solutions, as well as a physically simpler components, would thus be advantageous.
An apparatus for ablating tissue from the eye is shown in U.S. patent 4,973,330, referenced above. This apparatus includes an excimer laser, the laser beam of which impinges on the cornea, with the axis of the laser beam coinciding with the optical axis of the eye. Furthermore, a field stop limits the area of the laser spot on the cornea illuminated by the laser beam, and the size of this field stop is set in a temporarily variable manner according to the profile of the area to be removed so that the thickness of the area to be removed is a function of the distance from the optical axis of the eye.
The system described in U.S. patent 4,973,330 permits in this way setting the "laser energy deposited" on the cornea as the function of the distance from the optical axis of the eye, but only under the condition that the distribution of energy the power of the laser beam spot) is homogeneous, or at least axially symmetrical.
This, however, is a condition that excimer lasers in particular do not always fulfill. Inhomogeneous power distribution results in non-axially symmetrical removal.
Moreover, the system described in U.S. patent 4,973,330 only permits the correction of spherical aberrations, not astigmatism.
An apparatus based on the same fundamental idea is known from U.S. patent 4,994,058, entitled "Surface Shaping Using Lasers", issued February 19, 1991. That apparatus employs a "destructible field stop mask" instead of a field "stop having a temporarily variable aperture.
Another class of apparatus for shaping the cornea by means of removing tissue is known from the various L'Esperance patents. These include U.S. patent 4,665,913, entitled "Method for Ophthalmological Surgery," issued May 19, 1987; U.S. patent 4,669,466, entitled "Method and Apparatus for Analysis and Correction of Abnormal Refractive Errors of the Eye," issued June 2, 1987; U.S.
patent 4,718,418, entitled "Apparatus for Ophthalmological Surgery," issued January 12, 1988; U.S. patent 4,721,379, 6 entitled "Apparatus for Analysis and Correction of Abnormal Refractive Errors of the Eye," issued January 26, 1988; U.S. patent 4,729,372, entitled "Apparatus for Performing Ophthalmic Laser Surgery," issued March 8, 1988; U.S.
patent 4,732,148, entitled "Method for Performing Ophthalmic Laser Surgery," issued March 22, 1988; U.S.
patent 4,770,172, entitled "Method of Laser-Sculpture of the Optically used Portion of the Cornea," issued September 13, 1988; U.S. patent 4,773,414, entitled "Method of Laser-Sculpture of the Optically used Portion of the Cornea," issued September 27, 1988; and U.S. patent 4,798,204, entitled "Method of Laser-Sculpture of the Optically used Portion of the Cornea," issued January 17, 1989. In that apparatus, a laser beam with a small focus spot is moved by a two-dimensional scanning system over the area to be removed. This apparatus, which operates as a "scanner," has the advantage that it can generate any twodimensional profile of deposited energy "over the area to be removed." Because of the small size of the beam spot, 20 the period of treatment, however, is very great, as power per area unit cannot be raised above a specific "critical" value.
current techniques do not adequately address the non-linear energy distribution of an excimer laser. The .•25 excimer laser includes both large scale and small scale 9**9 non-linearities in its energy distribution. This can cause over-ablation and under-ablation of certain areas of the 9*• eye under treatment. Thus it would be desirable to provide a system that further homogenizes the effective energy 30 deposited on the eye.
99..+ Systems that use apertures to create a series of progressively smaller shot sizes also suffer from the disadvantage of creating sharp ridges in the treatment zone of the cornea. Especially near the periphery of the treatment zone, a number of shots are typically required to create the necessary ablation depth at each particular spot size. The typical ablation depth for each shot is .2 um.
When multiple shots are required at a single aperture size, the ridge depth reinforces, creating an effective ridge of some multiple of .2 pm. For example, five shots would result in a ridge height of 1.0 lim. These sharp ridges in the treatment zone can lead to unwanted epithelial regrowth, especially when correcting high diopter defects.
A system that minimizes such ridges would promote smoother epithelial healing, preventing excessive regrowth and allowing the corrected eye to retain its correction for a longer period of time and with more stability.
Before ablating, most current excimer techniques also require physically scraping away the epithelial layer from the eye. This can be a traumatic procedure for the patient, and requires a high degree of precision by the surgeon. Alternative, less invasive methods of removal of the epithelium before ablation of the cornea are thus desirable.
25 Another problem with current techniques involves "central islands" created during the ablation process. A central island is an area of an ablation profile which is not ablated to a depth proportional to the number of excimer laser shots fired on that particular area. For example, in typical myopia patterns, the greatest depth of ablation is at the center of the pattern. In ablating such 8 patterns, a recurring problem is that the central area is not ablated to as great a depth as is needed to create the proper ablation profile. The causes of this problem are not clear. However, techniques which reduce or eliminate this problem are highly desirable.
Further, present systems typically use e either a relatively small spot size of less than .50mm, or variable spot sizes that require the spot size to be adjusted throughout the treatment. A relatively small spot size has serious disadvantages, because it greatly increases the number of shots required to complete a treatment. A variable spot size also has disadvantages, in that it requires complex masking instrumentation to allow the spot size to be adjusted.
Reducing or eliminating either of these problems would be greatly desirable.
Another problem that has become apparent is thermal heating. Although an excimer laser is a "cold" laser, which functions by breaking molecular bonds rather than by burning, repeated shots at a particular location will cause the tissue to heat. This limits the maximum shot rate allowed at a particular location. This in turn has historically caused treatments to take at least a certain amount of time, because the maximum shot rate could not be exceeded.
Eliminating this limitation would similarly be desirable.
SUMMARY OF THE INVENTION The present invention provides a method of controlling a laser system, the laser system including a laser that emits a laser beam having a suitable wavelength and the laser system including an optical system that images the laser beam onto the cornea that has an area to be subject to ablation to a desired 25 treatment pattern for correcting vision, the area having a central point, the method including the steps of: poicalculating a shot sequence to ablate the cornea to the desired treatment profile; sorting said calculated shot sequence; and eoe 30 directing the laser system to fire the laser beam in a series of shots, said series of shots corresponding to and fired in order of said sorted calculated shot sequence.
~The present invention also provides an apparatus for shaping the cornea by removing tissue from a region of the cornea that has an area to be subject to ablation to a desired treatment pattern for correcting vision, the area having a central point, the apparatus including: a laser that emits a laser beam having a suitable wavelength; an optical system that images said laser beam onto the cornea; means for calculating a shot sequence to ablate the cornea to the desired treatment profile; means for sorting said calculated shot sequence; and means for directing the laser and optical system to fire the laser beam in a series of shots, said series of shots corresponding to and fired in order of said sorted calculated shot sequence.
The present invention also provides a method for ablating a volumetric portion of a surface of an object with a laser beam, comprising: providing a laser beam having a suitable wavelength for ablating the surface of the object; determining an area of the volumetric portion of the surface to be ablated; i 15 directing the laser beam to the surface of the object in a series of shots located at at least two positions from a center of the area and having a fixed beam size and shape wherein said beam size is such that at least some beam overlap is required to achieve a desired treatment pattern, further wherein said series of shots are fired in a non-sequential overlapping pattern.
The method and apparatus according to the invention provides corneal
SSSS
correction using laser "polishing" or "dithering" in which subsequent shots used to ablate the eye are randomly or otherwise moved from a center axis of treatment to prevent the formation of large ridges in the treatment zone.
o In the context of the present invention, instead of using various aperture shapes, a relatively large beam is moved along the line of hyperopic or astigmatic correction desired, creating a line of overlapping shots. If further correction is necessary, overlapping lines are then created using various beam sizes, thus forming the desired correction curve in the cornea.
The present invention allows various non-symmetrical optical defects to be corrected, such as a "curved" astigmatism, by modifying the line of travel of the overlapping shots or by otherwise generating a sequence of shots to appropriately ablate a non-symmetrical defect.
It will be appreciated that the method of the present invention also enables removal of the epithelium using laser ablation. The epithelium may be first dyed with an infrared fluorescent dye, and then may be continually ablated using a beam covering the area of epithelium to be removed until an infrared scanning device recognizes that some portion of the epithelium is gone, as indicated by a lack of fluorescence. Then, either manually or under computer control, the spot size may be reduced and areas that still fluoresce are ablated until they no longer fluoresce. This may be repeated until the epithelium has been removed from the entire treatment area. This technique can also map the initial thickness of the epithelium before removal.
Further in the system and method according to the invention, myopia may be treated by creating lens formed by two astigmatism correcting ablation patterns at an angle to one another. Preferably, this pattern is developed by creating two astigmatism ablation patterns at right angles to each other. Further, **00 0 0 0 *000 according to the invention, each of these astigmatism ablation patterns is preferably created with a series of overlapping lines of shots.
The system and.method according to the invention further provides a technique for using relatively small overlapping spots of a fixed size to accomplish a desired treatment pattern. In a preferred embodiment of the invention, a series of rings are calculated, in which each ring has a series of shots fired along the radius of the ring. Using an empirical algorithm, the number of shots, the distance of each ring from the center of the desired treatment area, and the optimal fixed shot size may be determined. According to another embodiment, a shot dithering pattern is used to distribute the large, overlapping shots throughout the treatment area. These techniques have a number of advantages, including allowing large overlapping shots, thus reducing treatment time, and reducing the formation of large ridges that would be encountered in a treatment pattern in which the shots were centered on the treatment area. This ridging effect is even further reduced by placing these shots in a spiral pattern.
Another advantage of the invention is that thermal heating may be reduced. This may be achieved by optimally adjusting the order in which the needed shots are fired. Typically, a single tissue location can only absorb a certain number of shots per second. According to one embodiment of the invention, however, subsequent shots in the treatment pattern are fired at different locations that are not overlapping. Then, the desired partially overlapping shot may be later fired overlapping the firs location. For example, a first shot is fired on one side of the treatment area, a second, nonoverlapping shot is fired on the other side of the treatment area, and then a third shot is fired partially overlapping the first shot. In another embodiment, the shot treatment array is sorted to maximize the distance between sequential shots. Alternatively, the array is randomly reordered, thus statistically reducing the number of overlapping sequential shots. It will be appreciated that the effective shot rate can be doubled, because a particular point of tissue is only being ablated on every other shot. By displacing the shots from each other, even higher shot rates can be realized.
Calculating the shot patterns needed using a fixed large spot size is nontrivial, generally not easily derived. Therefore, further according to the method and apparatus of the invention, the shot patterns may be determined through an empirical search algorithm, which searches for appropriate rings of shots to ablate the desired pattern.
Further, according to the invention, shots are preferably fixed at a size between 2.0 and 3.5mm. This minimizes the number of required shots, while providing the resolution necessary to ablate virtually any desired pattern.
BRIEF DESCRIPTION OF THE DRAWINGS A better understanding of the present invention can be obtained when the following detailed description of the preferred embodiment is considered in conjunction with the following drawings, in which:
S.
S.
*go* Figure 1A is a simplified diagram illustrating a typical excimer laser eye surgery system in which can be implemented the apparatus and method according to the invention; Figure lB is a more detailed diagram illustrating the system of Figure 1A; Figures 1C and 1D are a side view and an end view, respectively, of an alternative mirror arrangement to that shown in Figures IA and IB; Figure 2A is a view along the center axis of the treatment zone illustrating a typical large beam ablation pattern to correct for myopia; Figure 2B is a side profile of Figure 2A, further illustrating the use of transition zones; Figure 3A is a view along the center axis of the treatment zone illustrating random dithering according to the invention; Figure 3B is a view along the center axis of the .le treatment zone illustrating circular dithering according to 20 the invention; Figures 4A and 4B are illustrations showing a shot pattern for astigmatic correction according to the invention; Figure 5 is an illustration of a treatment zone illustrating a shot treatment pattern for a curved astigmatism according to the invention; 0.00 Figure 6A and 6B are illustrations showing a shot 00000. pattern for treatment of hyperopia according to the oinn invention; 13 Figures 7A and 7B are side profiles of the cornea illustrating initial and ending radii of curvature over a treatment zone for correction of myopia and hyperopia; Figure 8 is an illustration of shot patterns used to correct for general non-symmetrical aberrations of the eye according to the invention; Figure 9 is a flowchart illustrating a calculation routine used to perform correction for astigmatism, hyperopia, and myopia using the random or circular dithering and large beam scanning according to the invention; Figures 10A, 10B, and 11 are flowcharts illustrating an astigmatism routine used by the calculation routine of Figure 9; Figure 12 is a flowchart illustrating a hyperopia routine used by the calculation routine of Figure 9; Figure 13 is a flowchart of a random dithering routine used by the calculation routine of Figure 9; Figure 14 is a flowchart of a circular dithering 20 routine used by the calculation routine of Figure 9; Figures 15 and 16 are views along the axis of treatment of the eye illustrating ablation of the epithelium according tb the invention; Figure 17 is a perspective view of a lens ablation pattern according to the invention created by ablating two orthogonal astigmatism correcting ablation patterns; Figure 18A is a top view of the ablation pattern of Figure 17; Figures 18B and 18C are side views of a portion of the ablation pattern of Figure 18A; 14 Figure 19 is an illustration of a shot pattern according to the invention using a constant spot size of mm to correct -5 diopters using a spiral shot dithering pattern according to the invention; Figure 20 is an illustration of a shot pattern according to the invention using a constant spot size of mm to correct -5 diopters using a slightly different form of spiral shot dithering pattern according to the invention; Figure 21 is an illustration of a shot pattern according to the invention using a constant spot size of 4.25 mm to correct -5 diopters using the search algorithm according to the invention; Figure 22 is an illustration of a shot pattern according to the invention using a constant spot size of mm to correct -7 diopters using the search algorithm according to the invention; :...Figure 23 is an illustration of a shot pattern *..:according to the invention using a constant spot size of 20 2.0 mm to correct +5 diopters using the search algorithm according to the invention; Figures 24A and 24B are enumerations of each shot used to create the pattern of Figure 21 sorted by X position order, the X position and Y position being given in microns; Figure 25 is a diagram illustrating how concentric rings of overlapping spots are calculated according to the **.invention; Figure 26 is a diagram illustrating how concentric rings of overlapping spots are created with each sequential shot not overlapping with the immediately previous shot; Figure 27 is a flow chart illustration of a search routine used to generate shot patterns according to the invention; and Figure 28 is a flow chart illustration of a shot dithering routine used to generate shot patterns according to the invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT Figure 1A, according to the invention, shows an excimer laser 20 providing a beam to a beam homogenizer 24 that also includes focusing components. The beam homogenizer 24 then provides a relatively homogeneous beam 22 to a field stop in the form of a diaphragm 36, which is regulated by a control unit 64 in such a manner that it limits the laser spot on an eye 44 to an area the maximum size of which is between approximately 10% and approximately 90% of the area of the region in which the tissue is to be removed when ablation is performed to correct for astigmatism or hyperopia. This preferred 20 maximum size is more dependent on the shape and size of the area to be ablated rather than any fixed percentage, and could be, for example, between 20% and 80%. The larger the size of the spot that can be used the better, as that reduces treatment time.
Moreover, a beam manipulator unit in the form of a scanning mirror 42 is provided that also is regulated by the control unit 64. The scanning mirror 42 moves the axis of the beam 22 over at least a part of the region on the eye 44 in which the tissue is to be removed.
The invention thus provides an eye surgery system for shaping the cornea by removing tissue with which removal of non-axially symmetrical profiles can be realized in a relatively shorter time. Further, the eye surgery system 10 compensates for any inhomogeneous distribution of energy over the beam spot.
By this means, not only can a very small spot be illuminated, as in the case of a scanning unit, but also a relatively large region can be illuminated so that the treatment can occur relatively quickly. To shorten treatment time, it is preferred to maintain the size of the laser spot on the eye 44 as large as possible for as long as possible, for example to at least 50% of the size of the region to be treated.
The scanning mirror 42 can, by way of illustration, tilt about or around at least one axis. Mirror elements that can be used, and in particular that can be tilted about two axes, are described in U.S. patent 4,175,832, for *.example.
Further, the control unit 64 can regulate the size of the laser spot on the eye 44 in correlation to the movement :20 of the beam axis (through use of the scanning mirror 42) on the eye 44, thus precisely regulating the energy deposited on a specific area of the eye 44. Thus, non-axially symmetrical profiles can be generated on the corneal surface of the eye 44. Different types of diaphragms 36 can be used, for example ovals or circles with blocked centers.
Moreover, the scanning mirror 42 can be placed in the beam 22 not only after the diaphragm 36, but also before the diaphragm 36. It would then be preferable to move the diaphragm 36 synchronously with the scanning mirror 42.
17 In correcting spherical aberrations, the control unit 64 preferably moves the scanning mirror 42 such that the beam 22 oscillates from shot to shot in at least one direction, such as is illustrated by an arrow 12. Such oscillation compensates for inhomogeneity of the energy distribution over the beam 22. This oscillation finds application regardless of the maximum beam size.
To correct astigmatism, the scanning mirror 42 moves the axis of the beam 22 between at least two directions, neither of which are collinear with the axis of treatment of the eye 44. This permits treating an astigmatic eye, which, without being limited by theory, the latest research states has not one apex, but two. That is, it has the shape of camel humps. Also, the control unit 64 regulates the scanning mirror 42 such that the axis of the beam 22 oscillates at least one-dimensionally about each direction, thus compensating for homogeneity of the beam 22.
To correct for hyperopia, the axis of the beam 22 is preferably moved on a conic-shaped shell surface, it also 20 being possible to superimpose an at least one-dimensional oscillation to compensate for inhomogeneity of the beam 22.
By moving on a conic-shaped shell surface, a circular pattern of overlapping shots are projected onto the eye 44.
:"In adapting the diaphragm 36 to the typical shape of the cross-section of excimer laser beams, the diaphragm 36 may also have a non-axially symmetrical shape, with the diaphragm 36 being turned in order to homogenize the deposited energy during the movement of the axis of the -beam 22 on the conic shell. The homogenization is enhanced 18 if the turning of the diaphragm 36 occurs asynchronously to the rotation of the axis of the beam 22 on the conic shell.
Figure lB shows additional details of the typical eye surgery system 10 in which the method and apparatus according to the invention would be implemented. An excimer laser 20 provides a pulsed beam 22 to a beam homogenizer 24 after reflection from optics 26. A shutter 28 is also provided to block transmission of the pulsed beam 22 to the beam homogenizer 24. The excimer laser is a typical excimer laser as is well known in the art.
It preferably provides a 193 nm wavelength beam with a maximum pulse energy of 400 mJ/pulse. The excimer laser preferably provides maximum power at the treatment site of 1 W, with a pulse frequency of 10 Hz and a pulse length of 18 ns. Of course a variety of other excimer lasers could be used, and the apparatus and method according to the .*.invention further have application where a laser other than an excimer laser is used. By way of example, the *wavelength of the light from the laser is preferably less S'.i 20 than 400 nm, as that provides the desired ablating action with reduced thermal heating. Further, other pulse energies can be provided, such as all the way down to 200 mJ/pulse, with typical repetition rates of 60 to 100 pulses per second with a typical pulse length of 10 to 30 ns.
Again, all of these are merely typical values, and deviation from them can be made without changing the spirit of the apparatus and method according to the invention.
*.Further examples of such laser systems can be found in U.S.
patent 4,665,913, ent.itled "Method for Ophthalmological 19 Surgery," issued May 19, 1987, and U.S. patent 4,729,372, entitled "Apparatus for Performing Ophthalmic Laser Surgery," issued March 8, 1988.
The beam homogenizer 24 preferably includes standard homogenization and focusing hardware, which can be based both on optical mixing of the beam and on rotation of the beam. For an example of typical beam homogenization hardware, see U.S. patent 4,911,711 entitled, "Sculpture Apparatus For Correcting Curvature Of The Cornea," issued March 27, 1990. Note that by providing the "dithering" according to the invention as discussed below, the beam homogenizer 24 can be simpler than the beam homogenization hardware shown in that reference. From the beam homogenizer 24, the pulsed beam 22 is then reflected off of optics 30, which also passes a red pilot laser beam from a pilot laser 32. This pilot laser 32 is preferably a 633 nm helium neon laser of less than 1 mW of power. The red pilot beam from the pilot laser 32 can also be blocked by a shutter 34. The pilot laser 32 is aligned so that its 20 optical pathway coincides with the pulsed beam 22. The pilot laser 32 provides the functions of centering the beam 22 on the axis of treatment of the eye 44, and also provides for focusing on the eye 44, as is discussed below.
Further, it can provide an optical fixation point for the patient, although a different laser or light source could also be provided for that purpose.
From the optics 30, the pulsed beam 20 (now also coaligned with the beam from the pilot laser 32) then passes through an adjustable diaphragm 36, which allows the be :.~...through an adjustable diaphragm 36, which allows the beam size to be adjusted before it enters the final optics.
After the diaphragm 36, a spot mode lens 38, when in place, provides further concentration of the beam 22, allowing spot ablation of certain defects in the eye by a physician performing therapeutic rather than refractive surgery. The spot mode lens 38 is thus moved into and out of place depending on whether therapeutic or refractive treatment is desired.
Following the spot mode lens 38, a focusing lens directs the beam 22 onto the scanning mirror 42, which then reflects the beam 22 onto a patient's eye 44. Note that the portion of the beam 22 from the pilot laser 32 is used for both adjusting the distance of the eye 44 from the entire eye surgery system 10 and for providing centering, as will be discussed below. The focusing lens 40 focuses light such that when the eye 44 is at the optimal distance, the beam 22 is properly focused onto the eye 44.
These various lenses and mirrors thus combine to form an optical system providing an excimer beam to the cornea.
20 The optical system creates a laser spot on the cornea, and the spot size is adjustable, along with its location. It *will be readily appreciated that a wide variety of different systems could be used to optically provide such a beam. For example, .a lens could be used to adjust the spot size rather than an aperture, and instead of a scanning mirror, the patient or the patient's eye 44 could be physically moved to provide for shots at different ."".locations on the eye 44.
Also provided in the system according to the invention is a focusing laser 46, whose beam can also be blocked by a shutter 48. The focusing laser 46 is preferably a green helium neon laser providing a beam of a wavelength of 535 nm and less than 1 mW of power. The beam from the focusing laser 46 travels through optics 50 and impinges on the eye 44 at an angle. The distance of the eye 44 from the eye surgery system 10 is adjusted such that both the beam from the pilot laser 32 and the beam from the focusing laser 46 impinge on the surface of the eye 44 at the same point.
Further provided is an optional fixation mask 52, which is well known in the art and is used to stabilize the eye 44 during surgery. It can include debris removal components, and is typically attached to the eye 44 through either a vacuum suction ring or through hooks. A clean gas purge unit 54 ensures that the optics and the beams in the system are free from any floating debris.
A microscope 56 is provided for the physician to observe progress during ablation of the surface of the eye 20 44. The microscope 56 is preferably a ZEISS OPMI "PLUS" part No. 3033119910, with magnifications of 3.4, 5.6 and times. Field illumination is provided by a cold light .source not shown, which is preferably the Schott KL1500 Electronic, ZEISS part number 417075. This microscope 56 focuses through the scanning mirror 42 and also focuses """through a splitting mirror 58. The splitting mirror further provides a view of the eye 44 to an infrared video unit 60, which is used for the epithelial ablation discussed below. The infrared video unit 60 preferably provides an image output to a capturing video screen 62 and to a control unit 64. The infrared video unit 60 is preferably sensitive to both infrared light and visible light.
The control unit 64, which is typically a high performance computer compatible with an IBM PC by International Business Machines Corp., further preferably controls all components of the eye surgery system including the shutters 28, 34, and 48, the diaphragm 36, the spot mode lens 38, and the scanning mirror 42.
Figures IC and 1D illustrate an alternative mirror arrangement to that of the mirror 42 of Figures 1A and lB.
Instead of using the single mirror 42, two mirrors 80 and 82 are used in the path of the beam 22 to ablate the eye 44.
The first mirror 80 is mounted on an axis 84 that provides for adjustment of the beam in one direction, while the second mirror 82 is mounted on an axis 86 that allows fe adjustment of the beam in a second direction. When the 20 first mirror 80 is adjusted, for example, the beam 22 adopts an alternative beam path 88, which strikes the second mirror 82 at a different position, subsequently 0*e* o adjusting the position of the beam 88 onto the eye 44.
This is seen in Figure IC. The other axis of adjustment is 25 provided by the second mirror 82. Referring to Figure 1D it is seen that when the second mirror 82 is adjusted, the beam 22 takes an alternate beam path 90, thus allowing the 0* beam to be moved in the second axis.
e These two mirrors thus combine to allow the beam to be aimed anywhere on the eye 44. This combination of mirrors allows for mounting with a single axis of rotation, rather than the double axis of adjustment required by the mirror 42. This can simplify implementation of the optics of the excimer laser system 10. The mirrors are adjusted using servo motors coupled to the axis 84 and 86, with those servo motors not being shown.
Figure 2A shows a simplified top view of the cornea of a typical eye 44 on- which myopic correction has been performed. A treatment zone 100 of a width S is centered on an axis of treatment 102, which does not necessarily correspond to the optical axis of the eye 44. The treatment zone 100 is bounded by a first outer ablation ring 104, with subsequent ablation rings 106 to 114 shown spaced more widely towards the center of the axis of treatment 102 (note that preferably the smaller shots are performed first).
This wider spacing is topographical in effect, as in 20 a typical system, the change in spot radius between shots may actually be constant, but with a greater number of shots performed toward the periphery of the treatment zone 1 "100. Although only six ablation zones are shown, in a typical ablation pattern a greater number of spot sizes are 25 used, and a greater number of shots are also performed.
The ablation function for calculating the necessary depth of ablation for myopia is discussed below in conjunction with Figure 7A.
oooo In performing high dioptric correction for myopia, using the standard ablation function discussed below may result in an excessive depth of ablation along the axis of treatment 102. As illustrated in Figure 2B, the standard equation for myopic ablation would result, for example, in a curve 120 which would lead to a high depth of ablation along the axis of treatment 102, and would also result in sharp edges 122 at the corner of the treatment zone 100.
For simplicity, Figure 2B shows the effect of treatment on a flat surface rather than the surface of the cornea. For such a high degree of correction, the use of transition zones can significantly reduce the edge effects in healing and can also reduce *the center depth of ablation along the axis of treatment 102. These transition zones 124 and 126 effectively create a multi-focal lens. In Figure 2B, two transition zones 124 and 126 are shown resulting in a shallower ablation curve 128. The first of these transition zones 124 is created by performing a myopic ablation over the full width S of the treatment zone 100 20 using a lesser degree of correction than the ultimate correction desired. Only those shots of a radius falling into the radius of the transition zone 124 are performed, however, thus leaving a uniformly ablated surface inside transition zone 124 for further treatment. This results in an initial curve 130.
Then, another series of myopic ablation shots using the myopic ablation function discussed below is performed using a somewhat greater degree of correction but using a ~smaller "treatment zone" (in actual practice, the smaller shots are preferably performed first). This resulting curve and uniformly ablated area 132 creates the second transition zone 126. Finally, a series of shots are performed for the full desired correction but using an again narrower zone of treatment, resulting in the final curve 134. The use of transition zones is known to the art of photorefractive keratectomy, and is described, for example, in Chapter 6 of the Color Atlas/Text of Excimer Laser Surgery, 1993 Igaku-Shoin Medical Publishers, Inc.
These transition zones 124 and 126 reduce any sharp edges 122 from being created, which could otherwise result in undesirable patterns of epithelia regrowth, and also reduce ultimate depth of ablation along the axis of treatment 102.
The following are two typical tables showing transition zones. For treatment to correct -9.00 diopters of myopia over a 5 mm treatment zone 100, the following transition zones could be used: No. Min. Max, Correction 20 mm] mm [diopters] 1 0.50 4.00 -9.00 2 4.00 4.20 -7.50
S.
S" 3 4.20 4.40 -6.00 4 4.40 4.60 -4.50 25 5 4.60 4.80 -3.00 6 4.80 5.00 -1.50 Using this table, first a standard myopic correction using the equation discussed below would be performed for the 26 desired -9.00 diopters of correction, but instead over a treatment zone 4.00 mm wide. This provides full correction in the middle 4.00 mm zone. Then, a transition is created by ablating from 4.00 to 4.20 mm using the lesser correction of -7.50 diopters. This is repeated for the subsequent entries in the table, thus forming transition zones of a greater radius of curvature.
Without the transition zones, 88 pm would be ablated at the axis of treatment 102; with the transition zones, only 71 um is ablated--20% less. This is good for the stability of the cornea.
An example of treatment for -12.00 diopters over a full 7 mm treatment zone 100 is illustrated below: No. Min. Max, Correction [mm] [mm] [diopters] 1 0.50 2.00 -12.00 2 2.00 2.20 -11.54 3 2.20 2.40 -11.08 20 4 2.40 2.60 -10.62 5 2.60 2.80 -10.15 6 2.80 3.00 -9.69 7 3.00 3.20 -9.23 8 3.20 3.40 -8.77 25 9 3.40 3.60 -8.31 10 3.60 3.80 -7.85 11 3.80 4.00 -7.38 12 4.00 4.20 -6.92 13 4.20 4.40 -6.46
C
14 4.40 4.60 -6.00 4.60 4.80 -5.54 16 4.80 5.00 -5.08 17 5.00 5.20 -4.62 18 5.20 5.40 -4.15 19 5.40 5.60 -3.69 5.60 5.80 -3.23 21 5.80 6.00 -2.77 22 6.00 6.20 -2.31 23 6.20 6.40 -1.85 24 6.40 6.60 -1.38 6.60 6.80 -0.92 26 6.80 '7.00 -0.46 Figures 3A and 3B show an ablation pattern corresponding to one of the ablation rings 104 to 114 of Figure 2A, but using the laser "dithering," or "polishing," according to the invention. The term "dithering" is used in the sense that small random or pseudo random 20 fluctuations are added to the beam 22 to "smooth" *particular errors that would otherwise build up. Assuming 4 one of the ablation rings 104 to 114 of Figure 2A includes five shots at a particular spot size, Figures 3A and 3B show the effect achieved according to the method and 25 apparatus of the invention. In Figure 3A, the axis of treatment 102 is shown, upon which shots in past systems have been centered, as shown in Figure 2A.
According to the invention, however, the centers of 00 the five shots are randomly distributed in a dithering zone o*
S
28 140 with the center axis of each shot being away from the axis of treatment 102. Five shots using randomly distributed centers 142 through 150 result in five individual excimer laser ablation shots 152 through 160.
The radius of the dithering zone 140 is preferably somewhat less than the radius of the shots themselves. As can be seen, any reinforcement--i.e., ridge height greater than a single shot ridge height--occurs only incidentally, and generally the ridges are distributed over a dithering band 162. This provides a "smoothing" effect, reducing average ridge height.
Figure 3B shows an alternative manner of performing this polishing, in which the shot centers 142 through 150 are evenly distributed around the periphery of the dithering zone 140. This case insures that none of the ablation shots 152 through 160, even though of the same radius, form reinforcing ridges.
In this manner, a smoother surface of the eye 44 is achieved during ablation to correct for myopia. This polishing, or dithering, could also be described as an "oscillation" of the laser spot upon the cornea. This dithering could also be one dimensional rather than two, and could also be created by vibrating the patient's eye 44, such as by vibrating the mask 52 or the patient 25 himself. For example, a small mechanical vibrator could be placed in a patient table or in the mask 52. This could then provide the oscillation necessary. As can be readily appreciated, such a dithering technique can be applied to other forms of correction, such as using ring apertures and slit apertures to correct for hyperopia and astigmatism, as *e 29 are known in the art. Further, the dithering could be applied to any other shot patterns such as for hyperopia and astigmatism, thus reducing the effects of both ridge height and beam 22 inhomogeneity.
Figures 4A and 4B illustrate a large beam scanning pattern used to correct for astigmatism according to the system and method of the invention. In the prior art, variable size slits were generally used to perform this correction, requiring further hardware and generally inflexible patterns of correction.
The method and apparatus according to the invention, however, correct astigmatism within the treatment zone 100, here with width S and length L, through a series of lines 170 and 172 created by a series of overlapping shots in the area to corrected for astigmatism. In the diagram, only the first line 170 and the second line 172 are shown, with the first line created using smaller spot sizes than the second line 172. According to the method of the invention, a lesser or greater number of lines are used to provide the 20 desired degree of correction for astigmatism. This results i'""in the ablation profile as shown in Figure 4B. This profile generally corresponds to the curvature needed for a myopia ablation, whose formula is discussed below in conjunction with Figure 7A.
go o.eoo A typical pattern used for ablating to correct for astigmatism for a -2.00 diopter correction would involve shots of: No. Soot Size Shots 1 1.067 11 2 1.679 8 3 2.141 7 4 2.484 7 5 2.726 6 6 2.885 6 7 2.977 6 8 3.019 6 9 3.022 6 10 3.000 6 At each spot size, a line is created corresponding to the lines 102 and 104, and preferably the spots overlap by approximately 88%. This would create an appropriate modified curvature corresponding to a -2.00 diopter correction for astigmatism. These would be spread over a 3 mm width S of the treatment zone 100.
Figure 5 is an illustration of shot patterns used to correct for non-symmetrical astigmatism. In this case, only a single treatment line 174 is shown; typically, a greater number of lines would be used, but for clarity, the single line 174 illustrates the treatment of a curved astigmatism that does not extend linearly across an axis of treatment 102 of the eye 44. In this way, a greater 30 variety of types of astigmatism are correctable.
Figure 6A illustrates the large beam scanning according to the invention used to correct for hyperopia without using ring apertures. Instead, only the single *We 0* 0 31 diaphragm 36 is used to adjust the spot size, and a circular ablation ring 180 over the treatment zone 100, as is well known to those skilled in performing hyperopic ablation, is created using multiple rings of different spot sizes and various overlaps. The approximate ablation profile is shown in Figure 6B. The formula for the curvature for hyperopic ablation is discussed below in conjunction with Figure 7B.
It will be noted that the shots for hyperopic ablation extend beyond the zone of treatment 100 of width S. The shots outside of this area do not provide for optical correction, but instead provide a smooth transition at the edge of hyperopic ablation. Further, although the circular ablation ring 180 is not shown extending all the way to the center of the axis of treatment 102, the final series of shots at the largest shot size preferably extend very close to that axis, to provide a smooth profile from the center of the axis of treatment 102 to the edge of the treatment zone 100.
A typical shot pattern for hyperopic correction of 5.00 diopters would involve shots of: SnOt Size Shots 0verlaD 1 2.000 1052 99.25[%] 2 2.469 128 3 3.060 104 4 3.966 80 4.600 27 87
C~
32 In this pattern, each series of shots is used to create a ring with centers at a radius of 2.5 mm from the axis of treatment 102 of the eye 44. In this case, the preferred overlap is variable per treatment ring, and is illustrated in the table.
As can further be appreciated, although the illustrated shot patterns use circular apertures, another aperture shape could be used to create the hyperopic correction pattern and the astigmatism correction pattern according to the invention. For example, an oval shot shape could be used, and that oval could be rotated during the hyperopic correction, such that one axis of the oval pointed to the axis of treatment 102 of the eye 44.
Alternatively, the oval could be rotated asynchronously with the rotation about the axis of treatment 102, thus further reducing the effects of inhomogeneity of the beam 22.
Figures 7A and 7B illustrate various mathematical attributes of the ablation profiles of the preceding .20 ablation patterns. Figure 7A shows a typical ablation profile for myopic ablation and Figure 7B illustrates a typical ablation profile for hyperopic ablation. In both, the initial radius of the cornea of the eye 44 is given by ROL and the new, desired radius of the cornea of the eye 44 is given by RNEW. The absolute zone of treatment 100 is designated of a width S, which corresponds to the effective area that performs the corrective function. It is typically between 2 and 8 mm, but can be larger or smaller.
~The depth of ablation at any point within the treatment 33 zone 100 of width S is given by a variable A, which stands for ablation depth. The distance from the axis of treatment 102 is given by a variable p.
To calculate the new radius R.W, the old radius RoLD and a desired dioptric correction DcoR is used in the following equation: NEWRADIUS (RO,DCOJ) n-i -D DCORS.
ROLD
NEW RADIUS returns a parameter indicating the new radius of correction needed, RNW, to given ROLD and DcoR Both ROLD and REW are measured in meters, and are typically between 5 and 15 mm.
The formula for calculating the necessary depth of ablation to correct for myopia as illustrated in Figure 7A is given below: MYOABLATE Ro, S, Dco&) .*TK If 1 }2 O 1Ro D o p OLD CORA 2 S2 Ro 2 2 n-l.Ro Do 4
S
15 The myopic ablation function MYO_ABLATE returns a needed depth of ablation at a particular distance p from the axis of treatment 102, given the uncorrected radius of curvature
I*
34 of the eye 44 RoLD, a desired zone of correction S, and a desired degree of correction Dec0. The function MYO ABLATE also provides the appropriate degree of correction across the width S of a trench used to correct for astigmatism, as illustrated in Figures 4A and 4B.
Turning to Figure 7B, the formula for hyperopic ablation is given below: HYPABLATE ,Ro ;Dc R(RO(n-l) 2 R (n-l) v n-1. Row Dco n-l .Ro Dco -D CO o The hyperopia ablate function HYP ABLATE only uses three parameters, as it does not need optical zone of correction S.
These specific algorithms for creating appropriate curvatures are well known in the art and can be found in MUNNERLYN, C. AND KOONS, PHOTOREFRACTIVE KERATECTOMY: A TECHNIQUE 15 FOR LASER REFRACTIVE SURGERY, Cataract Refract Surg., Vol. 14, (Jan. 1988).
Further, in the- routines for performing ablation discussed below in conjunction with Figures 9-14, the inverse of these equations are needed. While the above 20 equations return a depth of ablation needed at a particular value of p for a given degree of correction, the inverse equations do the exact opposite. They return the particular value of p at which a particular depth of ablation is needed given a particular degree of correction.
These equations are given below: INJVMYOABLATE (ROD, S; A, DCt) (R2 RR 22CA OLDAM
C-A/
wihere C. WR-(S/2) 2 and R *w NEWRADIUS(Rw c" INV HYP ABLATE
DCOR
2 2 p C-) 2
II
2 ROLD
CAC-AJ
where C-R ME
L
a nd R~-NEW RADIUS (R 0 LDFDc 0 The inverse myopic ablation function INVMYGABLATE returns a parameter indicating the distance corresponding to p from the center of ablation in meters given a depth of ablation A, also in meters. It also uses the parameters ROLD, S and DcR The inverse hyperopic ablation function INV_-HYP_-ABLATE *also returns a radius from the center of ablation in meters corresponding to p, given a depth of ablation A at a certain correction DcoR. It returns p indicating how far away from the center of ablation a certain depth of ablation will be found.
Figure 8 illustrates how the system using aiming of the axis of ablation and variable spot sizes can correct for any topography of the eye 44 that is abnormal, including non-symmetric topographies. In Figure 8, one line of a desired treatment topography 190 is illustrated.
This could be retrieved, for example, from a computerized eye topography system which indicates various abnormalities in the surface of the eye 44. Using such a topography system, the eye surgery system 10, using the control unit 64, then performs a series of shots, which, for simplicity, are illustrated as eight shots 192 through 206. In actual practice, a far greater number of shots would likely be used. As the system knows the needed ablation at each point, it creates a map of the topography desired and performs ablation using various shot sizes aimed at various points to perform the necessary correction. In this way, a wide variety of non-symmetrical defects of the cornea can be corrected, such as apple and banana shapes, as well as *i any other abnormal shape.
Figure 9 is a flowchart illustrating a CALCULATE routine 700 that would execute preferably on the control unit 64. The CALCULATE routine 700 calculates a series of shot patterns necessary to perform the desired ablation of the eye 44 to correct for a variety of conditions. In the described embodiment, shot patterns are created to correct O 37 for astigmatism, hyperopia, and myopia as described in conjunction with preceding Figures 2A to 7. Further, the dithering as illustrated in Figures 3 and 4 is applied to myopic correction shot patterns.
Preferably, the CALCULATE routine 700 runs in the control unit 64, which performs the necessary shot calculations before beginning an ablation sequence. By having all the points precalculated, there is no delay in calculation, so each successive shot can be fired in rapid sequence, as soon as the excimer laser 20 is ready. This provides for quicker treatment times and less difficulty in having the patient center on an optical fixation point.
Beginning at step 702, the CALCULATE routine 700 sets a variable START DITHER to 1. This variable indicates the first ablation shot at which dithering is to begin, and is further discussed below. Note that all of the ablation shots are preferably stored in an array, and START DITHER indicates a location within that array. Control proceeds from step 702 to step 704, where the routine 700 determines 20 whether astigmatism correction is desired. This is preentered by the physician, including both angle of and degree of astigmatic correction, along with the maximum treatment area. As is readily apparent, the routine 700 could also request a degree of curvature for the line of 25 astigmatic correction in the case of non-symmetric e* S astigmatism, and even provide for greater correction towards one or the other ends of the astigmatic region.
If astigmatic correction is desired, control proceeds ~from step 704 to step 706, where an ASTIGMATISM routine 750 38 is performed (discussed below in conjunction with Figures and 10B), creating the appropriate shot patterns for the desired astigmatic correction. These shot patterns, for example, correspond to those discussed in conjunction with Figures 4A and 4B.
Once the shot pattern for astigmatic correction is calculated at step 706, control proceeds to step 708, where START_DITHER is set to a variable LAST VECTOR. LAST VECTOR points to the last calculated shot in the array for an ablation run. In this case, it points to the last vector calculated by the ASTIGMATISM routine 750. Because astigmatism involves overlapping shots rather than potentially reinforcing shots, dithering is preferably not performed during astigmatism correction in the disclosed embodiment, although it could be.
From step 704, if no correction for astigmatism was desired, and from step 708 in any case, control then proceeds to step 710, where the CALCULATE routine 700 determines whether correction for myopia is desired. If S 20 not, correction for hyperopia is desired, so control proceeds to step 712 where a HYPEROPIA routine 850 is performed, to be discussed below in conjunction with Figure i 12. As correction for hyperopia is similar to correction for astigmatism, but with the shots in a circle rather than a line, dithering is preferably not performed (although it could be) in the disclosed embodiment, so control then proceeds to step 714, where the routine 700 returns to a master routine, which then allows the physician to begin oe o execution of the shot sequence calculated by the CALCULATE routine 700.
If at step 710 it was determined that correction for myopia is desired, the CALCULATE routine 700 then proceeds to step 716, where it determines whether transition zones are requested. If so, multiple myopic shot series must be formed with the initial "transition zone" series being created by performing a myopia correction. This was discussed above in conjunction with Figure 2B. So, control proceeds to step 718 where a MYOPIA routine is performed to create a transition zone. This creates a standard myopia correction shot sequence for the transition zone.
Proceeding again to step 716, it is again determined whether more transition zones are required. If the last transition zone shot sequence has been calculated, or if none is needed, control then proceeds to step 720, where the MYOPIA routine is again executed, this time to provide the final correction for myopia.
The creation of series of shot sequences to correct 20 for myopia is well known in the art. Given the necessary depth of ablation as determined by the MYO_ABLATE function described above, a shot pattern is created using appropriate shot sizes to conform to the necessary depth of ablation at each point radiating away from the axis of treatment 102.
Control then proceeds to step 722, where a DITHER routine 940 or 970 is executed as described below in conjunction with Figures 13 and 14, performing dithering, or randomizing, on all shots from START_DITHER as set in either step 702 or step 708 to LASTVECTOR, which was described above in conjunction with step 708. At this point, calculation of the ablation shot sequence is complete, so control proceeds to step 714 where the CALCULATE routine 700 returns to the main program so that the physician can execute the ablation run as is now stored in the array.
Figures 10A and 10B are a flowchart of the ASTIGMATISM routine 750 that is used to calculate the shot vectors necessary to create "trenches" of overlapping lines to correct for a desired dioptric degree of astigmatism along a particular axis. An appropriate number of trenches are created, with each trench preferably using progressively larger spot sizes. Beginning at step 752, the necessary depth of overall ablation is calculated at the deepest part of the series of trenches. This is done using the myopic ablation function MYO ABLATE, described above in conjunction with Figure 7A. A variable MAX_ABLATE is set to the value returned by MYO ABLATE using p 0, indicating 20 the necessary depth at the center of the trench (the deepest point). Also passed to MYO_ABLATE are the uncorrected radius of curvature ROLD, the necessary dioptric correction DcR, and the width of the astigmatism treatment zone S. Note that S is equal to the width of the astigmatism treatment zone, not the length.
Control then proceeds to step 754, where the necessary depth- of ablation per trench is calculated. This is preferably calculated as is MAX_ABLATE above, but instead S. setting a variable ABLATE, which indicates the amount of 41 ablation per trench, to a value equal to MAX ABLATE divided by 10. This indicates.that preferably ten trenches are to be made, although less may be required as the amount of ablation per trench is calculated.
Control then proceeds to step 756, where a variable DEPTH is set equal to the previously calculated MAX_ABLATE minus ABLATE. DEPTH indicates the amount of ablation remaining to be performed to provide the desired degree of correction.
Control then proceeds to step 758, where a minimum spot diameter MIN SPOT DIAM is calculated, indicating the smallest spot diameter to be used to create a trench.
MINSPOT DIAM is set equal to two times the radius returned by the inverted myopic ablation function INV_MYO_ABLATE.
INV MYO ABLATE is called with the initial radius of curvature Roo, with A set to DEPTH plus ABLATE/2, with DcoR as the degree of dioptric correction desired, and with S as the width of the treatment zone. The value returned by calling this function is the radius at which 95% of the 0 s20 overall ablation depth needed will be performed, and this radius will preferably be relatively close to the center of the axis of treatment--i.e., the radius will be small compared to the overall width of each trench.
Proceeding to step 760, a maximum spot diameter MAX SPOT DIAM is set equal to S, which is simply the width of the astigmatism treatment zone 100 (not the length) S* Proceeding to step 762, a loop is entered that creates a series of trenches to provide for the overall degree of correction for astigmatism needed. First, at step 762 it goes is determined whether DEPTH is greater than zero. Again, DEPTH is the remaining depth necessary to ablate, which will be greater than zero when enough trenches have not been created to provide the desired degree of correction.
If DEPTH is greater than zero, control proceeds to step 764, where the spot diameter SPOTDIAM is set equal to two times the result returned by INV_MYOABLATE, when that function is called with A set equal to DEPTH. This returns the radius at which the ultimate necessary ablation equals DEPTH. As DEPTH is initially nearly equal to the overall depth of ablation needed, the initial spot diameter will thus be small.
Proceeding to step 766, the spot diameter SPOT_DIAM is empirically corrected. This is done by setting SPOT_DIAM equal to (1 (.3*SIN(r. (SPOTDIAM-MIN_SPOT_DIAM)/ (MAX SPOT DIAM MIN SPOT This performs an empirical adjustment to the spot diameter to provide better results and better conform the overall correction to the desired curve necessary to correct for astigmatism.
20 Proceeding to step 768, a variable STEP indicating the amount to move the spot target on each succeeding shot is set equal to SPOT DIAMo(DEPTHPERSHOT/ABLATE).
DEPTH PER SHOT is the amount of ablation per shot, and is S: typically .2 mun. Then, at step 770 a variable OVERLAP is 25 set equal to 100*(SPOTDIAM STEP)/SPOT DIAM. This is the amount of overlap in percent needed for each shot.
Proceeding to step 772, a routine LINE 800 is called, discussed below in conjunction with Figure 11, with e set to the angle at which to create the line of astigmatism, a 43 LENGTH variable set to a predetermined length of the astigmatism series of shots plus 2*SPOT DIAM, SPOT_DIAM indicating the spot size, and OVERLAP.
The series of shots for the line having been created, control proceeds to 774, where DEPTH is reduced by ABLATE, which is the amount to ablate per trench. Control then loops to step 762, where the reduced value of DEPTH is again compared to zero. This loop is repeated, creating lines of shots with progressively larger spot diameters, until DEPTH is less than zero. DEPTH will be less than zero when virtually all of the ablation shots have been calculated necessary to perform the desired degree of correction.
Once DEPTH is less than zero, control proceeds to step 776, where it is determined whether DEPTH plus ABLATE is greater than DEPTH PER SHOT. If not, then another line of ablation should not be performed, as that would provide too much correction, so control then proceeds to step 778 where the ASTIGMATISM routine 750 returns to the CORRECTION 20 routine 700.
If at step 776 the "residue" of ablation still needed does not exceed DEPTH_PER_SHOT, control instead proceeds to step 780. There, SPOT DIAM is set to the maximum spot diameter of S, which is the width of the treatment zone 100 25 for the astigmatism line of trenches, STEP is set equal to SPOT DIAM*DEPTH PER SHOT/(ABLATE DEPTH) and OVERLAP is set equal to (SPOT DIAM STEP).100/SPOT_DIAM.
Control then proceeds to step 782, where a final trench is created using the variables set at step 780 spot 44 width by calling the routine LINE 800. The routine 750 then returns at step 778.
The ASTIGMATISM routine 750 thus creates a shot pattern as described above in conjunction with Figure 4A.
Figure 11 is a flowchart of the LINE routine 800.
This routine 800 calculates the shots for the generation of a line used in creating an astigmatism correction sequence of shots. The desired spot size is passed to the routine 800 in a variable SPOT DIAM, an overlap percentage is passed in a variable OVERLAP, and the length of the line is determined by a LENGTH variable passed to the LINE routine 800.
Beginning at step 802, the LINE routine 800 first calculates the step size, which is equal to SPOT DIAM* (1-OVERLAP). Proceeding to step 804, the number of shots required is calculated equal to the truncated value of (LENGTH SPOTDIAM STEP)/STEP. Proceeding to step 806, a counter variable I is set equal to a variable START VECTOR which is equal to LAST_VECTOR 1.
LAST VECTOR is set equal to I upon completion of the LINE routine 800.
Control then proceeds to step 808, where a variable corresponding to the X axis displacement from the axis of treatment 102 is set equal to ((LENGTH SPOT_DIAM)/2)'cos 8, where 8 is the angle of desired astigmatic correction.
In step 810, Y is correspondingly set to ((LENGTH SPOT DIAM)/2).sin 8.
.Control then proceeds to step 812, where it is determined whether I equals START_VECTOR plus SHOTS, indicating the end of this line of shots. If not, control proceeds to step 814, where an array location X SHOT(I] corresponding to the shot location of this particular shot is set equal to X and Y_SHOT[I] is correspondingly set equal to I. Then, at step 816 X is set equal to X (STEPecos 6) and Y is set equal to Y (STEP-sin 8).
This is the delta increment required for the next shot.
Control then proceeds to step 818, where I is incremented, and the routine then loops to step 812. Once I is equal to START VECTOR SHOTS, indicating the end of this line, the routine returns to the ASTIGMATISM routine 750 at step 814.
Figure 12 is a flowchart of the HYPEROPIA routine 850 that creates circular trenches about the axis of treatment 102. It is similar to the ASTIGMATISM routine 750, but creates the circular trenches of an appropriate profile to correct for hyperopia rather than for astigmatism (which uses a myopia correction function).
Beginning at step 852, a variable DEPTH is set equal 20 to the parameter returned by HYP_ABLATE discussed above in conjunction with Figure 7B, when p is set equal to S/2 MINSPOTRADIUS, where S is the diameter of the appropriate area of treatment and MIN_SPOT_RADIUS is the minimum spot size to ever be used for hyperopia ablation, 25 which could be set, for example to 200 m. HYP_ABLATE is also called with RoLD representing the uncorrected curvature of the eye 44 and DCORR representing the desired degree of dioptric correction. DEPTH thus equals the remaining depth to ablate. It is initially less than the total depth to 46 ablate, as p was set just inside the circle of ablation as indicated by S/2 with MIN SPOT RADIUS subtracted, which is the first spot radius at which to ablate.
Proceeding to step 854, a variable ABLATE, which indicates the amount to ablate for this hyperopia treatment, is set equal to a parameter returned by HYP_ABLATE called with p equal to S/2, with that returned parameter decreased by the amount DEPTH. Thus, ABLATE is the difference in depth at the edge of the area of treatment as indicated by S/2 and the depth at a distance MINSPOT RADIUS just inside that treatment area.
Proceeding to step 856, a variable SPOT_DIAM is set equal to MINSPOT RADIUS*2, a variable STEP is set equal to SPOT_DIAM*DEPTH_PER_SHOT/ABLATE, and a variable OVERLAP is set equal to ((SPOT DIAM STEP)/SPOTDIAM) *100 expressed as percent). Thus, the first circular trench will be shot using the minimum spot diameter as indicated by MINSPOT_RADIUS-2.
Proceeding to step 858, a routine CIRCLE LINE is 20 called which calculates the series of shots necessary to ablate a circular trench given the variables SPOTDIAM, S" STEP, and OVERLAP. The CIRCLELINE routine directly corresponds to the LINE routine 800, except that the circle is shot at a fixed radius given by S/2, instead of being 25 shot along a line. Its implementation corresponds to the LINE routine 800, with the exception that each succeeding shot is incremented along the radius of p equal to S/2, rather than along a line.
47 Proceeding to step 860, ABLATE is set equal to a parameter returned by HYP ABLATE when HYP ABLATE is called with p equal to S/2, with that returned parameter then divided by 10. This corresponds to preferably ten trenches being ablated to form the appropriate profile of curvature to correct for hyperopia.
Proceeding to 862, DEPTH is then set to DEPTH minus ABLATE, which reduces DEPTH by 1/10th of the total depth needed to ablate the hyperopic trench.
The routine 850 then proceeds to step 864, where it is determined whether DEPTH, which indicates the total depth remaining to ablate, is greater than zero. If so, then there remaining trenches to ablate, so the routine proceeds to step 866, where SPOT DIAM is set equal to the parameter returned by INV HYP ABLATE when that function is called with A equal to DEPTH. This then returns the radius at which ablation must occur to a depth equal to the current value of DEPTH in order to provide the appropriate correction for hyperopia. This returned parameter, however, is a radius from the axis of treatment 102. To calculate the actual spot diameter, SPOTDIAM is set equal to 2. (S/2 SPOT DIAM). This sets SPOT DIAM to two times the difference of the radius of the actual zone of treatment minus the radius at which the current ablation 25 depth is to occur. This difference in radii times two is thus equal to the spot diameter for the current trench to ablate.
Proceeding to step 868, STEP is set equal to SPOT DIAM.DEPTH PER SHOT/ABLATE. Proceeding to step 870, OVERLAP is set equal to ((SPOTDIAM STEP)/SPOTDIAM)'100, which sets the appropriate overlap in percent.
Using these values of SPOT DIAM and OVERLAP, and with p equal to S/2, at step 872 the routine CIRCLE LINE is called, creating a circular trench. Proceeding to step 874, DEPTH is again set equal to DEPTH minus ABLATE. The routine then loops to step 864, and continually loops through steps 866 through 874 until DEPTH is not greater than zero.
When DEPTH is not greater than zero at step 864, the routine 850 proceeds to step 876, where it is determined whether ABLATE plus DEPTH is greater than RESIDUE, where RESIDUE is an arbitrary value at which another trench is not to be ablated. This value is preferably 500 microns, although could be a different value. If ABLATE plus DEPTH is greater than RESIDUE, then more than that RESIDUE value remains to be ablated, so the routine 850 proceeds to step 878, where a final trench is created using a SPOT DIAM of 2. (S/2 MIN SPOT SIZE) and an OVERLAP of ((SPOTDIAM 20 STEP) /SPOT DIAM).100. Then from step 876 and step 878, the routine returns at step 880.
a. "Figure 13 is a flowchart of a RANDDITHER routine 940 which corresponds to the DITHER routine as noted in step 722 of Figure 9. The RANDDITHER routine 940 randomly dithers all vectors in the described array from START_DITH to LAST VECTOR. START DITH was previously set at step 702 or step 708 of Figure 9 to be equal to the first array location following shots used for correction of astigmatism. Thus, dithering is preferably applied to the e 49 myopia correction, rather than to the astigmatism correction. The RAND DITH routine 970 creates a shot pattern as is illustrated in Figure 3A.
The RAND_DITHER routine 940 begins at step 942 by setting a counter variable I to STARTDITH. Control then proceeds to step 944, where an intermediate variable X DUM is set equal to a random number RANDOM between 5 and times AMPLITUDE times SPOT SIZE[I]. The variable AMPLITUDE was passed to the RANDDITHER routine 940 as indicating the appropriate amplitude of dithering in fractional percentage of spot size, and SPOTSIZE[I] corresponds to the spot size for this particular shot.
Control then proceeds to step 946, where the routine 940 determines whether the absolute value of XDUM is greater than a limiting size denoted by a variable LIMIT, which is predetermined by the system. If X_DUM is too large, control then proceeds to step 948, where X_DUM is set equal to LIMIT XDUM/ABS(XDUM), which sets X DUM to LIMIT with the appropriate sign appended.
20 If XDUM was not too large in step 946, and in any case from step 948, control then proceeds to step 950, where XSHOT[I] is set equal to XSHOT[I] X DUM, which provides a random dithering effect according to the invention. Control then proceeds to steps 952, 954, 956, 25 and 958, where YSHOT[I] is adjusted with the random dithering as XSHOT[I] was dithered at steps 944 through 950.
Control then proceeds from step 958 to step 960, where the RAND DITHER routine 940 determines if I LAST VECTOR, indicating that the last vector desired has been dithered.
If not, control proceeds to step 962, where I is incremented, and control then loops to step 944 to process the next shot.
If at step 960 I equals LAST VECTOR, the RAND DITHER routine 940 is complete, so the routine 940 then returns at step 964.
Figure 14 shows an alternative routine CIRCLE_DITH 970, which can be used instead of the RAND DITH routine 940. A shot pattern as created by the CIRCLE_DITH routine 970 is illustrated in Figure 3B. The CIRCLE_DITH routine 970 begins at step 972, where a variable NUM_VECT is set LAST VECTOR START VECTOR, both of which were passed by the calling routine. Proceeding to step 974, it is determined whether NUM VECT/ROTATIONS is less than 10. The variable ROTATIONS is passed to the routine 970 to indicate how many circular rotations to make around the axis of treatment 102 in adjusting all of the shots. The check is made at 974 to prevent an excessive number of rotations if 20 there are insufficient shots. For example, if there are only twenty vectors, ten revolutions would result in two sets of ten shots each 180° apart. By arbitrarily requiring NUM VECT/ROTATIONS to be at least 10, this prevents such accumulation of shots, requiring the shots be distributed 25 over at least ten different points around the axis of treatment 102. If NUM VECT/ROTATIONS is less than control proceeds to step 976, where ROTATIONS is set equal to the truncated value of NUM VECT/10. From step 976 and 974, if that step was not true, control then proceeds to step 978, where I is set equal to START VECTOR.
Control then proceeds to step 980, where X SHOT[I] is set equal to X SHOT[I] (DIAM/2)*cos ((2n*I-ROTATIONS)/NUMVECT). This circularly adjusts the center of each shot. YSHOT[I] is correspondingly adjusted in step 982.
From step 982, control proceeds to step 984, where it is determined whether I is equal to LAST VECTOR. If not, control then proceeds to step 986 where I is incremented for another pass through steps 980 and 982 to adjust subsequent vectors.
If from step 984 I is equal to LASTVECTOR, control then proceeds to step 988, where control returns to the CALCULATE routine 700.
It will be readily appreciated that this dithering, or oscillation, could also be applied one dimensionally, and could be used for hyperopia and astigmatism correction as well.
20 Figure 15 illustrates an image returned by the video unit 56 in performing epithelia ablation using infrared dye and using the scanning large beam according to the invention. The epithelium is typically approximately 50 um thick. As the preferred excimer laser 20 used in the 25 system S according to the invention ablates approximately .2 um per shot, 250 initial shots will typically be needed until the epithelium has been ablated. At some time before that point, however, variations of the epithelia thickness come into play. For example, some points might be 40 Ium thick, while others are 60 lum thick.
The system S according to the invention removes the epithelium by sensing when it has completely removed at least a portion of the epithelium, and then selectively removing the remainder. Figure 15 illustrates an epithelial removal zone 1000 in which a predetermined number of shots have been previously performed using a spot size the size of the epithelial removal region 1000. After each shot, the infrared video unit 56 captures any infrared fluorescence emitted from the eye 44. This fluorescence is created by first dyeing the epithelium with an infrared fluorescent dye that does not dye the layers underlying the epithelium. This dye is preferably infrared fluorescent to reduce the possibility of a pumped lasing action into the eye 44 of damaging frequencies of light at damaging energies. Other dyes could be used, including visible light emitting dyes, if it is ensured that no pumped lasing .action will occur that might damage the eye 44. Infrared 20 fluorescent dye is also preferred to prevent any distracting optical affects to the patient while the epithelium is being ablated.
After a predetermined number of shots, the video unit S56 will detect some portion of the epithelial removal 25 region 1000 that does not fluoresce. This indicates that there is no infrared fluorescent dye at that location, *which correspondingly indicates the epithelium has been entirely ablated at that point.
In Figure 15, two regions 1002 and 1004 are shown in which all of the epithelium has been removed by the predetermined number of shots. At this point, the spot size is reduced, and a region 1006 in which the epithelium still remains, as indicated by the infrared fluorescent dye, is further ablated.
Either under computer control or under physician control, the selective ablation is performed as illustrated in Figure 16. In Figure 16, the remaining region 1006 has been further ablated using reduced spot sizes, forming further epithelial free regions 1008, 1010, 1012, 1014, and 1016. The video unit 56 further observes the epithelial removal region 1000 during ablation of each of these remaining regions, detecting when a certain portion of those regions do not fluoresce. Again, differences in epithelial depth across each of these regions can result in only partial ablation of the epithelium in these remaining regions. For example, an island 1018 of epithelium is shown remaining in the region 1008 which has been further 20 ablated. Such islands must be further ablated, along with any remaining portion of the epithelium 1006 which has not been removed by the subsequent ablation.
It will be recognized that by keeping a computer map of the epithelial removal region 1000, along with the number of shots fired onto each particular point in that region, a map of epithelial thickness can be created. By knowing the ablation depth of each shot, along with where each shot has been fired, it is known how many shots a particular point receives before all of the epithelium is 9oo 54 removed from that region. Thus, a map of the thickness of the epithelium is created. This map would be similar to that created in correcting for non-symmetrical optical aberrations as discussed in conjunction with Figure 8.
It will be appreciated that the large beam scanning and dithering according to the invention need not only be applied to the surface of the eye 44. For example, U.S.
patent 4,903,695, entitled "Method and Apparatus for Performing a Keratomileusis or the Like Operation," issued February 27, 1990, discloses a method of removing a portion of the cornea from the eye and then ablating the exposed surface. Thus, the method and apparatus according to the invention can also be used on the exposed surface resulting from such a Keratomileusis type procedure. In such a case, the axis of treatment 102 would fall either on either the severed portion of the cornea or on the surface of the cornea from which a portion had been severed.
Figure 17 is perspective view of a lens ablation pattern 1100 according to the invention for correcting for 20 myopia. Figure 17 illustrates in perspective greater ablation depth corresponding to the height of the perspective drawing. The lens ablation pattern 1100 is created by creating two standard astigmatism ablation patterns 1104 and 1106 "cylindrical lenses") as 25 illustrated and discussed in conjunction with Figures 4A, 4B, 10OA, 10B, and 11. These two standard astigmatism S.ablation patterns 1104 and 1106 are preferably created at right angles to one another.
The lens ablation pattern 1100 includes a central region 1102 where the two standard astigmatism ablation patterns 1104 and 1106 intersect. The central region 1102 preferably encompasses the optically active area of the treatment zone, while the arms of the standard astigmatism ablation patterns 1104 and 1106 extend outward from that treatment zone.
Figure 18A is a top view of the perspective view of Figure 17. As can be seen, the central region 1102 encompasses an optically active area 1200 of the treatment zone. It is preferable that the optically active area 1200 resides within the central region 1102 where the two standard astigmatism ablation patterns 1104 and 1106 intersect, but that is not absolutely necessary, as a small portion of the central region 1102 could extend into the separate arms of the standard astigmatism ablation patterns 1104 and 1106.
Figure 18A also shows a transition zone 1202, which would correspond to extra ablation on the sides of each of 20 the standard astigmatism ablation patterns 1104 and 1106 to provide a smooth transition zone, preventing ridges, as discussed above in conjunction with Figures 2B and 9.
:Figures 18B and 18C show end-on views of each of the standard astigmatism ablation patterns 1104 and 1106, along 25 with the central region 1102.
When two standard astigmatism ablation patterns 1104 and 1106 are created at right angles, the central region e 1102 results in a lens with the focusing properties of the standard spherical lens used to correct myopia. For •5eo 0 @0 example, if two -2.00 diopter standard astigmatism ablation patterns 1104 and 1106 are ablated at right angles, the resulting central region will be a -2.00 diopter myopia correcting lens.
It is believed that by creating the cylindrical lens in the central region 1102 through the two standard astigmatism ablation patterns 1104 and 1106, central islands can be minimized. In any case, use of the two standard astigmatism ablation patterns 1104 and 1106 to create a lens with spherical lens properties further increases the advantages of large-beam scanning dithering, as described above in conjunction with Figures 3A, 3B, 4A, and 4B.
Further, astigmatism can also be treated by providing a lower diopter correction for one of the standard astigmatism ablation patterns 1104 or 1106 than the other.
For example, use of -1.00 diopter correction at 90° and 2.00 diopter correction at 0° will result in -1.00 diopter of myopia correction with an additional -1.00 diopter of 20 astigmatism correction at 0.
Ablation of the cylindrical lenses that form the standard astigmatism ablation patterns 1104 and 1106 at angles other than 90" to one another also creates a lens that corrects for myopia while simultaneously providing 25 further correction for astigmatism. For example, a -2.00 diopter correction at 0° in conjunction with a -2.00 diopter correction at 450 results in a -0.59 diopter correction for myopia with a further -2.83 diopter correction for astigmatism at 22.5*. Similarly, a -2.00 diopter correction at 0 in conjunction with a -2.00 diopter correction at 10 results in a -0.03 diopter correction for myopia in conjunction with a -3.94 diopter correction for astigmatism at 5 These are calculated using standard formulas based on adding lenses, as are known to the art.
It will be appreciated that whatever the method used to create the standard astigmatism ablation patterns 1104 or 1106, whether large-beam scanning or the various types of apertures disclosed in the background, such as a variable-width slit aperture of rectangular shape, the resulting central region 1102 will have the appropriate properties for treating myopia. Whatever the method or technique used for creating the cylindrical lenses, the intersecting cylindrical lenses form an appropriate corrective pattern.
By reversing the process, that is by creating the inverse of the standard astigmatism ablation patterns 1104 and 1106 using the various techniques described, or other known techniques, hyperopia can likewise be corrected.
20 This would be achieved by using standard astigmatism :°ooo o ablation patterns 1104 and 1106 of positive diopter.
Turning now to Figures 19 through 24, these Figures illustrate the center points of shot patterns calculated by a ring searching algorithm further discussed below in 25 conjunction with Figure 27 and a dither shot pattern algorithm further discussed below in conjunction with Figure 28. These programs generate a number of shot patterns with center locations away from the center point of the treatment area, and also using fixed spot sizes °e° according to the invention. It will be appreciated that a large, fixed spot size is used with center locations of shots as far as 2.5mm from the center of the treatment zone. It will also be appreciated that by using a large spot size, the greatest area of tissue is ablated per shot, requiring fewer shots. It will further be appreciated that the ridging effects that are reduced by using the dithering according to the invention discussed earlier in conjunction with Figures 3A and 3B, is even further eliminated by the searching and shot dithering according to the invention, as these shot patterns produce virtually no reinforcing ridges. The programs illustrated by the flowcharts of Figures 27 and 28 are attached as Appendices A, B, and C. The program of Figure 27 and attached Appendix A generates shot patterns by empirically determining a series of rings containing shots that will satisfy a desired ablation pattern. The program attached as Appendix B and illustrated in Figure 28 distributes fixed sized shots over the treatment area using a shot dithering pattern, with a variety of different shot dithering patterns available. Further, the program attached as Appendix C and illustrated in Figure 28 provides for either randomly sorting the resulting shot patterns or sorting the shot patterns with maximum 25 displacement between sequential shots. Further, by displacing subsequent shots from each other, rather than having a particular point in the shot pattern always being ablated, and rather than having each subsequent shot overlap an immediately previous shot, thermal heating is .e reduced, allowing for greater shot rates.
Figures 19 through 25 illustrate various shot patterns produced by the programs illustrated in Figures 27 and 28.
Figures 19 and 20 illustrate shot patterns created using the shot dithering (as opposed to the displacement dithering of Figures 3A and 3B) illustrated by the flowchart of Figure 28. Figures 21-23 illustrate shot patterns created by the search algorithm illustrated in Figure 27. Figure 19 was created using a constant 2.00 mm spot size to correct to -5.00 diopters. Figure 20 was similarly created for a 2.00 mm spot size for correction to -5.00 diopters, but using a modified spiral pattern according to the invention and described in Figure 28.
Figure 21 was created for a 4.25 mm spot size to correct to -5.00 diopters using the ring searching according to the invention, while Figure 22 was created for a 2.00 mm spot size to correct to -7.00 diopters using the ring searching according to the invention. Figure 23 was 06created using the ring searching algorithm according to the invention to correct for hyperopia, created for a 2.00 mm spot size at +5.00 diopters of correction.
Figures 24A and 24B are a list of shots used to create the treatment pattern of Figure 21, further illustrating the output of the ring searching algorithm according to the 25 invention. As can be seen, there are no overlapping shots, and the shots in the sequence have been ordered by their X displacement in microns.
Turning to Figure 25, the general steps of how the shot pattern is created by the searching algorithm of Figure 27. In Figure 25, it is seen that a number of concentric rings are determined by the search algorithm discussed below in conjunction with Figure 27. Concentric rings 1500 to 1510 are determined using the program attached as Appendix A. Then, for each ring, the appropriate number of shots is determined. Taking ring 1500 for example, the number of shots needed and their spacing around the ring are calculated in order to correct to the appropriate degree within a particular treatment zone 1512.
Then, appropriate shots are calculated for the ring 1502 and so on. In this way, the patterns of Figures 21 through 23 are calculated.
Referring to Figure 26, it is seen that the ring that is determined includes a number of relatively large shots 1520 to 1530, preferably around 2.0 to 3.5mm, that overlap around the ring 1500. The maximum shot rate that the tissue on one point of the cornea can typically absorb is shots per second at .25 micron per shot of ablation. To increase this rate according to the invention, an alternating pattern is adopted. Other techniques are also o..
described in conjunction with Figure 27, but the basic concept is shown here. Rather than repeatedly fire at a particular point that might result in the 40 shot per second rate being exceeded, alternating shots are fired on 25 opposite sides of the ring, for example. Referring to Figure 27, an actual shot pattern used is shown. As is seen, the first shot 1520 is fired on the bottom of the pattern, then the second shot 1522 then is fired on the top of the pattern adjacent to, but not overlapping, the first shot 1520, the third shot 1522 is fired on the bottom of the pattern overlapping the first shot 1520. Further, overlapping patterns can then be fired, again using this alternating technique. The point behind this technique is to create the series of overlapping shots of Figures 25 and 26 without each subsequent shot actually overlapping the previous shot fired. Further according to the invention, each particular spot, shot 1520, for example, generally is a series of shots. But rather than fire a series of shots in succession, the entire ring can be created using single alternating shots as illustrated in Figure 26, but repeating the pattern created by this series of single alternating shots of Figure 26 as is needed for the particular ring 1500. In this way, instead of completing the ablation at one particular point, the ablation is distributed, and higher shot rates can be realized. It will be understood that when shots are needed close to the center of the pattern, as is illustrated by the ring 1510 in Figure 25, it may not be possible to prevent a single 20 point from being continuously ablated by displacing these eoo •shots. In such a case, it would be desirable to slow down the shot rate.
Turning to Figure 27, the general flow of the program attached as Appendix A is shown. A routine SHOTPATTERN 2000 empirically calculates a shot pattern necessary to ablate to the desired degree of correction. The main procedure is the procedure "Search" illustrated at lines 1107 to 1176 of the attached Appendix A. SHOTPATTERN 2000 begins at step 2002 where a reference array indicating the CCCo necessary degree of ablation is calculated based on the desired amount of correction. This step corresponds to the procedure "FillReferenz", called at line 1145 and found at lines 314 to 378 of the attached Appendix A. This procedure creates a reference array indicating the necessary degree of ablation at each point of the treatment area to accomplish the desired degree of correction. It will be understood to those of ordinary skill in the art what the particular degree of ablation necessary to correct for hyperopia or myopia is, and in any case, the necessary equations are found in this specification.
Then, SHOT_PATTERN 2000 proceeds to step 2004, where it creates shot rings. This corresponds to the procedure "Verteilen", which is called at line 1161 and is shown at lines 394 to 462 of the attached Appendix A. This procedure partitions the spirals or rings into a maximum of 32 rings.
Proceeding to step 2006, the spot sizes for each of the rings is then calculated by a procedure "BlendenVorbelegung". Using fixed spot sizes, this will of course result in the same spot sizes for'all of the rings.
"BlendenVorbelegung" is called at line 1162 of the attached Appendix A, and is shown at lines 523 to 563.
S. SHOT PATTERN 2000 then proceeds to step 2008, where it 25 determines the correct distance of the rings from the treatment center. It does so by calling a procedure "Search Rings" at step 1163, which is shown at lines 641 to 969. This is an empirical algorithm for determining the optimal distance of each ring from the center.
.o 63 Certain of the variables used by SHOTPATTERN 2000 as illustrated in the attached Appendix A deserve further discussion. DAT ALL.RHOMAX is a variable in a structure DAT_ALL, which holds the information about the current treatment. DAT ALL.RHOMAX is a radius of the corrected zone, and typically has a value of 2.5mm. DAT_ALL.SPH_CORR is the desired spherical correction in diopters, and typically has a value of from -5 to DAT ALL.VEKTORLAENGE is the length of the treatment vector, which equals the total number of shots and typically has a value between 200 and 1500.
SYSDATA.RATE is the ablation per shot. It is typically .25 microns, and is machine dependent.
VOLTHEO is the ablation volume of a certain treatment.
For example, for a correction of -5.0 diopters within a treatment area with 5mm diameter, the value is about .5mm 3 This value is used in the constant spot mode to determine the "best" spot size using an empirical formula.
The structure RING holds all the information necessary for a particular ring of shots. The smallest treatment element is a "ring". The empirical algorithm can use up to 32 "rings", and it searches for the best ring values.
RING.DIST is the mean radius of the ring. RING.SPOT is the spot size for shots used in this ring. RING.COUNT is the 25 number of shots in this ring.
For myopia, the algorithm starts with all shots distributed to identical rings set to a radius of zero.
The algorithm then increases the diameter of the rings one by one to get to the closest reference ablation function.
For hyperopia, all rings are initially set to 7mm in diameter and then decrease one by one to get closest to the hyperopia reference ablation function. Thus, the radii of the rings are empirically determined.
MICRO, MAXABL, and ABLSHOT are integer values of various floating point numbers used to speed up the routine. Because the algorithm is a searching algorithm requiring much computational power, the speed is dramatically increased by using integer calculation.
Using these algorithms, a large spot size provides for a greater amount of ablation per shot, while at the same time permitting virtually any treatment pattern to be achieved. A relatively large spot size would be thus providing for relatively large coverage of treatment area per shot. It will be appreciated that using such large spot sizes, however, the shots are generally not "adjacent" to each other, but instead overlap to generate the desired degree of ablation at a particular point. It is the calculation of the result of the overlapping shots that is technically challenging and relies on the empirical ~algorithm described. This is especially true when using a fixed spot size that is relatively large in relation to the treatment area. It will further be appreciated that by :using a fixed spot size, the diaphragm 36 can be replaced by simpler equipment that requires less maintenance and adjustment. This is another advantage of using the large, fixed spot size of overlapping shots.
Turning to Figure 28, an alternative method of calculating treatment patterns using large, fixed spot sizes distributed throughout the treatment area is shown, as well as the use of shot sorting to decrease thermal effects. A routine DITHER_SHOTS 2100 provides for both this shot dithering as well as the sorting. The shot dithering of Figure 28 is achieved by the program shown in Appendix B, while the sorting is achieved by the program shown in the attached Appendix C.
Proceeding to step 2102, DITHER SHOTS 2100 performs a case statement depending on the type of shot dithering desired. A number of different types of shot dithering are shown in the program attached as Appendix B, and these distribute the shots throughout the treatment area in a slightly different way.
This case statement is performed in the attached Appendix B at lines 547 to 554. If it is desired to perform a rectangular dithering, indicated by the type of dithering being "RECTANG", DITHERSHOTS 2100 calls a routine at step 2104 in which the treatment is performed by dithering in a rectangular spiral. This corresponds to the procedure "DO DITHER RECT" in the attached Appendix B, at ~lines 26 through 93.
If it is desired to perform a first type of circular ".dithering in a spiral, indicated by the type of dithering .being "CIRCLE1", DITHER SHOTS 2100 proceeds to step 2106, 25 where a routine is called that dithers in a circular spiral. In Appendix B, this corresponds to the procedure "DO DITHER CIRCULAR", shown at lines 97 through 179.
If it is desired to perform a slightly different type of circular dithering, indicated by type equaling "CIRCLE2" ooeo Po# 2 ieoee at step 2102, DITHER_SHOTS 2100 proceeds to step 2108, where it dithers in a modified circular spiral. The routine for accomplishing this is the procedure "DO_DITHERCIRCULAR2" shown in Appendix B at lines 183 through 279. This procedure works in a similar manner to that of the program of Appendix A illustrated in Figure 27.
If it is desired to perform a line-by-line oriented dithering, indicated by type equalling "LINE" at step 2102, DITHER_SHOTS 2100 proceeds to step 2110, where a routine is called that dithers line by line. This routine is shown as procedure "DO DITHER XY" at lines 283 through 395 of the attached Appendix B.
If an alternative form of dithering is desired, as indicated by type equalling "DITHERC" at step 2102, DITHERSHOTS 2100 proceeds to step 2112, where this alternative method is used. This is found as the procedure "DODITHERC" in Appendix B at lines 399 through 515.
Using a variety of shot dithering methods, an array of shots is created for a fixed spot size spread over a treatment area to correct to the desired degree of ablation.
'ab DITHER SHOTS 2100 then proceeds to step 2114, where it determines whether a sorting of the shots is desired. If .i not, DITHER SHOTS 2100 proceeds to step 2116, where it returns to the software controlling the excimer laser system with a shot array suitable for correcting to the desired degree. If at step 2114 sorting is desired, ee* DITHERSHOTS 2100 instead proceeds to step 2116, where it determines whether random sorting is desired.
0.0, 0•ee Random sorting will statistically decrease overall heating during the treatment. Although there will typically be some overlap from shot to shot, statistically, different portions of the treatment area will be ablated within a given period of time, rather than one portion of the treatment area being continuously ablated. If at step 2116 it is desired to- randomly sort, control proceeds to step 2118, where DITHER SHOTS 2100 randomly sorts the shots. This is performed by the program attached as Appendix C at lines 40-52.
If at step 2116 it is desired to not randomly sort, but instead to sort for maximum displacement between shots, control proceeds to step 2120, where DITHER_SHOT 2100 sorts into a spiral pattern, as illustrated in the attached Appendix C by the procedure "SORT_SPIRAL", shown at lines 21-38. From steps 2120 and 2118, control then returns to a calling procedure in the excimer laser system at step 2116.
In this way, a shot dither treatment is achieved, and the shots are sorted in a way to minimize thermal heating.
It will be appreciated that the sorting could be provided also with the software illustrated in Figure 27 and attached as Appendix A.
The foregoing disclosure and description of the invention are illustrative and explanatory thereof, and various changes in the size, shape, materials, components, circuit elements, and optical components, as well as in the details of the illustrated system and construction and 68 method of operation may be made without departing from the spirit of the invention.
Helix Helix version 1.-0 Mal1 1994(CCHRNThnls cHrRON Technolas Unit Helix Versucht einen Behandlungsvek tar f~r Myopiebehandlung erstellen.
in Helix form zu UNIT Helix;
INTERFACE
USES Overlay, Crt, Globvar, Fenster;
CONST
VarSpot. 0; C ofstSpot -128;
VAR
SpiralMaxZone :double; FUNCTION HelixErrorXsg(Error :INTEGER): STRING; PROCEDURE CalcHelix(VAR Korr, Zone, Max~btrag :double; VAR Error :INTEGER); PROCEDURE Search (Typ :BYTE; VAR Error :INTEGER); 324PLEMENTATION
CONST
LIAS iz e micro Half Zone
TYPE
LonglntArray LonglntArrPtr RingType 1023; 4096; 0.0075; Emn pm Ablation entspricht 4096 Digits Radius der betrachteten Zone
S
*5 *5 a S S *5
S
S. S ARRPAY[0. .LIASize] OF Longlnt; ^LongInt.Array;
RECORD
Count :INTEGER; (Anzahl. Sch~sse Spot :INTEGER; CDurchmesser in Dist :INTEGER; (Entfernung von
END;
auf'Im Ring jum Mitte in pm PRe ferenz MaxAbl maxSpot ShotCount VolTheo Ring AblS hot LonglntArrPtr; Longlnt; double;
WORD;
double; ARAY(0. .31] OF RingType; double; Berechnung elner Myopiebehandlung (Obergabe: Korr in dioptr, Zone in m Calculation with an empirically found formula for Myopia-treatment APPENDIX A
-I.
71 using helixes with varable spotsizes.
72 73 PROCEDURE CalcHelix (VAR Iorr, Zone, NaxAbtrag double; VAR Error: INTEGER) 74 CONS? Ralt -0.0079; 76 VAR 77 Abl, 78 Rneu double; 79 Ringe INTEGER; Spot, 81 Radius: double; 82 Loop INTEGER; 83 P1, P2: double; 84 PRing double; d double; 86 Win double; 87 dvin double; 98 WinSt INTEGER; 89 91 92 93 94 FUNCTION NeuR(Korr double) double;
BEGIN
96 NeuR (1.3377-1) C (1.3377-1)/Ralt Kor: 97 END; (NeuR) 98 99 100 101 102 103 FUNCTION MaxAbl(Korr, Zone double) double; 104 VAR 105 QRad double; 106 RNeu double; 107 BEGIN 108 RNeu :P NeuR(Korr); 109 ORad Sqr(Zone 110 MaxAbi Ralt Sqrt (Ralt*Ralt-ORad) RNeu Sqrt (RNeu*RNeu-QRad); ill END; (MaxAb) 112 113 114 115 116 117 118 FUNCTION GetZone(Korz, MaxAbl double) double; 119 VAR 120 RNeu double; 121 d double; 122 BEGIN .123 RNeu NeuR(Korr); 124 d :-2*MaxAbl*Ralt 4*Rneu*(MaxAbl Ralt RNeu) HaxAbl*MaxAbl; 125 d SqrtCd) (MaxAbl Ralt RNeu); 126 GetZone Sqrt(MaxAbl) Sqrt(-MaxAbl 2*Ralt) d; 127 END; (GetZone) 128 129 130 131 132 133 134 FUNCTION Pot(z, h double) double; 135 BEGIN 136 IF z 0 137 THEN Pot Exp( h Ln(z) 138 ELSE Pot 0.0; 139 END; (Pot) 140 APPENDIX A 71 141 142 143 144 145 146 Addiert elnen Ring mit 8 Scholssen 147 PROCEDURE AddRing(Radius, Spot, Winkel double); 148 VAR 149 Loop INTEGER; 150 BEGIN 151 FOR Loop 1 To 8 DO 152 IF DatAEll.VaktorLaenge MaxVektor THEN 153
BEGIN
154 INC(Dat All.Vektorlaenge); 155 WITH Treatment[Dat Ail.Vektorlaengj^
DO
156
BEGIN
157 Ipos Round (Radius1E6'Cos (Winkel)); 158 yyos :-Round (Radius*1E6 Sin (Winkel)); 159 Winkel:- Winkel 160 soliblende Round(Spot*1E6); 161 istblende soliblende; 162 energie 100; 163 END; 164
END
165 ELSE Error 2; 166 END; (AddRing) 167 168 169 170 Existiert gemeinsamer Teller fir xac und abe? 171 172 FUNCTION GT(a, b INTEGER) BOOLEAN; 173
VAR
174 i INTEGER; 175
BEGIN
176 IF a b THEN 177
BEGIN
178 i a; a b; b i; 179
END;
180 GT FALSE; 181 FOR i 2 TO (a DIV 2) DO 182 IF MOD AND MOD THEN GT :P TRUE; 183 END; (GT) 184 185 186 BEGIN 187 Error 188 IF Zone 0.0029999 THEN EXIT; 189 IF Zone 0.0070001 THEN EXIT; 190 Abi :M MaxAbl(Korr, Zone); 191 Ringe (Trunc(Abl (8*0.25E-6)) 1); 192 Ab Ringe 8 0.25E-6; 193 MaxAbtrag Abl; 194 Zone GetZone(Korr, Abi); 195 196 DEC(Ringe); 197 PRing Pot(Ringe, 1.5) 2 198 198 Empirisch bestimmte Parameter 200 d Zonel1000; 201 P1 6.9 (7.0-d)*0.08; 202 P2 0.95 Pot((7.0-d), 1.25) 0.08; 203 P2 P2 1000.0; 204 205 win 0; 206 dWin (Pi/4.0) Ringe; 207 Error 0; 208 WinSt Ringe DIV 3 Ringe DIV 12; 209 IF WinSt 1 THEN WinSt 1; 210 WHILE GT(WinSt, Ringe) DO APPENDIX A 72 211 INC(MinSt); 212 FOR Loop 0 TO Ringo Do 213 BEGIN 214 Radius Zone 20.0 (Zone(I(oop+l)) (Pl*(Ringe+l)); 215 Spot ((Zone-P2) 2.0 Pot(Loop, 1.5) (Zone/2.- P2)/ PRing) 216 217 Win :L Loop (P1/4.0) Ringe; 218 219 220 AddRing(Radius, Spot, Win); 221 Win Win VinSt dwin; 222 IF Win (2.OPi) THEN 223 Win Win 224 END; 225 END; (CaicHelix) 226 227 228 229 230 231 Funktion Because it takes time to find the correct solution it's better to 232 give some messages time by time.
233 Eingabe 234 Rdickgabe 235 236 PROCEDURE StillAlive; 237 CONST 238 c: APRAY(0..3] OF CHAR I' 239 VAR 240 X, Y INTEGER; 241 i INTEGER; 242 BEGIN 243 X WhereX; 244 Y WhereY; 245 i (SysTick DIV 4) AND $00000003; 246 Write(c(i]); 247 IF i 0 THEN 248 BEGIN 249 i TextAttr; 250 TextColor(DarkGray); 251 GotoXY(X-4, Y+1); 252 Write(Now); 253 TextAttr i AND $OOFF; 254 END; 255 GotoXY(X, Y); 256 END; (StillAlive) 257 258 259 260 261 Funktion Adds a 'Myopia" or "Hyperopiaw of 'Vio' diopters 262 to the PReference-Array.
.i263 Eingabe 264 Rickgabe 265 266 PROCEDURE AddDioptr(Dio double; Spot double); 267 VAR 268 Ri, R2 double; 269 R1Q,R2Q double; 270 Schwelle double; 271 d, dQ double; 272 X, Y INTEGER; 273 w, 1 Longlnt; 274 SpotQ double; 275 LoopEnd INTEGER; 276 SpotH2 double; 277 BEGIN 278 Dio -Dio; 279 Ri CSysData.index-1) ((SyaData.Index-1)/SyData.r. alt Dio); APPENDIX A Spot Spot IF RI Spot THEN EXIT; R2 Sy3Data.R alt; R2Q :-P2*R2; 286 287 280 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 MaxAbi -200000; SpotQ Spot*Spot; R1Q :-R1R1; VolTheo :-VolTheo Pi/3 .0 C(2. 0R2Q*R2 (2*R2Q+spotQ) 'Sqrt CR2Q-spotQ))) VoiThec VolTheo Pi/3.0 .0*RQ*R1 (2*R1Q+SpotQ)*Sqrt (R1Q-SpotQ))); Schwelle (R2 -Sqrt(R2Q SpotQ)) CR1 SqrtcRlQ SpotQ)); LoopEnd :-Round(Spot *(LLASize /HalfZone)); IF Loop~nd LIASize THEN LoopEnd :=LIASize; FOR X 0 TO LoopEnd DO
BEGIN
dQ X *Sqr(Halfzone/LrA~ize) X; (Radiusquadrat IF dQ SpotQ THEN
BEGIN
d Schwelle (Ri Sqrt(R1Q dQ 1.OE-12)) CR2 Sqrt( .OE-12)) d d *1.0E6 Micro; IF d (Maxiongint DIV 2) THEN 1 Round(d) ELSE 1 :=Maxiongint DIV 2; IF dia 0 THEN INC(PReferenZA(X], 1 PReferenZA(0J) ELSE INC(PReferenz'(X], (mach oben spiegeim IF PRef erenZA MaxAbi THEN MaxAbi PRef erenzA(EX]
END;
END;
END; W~dDioptr) R2Q dQ 1 0* Funkticm Fills the Array PReference with the aim of the treatment.
Elm gabe Rickgabe PROCEDURE FillReferenz (VAR Error INTEGER);
VAR
Loop :INTEGER; LastDio double; Zone :double; Ri, Spot: double;
BEGIN
IF MaxAvail Size~f(LonglntArray)
THEN
BEGIN
Error 180;
EXIT;
END;
New(PReferenz); MaxSpot 0; FillChar (PReferenz^, Sizeof (LongintArray), 0); MaxAbl 0; IF DatAl1.sph _korr 1E-12 THEN
BEGIN
Zone (SysData. index- 1) (Sy3 Data. index- 1) /Sy3 Data. r al t Dat alJl.sph _kor r) 0.001E-3; IF Zone 7.OE-3 THEN Zone 7.OE-3; Zone AddDioptr(Datall.sph _korr, Zone); MaxSpot :-Dat a11.rhomax!12; MaxAbi PReterenz^ (Round (DatA11.rhomax*LASize/Half Zone) I; FOR Loop :-10 TO LIASize DO IF PReferenz^ (Loop] <1 THEN PReferenz' (Loop] PReferenzA(Loop-11;
EXIT;
APPENDIX
A
348 END; 349 II SysData.Canadinode
THEN
350 BEGIN 351 IF Dat All.Canadian.Calculated
THEN
352 FOR Loop :I 1 TO 8 DO 353 WITH Dat A.1.Canadian.Data(Loop]
DO
354 IF Percent 0.00001 THEN 355
BEGIN
356 AddDioptz(korr, 2.Orhomax); 357 IF MaxSpot rhomax*2 THEN 358 MaxSpot rhomax*2; 359
END;
360 EXIT; 361 END; 362 IF (Dat A.L1.TransTable.Eintraege 0) AND (Dat_All.TransTable.Eintraege 255) THE
N
363 BEGIN 364 LatDio 0; 365 WITH Dat_?JA.TransTable
DO
366 FOR Loop Eintraege DOINTO 1 DO 367 BEGIN 368 Adddioptr(TransEvent (Loop] .Dioptr-Lastoio, TransEvent (Loop] .Max); 369 LastDio TransEvent (Loop] Dioptc; 370 IF MaxSpot TransEvent(Loop! .Max THEN 371 MaxSpot TransEvent(Loop].Max; 372
END;
373 AddDioptr(DatA11.sph_korr-LastDio, Dat -A1.rhomax*2); 374 EXIT; 375 END; 376 MaxSpot Dat all.rhomax*2; 377 AddDioptr(DatAl.sph_korr, Dat A.1.rhomax2); 378 END; (FillReferenz) 379 380 381 382 383 Funktion Clears memory.
384 385 Einqabe 386 Rtckgabe 387 388 PROCEDURE DestroyReferenz; 389 BEGIN 390 Dispose(PReferenz); 391 END; (DestroyReferenz) 392 393 394 395 396 Funktion Partitioning of the spirals into (max. 32) rings with 8,16,32...
397 shots. This makes calculation easier.
398 Eingabe 399 RUckgabe 400 401 PROCEDURE Verteilen(Shots
WORD);
402 CONST 403 V ARRAY(1..8] OF WORD 16, 32, 64, 128, 256, 512, 1024); 404 VAR 405 ShotCnt ARRAY(O..7] OF WORD; 406 Loop, i, j INTEGER; 407 408 409 Berechnung der Summe der in aShotCnt(Jr beschriebenen Schdsse.
410 411 FUNCTION Sumze WORD; 412 VAR 413 Loop INTEGER; 414 S WORD; 415 BEGIN 416 S 0; APPENDIX A 1.
FOR Loop 1 TO 7 Do 3 S Shotont(Loopl; Suie :0 3;
END;
BEGIN
IT DatAi1.spkhkorr 13-12 THEN BEGINi i 8; j 4; Loop -0;
REPEAT
REPEAT
Rig[Loop].Count :i INC (Loop); DEC 0i); UNTIL j 0; IF i 128 THEN i -i*2; j 4; IF i 16 THEN j IF i 64 THEN j :1; IF Loop 31 THEN i 256; UNTIL Loop 31;
EXIT;
END;.
FillChar (ShotCnt, SizeOf (ShotCnt) 0); ShotCnt[0] :-Shots MOD 8; ShotCrit(1] :-Shots DIV 8; FOR Loop 1 TO 6 Do IF Summe 31 THEN WHILE (ShotCnt(Loop] 4) AND (Sunue 31) Do
BEGIN
DEC (ShotCnt ELoop], 2); INC CShotCrnt Loop+1], 1);
END;
j 0; FOR Loop :1 TO 7 Do FOR i TO ShotCnt[Loop) Do
BEGIN
Ring j I. Count V= V(Loop); INC(j);
END;
INC (FingCj .Count, ShotCnt[o]); FOR Loop j+1 To 31 DO Ring (Loopj. Count :0; END; (Verteilen) Funk tion Checking routine for programmi~ng purposes.
El ngabe RUck gabe PROCEDURE FastViewCPA :LonglntArrPtr);
VAR
Loop INTEGER; Max LonglInt; yl,y2 Longlnt; PROCEDURE VertLine CX, Y INTEGER);
BEGIN
GotoXYCX, 1); WHILE Y 1 DO
BEGIN
Write(' 1); GotoXY CX, WhereY+1); DEC(Y, 2);
END;
9* 4~ 4 .4* APPENDIX A 487 IF Y 0 THEN Write(' 488 END; 489 490 BEGIN 491 TextBackground (LightGray); 492 ClrScr; 493 Max PA"C01; 494 FOR Loop 1 TO LIASize DO 495 IF Max PAMELoopI THEN Max PA^Loop; 496 FOR Loop 1 TO LIASize DO 497 IF Max PReferenzA[Loop] THEN Max PReferenz^(Loop]; 498 GotoXY(1, 499 IF Max-0 THEN EXIT; 500 FOR Loop 0 TO 79 DO 501 BEGIN 502 yl:- Round(PA^Trunc(Loop/79.0*LIASize) ]48.0/Max); 503 y2: Round (PReferenz (Trunc(Loop/79.0*LIASize) I48.0/Max); 504 IF Y1 Y2 THEN 505 BEGIN 506 TextColor (Black); TextBackground (LightGray); 507 Vertline(1+Loop, yl); 508 TextColor (Red); TextBackground (Black); 509 Vertline(1+Loop, y2); 510 END 511 ELSE BEGIN 512 TextColor (Red); TextBackground(LightGray); 513 Vertline(1+Loop, y2); 514 TextColor (Black); TextBackground (Red); 515 Vertline(1+Loop, yl); 516 END; 517 END; 518 GotoXY(1, 519 END; (FastView) 520 521 522 523 524 525 Funktion Gives each ring of shots a special spatsize for the shots.
526 527 Eingabe 528 Rlckgabe 529 530 PROCEDURE BlendenVorbelegung(Typ BYTE); 531 VAR 532 Loop INTEGER; 533 1 LongInt; 534 Mini Longlnt; 535 BEGIN 536 IF Dat all.sph_korr 1E-12 THEN 537 BEGIN 538 IF ((Typ AND ConstSpot) ConstSpot) OR THEN *539 BEGIN 540 Mini Round(Dat all.rhomax*1E6); 541 IF Mini 2000 THEN Mini 2000; 542 IF Mini 3500 THEN Mini 3500; 543 FOR Loop 0 TO 31 DO 544 Ring[Loop].Spot a Mini; Nur wie Radius! 545 END ***546 ELSE BEGIN 547 FOR Loop :0 TO 31 DO 548 Ring[Loop .Spot a Round(DatAll. rhomax*2E6) 549 END; 550 END 551 ELSE BEGIN 552 IF (Typ AND ConstSpot) ConstSpot THEN 553 BEGIN 554 1 RoundCSqrt(VolTheo .135/(ShotCountSYSData.rate* Pi) 2E6); 555 FOR Loop :a 0 TO 31 DO 556 Ring[Loop].Spot 1; APPENDIX A 77 557
END
558 ELSE BEGIN 559 FOR Loop :0 TO 31 DO 560 Ring(Loop).spot :d Round(MlxSpothl36): 561
END;
562
END;
563 END; (Blendenvorbelegung) 564 565 566 567 568 Funktion Calculate ablation of one of the shot-rings and store it in 569 PAblation.
570 Eingabe 571 R(Jckgabe 572 573 PROCEDURE Calculate(RingNr INTEGER; VAR PAblation LongntArrPtr); 574 VAR 575 Loop Longlnt; 576 w double; 577 Q double; 578 Entf double; 579 3 STRING; 580 Dmax, 581 EJin double; 582 e double; 583 Ra, Di: double: 584 1 LongInt; 585 c double; 586 587 588 589 590 591 FUNCTION Arccos (w double) double; 592
BEGIN
593 IF Abs(w) 1 594 THEN ArcCos Pi/2.0 ArcTan(w Sqrt(l.0 ww)) 595 ELSE ArcCos Pi/2.0 (1.0 w 596 END; (ArcCos) 597 598 BEGIN 599 WITH RingRingNr
DO
600 BEGIN 601 1 Round(Longlnt (Count) *AblShot) 602 Ra Spot*1E-6*LIASize/HalfZone/2. 0; 603 Di :P Diat*1E-6*LIASize/Half Zone; **oo 604 IF (Spot=0) OR (Count=0) THEN 605
BEGIN
606 FillChar(PAbltionA, SizeOf(LongntArray) 0); 607
EXIT;
608
END;
609 IF Dist 0 THEN 610
BEGIN
611 FillChar P(blationA, SizeOf (LongntArray), 0); 612 FOR Loop 0 TO Round(Ra)
DO
613 PAbation^[Loop] 1; 614
EXIT;
615 END; 616 617 Di Di HalfZone LIASize; 618 Ra Ra HalfZone LIASize; 619 Q (Di'Di Ra*Ra); 620 E4ax (Di Ra); d .621 E4in Abs(Di Ra); 622 c Count Pi; 623 FOR Loop 0 TO LIASize DO 624
BEGIN
625 Entf Loop HalfZone LIASize; 626 IF Entf-0 THEN Entf 1E-12; 9 APPENDIX A S. 78 627 IF (Entf D~in) AND (Entf Dax) THEN 626
BEGIN
629 e AXCC03( (0 (Entf-Entf)) /(2.O*zntf*Di))); 630 PAblation' (Loop) Round (e*AblShot); 631
END
632 ELSE ZIP (Entf E~in) An (Spot/2.0 Diat) 633 THEN PAblation'^(Loop] :-1 634 ELSE PAblationA (Loop] 635
END;
636 END; (with) 637 END; (Calculate) 638 639 640 641 642 643 Funktion Search for rings of 8,16,32.. shots to build the spirals.
644 The sum of the ablation of all shot-rings (stored in
T
PAblation") 645 has to be the same as the theor. values stored in "PReference").
646 Eingabe Typ: Use constant spots or allow variable spot sizes.
647 RUckgabe 648 649 PROCEDURE SearchRings (Typ :BYTE; VAR Error INTEGER); 650 VAR 651 Loop
:INTEGER;
652 Step
:INTEGER;
653 PAblation :LonglntkrrPtz; 654 PRingAblation :LonglntArrPtr; 655 PSum :LonglntArrPtr; 656 Ready
:BOOLEAN;
657 i, j
:INTEGER;
658 Grenze
:INTEGER;
659 660( 661 Addiert 'PRingAblation'e zu #PAblation^1r.
662) 663 PROCEDURE AddAblation; 664
VAR
665 Loop :INTEGER; 666
BEGIN
667 FOR Loop 0 TO LIASize
DO
668 INC (PAblation" (Loop], PRingAblatior' (Loop]); 669 END; (SearchRings.Addblation) 670 671 672 673 Subtrahiert xPRingAblation't von sPAblation~e.
.loss 674 6 so 675 PROCEDURE Dec.Ablation; 676
VAR
*677 Loop :INTEGER; ;678
BEGIN
679 FOR Loop 0 TO LIASize DO 68 DEC (PAblatjonA (Loop], PRingAblation^ (Loop]); **681 END; (SearchRings.riec~Ajlation) 682 683 684 685 wTRUEN, falls sPAblation"i an irgendeiner Stelle kleiner ist 686 als 'PPReferenz'g. h. Abtrag 1st an dieser Stelle zu gering.) 687 688 FUNCTION XBelowCheck(Grenze: INTEGER)
:BOOLEAN;
689
VAR
690 Loop :INTEGER; 691
BEGIN
692 XBelowaCheck
FALSE;
693 FOR Loop 1 TO Grenze DO 694 IF CPAblationA (Loop] PReferenz' (Loop]- (Micro SHR THEN 695
BEGIN
se* 696 XBelowCheck
TRUE;
APPENDIX A 79 697
MXIT;
698
END;
699 END; (Sea.-chp-jngs.XBelowCheck) 700 701 702 703 704 *TRUE', falls PPAblatlon~e an irgendeiner Stelle kleiner is 705 als PReferenz h. Abtr-ag 1st an dieser Scelle zu grering.) 706 707 FUNCTION BelowCheck :BOOLEAN; 708
BEGIN
709 BelowCheck XBelowCheckCLIASize); 710 END; (SearchRings.BelowCheck) 711 712 713( 714 "TRUE"*, falls PPAblation~' an irgendeiner Stelle grdaer 1st 715 als -'PReferenz~e. An d. Stelle wird zuviel abgetragen.) 716 717 FUNCTION AboveCheck
:BOOLEAN;
718
VAR
719 Loop :INTEGER; 720
BEGIN
721 AboveCheck
FALSE;
722 FOR Loop 1 To LIASize DO 723 IF (PAblationvMLoop] PRef erenz^ Loop)+ (Micro SHR THEN 724
BEGIN
725 AboveCheck
TRUE;
726
EXIT;
727
END;
728 END; {SearchRings.AboveCheck) 729 730 731 732 Bestinrt grdSten Abtrag laut -PPAblation"'.
733 734 FUNCTION HaximalAblation :Longlnt; 735
VAR
736 Loop INTEGER; 737 1 Longlnt; 738
BEGIN
739 1 PAblatioi^(0]; 740 FOR Loop 1 TO LIASize DO 741 IF (PAblation"(Loop]) 1 THEN 742 1 PAblation"(LoopJ; 743 MaximalAblation 1; 744 END; {SearchRings.M-axirnalAblation) .99 745 *746 BEGIN 747 StilI.Alive; 748 NevCPAblation); 750 New(PSum); .:751 FillChar(PAblationA, Size~f(LoriglntArray), 0); 752 FillChar(PSum", Sizeof(LonglntArray), 0); :753 Ready FALSE; 754 755 FastView(PReferenz); 756 757 IF fatRA11.3ph,_korr 1E-12 THEN 758 BEGIN 759 FOR Loop 0 TO 31 Do 760 Ring(Loop].Dist 6000; *761 IF (Typ AND ConstSpot) ConstSpot THEN (=-Hyperopia const. 762
BEGIN
763 FOR Loop 0 TO 31 DO 764 IF Ring(Loop].Couit 0 THEN 765
BEGIN
766 step 8*8*88; APPENDIX A 767 768
REPEAT
769 Ready :m FALSE 770
REPEAT
771 StillLlive; 772 DEC (Ring (Loop] -Dist, Step): 773 Calculate (Loop, PRingAblatj 01 774 ddAblation; 776 Fast View (PAblation)
D
776 writeln('Rng: Loop, 777 1 at Ri ng [Loop Di s t) 779 Ready AboveCheck; 780 DecAblation; 781 IF Ring(Loop) Dist Step THEN 781 Ready :a TRUE; 782 UNTIL Ready; 784 INC(RingLoop]. Dist, Step); 785 Step Step SHR 3; 786 UNTIL Step 1; 787 Calculate(Loop, PRingAblation); 788 AddAbation; 789 IF HaximalUblation MaxAbl
THEN
790
BEGIN
791 IF Loop 31 THEN 792 FOR i Loop-l TO 31 DO 793 Ring[i] ount 794
END;
795
FMD
END
796 ELSE
BEGIN
798 FOR Lop: O3 Hyperopja Variab. spa ts) 797 FRLoop 0 TO 31 DO 79IF Ring(Loop] Count 0 THEN 799 FOR j 0 TO I DO 801
BEGIN
802 Step 8*8*8*8; 803
REPEAT
804 Ready FALSE; 805
REPEAT
806 StillAive; 806 DEC(RingLoopj.Dist, Step); 807 Calculate (Loop, PRingAblation).
809 AddAblation, 810 810 F s t Vi ew (PAbla ti or?); all wri te VPU ng: ',oop, D in Lo ist 812 813 Dist:F ,Ping(lopJ 0 1 s); 814 Ready AboveCheck; 815 DecAblation; IF Ring(Loop].Dist Step
THEN
816 Ready TRUE; 817 UNTIL Ready; 819 INC(Ring(Loopl .DiSt, Step); 820 Step Step SHR 3; 821 UNTIL Step 1; 821 I i 1 THEN 824
BEGIN
823 Calculate (Loop, PRingAblation). 825 AddAblation.
826
END
827 ELSE
BEGIN
827 Ring[Loopl.Spot Round(Dat all. rho-x* 1l.5E6) 828 829 (Ring(Loop]. Dist-Ring(Loop].Spot DIV 2); 829 Ring(Loop] .Spot 2000 THEN 831 Rng[Loopl.Spot 2000; 832 Ring(Loopl.Dist 6000; 833
END;
933 IF HaximllAblation MaxAbl
THEN
834
BEGIN
836 IFj
ITHEN
IF Loop 31 THEN APPENDIX
A
FOR i Loop4.1 To 31 DO R-ing(iJ .Count 0;
END;
END;
IF MaximalAblation ZMaxAbl THEN Error 181 ELSE BEGIN (---Hyperopie korrigieren auf rich tigen Abtrag--- Loop 31; WHILE (Ring [Loop] .Count 1) AND (Loop 0) DO DEC (Loop); IF Ring(Loop].Count 64 THEN
BEGIN
WHILE (MaxAbl MaximalAblation) AND (Ring[Loop) .Count DO BEGIN StillAlive; Calculate (Loop, PRingAblation) DecAblation; DEC (Ring [Loop) .Count, 16); Calculate (Loop, PRingAblation) AddAblation; FaND;
END;
END;
END
ELSE BEGIN IF (Typ AND ConstSpot) ConstSpot THEN myopia with const. spots=-=
BEGIN
Grenze Round (Ring Spot/2.0OE6*LIASi ze/Half Zone- 3); FOR Loop :0 TO 31 DO
BEGIN
IF Ring(Loop] .Count 0 THEN
BEGIN
Ring (Loop] .Dist 0; Calculate (Loop, PRingAblation); AddAblatiLon;
END;
END;
FillChar (PRingAblatiorV', SizeOf (LonglntArray) 0); FOR Loop -0 TO 31 DO IF Ring [Loop].Count 0 THEN
BEGIN
Calculate (Loop, PRingAblatiol); DecAblation; Rinig(Loop].Dist 0; Step 8*8*8*8;
REPEAT
Ready FALSE;
REPEAT
StillAlive; INC (Ring (Loop) .Dist, Step); Calculate (Loop, PRingAblation); AddAbI ation; *9 *9 .9 9 9* 9 a 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 FastVlew(PAblatiol) wri te'Ri ng: I, Loop: Spot: ',Ring(LoopJ.S pot:5,' ',Grenze); Ready :=XBelowCheck (Grenze); DecAblation; IF Ririg(Loop] .Dist 8700 THEN Ready TRUE; UNTIL Ready; DEC (Ring (Loop] .Dist, Step); Step Step SHR 3; UNTIL Step 1; Calculate (Loop, PRingAblation); AddAblation;
END:
APPENDIX A 82 906 ZND 907 BUSR BEGIN I--Myopia mit variabi. spots n 908 FOR Loop To 31 Do 909 BEGIN 910 IF Ring (Loop). Count 0 THEN 911 BEGIN 912 Ring (Loop] .Dist 913 CalculateC(Loop, PRingAblation); 914 AddAblation; 915
END;
916 END; 917 FillChar(PRingAblatior^, Sizeof(LonglntArray), 0); 918 FOR Loop 0 To 31 DO 919 IF Ring(Loop] .Count 0 THEN 920 BEGIN 921 FOR j 0 TO LIASize DO 922 INC(PSum^[j], PR~tingAblationAEj]); 923 Calculate (Loop, PRingAblation); 924 DecAblation; 925 Ring(Loop].Spot 0; 926 FOR j LIASize DOWNTO 0 DO 927 IF (Ring (Loop]. Spot-0) AND (PReferenz^(j] PSum'ijl) THEN 928
BEGIN
929 Ring([Loop] :Spot Trunc (j Half Zorle*2E6 /LIASize+0. 99); 930 Grenze j; 931 END; 932 DEC(Grenze, 4); 933 Ring[Loop].Dist 0; 934 Step 8*8*8*8; 935 WHILE Step*2 Ring(Loopl.Spot DO 936 Step :=Step SHR 3; 937 938 REPEAT 939 Ready :=FA.LSE; 940
REPEAT
941 StillAlive; 942 INC (Ring [Loop].Dist, Step); 943 DEC (Ring([Loop].Spot, Step*2); 944 Calculate (Loop, PRingAblation); 945 AddAblation; 946 947 Fastview (PAbla tion); 948 wri te ('Ring: ',Loop:5,' Dist: ',R-ing (Loop]. Dist: 949 'Spot: ',Ring(Loopl. Spot:5,' ',Grenze); 950 951 Ready :=XBelowCheck(Grenze); 952 DecAblation; IF Ring[Loop] Dist 8700 THEN *955 UNTIL Ready; 956 DEC (Ring (Loop). Dist, Step); 957: INC (Ring (Loop].-Spot, Step*2); .958 Step Step SHR 3; 959 UNTIL Step 1; 960 Calculate (Loop, PRingAblation); 961 AddAblation; ~962 ED 963 END; *964 END; 965 Dispose(PSUM); 966 Dispose (PRingAblation); 967 Dispose (PAblat ion); *968 StillALlive; ***969 END; (Search) 970 971 972 973 974 Funktion After determination of the shot-rings these rings have to be APPENDIX A 83 arranged in a way that the shots are ordered in spirals.
975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 Eingabe Rackgabe.
PROCEDURE AddRing32Treatmeit (VAR Error INTEGER);
VAR
Loop INTEGER; MLoop INTEGER; Lastin, Win, d, dOin double; VjnSt INTEGER; Existiert gemeinsamer Teller fdr mar und 'bw? FUNCTION GT(a, b INTEGER) BOOLEAN;
VAR
i INTEGER;
BEGIN
IF a b THEN
BEGIN
i :a;a b; b
END;
GT FALSE; FOR i 2 TO (a DIV 2) Do IF MOD AND MOD THEN GT TRUE; IF (b MOD a) 0 THEN GT TRUE; END; (DigitizeRings.GT) Hdngt "Schussring" an Schuvektor an.
S
S S
S
PROCEDURE AddRing(Nr INTEGER; Win double);
VAR
Loop INTEGER; dWin double;
BEGIN
IF Dat All.Vektorlaenge Ring[Nr].Count maxvektor THEN EXIT; dWin 2.OPi Ring(Nrl.Count; Win Win Pi 180.0; FOR Loop 0 TO RingCNr] .Count-l DO
BEGIN
IF Dat all.Vektorlaenge max vektor THEN INC (Dat All.Vektozlaenge) ELSE BEGIN Error 181;
EXIT;
END;
WITH Treatment [Dat-_all.Vektorlaenge] DO
BEGIN
x_pos Round( Sin(Win)*RingCNr].Dist); yo Round(-Cos (Win) *Ring(Nr .Dist); soliblende Ring(Nr].Spot;
END;
Win Win dWin;
END;
Lastwin Win; END; (DigitizeRings.AddRing)
BEGIN
LaatWin 0; MLoop -1; FOR Loop 0 TO 31 DO IF Ring[Loop] .Count 0 THEN MLoop Loop; IF MLoop 0 THEN EXIT; IF MGoop 3 THEN
BEGIN
APPENDIX A 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 dWin (360/8) (MLoop-3); WinSt (MLoop-3) DIV 3 (MLoop-3) DIV 17; IF WinSt<-2 THEN VinSt 2; WHILE GT(Wint, MLoop-3) DO INC (WinSt);
END;
FOR Loop 0 TO MLoop DO
BEGIN
IF Ring[Loop].Count 0 THEN
BEGIN
d (Ring[Loop].Dist*2 Ring[Loop].Spot) 1E-6; IF SpiralMaxZone d THEN SpiralMaxZone d; CASE Loop OF 0 Win 90.00; 1 Win 67.50; 2 Win 56.25; 3 Win 33.75; ELSE BEGIN IF Loop-4 THEN Win Win 22.5; d 360/Ring(Loop].Count; Win Win WinSt*dWin;.
LastWin Win-360/(Ring(Loop-1 ].Count) 8. O+d+ (WinSt*dWin); WHILE Win LastWin DO Win Win Win Win
END;
END; (case) IF Win 360 THEN Win Win-360; IF Error=0 THEN AddRing(Loop, Win);
END;
END;
END; (DigitizeRings) Funktion Eingabe RUckgabe FUNCTION HelixErrorMsg(Error INTEGER): STRING;
VAR
st
BEGIN
CASE Error OF 180 st Tongue^. No Mem; 181 at 'More than 2500 shots necessary!'; 182 st 'Correction too small.'; 183 st 'Correction zone too small'; ELSE st 'Error creating treatment vector.'; END; (case) HelixErrorMsg st; END; (HelixErrorMsg) Funktion Main-Procedure for searching the correct spiral-treatment.
Eingabe RUckgabe PROCEDURE Search(Typ BYTE; VAR Error INTEGER); APPENDIX A 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180
VAR
OldRhomax :double; Taste :CHAR;
BEGIN
IF Dat A11.rhomax 1.53-3 THEN Treatment: area large enough?---)
BEGIN
Error :-183;
EXIT;
END;
Old~homax :=DatAIIl.rhomax; SpiralxaxZoie Dat_All.xhomax*2; IF Dat All.3ph _korr 6.0 THEN AbschJtzung, ob fiber 2500 Schua BEGIN More than 2500 shots? IF (Dat -a.rhm~*296) (7000-Dat-al1.sph korr*(328.7-7.6*Data11.3ph korr)) THEN BEGIN Error 181;
EXIT;
END;
END;
IF (Dat all.3ph _korr -0.001) AND (Typ ConstSpot) THEN Dat all.rhomax DatA.11.rhomax 100/90; SpiralxaxZone Dat Al1.rhomhx*2; IF MaxAvail Size~f(LonglntAxray) *3 4096 THEN
BEGIN
Error :=180;
EXIT;
END;
Error VolTheo S0.0; AblShot :=Sy3Data.rate*1.0E6*Micro; FillReferenz (Error); Dat AJ.1.rhomax OldP~homax; Fillkhar(Ring, Size~f(Riig), 0): ShotCount Trunc(1.0 MaxAbl AbiShot); IF ShotCoiumt 2500 THEN
BEGIN
DestzoyReferenz; Error 181;
EXIT;
EMD;
IF ShotCount 64 THEN
BEGIN
DestroyReferenz; Error 182;
EXIT;
END;
Verteilen (ShotCount); BlendenVorbelegung (Typ); SearchRings (Typ, Error); .0 *0 0 0* *0 *0 0 0* 0 000 ~0 0* 0 Create "shot-rings" spotsize for the rings--) Determine correct distance of the rings from treatment center.--- IF Error-0 THEN Add~ings2Treatment (Error); DestroyReferenz; IF Error 0 THEN Dat -all.Vektorlaenge 0; IF Dat all.sph,_korr 0.000001 THEN Dat_-All.MaxAbtrag :=0 ELSE Dat-all.MaxAbtrag :-Dat-all.Maxabtrag+ (DatAll. Vektorlaenge-Dat all. Transversend) *SysData.
rate.
WHILE KeyPressed DO Taste ReadKey; END; (Search) *0*0 0 *00* 0* 00 0 0 APPENDIX A Procedures for dither mode 2 3 The procedures below are part of a large but sizzPle parser 4 that interprets text like Odither(-5, 2000)* as A instructionl to dither a -5 diptr treatmnt with spot sizes of 20001im.
6 The variable *Fehler* and procedures like aGetNext(..)* and 7 OChecklndof Order 0are based upon this Purpose. They are not a relevant to the dither algorithm.
9 A little explanation is needed about how the procedures 11 determine the Wished ablation at a given point. There exist 12 a big array (as a matter of fact: 4 big arrays) that contain the 13 Wished ablation. To read the ablation at a point Y) one has 14 to refer to (with 14itte-128 is the center of the array on both axis) 16 1 :-((longint(Y+Mitte) shi 8 (X+Hitte))) shl 1;; 17 me M7(WrraySeg~l 3hr 15] W2LrrayOfsCl shr 15] (1 and S7FFF)]; 18 19 21 22 23 24 26( Dithering on a rectangular spiral 27PROCEDURE DoDitherRect (VAR rhomax2 :extended); 28CONST 29 dx :AP.RAY[O. OF INTEGER F 1, 0, dy :AP.RAY(0. OF INTEGER 0, 1, 0); 31lVAR 32 Mult :extended; 33 X, Y :extended; 34 Stp extended; Ec :extended; 36 iX, iY: INTEGER; 37 e, Cnt: extended; 38 Di,DCnt, 39 ECnt WORD; 41 IF Fehler 1 THEN EXIT; 42 Stp :-15.0/255.0; mm per digit 43 Mult :=4.0E9*Stp*Stp /(rhomax2*Pi*rhomax2); (Fl&chenverhaltnis 44 Mult :=Mult*4.0/1000.0 *4; 45 iX :0; 46 iY :0; 47 Swaplm; 48 Ec 49 ECnt 50 DCnt 51 Di =0; 52 REPEAT 53 -X :~ix Stp 0.001; 54 Y :=iY Stp, 0.001; 1 :-((Longlnt(iY+?4itte) SHL 8 (iX+Mitte))) SHL 1; 56 Cnt :=memW[WxravSearl SHR 151 W7LrraVOfsrl SHR 151 9* *5
S.
*5SS S *5
S
Cnt e Cnt Cnt /64.0 4.0; (SolAbtrag in PiM (1ADVFH Cnt *Mult; e Ec;
SS
S
S
APPENDIX B WHILE Cnt Hult/2 DO 61 BEGIN 62 IF Dat all.Vektorlaenge 2500 THEN 63 BEGIN 64 INC(Dat A11.Vektorlaenge); WITH Treatment(Dat-A.1.Vektorlaenge]A
DO
66
BEGIN
67 -pos :s Round(X1000 ErrorX*1E6); 68 yPos Round(Y*1000 ErzorY*1E6); 69 soliblende :-Round(rhomax2); istbleade soliblende; 71 energie 100; 72 END; 73 END 74 ELSE BEGIN Fehler 12; 76 SwapEm; 77
EXIT;
78 END; 79 Cnt Cnt-4; wenn odd Anweisung weiter unte noch drin I
END;
81 Ec Cnt; 82 INC(iX, dx(Di]); 83 INC(iY, dy[Di]); 84 INC(DCnt); IF DCnt (ECnt SHR 1) THEN 86 BEGIN 87 DCnt 0; 88 INC(ECnt); 89 INC(Di); Di Di AND $0003; 91 END; 92 UNTIL (Abs(iY) 126) OR (Abs(iX) 126); 93END; (DoDitherRect) 94 96 97( Dithering on circles I 98PROCEDUE DoDitherCircular (VAR rhomax2 extended); 99VAR 100 Hult extended; 101 Mult2 extended; 102 X, Y extended; 103 Stp extended; 104 Ec extended; 105 iX, iY: INTEGER; 106 e, Cnt: extended; 107 Di,DCnt, 108 ECnt WORD; 109 i INTEGER; 110 StartAngle, 111 StepAngle extended; 112 InnerRing extended; 113 Loop INTEGER; 114BEGIN 115 IF Pehier 1 THEN EXIT; 116 Stp 15.0/255.0; mper digit 117 Hult 4.0E9*Stp*Stp /(rhomax2*Pihrhomax2); Flachenverhaltnis I 118 Hult Hult*4.0/1000.0 *4; 119 ix 0; 120 iY 0; 121 Ec 0; 122 ECnt 0; 123 DCnt 0; 124 Di 0; 125 X 0; APPENDIX B 126 Y 0; 127 REPEAT 128 129 Mult :Stp Stp/(iX+1)*iX; 130 Mult :StP*Stp (Stp*Mult)/2; 131 132 Mult :-Pi*(Sqr(Stp*(ix+l))-Sqr(ix*stp)) 133 Mult :-4.OE9*mult (rhomax2*Pirhoax2); Flachenverhaitnis 1 134 Mult :=Mult*4.0/10oo.0 *4; 135 X i i* Stp 0.001; 136 1 :((Longlnt(iY+Kitte) SHL 8 (iX+Mitte))) SHL 1; 137 Cnt :-mcmW(WAxrraySeg(1 SHR 15] WrrayOfs(1 SHR 15] (1 AND $7717)]; 138 Cnt :-Cnt /64.0 4.0; Soll.Abtrag in pm 139 e :Cnt Mult; 140 Cnt Ec; 141 IF Cnt 0.0 THEN 142 BEGIN 143 Mult2 (Sqr (iX+1) *Stp) Sqr (iX*Stp)) /(Sqr (Stp)); 144 Cnt Cnt*Mult2; 145 i 146 IF i< 7THEN 0; 147 Cnt :-Cnt-i; 148 Cnt :Cnt Mult2; 149 IF (i+Dat-all.Vektorlaenge) 2500 THEN 150 BEGIN 151 Fehier 12; 152 SwapEm; 153 EXIT; 154 EMD; 155 IF i>O0THEN 156 BEGIN 157 StartAngle :=Random*2*Pi; 158 StepAngle :Pi*2.0 i; 159 InnerRing :=Round (iX*Stp*1000); 160 END; 161 IF i THEN 162 FOR Loop 1 TO i DO 163 BEGIN 164 INC (Dat All.Vektorlaenge); 165 WITH Treatment (DatA11.VektorlaengeV^ DO 166 BEGIN 167 xpos :~Round (In~nerRing*Cos (StartAngle) ErrorX* 1E6); 168 ypos :=Round (Innerring*Sin(StartAngle) ErrorY*1E6); 169 StartAngle :-StartAngle StepAngle; 170 soliblende :=Round(rhomax2); 171 istblende solblende; 172 energie 100; 173 END; 174 END; 175 END; 176 Ec Cnt; 177 INC(iX, 1); 178 UNTIL (Abs (jY) >126) OR (Abs (iX) 126); 179END; (DoDitherCircular) 180
U
U
U
U U
U.
U U U U U. U U U
U
*UU.
U
U. U
U
181 182 183( 184 185 186 187 188 189 190 A slightly different approach of dithering. This procedure works for radial-symmetrica1 treatments. The procedure just walks from center to the side on a single line. For each step id increases the error as long as it is great enough for at least 8 shots. So this dither method creates rings of 8 shots similar to the HELIX.Search algorithm.
Of corse this approach needs a vrarying correction value depending on the size of the rings.
APPENDIX B 191) 192PROCEDURE DoDitherCircular2 (VAR zhomax2 extended; Dir INTEGER); 193VAX 194 Mult extended; 195 Mult2 extended; 196 X, Y extended; 197 Stp extended; 198 Ec extended; 199 iX, iY: INTEGER; 200 e, Cnt: extended; 201 Di,DCnt, 202 ECnt WORD; 203 i,j INTEGER; 204 StartAngle, 205 StepAngle extended; 206 InnerRing extended; 207 Loop INTEGER; 208BEGIN 209 IF Fehler 1 THEN EXIT; 210 Stp :-15.0/255.0; m per digit I 211 nult 4.0E9*tp*Stp (rhomax2*Pi*rhoax2); Flichenverhaitni3
I
212 nult Hult*4.0/1000.0 *4; 213 IF Dir 0 THEN iX 120 214 ELSE iX 0; 215 iY 0; 216 Ec 0; 217 ECnt 0; 218 DCnt 0; 219 Di 0; 220 X 221 Y 0; 222 StartAngle 0; 223 REPEAT 224 225 Mult Stp Stp/(iX+1)*iX; 226 Mult Stp*Stp (Stp*Mult)/; 227 1 228 Mult Pi* (SrStni~Y1~ IVnd~I-- LA'L I I _Q +lvv i+\ extra correction) 229 Mult 4.0E9*Mult (rhomax2*Pi*rhomax2); Flachenverhlltnis Ratio of areasl 11 13 1% Mult Mult*4.0/1000.0 *4; X :=iX*Stp; 1 ((Longlnt(iY+Kitte) SHL 8 (iX+Mitte))) SHL 1; Cnt memW[WArraySeg(l SHR 15] WArrayfs(l SHR 15]
I
(1 AND S7FFF)]; 0 0
S.
0000 0* 0t* 0 0* 0 0* @0 .0 0 Cnt Cnt 64.0 4.0; SollAbtrag in .m e Cnt Mult; Cnt e Ec; IF Cnt 0.0 THEN
BEGIN
Mult2 (Sqr( (iX+1)*Stp) Sqr(iX*Stp)) Cnt Cnt*Mult2; i j i DIV 8; i 8; IF i 7 THEN i 0; IF i 32 THEN i 32; Cnt Cnt-i; Cnt Cnt Mult2; j i DIV 8; IF (i+Datall.Vektorlaenge) 2500 THEN
BEGIN
Fehier 12; Swapm;
EXIT;
(Sqr(Stp)); *eb.
0 000@ 0* 0 APPENDIX B 254 255 256 257 258 259 DIV 260 261 262 263 264 265 266
END;
WHILE i 0 DO
BEGIN
StartAngle StartAngle+0. 1 (256-iX) /50.0; StepAngie Pi2.0 7 8; InnerRing Round(iXStp1000 (Stp/2) (Stp((j+i)-(i FOR Loop 1 TO 9 DO
BEGIN
INC (Dat A.1l.Vektorlaenge) WITH Trsatent (DatAiI.Vektorlaenge]' DO
BEGIN
x_pos Round(InnerRing*Coa (StartAngle) ErrorX*136); y_pos Round(Innerring*Sin (StartAngle) ErrorY 136); 267 StartAngle StartAngle StepAngle; 268 soliblende Round(rhomax2); 269 istblende sollbiende; 270 energie 100; 271 END; 272 END; 273 DEC(i, 8); 274 END; 275 END; 276 Ec Cnt; 277 INC(iX, Dir); 278 UNTIL (Abs(iY) 126) OR (Abs(iX) 126) OR UiX 0); 279END; (DoDitherCircular) 280 281 282 283( Dithering line by line as proposed by Floyd-Steinberg I 284( Weightening matrix changed 285 286PROCEDURE DoDitherXY(VAR rhomax2 extended); 287VAR 288 Mult extended; 289 X, Y extended; 290 Stp extended; 291 eX,eY extended; 292 Err ARRAY. .3,-127..127] OF single; 293 Ec extended; 294 iX, iY: INTEGER; 295 Cnt,e extended; 296 Pre extended; 297 AddW WORD; 298 Maximum: WORD; 299 L1,Loop WORD; 300 1 Longlnt; 301BEGIN 302 IF Fehier 1 THEN EXIT; 303 AddW 0; 304 305 Maximum: 0; 306 FOR Li 0 TO 3 DO 307 FOR Loop 0 TO 16383 DO 308 BEGIN 309 IF memW(W2ArzaySegfLl WArrayOfs(L1] Loop shi 310 THEN Maximum memW(WArraySeg(L1] WA7rrayOfs 311 END; 312 MdV 65535 Maxm 313 FOR Li 0 TO 3 DO 314 FOR Loop 0 TO 16383 DO 315 Inc (memW[WArraySeg(L1] WArrayOfs(L1] Loop shi 1 316 11 Maxinan [Li] Loop shl 1]; AddW); APPENDIX B c 317 Stp :15.0/255.0; m m per digit 318 Nult :-4.0E9*Stp*Stp /(rhomax2*Pi'r 319 orrection 320 321 322 Mult :-Mult*4.0/1000.0; 323 X :--120 *Stp 0.001; 324 Y :--120 *Stp 0.001; 325 ox -X; 326 eY 327 iX :=-120; 328 iY :--120; 329 FiliChazrr, Size~f(Srr), 0); 330 Err(1, -122) -64; 331 NewCirc (Round (rhomax2)); 332 REPEAT 333 X 12O*Stp+0.001; 334 iX :--120; 335 REPEAT 336 1 ((Longlnt(iY+HMitte) S)U. 8 337 Cnt memW[..rraySegfl SHR. 15] ]-Addw; Flachenverhltnis (Absolute necessary (with the ratio of the areas.) I Not original part of Floyd-St.) (iX+Mitte-1))) SHUL 1; W.rrayOfs~l SHR 15] (1 AND 338 339 340 341 342 343 344 Cnt :mCnt 64.0 4.0; SollAbtrag in pm Ec ix-li Err[2, iX 1) *8.0 (ErrC2, iX-1] Err(2, iX+1]) *5.657 (ErrC3, iX-2] Err~l, iX *4.0 (Err(2, iX-2] Err(2, iX+2] Err[1, iX-li Err(1, iX+1]) *3.578 CErz[3, iX-3] Err(0, iX 2.667 (Err[2, IX-3] Err(2, iX+31 Errf0, IX-1] Err(0, iX+1]) *2.530 (Err(1, iX-2] Err(1, iX+2]) 2.828 )/70.736; e :Cnt *Mult; Cnt Ec; WHILE Cnt (Mult/2.0) DO
BEGIN
IF Dat-all.Vektorlaenge 2500 THEN
BEGIN
INC (DatAll.Vektorlaenge); WITH Treatment [Dat A.1l.Vektorlaenge] A DO
BEGIN
x-POs Round(X*1000 ErrorX*1E6); y~yos3 Round(Y*1000 ErrozY*1E6); 3ollblende :-Round(rhomax2); istblende solbleride; energie :100;
END;
S
S
S
*5 S
S
S.
END
ELSE BEGIN Fehler 12; Swap~m;
EXIT;
END;
Cnt Cnt-1;
EMD;
Err[3, iX] Cnt; X x Stp; INC ix); UNTIL X ex; Err(0] :-Err(1J; Ezrx(] :-Err(2]; Err(2] Err[3]; FillChar(Err[3], Sizeof(Err(3]), 0); Y Y Stp; APPENDIX B
C(
378 INC iY) 379 UNTIL Y eY; 380END; (DoDitherXY) 381 382 383 384PROCPDUp OrderDitherXy(VAR Zeile STRING); 385VAR 386 rho-ax2: extended; 387BEGIN 388 IF Fehler 1 THEN EXIT; 389 Delete(Zeile, 1, DITHERXY(* entfernt 390 GetNext(Zeile, rheax2, 500, 7000); 391 IF Fehier 1 THEN EXIT; 392 CheckzndOforder(Zeile); 393 DoDitherXY(rhomax2); 394 IF Fehler-0 THEN Fehier 1; 395ND; (OrderDitherXy) 396 397 398 399PROCEDURE DoDitherC(VAR rhomax2 extended); 400VAR 401 Mult extended; 402 X, Y extended; 403 R, Phi extended; 404 Stp extended; 405 Err ARRAY(0..3,0..1023] OF single; 406 ErrS ARRAY(0..31 OF single; 407 M ARRAY(0..3,-3..3J OF INTEGER; 408 Ec extended; 409 iR INTEGER; 410 iX, iY INTEGER; 411 Cnt,e extended; 412 er extended; 413 dPhi extended; 414 i, j INTEGER; 415 iPhi INTEGER; 416BEGIN 417 IF Fehler 1 THEN EXIT; 418 Stp 15.0/255.0; m per digit 419 Mult:- 4.0E9*Stp*Stp rhomax2*Pi*rhomax2 420 Mult:= Mult*4.0/1000.0; 421 iX -125; 422 iY -125; 423 FillChar(Err, SizeOf(Err), 0); 424 FillCharCErrS, SizeOf(ErrS), 0); 425 R 0; 426 iR 0; 427 eR Stp*120; 428 Phi 0.0; 429 ErrS(1] 1; 430 ErrS[2] 1; 431 ErrS(3] :m 1; 432 REPEAT 433 434 Phi 0.0; 435 436 ErrS(0] (R*2.0*Pi Stp); 437 438 IF ErrS(0] 1 THEN 439 BEGIN 440 ErrS(0] 1; 441 dPhi 4*Pi; 442 END 443 ELSE dPhi 2fl~Di I Irb~ A*D; s~r Fllchenverhaitni 443 ELSE -t1 APPENDIX B f dPhi :2.O*Pi ErS[0]; iPhi :0;
REPEAT
iX Rournd(iR *Sin(Phi)); iY :Round(iR *Cos (Phi)); 1 ((Longlnt(iY+lKitte) s1H. a (iX+Mitte))) SHL 1; Cnt memi(M.raySeg(1 SHR 151 W.zrayOf3[l SHR 15] (1 AND $7FFF11! Cnt Cnt 64.0 4.0; SoilAbtrag in pmn FOR i 0 TO 3 Do FOR j -3 TO 3 Do BEGIN (iPhi~j) /ErrS 14(i, i:-Rounid( (Phi4j*dPhi)/(2.0*Pi)*ErrS(i] WHILE M~i, j] 0 DO INC(14(i, Round (EzrSti])) WHILE M~i, j] ErrS(i] DO DEC(14(i, RoundC(ErrS
END;
e :-Cnt *Mult; Ec 14(0,-i]]I Err(1, 14(1, 0)1) 8.0 (Err(1, Err(l, *5.657 (Err(0, M4(0,-21] Err(2, *4.0 (Erx(1, Err(1, M4(1,4.2]] Err(2, Err[2, *3.578 (Erx(0, Err(3, 2.667 (Err(1, Err(1, 14(1,4.3] Err(3, .Err(3, 2.530 (Err[2, Err(2, *2.828 )/70.7 IF iPhi 3 THEN Ec :=Ec (1.i5-(iPhi/20)); Cnt Ec; WHILE Cnt 0.0 DO
BEGIN
IF Dat-ali.Vektorlaenge 2500 THEN
BEGIN
INC (DatAli.Vektoriaenge); WITH Treatment [Dat All .Vektorlaenge] DO
BEGIN
x-pos :-Round (iR*Stp*Six(Phi) *1000. 0 ErrorX*lE6) y-pos :-Round (iR*Stp*Cos (Phi) *1000.0 ErrorY*1E6) 3olibiende :=Round(rhomax2); istbiende oliblende; energie 100; IF (Abs (x,,pos) 7500) OR (Abs (ypos) 7500) THEN
BEGIN
DEC (Dat-all.Vektorlaenge);
REPEAT
Cnt Cnt-l.0; UNTIL Cnt 0.0;
END;
36;
END
ELSE BEGIN Fehier 12; Swap Em;
EXIT;
EMD;
Cnt Cnt-1;
END;
Err(0,14(0,0]] Crit; Phi Phi dPhi; INCU(Phi); UNTIL Phi 2*Pi; Phi Phi 2*Pi; ErrS([31 ErxS [21 ErrS(2]:- ErrS[1]; APPENDIX
B
507 zrS(1):- ExrSt0]; 508 1:4[3] 1:21; 509 Err(2) E- 1:41] 510 arrC1] E- 1:40; 511 FillChar(EZrr(0, Size~f (Err( 0]1 0): 512 R R Stp; 513 INCUiR); 514 UNTIL R OR; (DoDjtherC) 516 517 518 519PROCRDURE OrderDitherC (VA.R Zeile STRIN 520VAR 521 rhomax2: extended; 522 BEGIN 523 IF Fehiez 1 THEN EXIT; 524 Delete(Zeile, 1, 1 DITHMRC 525 GetNext(Zeile, rhomax2, 500, 7000); 526 IF Fehier 1 THEN EXIT; 527 CheckEndOfozder(Zeile); 528 DoDitherC (rhomax2); 529 IF Fehler-0 THEN Fehier 1; 530END; (OrderDitherC) 531 G) entfernt 534 535PROCEDURB OrderDither(VAR Zeile :STRING); 536VAR 537 Typ :extended; 538 rhomax2 :extended; 539BEGIN 540 IF Fehier 1 THEN EXIT; 541 Delete(Zeile, 1, DITHER(O entfent 542 GetNext(Zeile, Typ, -0.01, 5.3); 543 IF Fehier 1 THEN EXIT; 544 GetNext(Zeile, rhomax2, 500, 7000); 545 IF Fehier 1 THEN EXIT; 546 CheckEndoforder(Zeile); 547 CASE Round(Typ) OF 548 0 :DoDitherXY(rhomax2); 549 1 :DoDitherC(rhomax2); 550 2 :DoDitherRect(rhomax2); 551 3 :DoDitherCircular(rhomax2); 552 4 :DoDitherCircular2 (rhomax2, 1); 553 5 :DoDitherCirculaz2 (rhomax2, 554 END; (case) 555 IF Fehler-0 THEN Fehier 1; 556END; (OrderDither) APPENDIX B Procedure for sorting shot arrays PROCEDURE OrderSort (VAR Zeile :STRING; Typ INTEGER); 2V7.R 3 Dist ARRAY(0. .MaxVektor] OF single; 4 Win single; Loop INTEGER; 6 Tausch BOOLEAN; 7 helpse :shot event; 8 helps single; 9 11 12 13 14 16 17 18 19 21 22 23 24 26 27 28 29 31 32 33 34 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 5 6 FOR 57 BI PROCEDURE Tausche m WORD);
BEGIN
helpse Treatment~n]'^; Treatment (ni :-Treatment (mlA; Treatment Cm] A:-helpse; helps Dist(n]; Dist(n] :Dist~ml; Dist(M] :helps;
END;
PROCEDURE SortSpiral;
VAR
Loop INTEGER; w :WORD;
BEGIN
REPEAT
Loop 2; Tausch FALSE;
REPEAT
IF Dist(Loop-1] Dist[Loop] THEN BEGIN Tausch TRUE; TaUsche (Loop, Lbop-1);
END;
INC (Loop); UNTIL Loop Dat -all.Vektorlae UNTIL NC)T(Tausch);
END;
PROCEDURE SortRandom;
VAR
exchange shot n with shot m sort shots in a spiral inge; Random sort
S
*5
S
S.*
S
Loop INTEGER; m,n WORD;
BEGIN
Randomize; FOR Loop 1 TO 5000 DO
BEGIN
m :-Random (Dat-all .Vektorlaenge) +1; n :Random (Datall.Vektorlaenge) +1; Tausche(m, n);
END;
END;
Loop 1 TO Dat-all.Vektorlaenge DO Determine Distance from treatment-) EGIN center for each shot Dist(Loop] Sqrt (Sqr (Treatment [Loop .xpo*l.0) S. S.
S
APPENDIX C 0 96 59 Sqr (Treatment (Loop)A. ypos 0); IF TreAtinnt(Loopp^.xpos 0 61 THEN BEGIN 62 Win ArcTan(Tzeatmnt (LOOP) .ypos Treatment (Loop] .x-POS); 63 IT Treatment (Loop] A.xpos 0 64 THEN BEGIN IT Win 0 THEN Win Win 66 END 67 ELSE win :Win Pi; 68 END 69 ELSE BEGIN IF Treatment(Loop]A.yP03 0 71 THEN Win :-0 72 ELSE Win :-Pi; 73 END; 74 Dist(Loopj Round (Dist (LOOP] /59) win/(2*Pi); Add Angle/(2*Pi) to Distance
END:
76 CASE Typ OF 77 0 :SortSpiral; 78 1 :SortRandom; 79 END; (case) 8OEND; (OrderSort) APPENDIX C
Claims (5)
1. A method of controlling a laser system, the laser system including a laser that emits a laser beam having a suitable wavelength and the laser system including an optical system that images the laser beam onto the cornea that has an area to be subject to ablation to a desired treatment pattern for correcting vision, the area having a central point, the method including the steps of: calculating a shot sequence to ablate the cornea to the desired treatment profile; sorting said calculated shot sequence; and directing the laser system to fire the laser beam in a series of shots, said series of shots corresponding to and fired in order of said sorted calculated shot sequence.
2. A method of claim 1, wherein said sorting step further includes the step of randomly sorting said calculated shot sequence.
3. A method of claim 1, wherein said sorting step further includes the step of sorting said calculated shot sequence into a spiral.
4- An apparatus for shaping the cornea by removing tissue from a region of *"the cornea that has an area to be subject to ablation to a desired treatment pattern for correcting vision, the area having a central point, the apparatus including: .25 a laser that emits a laser beam having a suitable wavelength; an optical system that images said laser beam onto the cornea; means for calculating a shot sequence to ablate the cornea to the desired treatment profile; means for sorting said calculated shot sequence; and 30 means for directing the laser and optical system to fire the laser beam in a series of shots, said series of shots corresponding to and fired in order of said sorted calculated shot sequence.
555. 5. An apparatus of claim 4, wherein said sorting means is adapted for randomly sorting said calculated shot dithering pattern. 98 6. An apparatus of claim 4, wherein said sorting means is adapted for sorting said calculated shot sequence into a spiral. 7. An apparatus of any one of claims 4 to 6, further including means for empirically calculating a series of shots forming the treatment before the firing step. 8. An apparatus of claim 7, wherein said means for empirically calculating further includes: means for calculating a reference array corresponding to the desired treatment; means for empirically determining a series of overlapping shots forming a plurality of concentric rings corresponding to said reference array. 9. A method for ablating a volumetric portion of a surface of an object with a laser beam, comprising: :,providing a laser beam having a suitable wavelength for ablating the surface of the object; 20 determining an area of the volumetric portion of the surface to be ablated; directing the laser beam to the surface of the object in a series of shots located at at least two positions from a center of the area and having a fixed beam size and shape wherein said beam size is such that at least some beam 25 overlap is required to achieve a desired treatment pattern, further wherein said series of shots are fired in a non-sequential overlapping pattern. The method of claim 9, wherein said fixed beam shape is circular and said fixed beam size is defined by a minimum beam diameter. 11. The method of claim 10, wherein said minimum beam diameter defines a beam area that is greater than or equal to about 10% of the area of the surface to be ablated. 12. The method of any one of claims 9 to 11, wherein the area of the .volumetric portion of the surface to be ablated is in an optical zone of an eye. 13. The method of claim 10, wherein said minimum beam diameter, d, is in a range of 0.5mrm d 7 mm. 14. The method of any one of claims 9 to 13, wherein said at least two positions comprises at least two distances from a center of the area. The method of any one of claims 9 to 14, wherein said desired treatment pattern includes at least one transition zone. 16. The method of claim 15, wherein said at least one transition zone covers a different portion of the area than another transition zone. C 17. The method of claim 15, wherein said volumetric portion of ablated 15 tissue is less than a corresponding volumetric portion in the absence of the transition zone for the desired treatment pattern. 0 18. The method of anyone of claims 9 to 17, wherein said area is non- symmetric with respect to said center of the area. 19. The method of any one of claims 9 to 18, wherein directing the laser beam to the surface of the object includes rotating the beam. 20. The method of claim 19, comprising rotating the beam synchronously C S: 25 with respect to said series of shots. 21. The method of claim 19, comprising rotating the beam asynchronously with respect to said series of shots. 22. The method of any one of claims 9 to 21, wherein said pattern is a ring. 23. The method of any one of claims 9 to 21, wherein said pattern is a line. 24. The method of any one of claims 9 to 21, wherein said pattern is a spiral. 0@ The method of any one of claims 9 to 21, wherein said pattern is random. 26. The method of any one of claims 9 to 25, wherein directing the laser beam further comprises sorting said series of shots to maximize a separation distance between sequential shots. 27. The method of any one of claims 9 to 26, wherein said fixed beam shape is an oval, and wherein said beam shape defines a fixed beam area. 28. The method of claim 27, wherein said beam area is equal to or greater than about 10% of the area of the surface to be ablated. 29. The method of any one of claims 22 to 25, wherein the series of shots 15 in said pattern are sequentially non-overlapping. A method according to any one of claims 1 to 3 or 9 to 29 substantially as hereinbefore described with reference to any one of the Examples or Figures. 31. An apparatus according to any one of claims 4 to 8 substantially as hereinbefore described with reference to any one of the Examples or Figures. Dated this twelfth day of April 2001 CHIRON/TECHNOLAS GMBH OPHTHALMOLOGISCHE SYSTEME, KRISTIAN HOHLA Patent Attorneys for the Applicant: U' 0CRLZ F B RICE CO
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU52578/99A AU735732B2 (en) | 1994-10-14 | 1999-09-30 | Excimer laser system for correction of vision |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/324782 | 1994-10-14 | ||
AU52578/99A AU735732B2 (en) | 1994-10-14 | 1999-09-30 | Excimer laser system for correction of vision |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
AU38054/95A Division AU713834B2 (en) | 1994-10-14 | 1995-10-12 | Excimer laser system for correction of vision |
Publications (2)
Publication Number | Publication Date |
---|---|
AU5257899A AU5257899A (en) | 2000-02-17 |
AU735732B2 true AU735732B2 (en) | 2001-07-12 |
Family
ID=3738781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
AU52578/99A Ceased AU735732B2 (en) | 1994-10-14 | 1999-09-30 | Excimer laser system for correction of vision |
Country Status (1)
Country | Link |
---|---|
AU (1) | AU735732B2 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4665913A (en) * | 1983-11-17 | 1987-05-19 | Lri L.P. | Method for ophthalmological surgery |
WO1994007447A2 (en) * | 1992-10-01 | 1994-04-14 | Kristian Hohla | Apparatus for modifying the surface of the eye through large beam laser polishing and method of controlling the apparatus |
AU2257295A (en) * | 1994-04-08 | 1995-10-30 | Chiron/Technolas Gmbh Ophthalmologische Systeme | Correction of vision through overlapping cylindrical lenses |
-
1999
- 1999-09-30 AU AU52578/99A patent/AU735732B2/en not_active Ceased
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4665913A (en) * | 1983-11-17 | 1987-05-19 | Lri L.P. | Method for ophthalmological surgery |
WO1994007447A2 (en) * | 1992-10-01 | 1994-04-14 | Kristian Hohla | Apparatus for modifying the surface of the eye through large beam laser polishing and method of controlling the apparatus |
AU2257295A (en) * | 1994-04-08 | 1995-10-30 | Chiron/Technolas Gmbh Ophthalmologische Systeme | Correction of vision through overlapping cylindrical lenses |
Also Published As
Publication number | Publication date |
---|---|
AU5257899A (en) | 2000-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU713834B2 (en) | Excimer laser system for correction of vision | |
US5827264A (en) | Method of controlling apparatus for modifying the surface of the eye through large beam laser polishing | |
US6436093B1 (en) | Controllable liquid crystal matrix mask particularly suited for performing ophthamological surgery, a laser system with said mask and a method of using the same | |
JP3615487B2 (en) | Offset ablation profile for treatment of irregular astigmatism | |
US5713892A (en) | Method and apparatus for combined cylindrical and spherical eye corrections | |
JP3618781B2 (en) | Laser treatment system | |
US20030069566A1 (en) | System for generating ablation profiles for laser refractive eye surgery | |
AU735732B2 (en) | Excimer laser system for correction of vision | |
WO1995027452A1 (en) | Correction of vision through overlapping cylindrical lenses | |
AU671668C (en) | Apparatus for modifying the surface of the eye through large beam laser polishing and method of controlling the apparatus | |
JP2001513376A (en) | Corneal surface ablation system and method for correcting hyperopia |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TC | Change of applicant's name (sec. 104) |
Owner name: TECHNOLAS GMBH OPHTHALMOLOGISCHE SYSTEME, KRISTIAN Free format text: FORMER NAME: CHIRON/TECHNOLAS GMBH OPHTHALMOLOGISCHE SYSTEME, KRISTIAN HOHLA |
|
FGA | Letters patent sealed or granted (standard patent) |