Volume OCT image data processing

By calculating the cross-correlation and polynomial fit between B-scan pairs of the OCT imaging system, correction data is generated to compensate for axial displacement, and the image artifact problem caused by relative motion between the imaging system and the imaging target is solved, and the accuracy and diagnostic effect of OCT imaging are improved.

CN114468975BActive Publication Date: 2025-08-22OPTOS PLC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111307355.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-11-12
Filing Date
2021-11-05
Publication Date
2025-08-22
Estimated Expiration
2041-11-05

AI Technical Summary

Technical Problem

During the OCT imaging system acquisition of the B scan, the relative motion between the imaging target and the imaging system due to involuntary movement of the subject causes, causing axial displacement between the B scans, affecting the accuracy of retinal layer identification and diagnostic measurements.

Method used

By calculating the cross-correlation between adjacent B-scan pairs, determining the axis shift indicator, and generating correction data through polynomial fitting, compensating for axial displacement in the B-scan sequence, using frequency component determination and iterative processes to optimize the reliability of the correction data.

Benefits of technology

The axial displacement in the B-scan sequence is effectively corrected, improving the image rendering accuracy and reliability of diagnostic measurements of the OCT imaging system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114468975B_ABST
    Figure CN114468975B_ABST
Patent Text Reader

Abstract

The present application relates to volumetric OCT image data processing. A method of processing C-scan data to generate correction data, the C-scan data comprising a sequence of B-scans of an imaging target acquired by an OCT imaging system, the correction data being used to compensate for axial displacement between B-scans in the sequence caused by relative motion between the OCT imaging system and the imaging target, the relative motion causing a change in the distance between the OCT imaging system and the imaging target during acquisition of the B-scans, the correction data being generated by: determining (S10) for each of a plurality of adjacent B-scan pairs in the sequence a respective indicator of axial displacement between respective representations of a common ocular feature in the adjacent B-scans; and determining (S20) based on a change in the determined indicator as a function of position of the corresponding adjacent B-scan pair in the sequence, a first frequency component of the change in the change in the frequency component being indicative of the relative motion during acquisition of the B-scans.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Example aspects of the present disclosure relate generally to the field of ophthalmic optical coherence tomography (OCT) imaging systems, and more particularly, to a method and apparatus for processing C-scan data generated by an OCT imaging system to generate correction data for compensating for axial displacement between B-scans in an acquired B-scan sequence caused by relative motion between the OCT imaging system and an imaging target, the relative motion causing a distance between the OCT imaging system and the imaging target to change during acquisition of the B-scan by the OCT imaging system. background

[0002] The acquisition of a typical volumetric optical coherence tomography (OCT) scan (also called a C-scan) of a portion of a subject's eye (e.g., the retina) may take approximately 1 to 5 seconds. During this time, the OCT imaging system repeatedly scans the OCT beam in a first scanning direction to record a sequence of (two-dimensional) B-scans, each B-scan comprising a series of axial scans (A-scans) recorded at corresponding points on the retinal surface along the first scanning direction. The B-scans in a B-scan sequence are typically arranged in a direction perpendicular to the first direction. During the acquisition of the C-scan, the eye may typically move axially (along the direction of the OCT beam) due to involuntary movement of the subject. In order to successfully render the C-scan image and ensure the accuracy of subsequent measurements performed based on the C-scan image, it may be necessary to correct for motion artifacts caused by the subject's movement during the C-scan capture. If the B-scan data is not compensated to correct for the axial shift between some B-scans caused by the subject's movement, the accuracy of retinal layer identification and subsequent diagnostic measurements may be adversely affected.

[0003] Overview

[0004] According to a first exemplary aspect of the present disclosure, the present inventors have devised a method for processing C-scan data, the C-scan data comprising a sequence of B-scans of an imaging target acquired by an optical coherent imaging (OCT) imaging system, to generate correction data for compensating for axial displacement between B-scans in the B-scan sequence caused by relative motion between the OCT imaging system and the imaging target, the relative motion causing a change in the distance between the OCT imaging system and the imaging target during acquisition of the B-scans by the OCT imaging system. The method comprises generating the correction data by determining, for each of a plurality of adjacent B-scan pairs in the sequence, a respective indicator of the axial displacement between respective representations of a common ocular feature in the adjacent B-scans. The method further comprises determining, based on a change in the determined indicator as a function of position of the corresponding adjacent B-scan pairs in the sequence, a first frequency component of the change, the first frequency component being indicative of relative motion between the OCT imaging system and the imaging target during acquisition of the B-scans by the OCT imaging system.

[0005] A respective indicator of axis shift may be determined for each adjacent B-scan pair by calculating a cross-correlation between the adjacent B-scan pairs and determining as an indicator an offset between the B-scans corresponding to a peak in the calculated cross-correlation.

[0006] Alternatively, a corresponding indicator of axis shift can be determined for each adjacent B-scan pair by identifying corresponding positions of common ocular features in the B-scans of the adjacent B-scan pairs and determining the displacement between the identified positions along the axis of the B-scan, where the axis of the B-scan represents the axial direction of the imaging system.

[0007] The method described above may further include determining a second frequency component of the change indicative of curvature of the imaging target. In this case, the second frequency component may be determined by fitting an m-th order polynomial to the determined change in the indicator, and the first frequency component may be determined by subtracting a value of the m-th order polynomial from the indicator in the determined change in the indicator to generate a corrected change in the indicator, and fitting an n-th order polynomial to the corrected change in the indicator, where m and n are integers and m is less than n.

[0008] The method set forth above may further include using the correction data to compensate for axial displacement between B-scans in the B-scan sequence caused by relative motion between the OCT imaging system and the imaging target (20) by applying an offset based on the first frequency component to the B-scans in the B-scan sequence. In this case, the first frequency component may be determined by further performing at least two iterations of a process comprising the following steps:

[0009] (i) calculating a plurality of residual values, each residual value being calculated as a difference between the indicator and a corresponding value of the nth-order polynomial in the variation of the indicator;

[0010] (ii) determining whether the plurality of residual values ​​includes an outlier that exceeds a first positive threshold or is below a first negative threshold;

[0011] (iii) in a case where it is determined that the plurality of residual values ​​include an outlier, removing the indicator corresponding to the outlier from the change of the indicator to generate an updated change of the indicator, and in a case where it is determined that the residual value does not include the outlier, determining an nth-order polynomial as the first frequency component and ending the process; and

[0012] (iv) fitting an nth-order polynomial to the updated changes in the indicator,

[0013] wherein, in a first iteration of the process, each residual value in the plurality of residual values ​​is calculated as a difference between the indicator in the corrected change of the indicator and a corresponding value of an nth-order polynomial fitted to the corrected change of the indicator, and wherein, in each of the remaining one or more iterations of the process, each residual value in the plurality of residual values ​​is calculated as a difference between the indicator in the updated change of the indicator generated in a previous iteration of the process and a corresponding value of the nth-order polynomial fitted to the updated change of the indicator generated in the previous iteration of the process. The method may further include: determining a number of residual values ​​in the plurality of residual values ​​having a magnitude greater than a second positive threshold or less than a second negative threshold, wherein the second positive threshold is less than the first positive threshold and the second negative threshold is greater than the first negative threshold; if the determined number of residual values ​​is less than a third threshold, compensating for axial displacement between B-scans in the B-scan sequence by applying an offset based on the first frequency component to the B-scans in the B-scan sequence; and if the determined number of residual values ​​is not less than the third threshold, determining not to compensate for axial displacement between B-scans in the B-scan sequence.

[0014] The method set forth above may further include generating a reliability indicator indicating the reliability of the generated correction data by: calculating, using the B-scan pairs in the B-scan sequence, corresponding values ​​of a metric indicating at least one of a velocity and an acceleration of the imaging target relative to the OCT imaging system when the B-scan pairs were acquired; determining whether at least a predetermined number of the calculated values ​​of the metric exceed a fourth threshold; if at least a predetermined number of the calculated values ​​of the metric are determined to exceed the fourth threshold, setting the reliability indicator to indicate that the correction data is unreliable; and if at least a predetermined number of the calculated values ​​of the metric are determined not to exceed the fourth threshold, setting the reliability indicator to indicate that the correction data is reliable. The method may further include, if the reliability indicator is set to indicate that the correction data is reliable, compensating for axial displacement between B-scans in the B-scan sequence by applying an offset based on the first frequency component to the B-scans in the B-scan sequence.

[0015] Furthermore, according to a second exemplary aspect of this document, the inventors have devised a computer program comprising computer program instructions which, when executed by a processor, cause the processor to perform the above-mentioned method.

[0016] Furthermore, according to a third exemplary aspect of the present disclosure, the present inventors have devised a data processing apparatus configured to process C-scan data of a sequence of B-scans of an imaging target acquired by an optical coherence tomography (OCT) imaging system to generate correction data for compensating for axial displacement between B-scans in the B-scan sequence caused by relative motion between the OCT imaging system and the imaging target, the relative motion causing a change in the distance between the OCT imaging system and the imaging target during acquisition of the B-scans by the OCT imaging system. The data processing apparatus includes an axial shift determination module configured to determine, for each adjacent B-scan pair in a plurality of adjacent B-scans in the sequence, a corresponding indicator of the axial shift between corresponding representations of a common ocular feature in the adjacent B-scans. The data processing apparatus also includes a frequency component determination module configured to determine, based on a change in the determined indicator, a first frequency component of the change, the change indicating how the axial shift varies with position of the corresponding adjacent B-scan pair in the sequence, the first frequency component indicating relative motion between the OCT imaging system and the imaging target during acquisition of the B-scans by the OCT imaging system.

[0017] The axis shift determination module may be arranged to determine the respective indicator of the axis shift for each adjacent B-scan pair by calculating a cross-correlation between the adjacent B-scan pairs and determining as an indicator an offset between the B-scans corresponding to a peak in the calculated cross-correlation. Alternatively, the axis shift determination module may be arranged to determine the respective indicator of the axis shift for each adjacent B-scan pair by identifying respective positions of common ocular features in the B-scans of the adjacent B-scan pairs and determining a displacement between the identified positions along an axis of the B-scan, the axis of the B-scan representing an axial direction of the imaging system.

[0018] The frequency component determination module may also be arranged to determine a second frequency component of the change, the second frequency component indicating the curvature of the imaging target. In this case, the frequency component determination module may be arranged to determine the second frequency component by fitting an m-th order polynomial to the determined change of the indicator; and determine the first frequency component by subtracting a value of the m-th order polynomial from the indicator in the determined change of the indicator to generate a corrected change of the indicator, and fitting an n-th order polynomial to the corrected change of the indicator, where m and n are integers and m is less than n.

[0019] The above-mentioned data processing device may further include a displacement compensation module, which is arranged to compensate for the displacement between B scans in the B scan sequence caused by the relative movement of the OCT imaging system and the imaging target during the OCT imaging system acquiring the B scan by applying an offset based on the first frequency component to the B scans in the B scan sequence.

[0020] The frequency component determination module may be arranged to determine the first frequency component by performing at least two iterations of a process further comprising the following steps:

[0021] (i) calculating a plurality of residual values, each residual value being calculated as a difference between the indicator in which the indicator changes and a corresponding value of the nth-order polynomial;

[0022] (ii) determining whether the plurality of residual values ​​includes an outlier that exceeds a first positive threshold or is below a first negative threshold;

[0023] (iii) in a case where it is determined that the plurality of residual values ​​include an outlier, removing the indicator corresponding to the outlier from the change of the indicator to generate an updated change of the indicator, and in a case where it is determined that the residual value does not include the outlier, determining an nth-order polynomial as the first frequency component and ending the process; and

[0024] (iv) fitting an nth-order polynomial to the updated changes in the indicator,

[0025] wherein, in a first iteration of the process, each residual value in the plurality of residual values ​​is calculated as a difference between the indicator in the corrected change of the indicator and a corresponding value of an nth-order polynomial fitted to the corrected change of the indicator, and wherein, in each of the remaining one or more iterations of the process, each residual value in the plurality of residual values ​​is calculated as a difference between the indicator in the updated change of the indicator generated in a previous iteration of the process and a corresponding value of the nth-order polynomial fitted to the updated change of the indicator generated in the previous iteration of the process. The frequency component determination module is further configured to: determine a number of residual values ​​in the plurality of residual values ​​having a magnitude greater than a second positive threshold or less than a second negative threshold, wherein the second positive threshold is less than the first positive threshold and the second negative threshold is greater than the first negative threshold; if the determined number of residual values ​​is less than a third threshold, compensate for axial displacement between B-scans in the B-scan sequence by applying an offset based on the first frequency component to the B-scans in the B-scan sequence; and if the determined number of residual values ​​is not less than the third threshold, determine not to compensate for axial displacement between B-scans in the B-scan sequence.

[0026] The data processing apparatus may further include a reliability indicator generator module configured to: calculate a corresponding value of a metric using a B-scan pair in a B-scan sequence, the corresponding value of the metric indicating at least one of a velocity and an acceleration of an imaging target structure relative to the OCT imaging system when the B-scan pair was acquired; determine whether at least a predetermined number of the calculated values ​​of the metric exceed a fourth threshold; if at least a predetermined number of the calculated values ​​of the metric are determined to exceed the fourth threshold, set a reliability indicator to indicate that the correction data is unreliable; and if at least a predetermined number of the calculated values ​​of the metric are not determined to exceed the fourth threshold, set the reliability indicator to indicate that the correction data is reliable. If the reliability indicator has been set to indicate that the correction data is reliable, the displacement compensation module may be configured to compensate for axial displacement between B-scans in the B-scan sequence by applying an offset based on the first frequency component to the B-scans in the B-scan sequence. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0028] Figure 1 is a schematic diagram of a data processing apparatus for processing C-scan data according to a first exemplary embodiment of this disclosure.

[0029] Figure 2A An example of motion of a subject causing a change in the distance between the subject's retina and the OCT imaging system during imaging of the retina by the OCT imaging system is shown.

[0030] Figure 2B An example of an axis shift between common ocular features in adjacent B-scan pairs in a B-scan sequence acquired by an OCT imaging system is shown. Figure 2A The retinal motion shown is induced.

[0031] Figure 3 is a block diagram illustrating an example implementation in programmable signal processing hardware of a data processing apparatus of example embodiments herein.

[0032] Figure 4 is a flow chart illustrating a method by which Figure 1 The data processing device processes C-scan data comprising a B-scan sequence to generate correction data for compensating for axial displacement between B-scans in the B-scan sequence.

[0033] Figure 5Graphs are shown of a plurality of sequences of indicator values, each indicator value indicating an axis shift between common retinal features in a pair of B-scans in a B-scan sequence. The graphs show how the indicator values ​​vary with the position of corresponding adjacent B-scan pairs in the sequence.

[0034] Figure 6 A method according to a first example embodiment described herein is shown that can be performed by a frequency determination module of a data processing device to determine a varying first frequency component that is indicative of relative motion of an OCT imaging system and a retina during acquisition of a B-scan.

[0035] Figure 7 A method according to a second example embodiment described herein is shown that may be performed by a frequency determination module to determine a varying first frequency component indicative of relative motion of the OCT imaging system and the retina during acquisition of a B-scan.

[0036] Figure 8 A method according to example embodiments herein is shown that may be performed to determine whether to compensate for axial displacement between B-scans in a B-scan sequence.

[0037] Figure 9 A method is shown that may be performed by a reliability indicator generation module to generate a reliability indicator indicating the reliability of generated correction data, which reliability indicator generation module may be provided as part of a data processing apparatus.

[0038] Detailed Description of Example Embodiments

[0039] Figure 1 is a schematic diagram of a data processing apparatus 10 according to an exemplary embodiment. The data processing apparatus 10 is configured to process C-scan data of a B-scan sequence including an imaging target 20 (the C-scan data being acquired by an OCT imaging system 30) to generate correction data for compensating for axial displacement between B-scans in the B-scan sequence. As in the present exemplary embodiment, the imaging target 20 may be the retina of a subject's eye 25, but alternatively, the imaging target 20 may be another portion of the eye 25 that may have a curvature (such as, for example, the anterior region of the eye 25). The axial displacement is caused by relative motion between the OCT imaging system 30 and the imaging target 20, which causes the distance between the OCT imaging system 30 and the imaging target 20 to change during acquisition of the B-scans by the OCT imaging system 30. The axial displacement can be understood as a displacement along the propagation direction of the OCT beam 40 incident on the eye 25 during imaging of the retina using the OCT imaging system 30.

[0040] The OCT imaging system 30 uses an ophthalmic scanner to scan an OCT imaging beam 40 across the imaging target 20 to acquire C-scan data that is processed by the data processing device 10. As in the present exemplary embodiment, the data processing device 10 can be provided as a standalone processor such as a PC or laptop computer, which can be communicatively coupled to the OCT imaging system 30 (directly or via a network, such as the Internet) to receive C-scan data therefrom. Alternatively, the data processing device 10 can be provided as part of the OCT imaging system 30. The OCT imaging system 30 can be any type of OCT scanner known to those skilled in the art that is capable of acquiring OCT data from the subject's eye 25.

[0041] like Figure 1 As shown, the data processing apparatus 10 of this exemplary embodiment includes an axis shift determination module 2 configured to determine, for each pair of adjacent B-scans in a plurality of adjacent B-scans in a B-scan sequence, a corresponding indicator of an axis shift between corresponding representations of common ocular features in the adjacent B-scans. As in this exemplary embodiment, the axis shift can represent a displacement (or offset) between the common ocular features in the adjacent B-scans along the axis of the B-scan corresponding to the axial direction (i.e., the direction in which data in each of the A-scans constituting the B-scans is arranged, the data being obtained by measurements at different depths along the propagation direction of the OCT beam 40 incident on the eye 25). In this exemplary embodiment, the B-scan sequence processed by the axis shift determination module 2 includes the complete sequence of B-scans that form the C-scan data acquired by the OCT imaging system 30. However, it should be noted that the B-scan sequence processed by the axis shift determination module 2 need not be the complete sequence and may alternatively span a subset of the complete sequence, such as a subset including every other B-scan in the complete B-scan sequence.

[0042] like Figure 1 As shown, the axis shift determination module 2 may further include a reliability indicator generation module 3, the function of which is described in more detail below.

[0043] The data processing device 10 also includes a frequency component determination module 4, which is configured to determine a first frequency component of the change based on the determined indicator as the position of the corresponding adjacent B-scan pair in the sequence changes, and the first frequency component indicates the relative movement of the OCT imaging system 30 and the imaging target 20 during the acquisition of the B scan by the OCT imaging system 30.

[0044] As in the present example embodiment, the data processing device 10 may further include an axial displacement compensation module 6 that is arranged to use correction data (specifically, by applying an offset based on the first frequency component to the B-scans in the B-scan sequence) to compensate for displacements between B-scans in the B-scan sequence caused by relative motion of the OCT imaging system 30 and the imaging target 20 during acquisition of the B-scan by the OCT imaging system 30.

[0045] A C-scan can be rendered to provide a three-dimensional image of a portion of the eye 25 and comprises a sequence of B-scans, which are typically acquired by scanning the OCT beam 40 in a raster pattern, etc., across a two-dimensional region of the eye 25. Each B-scan is acquired by scanning the OCT beam 40 in a single direction (e.g., such as along the X-axis on the surface of the retina) to record a two-dimensional cross-sectional view (along the X-axis and the Z-axis) of a region of the eye 25. Each B-scan comprises a plurality of A-scans, wherein each A-scan provides image data representing the axial / depth direction of the eye 25 (i.e., along the Z-axis) for a single lateral point in the eye 25.

[0046] Figure 2A An example of motion of the imaging target 20 (ie, the retina in this example) relative to the OCT imaging system 30 is shown, which causes the distance between the retina and the OCT imaging system 30 to change during the acquisition of C-scan data. Figure 2A As shown in the example of , motion of the subject during acquisition of the B-scan causes the distance (along the axial direction) between the retina and the OCT imaging system 30 to decrease by a distance D.

[0047] Figure 2B Shown in Figure 2A The axis shift of the position of a common ocular feature observed in adjacent B-scan pairs, labeled 210 and 220, captured before and after relative motion of the eye 25 and the OCT imaging system 30 is shown. In this example, the common ocular feature in the adjacent B-scan pairs is the retinal layer 230 of the eye 25. Figure 2B As shown, due to the movement of the retina during the acquisition of the B-scan, the position of the retinal layer 230 in the B-scan 220 is offset by a distance of d pixels along the Y axis of the B-scan relative to its position in the B-scan 210. Figure 2B In the C-scan data, the Y-axis of B-scans 210 and 220 represents the axial direction, while the X-axis represents the lateral direction along the surface of the retina. If not corrected, the axis shift of the retinal layer 230 in adjacent B-scans will cause motion artifacts to appear in the rendering of the C-scan data, which may prevent the correct diagnosis or measurement of the underlying features in the retina being made.

[0048] Figure 3is a schematic diagram of programmable signal processing hardware 300 that can be configured to process functional C-scan data using the techniques described herein and that can serve as the axis shift determination module 2, reliability indicator generator module 3, frequency component determination module 4, and displacement compensation module 6 of the first example embodiment.

[0049] The programmable signal processing device 300 includes a communication interface (I / F) 310 for communicating with the OCT imaging system 30 and receiving C-scan data therefrom. The signal processing device 300 also includes a processor (e.g., a central processing unit (CPU) and / or a graphics processing unit (GPU)) 320, a working memory 330 (e.g., a random access memory), and an instruction storage device 340 storing a computer program 390 comprising computer-readable instructions. These computer-readable instructions, when executed by the processor 320, cause the processor 320 to perform various functions, including the functions of the axis shift determination module 2, the reliability indicator generator module 3, the frequency component determination module 4, and the displacement compensation module 6 described herein. The working memory 330 stores information used by the processor 320 during execution of the computer program 390. The instruction storage device 340 may include a ROM (e.g., in the form of an electrically erasable programmable read-only memory (EEPROM) or flash memory) preloaded with computer-readable instructions. Alternatively, the instruction storage device 340 may include RAM or a similar type of memory, and the computer-readable instructions of the computer program 390 may be input to the instruction storage device 340 from a computer program product (such as a non-volatile computer-readable storage medium 350 in the form of a CD-ROM, DVD-ROM, etc., or a computer-readable signal 360 carrying the computer-readable instructions). In any case, when executed by the processor 320, the computer program 390 causes the processor 320 to perform the method of processing C-scan data as described herein. However, it should be noted that the axis shift determination module 2, the reliability indicator generator module 3, the frequency component determination module 4, and the displacement compensation module 6 may alternatively be implemented in non-programmable hardware (such as an application-specific integrated circuit (ASIC)).

[0050] Figure 4 is a flow chart illustrating a method by which Figure 1 The data processing device 10 processes the C-scan data to generate correction data for compensating for axis shift between B-scans in an acquired B-scan sequence.

[0051] exist Figure 4In step S10, the axis shift determination module 2 determines, for each pair of adjacent B-scans in the sequence, a corresponding indicator of the axis shift between the corresponding representations of the common ocular feature in the adjacent B-scans. As in this example embodiment, the corresponding indicator of the axis shift may be a distance between the corresponding coordinates of the common ocular feature in a pair of adjacent B-scans along an axis of the B-scan corresponding to the aforementioned axial direction. However, the indicator of the axis shift is not limited in this respect and may alternatively be a value determined based on a distance. As an example, for a sequence of N+1 B-scans B k A set of N indicators S can be derived from the N corresponding B-scan pairs in the B-scan sequence (for k=1, 2, ..., N+1) i (for i=1, 2, ..., N), where the indicator S i is scanning from B k=i and B k=i+1 Derived and indicates that the B scan is k=i and B k=i+1 Thus, indicator index i corresponds to the axis shift between the corresponding representations of the common eye feature in S. i The positions of adjacent B-scan pairs in the B-scan sequence.

[0052] As in this example embodiment, an indicator of axis shift can be determined for each adjacent B-scan pair by calculating a cross-correlation between the adjacent B-scan pairs and determining the offset between the B-scans corresponding to the peak in the calculated cross-correlation as an indicator. The cross-correlation can, for example, be a normalized two-dimensional cross-correlation of the adjacent B-scan pairs, which determines the offset (along two axes of the B-scans) of the position of the representation of the ocular feature in one B-scan (of the B-scan pair) relative to the position of the representation of the same ocular feature in the other B-scan. However, only the offset determined along the axis of the B-scan corresponding to the axial direction can be considered as an indicator of axis shift between the corresponding representations of the common ocular feature in the adjacent B-scan pair. In some cases, where lateral movement of the eye during acquisition of the B-scans can be ignored, a one-dimensional cross-correlation of the adjacent B-scan pairs can be performed, and the offset between the B-scans corresponding to the peak in the calculated one-dimensional cross-correlation can be considered as an indicator of axis shift.

[0053] Although cross-correlation is used to calculate the indicator of axis shift in this example embodiment, any other suitable method may alternatively be employed. For example, in an alternative embodiment, the indicator of axis shift may be determined for each adjacent B-scan pair by identifying corresponding positions of common ocular features in the B-scans of the adjacent B-scan pair and determining the displacement between the identified positions along an axis of the B-scan corresponding to the axial direction described above. For example, a machine learning algorithm or any other suitable image processing algorithm may be used to identify corresponding positions of common ocular features in the adjacent B-scan pair.

[0054] exist Figure 4 In step S20, the frequency component determination module 4 determines a first frequency component of the change based on the change of the determined indicator with the position of the corresponding adjacent B-scan pair in the B-scan sequence, the first frequency component indicating the relative motion of the OCT imaging system 30 and the imaging target 20 during the acquisition of the B-scan by the OCT imaging system 30. The change of the determined indicator with the position of the corresponding adjacent B-scan pair in the B-scan sequence can be understood as indicating how the axis shift between each adjacent B-scan pair in the B-scan sequence changes with the position of the B-scan pair in the B-scan sequence. In other words, for a set of determined indicators S i (i=1, 2, ..., N), the determined indicator changes with the position of the corresponding adjacent B-scan pair in the B-scan sequence can be understood as S i The value changes with the value of index i.

[0055] Figure 5 Six example graphs are shown corresponding to six different sets of indicators determined from six different B-scan sequences of imaging a target 20 in an eye 25. Each graph shows the variation of the determined indicators for the corresponding B-scan sequence, wherein each indicator is calculated by cross-correlating adjacent B-scan pairs in the sequence and represents the axis shift between the adjacent B-scan pairs. Figure 5 In the example of , the indicator determined for each adjacent B-scan pair is plotted against an indicator index i, which also corresponds to the adjacent B-scan pair and thus represents the position of the adjacent B-scan pair in the B-scan sequence. Figure 5 As shown, the variation of the determined indicator values ​​over the position of corresponding adjacent B-scan pairs in the B-scan sequence can include multiple frequency components attributable to different causes. For example, in addition to the frequency component due to relative motion of eye 25 and OCT imaging system 30 during acquisition of the B-scan sequence, the variation can also include various other frequency components, such as, for example, low-frequency components caused by the curvature of the retina, as can be observed in graphs 510, 520, and 530. In particular, the frequency component due to the curvature of the retina can be lower than the frequency component due to motion of eye 25 because the rate of axial shift of ocular features due to the curvature of the retina during the B-scan sequence will likely be lower than the axial shift due to subject motion. Furthermore, the variation of the indicator values ​​over the position of corresponding adjacent B-scan pairs in the sequence can also include high-frequency components due to spurious correlations between adjacent B-scans. Such high-frequency components can be observed in graphs 540, 550, and 560, each of which displays a number of peaks that contribute to the presence of high-frequency components in the variation of the indicator values.

[0056] Figure 6 The frequency determination module 4 according to the first exemplary embodiment may be executed to determine Figure 4 Flowchart of the steps of obtaining the first frequency component in step S20. Figure 6 In step S210, the frequency component determination module 4 determines a second frequency component of the change, which indicates the curvature of the retina. As in this example, the frequency component determination module 4 can determine the second frequency component by fitting an m-order polynomial to the change of the determined indicator, where m is an integer. For example, the sequence S of the determined indicator i (i=1, 2, ..., N) can be represented as a set of N data points (x i , S i )(i=1, 2, ..., N). Then, by fitting an m-order polynomial to a set of equivalent data points (x i , S i )(i=1 to N), the m-order polynomial P m (x) Fit to the sequence S of indicators i (i=1, 2, ..., N), where x i is the same as the data point (x i , S i ) in the indicator S i The associated X coordinate value.

[0057] exist Figure 6 In step S220, the frequency determination module 4 subtracts the value of the m-order polynomial from the indicator in the determined change of the indicator to generate a corrected change of the indicator. For example, for the indicator in the form of data points (x i , S i )(i=1、2、……、N) represents a certain indicator S i (i=1, 2, ..., N), and for the m-order polynomial P fitted to the indicator sequence m (x), the correction change of the indicator can be represented by a set of values ​​C i =S i –P m (x i )(i=1, 2, ..., N). In the present example, the second frequency component of the change indicative of the curvature of the retina is determined by fitting a second-order polynomial to the determined change in the indicator. However, polynomials of different orders may be used depending on the expected curvature of the imaging target. As in the present example, a second-order polynomial may be fit using a least squares method to minimize the residual sum of squares between the change in the indicator and the second-order polynomial, but any suitable polynomial regression method may alternatively be used. The second-order polynomial representing the curvature of the retina may be retained and later used to render the C-scan.

[0058] exist Figure 6 In step S230, the frequency determination module 4 fits an n-order polynomial to the correction change C of the indicator. i (i=1, 2, ..., N) to determine the first frequency component of the change of the indicator, where N is an integer greater than m. The first frequency component indicating the relative motion of the OCT imaging system 30 and the imaging target 20 is thus represented by an n-th order polynomial. As an example, the correction change C of the indicator i (i=1, 2, ..., N) can be represented as a data point (x i , C i )(i=1, 2, ..., N), and the n-order polynomial P n (x) can be fitted to the data points (x i , C i )(i=1, 2, ..., N). In some embodiments, the frequency determination module 4 may first apply a smoothing operation (e.g., by using a moving average filter) to the corrective change of the indicator before fitting the nth-order polynomial, thereby avoiding overfitting to data points caused by spurious correlations. In this example embodiment, a fifth-order polynomial is fitted to the corrective change of the indicator as the nth-order polynomial. However, the value of n is not limited to this and may be selected in any suitable manner. In some embodiments, the value of n may be selected based on the scanning parameters used by the OCT imaging system 30 to obtain the C-scan data, such as the scanning density (e.g., the number of B-scans captured per unit area of ​​the retina) and the scanning duration (i.e., the total time spent acquiring the C-scan data). As a general rule, for higher scanning densities and longer scanning durations, higher values ​​of n may be selected for the nth-order polynomial.

[0059] Although the curvature of the retina is determined in this exemplary embodiment by fitting a low-order polynomial function to the change in the indicator, other methods may be used instead. For example, the frequency component determination module 4 may alternatively determine the curvature of the retina by fitting a low-order polynomial function to the change in the indicator (x i , S i )(i=1, 2, ..., N) performs a discrete Fourier transform to determine a second frequency component indicative of the curvature of the retina to determine frequency domain samples of the change of the indicator. The frequency component determination module 4 may also extract a subset of the frequency domain samples corresponding to a predetermined frequency range associated with the curvature of the retina. For example, the frequency range may be determined empirically based on the expected curvature of the retina. The frequency determination module 4 may also perform an inverse Fourier transform on the subset of the frequency domain samples to obtain a value corresponding to the second frequency component, which may be subtracted from the indicator in the determined change of the indicator to generate a corrected change of the indicator.

[0060] In some example embodiments, where the second frequency component only needs to be removed from the change in the indicator rather than extracted for later use, rather than performing an inverse Fourier transform on a subset of frequency domain samples and subtracting the obtained value corresponding to the second frequency component from the change in the indicator, the frequency component determination module 4 may instead process the frequency domain samples by setting the subset of frequency domain samples to zero and performing an inverse Fourier transform on the processed frequency domain samples, thereby directly obtaining the corrective change in the indicator. Alternatively, the frequency component determination module 4 may bandpass filter the change in the indicator to remove the second frequency component corresponding to the curvature of the retina in order to determine the corrective change in the indicator, and then fit an nth-order polynomial to the corrective change in the indicator. The lower cutoff frequency of the bandpass filtering process may be selected based on the expected curvature of the retina.

[0061] However, it should be noted that in cases where the spatial extent of the scan is small relative to the curvature of the retina, the curvature of the retina can be assumed to be negligible and, therefore, it is not necessary to determine the second frequency component. In this case, an nth-order polynomial can be directly fitted to the sequence S of the determined indicators i (i=1, 2, . . . , N), and is determined as a first frequency component indicating the relative motion of the OCT imaging system 30 and the imaging target 20 .

[0062] Reference again Figure 4 In step S30, when determining the first frequency component, the displacement compensation module 6 uses the correction data to compensate for the displacement between B-scans in the B-scan sequence caused by the relative motion of the OCT imaging system 30 and the imaging target 20 during the acquisition of the B-scan by the OCT imaging system 30 by applying an offset based on the first frequency component to the B-scans in the B-scan sequence. In this example embodiment, the first frequency component is represented by the nth-order polynomial P n (x) is given, and therefore, the displacement compensation module 6 can apply an offset by offsetting each B-scan in the B-scan sequence based on the value of the nth order polynomial. Figure 4 The correction change sequence C fitted to the indicator in step S20 i (i=1, ..., N) (or more specifically, fitting to a corresponding set of data points (x i , C i )(i=1、2、……、N) of nth order polynomial P n (x), a set of values ​​P of the nth-order polynomial can be determined n (x i ) (for i=1, 2, ..., N). A set of values ​​P can be used n (x i ) (for i = 1, 2, ..., N) and a mapping between the B-scans in the sequence such that a set of values ​​P n (xi Each value of )(i=1, 2, ..., N) is used to offset the B scan in the B scan sequence. In this example, since the indicator S i is scanning from B k=i and B k=i+1 Derived, so the polynomial value P n (x i ) can be used to offset the B scan B k=i+1 However, since each indicator indicates the axis shift between adjacent B-scans in the sequence, it is applied to each B-scan in the B-scan sequence. k The offset of must also include the cumulative sum of the offsets applied to each previous B-scan in the sequence (i.e., the B-scans with indices lower than k in the sequence). In other words, for each B-scan B in the sequence k , An offset can be applied to the B-scan to correct for axis shift.

[0063] As an example, for the k The C scan of a sequence of 100 B scans represented by (k=1 to 100) can be obtained from the indicator S calculated based on the 100 B scans. i Determine the n-order polynomial P in the variation of (i=1, 2, ..., 99) n (x), first obtain the corrected change of the indicator C by subtracting an m-order polynomial representing the curvature of the retina from the change of the indicator i (i=1, 2, ..., 99), and then fit an n-order polynomial to the correction change of the indicator. The displacement compensation module 6 can also determine the n-order polynomial P according to the correction change of the indicator. n A set of values ​​P of (x) n (x i )(i=1、2、……、99). A set of values ​​P n (x i ) (for i=1, 2, ..., 99) can then be used to offset the B scan B k (k=1 to 100). For example, the displacement compensation module 6 can compensate for the displacement between 100 B scans by: shifting the B scan B2 by P n (x1) value, B scan B3 offset P n (x1)+P n (x2), and more generally, B scans B k Offset offset.

[0064] It should be noted that although Figure 4 The offset of the B scan in step S30 is based on the sequence C of correction changes that are fitted to the indicator i(i=1, ..., N) is a polynomial of order n, but in some other exemplary embodiments, the sequence C of the correction variation of the indicator i (i=1, ..., N) can be considered as the first frequency component and used to directly shift the B scans in the B scan sequence. For example, for each B scan B in the sequence k , you can An offset of is applied to the B-scan in order to correct for the axis shift of the eye 25.

[0065] In some example embodiments, after fitting the nth order polynomial, the corrective change C of the indicator i (i=1, ..., N) is not directly used as an offset Figure 4 In contrast, according to the second exemplary embodiment, the frequency determination module 4 may be configured to determine the first frequency component of the B scan in step S30. Figure 4 In step S20, the first frequency component is determined by further performing at least two iterations of the process comprising the following steps:

[0066] (i) calculating a plurality of residual values, each residual value being calculated as a difference between the indicator in which the indicator changes and a corresponding value of the nth-order polynomial;

[0067] (ii) determining whether the plurality of residual values ​​includes an outlier that exceeds a first positive threshold or is below a first negative threshold;

[0068] (iii) in a case where it is determined that the plurality of residual values ​​include an outlier, removing the indicator corresponding to the outlier from the change in the indicator to generate an updated change in the indicator, and in a case where it is determined that the plurality of residual values ​​do not include an outlier, ending the process and determining the nth-order polynomial as the first frequency component; and

[0069] (iv) Fitting an nth-order polynomial to the updated changes in the indicator.

[0070] In a first iteration of the above process, each residual value in the plurality of residual values ​​is calculated as a difference between the indicator in the corrected change of the indicator and a corresponding value of an nth-order polynomial fitted to the corrected change of the indicator. Additionally, in each of the remaining one or more iterations of the above process, each residual value in the plurality of residual values ​​is calculated as a difference between the indicator in the updated change of the indicator generated in a previous iteration of the process and a corresponding value of the nth-order polynomial fitted to the updated change of the indicator generated in the previous iteration of the process.

[0071] Figure 7 FIG. 4 is a flow chart illustrating a process that may be performed by the frequency determination module 4 to determine the first frequency component according to a second example implementation. Figure 7 As shown, the frequency determination module 4 can first perform the above reference Figure 6However, in the second example embodiment, after the n-th order polynomial is determined in step S230, the n-th order polynomial is not directly used to shift the B-scan in step S30. Instead, Figure 7 In step S240, the frequency determination module 4 further calculates a plurality of residual values, each residual value being calculated as the difference between the indicator in the change of the indicator and the corresponding value of the n-order polynomial. In this example, the correction change C of the indicator is i (i=1, 2, ..., N) is represented as a data point (x i , C i )(i=1, 2, ..., N), and the n-order polynomial is represented as P n (x), in Figure 7 In step S240, multiple residual values ​​can be determined as R(x i )=C i -P n (x i )(for i=1, 2, ..., N).

[0072] exist Figure 7 In step S250, the frequency determination module 4 determines whether the plurality of residual values ​​include an abnormal value that is higher than a first positive predetermined threshold or lower than a first negative predetermined threshold. In response to determining that the plurality of residual values ​​include an abnormal value, Figure 7 In step S260, the frequency determination module 4 can determine the correction change C of the indicator i (i=1, 2, ..., N) to remove the correction indicator C corresponding to the abnormal value i , to generate the updated change U of the indicator i (For x=1 to N). Remove the correction indicator C corresponding to the outlier i This may include, for example, setting the correction indicator C i For example, if it is determined that the value of the correction indicator C i=p The residual value is an outlier, then a set of data points (x i , C i )(i=1, 2, ..., N) represents the data point (x) of the indicator correction change. p , C p ) may be set to zero. However, it should be noted that in some embodiments, the frequency determination module 4 may alternatively replace the correction indicator C corresponding to the abnormal value with a new value. i , instead of the correction indicator C corresponding to the outlier p Set to zero, the new value may be based on the C having the residual value not determined as an abnormal value in step S260. i One or more other values ​​of and obtained from these values, for example, by interpolation.

[0073] exist Figure 7 In step S270, the frequency determination module 4 fits an n-order polynomial to the updated change U of the indicator. i (for x=1, 2, ..., N). The process of step S240 is then repeated, this time calculating a plurality of residual values, wherein each residual value is calculated as the difference between the indicator in the updated variation of the indicator (determined in step S260) and the corresponding value of the nth-order polynomial that has been fitted to the updated variation of the indicator in step S270. After step S270 has been performed, the process of step S240 may be repeated. Figure 7 The steps S240, S250, S260 and S270 in the above are repeated until it is determined in step S250 that the plurality of residual values ​​determined for iteration do not contain an outlier. If it is determined in step S250 that no outlier exists in the plurality of residual values, the process proceeds to step S250A, where the n-order polynomial used to generate the plurality of residual values ​​is considered as the first frequency component, and then Figure 4 The first frequency component is used in step S30 to shift the B scans in order to compensate for the displacement between B scans in the B scan sequence caused by the relative motion (in the axial direction) of the eye 25 and the OCT imaging system 30. In particular, the frequency determination module 4 may use the same frequency component as previously determined for Figure 4 In the same manner as described in step S30 , the B scan is shifted based on the value of the nth-order polynomial.

[0074] In some example embodiments, when Figure 7 When it is determined in step S250 that the plurality of residual values ​​used for iteration do not contain any abnormal value, the frequency determination module 4 may further evaluate the plurality of residual values ​​to determine whether the n-th order polynomial used to obtain the plurality of residual values ​​can be regarded as the first frequency component and be used in the frequency determination module 4. Figure 4 In step S30, the B scan is used to shift. More specifically, referring to Figure 8 ,exist Figure 8 In step S310, the frequency determination module 4 may further determine the number of residual values ​​having a magnitude greater than a second positive threshold or less than a second negative threshold in the plurality of residual values, wherein the second positive threshold is less than Figure 7 The first positive threshold value in step S250 of ; and the second negative threshold value is greater than Figure 7 The first negative threshold in step S250. Figure 8 In step S320, the frequency determination module 4 determines Figure 8 In response to determining whether the number of residual values ​​determined in step S310 exceeds a third threshold value. Figure 8 The number of residual values ​​determined in step S310 does not exceed the third threshold, and the frequency determination module 4 Figure 8In step S330A, an n-order polynomial used to generate a plurality of residual values ​​(excluding any abnormal values) is selected as a first frequency component, and the n-order polynomial is performed by using the n-order polynomial as the first frequency component. Figure 4 On the other hand, if the frequency determination module 4 determines that Figure 8 If the number of residual values ​​determined in step S310 does exceed the third threshold, then Figure 8 Step S330B is not executed Figure 4 Step S30 is performed. This is because, when a significant number of residual values ​​is relatively high, this can be considered to indicate a poor fit of the nth-order polynomial to the corrected change of the indicator (or the updated change of the indicator). Therefore, instead of using the nth-order polynomial to correct for axial displacement in the B-scan sequence, the B-scan sequence can be discarded, and new C-scan data including the new B-scan sequence can be captured by performing a new OCT scan of the imaging target 20. The new B-scan sequence can be processed using any of the aforementioned methods to generate correction data for compensating for axial displacement between B-scans in the B-scan sequence caused by relative motion of the OCT imaging system 30 and the imaging target 20.

[0075] Reference again Figure 1 In an example embodiment in which the data processing apparatus 10 includes a reliability indicator generator module 3 (e.g., as part of the axis shift determination module 2, or as part of any other module of the data processing apparatus 10, or as a separate module, as in the present example embodiment), the reliability indicator generator module 3 may be configured to generate a reliability indicator indicating whether the generated correction data is reliable. For example, the reliability indicator may be used by the displacement compensation module 6 to determine whether to perform Figure 4 Step S30.

[0076] Figure 9 It is shown by Figure 1 The reliability indicator generating module 3 performs a flow chart of the process of generating a reliability indicator. Figure 9 In step S410, the reliability indicator generation module 3 uses the B-scan pairs in the B-scan sequence to calculate corresponding values ​​of a metric that indicates the velocity and / or acceleration of the imaging target 20 relative to the OCT imaging system 30 when the B-scan pairs were acquired. As in this example embodiment, the metric may be a velocity metric that indicates the velocity of the imaging target 20 relative to the OCT imaging system 30 (in the axial direction). As in this example embodiment, the metric may be a velocity metric that indicates the velocity of the imaging target 20 relative to the OCT imaging system 30 (in the axial direction). Figure 4In step S10 of the B-scan sequence, a velocity metric is calculated using indicators determined for adjacent B-scan pairs in the B-scan sequence. Since each indicator indicates the axial shift of the common ocular feature in an adjacent B-scan pair, the indicator value, when divided by the time between adjacent B-scans, represents the velocity of the imaging target 20 relative to the OCT imaging system 30. However, it should be understood that the velocity metric need not be calculated using adjacent B-scans, but can be calculated based on the axial shift of the common ocular feature in non-adjacent B-scan pairs in the B-scan sequence. More generally, the determined axial shift of the common ocular feature in a B-scan pair, to capture the time interval between the B-scans in that B-scan pair, provides an indication of the rate of axial movement of the common ocular feature, and therefore, the velocity of the relative motion of the imaging target 20 and the OCT imaging system 30. As in the present example embodiment, the metric can be calculated for each adjacent B-scan pair in the sequence, but can alternatively be calculated for only a subset of all acquired B-scan pairs as previously described.

[0077] exist Figure 9 In step S420, the reliability indicator generation module 3 determines whether at least a predetermined number of the calculated values ​​of the metric exceeds a threshold value. In the case where at least a predetermined number of the calculated values ​​of the metric are determined to exceed the threshold value, the reliability indicator generation module 3 sets (in Figure 9 In step S430A) the reliability indicator is set to indicate that the correction data is unreliable. Figure 9 In the case where it is determined in step S420 that the calculated values ​​of the metric less than the predetermined number exceed the threshold, the reliability indicator generating module 3 sets the reliability indicator (in Figure 9 In step S430B of ) to indicate that the correction data is reliable. In this example embodiment, where the metric is a velocity metric, Figure 9 The threshold used in step S420 may correspond to the maximum velocity considered physically possible for the imaging target 20 during the capture of the OCT C-scan data. Any calculated value of the metric that exceeds this threshold may be considered an anomaly caused by spurious correlation between B-scans (rather than actual relative motion of the imaging target 20 and the OCT imaging system 30). Figure 9 The predetermined number in step S420 may be set by the reliability indicator generation module 3 based on an acceptable maximum number of anomalies before the correction data is considered unreliable.

[0078] Although in this example embodiment the metric is a speed metric, in Figure 9The metric calculated in step S410 may alternatively be an acceleration metric that indicates an acceleration of the imaging target 20 relative to the OCT imaging system 30. When the metric in step S410 is considered to be an acceleration metric, the threshold value set in step S420 may be set based on a maximum value of acceleration that is considered to be realistic or physically possible. The reliability indicator generation module 3 may calculate the acceleration metric by determining a first value indicating a rate of axial shift of a common ocular feature in a first pair of B-scans and a second value indicating a rate of axial shift of a common ocular feature in a second pair of B-scans, where the first pair differs from the second pair by at least one B-scan. The reliability indicator generation module 3 may also evaluate the acceleration metric based on the difference between the first value and the second value. For example, for a first pair of B-scans captured at times T1 and T2 and having a determined axial shift rate value A1, and a second pair of B-scans captured at times T3 and T4 (occurring after times T1 and T2) and having a determined axial shift rate value A2, the acceleration metric may be calculated as:

[0079]

[0080] However, it should be understood that the acceleration measure is not limited to the above form and can be calculated based on the difference between A2 and A1 and another measure of the time interval between two pairs of B scans (eg, T3-T1 or T4-T2).

[0081] Furthermore, in some example embodiments, Figure 4 The operation of the displacement compensation module 6 in step S30 to compensate for the axis shift between B scans in the B scan sequence (caused by the relative motion of the OCT imaging system and the imaging target) may be conditioned on the reliability indicator having been set to indicate that the correction data is reliable, so that Figure 9 In the case where the reliability indicator is set to indicate that the correction data is unreliable in step S430A, the step Figure 4 Step S30.

[0082] Furthermore, in which a reliability indicator is generated and Figure 8 In an example embodiment where a similar process is performed, the reliability indicator has been set (in Figure 9 In step S430A) of the embodiment, the correction data is unreliable, even if Figure 8 If step S320 has determined that the number of residual values ​​having a magnitude exceeding the second positive threshold or less than the second negative threshold in the plurality of residual values ​​is less than the third threshold of step S320, the displacement compensation module 6 may also determine not to execute step S30.

[0083] The example aspects described herein avoid limitations associated with conventional OCT data processing (particularly those rooted in computer technology), which can produce rendered volumetric OCT data that exhibits motion artifacts, often caused by involuntary motion of the subject during acquisition of the volumetric OCT data. For example, these motion artifacts can adversely affect the accuracy of ocular feature identification and any subsequent diagnostic measurements. By utilizing the example aspects described herein, correction data is generated to compensate for axial displacement between B-scans in a B-scan sequence that forms a C-scan, which may be caused by relative motion between the OCT imaging system and the imaging target. Specifically, for each adjacent B-scan pair in the B-scan sequence, a corresponding indicator of axial displacement between corresponding representations of common ocular features in the adjacent B-scans is determined. Furthermore, a frequency component indicative of relative motion during acquisition of the C-scan is extracted from the changes in the determined indicator as the position of the corresponding adjacent B-scan pair in the sequence changes. As a result, when the correction data is used to compensate for axial displacement between B-scans, C-scans of the target imaging structure can be rendered more accurately. Furthermore, in at least some example embodiments, a frequency component corresponding to the curvature of the imaging target structure is extracted from the changes in the determined indicator. This extracted curvature information can be retained and used to accurately render the C-scan. Furthermore, in at least some example embodiments, the quality of the correction data can be estimated by determining a reliability indicator that is based on a measure that indicates at least the velocity or acceleration of the relative motion. Furthermore, in at least some example embodiments, the residue of a polynomial fitted to the variation of the determined indicator is used to estimate the quality of the correction data and, therefore, to determine whether the correction data should be used to perform compensation. Thus, processing of B-scans for compensating for axial displacement between B-scans can be improved because only reliable correction data can be used to compensate for axial displacement. Furthermore, by virtue of the aforementioned capabilities of the example aspects described herein that are rooted in computer technology, the example aspects described herein improve computers and computer processing / functionality and also improve the fields of at least image processing, optical coherence tomography (OCT) and data processing, and processing of OCT image data.

[0084] In the foregoing description, example aspects have been described with reference to several example embodiments. Therefore, the description should be regarded as illustrative rather than restrictive. Similarly, the figures shown in the accompanying drawings highlighting the features and advantages of the example embodiments are presented for illustrative purposes only. The architecture of the example embodiments is sufficiently flexible and configurable so that it can be utilized (and navigated) in ways other than those shown in the accompanying drawings.

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

[0086] 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.

[0087] Some embodiments include computer program products. A computer program product may be one or more storage media, instruction storage devices, or memory devices having stored thereon or therein instructions that can be used to control or cause a computer or computer processor to perform any of the processes of the example embodiments described herein. Storage media / instruction storage devices / memory devices may include, by way of example and without limitation, optical disks, ROM, RAM, EPROM, EEPROM, DRAM, VRAM, flash memory, flash memory cards, magnetic cards, optical cards, nanosystems, molecular memory integrated circuits, RAID, remote data storage / archiving / warehousing devices, and / or any other type of device suitable for storing instructions and / or data.

[0088] Some implementations stored on any of one or more computer-readable media, instruction storage devices (multiple instruction storage devices), or storage devices (multiple storage devices) include hardware for controlling the system and software for enabling the system or microprocessor to interact with a human user or other mechanism using the results of the example embodiments described herein. Such software may include, without limitation, device drivers, operating systems, and user applications. Finally, as described above, such computer-readable media or storage devices also include software for performing the example aspects of this document.

[0089] Software modules for implementing the processes described herein are included in the system's programming and / or software. In some example embodiments herein, the modules include software, but in other example embodiments herein, the modules include hardware or a combination of hardware and software.

[0090] Although various exemplary embodiments have been described above, it should be understood that they are presented by way of example and not limitation. It will be apparent to those skilled in the relevant art that various changes in form and detail may be made. Therefore, the present invention should not be limited by any of the above exemplary embodiments, but should be defined only in accordance with the appended claims and their equivalents.

[0091] Furthermore, the purpose of the Abstract is to enable patent offices and the public generally, and especially scientists, engineers, and practitioners in the field who are not familiar with patent or legal terminology or wording, to quickly ascertain the nature and essence of the technical disclosure of the present application based on a cursory inspection. The Abstract is not intended to limit in any way the scope of the example embodiments presented herein. It should also be understood that the processes recited in the claims need not be performed in the order presented.

[0092] Although this specification contains many specific embodiment details, these should not be construed as limitations, but rather as descriptions of features specific to the particular embodiments described herein. Certain features described in this specification in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented in multiple embodiments individually or in any suitable subcombination. Furthermore, although features may be described above as acting in a particular combination and even initially claimed as such, one or more features from a claimed combination may in some cases be deleted from the combination, and a claimed combination may be directed to a subcombination or variations of a subcombination.

[0093] In some cases, multitasking and parallel processing may be advantageous. In addition, the separation of the various components in the above embodiments should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.

[0094] Now that some illustrative embodiments and implementations have been described, it will be apparent that the foregoing embodiments are illustrative rather than restrictive and have been presented by way of example. Specifically, although many of the examples presented herein involve specific combinations of devices or software elements, these elements can be combined in other ways to achieve the same purpose. Actions, elements, and features discussed in conjunction with only one embodiment are not intended to be excluded from similar roles in that embodiment or other embodiments.

[0095] The apparatus and computer program described herein may be implemented in other specific forms without departing from their characteristics. The foregoing embodiments are illustrative rather than restrictive of the described systems and methods. The scope of the apparatus and computer program described herein is therefore indicated by the appended claims rather than the foregoing description, and changes that come within the meaning and range of equivalents of the claims are therefore intended to be embraced therein.

Claims

1. A method for processing C-scan data to generate correction data, the C-scan data comprising a sequence of B-scans (210, 220) of an imaging target (20) acquired by an optical coherence tomography (OCT) imaging system (30), the correction data being used to compensate for an axial displacement (d) between B-scans (210, 220) in the B-scan sequence caused by relative motion between the OCT imaging system (30) and the imaging target (20), the relative motion causing a change in the distance between the OCT imaging system and the imaging target during acquisition of the B-scans (210, 220) by the OCT imaging system (30), the method comprising generating the correction data by: for each pair of adjacent B-scans (210, 220) in the sequence, determining (S10) a respective indicator (510) of an axis shift (d) between respective representations of a common eye feature (230) in the adjacent B-scans (210, 220); and Based on the determined indicator (510) as the position of the corresponding adjacent B-scan (210, 220) pair in the sequence changes, a first frequency component of the change is determined (S20), the first frequency component being indicative of the relative motion of the OCT imaging system (30) and the imaging target (20) during acquisition of the B-scan (210, 220) by the OCT imaging system (30).

2. The method according to claim 1, wherein For each of the adjacent B-scan (210, 220) pairs, the corresponding indicator (510) of the pivot shift (d) is determined by: calculating a cross-correlation between the pair of adjacent B-scans (210, 220) and determining as the indicator (510) an offset between the B-scans (210, 220) corresponding to a peak in the calculated cross-correlation, or Respective locations of common ocular features in the B-scans (210, 220) of the pair of adjacent B-scans (210, 220) are identified, and a displacement between the identified locations along an axis of the B-scans (210, 220) corresponding to an axial direction of the OCT imaging system (30) is determined.

3. The method according to claim 1 or claim 2, wherein: The imaging target (20) has a curvature, and the method further comprises: A second frequency component of the variation is determined, the second frequency component being indicative of a curvature of the imaging target (20).

4. The method according to claim 3, wherein: determining the second frequency component by fitting (S210) an m-th order polynomial to the determined variation of the indicator (510), and The first frequency component is determined by subtracting (S220) a value of the m-th order polynomial from the indicator (510) in the determined change of the indicator (510) to generate a corrected change of the indicator (510), and fitting an n-th order polynomial to the corrected change of the indicator (510), wherein m and n are integers and m is less than n.

5. The method of any preceding claim, further comprising using the correction data to compensate for an axial displacement (d) between B-scans (210, 220) in the B-scan (210, 220) sequence caused by the relative motion of the OCT imaging system (30) and the imaging target (20) by applying an offset based on the first frequency component to the B-scans (210, 220) in the B-scan (210, 220) sequence.

6. The method according to claim 4, wherein: The first frequency component is determined by performing at least two iterations of a process further comprising: (i) calculating ( S240 ) a plurality of residual values, each residual value being calculated as a difference between the indicator ( 510 ) in the change of the indicator ( 510 ) and a corresponding value of the nth-order polynomial; (ii) determining ( S250 ) whether the plurality of residual values ​​include an abnormal value exceeding a first positive threshold or falling below a first negative threshold; (iii) if it is determined that the plurality of residual values ​​include the abnormal value, removing (S260) the indicator (510) corresponding to the abnormal value from the change of the indicator (510) to generate an updated change of the indicator, and if it is determined that the residual value does not include the abnormal value, determining the n-th order polynomial as the first frequency component and ending the process; and (iv) fitting (S270) said nth order polynomial to said updated change of the indicator (510), wherein, in a first iteration of the process, each residual value of the plurality of residual values ​​is calculated as a difference between the indicator in the corrected change of the indicator and a corresponding value of the nth-order polynomial fitted to the corrected change of the indicator, and wherein, in each of the remaining one or more iterations of the process, each of the plurality of residual values ​​is calculated as a difference between the indicator in the updated change of the indicator generated in a previous iteration of the process and a corresponding value of the nth-order polynomial fit to the updated change of the indicator generated in the previous iteration of the process.

7. The method according to claim 6, further comprising: determining ( S310 ) a number of residual values ​​having a magnitude greater than a second positive threshold or less than a second negative threshold among the plurality of residual values, wherein the second positive threshold is less than the first positive threshold and the second negative threshold is greater than the first negative threshold; compensating (S30) for an axial displacement (d) between B-scans (210, 220) in the sequence of B-scans (210, 220) by applying an offset based on the first frequency component to the B-scans (210, 220) in the sequence of B-scans (210, 220); and In a case where the determined number of residual values ​​is not less than the third threshold, it is determined not to compensate (S330B) for the axial displacement (d) between the B-scans (210, 220) in the B-scan (210, 220) sequence.

8. The method according to any preceding claim, further comprising generating a reliability indicator indicating the reliability of the generated correction data by: using a pair of B-scans (210, 220) in the B-scan sequence to calculate corresponding values ​​of a metric indicative of at least one of a velocity and an acceleration of the imaging target (20) relative to the OCT imaging system (30) when the pair of B-scans was acquired; determining ( S420 ) whether at least a predetermined number of the calculated values ​​of the metric exceed a fourth threshold; In case it is determined that at least the predetermined number of the calculated values ​​of the metric exceeds the fourth threshold, setting (S430A) the reliability indicator to indicate that the correction data is unreliable; and In case it is determined that none of the calculated values ​​of the metric at least the predetermined number of calculated values ​​exceeds the fourth threshold, the reliability indicator is set (S430B) to indicate that the correction data is reliable.

9. The method of claim 8 , further comprising, if the reliability indicator has been set to indicate that the correction data is reliable, compensating for axial displacement between B-scans in the B-scan sequence by applying an offset based on the first frequency component to the B-scans in the B-scan sequence.

10. A computer-readable medium storing a computer program (390) comprising computer program instructions which, when executed by a processor (320), cause the processor (320) to perform the method according to at least one of the preceding claims.

11. A data processing apparatus (10) configured to process C-scan data to generate correction data, the C-scan data comprising a sequence of B-scans (210, 220) of an imaging target (20) acquired by an optical coherence tomography (OCT) imaging system (30), the correction data being used to compensate for an axial displacement between B-scans (210, 220) in the sequence of B-scans (210, 220) caused by relative motion between the OCT imaging system (30) and the imaging target (20), the relative motion causing a change in a distance between the OCT imaging system and the imaging target during acquisition of the B-scans (210, 220) by the OCT imaging system (30), the data processing apparatus (10) comprising: a pivot shift determination module (2) arranged to determine, for each pair of adjacent B-scans (210, 220) in the sequence, a respective indicator (510) of a pivot shift (d) between respective representations of the common ocular feature in the adjacent B-scans (210, 220); A frequency component determination module (4) is arranged to determine a first frequency component of the change based on the determined indicator (510) as the position of the corresponding adjacent B-scan (210, 220) pair in the sequence changes, the first frequency component being indicative of the relative motion of the OCT imaging system (30) and the imaging target (20) during acquisition of the B-scan (210, 220) by the OCT imaging system (30).

12. The data processing device (10) according to claim 11, wherein The pivot shift determination module (2) is arranged to determine the respective indicator (510) of the pivot shift (d) for each of the adjacent B-scan (210, 220) pairs by: calculating a cross-correlation between the pair of adjacent B-scans (210, 220) and determining as the indicator (510) an offset between the B-scans (210, 220) corresponding to a peak in the calculated cross-correlation, or Respective positions of the common ocular feature in the B-scans (210, 220) of the pair of adjacent B-scans (210, 220) are identified, and a displacement (d) between the identified positions along an axis of the B-scans (210, 220), the axis of the B-scans (210, 220) representing an axial direction of the OCT imaging system (30) is determined.

13. The data processing device (10) according to claim 11 or claim 12, wherein: The imaging target (20) has a curvature, and the frequency component determination module (4) is further arranged to determine a second frequency component of the variation, the second frequency component being indicative of the curvature of the imaging target (20).

14. The data processing device (10) according to claim 13, wherein: The frequency component determination module (4) is arranged to: determining the second frequency component by fitting (S210) an m-th order polynomial to the determined change of the indicator (510); and The first frequency component is determined by subtracting (S220) a value of the m-th order polynomial from the indicator (510) in the determined change of the indicator (510) to generate a corrective change of the indicator, and fitting (S230) an n-th order polynomial to the corrective change of the indicator, wherein m and n are integers and m is less than n.

15. The data processing device (10) according to any one of claims 11 to 14, further comprising a displacement compensation module (6), the displacement compensation module (6) being arranged to compensate for a displacement between the B scans (210, 220) in the B scan (210, 220) sequence caused by a relative motion between the OCT imaging system (30) and the imaging target (20) during acquisition of the B scans (210, 220) by the OCT imaging system (30), by applying an offset based on the first frequency component to the B scans (210, 220) in the B scan (210, 220) sequence.

Citation Information

Patent Citations

  • Optical coherence tomography (OCT) system with phase-sensitive B-scan registration

    CN105939652A

  • Correction of decorrelation tail artifacts in a whole OCT-A volume

    US10441164B1