Preprocessing for OCTB scans used in OCT angiography
By selecting and cropping repeated B-scans of the OCT imaging device, only the vascular system region of interest is retained, solving the problems of resource waste and low processing efficiency in the prior art, and achieving more efficient OCTA data generation and accuracy.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- OPTOS PLC
- Filing Date
- 2023-02-28
- Publication Date
- 2026-05-29
AI Technical Summary
Existing OCTA data generation methods suffer from resource waste and low processing efficiency when handling repeated B-scans, especially in the imaging areas of body parts, which contain a lot of redundant information, leading to unnecessary consumption of storage and processing resources. Furthermore, image registration algorithms struggle to accurately register images under conditions of large axial offset.
By designing a computer-implemented method and apparatus, a subset of data elements along anatomical features is selected, a sub-region of interest is defined, and B-scans are cropped to generate OCT angiography data containing only the vascular system of interest. This reduces data processing and storage requirements while improving the accuracy of image registration.
It achieves more efficient resource utilization, reduces storage and processing requirements, and improves the speed and accuracy of OCTA data generation, especially in the case of large axial offset, reducing resource requirements and data transmission bandwidth.
Smart Images

Figure CN116649891B_ABST
Abstract
Description
field
[0001] The examples in this article generally relate to the field of optical coherence tomography (OCT), and more specifically, to processing repeated OCT B scans of an imaging region of a body part to generate cropped B scans for generating OCT angiography data that provides a representation of the vascular system in the imaging region. background
[0002] Optical coherence tomography (OCTA) is a non-invasive imaging technique that uses low-coherence interferometry to cooperatively obtain structural and functional (blood flow) information of the imaged body part. This technique has been used in various medical fields. For example, in ophthalmology, OCTA has been used to diagnose a variety of diseases, such as age-related macular degeneration (AMD), diabetic retinopathy, arterial and venous occlusion, sickle cell disease, and glaucoma.
[0003] OCTA compares the differences in backscattered OCT signals between repeated B-scans (i.e., B-scans of the same cross-section of a body part obtained at different times) of a common OCT scan area of a body part to construct a blood flow map, and relies on the principle that the portion of the OCT scan area containing moving red blood cells causes the backscattered OCT signal to fluctuate over time, while the backscattered OCT signal from the static portion of the OCT scan area that does not contain blood flow shows much smaller fluctuations.
[0004] Several types of OCTA have been developed that process repeated OCT scans in different ways to map the vascular system within them. These OCTAs include, for example, split spectral amplitude decorrelation angiography (SSADA), optical microangiography (OMAG), and OCT angiography ratio analysis (OCTARA). A review of these types of OCTA and some commercially available OCTA systems is provided in Turgut’s “Optical Coherence Tomography Angiography – A General View” (published in *European Ophthalmic Review*, 2016; Vol. 10, No. 1: pp. 39–42), the contents of which are incorporated herein by reference in their entirety. Overview
[0005] According to a first exemplary aspect of this document, the inventors have devised a computer-implemented method for processing repeated B-scans of an imaging region of a body part obtained by an OCT imaging device to generate a cropped B-scan, the imaging region including anatomical features confined to a first sub-region of the imaging region and a vascular system of interest confined to a second sub-region of the imaging region, the cropped B-scan being used to generate OCT angiography data providing a representation of the vascular system of interest. The method includes processing each B-scan in the repeated B-scans to generate a corresponding cropped B-scan by: selecting a subset of data elements from the data elements of the B-scan such that the selected data elements are distributed along the representation of the anatomical features in the B-scan; using the selected data elements to define a corresponding sub-region of interest in the B-scan, the corresponding sub-region of interest including OCT data obtained from the second sub-region containing the vascular system of interest; and generating the corresponding cropped B-scan by cropping the B-scan to leave the sub-region of interest in the B-scan.
[0006] Furthermore, according to a second exemplary aspect of this document, the inventors have devised a computer-implemented method for generating optical coherence tomography (OCTA) angiography data that provides a representation of the vascular system of interest in an imaging region of a body part. The method includes: receiving a repeated B-scan of an imaging region of a body part obtained by an optical coherence tomography imaging device; processing the repeated B-scan to generate a correspondingly cropped B-scan according to the method of the first exemplary aspect described above; and generating OCTA data by processing the cropped B-scan.
[0007] According to a third exemplary aspect of this document, the inventors have also devised a computer program comprising computer-readable instructions that, when executed by a computer, cause the computer to perform a method according to at least one of the first and second exemplary aspects described above. The computer program may be stored on a non-transitory computer-readable storage medium (e.g., a CD or Memory Stick) or carried by a signal (e.g., internet download).
[0008] According to a fourth exemplary aspect of this document, the inventors have also designed an apparatus for processing repeated B-scans of an imaging region of a body part obtained by an OCT imaging device to generate cropped B-scans. The imaging region includes anatomical features confined to a first sub-region of the imaging region and a vascular system of interest confined to a second sub-region of the imaging region. The cropped B-scans are used to generate OCT angiography data providing a representation of the vascular system of interest. The apparatus includes a selection module arranged to process each of the repeated B-scans by selecting a corresponding subset of data elements from the data elements of the B-scan, such that the selected data elements are distributed along the representational distribution of the anatomical features in the B-scan. The apparatus also includes a sub-region definition module arranged to process each of the repeated B-scans by using a subset of data elements already selected by the selection module from the data elements of the B-scan to define a corresponding sub-region of interest in the B-scan, the corresponding sub-region of interest including OCT data obtained from the second sub-region containing the vascular system of interest. The device also includes a cropping module arranged to generate cropped B-scans by cropping each B-scan in a repeating B-scan to leave a corresponding sub-region of interest defined for that B-scan by the sub-region definition module.
[0009] According to a fifth exemplary aspect of this document, the inventors have also designed an apparatus for generating optical coherence tomography (OCTA) angiography data that provides a representation of the vascular system in an imaging region of a body part. The apparatus includes a receiver module arranged to receive repeated B-scans of an imaging region of a body part obtained by an OCT imaging device, and an apparatus according to the fourth exemplary aspect described above, arranged to process the received repeated OCT B-scans to generate cropped B-scans. The apparatus for generating OCTA data also includes an OCTA data generation module arranged to generate OCTA data by processing the cropped B-scans. Brief description of the attached diagram
[0010] Exemplary embodiments will now be explained in detail by way of non-limiting example only, with reference to the accompanying drawings described below. Unless otherwise indicated, similar reference numerals appearing in different figures in the drawings may denote the same elements or elements that are functionally similar.
[0011] Figure 1 This is a schematic diagram of an apparatus of an example embodiment herein used for processing repeated OCT B-scans of an imaging region of a body part to generate a cropped B-scan for generating OCT angiography data.
[0012] Figure 2AThis is a schematic diagram of a set of repeated B-scans obtained at different corresponding scan heights.
[0013] Figure 2B It has already been processed by the apparatus of the example embodiment. Figure 2A The diagram shows the corresponding set of clipped repeated B-scans generated by the repeated B-scans.
[0014] Figure 3A It is aimed at Figure 2A The diagram shows one of the scan heights obtained at different times for N repeated B scans.
[0015] Figure 3B It has already been processed by the apparatus of the example embodiment. Figure 3A The diagram shows an N-fold cropped repeated B-scan generated by N repeated B-scans.
[0016] Figure 4 This is a schematic diagram of an apparatus for generating OCTA data of the vascular system in an imaging region representing a body part, including an apparatus for processing repeating OCT B scans of the imaging region according to an example embodiment.
[0017] Figure 5 An example hardware implementation of an example embodiment of a device is shown in a programmable signal processing apparatus.
[0018] Figure 6 It is shown by Figure 4 The flowchart shown is a method for processing repeated OCT B scans to generate OCT data using the apparatus of the example embodiment.
[0019] Figure 7 It is shown Figure 1 The flowchart illustrates how the apparatus of the example embodiment processes repeated B-scans to generate cropped B-scans for generating OCTA data representing the vascular system of interest.
[0020] Figure 8 This is a flowchart illustrating an example process, through which one can... Figure 7 The flowchart shown illustrates the process of selecting a subset of data elements in step S210.
[0021] Figure 9 It shows in Figure 7 In process S210, the process has already been handled by Figure 3A An example of a B-scan example embodiment where the selection module selects a data element.
[0022] Figure 10 This is a flowchart illustrating the process, through which... Figure 7 In process S220, the sub-region definition module of the example embodiment defines the sub-region of interest in scan B.
[0023] Figure 11 The example embodiment shows the sub-region definition module from... Figure 3A The example shown is of a data element selected for modification in a B-scan.
[0024] Figure 12 This is a flowchart illustrating the process by which the trimming module of the example embodiment adjusts... Figure 3B The size of the cropped B-scan 310-1 is shown. Detailed description of example embodiments
[0025] During the acquisition of repeated B-scan sequences to generate OCTA data, movement of the body part relative to the OCT imaging apparatus can cause offsets between B-scans in the sequence, resulting in at least some repeated B-scans covering slightly different cross-sections of the body part. Since the changes in the position of static features of the body part caused by these offsets have an equivalent effect on the output of the OCTA data generation algorithm as changes in the position of moving red blood cells in perfectly aligned repeated B-scans, movement of the body part during the acquisition of repeated B-scans will degrade the quality of the OCTA data and therefore needs to be considered.
[0026] Known OCT imaging devices typically reduce lateral offset between repeated B-scans by tracking changes in the OCT scan position and adjusting the transmission of OCT sample light based on these changes to compensate for deviations between the OCT scan position and the target OCT scan position. Known OCTA data generation software typically employs image registration algorithms to compensate for axial offset between repeated B-scans, and these algorithms can also handle any lateral offset not fully compensated for by the tracking / compensation functions of the OCT imaging device. However, when the axial offset between B-scans is large, the image registration algorithm may fail to converge to the correct result (or may not converge at all). This, in turn, can increase the failure rate of the OCTA data generation software, potentially leading to perceived inaccuracies or incompetence.
[0027] The inventors also recognized that, due to the distribution of vascular systems in the imaging regions of body parts typically encountered in practical OCTA applications, conventional methods of storing repeated OCT B scans for OCTA not only tend to waste data storage resources but also place unnecessarily high demands on the data processing and storage requirements of the OCTA data generation algorithm used to generate OCTA data from B scans. More specifically, the area of the body part covered in repeated B scans is usually much larger than the region of interest containing the vascular system to be mapped by OCTA, and therefore tends to contain a lot of redundant information, the storage and processing of which is unnecessary for OCTA data generation.
[0028] By using examples, in Figure 3A In the retinal B-scan 210-1 shown, the retinal vascular system is contained within the band of the B-scan 210-1, the upper and lower boundaries of which (not shown) roughly correspond to the area in the image. Figure 3A The upper and lower boundaries of the gray area set shown relative to the dark background and near the center of B-scan 210-1 represent the retinal layer comprising the nerve fiber layer (NFL) and retinal pigment epithelium (RPE). The NFL and RPE are represented in B-scan 210-1 as follows: Figure 3A Regions 216 and 217 are shown in the image. The darker areas above and below this band (excluding the choroidal capillary layer and choroid) in B-scan 210-1 are useless for generating OCTA data related to the retinal vascular system. Region 216 includes layers such as, for example, the ganglion cell layer, the inner plexiform layer, and the NFL.
[0029] The inventors have recognized that including OCT data related to these darker areas in B-scan 210-1 causes several problems; it wastes storage resources, slows down the process and may reduce the reliability of the aforementioned registration process (especially when there is a large axial offset between repeated B-scans registered to each other), and the processing of it by the OCTA data generation algorithm unnecessarily consumes valuable processor and memory resources. It should be noted that these problems are not specific to the processing of repeated OCT B-scans of the retina, but also occur in the processing of repeated OCT B-scans of other body parts such as the skin, which can be processed to obtain OCTA data representing the vascular system therein.
[0030] The exemplary embodiments described herein address at least some of the problems discussed above, and will now be described in detail with reference to the accompanying drawings.
[0031] Figure 1This is a schematic diagram of an apparatus 100 according to an exemplary embodiment of this document, arranged to process repeated B-scans 200 of an imaging region of a body part obtained by an OCT imaging apparatus (not shown). The imaging region includes anatomical features confined to and completely occupying a first sub-region of the imaging region. By way of example, the anatomical feature may be a boundary extending through the imaging region to cross an anatomical layer of the imaging region, or alternatively, it may be an extension between a first and a second anatomical layer extending through the imaging region to cross a boundary of the imaging region. The imaging region also includes a vascular system of interest confined to a second sub-region of the imaging region. The first and second sub-regions may overlap or not overlap, but have a spatial relationship known (at least approximately) to each other based on the anatomy of the body part. The apparatus 100 processes the repeated B-scans 200 to generate corresponding cropped B-scans 300 for generating OCT angiography (OCTA) data, which provides a representation of the vascular system of interest.
[0032] By way of example and not limitation, device 100 can process repeated B-scans 200 (as in this example embodiment) of an eye region including a portion of the retina to generate cropped B-scans 300 of a sub-region of that region that also includes that portion of the retina. The cropped B-scans 300 can be stored and shared in a more resource-efficient manner and can allow known OCTA data generation algorithms to generate representations of the retinal vascular system more quickly, while using less working memory. Furthermore, this reduction in OCTA size lowers resource requirements, required memory allocation, and data transfer bandwidth within a given device deployment infrastructure, which can be particularly useful for cloud-based products. However, it should be understood that the B-scan processing techniques described herein are useful not only for processing retinal B-scans but also for processing B-scans of skin or any other body part whose vascular system will be mapped by OCTA.
[0033] Figure 2AA schematic diagram of repeated B-scans 200 processed by device 100 is shown. Each set of N repeated B-scans (also referred to herein as an “imaging slice”) 210 is acquired at a corresponding scan height among a number E scan heights along a first axis 212 (e.g., the x-axis in a Cartesian coordinate system), which is considered to extend within the surface of the approximately planar portion of the retina located in the imaging three-dimensional region of the eye (i.e., the retinal surface adjacent to the vitreous body). Each set 210 of repeated B-scans includes a number N B-scans that have been acquired at different times covering a common two-dimensional region of the retina at the corresponding scan height (which is a slice or cross-section through the imaging three-dimensional region), wherein the common region extends along a second axis 213 (e.g., the y-axis in a Cartesian coordinate system), also within the surface of the retina, and along a third axis 214 (e.g., the z-axis in a Cartesian coordinate system) in the depth direction of the retina (i.e., across the retinal depth from the vitreous body to the choroid and sclera). As in this example embodiment, repeated B-scan 200 can cover an area of the eye, including a portion of the vitreous body, a portion of the retina, and a portion of the sclera, which appear in this order along the z-axis direction of each B-scan.
[0034] Figure 3A This is a schematic diagram of repeated B-scans within a set 210 of a set of N repeated B-scans. Figure 3A The set 210 of N repeated B scans shown contains B scans 210-1 to 210-N that have the same slice across the retina of the eye, but were acquired at different times (e.g., Figure 3A (The spacing between them along the time axis is shown in the figure), which makes the B scans 210-1 to 210-N temporally separated.
[0035] Each of the B scans from 2^10-1 to 2^10-N is defined by a two-dimensional array of data elements. Figure 3AIn this model, each of the B-scans 210-1 to 210-N includes an A-scan arranged along the y-axis of the B-scan (also referred to herein as the "first axis of the B-scan," which coincides with axis 213 in this example), wherein each of the A-scans includes a data element arranged along the z-axis of the B-scan (also referred to herein as the "second axis of the B-scan," which coincides with axis 214 in this example). The value of each data element in any B-scan 210-1 to 210-N provides the corresponding interferometric signal measurement result obtained by the OCT imaging device, and the position of the data element within the B-scan (as specified by the coordinates of the data element along the first axis of the B-scan and the coordinates of the data element along the second axis of the B-scan) indicates the location of the interferometric signal measurement within the three-dimensional imaging region of the eye. Data elements are generally referred to as "pixels" (in a two-dimensional image) or "voxels" (in a three-dimensional volume), and data element values may be referred to as pixel intensity or voxel intensity, or reflectance values.
[0036] Figure 3B This shows that the data processed by device 100 has been processed from... Figure 3A The device 100 generates N cropped B-scans 310-1 to 310-N by performing N repeated OCT B-scans 210-1 to 210-N. The device 100 similarly processes N repeated OCT B-scans obtained for each scan height along the first (x) axis 212 to generate a corresponding set of cropped OCT B-scans.
[0037] The number of repeated B-scans, N, can be any integer greater than or equal to 2. The value of N is typically chosen to balance the competing requirements of the OCTA data generation algorithm handling a sufficiently large number of repeated B-scans, and that repeated B-scans be acquired within the shortest possible time intervals to minimize the adverse effects of eye movement on OCTA data quality. By way of example, in this example embodiment, N = 4. It should be noted that the value of N can, in principle, vary between the set of repeated B-scans 210-1 to 210-N, but is generally common to all repeated B-scans 210-1 to 210-N.
[0038] The number of scan heights, E, is typically an integer greater than or equal to 1. When E is greater than 1, repeated OCT B scans form repeated volumetric scans, also referred to herein as repeated C scans. It should be noted that repeated B scans within repeated C scans can be acquired by the OCT imaging apparatus in any order. For example, repeated B scans for each imaging slice can be acquired before the OCT imaging apparatus acquires repeated B scans for adjacent imaging slices (i.e., at the next scan height along the x-axis). Alternatively, a single B scan or a predetermined number of repeated B scans can be acquired at each consecutive scan height before the repeated B scan acquisition process acquires one or more additional B scans along the first axis 212 of the coordinate system to establish repeated C scans.
[0039] The OCT imaging apparatus used to obtain repetitive volumetric scans is not limited and can be of any type known to those skilled in the art, such as a point-scan OCT imaging system, which acquires OCT images by laterally scanning a laser beam across the eye region. Alternatively, the OCT imaging system can be a parallel acquisition OCT imaging system, such as full-field OCT (FF-OCT) or line-field OCT (LF-OCT), which provides a high A-scan acquisition rate (up to tens of MHz) by illuminating regions or lines on a sample rather than scanning across the eye with a single point. In FF-OCT, a two-dimensional region of the eye is simultaneously illuminated, and the lateral position across the entire region is captured simultaneously using a photodetector array (e.g., a high-speed charge-coupled device (CCD) camera). In the case of a full-field OCT imaging system, it can take the form of, for example, full-field time-domain OCT (FF-TD-OCT) or full-field swept-source OCT (FF-SS-OCT). In FF-TD-OCT, the optical length of the reference arm can vary during scanning to image regions at different depths within the eye. Therefore, each frame captured by the high-speed camera in FF-TD-OCT corresponds to a slice of the eye at a corresponding depth within the eye. In FF-SS-OCT, the sample region is illuminated across the entire field using a swept-frequency source that emits light with wavelengths varying over time. When the wavelength of the swept-frequency source is swept within the range of light wavelengths, the high-speed camera can generate a spectrum for each camera pixel that correlates reflectance information with the light wavelength. Therefore, each frame captured by the camera corresponds to the reflectance information for a single wavelength of the swept-frequency source. When acquiring a frame for each wavelength of the swept-frequency source, the C-scan of the region can be obtained by performing a Fourier transform on the spectrum sample generated by the camera. In Line Field OCT (LF-OCT), a line of illumination can be provided to the sample, and the B-scan can be acquired during imaging. For example, Line Field OCT can be classified as Line Field Time Domain OCT (LF-TD-OCT), Line Field Sweep Source OCT (LF-SS-OCT), or Line Field Spectral Domain OCT (LF-SD-OCT).
[0040] Device 100 can be provided as a stand-alone data processor, such as a PC, laptop computer, tablet computer, etc., which can be communicatively coupled to an OCT imaging device (directly or via a network such as the Internet) to receive repetitive B-scan data from the OCT imaging device. Alternatively, device 100 can be provided as part of an OCT imaging device, which can be of any known type, as described above. Figure 4 As schematically shown, device 100 may be additionally or alternatively provided as part of device 400 for generating OCTA data 500. Figure 4The apparatus 400 of the illustrated example embodiment further includes a receiver module 410 arranged to receive a repeating B-scan 200 of the retina of the eye (or another imaging area of a body part) already acquired by an OCT imaging device. The apparatus 400 also has an OCTA data generation module 420 arranged to generate OCTA data 500 by processing a cropped B-scan 300 generated by the repeating B-scan 200 processed by the apparatus 100.
[0041] like Figure 1 As shown, the device 100 includes a selection module 110, a sub-region definition module 120, and a clipping module 130, which are interconnected and coupled to exchange data, as described below.
[0042] Figure 5 This is a schematic diagram of programmable signal processing hardware 600, which can be configured to process repetitive B-scan 200 using the techniques described herein, and can be used as selection module 110, sub-region definition module 120, and trimming module 130 in an example embodiment. The programmable signal processing hardware 600 can also be configured to provide the functionality of receiver module 410 and OCTA data generation module 420, thereby providing... Figure 4The illustrated example embodiment shows a hardware implementation of the apparatus 400 for generating OCTA data 500. The programmable signal processing apparatus 600 includes a communication interface (I / F) 610 for receiving repeated B-scans 200 and outputting the generated OCTA data 500 and / or a graphical representation of the OCTA data 500 for display on a display such as an LCD screen. The signal processing apparatus 600 also includes a processor (e.g., a central processing unit (CPU) and / or a graphics processing unit (GPU)) 620, working memory 630 (e.g., random access memory), and an instruction storage means 640 storing a computer program 645 comprising computer-readable instructions that, when executed by the processor 620, cause the processor 620 to perform various functions, including those described herein such as the selection module 110, sub-region definition module 120, and clipping module 130, the receiver module 410, and the OCTA data generation module 420. The working memory 630 stores information used by the processor 620 during execution of the computer program 645. Instruction storage device 640 may include a ROM (e.g., in the form of electrically erasable programmable read-only memory (EEPROM) or flash memory) preloaded with computer-readable instructions. Alternatively, instruction storage device 640 may include RAM or a similar type of memory, and computer-readable instructions of computer program 645 may be input to instruction storage device 640 from a computer program product (e.g., a non-transitory computer-readable storage medium 650 in the form of a CD-ROM, DVD-ROM, etc.) or a computer-readable signal 660 carrying computer-readable instructions. In any case, when executed by processor 620, computer program 645 causes processor 620 to perform the method of processing repeated B-scan 200 to generate a trimmed repeated B-scan 300 as described herein. In other words, apparatus 100 of the example embodiment may include computer processor 620 and storage device 640 storing computer-readable instructions that, when executed by computer processor 620, cause computer processor 620 to perform the method of processing repeated B-scan 200 to generate a trimmed B-scan 300 for generating OCTA data 500, as described below.
[0043] However, it should be noted that one or more of the selection module 110, the sub-region definition module 120, and the trimming module 130 (as well as the receiver module 410 and the OCTA data generation module 420, if included) may alternatively be implemented in non-programmable hardware (e.g., application-specific integrated circuits (ASICs) or field-programmable gate arrays (FPGAs)).
[0044] Figure 6This is a flowchart illustrating the method by which the apparatus 400 of this example embodiment processes repeated OCT B scans 200 to generate OCT data 500.
[0045] exist Figure 6 In process S100, as described above, receiver module 410 receives a repeat B scan 200 of the imaging area of a body part (e.g., the retina of the eye) that has already been obtained by the OCT imaging device.
[0046] exist Figure 6 In process S200, the apparatus 100, which forms part of the apparatus 400 for generating OCT data, processes the repeated OCT B scan 200 to generate the cropped repeated B scan 300, as described in more detail below.
[0047] exist Figure 6 In process S300, the OCTA data generation module 420 of device 400 generates OCTA data 500 by processing the cropped repeat B-scan 300. The OCTA data generation module 420 can use any known OCTA data generation method to generate OCTA data 500, such as OCTA data generation methods for split spectral amplitude decorrelation angiography (SSADA), optical microangiography (OMAG), or OCT angiography ratio analysis (OCTARA), or known OCTA data generation methods based on speckle variance, phase variance, or correlation mapping. A review of these types of known OCTA data generation methods is provided in Turgut's "Optical Coherence Tomography Angiography – A General View" (published in *European Ophthalmic Review*, 2016; Vol. 10, No. 1: pp. 39–42), the contents of which are incorporated herein by reference in their entirety.
[0048] Because cropped repeating B-scans 300, each containing only the corresponding region of interest cropped from the original B-scan (rather than the entire repeating B-scan 200, which contains a large amount of additional OCT data from portions of the imaging region that do not contain the vascular system, in addition to the region of interest containing voxels that may detect OCTA signals), are used to generate OCTA data 500, OCT data 500 can be generated more quickly, thanks to the relatively small size of the OCTA volume formed by the cropped repeating B-scans 300. Reducing the OCTA volume also reduces the processor and memory requirements of the OCTA data generation algorithm, as well as the amount of space required to store the OCTA volume for future use, thereby reducing the resource requirements of the deployment infrastructure. The reduction in storage requirements and the resulting reduction in data transfer bandwidth may be particularly beneficial in a cloud-based implementation of device 400.
[0049] Furthermore, since the region of interest in each cropped repeat B-scan 300 is defined in the same way using data elements representing the same anatomical features present in all B-scans 200, as described below, the cropped repeat B-scans 300 typically have a smaller axial offset (along the z-axis of the B-scan) relative to each other than the original repeat B-scan 200. These smaller axial offsets can be corrected quickly and reliably using the image registration algorithms discussed above.
[0050] Figure 7 This is a flowchart that illustrates in more detail how the apparatus 100 of the example embodiment... Figure 6 In process S200, repeated B-scans 200 are processed to generate cropped B-scans 300, which are used to generate OCTA data 500 representing vascular systems of interest in the imaging region. The apparatus 100 attempts to... Figure 7 The processes S210 to S230 and the optional process S240 shown are used to process each B-scan of the repeated B-scan 200 in order to generate a corresponding cropped version of the B-scan. However, it should be noted that due to factors such as image quality, the device 100 may not be able to successfully crop all the input repeated B-scans 200, and some input repeated B-scans 200 may be discarded instead. Figure 7 The following description refers to... Figure 3A The processing of B-scan 210-1 shown is performed by way of example.
[0051] The anatomical features included in the imaging region can be any anatomical layer of the retina that can be identified in B-scan 210-1 using techniques known to those skilled in the art. However, the anatomical features are preferably RPEs, such as... Figure 3AAs shown. The advantage of the RPE is that it has a representation 217 in OCT reflectance B-scans, which exhibits relatively small variations in its geometry (curvature), reflectance intensity, and density across different subjects, and its typical appearance in B-scans allows for its extraction using computationally efficient image processing techniques. By selecting fundamentally invariant anatomical features such as the RPE, the techniques described herein can be used to reliably crop certain regions of interest from B-scans, which are predicted to contain OCT data of the vascular system from a variety of subjects using known OCTA data generation algorithms, without requiring calibration on a subject-by-subject basis.
[0052] refer to Figure 7 In process S210, selection module 110 selects an appropriate subset of data elements from the data elements of B-scan 210-1, such that the data elements in the subset are distributed along the representation of the anatomical features (i.e., the representation of the RPE) in B-scan 210-1, the representation of the RPE being in Figure 3A This is shown at point 217. In other words, the selection module 110 selects a smaller number of data elements from the data elements in the B-scan 210-1 that define the representation 217 of the RPE in a portion of the retina (the remaining unselected data elements do not represent the RPE). The selected data elements have corresponding data element values that satisfy predetermined criteria, such that the selected data elements are distributed along the representation 217 of the RPE (or another anatomical feature) in the B-scan 210-1.
[0053] More in detail, such as Figure 8 The flowchart (which provides how it can be executed) Figure 7 As shown in the example of process S210, in process S212, the selection module 110 determines whether the corresponding value of the data element in B scan 210-1 has a predefined relationship with a predefined threshold (as an example of a predetermined standard). More specifically, as in this example embodiment, the selection module 110 may determine in process S212 whether the corresponding value of the data element in B scan 210-1 is greater than the predefined threshold.
[0054] Then, in Figure 8 In process S214, selection module 110 selects data elements whose values have been determined in process S212 to have a predefined relationship with a threshold, which is set such that at least some of the selected data elements are distributed along the representation 217 of RPE in B scan 210-1. More specifically, as in this example embodiment, selection module 110 can... Figure 8 In process S214, data elements whose values are greater than a predefined threshold are selected for the subset.
[0055] As in this example embodiment, the selection module 110 can select from... Figure 8 In process S214, the row (y-axis) and column (z-axis) values of the selected data elements are saved to a (y, z) coordinate list. The row is the pixel index along the horizontal (first (y-axis)) direction of B-scan 210-1, while the column is the pixel index along the axial (second (z-axis)) direction of B-scan 210-1. The origin can be placed at the top-left corner of B-scan 210-1. Therefore, the column and row indices can be considered as (y, z) coordinates in a Cartesian coordinate system.
[0056] However, it should be noted that the coordinates of the selected data elements (pixels) can be specified in other ways, for example, by rotating the B-scan 210-1 clockwise by 90 degrees before processing, so that in Figure 8 The data elements selected in process S214 may have coordinates different from those described above. The coordinates of the selected data elements can be specified in any coordinate system that allows curve fitting of the anatomical features (RPE of the retina in this example embodiment) in B-scan 210-1. Therefore, the example embodiment may employ alternative coordinate systems for specifying the coordinates of the data elements selected by selection module 110, such as those obtained by rotating the coordinate system of the example embodiment and / or flipping it vertically and / or horizontally. Any affine transformation that preserves the relationship between the positions of the selected data elements in B-scan 210-1 can be applied.
[0057] It should be understood that, in this embodiment, the predefined relationship between data element values and predefined thresholds is given only by way of example, and the predefined relationship can alternatively be, for example, that the data element value is less than (or less than or equal to) the predefined threshold. This alternative form of the predefined relationship can be used if B-scan 210-1 has been reversed to make dark pixels become bright pixels, and vice versa. The predefined relationship between data element values and predefined thresholds can generally be (at least in part) set according to the nature of the B-scan (e.g., how OCT measurements are mapped to data element values), such that the selection module 110, in... Figure 7 The data elements selected in process S210 are distributed along the representation 217 of RPE in B scan 210-1.
[0058] As in this example embodiment, a predefined threshold can be calculated from the data element values of the M data elements forming B-scan 210-1, such that only a predetermined number of n data elements deviate from the average μ of the data element values in B-scan 210-1 by a number of k standard deviations S, where k is set such that at least some of the selected data elements are distributed along the representation distribution of RPE 217 in B-scan 210-1. In this example embodiment, the threshold is calculated by modeling the data element values in B-scan as a statistical distribution of a predetermined type and determining an upper bound on the integral of the distribution (starting from zero) using a known numerical method, which produces a value (Mn). In other words, the threshold is determined such that the n selected data elements of B-scan have data element values higher than the threshold (μ + k·S), where k is a user-configurable parameter that can be set such that at least some pixels of the pixels representing the RPE 217 in B-scan 210-1 are selected. The value of k can be determined by calibration of sample C-scans captured by the OCT imaging device, and the processing is the same for all B-scans 200. The value of k can be determined based on practical requirements, aiming to strike a trade-off between performance and accuracy. One way to perform calibration is to reduce the curve fitting time by decreasing the number of data elements n to a value determined empirically that keeps the curve fitting time below the maximum allowed by the system design. After processing a representative sample C scan, a value of k can be chosen that keeps the curve fitting time below the maximum allowed by the system design. Several such practical considerations will influence the calibration of k.
[0059] In this example embodiment, the data element values (or "pixel intensities") in the B scan are distributed according to a Rayleigh distribution because reflectance is calculated as the modulus of the complex OCT signal generated by the inverse fast Fourier transform of the OCT interferogram from the OCT imaging device. While the threshold could be calculated more accurately by modeling the data element values in the B scan 210-1 as distributed according to a Rayleigh distribution, a Gaussian distribution is assumed instead in this example embodiment, as this allows for determination of the threshold in a more computationally efficient manner and thus provides a good practical trade-off. It should be noted that the distribution of data element values can be modeled using distribution types other than Rayleigh and Gaussian, such as beta, chi-squared, or Poisson distributions (and so on).
[0060] Figure 9 It shows in Figure 7 The process S210 has already been handled by the selection module 110. Figure 3A An example of data element 710 selected by B-scan 210-1. Figure 9As shown, the selected data element 710 provides RPE (in Figure 9 (shown as 217) and NFL (in Figure 9 (216 in the middle) represents both.
[0061] Refer again Figure 7 In process S220, the sub-region definition module 120 uses the data elements selected in process S210 to define the corresponding sub-region of interest in B-scan 210-1, specifically by using the selected data elements to provide a frame of reference for defining the location of the region of interest in B-scan 210-1. Therefore, for B-scan 210-1 of an imaging (physical) region of a body part, which includes anatomical features confined to a first sub-region of the imaging region and the vascular system of interest confined to a second sub-region of the imaging region, in Figure 7 The sub-region of interest defined in process S220 is a sub-region of B-scan 210-1, in which OCT data related to the vascular system of interest is expected to be found (based on common sense about the anatomical structure of the body part). Therefore, the sub-region of interest includes OCT data obtained from a second (physical) sub-region of the imaging area of the body part containing the vascular system of interest. In this way, the sub-region definition module 120 defines the sub-region of interest in B-scan 210-1 using a detectable representation of (preferably unchanged) anatomical features in B-scan 210-1, in which the vascular system of interest is expected to be found (typically detectable only by processing multiple repeated B-scans using known algorithms for generating OCTA data).
[0062] In this example embodiment, where the imaging region of the body part includes the retina of the eye, and the anatomical features include the anatomical layer of the eye (preferably the RPE), the sub-region definition module 120 uses the data elements selected in process S210 to define a sub-region of interest in B-scan 210-1. This sub-region of interest is centered on the RPE along a second axis of B-scan 210-1 (described below), and its size along the second axis is such that the sub-region of interest is contained within the entire cross-section of the retina imaged in B-scan 210-1. Therefore, the sub-region of interest to be cropped from the remainder of B-scan 210-1 that does not contain OCT data useful for OCTA includes OCT data derived from measurements of the retinal vascular system, which (along with OCT data from other repeated scans of the imaging region) will be processed by any known OCTA data generation algorithm to generate a representation of the retinal vascular system in the retinal imaging region.
[0063] When processing each B-scan in the repeated B-scans 200, the sub-region definition module 120 may define a corresponding sub-region of interest in the B-scan using selected data elements in the following manner: (i) using the selected data elements to determine at least one reference position indicator indicating the location of the representation of the RPE (or other selected anatomical feature) in the B-scan, and (ii) defining the corresponding sub-region of interest in the B-scan relative to the location of the representation of the anatomical feature in the B-scan indicated by the at least one reference position indicator. More specifically, as in this example embodiment, when processing each B-scan in the repeated B-scans 200, the sub-region definition module 120 may define a corresponding sub-region of interest in the B-scan using selected data elements in the following manner: (i) using the selected data elements to determine a corresponding reference position indicator indicating the location of the representation of the RPE (or other selected anatomical feature) in the B-scan, and (ii) defining the corresponding sub-region of interest in the B-scan relative to the location of the representation of the anatomical feature in the B-scan indicated by the corresponding reference position indicator.
[0064] Step (i) can be performed in various different ways, for example, by the sub-region definition module 120 determining the average of the coordinate values of the selected data elements along the second (z) axis of the B-scan (i.e., the average of the z-axis coordinate values of the selected data elements) as a reference position indicator for the B-scan being processed. Another example implementation of step (i) used in the example embodiment is described below.
[0065] In step (ii), as in this example embodiment, the sub-region definition module 120 may define a corresponding sub-region of interest in the B-scan as a sub-region of the B-scan, which has a predetermined offset along the second (z) axis of the B-scan relative to a reference position indicator determined for the B-scan (by any technique), and preferably has a fixed size. Typically, the size of the sub-region of interest does not need to be fixed and can vary between at least some processed B-scans.
[0066] Now refer to Figure 10 To describe the process in this example embodiment, through which the sub-region definition module 120 uses... Figure 7 The data elements selected in process S210 are used to... Figure 7 In process S220, the corresponding sub-region of interest in B scan 210-1 is defined. Figure 10 Provides how to execute Figure 7 Example of process S220.
[0067] exist Figure 10In process S221, the sub-region definition module 120 fits a quadratic function to the spatial distribution of the selected data elements within the B-scan 210-1. Figure 9 In example B scan 210-1, the fitted quadratic function is shown by quadratic curve 720. In the case where the anatomical feature is the RPE of the retina, as in this example embodiment, the sub-region definition module 120 preferably performs a quadratic fit on the selected data elements because the RPE in a healthy eye is typically a parabola with positive curvature. However, the sub-region definition module 120 may alternatively use a higher-order polynomial that might overfit the data, or even a less accurate linear fit, to fit the selected data elements. The function used for curve fitting will determine the accuracy of the fit, and therefore the accuracy of the cropping of B scan 210-1 described below. As an implementation... Figure 10 The result of process S221 satisfies the equation z = a1y 2 The values of the coefficients a1, b1, and c1 of +b1y+c1 are determined by the sub-region definition module 120.
[0068] Subregion definition module 120 can evaluate statistical measures of the goodness-of-fit of the function to the spatial distribution of selected data elements in B-scan 210-1 (i.e., such as mean absolute residuals, mean squared residuals, residual standard deviations, or coefficient of determination (R²)). 2 The subregion definition module 120 generates a goodness-of-fit measure and generates a flag or other indicator, which can be stored in device 100 (e.g., in working memory 630) in association with B-scan 210-1. In cases where poor curve fitting is caused by a disease that has distorted the RPE, causing its shape to deviate from the parabolic form expected by all healthy eyes, it indicates that B-scan 210-1 should be examined. For example, choroidal neovascularization (CNV) and age-related macular degeneration (AMD) are diseases that can distort the shape of the retina and thus the RPE. The indicator generated by the subregion definition module 120 can lead to a warning (e.g., in the form of a graphic displayed on a display (e.g., an LCD screen) connected to device 100, or in the form of an audio signal emitted by a speaker connected to device 100) being notified to the user of device 100, prompting the user to examine B-scan 210-1 for signs of disease. This can be performed during... Figure 10 During or after process S221, for example, when the user is examining repeated B scan 200 or the OCTA data 500 generated therefrom, a warning will be notified to the user.
[0069] Assuming the quadratic function provides a satisfactory fit to the spatial distribution of the selected data elements (this can be determined, for example, by evaluating a goodness-of-fit metric of the fitted function and determining that the fit is satisfactory when the evaluated goodness-of-fit metric exceeds a predetermined threshold), then the sub-region definition module 120 defines the sub-region in... Figure 10 The function coefficients a1, b1, and c1 obtained in process S221 can be used to calculate the reference coordinates along the z-axis of B-scan 210-1, which indicate the position of the RPE along this axis of B-scan 210-1. To estimate the top limit of the RPE in B-scan 210-1, the maximum values of z1 and z2 are taken, where z1 = c1 and z2 = a1·(w-1). 2 +b1·(w-1)+c1 are the estimated RPE positions of the leftmost (y=0) and rightmost (y=w-1) columns of B-scan 210-1, respectively. Here, the column index is taken as 0, and the width of B-scan 210-1 (the number of columns, i.e., the number of A-scans) is represented by w. To estimate the bottom boundary of the RPE in B-scan 210-1, the z-value of the column of B-scan 210-1 is obtained, where the derivative of the quadratic curve is minimized. For a healthy retina, due to the positive curvature of the retina, the minimum point will appear at y=-b1 / (2·a1). The sub-region definition module 120 calculates the average of the top and bottom boundaries of the RPE in B-scan 210-1 using reference coordinates along the z-axis of B-scan 210-1.
[0070] More generally, the sub-region definition module 120 can use a fitting function to calculate the corresponding reference coordinates along the second axis of the B scan 210-1 by: determining the maximum value of the fitting function in the interval along the first axis spanned by the A scan of the B scan 210-1, determining the minimum value of the fitting function in the interval along the first axis, and calculating the average of the maximum and minimum values as the reference coordinates.
[0071] Then, the sub-region definition module 120 can define the sub-region of interest in B-scan 210-1 as a sub-region of B-scan 210-1, which has a predetermined size and a predetermined offset along the z-axis of B-scan 210-1 relative to the calculated reference coordinates. The size of the region of interest along the z-axis of B-scan 210-1 and the offset of the region of interest along the z-axis relative to the reference coordinates can be predetermined based on common sense about the anatomy of the eye, and in particular, based on how the vascular system in the retina is typically distributed relative to the RPE in the depth direction of the retina. In this way, the sub-region definition module 120 can define the rectangular sub-region of interest in the form of a band extending horizontally through B-scan 210-1, the upper and lower edges of which are parallel to the y-axis of B-scan 210-1 and span B-scan 210-1, the band having a size and position along the z-axis of B-scan 210-1, such that it contains the OCT data obtained from the second sub-region of the imaging region of the eye discussed above, which contains the retinal vascular system of interest.
[0072] However, in this example embodiment, as from Figure 9 As can be seen from the fitted quadratic curve 720, in Figure 10 The quadratic function executed in process S221 does not provide a satisfactory fit to the spatial distribution of the selected data elements. This is because... Figure 7 Process S210 has caused selection module 110 to select data elements of B-scan 210-1 within region 216, as well as those data elements representing RPE 217, because these regions have data element values that all satisfy the thresholds appropriately used in process S210. Specifically, data elements representing NFL within region 216 are selected because they have data element values very similar to those of RPE 217. This may not be desirable, as including data elements from region 216 along with data elements representing RPE reduces the quality of the quadratic curve fitting performed by sub-region definition module 120. Furthermore, the representation of NFL within region 216 is not constant in OCT B-scans of the retina of different subjects. Therefore, the fitted quadratic curve 720 does not follow the shape of the RPE well, as... Figure 9 As can be seen from this. Therefore, in this case, the process described above for calculating the reference coordinates along the z-axis of B-scan 210-1 will not provide an accurate indication of the position of the RPE (and therefore the center of the retina) along the z-axis of B-scan 210-1.
[0073] However, it should be noted that B scan 210-1 is given by way of example only, and NFL may be less prominent or not present at all in other B scans (depending on the settings of the OCT imaging device), making the sub-region definition module 120 usable in Figure 10 The quadratic curve fitted in process S221 is used to define the sub-region of interest in B scan 210-1, as described above.
[0074] In order to determine a quadratic function that provides a better fit to the representation 217 of RPE in B scan 210-1, the subregion definition module 120 of this example embodiment generates a modified selection of data elements to which the quadratic function can be fitted again.
[0075] Refer again Figure 10 In process S222, the sub-region definition module 120 first calculates the region definition for each A scan in B scan 210-1. Figure 7 In process S210, the error metric of the selected data elements in the A scan is used to generate a modified selection of data elements, where the error metric indicates the spatial distribution of the selected data elements along the A scan. The sub-region definition module 120 references the corresponding data elements in the A scan that correspond to the fitted function values at the A scan coordinates along the first (y) axis of the B scan 210-1, and calculates the corresponding value of the error metric for each A scan in the B scan 210-1. In other words, in Figure 10 The fitted quadratic function obtained in process S221 is evaluated at the coordinates of the first axis of scan B 210-1, where scan A is located. Then, data elements in scan A with second (z)-axis coordinate values are selected as reference data elements, whose second (z)-axis coordinate values best match the value of the fitted quadratic function at the first axis coordinate value where scan A is located. Sub-region definition module 120 calculates the error metric of scan A relative to the reference data elements.
[0076] Error metrics can take one of many suitable forms. For example, as in this example embodiment, an error metric could be the position of a selected data element in scan A (i.e., in...). Figure 7 The normalized mean square error (NMSE) is the corresponding deviation between the positions selected in process S210 and the positions of reference data elements in the A scan. NMSE provides the advantage of allowing the specification of a common threshold for the entire C scan volume. As another example, the error measure can be the sum of the absolute deviations between the positions of the selected data elements in the A scan and the positions of the reference data elements in the A scan. As yet another example, the error measure can be the sum of the squared deviations between the positions of the selected data elements in the A scan and the positions of the reference data elements in the A scan.
[0077] Figure 9 A bar chart 730 shows the NMSE values calculated for scan A in scan B 210-1 based on the position of scan A in scan B 210-1. Figure 9 In the image, bar chart 730 is superimposed on the illustration of B-scan 210-1, wherein the bars of bar chart 730 extend downward from the top edge of B-scan 210-1. Figure 9 The length of the bars in the graph represents the corresponding value of the NMSE and has been scaled by a common scaling factor so that the bar graph 730 fits within the B-scan 210-1 without blurring the selected data elements 710.
[0078] refer to Figure 10 In process S223, the sub-region definition module 120 compares each value of NMSE with the threshold error value and determines whether the value of NMSE exceeds the threshold error value.
[0079] exist Figure 10 In process S224, the sub-region definition module 120 generates the modification selection of data element 810 in B-scan 210-1 in the following manner (see...). Figure 11 For each A scan in B scan 210-1 whose calculated error metric is greater than a threshold error value, select only the data elements from that A scan. Figure 7 The data elements that have been selected in process S210 and are lower than the reference data elements in the A scan. For example... Figure 11 As shown, in Figure 7 In process S210, selected data elements in the A-scan that are already selected and are higher than the reference data elements selected for the A-scan (i.e., those with smaller z-axis coordinate values than the data elements selected for the A-scan) are not included in the modified selection of data elements.
[0080] Figure 11 The image shows the modified selected data element 810 obtained from the data elements of scan B 210-1. For example... Figure 11 As shown, the modified selection of data elements includes those representing RPE, but excludes those representing NFL.
[0081] exist Figure 10 In process S225, the sub-region definition module 120 fits the quadratic function to the region defined in the sub-region definition module. Figure 10 The modification of the selected data elements in process S224 is based on the spatial distribution within the B-scan 210-1. Figure 10 The quadratic function fitted in process S225 is derived from Figure 11 The quadratic curve 820 in the image is represented by this. For example... Figure 11 As shown, the quadratic curve 820 is... Figure 9The quadratic curve 720 shown fits the representation 217 of RPE more closely because a large number of data elements from region 216 (including the representation of NFL) were not included. Figure 10 The modification selection of data element 810 made in process S224. Therefore, it is superimposed on Figure 11 The B-scan 210-1 shows how the calculated NMSE value changes on the B-scan 210-1 using the modified selection of quadratic curve 820 and data element 810 (using the same method as above). Figure 9 The bar chart 830 (scaled vertically (z-axis)) shows that these NMSE values are much lower across the entire B-scan 210-1. As an implementation... Figure 10 The result of process S225 satisfies the equation z = a2y 2 The values of the coefficients a2, b2, and c2 of +b2y+c2 are determined by the sub-region definition module 120.
[0082] At this stage, the sub-region definition module 120 can, as previously described, evaluate a statistical measure of the goodness of fit (fitted in process S225) of the spatial distribution of modifications to the data elements in the B-scan 210-1 to the quadratic function, and generate a flag associated with the B-scan 210-1, indicating that the B-scan 210-1 should be examined more thoroughly if the poor curve fit is caused by a disease that has distorted the RPE, causing its shape to deviate from the parabolic form expected by all healthy eyes. For example, choroidal neovascularization (CNV) and age-related macular degeneration (AMD) are diseases that can distort the shape of the retina and thus the RPE. The flag generated by the sub-region definition module 120 can lead to a warning (e.g., in the form of a graphic displayed on a display (e.g., an LCD screen) connected to the device 100, or in the form of an audio signal emitted by a speaker connected to the device 100) being notified to the user of the device 100, prompting the user to examine the B-scan 210-1 for signs of disease. Figure 10 During or after process S225, for example, when the user is examining the repeated B scan 200 or the OCTA data 500 generated therefrom, a warning will be notified to the user.
[0083] Assume that the quadratic function satisfactorily fits the spatial distribution of the chosen modifications to the data elements (this can be determined by evaluating a goodness-of-fit metric of the fitted function, such as, for example, R0). 2 Or one of the other metrics mentioned above), and for example, determining that the fit is satisfactory when the evaluated goodness-of-fit metric exceeds a predetermined threshold, by the sub-region definition module 120 in Figure 10The function coefficients a2, b2, and c2 obtained in process S225 can be used to calculate the reference coordinates along the z-axis of B-scan 210-1, which indicate the position of RPE along this axis of B-scan 210-1. To estimate the top limit of RPE in B-scan 210-1, the maximum values of z'1 and z'2 are taken, where z'1 = c2 and z'2 = a2·(w-1). 2 +b2·(w-1)+c2 are the estimated RPE locations of the leftmost (y=0) and rightmost (y=w-1) columns of B-scan 210-1, respectively. As mentioned earlier, to estimate the bottom boundary of the RPE in B-scan 210-1, the z-value of the column in B-scan 210-1 is obtained, where the derivative of the quadratic curve is minimized. For a healthy retina, due to the positive curvature of the retina, the minimum point will appear at y=-b2 / (2·a2). The sub-region definition module 120 calculates the average of the top and bottom boundaries of the RPE in B-scan 210-1 using reference coordinates along the z-axis of B-scan 210-1.
[0084] More generally, the sub-region definition module 120 can use a fitting function to define the region. Figure 10 In process S226, the corresponding reference coordinates along the second axis of B scan 210-1 are calculated as follows: the maximum value of the fitting function is determined in the interval along the first axis spanned by the A scan of B scan 210-1, the minimum value of the fitting function is determined in the interval along the first axis, and the average of the maximum and minimum values is calculated as the reference coordinates.
[0085] exist Figure 10 In process S227, the sub-region definition module 120 defines the sub-region of interest in B-scan 210-1 as a sub-region of B-scan 210-1, which has a predetermined size and relative to Figure 10 The reference coordinates calculated in process S226 are offset along the z-axis of scan B210-1 by a predetermined offset. The sub-region of interest is in Figure 11The region of interest 860 is shown as 860. The size of the region of interest 860 along the z-axis of B-scan 210-1 and the offset of the region of interest 860 along the z-axis relative to the reference coordinates can be predetermined based on common sense about the anatomy of the eye, and in particular, based on how the vascular system in the retina is typically distributed relative to the RPE in the depth direction of the retina. In this way, the sub-region definition module 120 can define the rectangular sub-region of interest 860 in the form of a band extending through B-scan 210-1, the upper edge 840 and the lower edge 850 of which are parallel to the y-axis of B-scan 210-1 and span B-scan 210-1, the band having a size and position along the z-axis of B-scan 210-1, such that it contains OCT data obtained from a second sub-region of the imaging region of the eye discussed above, which contains the retinal vascular system of interest.
[0086] The cropping module 130 can define the upper edge 840 as a predefined number α pixels above the reference coordinates and the lower edge 850 as a predefined number β pixels below the reference coordinates. Here, α and β are user-configurable parameters. However, alternatively, they can be determined using a specified top / bottom ratio of the region of interest 860 (i.e., the ratio of the distance between the reference coordinates and the top of the sub-region of interest 860 to the distance between the reference coordinates and the bottom of the sub-region of interest 860) and a specified height. In other words, the desired height of the region of interest 860 (i.e., the cropping height of the B-scan) can be specified, and α and β can be determined to match the specified top / bottom ratio.
[0087] In this example embodiment, for practical reasons, as a trade-off between reduced computational cost and desired curve fitting accuracy, the modified selection of data elements is used only once. However, this refinement can be performed more than once, causing more non-RPE data elements to be discarded using the quadratic curve fitted to subsequently selected data elements.
[0088] Refer again Figure 7 ,exist Figure 7 In step S230, the cropping module 130 generates a cropped B-scan 310-1 by cropping the B-scan 210-1 to leave only the sub-region of interest 860. In other words, the cropped B-scan 310-1 is generated by removing unwanted external regions of the B-scan 210-1 extending upward from the upper edge 840 of the sub-region of interest 860 and unwanted external regions of the B-scan 210-1 extending downward from the lower edge 850 of the sub-region of interest 860.
[0089] exist Figure 7 In the optional process S240, the trimming module 130 now references... Figure 12 The described process adjusts the size of the cropped B-scan 310-1 to a predetermined size.
[0090] exist Figure 12 In process S242, the trimming module 130 determines that... Figure 10 Whether the defined sub-region of interest 860 in process S227 extends along the first axis (or second axis) of B-scan 210-1 to the edge of B-scan 210-1.
[0091] exist Figure 12 In process S244, the trimming module 130 determines whether the size of the trimmed B scan 310-1 along the first axis (or the second axis, depending on the situation) is smaller than a predetermined size.
[0092] If in Figure 12 In process S242, the sub-region of interest 860 has been determined to extend along the first axis (or the second axis, depending on the case) to the edge of B-scan 210-1 and... Figure 12 In process S244, it has been determined that the size of the cropped B-scan 310-1 along the first axis (or the second axis, depending on the situation) is smaller than the predetermined size. Figure 12 In process S246, the trimming module 130 increases the size of the trimmed B-scan 310-1 to a predetermined size by extending the trimmed B-scan 310-1 along the first axis (or the second axis, as appropriate) to have additional data elements (filling) (the data element values of which are based on the noise distribution calculated from the B-scan 210-1).
[0093] To generate a noise distribution, cropping module 130 can sample a region of B scan 210-1, the location of which depends on where fill is to be applied. If fill is required at the top of A scan, cropping module 130 can generate a noise distribution by sampling a region in the vitreous body that does not contain biological artifacts such as "floaters." Image processing can be used to define such regions. For fill at the bottom of A scan, cropping module 130 can perform similar sampling of the choroid region, ensuring that the region used to generate the noise distribution is also free of artifacts such as choroid.
[0094] As an alternative, the cropping module 130 can simply maintain the regions with missing information (pixels that need to be filled) for each cropped B-scan 310-1. These regions can then be used by subsequent algorithms to discard or avoid using the corresponding pixel values during computation.
[0095] In summary, as described above, the apparatus 100 according to an example embodiment allows OCTA data generation software to correct large axial misalignments in OCT B scans while also reducing the size of the OCTA volume for faster processing and reduced memory consumption. Conventional OCTA data generation software typically uses registration to align B scan repetitions before calculating the OCTA signal from repeated frames. Depending on the size of the original B scan, this can be time-consuming, and the registration algorithm may fail to converge in cases of large axial misalignments. According to the example embodiment, these problems are addressed by providing a pre-registration process, through which a set of well-aligned partial B scans is obtained, each B scan centering the retina. Alignment can be further improved by image registration of consecutive partial B scans. Finally, because the original B scans are cropped to produce a retina-centered OCT volume, the new volume contains all the information needed to detect the OCTA flow signal, while all less relevant pixels (e.g., the vitreous body and deeper choroid) without an OCTA flow signal are discarded during cropping. This reduction in the number of voxels in the preprocessed OCT volume reduces the memory and computational requirements of subsequent OCTA data generation algorithms.
[0096] [Modifications and Variations]
[0097] Various modifications can be made to the above embodiments and their variations.
[0098] For example, the order of some processes in the described flowchart can be changed. For example, in Figure 12 In this case, the order of execution processes S242 and S244 can be reversed.
[0099] Furthermore, the above examples are provided only. Figure 7In process S210, the selection module 110 of this example embodiment selects a subset of data elements along the representational distribution of the RPE in B scan 210-1, and this selection can be performed in other ways. For example, the selection module 110 can alternatively be arranged to select a (suitable) subset of data elements from the data elements of B scan 210-1 such that the data elements in the subset are along the representational distribution of anatomical features (e.g., RPE) in B scan 210-1 by segmenting B scan 210-1 into multiple retinal layers using a retinal layer segmentation algorithm, identifying predefined retinal layers in the multiple retinal layers (B scan 210-1 has been segmented into these multiple retinal layers by the retinal layer segmentation algorithm), and selecting data elements in the identified retinal layers for the subset. The retinal layer segmentation algorithm can be one of various image classification algorithms that have been used to automatically segment OCT retinal images into different retinal layers. A review of this algorithm is provided in "A Review of Algorithms for Segmentation of Optical Coherence Tomography from Retina" by R. Kafieh et al. (published in *J Med Signals Sens*, January-March 2013; Vol. 3, No. 1: pp. 45-60), which is incorporated herein by reference. Retina segmentation algorithms can be, for example, any kind of algorithm used for semantic segmentation, providing probabilistic outputs for an m-class classification task. Retina segmentation algorithms can include, for example, convolutional neural networks (CNNs), Gaussian mixture models, random forests, Bayesian classifiers, or support vector machines. In this case, in the method performed by a variant of the apparatus 100 of the example embodiment, the data elements identified as (most likely) belonging to the RPE become a selected subset of the data elements.
[0100] As Figure 7 Another alternative to the implementation of step S210 in this example embodiment can be achieved by selecting a subset of data elements using any known edge detection technique, such that the selected data elements are distributed along the representation of anatomical features in the B-scan. Specifically, the image edge detection method can be used to identify significant changes in reflectance in the B-scan 210-1, which significant changes in... Figure 9The boundaries of RPE 217 can be found at the lower boundary, upper boundary, lower boundary of inner / outer segmental connection 219, upper boundary of inner / outer segmental connection 219 (i.e., lower boundary of region 216), and upper boundary of region 216. The results of edge detection can then be used to identify the upper and lower boundaries of RPE 217, and data elements between the identified boundaries can be selected as a subset. Alternatively, data elements arranged along one of the boundaries of the RPE can be selected as a subset. The identification of one or both boundaries of the RPE in the edge detection results can be achieved in any suitable manner, for example, by using the lowest edge in B-scan 210-1 as the lower boundary of the RPE. The image edge detection method used can be search-based or zero-crossing-based and can be performed using an image processing kernel. For example, the method can be one of Canny, Laplacian, Gaussian Laplacian, Prewitt, Sobel, or Robert edge detection. Machine learning-based edge detection methods can also be used. Furthermore, preprocessing techniques such as edge thinning or noise removal can be used before edge detection.
[0101] The data processing techniques used in the above-described example embodiments and their variations are applicable not only to retinal OCT scans but also more generally to repeated OCT B scans of other body parts that can be processed to generate OCTA data providing a representation of the vascular system in the body part. For example, human or animal skin can serve as another example of a body part whose repeated OCT B scans can be processed using known OCTA data generation techniques to generate OCTA data representing the vascular system in a skin region (e.g., dermis or subcutaneous tissue). For example, repeated OCT B scans of skin covering both the epidermis and dermis can be processed in a manner similar to the retinal B scans of the above-described example embodiments. In this case, the boundary between the dermis and epidermis (typically represented in B scans as the boundary between the B scan area representing the epidermis and the distinctly brighter or darker area below the B scan representing the dermis) can serve as the anatomical feature discussed above (instead of the RPE or other layers of the retina).
[0102] The exemplary aspects described herein avoid the limitations (particularly those rooted in computer technology) of conventional methods and systems used to process OCT B scans to generate OCT angiography (OCTA) data. These typically include a preprocessing stage where image registration algorithms are used to compensate for axial offsets between repeated B scans. Such conventional methods and systems are overly resource-intensive. On the other hand, with the exemplary aspects described herein, OCTA data can be generated in a manner that requires relatively fewer computer processing and memory resources than conventional systems / methods, thus enabling OCTA data generation in a more computationally and resource-efficient manner compared to conventional systems / methods. Moreover, by virtue of the aforementioned capabilities of the exemplary aspects described herein, which are rooted in computer technology, the exemplary aspects described herein improve upon computers and computer processing / functionality, and also improve at least the fields of OCT angiography and data processing, as well as OCT image data processing.
[0103] The following examples E1 to E12 summarize some of the embodiments described above:
[0104] E1. An apparatus 100 for processing repeated B-scans 200 of an imaging region of a body part obtained by an optical coherence tomography (OCT) imaging device to generate a cropped B-scan 300, the imaging region including anatomical features confined to a first sub-region of the imaging region and a vascular system of interest confined to a second sub-region of the imaging region, the cropped B-scan 300 being used to generate OCT angiography data 500 providing a representation of the vascular system of interest, the apparatus 100 comprising:
[0105] Selection module 110 is arranged to process each B scan 210-1 in repeated B scans 200 by selecting a corresponding subset of data elements from the data elements of B scan 210-1 such that the selected data elements are distributed along the representation 217 of the anatomical features in B scan 210-1.
[0106] Sub-region definition module 120 is arranged to process each B-scan 210-1 in repeated B-scans 200 using a subset of data elements already selected by selection module 110 from the data elements of B-scan 210-1, to define a corresponding sub-region of interest 860 in that B-scan 210-1, the corresponding sub-region of interest 860 including OCT data obtained from a second sub-region containing the vascular system of interest; and
[0107] A cropping module 130 is arranged to generate a cropped B-scan 300 by cropping each B-scan 210-1 in the repeated B-scan 200 to leave a corresponding sub-region of interest 860 defined for the B-scan by the sub-region definition module 120.
[0108] E2. According to the device 100 of E1, wherein,
[0109] Body parts include the eyes,
[0110] Imaging areas of body parts include the retina of the eye, and
[0111] Anatomical features include the anatomical layers of the retina.
[0112] E3. According to the device 100 of E2, wherein,
[0113] The anatomical layers of the retina are the retinal pigment epithelium (RPE) and...
[0114] Selection module 110 is arranged to select a corresponding subset of data elements for each B-scan 210-1 in repeated B-scans 200 by determining whether the corresponding values of the data elements in B-scan 210-1 have a predefined relationship with a threshold, and selecting data elements whose values have a predefined relationship with the threshold for the subset, the threshold being set such that at least some of the selected data elements are distributed along the representation 217 of RPE in B-scan 210-1.
[0115] E4. According to the apparatus 100 of E3, wherein the selection module 110 is arranged to process each B-scan 210-1 in the repeated B-scans 200 to calculate a threshold from the data element values in the B-scan 210-1 such that only a predetermined number of data elements are more than k standard deviations from the average value of the data element values in the B-scan 210-1, wherein k is set such that at least some of the selected data elements are distributed along the representation 217 of RPE in the B-scan 210-1, and the selection module 110 is arranged to calculate the threshold by modeling the data element values in the B-scan 210-1 as distributed according to a statistical distribution of a predetermined type.
[0116] E5. The apparatus 100 according to any one of E1 to E4, wherein,
[0117] Each B-scan 210-1 includes an array of A-scans arranged along a first axis 213 of the B-scan 210-1, and each A-scan includes data elements arranged along a second axis 214 of the B-scan.
[0118] Anatomical features include anatomical layers of body parts extending over the first sub-region of the imaging area, and
[0119] The sub-region definition module 120 is arranged to process each B-scan 210-1 in the repeated B-scan 200 by using a subset of data elements already selected from the data elements of the B-scan by the selection module 110, in order to define the corresponding sub-region of interest 860 in the B-scan in the following manner:
[0120] Fit the function to the distribution of the selected data elements within the B-scan;
[0121] Use a fitting function to calculate the corresponding reference coordinates along the second axis 214 of the B-scan 210-1; and
[0122] The corresponding sub-region of interest 860 in B-scan 210-1 is defined as a sub-region of B-scan 210-1, which has a predetermined size and a predetermined offset relative to the calculated corresponding reference coordinates along the second axis 214 of B-scan 210-1.
[0123] E6. According to the device 100 of E5, wherein,
[0124] Body parts include the eyes,
[0125] The imaging area of body parts includes the retina of the eye.
[0126] The anatomical layers include the retinal pigment epithelium (RPE) of the retina, and
[0127] The function is a quadratic function.
[0128] E7. The device 100 according to E3 or E4, wherein,
[0129] Each B-scan 210-1 includes an array of A-scans arranged along a first axis 213 of the B-scan 210-1, and each A-scan includes data elements arranged along a second axis 214 of the B-scan 210-1.
[0130] The sub-region definition module 120 is arranged to process each B-scan 210-1 in the repeated B-scan 200 by using a subset of data elements already selected by the selection module 110 from the data elements of B-scan 210-1, in order to define the corresponding sub-region of interest 860 in B-scan 210-1 in the following manner:
[0131] Fit the function to the distribution of the selected data elements within a B-scan of 210-1;
[0132] For each A scan in B scan 210-1, calculate the corresponding value of the error metric for the selected data element in that A scan, the error metric indicating the distribution of the selected data element along the A scan, and calculate the corresponding value of the error metric for each A scan in B scan 210-1 with reference to the corresponding data element in the A scan, the corresponding data element in the A scan corresponding to the value of the fitting function at the coordinates of the A scan along the first axis 213.
[0133] For each A scan in B scan 210-1, the value of the error metric that has been calculated for the selected data elements in that A scan is compared with the threshold error value;
[0134] By selecting data elements in B scan 210-1 that are lower than the corresponding data elements in A scan from the selected data elements in B scan 210-1 for each A scan where the calculated error metric is greater than the threshold error value, the modified selection of data elements in B scan 210-1 is generated.
[0135] The modification of fitting the function to the data elements is selected based on the distribution within the B-scan 210-1;
[0136] The corresponding reference coordinates along the second axis 214 of the B-scan 210-1 are calculated using a function that fits to the modified selection of the data elements within the B-scan 210-1; and
[0137] The corresponding sub-region of interest 860 in B-scan 210-1 is defined as a sub-region of B-scan, which has a predetermined size and a predetermined offset relative to the calculated corresponding reference coordinates along the second axis 214 of B-scan 210-1.
[0138] E8. The device 100 according to E7, wherein the error measure includes one of the following:
[0139] The normalized mean square error of the deviation between the position of the selected data element in the A scan and the position of the data element in the A scan, where the data element in the A scan corresponds to the value of the fitting function at the A scan coordinate along the first axis 213;
[0140] The sum of the absolute deviations between the position of the selected data element in scan A and the position of the data element in scan A, where the data element in scan A corresponds to the value of the fitting function at the scan coordinates along the first axis 213; and
[0141] The sum of the squared deviations between the position of the selected data element in the A-scan and the position of the data element in the A-scan, where the data element in the A-scan corresponds to the value of the fitted function at the A-scan coordinate along the first axis 213.
[0142] E9. According to the apparatus of E7 or E8, the function is a quadratic function.
[0143] E10. The apparatus 100 according to any one of E5 to E9, wherein the sub-region definition module 120 is arranged to use a fitting function to calculate the corresponding reference coordinates along the second axis 214 of the B-scan in the following manner:
[0144] Determine the maximum value of the fitted function along the interval of the first axis 213 spanned by the A scan of the B scan 210-1;
[0145] Determine the minimum value of the fitted function along the intervals of the first axis 213; and
[0146] Calculate the average of the maximum and minimum values as the corresponding reference coordinates.
[0147] E11. The apparatus 100 according to any one of E1 to E10, wherein,
[0148] Each B-scan 210-1 includes an array of A-scans arranged along a first axis 213 of the B-scan 210-1, and each A-scan includes data elements arranged along a second axis 214 of the B-scan 210-1.
[0149] The cropping module 130 is also configured to:
[0150] Determine whether the defined sub-region of interest 860 extends along one of the first axis 213 and the second axis 214 to the edge of the B-scan 210-1;
[0151] Determine whether the size of the cropped B-scan 310-1 along one of the first axis 213 and the second axis 214 is smaller than a predetermined size; and
[0152] In the case where the sub-region of interest 860 has been determined to extend along one of the first axis 213 and the second axis 214 to the edge of the B-scan, and the size of the clipped B-scan 310-1 along one of the first axis 213 and the second axis 214 has been determined to be smaller than a predetermined size, the size of the clipped B-scan 310-1 is increased to the predetermined size by extending the clipped B-scan 310-1 along one of the first axis 213 and the second axis 214 to have additional data elements, the data element values of which are based on the noise distribution calculated from the B-scan.
[0153] E12. An apparatus 400 for generating optical coherence tomography (OCTA) angiography data 500, the OCTA data 500 providing a representation of the vascular system in an imaging region of a body part, the apparatus 400 comprising:
[0154] Receiver module 410, which is arranged to receive repeated B-scans 200 of the imaging region of a body part obtained by an optical coherence tomography imaging device;
[0155] According to any one of E1 to E11, the device 100 is arranged to process the received repetitive OCT B scan 200 to generate a cropped B scan 300; and
[0156] OCTA data generation module 420 is configured to generate OCTA data 500 by processing cropped B-scan 300.
[0157] In the foregoing description, exemplary aspects have been described with reference to several exemplary embodiments. Therefore, the specification should be considered illustrative rather than restrictive. Similarly, the accompanying drawings, which highlight the functionality and advantages of exemplary embodiments, are presented merely for illustrative purposes. The architecture of the exemplary embodiments is flexible and configurable enough that it can be utilized in ways other than those shown in the drawings.
[0158] In one exemplary embodiment, the software embodiments of the examples presented herein may be provided as computer programs or software, such as one or more programs having instructions or sequences of instructions included or stored in an article of art (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). Programs or instructions on a non-transitory machine-accessible medium, machine-readable medium, instruction storage device, or computer-readable storage device can be used to program a computer system or other electronic device. Machine-readable media or computer-readable media, instruction storage devices, and storage devices 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 gate 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 sequences of instructions 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 this art to refer to software as taking an action or causing a result in one or another form (e.g., program, procedure, process, application, module, unit, logic, etc.). This expression is merely a simplified way of stating that the processing system executes the software to cause the processor to perform actions to produce a result.
[0159] Some embodiments can also be implemented by preparing application-specific integrated circuits, field-programmable gate arrays, or by interconnecting appropriate networks of conventional component circuits.
[0160] Some embodiments include computer program products. A computer program product may be one or more storage media, instruction storage devices, or storage devices on or therein storing instructions that can be used to control or cause a computer or computer processor to perform any of the processes described in the exemplary embodiments herein. Storage media / instruction storage devices / storage devices may, by way of example and without limitation, include optical discs, ROMs, RAMs, EPROMs, EEPROMs, DRAMs, VRAMs, flash memory, flash memory cards, magnetic cards, optical cards, nanosystems, molecular memory integrated circuits, RAID, remote data storage / archiving / warehouse devices, and / or any other type of device suitable for storing instructions and / or data.
[0161] Some implementations stored on 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 entity using the results of the exemplary embodiments described herein. Such software may, without limitation, include device drivers, operating systems, and user applications. Finally, as described above, such computer-readable media or storage devices also include software for performing exemplary aspects of the invention.
[0162] The system's programming and / or software includes software modules for implementing the processes described herein. In some example embodiments herein, the modules comprise software, but in other example embodiments herein, the modules comprise hardware or a combination of hardware and software.
[0163] While several exemplary embodiments of the invention 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 art that various changes in form and detail may be made. Therefore, the invention should not be limited to any of the exemplary embodiments described above, but should be defined solely by the appended claims and their equivalents.
[0164] Furthermore, the purpose of this abstract is to enable patent offices and the general public, as well as scientists, engineers, and practitioners in the art who are particularly unfamiliar with patent or legal terminology or wording, to quickly determine the nature and essence of the technical disclosure of this application based on a cursory examination. The abstract is not intended to limit the scope of the exemplary embodiments presented herein in any way. It should also be understood that any processes recited in the claims need not be performed in the order presented.
[0165] While this specification contains numerous details of specific embodiments, these should not be construed as limiting the scope of any invention or potentially claimed content, but rather as descriptions of features specific to the particular embodiments described herein. Certain features described in this specification within the context of individual 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 individually or in any suitable sub-combination in multiple embodiments. Furthermore, although features may be described above as acting in a particular combination and even initially claimed in this way, one or more features from a claimed combination may be removed from the combination in some cases, and the claimed combination may be for a sub-combination or a variation thereof.
[0166] In some situations, multitasking and parallel processing may be advantageous. Furthermore, the separation of the various components in the above embodiments should not be construed 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.
[0167] Some illustrative embodiments and examples have now been described. It is clear that the foregoing embodiments are illustrative rather than limiting, and have been given by way of example. Specifically, although many examples presented herein relate to specific combinations of apparatus or software elements, these elements can be combined in other ways to achieve the same purpose. Actions, elements, and features discussed in connection with only one embodiment are not intended to exclude similar roles from those embodiments or other embodiments.
[0168] According to embodiments of this disclosure, the following aspects are also provided:
[0169] Project 1): A computer-implemented method that processes repeated B-scans 200 of an imaging region of a body part obtained by an optical coherence tomography (OCT) imaging device to generate cropped B-scans 300, the imaging region including anatomical features confined to a first sub-region of the imaging region and a vascular system of interest confined to a second sub-region of the imaging region, the cropped B-scans 300 being used to generate OCT angiography data 500 providing a representation of the vascular system of interest, the method comprising processing each B-scan 210-1 in the repeated B-scans 200 to generate a corresponding cropped B-scan in the following manner:
[0170] S210 Select a subset of the data elements from the data elements of the B scan 210-1, such that the selected data elements are distributed along the representation 217 of the anatomical features in the B scan 210-1;
[0171] The data elements selected in S220 are used to define a corresponding sub-region of interest 860 in the B-scan 210-1, the corresponding sub-region of interest 860 including OCT data obtained from a second sub-region containing the vascular system of interest; and
[0172] The corresponding cropped B-scan 310-1 described in S230 is generated by cropping the B-scan 210-1 to leave the sub-region of interest 860 in the B-scan.
[0173] Project 2): The computer-implemented method according to Project 1), wherein,
[0174] The body parts include the eyes.
[0175] The imaging area of the body part includes the retina of the eye, and
[0176] The anatomical features include the anatomical layers of the retina.
[0177] Project 3): The computer-implemented method according to Project 2), wherein,
[0178] The anatomical layer of the retina is the retinal pigment epithelium (RPE), and
[0179] Selecting a subset of the data elements in S210 includes determining whether the corresponding values of the data elements in the B-scan 210-1 have a predefined relationship with a threshold in S212, and selecting, in S214, data elements whose values have a predefined relationship with the threshold for the subset, the threshold being set such that at least some of the selected data elements are distributed along the representation 217 of the RPE in the B-scan 210-1.
[0180] Project 4): The computer-implemented method according to Project 3), wherein the threshold is calculated based on the data element values in the B-scan 210-1 such that only a predetermined number of data elements are more than k standard deviations away from the average μ of the data element values in the B-scan 210-1, wherein k is set such that at least some of the selected data elements are distributed along the representation 217 of the RPE in the B-scan 210-1, and the threshold is calculated by modeling the data element values in the B-scan 210-1 as distributed according to a predetermined type of statistical distribution.
[0181] Project 5): A computer-implemented method according to any of the preceding projects, wherein,
[0182] Each B scan 210-1 includes an array of A scans arranged along a first axis 213 of the B scan 210-1, and each A scan includes data elements arranged along a second axis 214 of the B scan 210-1.
[0183] The anatomical features include anatomical layers of the body part confined to the first sub-region of the imaging area.
[0184] The selected data elements are used in S220 to define the corresponding sub-region of interest 860 in the B-scan 210-1 in the following manner:
[0185] Fit the function to the distribution of the selected data elements within the B-scan 210-1;
[0186] The fitting function is used to calculate the corresponding reference coordinates along the second axis of the B-scan 210-1; and
[0187] The corresponding sub-region of interest 860 in the B-scan 210-1 is defined as a sub-region of the B-scan 210-1, which has a predetermined size and a predetermined offset relative to the calculated corresponding reference coordinates along the second axis 214 of the B-scan 210-1.
[0188] Project 6): The computer-implemented method according to Project 5), wherein,
[0189] The body parts include the eyes.
[0190] The imaging area of the body part includes the retina of the eye.
[0191] The anatomical layer includes the retinal pigment epithelium (RPE) of the retina, and
[0192] The function is a quadratic function.
[0193] Project 7): A computer-implemented method according to Project 3) or Project 4), wherein,
[0194] Each B-scan 210-1 includes an array of A-scans arranged along a first axis of the B-scan 210-1, and each A-scan includes data elements arranged along a second axis 214 of the B-scan 210-1.
[0195] The selected data elements are used in S220 to define the corresponding sub-region of interest 860 in the B-scan in the following manner:
[0196] Fit the function S221 to the distribution of the selected data elements within the B scan 210-1;
[0197] For each A scan in the B scan 210-1, S222 calculates a corresponding value of an error metric for the selected data element in the A scan, the error metric indicating the distribution of the selected data element along the A scan, and calculates a corresponding value of the error metric for each A scan in the B scan 210-1 with reference to the corresponding data element in the A scan, the corresponding data element in the A scan corresponding to the value of the fitting function at the coordinates of the A scan along the first axis 213;
[0198] For each A scan of the B scan 210-1, the value of the error metric that has been calculated for the selected data elements in the A scan is compared with the threshold error value S223;
[0199] By selecting data elements from the selected data elements in the B scan 210-1 that are lower than the corresponding data element in the A scan for each A scan in the B scan where the calculated value of the error metric is greater than the threshold error value, the modified selection of data elements in the B scan 210-1 is generated in S224.
[0200] The function is fitted to S225 and the modification of the data elements is selected from the distribution within the B scan 210-1;
[0201] The function of the modified selection of the data element fitted to S226 within the B-scan 210-1 is used to calculate the corresponding reference coordinates along the second axis 214 of the B-scan 210-1; and
[0202] The corresponding sub-region of interest 860 in the B-scan 210-1 is defined as a sub-region of the B-scan 210-1 in S227. This sub-region has a predetermined size and a predetermined offset relative to the calculated corresponding reference coordinates along the second axis 214 of the B-scan 210-1.
[0203] Project 8): The computer-implemented method according to Project 7), wherein the error metric includes one of the following:
[0204] The normalized mean square error of the deviation between the position of the selected data element in the A scan and the corresponding position of the data element in the A scan, wherein the data element in the A scan corresponds to the value of the fitting function at the coordinates of the A scan along the first axis 213;
[0205] The sum of the absolute deviations between the positions of the selected data elements in the A-scan and the positions of the data elements in the A-scan, wherein the data elements in the A-scan correspond to the values of the fitting function at the coordinates of the A-scan along the first axis 213; or
[0206] The sum of the squared deviations between the corresponding positions of the selected data elements in the A-scan and the positions of the data elements in the A-scan, wherein the data elements in the A-scan correspond to the values of the fitting function at the coordinates of the A-scan along the first axis 213.
[0207] Project 9): The computer-implemented method according to Project 7) or Project 8), wherein the function is a quadratic function.
[0208] Item 10): A computer-implemented method according to any one of Items 5) to 9), wherein using the fitting function to calculate the corresponding reference coordinates along the second axis 214 of the B-scan 210-1 includes:
[0209] Determine the maximum value of the fitting function in the interval along the first axis 213 spanned by the A scan of the B scan 210-1;
[0210] Determine the minimum value of the fitted function within the interval along the first axis 213; and
[0211] The average of the maximum and minimum values is calculated as the reference coordinate.
[0212] Project 11): A computer-implemented method according to any of the preceding projects, wherein,
[0213] Each B scan 210-1 includes an array of A scans arranged along a first axis 213 of the B scan 210-1, and each A scan includes data elements arranged along a second axis 214 of the B scan 210-1.
[0214] The method further includes:
[0215] Determine whether the defined sub-region of interest 860 extends along one of the first axis 213 and the second axis 214 to the edge of the B-scan 210-1;
[0216] Determine whether the size of the cropped B-scan 310-1 along one of the first axis 213 and the second axis 214 is less than a predetermined size; and
[0217] If it has been determined that the sub-region of interest 860 extends along one of the first axis 213 and the second axis 214 to the edge of the B-scan 210-1 and it has been determined that the size of the clipped B-scan 310-1 along one of the first axis 213 and the second axis 214 is less than the predetermined size, the size of the clipped B-scan 310-1 is increased to the predetermined size by extending the clipped B-scan 310-1 along one of the first axis 213 and the second axis 214 to have additional data elements, the data element values of which are based on the noise distribution calculated from the B-scan 210-1.
[0218] Project 12): A computer-implemented method for generating optical coherence tomography (OCTA) data 500, the OCTA data 500 providing a representation of vascular systems of interest in an imaging region of a body part, the method comprising:
[0219] Receive 100 repeated B-scans 200 of the imaging region of the body part obtained by an optical coherence tomography imaging device;
[0220] Process the repeated B-scan 200 of S200 according to the method described in any of the foregoing items to generate a corresponding cropped B-scan 300; and
[0221] The OCTA data 500 is generated by processing the cropped B-scan 300.
[0222] Item 13): A non-transitory computer-readable storage medium storing a computer program 645 comprising computer-readable instructions that, when executed by a processor 620, cause the processor 620 to perform the method according to any one of the preceding items.
Claims
1. A computer-implemented method that processes repeated B-scans (200) of an imaging region of an eye obtained by an optical coherence tomography (OCT) imaging device to generate cropped B-scans (300), the imaging region including the retina of the eye and including anatomical features confined to a first sub-region of the imaging region and vascular systems of interest confined to a second sub-region of the imaging region, the cropped B-scans (300) being used to generate OCT angiography data (500) providing a representation of the vascular systems of interest, the method comprising processing each B-scan (210-1) in the repeated B-scans (200) to generate a corresponding cropped B-scan by: (S210) Select (S210) a subset of the data elements from the data elements of the B scan (210-1) arranged in a two-dimensional array, such that the data elements in the subset are distributed along the representation (217) of the anatomical feature in the B scan (210-1); The selected data elements (S220) are used to define a corresponding sub-region of interest (860) in the B-scan (210-1), the corresponding sub-region of interest (860) comprising OCT data obtained from a second sub-region containing the vascular system of interest; and The corresponding cropped B-scan (310-1) is generated (S230) by cropping the B-scan (210-1) to leave the sub-region of interest (860) in the B-scan; wherein, The anatomical features include the retinal pigment epithelium (RPE) of the retina, and Selecting (S210) a subset of the data elements includes determining (S212) whether the corresponding values of the data elements in the B scan (210-1) have a predefined relationship with a threshold, and selecting (S214) data elements whose values have a predefined relationship with the threshold for the subset, the threshold being set such that at least some of the selected data elements are distributed along the representation (217) of the RPE in the B scan (210-1).
2. The computer-implemented method according to claim 1, wherein, The threshold is calculated based on the data element values in the B-scan (210-1) such that only a predetermined number of data elements are more than k standard deviations away from the average value μ of the data element values in the B-scan (210-1), where k is set such that at least some of the selected data elements are distributed along the representation (217) of the RPE in the B-scan (210-1), and the threshold is calculated by modeling the data element values in the B-scan (210-1) as distributed according to a predetermined type of statistical distribution.
3. The computer-implemented method according to claim 1 or claim 2, wherein, Each B scan (210-1) includes an array of A scans arranged along a first axis (213) of the B scan (210-1), and each A scan includes data elements arranged along a second axis (214) of the B scan (210-1). The selected data elements are used (S220) to define the corresponding sub-region of interest (860) in the B-scan (210-1) in the following manner: Fit the function to the distribution of the selected data elements within the B-scan (210-1); The fitting function is used to calculate the corresponding reference coordinates along the second axis of the B-scan (210-1); and The corresponding sub-region of interest (860) in the B-scan (210-1) is defined as a sub-region of the B-scan (210-1), which has a predetermined size and a predetermined offset relative to the calculated corresponding reference coordinates along the second axis (214) of the B-scan (210-1).
4. The computer-implemented method according to claim 3, wherein, The function is a quadratic function.
5. The computer-implemented method according to claim 1 or claim 2, wherein, Each B scan (210-1) includes an array of A scans arranged along a first axis of the B scan (210-1), and each A scan includes data elements arranged along a second axis (214) of the B scan (210-1). The selected data elements are used (S220) to define the corresponding sub-region of interest in the B-scan in the following manner (860): Fit the function (S221) to the distribution of the selected data elements within the B-scan (210-1); For each A scan in the B scan (210-1), calculate (S222) a corresponding value of an error metric for the selected data element in the A scan, the error metric indicating the distribution of the selected data element along the A scan, and calculate a corresponding value of the error metric for each A scan in the B scan (210-1) with reference to the corresponding data element in the A scan, the corresponding data element in the A scan corresponding to the value of the fitting function at the coordinates of the A scan along the first axis (213); For each A scan of the B scan (210-1), the value of the error metric that has been calculated for the selected data element in the A scan is compared with the threshold error value (S223). By selecting data elements from the selected data elements in the B scan (210-1) that are lower than the corresponding data elements in the A scan for each A scan in the B scan where the calculated value of the error metric is greater than the threshold error value, a modified selection of data elements in the B scan (210-1) is generated (S224). The function is fitted (S225) to the distribution of the data elements selected within the B-scan (210-1); The function of the modified selection of the data elements fitted to the B-scan (210-1) is used (S226) to calculate the corresponding reference coordinates along the second axis (214) of the B-scan (210-1); and The corresponding sub-region of interest (860) in the B-scan (210-1) is defined (S227) as a sub-region of the B-scan (210-1), which has a predetermined size and a predetermined offset relative to the calculated corresponding reference coordinates along the second axis (214) of the B-scan (210-1).
6. The computer-implemented method according to claim 5, wherein, The error metric includes one of the following: The normalized mean square error of the deviation between the position of the selected data element in the A scan and the corresponding position of the data element in the A scan, wherein the data element in the A scan corresponds to the value of the fitting function at the coordinates of the A scan along the first axis (213); the sum of the absolute deviations between the position of the selected data element in the A scan and the position of the data element in the A scan, wherein the data element in the A scan corresponds to the value of the fitting function at the coordinates of the A scan along the first axis (213); or The sum of the squared deviations between the corresponding positions of the selected data elements in the A-scan and the positions of the data elements in the A-scan, wherein the data elements in the A-scan correspond to the values of the fitting function at the coordinates of the A-scan along the first axis (213).
7. The computer-implemented method according to claim 5, wherein, The function is a quadratic function.
8. The computer-implemented method according to claim 6, wherein, The function is a quadratic function.
9. The computer-implemented method according to claim 3, wherein, Calculating the corresponding reference coordinates along the second axis (214) of the B-scan (210-1) using the fitting function includes: Determine the maximum value of the fitting function in the interval along the first axis (213) spanned by the A scan of the B scan (210-1); Determine the minimum value of the fitted function within the interval along the first axis (213); and The average of the maximum and minimum values is calculated as the reference coordinate.
10. The computer-implemented method according to claim 4, wherein, Calculating the corresponding reference coordinates along the second axis (214) of the B-scan (210-1) using the fitting function includes: Determine the maximum value of the fitting function in the interval along the first axis (213) spanned by the A scan of the B scan (210-1); Determine the minimum value of the fitted function within the interval along the first axis (213); and The average of the maximum and minimum values is calculated as the reference coordinate.
11. The computer-implemented method according to claim 5, wherein, Using (S226) the function of the modified selection of the data element to fit to the distribution within the B-scan (210-1) to calculate the corresponding reference coordinates along the second axis (214) of the B-scan (210-1) includes: Determine the maximum value of the fitted function in the interval along the first axis (213) spanned by the A scan of the B scan (210-1); Determine the minimum value of the fitted function within the interval along the first axis (213); and The average of the maximum and minimum values is calculated as the reference coordinate.
12. The computer-implemented method according to any one of claims 6-8, wherein, Using (S226) the function of the modified selection of the data element to fit to the distribution within the B-scan (210-1) to calculate the corresponding reference coordinates along the second axis (214) of the B-scan (210-1) includes: Determine the maximum value of the fitted function in the interval along the first axis (213) spanned by the A scan of the B scan (210-1); Determine the minimum value of the fitted function within the interval along the first axis (213); and The average of the maximum and minimum values is calculated as the reference coordinate.
13. The computer-implemented method according to claim 1 or claim 2, wherein, Each B scan (210-1) includes an array of A scans arranged along a first axis (213) of the B scan (210-1), and each A scan includes data elements arranged along a second axis (214) of the B scan (210-1). The method further includes: Determine whether the defined sub-region of interest (860) extends along one of the first axis (213) and the second axis (214) to the edge of the B scan (210-1); Determine whether the size of the cropped B-scan (310-1) along one of the first axis (213) and the second axis (214) is less than a predetermined size; and If it has been determined that the sub-region of interest (860) extends along one of the first axis (213) and the second axis (214) to the edge of the B-scan (210-1) and it has been determined that the size of the cropped B-scan (310-1) along one of the first axis (213) and the second axis (214) is less than the predetermined size, the size of the cropped B-scan (310-1) is increased to the predetermined size by extending the cropped B-scan (310-1) along one of the first axis (213) and the second axis (214) to have additional data elements, wherein the data element values of the additional data elements are based on the noise distribution calculated from the B-scan (210-1).
14. The computer-implemented method according to claim 3, wherein, The method further includes: Determine whether the defined sub-region of interest (860) extends along one of the first axis (213) and the second axis (214) to the edge of the B scan (210-1); Determine whether the size of the cropped B-scan (310-1) along one of the first axis (213) and the second axis (214) is less than a predetermined size; and If it has been determined that the sub-region of interest (860) extends along one of the first axis (213) and the second axis (214) to the edge of the B-scan (210-1) and it has been determined that the size of the cropped B-scan (310-1) along one of the first axis (213) and the second axis (214) is less than the predetermined size, the size of the cropped B-scan (310-1) is increased to the predetermined size by extending the cropped B-scan (310-1) along one of the first axis (213) and the second axis (214) to have additional data elements, wherein the data element values of the additional data elements are based on the noise distribution calculated from the B-scan (210-1).
15. The computer-implemented method according to any one of claims 4 and 6-11, wherein, The method further includes: Determine whether the defined sub-region of interest (860) extends along one of the first axis (213) and the second axis (214) to the edge of the B scan (210-1); Determine whether the size of the cropped B-scan (310-1) along one of the first axis (213) and the second axis (214) is less than a predetermined size; and If it has been determined that the sub-region of interest (860) extends along one of the first axis (213) and the second axis (214) to the edge of the B-scan (210-1) and it has been determined that the size of the cropped B-scan (310-1) along one of the first axis (213) and the second axis (214) is less than the predetermined size, the size of the cropped B-scan (310-1) is increased to the predetermined size by extending the cropped B-scan (310-1) along one of the first axis (213) and the second axis (214) to have additional data elements, wherein the data element values of the additional data elements are based on the noise distribution calculated from the B-scan (210-1).
16. The computer-implemented method according to claim 5, wherein, The method further includes: Determine whether the defined sub-region of interest (860) extends along one of the first axis (213) and the second axis (214) to the edge of the B scan (210-1); Determine whether the size of the cropped B-scan (310-1) along one of the first axis (213) and the second axis (214) is less than a predetermined size; and If it has been determined that the sub-region of interest (860) extends along one of the first axis (213) and the second axis (214) to the edge of the B-scan (210-1) and it has been determined that the size of the cropped B-scan (310-1) along one of the first axis (213) and the second axis (214) is less than the predetermined size, the size of the cropped B-scan (310-1) is increased to the predetermined size by extending the cropped B-scan (310-1) along one of the first axis (213) and the second axis (214) to have additional data elements, wherein the data element values of the additional data elements are based on the noise distribution calculated from the B-scan (210-1).
17. The computer-implemented method according to claim 12, wherein, The method further includes: Determine whether the defined sub-region of interest (860) extends along one of the first axis (213) and the second axis (214) to the edge of the B scan (210-1); Determine whether the size of the cropped B-scan (310-1) along one of the first axis (213) and the second axis (214) is less than a predetermined size; and If it has been determined that the sub-region of interest (860) extends along one of the first axis (213) and the second axis (214) to the edge of the B-scan (210-1) and it has been determined that the size of the cropped B-scan (310-1) along one of the first axis (213) and the second axis (214) is less than the predetermined size, the size of the cropped B-scan (310-1) is increased to the predetermined size by extending the cropped B-scan (310-1) along one of the first axis (213) and the second axis (214) to have additional data elements, wherein the data element values of the additional data elements are based on the noise distribution calculated from the B-scan (210-1).
18. A computer-implemented method for generating optical coherence tomography (OCTA) data (500), the OCTA data (500) providing a representation of vascular systems of interest in an imaging region of the eye, the method comprising: Receive (S100) a repeated B-scan (200) of the imaging region of the eye obtained by the optical coherence tomography imaging device; The repeated B-scan (200) is processed (S200) according to the method of any of the preceding claims to generate a corresponding cropped B-scan (300). as well as The OCTA data (500) is generated by processing the cropped B-scan (300).
19. A non-transitory computer-readable storage medium storing a computer program (645) comprising computer-readable instructions that, when executed by a processor (620), cause the processor (620) to perform the method according to any one of the preceding claims.
20. An apparatus (100) for processing repeated B-scans (200) of an imaging region, the imaging region being an imaging region of the eye obtained by an optical coherence tomography (OCT) imaging apparatus, for generating a cropped B-scan (300), the imaging region including the retina of the eye and including anatomical features confined to a first sub-region of the imaging region and a vascular system of interest confined to a second sub-region of the imaging region, the cropped B-scan (300) being used to generate OCT angiography data (500) providing a representation of the vascular system of interest, the apparatus (100) comprising: Selection module (110) is arranged to process each B scan (S210-1) in the repeated B scan (200) by selecting a corresponding subset of the data elements from the data elements of the B scan (210-1) arranged in a two-dimensional array such that the data elements in the subset are distributed along the representation (217) of the anatomical feature in the B scan (210-1). A sub-region definition module (120) is arranged to process each B-scan (210-1) of the repeated B-scans (200) using a subset of data elements already selected by the selection module (110) from the data elements of the B-scans (210-1) to define a corresponding sub-region of interest (860) in the B-scans (210-1), the corresponding sub-region of interest (860) comprising OCT data obtained from a second sub-region containing the vascular system of interest; as well as A cropping module (130) is arranged to generate a cropped B-scan (300) by cropping each B-scan (210-1) in the repeated B-scans (200) to leave the corresponding sub-region of interest (860) defined for the B-scan by the sub-region definition module (120); wherein, The anatomical features include the retinal pigment epithelium (RPE) of the retina, and The selection module (110) is arranged to select a corresponding subset of the data elements for each B-scan (210-1) in the repeated B-scan (200) by determining whether the corresponding values of the data elements in the B-scan (210-1) have a predefined relationship with a threshold, and selecting data elements whose values have a predefined relationship with the threshold for the subset, wherein the threshold is set such that at least some of the selected data elements are distributed along the representation (217) of the RPE in the B-scan (210-1).
21. The apparatus (100) according to claim 20, wherein, The selection module (110) is arranged to process each B-scan (210-1) in the repeated B-scans (200) to calculate the threshold from the data element values in the B-scan (210-1) such that only a predetermined number of data elements are more than k standard deviations away from the average μ of the data element values in the B-scan (210-1), where k is set such that at least some of the selected data elements are distributed along the representation (217) of the RPE in the B-scan (210-1), and the selection module (110) is arranged to calculate the threshold by modeling the data element values in the B-scan (210-1) as distributed according to a predetermined type of statistical distribution.
22. The apparatus (100) according to claim 20 or claim 21, wherein, Each B scan (210-1) includes an array of A scans arranged along a first axis (213) of the B scan (210-1), and each A scan includes data elements arranged along a second axis (214) of the B scan (210-1). The sub-region definition module (120) is arranged to process each B-scan (210-1) in the repeated B-scans (200) by using a subset of data elements that have been selected from the data elements of the B-scan by the selection module (110) to define the corresponding sub-region of interest (860) in the B-scan in such a way as follows: Fit the function to the distribution of the selected data elements within the B-scan (210-1); The fitting function is used to calculate the corresponding reference coordinates along the second axis of the B-scan (210-1); and The corresponding sub-region of interest (860) in the B-scan (210-1) is defined as a sub-region of the B-scan (210-1), which has a predetermined size and a predetermined offset relative to the calculated corresponding reference coordinates along the second axis (214) of the B-scan (210-1).
23. An apparatus (400) for generating optical coherence tomography (OCTA) data (500), the OCTA data (500) providing a representation of the vascular system in an imaging region of the eye, the apparatus (400) comprising: Receiver module (410), the receiver module being arranged to receive repeated B-scans (200) of the imaging region of the eye obtained by an optical coherence tomography imaging device. The apparatus (100) according to any one of claims 20-22 is arranged to process the received repeated B-scans (200) to generate a cropped B-scan (300); and An OCTA data generation module (420) is arranged to generate the OCTA data (500) by processing the cropped B-scan (300).