Patent Description:
Ophthalmic imaging devices such as scanning laser ophthalmoscopes (SLO) and optical coherence tomography (OCT) imaging systems typically comprise a light source and a scanning system. The scanning system scans light emitted by the light source over a target imaging area, such as a patient's retina by using one or more scanning mirrors to control the position of the imaging light beam.

One type of mirror that can be used in a scanning system is a polygon scanning mirror. The polygon scanning mirror comprises a polygonal mirror mounted on a rotating shaft. The polygonal mirror comprises reflective facets arranged in a polygon. As the polygon scanning mirror is rotated the light beam reflects off the facets such that the light beam is scanned over the target area. Polygon scanning mirrors can scan light quickly over an imaging target. As such, polygon scanning mirrors are often used to scan the beam of light linearly over a target area. For example, if the scan pattern is a series of parallel vertical lines then the polygon scanning mirror would scan the light beam linearly along the vertical lines over the target area and a scanning mirror such as a scanning galvanometer may be used to control the horizontal position of the light beam on the target area. The polygon scanning mirror and scanning galvanometer mirror may work in conjunction to form an X-Y scanning system that can be used to scan a light beam over the imaging target to generate an image of the target.

Banding is an optical artefact that can arise in images that use a polygon scanning mirror to scan the light beam over the imaging target. Banding artefacts may manifest in images as a series of dark and/or light bands occurring periodically in the image. In the example where the polygon scanning mirror scans the imaging beam vertically across the imaging target, banding typically presents as dark and/or light bands extending vertically across the resultant image. However, banding artefacts can take other forms such as in the form of horizontal lines.

Banding artefacts in images can be caused by several contributing factors. For example, imperfect optical components within scanning systems can introduce banding in images. This can include irregularities or imperfections in the polygon scanning mirror or wobbling of the polygon scanning mirror as it rotates which can cause variations in the angular position of the facets of the polygon mirror as the polygon scanning mirror rotates. These variations can cause the imaging beam to deviate from its intended scan pattern thereby leading to visible lines or banding in the resultant image. Furthermore, variations in the reflectivity of each of the reflective facets or mirrors on the polygon can cause variations in intensity of the light scanned across the target area. Banding can also be caused by non-uniform line spacing between the lines scanned by the polygon scanning mirror which can be introduced by imperfections in the horizontal scanning galvanometer.

Ultimately, whilst banding artefacts may manifest in images for a variety of reasons and in a variety of forms, the presence of banding artefacts in images captured by an imaging system detracts from the quality of the resultant image. This can make it difficult for a clinician to visualise or assess the severity of pathologies within a resultant image if the image is a medical image of tissue such as an ophthalmic image of a retina. It is therefore desirable to minimise or eradicate banding from images to improve the quality of images captured by an imaging system having a polygon scanning mirror.

Banding in images can be suppressed by using high quality optical components within the imaging system. For example, using high quality reflective facets on the polygon can reduce variations in the reflectivity of each facet. However, high quality optical components can be very expensive which increases the overall cost of the imaging system. Furthermore, dampening vibrations within the imaging system can also help reduce the presence of banding in images captured by the imaging system although this can be challenging due to the inherent vibrations associated with the rotating polygon scanning mirror. Document <CIT> describes for instance a method of suppressing banding artefacts, in particular a method of training a model to deband an image, comprising: for a training image of a second set of second training images: receiving a training debanded image, the training debanded image comprising image data obtained by removing banding artefacts from the training image; generating a banding score for the training debanded image; generating an image difference between the second training image and the training debanded image; and using a weighted combination of the image difference and the banding score in a loss function that is used to train the second model.

There is described in the following a method of suppressing a banding artefact in an image of an imaging target, the method comprising: partitioning the image of the imaging target into a plurality of segments that partially overlap each other, wherein each segment of the plurality of segments comprises one or more overlapping regions, wherein each overlapping region is a region of overlap of the segment with a respective adjacent segment of the plurality of segments, applying an image correction algorithm, which computes a discrete cosine transform of each segment of the plurality of segments, to suppress the banding artefact in the plurality of segments; removing at least part of the one or more overlapping regions from each segment of the plurality of segments to remove an edge effect or artefact introduced by the image correction algorithm, to generate a respective corrected segment; and combining each of the corrected segments to generate a corrected image of the imaging target that comprises less of the banding artefact than the image.

There is provided, in accordance with a first example aspect herein, a method of suppressing a banding artefact, for example a periodic line artefact, in an ophthalmic image of a patient's eye, the method comprising: partitioning the ophthalmic image into a plurality of segments that partially overlap each other, wherein each segment of the plurality of segments comprises one or more overlapping regions, wherein each overlapping region is a region of overlap of the segment with a respective adjacent segment of the plurality of segments; applying an image correction algorithm, which computes a discrete cosine transform of each segment of the plurality of segments, to suppress the banding artefact in the plurality of segments; removing at least part of the one or more overlapping regions from each segment of the plurality of segments to remove an artefact introduced by the image correction algorithm, to generate a respective corrected segment; and combining the corrected segments to generate a corrected ophthalmic image that comprises less of the banding artefact than the ophthalmic image. The method and any of its example embodiments described in the following may be implemented (performed) by a computer,.

The method may comprise performing filtering in a frequency domain, after the discrete cosine transform has been computed, to remove at least one of low frequency signals and high frequency signals from each of the segments. Furthermore, performing filtering may comprise removing discrete cosine transform coefficients having an absolute value equal to or above a threshold value. For example, the threshold value may be an integer value such as <NUM>, <NUM>, <NUM> or greater. Removing discrete cosine transform coefficients having an absolute value equal to or above the threshold value may comprise setting the coefficients equal to or above the threshold value to zero.

Additionally or alternatively, the method may comprise applying a window function to the computed discrete cosine transform of each segment. The window function may be applied to window a bin in the discrete cosine transform of each segment, which bin corresponds to a spatial frequency of the banding artefact, to attenuate the banding artefact in the discrete cosine transform of each segment.

The window function may comprise a secondary component for filtering a second frequency corresponding to a harmonic of the frequency of the banding artefact. The secondary component may be applied to window a bin in the discrete cosine transform of each segment corresponding to the secondary frequency. The secondary frequency may be a multiple of the frequency of the frequency of the banding artefact. In an example embodiment the window function may be a Hanning window filter.

Optionally, the image correction algorithm may comprise computing, for each segment of the plurality of segments, a respective inverse discrete cosine transform of the segment after the discrete cosine transform has been computed for the segment.

The method may comprise combining the corrected segments to generate the corrected ophthalmic image. Combining the corrected segments may comprise blending a peripheral region of a first corrected segment of the corrected segments with a peripheral region of an adjacent corrected segment of the corrected segments. Blending a peripheral region of the first corrected segment with a peripheral region of the adjacent corrected segment may comprise aligning one or more features present in both the first corrected segment and the adjacent segment such that the one or more features are overlaid each other in the corrected image such that the join between the first corrected segment and the adjacent corrected segment is not visible.

There is provided, in accordance with a second example aspect herein, a computer program comprising computer-readable instructions which, when executed by a processor, cause the processor to perform a method according to the fist example aspect or at least one of the example embodiments thereof set out above. The computer program may be stored on a non-transitory computer-readable storage medium or carried by a signal.

According to a third example aspect herein, there is provided an ophthalmic imaging system for imaging a patient's eye, the imaging system comprising: a light source arranged to emit a light beam; a scanning system comprising a polygon scanning mirror, wherein the polygon scanning mirror is arranged to scan the light beam over a region of the patient's eye, a photodetector optically coupled to the scanning system, wherein the photodetector is configured to generate a detection signal based on light reflected by the patient's eye; and data processing hardware or a processor configured to receive the detection signal from the photodetector and generate, based on the received detection signal, an ophthalmic image of the patient's eye, wherein the ophthalmic image comprises a banding artefact; wherein the data processing hardware is further configured to: partition the ophthalmic image into a plurality of segments that partially overlap each other, wherein each segment of the plurality of segments comprises one or more overlapping regions, wherein each overlapping region is a region of overlap of the segment with a respective adjacent segment of the plurality of segments; apply an image correction algorithm, which computes a discrete cosine transform of each segment of the plurality of segments, to suppress the banding artefact in the plurality of segments; remove at least part of the one or more overlapping regions from each segment of the plurality of segments to remove an artefact introduced by the image correction algorithm, to generate a corrected segment; and combine each of the corrected segments to generate a corrected ophthalmic image that comprises less of the banding artefact than the ophthalmic image.

The ophthalmic imaging system may be a scanning laser ophthalmoscope (SLO) imaging system or an optical coherence tomography (OCT) imaging system. The OCT imaging system may be, for example, a swept-source OCT, spectral-domain OCT, or Fourier domain OCT imaging system.

In an embodiment the data processing hardware may be further configured to perform filtering in a frequency domain, after the discrete cosine transform has been computed, to remove at least one of low frequency signals and high frequency signals from each of the segments. Removing or filtering at least one of the low frequency signals and the high frequency signals may comprise removing discrete cosine transform coefficients having an absolute value equal to or above a threshold value from each of the partially overlapping segments. Removing the discrete cosine transform coefficients having an absolute value equal to or above the threshold value may comprise setting the discrete cosine transform coefficients to zero.

Additionally or alternatively, the data processing hardware may be further configured to apply a window function to the computed discrete cosine transform of each segment. The window function may be applied to window a bin in the discrete cosine transform of each segment which bin corresponds to a spatial frequency of the banding artefact, to attenuate the banding artefact in the discrete cosine transform of each segment. The window function may comprise a secondary component for filtering a second frequency corresponding to a harmonic of the frequency of the banding artefact. The secondary component may be applied to window a bin in the discrete cosine transform of each segment corresponding to the secondary frequency of the harmonic. The window function may be a Hanning window.

Optionally, applying the image correction algorithm may further comprise computing for each segment of the plurality of segments, a respective inverse discrete cosine transform of the segment after the discrete cosine transform has been computed for each of the partially overlapping segments.

Optionally, combining the corrected segments to generate the corrected ophthalmic image may comprise blending a peripheral region of a first corrected segment of the corrected segments with a peripheral region of an adjacent corrected segment of the corrected segments.

Example embodiments will now be explained in detail, by way of non-limiting example only, with reference to the accompanying figures described below. Like reference numerals appearing in different ones of the figures can denote identical or functionally similar elements, unless indicated otherwise.

In view of the background above, the inventor has devised an ophthalmic imaging system for imaging a patient's eye which utilises a scanning system comprising a polygon scanning mirror for scanning a beam of light across a patient's eye to generate ophthalmic images of the patient's eye. The ophthalmic imaging system comprises a control module or data processing hardware arranged to apply an image correction algorithm to uncorrected ophthalmic images that contain banding artefacts to remove or suppress the banding artefacts present in the ophthalmic images. Removing or suppressing the banding artefacts in the ophthalmic images may comprise partitioning the ophthalmic image into partially overlapping segments, applying an image correction or an artefact suppression algorithm to each overlapping segment, cropping or removing overlapping regions of each of the partially overlapping segments and recombining the cropped segments to generate a corrected ophthalmic image that contains less of the banding artefact than the uncorrected image.

The use of data processing hardware arranged to apply an image correction algorithm to an uncorrected ophthalmic image that contains a banding artefact beneficially removes or suppresses banding artefacts from ophthalmic images thereby improving the image quality of images acquired by the ophthalmic imaging system. Banding artefacts in an ophthalmic image detract from the quality of the image and it is therefore beneficial to remove and/or suppress the banding artefacts present in images captured by the ophthalmic imaging system. The banding artefacts may be, for example, periodic line artefacts.

Partitioning an uncorrected image into partially overlapping segments and applying an image correction algorithm to each of the overlapping segments allows the banding artefact to be suppressed in each segment and any residual edge effects or edge artefacts introduced by the image correction algorithm are typically contained within the overlapping regions of the overlapping segments. Advantageously, the overlapping regions of each segment may be removed such that the central portion of each segment can be combined to create a corrected image thereby removing edge effects from the corrected image and only using the central portion of each corrected segment to generate the corrected image.

<FIG> shows an imaging system <NUM> for acquiring images of an imaging target <NUM>. The imaging system <NUM> may be a medical imaging system, such as an ophthalmic imaging system, and the imaging target <NUM> may be biological tissue, for example, a patient's eye, such that the ophthalmic imaging system is arranged to capture ophthalmic images of the patient's eye. The imaging system <NUM> may be, for example, a scanning laser ophthalmoscope (SLO) imaging system or an optical coherence tomography (OCT) imaging system such as a swept-source OCT or spectral domain OCT imaging system. The imaging system <NUM> comprises a light source <NUM> such as a laser or a super luminescent diode (SLD) arranged to emit a light beam Lb towards the scanning system <NUM> within the imaging system <NUM>. The scanning system <NUM> is arranged to convey the light beam Lb from the light source <NUM> to the imaging target <NUM> and to scan the light beam Lb over the area of the imaging target <NUM> that is to be imaged.

Further, the scanning system <NUM> is arranged to collect light Lc that has been reflected or scattered by the imaging target <NUM> during a scan and to convey the collected light Lc to a photodetector <NUM> within the imaging system <NUM>. The photodetector <NUM> is arranged to detect collected light Lc such that image processing hardware (not shown) within the data processing hardware <NUM> can generate an image of the imaging target <NUM>, based on the detection signal Sd, using well known data processing techniques. The image generated by the data processing hardware <NUM> may be an uncorrected ophthalmic image <NUM> of the imaging target <NUM> if the imaging target <NUM> is an eye. The uncorrected image <NUM> generated by the data processing hardware <NUM> comprises a banding artefact introduced by the polygon scanning mirror as discussed in further detail below.

The scanning system <NUM> may, as in the present example embodiment, include an arrangement of optical components as illustrated schematically in <FIG>. The scanning system <NUM> of <FIG> comprises a first scanning element <NUM> and a first curved mirror <NUM>. The scanning system <NUM> may, as in the present example, further comprise a second curved mirror <NUM> (also referred to herein as a "slit mirror") and a second scanning element in the form of a polygon scanning mirror <NUM>. The first scanning element <NUM> may be a scanning galvanometer mirror arranged to scan the light beam Lb horizontally across the imaging target <NUM>. The second scanning element is a polygon scanning mirror <NUM> arranged to scan the light beam Lb vertically across the imaging target <NUM>. The polygon scanning mirror <NUM> comprises reflective facets arranged in a polygon. The polygon scanning mirror may comprise sixteen equally dimensioned reflective facets arranged in a polygonal shape. The location on the imaging target <NUM> that the light beam Lb is scanned by the first and second scanning elements <NUM>, <NUM> may be controlled by a scanning system controller (not shown).

During operation of the scanning system <NUM>, the light beam Lb emitted from the light source <NUM> enters the scanning system <NUM> and is focussed onto the polygon scanning mirror <NUM> by a lens (not shown). The light beam Lb received by the polygon scanning mirror <NUM> is then reflected, in sequence, by the polygon scanning mirror <NUM>, the second curved mirror <NUM>, the first scanning element <NUM> and the first curved mirror <NUM>, before being incident on the imaging target <NUM>. The imaging target <NUM> may take the form of a region of a retina of an eye in the present example embodiment, although this form of imaging target <NUM> is given by way of an example only. The return light, which has been scattered by the illuminated region of the imaging target <NUM>, for example the retina of the eye, follows the same optical path through the scanning system <NUM> as the line of light Lb that is incident on the imaging target <NUM> but in reverse order, and exits the scanning system <NUM> as the collected light Lc, comprising the optical aberration or banding artefact caused by the polygon scanning mirror <NUM>. The collected light Lc is received by the photodetector <NUM>.

The first curved mirror <NUM> and the second curved mirror <NUM> may, as in the present example embodiment, be a spheroidal mirror and an ellipsoidal mirror, respectively, each having a first focal point and a conjugate second focal point. The first scanning element <NUM> is located at the first focal point of the first curved mirror <NUM> and the imaging target <NUM> is located at the second focal point of the first curved mirror <NUM>. Where the imaging target <NUM> is a portion of a retina of an eye <NUM> the pupil of the eye is located at the second focal point of the first curved mirror <NUM> such that the light beam Lb is scanned across a region of the retina of the eye during the scan. The second polygon scanning mirror <NUM> is located at the first focal point of the second curved mirror <NUM>, and the first scanning element <NUM> is located at the second focal point of the second curved mirror <NUM>. However, the second curved mirror <NUM> (the ellipsoidal mirror in the present example embodiment) may be any reflective component having an aspherical reflective surface, such as a shape of a conical section like a parabola or hyperboloid, or may, more generally, have a shape described by one or more polynomial functions of two variables.

The collected light Lc received by the photodetector <NUM> comprises a periodic optical artefact or banding artefact that is introduced into the collected light Lc by the polygon scanning mirror <NUM>. The banding artefact may have been introduced by the polygon scanning mirror <NUM> as a result of imperfections and/or defects in the polygon scanning mirror <NUM> or due to non-uniform scan line spacing. For example, the banding artefact may vary sinusoidally with a period of sixteen pixels in an embodiment where the polygon scanning mirror comprises sixteen reflective facets. The banding artefact may be caused by variability in the reflectiveness of each of the reflective facets in the polygon scanning mirror <NUM> thereby causing periodic variations in the intensity of light scanned across the imaging target <NUM>.

The data processing hardware <NUM> receives the detection signal Sd from the photodetector <NUM> and generates an image of the imaging target <NUM>. The image generated by the data processing hardware <NUM> is an uncorrected image <NUM> which includes the optical aberration or banding artefact that was introduced into the collected light Lc by the polygon scanning mirror <NUM> which detracts from the quality of the image. The data processing hardware <NUM> comprises an image correction algorithm <NUM> that is executable by the data processing hardware <NUM> to remove or reduce the amount of aberration or banding artefact in the generated uncorrected image <NUM>. Once the image correction algorithm <NUM> has been applied to the uncorrected image <NUM>, the data processing hardware <NUM> is arranged to output a corrected image <NUM> which contains less of the banding artefact than the uncorrected image <NUM>. The level of banding artefact present in the corrected image <NUM> is undetectable by the human eye.

Turning now to <FIG> there is shown an example uncorrected image <NUM> captured by the imaging system <NUM> and generated by the data processing hardware <NUM>. The uncorrected image <NUM> contains vertical banding which is an example of a banding artefact <NUM>. The banding artefact <NUM> may be a periodic optical aberration or a periodic line artefact, for example in the form of a set of regularly spaced linear features (bands) in the uncorrected image <NUM>. The example uncorrected image <NUM> is an ophthalmic image of a retina captured by the imaging system <NUM> where the imaging target <NUM> is an eye. The banding artefact <NUM> in the form of vertical banding shown in the example uncorrected image <NUM> occurs periodically, spaced at sixteen-pixel intervals in a horizontal direction. The sixteen-pixel spacing between adjacent bands may be caused, at least in part, by variations in the reflectivity of each of the sixteen reflective facets of the polygon scanning mirror <NUM>. In another example embodiment where the polygon scanning mirror <NUM> has a different number of reflective facets the spacing between adjacent bands may vary accordingly. The banding artefact <NUM> shown in the uncorrected image <NUM> detracts from the overall image quality and it is therefore desirable to remove the vertical banding from the uncorrected image <NUM> without compromising the quality of the image of the imaging target <NUM>.

The data processing hardware <NUM> comprises an image correction algorithm <NUM> which, when executed by the data processing hardware <NUM>, is configured to remove or suppress the banding artefact <NUM> present in the uncorrected image <NUM>. The data processing hardware <NUM> is configured to segment the uncorrected image <NUM> into 2D partially overlapping segments. <FIG> shows an example of the uncorrected image <NUM> segmented into nine partially overlapping segments <NUM>. Whilst the uncorrected image <NUM> has been segmented into nine partially overlapping segments <NUM> in <FIG> for clarity, the skilled reader will appreciate that in further example embodiments the image could be segmented into smaller overlapping segments. For example, the image could be segmented into a <NUM> x <NUM> grid, a <NUM> x <NUM> grid or larger depending on the severity of the banding artefact <NUM> and/or the size of the uncorrected image <NUM>.

The partially overlapping segments <NUM> in <FIG> are rectangular segments of equal size that partially overlap adjacent segments <NUM>. The level of overlap between adjacent segments <NUM> can be varied by the data processing hardware <NUM>. Cases with particularly severe banding artefacts <NUM> may have increased overlap of segments <NUM> as the application of the correction algorithm <NUM> may introduce severe edge effects or edge artefacts that encroach further towards the centre of each segment <NUM> and thus more of each segment <NUM> must be removed to remove the edge effects or artefacts prior to recombining the corrected segments <NUM> to generate the corrected image <NUM>. In the example shown in <FIG>, the segments <NUM> overlap in both the horizontal and vertical directions. In another embodiment the segments <NUM> may overlap in only, for example, the horizontal or vertical direction.

Once the data processing hardware <NUM> has segmented the uncorrected image <NUM> into partially overlapping segments <NUM> the image correction algorithm <NUM> is executed by the data processing hardware <NUM> such that the image correction algorithm <NUM> is applied to each of the partially overlapping segments <NUM> to correct the banding artefact <NUM> present in each of the segments <NUM> individually by performing the method outlined in <FIG> on each segment <NUM> within the uncorrected image <NUM> as described in further detail below.

<FIG> is a flow chart illustrating a method of suppressing the banding artefact <NUM> present in each of the overlapping segments <NUM> in the uncorrected image <NUM>. The method outlined in <FIG> may be performed by applying the correction algorithm <NUM> to each of the overlapping segments <NUM> in the uncorrected image <NUM> such that the method outlined in <FIG> is applied to each of the segments <NUM> in the uncorrected image <NUM>. The skilled reader will understand that, whilst the method illustrated in <FIG> is described in relation to a single partially overlapping segment <NUM>, the method may, as in the present example embodiment, be performed on every partially overlapping segment <NUM> present in an uncorrected image <NUM> to remove or suppress the banding artefact <NUM> present in each partially overlapping segment <NUM>.

In Step <NUM> the discrete cosine transform (DCT) of a given partially overlapping segment <NUM> is computed. Applying the discrete cosine transform to a segment <NUM> converts the image contained within the segment <NUM> from the spatial domain to the frequency domain by defining the image as a series of cosine functions each having different frequencies that correspond to frequencies in the image. Using the discrete cosine transform to convert the image to the frequency domain opposed to another transform, such as for example the discrete Fourier transform, is beneficial as the discrete cosine transform introduces less edge effects into each segment <NUM> compared to the discrete Fourier transform. Furthermore, each frequency bin in the discrete cosine transform corresponds to a wider range of frequencies than a bin in the corresponding discrete Fourier transform. This is beneficial as the banding artefact <NUM> to be suppressed by the image correction algorithm <NUM> is typically a sinusoidal signal and as such the peak and/or trough of the banding artefact sinusoidal signal fits into a single bin in the discrete cosine transform thereby allowing the banding artefact <NUM> to be attenuated or suppressed more easily in the discrete cosine transform than would be possible in, for example, the discrete Fourier transform.

In Step <NUM> the high and low frequencies within the discrete cosine transform of the segment <NUM> are removed to create a modified discrete cosine transform of the segment <NUM>. For example, the discrete cosine transform coefficients having an absolute value equal to or above, a threshold value of, for example <NUM>, are removed. Removing the high and/or low frequencies may comprise setting the discrete cosine transform coefficients having an absolute value equal to or above the threshold value to zero. Removing the high and low frequencies within the discrete cosine transform of the segment <NUM> prevents background noise and higher frequency components in the signal from being amplified in future steps in the image correction process by the image correction algorithm <NUM>. Furthermore, removing the high and low frequencies from each segment <NUM> in the frequency domain, once the discrete cosine transform has been computed, allows the high and low signals to be removed more effectively than would otherwise be possible had the frequencies been removed in the spatial domain, prior to computing the discrete cosine transform of each segment <NUM>. Removing the high and low frequencies has the effect of flattening the image by removing background noise thereby improving the quality of the resultant corrected image <NUM>.

In Step <NUM> the banding artefact <NUM> contained within the partially overlapping segment <NUM> is attenuated. Attenuating the banding artefact <NUM> contained within the segment <NUM> may be performed using a window function such as a Hanning window. The window function is centred on the frequency bin corresponding to the frequency of the banding artefact <NUM> contained within that segment <NUM>. The window function may be applied to window the bin in the discrete cosine transform of each segment that corresponds to the spatial frequency of the banding artefact <NUM>. For example, the Hanning window may be centred on a bin corresponding to the frequency associated with the banding artefact <NUM> occurring every sixteen pixels. Parameters of the window function can be varied to select the level of attenuation applied to the target frequency. In one example the window function may apply -10db of attenuation to the frequency associated with the banding artefact <NUM> present in the partially overlapping segment <NUM>. Using a Hanning window to attenuate the frequency associated with the banding artefact <NUM> opposed to a bandpass filter such as a brick wall filter is beneficial as the Hanning window introduces less ringing artefacts into the signal than a brick wall filter.

The window function used to attenuate the vertical banding in Step <NUM> may be a multistage window function. For example, a two-stage or three-stage Hanning window may be used to attenuate the vertical banding in the segment <NUM>. The primary component of the Hanning window may be centred on the bin corresponding to the frequency of the banding artefact <NUM> contained within the segment <NUM>. The window function may comprise one or more secondary components located at bins corresponding to harmonics of the primary frequency associated with the banding artefact <NUM> being filtered by the window function such that harmonics within the segment <NUM> that contribute to the presence of the banding artefact <NUM> in the segment <NUM> can be attenuated by the window function.

In Step <NUM> the inverse discrete cosine transform (IDCT) is computed on the segment <NUM> to reconstruct the image contained within the segment <NUM> and to generate a corrected segment. The banding artefact <NUM> in the reconstructed image in the corrected segment is suppressed compared to the level of banding artefact <NUM> present within the segment <NUM> of the uncorrected image <NUM> prior to the application of the correction algorithm <NUM> on the uncorrected segment. Applying the inverse discrete cosine transform to the segment <NUM> converts the segment <NUM> from the frequency domain back to the spatial domain and thereby generates a corrected segment that contains less of the banding artefact <NUM> than was present in the segment <NUM> prior to the application of the correction algorithm <NUM>.

Turning now to <FIG>, an example of a segment <NUM> from the uncorrected image <NUM> before and after the application of the correction algorithm <NUM> is shown. <FIG> shows the segment <NUM> prior to the application of the correction algorithm <NUM> which is an example of an uncorrected segment. The segment <NUM> shown in <FIG> contains vertical banding that spans the width of the segment <NUM> with substantially uniform spacing between adjacent bands in the segment <NUM>. In the example shown the banding appears periodically, with a period of <NUM> pixels. <FIG> shows the segment <NUM> after the correction algorithm <NUM> has been applied to the segment <NUM>. As shown in <FIG>, the banding artefact <NUM> has been suppressed sufficiently in a central portion <NUM> of the corrected segment <NUM> such that it is no longer visible in the image. However, the application of the correction algorithm <NUM> has resulted in the manifestation of edge effects <NUM> in the peripheral regions <NUM> of the segment <NUM> within which banding is still visible as a result of the edge effects <NUM>.

As illustrated in <FIG>, the segments <NUM> are dimensioned such that the edges of each segment <NUM> overlap. When the correction algorithm <NUM> is applied to a segment <NUM> the resulting edge effects <NUM> contained within the peripheral regions <NUM> of a given segment <NUM> correspond to an overlapping portion of the segment <NUM>. As such, the peripheral regions <NUM> of each segment <NUM> can be removed or cropped such that the peripheral regions <NUM> containing banding artefacts as a result of edge effects <NUM> can be discarded. The remaining central portion <NUM> of each segment <NUM> can be recombined or stitched together to by the data processing hardware <NUM> to generate the corrected image <NUM>. The central portion <NUM> is an example of a corrected segment. The dimensions and amount of overlapping of the segments <NUM> in <FIG> may be selected such that the peripheral regions <NUM> of a segment <NUM> that contain banding from edge effects <NUM> are fully contained within the overlapping regions of adjacent segments <NUM>.

<FIG> shows an example of a corrected image <NUM> that has been generated by combining the corrected segments that have been generated by applying the correction algorithm <NUM> to the segments <NUM> of the uncorrected image <NUM>. The data processing hardware <NUM> is arranged to blend the corrected segments <NUM> together to generate the corrected image <NUM> such that joins between adjacent segments <NUM> are not visible or perceivable by the human eye. The banding in the corrected image <NUM> has been suppressed sufficiently (or completely eradicated) such that it is no longer visible in the corrected image <NUM>.

Turning now to <FIG> there is shown a flow chart illustrating a method of suppressing a banding artefact <NUM> in an image of an imaging target <NUM>. The method illustrated in <FIG> may be performed by the data processing hardware <NUM> of the imaging system <NUM>. The method may be performed on the uncorrected image <NUM> to generate the corrected image <NUM>.

In Step <NUM> the uncorrected image <NUM> is partitioned into at least partially overlapping 2D segments. The number and dimension (size) of the segments <NUM> may be selected based on parameters such as one or more of: the severity of the banding artefacts <NUM> present in the uncorrected image <NUM>, the resolution of the uncorrected image <NUM> and the processing power of the data processing hardware <NUM>. The segments are typically rectangular and of equal size. Furthermore, the amount of overlapping between adjacent segments is typically equal. If the banding artefacts <NUM> present in the uncorrected image <NUM> are severe then the uncorrected image <NUM> may be partitioned into smaller segments such that, for example, the uncorrected image <NUM> is partitioned into <NUM> x <NUM> overlapping segments or greater. Increasing the number of segments <NUM> that the uncorrected image <NUM> is partitioned into generally increases the effectiveness of the application of image correction algorithm <NUM>. However, increasing the number of segments <NUM> the uncorrected image is partitioned into also increases the computational time for performing the method of suppressing the banding artefact <NUM> in the uncorrected image <NUM>.

Next, in Step <NUM> the banding artefact <NUM> is corrected or suppressed in each of the overlapping segments <NUM> by applying an image correction algorithm <NUM> to each of the segments <NUM> in the uncorrected image <NUM>. Correcting or suppressing the banding artefact <NUM> present in each of the partially overlapping segments <NUM> may be conducted by performing the method outlined in <FIG> as described above. Applying the image correction algorithm <NUM> to each of the partially overlapping segments <NUM> suppresses the banding artefact <NUM> present in the respective partially overlapping segments <NUM>. Applying the image correction algorithm <NUM> to each segment <NUM> comprises computing the discrete cosine transform for each of the partially overlapping segments <NUM>.

In Step <NUM> at least part of the overlapping regions <NUM> are removed from each of the segments <NUM> to remove edge effects <NUM> or artefacts introduced into the respective segments <NUM> by the image correction algorithm <NUM> in Step <NUM>. Removing at least part of the overlapping regions <NUM> may comprise cropping at least some of the peripheral region <NUM> from each segment <NUM> to remove the artefacts or edge effects <NUM> that have been introduced into each of the segments <NUM> by the image correction algorithm <NUM>. Cropping the peripheral region <NUM> from the segment <NUM> beneficially removes artefacts and/or edge effects <NUM> introduced into each segment <NUM> by the image correction algorithm <NUM>. Removing at least part of the overlapping regions <NUM> from each of the overlapping segments <NUM> generates a corrected segment. Removing at least part of the overlapping regions <NUM> may be performed after the image correction algorithm <NUM> has been applied to a segment <NUM>.

In Step <NUM> each of the cropped segments <NUM> are recombined to generate the corrected image <NUM>. Recombining the cropped segments <NUM> may comprise mosaicing and optionally blending the segments <NUM> to generate the corrected image <NUM>. Blending adjacent segments <NUM> when recombining the segments <NUM> to generate the corrected image <NUM> prevents artefacts being introduced in the corrected image <NUM> due to misalignment of recombined segments <NUM>. Combining each of the corrected segments <NUM> to generate the corrected image <NUM> may comprise blending and/or aligning peripheral regions of adjacent segments <NUM> to generate the corrected image <NUM> such that joins between adjacent segments <NUM> is not perceivable in the corrected image <NUM>. Aligning adjacent segments may comprise identifying common features present in adjacent segments <NUM> and overlaying the common features in the adjacent segments <NUM> to align the adjacent segments <NUM> in the corrected image <NUM>.

<FIG> is a schematic illustration of a programmable signal processing hardware <NUM>, configured to remove or suppress a banding artefact <NUM> in an image captured by the imaging system <NUM>. The programmable signal processing hardware <NUM> can perform at least part of the functionalities of the data processing hardware <NUM> of the imaging system <NUM>, and, in one example embodiment herein, at least part of the hardware <NUM> is included in the data processing hardware <NUM>. The programmable signal processing apparatus <NUM> comprises a communication interface (I/F) <NUM>, for receiving a detection signal Sd from the photodetector <NUM> and/or for outputting a corrected image <NUM>. In one example embodiment herein, the communication interface (I/F) <NUM> can input/output any information obtained as part of the methods described herein.

The signal processing apparatus <NUM> further comprises a processor (e.g. a Central Processing Unit, CPU, and/or a Graphics Processing Unit, GPU) <NUM>, a working memory <NUM> (e.g. a random access memory) and an instruction store <NUM> storing a computer program <NUM> comprising computer-readable instructions which, when executed by the processor <NUM>, cause the processor <NUM> to perform various functions including those of the processor <NUM> in <FIG>, and/or the functions of the methods described herein. In one example embodiment herein, only the processor <NUM> is included in the data processing hardware <NUM>, although in other examples one or more additional components of the hardware <NUM> also are included in the data processing hardware <NUM> as well.

The working memory <NUM> stores information used by the processor <NUM> during execution of the computer program <NUM>. The instruction store <NUM> comprises, for example, a ROM (e.g. in the form of an electrically erasable programmable read-only memory (EEPROM) or flash memory) which is pre-loaded with the computer-readable instructions. Alternatively, the instruction store <NUM> comprises a RAM or similar type of memory, and the computer-readable instructions of the computer program <NUM> can be input thereto from a computer program product, such as a non-transitory, computer-readable storage medium <NUM> in the form of a CD-ROM, DVDROM, etc. or a computer-readable signal <NUM> carrying the computer-readable instructions. In any case, the computer program <NUM>, when executed by the processor <NUM>, causes the processor <NUM> to perform the methods described herein, including by example and without limitation, a method of suppressing a banding artefact in an ophthalmic image as described herein above.

In one example embodiment herein, the data processing hardware <NUM> of the example embodiments described above comprises the computer processor <NUM> and memory <NUM> storing the computer-readable instructions which, when executed by the computer processor <NUM>, cause the computer processor <NUM> to perform the methods described herein, including by example and without limitation, a method of suppressing a banding artefact in an ophthalmic image acquired by an imaging system <NUM> as described herein. It should be noted, however, that the data processing hardware <NUM> may alternatively be implemented in non-programmable hardware, such as an ASIC, an FPGA or other integrated circuit dedicated to performing the functions of the data processing hardware <NUM> described above, or a combination of such non-programmable hardware and programmable hardware as described above with reference to <FIG>.

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

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

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

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

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

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

While various example embodiments of the present invention have been described above, it should be understood that they have been presented by way of example, and not limitation. It will be apparent to persons skilled in the relevant art(s) that various changes in form and detail can be made therein. Thus, the present invention should not be limited by any of the above described example embodiments, but should be defined only in accordance with the following claims and their equivalents.

It is also to be understood that any procedures recited in the claims need not be performed in the order presented.

While this specification contains many specific embodiment details, these should not be construed as limitations on the scope of any inventions or of what may be claimed, but rather as descriptions of features specific to particular embodiments described herein. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a sub-combination or variation of a sub-combination.

Claim 1:
A computer-implemented
method of suppressing a banding artefact (<NUM>) in an ophthalmic image (<NUM>) of a patient's eye, the method comprising:
partitioning the ophthalmic image (<NUM>) into a plurality of segments (<NUM>) that partially overlap each other, wherein each segment of the plurality of segments (<NUM>) comprises one or more overlapping regions, wherein each overlapping region is a region of overlap of the segment with a respective adjacent segment of the plurality of segments (<NUM>);
applying an image correction algorithm (<NUM>), which computes a discrete cosine transform of each segment of the plurality of segments (<NUM>), to suppress the banding artefact (<NUM>) in the plurality of segments (<NUM>);
removing at least part of the one or more overlapping regions from each segment of the plurality of segments (<NUM>) to remove an artefact (<NUM>) introduced by the image correction algorithm (<NUM>), to generate a respective corrected segment; and
combining the corrected segments to generate a corrected ophthalmic image (<NUM>) that comprises less of the banding artefact (<NUM>) than the ophthalmic image (<NUM>).