Method for calculating blood oxygen saturation of blood vessels based on multispectral fundus image

By constructing vascular skeletons and topologies using multispectral fundus images and combining them with an intensity ratio compensation mechanism, the problem of insufficient accuracy and stability in blood oxygen detection in existing technologies has been solved. This achieves high-precision and intuitive display of blood oxygen distribution, improving the accuracy of blood oxygen measurement and user experience.

CN122030964BActive Publication Date: 2026-07-07CHONGQING BIO NEWVISION MEDICAL EQUIP LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHONGQING BIO NEWVISION MEDICAL EQUIP LTD
Filing Date
2026-04-20
Publication Date
2026-07-07

AI Technical Summary

Technical Problem

Existing image-based blood oxygenation detection technologies have low precision in extracting vascular regions, fail to accurately analyze the vascular skeleton and topology, do not incorporate multi-wavelength light intensity compensation in optical density calculations, and do not perform differentiated processing for the optic disc region, resulting in poor accuracy and stability of blood oxygenation detection results.

Method used

Multispectral fundus images were used to acquire fundus images at wavelengths of 548nm and 605nm, constructing vascular skeleton images and topological maps. Optical density was calculated through an intensity ratio compensation mechanism, and abnormal data were filtered to generate a color blood oxygen saturation distribution map.

Benefits of technology

It improves the accuracy of vascular localization and optical density calculation, provides an intuitive display of blood oxygen distribution images, enhances user experience and diagnostic flexibility, and improves the stability and accuracy of blood oxygen measurement results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122030964B_ABST
    Figure CN122030964B_ABST
Patent Text Reader

Abstract

The embodiment of the specification provides a blood vessel blood oxygen saturation calculation method based on a multispectral fundus image. The method introduces blood vessel skeleton extraction and blood vessel topology graph construction, and realizes fine description of the blood vessel structure. Based on the blood vessel topology graph, the blood vessel radius is adaptively calculated, the positioning accuracy of the blood vessel is improved, and a more accurate pixel value basis is provided for subsequent blood vessel inside and outside pixel value calculation. The method introduces a light intensity ratio compensation mechanism. In the 548nm optical density calculation, the 605nm blood vessel outside pixel value is converted into equivalent 548nm incident light intensity through the pre-calibrated light intensity ratio, the difference in reflection characteristics of different wavelengths of the tissue is eliminated, the accuracy of the optical density calculation result is improved, and the accuracy of the blood oxygen saturation calculation result is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to the field of blood oxygen saturation measurement, and in particular to a method for calculating vascular blood oxygen saturation based on multispectral fundus images. Background Technology

[0002] Existing image-based blood oxygenation detection technologies, such as patent application CN117351009B – "Method and System for Generating Blood Oxygen Saturation Data Based on Multispectral Fundus Images," mostly use single or conventional dual-wavelength images. These technologies have low precision in extracting vascular regions, fail to accurately analyze the vascular skeleton and topology, leading to blurred distinctions between pixel values ​​inside and outside the blood vessels. Furthermore, they do not incorporate multi-wavelength intensity compensation in optical density calculations and do not perform differentiated processing for the optic disc region, resulting in optical density calculation errors. Finally, they do not screen abnormal data during blood oxygenation value extraction, resulting in poor accuracy and stability of the final detection results.

[0003] The information in the background section is merely information known only to the inventor and does not imply that such information had entered the public domain before the date of this application, nor does it imply that it can be considered prior art in this disclosure. Summary of the Invention

[0004] This specification provides a method for calculating vascular oxygen saturation based on multispectral fundus images, which at least partially solves the aforementioned problems existing in the prior art.

[0005] The following technical solution is adopted in this specification:

[0006] This specification provides a method for calculating vascular oxygen saturation based on multispectral fundus images, the method comprising:

[0007] Acquire fundus images of the target tissue at a first spectral wavelength of 548 nm and a second spectral wavelength of 605 nm.

[0008] Based on the first and second spectral fundus images, a vascular skeleton image and a vascular topology map are constructed.

[0009] Based on the aforementioned vascular topology map, the location and radius of each vascular segment are determined;

[0010] In the first and second spectral fundus images, pixel-by-pixel calculations are performed on each blood vessel segment to obtain the intravascular and extravascular pixel values ​​for each blood vessel pixel; wherein, the sampling area radius of the intravascular and extravascular pixel values ​​is calculated from the blood vessel radius of the corresponding blood vessel;

[0011] The optical density of each blood vessel pixel in the first and second spectral fundus images is calculated based on the intravascular and extravascular pixel values ​​of the blood vessel pixels. When calculating the optical density of each blood vessel pixel in the first spectral fundus image, a calibration value is calculated using the ratio of the extravascular pixel value of the blood vessel pixels in the second spectral fundus image to the light intensity of the first and second spectral fundus images. The calibration value is then used as the extravascular pixel value of each blood vessel pixel in the first spectral fundus image.

[0012] Calculate the optical density ratio of each blood vessel pixel in the first and second spectral fundus images, and calculate the blood oxygen saturation of each blood vessel pixel based on the optical density ratio to obtain a blood oxygen saturation distribution map.

[0013] Optionally, based on the first and second spectral fundus images, a vascular skeleton image and a vascular topology map are constructed, specifically including:

[0014] The first and second spectral fundus images are processed for blood vessel segmentation to generate first and second binarized blood vessel images;

[0015] The first and second binarized blood vessel images are subjected to skeletonization processing to obtain the first and second blood vessel skeleton images;

[0016] The first and second vascular skeleton images are registered to obtain the vascular skeleton image.

[0017] Analyze the vascular skeleton image, select the branch points and endpoints of the blood vessels as nodes, and use the continuous pixel sequence connecting two nodes as edges to construct the vascular topology graph consisting of a set of nodes and a set of edges.

[0018] Optionally, the width of the vascular skeleton in the first and second vascular skeleton images is a single pixel width.

[0019] Optionally, the first and second vascular skeleton images are registered to obtain the vascular skeleton image, specifically including:

[0020] Extract all blood vessel pixels from the first blood vessel skeleton image to obtain the source point set;

[0021] Extract all blood vessel pixels from the second blood vessel skeleton image to obtain the target point set;

[0022] The source point set and the target point set are registered using an iterative latest point algorithm to obtain the optimal rigid body transformation matrix;

[0023] The source point set is transformed using the optimal rigid body transformation matrix, and the transformed source point set is merged with the target point set. The vascular skeleton image is then reconstructed based on the merged point set.

[0024] Optionally, based on the vascular topology map, determine the vascular radius of each segment of blood vessel, specifically including:

[0025] In the vascular topology map, take every consecutive vascular pixel points as a segment to determine the vascular direction vector;

[0026] Determine the unit normal vector according to the vascular direction vector;

[0027] Determine two boundary points of the blood vessel according to the intersection points of the extension line of the unit normal vector and the blood vessel in the vascular topology map;

[0028] Based on the two boundary points, determine the blood vessel diameter, and further obtain the blood vessel radius.

[0029] Optionally, the method further includes:

[0030] Associate and store the vascular pixel point coordinates of each segment of blood vessel in the vascular topology map with the blood vessel radius of this segment.

[0031] Optionally, in the first and second spectral fundus images, perform per-vascular-pixel-point calculation on each segment of blood vessel to obtain the pixel values inside and outside the blood vessel for each vascular pixel point, specifically including:

[0032] Query the corresponding blood vessel radius r according to the coordinates of the current vascular pixel point, and determine the first radius R1, where r < R1 < 3r;

[0033] Taking the current vascular pixel point as the center, draw a circle with the first radius R1 to obtain the first circular region; perform dilation processing on the vascular skeleton, where the dilation radius of the vascular skeleton is less than the blood vessel radius r; count the vascular pixel points that are simultaneously inside the first circular region, inside the blood vessel, and outside the dilated vascular skeleton, and take the pixel value average of these vascular pixel points as the pixel value inside the blood vessel for the current vascular pixel point ;

[0034] Query the corresponding blood vessel radius r according to the coordinates of the current vascular pixel point, and determine the second radius R2, where R2 > R1 and r < R2 < 3r;

[0035] Taking the current vascular pixel point as the center, draw a circle with the second radius R2 to obtain the second circular region; perform dilation processing on the blood vessel, where the dilated blood vessel radius is r*, and r < r* < R2; count the vascular pixel points that are simultaneously inside the second circular region and outside the dilated blood vessel, and take the pixel value average of these vascular pixel points as the pixel value outside the blood vessel for the current vascular pixel point 。

[0036] Optionally, the method further includes:

[0037] Based on a preset mapping rule, the blood oxygen saturation of the blood vessel pixels in the blood oxygen saturation distribution map is mapped to color values ​​to obtain a color blood oxygen saturation distribution map.

[0038] Optionally, the method further includes:

[0039] Based on the user's selection, the region of interest of the user is extracted from the blood oxygen saturation distribution map;

[0040] Calculate the mean blood oxygen saturation of the blood vessel pixels in the region of interest. and standard deviation ;

[0041] Will satisfy Blood vessel pixels are removed as abnormal points. This indicates the blood oxygen saturation of the blood vessel pixels;

[0042] The mean value of the blood oxygen saturation of the remaining effective blood vessel pixels in the blood oxygen saturation distribution map is calculated as the blood oxygen saturation of the region of interest.

[0043] Optionally, the formula for calculating the blood oxygen saturation of each blood vessel pixel based on the optical density ratio is as follows:

[0044]

[0045] in, This indicates the blood oxygen saturation of the aforementioned blood vessel pixels. This represents the optical density of blood vessel pixels in the first spectral fundus image. Represents the optical density of blood vessel pixels in the second spectral fundus image, and the mapping coefficient. , It was obtained by calibration from data of healthy individuals.

[0046] The above-mentioned technical solutions adopted in this specification can achieve the following beneficial effects:

[0047] 1. Traditional retinal oxygenation measurement methods primarily rely on two-dimensional image analysis, resulting in low precision in extracting vascular regions and a lack of accurate analysis of the vascular skeleton and topology, leading to blurred distinctions between pixel values ​​inside and outside the vessels. Furthermore, measurement accuracy is significantly affected by factors such as vessel diameter and retinal pigmentation, and is easily interfered with by reflections from the vessel centerline. In contrast, the vascular oxygenation saturation calculation method based on multispectral fundus images provided in this manual introduces vascular skeleton extraction and vascular topology map construction, achieving a refined description of the vascular structure. Adaptive calculation of the vessel radius based on the vascular topology map improves the accuracy of vessel localization, providing a more precise basis for subsequent pixel value calculations inside and outside the vessels.

[0048] 2. In existing methods for measuring retinal blood oxygenation, the optical density calculation typically uses the pixel value near the blood vessel as the incident light intensity, without considering the differences in incident light intensity across multiple wavelengths. This leads to deviations in the optical density calculation, thus affecting the accuracy of blood oxygenation values. However, the vascular blood oxygen saturation calculation method based on multispectral fundus images provided in this specification introduces a light intensity ratio compensation mechanism. In the 548nm optical density calculation, the 605nm pixel value outside the blood vessel is converted into an equivalent 548nm incident light intensity through a pre-calibrated light intensity ratio. This eliminates the differences in tissue reflectivity to different wavelengths, improves the accuracy of the optical density calculation results, and consequently improves the accuracy of the blood oxygen saturation calculation results.

[0049] 3. Existing retinal blood oxygenation measurement methods mostly output results in numerical form, lacking an intuitive visual display of blood oxygenation distribution. This makes it difficult for users to selectively observe and analyze specific vascular regions. However, the vascular blood oxygen saturation calculation method based on multispectral fundus images provided in this specification maps blood oxygen saturation grayscale values ​​to a color image, providing a clear view of the blood oxygen distribution across the entire fundus and optimizing the user experience. Furthermore, this invention also allows users to select vascular regions of interest (such as the four pairs of arteries and veins), combining automatic calculation with expert knowledge to improve the flexibility and accuracy of diagnosis.

[0050] 4. In the method for calculating vascular oxygen saturation based on multispectral fundus images provided in this specification, an abnormal data filtering mechanism is introduced. Abnormal data is filtered out from the oxygen values ​​in the region of interest, and the average value of the remaining valid data is calculated as the final oxygen saturation value, which improves the stability and accuracy of the calculation results. Attached Figure Description

[0051] To more clearly illustrate the technical solutions in the embodiments or prior art of this specification, the drawings used in the description of the embodiments or prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this specification. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0052] In the picture:

[0053] Figure 1 This document presents a flowchart illustrating a method for calculating vascular oxygen saturation based on multispectral fundus images.

[0054] Figure 2 This diagram illustrates the deletion conditions during the vascular skeleton extraction process provided in this instruction manual; where... Figure 2 (a) is a schematic diagram of deletion condition G1. Figure 2 (b) is a schematic diagram of the deletion condition G2. Figure 2(c) is a schematic diagram of deletion condition G3. Figure 2 (d) is the deletion condition. A schematic diagram;

[0055] Figure 3 This is a schematic diagram of a process for constructing a vascular topology map provided in this specification;

[0056] Figure 4 This is a schematic diagram of a pixel sampling area inside and outside a blood vessel, as provided in this specification. Detailed Implementation

[0057] First, it should be noted that the terminology used in the embodiments of this invention is for the purpose of describing specific embodiments only and is not intended to limit the invention. The singular forms “a,” “the,” and “the” used in the embodiments of this invention and the appended claims are also intended to include the plural forms, unless the context clearly indicates otherwise.

[0058] To enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments in this specification, and not all of the embodiments. Therefore, those skilled in the art should recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the invention. Similarly, for clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.

[0059] It should be noted that the steps of the corresponding methods are not necessarily performed in the order shown and described in this specification in other embodiments. In some other embodiments, the methods may include more or fewer steps than described in this specification. Furthermore, a single step described in this specification may be broken down into multiple steps in other embodiments; and multiple steps described in this specification may be combined into a single step in other embodiments.

[0060] Please refer to Figure 1 , Figure 1 This diagram schematically illustrates a flowchart of a method for calculating vascular oxygen saturation based on multispectral fundus images. The method specifically includes the following steps:

[0061] S100: Acquire a first-spectral fundus image of the target tissue at a wavelength of 548 nm and a second-spectral fundus image at a wavelength of 605 nm.

[0062] In this embodiment, a first spectral fundus image with a wavelength of 548 nm and a second spectral fundus image with a wavelength of 605 nm are selected.

[0063] The 548nm wavelength is an isoabsorption point, meaning that oxyhemoglobin and deoxyhemoglobin have the same absorbance at this point. Therefore, fundus images at this wavelength are most sensitive to vascular structures themselves and are mainly used for vascular localization.

[0064] The 605nm wavelength is the wavelength at which the absorption of oxyhemoglobin and deoxyhemoglobin differs significantly, and it is mainly used for subsequent blood oxygen saturation calculations.

[0065] S102: Construct vascular skeleton images and vascular topology maps based on first and second spectral fundus images.

[0066] Specifically, the fundus images at a wavelength of 548 nm (first spectral) and 605 nm (second spectral) can be analyzed and processed separately to segment the vascular region from the background region, resulting in binary vascular images corresponding to the first and second spectral fundus images, i.e., first and second binary vascular images. In the first and second binary vascular images, the vascular region is white (pixel value of 1), and the background region is black (pixel value of 0).

[0067] Skeletonization processing is performed on the first and second binarized vascular images to obtain vascular skeleton images. The goal of skeletonization processing is to create a "map" for each vascular pixel, and to determine whether it is an "edge point" that can be deleted by analyzing the distribution pattern of the vascular pixel and its eight neighboring pixels. Based on this purpose, this embodiment designs two sub-iterations, namely the first sub-iteration and the second sub-iteration. The binarized vascular image is iteratively processed by the first and second sub-iterations until the binarized vascular image no longer changes (until a complete iteration (after both sub-iterations are executed) has no more pixels that can be deleted). At this point, a vascular skeleton image with a width of one pixel is obtained.

[0068] In the first sub-iteration, pixels that simultaneously satisfy conditions G1, G2, and G3 are deleted from the first and second binarized blood vessel images; in the second sub-iteration, pixels that simultaneously satisfy conditions G1, G2, and G3 are deleted from the first and second binarized blood vessel images. Pixels.

[0069] First of all Figure 2 (a) Figure 2 (b) Figure 2 (c) and Figure 2 Explain the cell numbers in (d). Figure 2 (a) Figure 2 (b) Figure 2 (c) and Figure 2 (d) The black cell in the middle represents the blood vessel pixel p, and the eight surrounding cells represent the eight neighboring points of the blood vessel pixel p. In this embodiment, x is used. jThis represents the pixel value of the j-th neighboring point of the blood vessel pixel p. Starting from the eastern neighboring point (x1) of the blood vessel pixel p, the 8 neighboring points of the blood vessel pixel p are numbered in counterclockwise order to obtain x1, x2, x3, x4, x5, x6, x7, and x8.

[0070] The following describes the deletion conditions G1, G2, G3, and... Explain each separately.

[0071] Please refer to Figure 2 (a) The deletion condition G1 is:

[0072]

[0073]

[0074]

[0075]

[0076]

[0077]

[0078] in, The logical symbol "AND" is used. The logical symbol "OR" is represented. Indicates x j Invert the values; b1, b2, b3, and b4 are intermediate parameters.

[0079] Please refer to Figure 2 (b) The deletion condition G2 is:

[0080]

[0081]

[0082]

[0083] Here, n1(p) and n2(p) are intermediate parameters.

[0084] Please refer to Figure 2 (c) The deletion condition G3 is:

[0085] .

[0086] Please refer to Figure 2 (d) Deletion conditions for:

[0087] .

[0088] After obtaining the first and second vascular skeleton images, the first and second vascular skeleton images are registered to obtain the vascular skeleton image.

[0089] In one implementation, the Iterative Closest Point (ICP) algorithm can be used to register the first and second vascular skeleton images. The IPC algorithm is essentially a point set registration algorithm; therefore, before executing the IPC algorithm, all vascular pixels need to be extracted from the first vascular skeleton image to obtain the source point set, and all vascular pixels need to be extracted from the second vascular skeleton image to obtain the target point set. Then, the Iterative Closest Point algorithm is used to register the source and target point sets to obtain the optimal rigid body transformation matrix. Finally, the optimal rigid body transformation matrix is ​​used to transform the source point set, and the transformed source and target point sets are merged. The vascular skeleton image is then reconstructed based on the merged point set.

[0090] Specifically, let the target point set be P and the source point set be Q. Initialize the rigid body transformation matrix T. For a two-dimensional point set, the rigid body transformation matrix T is a... The matrix:

[0091]

[0092] Where R is The rotation matrix, t is The translation vector, with the superscript T indicating the transpose sign. .

[0093] The source point set is transformed using a rigid body transformation matrix, and the transformed source point set is represented as follows: , where k represents the iteration number, and the initial value of k is 1. represents each source point after transformation. Find the nearest neighbor in the target point set P. As a matching point:

[0094]

[0095] Where c(j) represents the index of the matching point. Represents the norm symbol.

[0096] Based on matching point pairs ( , Find the rigid transformation matrix that minimizes the sum of squared distances between matching point pairs. The objective function is:

[0097]

[0098] Where E represents the sum of squared distances between matching point pairs, and n represents the number of source points in the source point set Q. The symbol for the Euclidean norm.

[0099] The specific steps to solve the above objective function are as follows:

[0100] 1) Calculate the center point and : , .

[0101] 2) Calculate decentralized coordinates: , .

[0102] 3) Construct the covariance matrix as follows: .

[0103] 4) Perform singular value decomposition on the covariance matrix: ,in, It is an orthogonal matrix composed of left singular vectors. It is a diagonal matrix. It is an orthogonal matrix composed of right singular vectors.

[0104] 5) Calculate the rotation matrix: .

[0105] 6) Calculate the translation vector: .

[0106] 7) Update and Iterate: Apply the obtained rigid body transformation matrix to the current source point set. Perform the transformation to obtain the updated source point set. , .

[0107] Determine whether the convergence condition is met, for example:

[0108] Less than the preset first threshold The Frobenius norm is used to measure the size of a matrix, and I represents the identity matrix.

[0109] Alternatively, the change in mean square error is less than a preset second threshold.

[0110] Alternatively, the number of iterations reaches the preset maximum number of iterations.

[0111] After convergence, the final transformation matrix is ​​denoted as... .

[0112] After registration is completed, the transformed source point set is obtained. .Will The target point set P is merged, and the merged point set is then processed for deduplication and merging based on coordinate positions. The merging process involves merging any blood vessel pixel in the merged point set if the distance between it and its adjacent blood vessel pixel is less than a preset distance threshold (e.g., 0.5 pixels), then these two blood vessel pixels are merged into a single blood vessel pixel (i.e., the midpoint of the line connecting these two blood vessel pixels is taken). Finally, the blood vessel skeleton image is obtained.

[0113] The construction of the vascular topology map is based on the vascular skeleton image. After obtaining the vascular skeleton image, the image is analyzed, and the branch points and endpoints of the blood vessels are selected as nodes. The continuous pixel sequences connecting two nodes are used as edges to construct a vascular topology map consisting of a set of nodes and a set of edges.

[0114] Please refer to Figure 3 , Figure 3 This paper illustrates a specific process for constructing a vascular topology map, which includes the following steps:

[0115] S300: Analyzes vascular skeleton images to identify vascular branch points and endpoints.

[0116] First, iterate through the vascular skeleton image, scanning every white pixel (skeleton point) in the vascular skeleton image.

[0117] Next, count the number of other skeleton points in the 3×3 neighborhood of the white pixel, and determine the node type of the white pixel based on this count:

[0118] If a white pixel has one neighboring pixel, then the white pixel is an endpoint (the end of a blood vessel).

[0119] If a white pixel has two adjacent points, then the white pixel is a normal connection point (in the middle of a blood vessel, not a node).

[0120] If a white pixel has three or more adjacent pixels, then the white pixel is a branch point (a fork in the blood vessel).

[0121] Finally, all identified branch points and endpoints are stored in a dynamic array (or list) called nodes.

[0122] S302: Construct the edges of the blood vessel topology graph.

[0123] Create a two-dimensional array `visited` of the same size as the original image (vascular skeleton image) to mark which skeleton points have been classified into a certain edge, thus avoiding duplicate processing.

[0124] For each node start_node in nodes, proceed along each of its unexplored branch directions. First, examine the 8 neighboring pixels of start_node and filter out those that are skeleton points (white) and not marked as visited. Since start_node may be a branch point, it may have multiple neighboring points, each corresponding to a potential edge.

[0125] For each unvisited neighboring point, initiate the exploration of a new edge. Create an empty coordinate list `edge_coords`, add the coordinates of `start_node` to `edge_coords` as the starting point of the edge. Set the current pixel `current_pixel` to a neighboring point. Add the coordinates of `current_pixel` to `edge_coords` and mark `visited[current_pixel] = True`. Examine the 8 neighbors of `current_pixel`, searching for the next skeleton point that meets the following criteria: it is a skeleton point (white) and it is not marked as `visited`. If only one point meets the criteria, then `current_pixel` = the found point, and continue searching for the next point that meets the criteria. When no next point meets the criteria is found, check the current point `current_pixel`. If `current_pixel` is in the `nodes` list, it means it is another branch point or endpoint; if there are no unvisited skeleton points in the neighborhood of `current_pixel`, it means that an end point that has not been marked as an endpoint has been reached. According to the skeleton properties, this end point is the endpoint. Based on this, determine the endpoint of the current edge, end_node = current_pixel. Create a new edge, edge = (start_node, end_node, edge_coords), and add this edge to the edge set E of the graph.

[0126] S304: Create a vascular topology map based on the identified branch points and endpoints of the blood vessels, as well as the constructed set of edges.

[0127] S104: Based on the vascular topology map, determine the location and radius of each vascular segment.

[0128] In the vascular topology map, with each A segment is defined by five consecutive blood vessel pixels. The blood vessel direction vector is then determined. A unit normal vector is determined based on this direction vector. Finally, the two boundary points of the blood vessel are determined by the intersection of the extension of this unit normal vector with the blood vessel in the topological map. and Based on two boundary points and , determine the blood vessel diameter, and then obtain the blood vessel radius. The calculation formula is as follows:

[0129] First, calculate the blood vessel diameter: , where represents the coordinates of the boundary point , represents the coordinates of the boundary point .

[0130] Calculate the blood vessel radius: .

[0131] After obtaining the blood vessel radius of each segment of the blood vessel, the coordinates of the blood vessel pixel points of each segment of the blood vessel in the blood vessel topology map can be associated and stored with the blood vessel radius of this segment for retrieval in subsequent calculations.

[0132] S106: In the first and second spectral fundus images, calculate for each segment of the blood vessel pixel by pixel to obtain the inner and outer pixel values of each blood vessel pixel point.

[0133] Among them, the sampling area radius of the inner and outer pixel values of the blood vessel pixel points is calculated from the blood vessel radius of the corresponding blood vessel.

[0134] The calculation process of the inner and outer pixel values of the blood vessel pixel points is as follows:

[0135] Query the corresponding blood vessel radius r according to the coordinates of the current blood vessel pixel point, determine the first radius R1, where r < R1 < 3r.

[0136] Draw a circle with the current blood vessel pixel point as the center and the first radius R1 as the radius to obtain the first circular area; perform dilation processing on the blood vessel skeleton, and the dilation radius of the blood vessel skeleton is less than the blood vessel radius r; count the blood vessel pixel points that are simultaneously inside the first circular area, inside the blood vessel, and outside the dilated blood vessel skeleton, and take the pixel value average of these blood vessel pixel points as the inner pixel value of the current blood vessel pixel point .

[0137] Query the corresponding blood vessel radius r according to the coordinates of the current blood vessel pixel point, determine the second radius R2, where R2 > R1 and r < R2 < 3r.

[0138] Draw a circle with the current blood vessel pixel point as the center and the second radius R2 as the radius to obtain the second circular area; perform dilation processing on the blood vessel, and the dilated blood vessel radius is r*, where r < r* < R2; count the blood vessel pixel points that are simultaneously inside the second circular area and outside the dilated blood vessel, and take the average of these blood vessel pixel points as the outer pixel value of the current blood vessel pixel point .

[0139] The parameters in the above linear mapping formula can be set according to requirements, and this embodiment does not impose any restrictions on them.

[0140] For example, such as Figure 4 As shown, the sampling radius (i.e., the first radius) of the pixels within the blood vessel can be set to R1=1.5r, and the skeleton can be expanded using a 5×5 structuring element. The number of blood vessel pixels simultaneously located within the first circular region, inside the blood vessel, and outside the expanded blood vessel skeleton is counted. Figure 4 (The green area contains blood vessel pixels). The average pixel value of these blood vessel pixels is taken as the intravascular pixel value of the current blood vessel pixel. .

[0141] Next, the sampling radius of pixels outside the blood vessel (i.e., the second radius) is set to R2=2r. The blood vessel is expanded using an 11×11 structuring element. The number of blood vessel pixels simultaneously located within the second circular region and outside the expanded blood vessel are counted. Figure 4 (The yellow area contains blood vessel pixels). The average pixel value of these blood vessel pixels is taken as the outer pixel value of the current blood vessel pixel. .

[0142] S108: Calculate the optical density of each blood vessel pixel in the first and second spectral fundus images based on the intravascular and extravascular pixel values ​​of the blood vessel pixels; wherein, when calculating the optical density of each blood vessel pixel in the first spectral fundus image, a calibration value is calculated using the ratio of the extravascular pixel value of the blood vessel pixels in the second spectral fundus image to the light intensity of the first and second spectral fundus images, and the calibration value is used as the extravascular pixel value of each blood vessel pixel in the first spectral fundus image.

[0143] The specific calculation process for this step is as follows:

[0144] Calculate the optical density of each blood vessel pixel in the first and second spectral fundus images:

[0145] ,

[0146] in, This represents the optical density of blood vessel pixels in the first-spectrum fundus image. This represents the intravascular pixel value of the blood vessel pixel in the first spectral fundus image. This represents the intensity ratio of incident light with a wavelength of 548 nm to incident light with a wavelength of 605 nm. This represents the optical density of blood vessel pixels in the second-spectrum fundus image. This represents the intravascular pixel value of the blood vessel pixel in the second-spectrum fundus image. This represents the extravascular pixel value of the vascular pixel in the second-spectrum fundus image.

[0147] S110: Calculate the optical density ratio of each blood vessel pixel in the first and second spectral fundus images, calculate the blood oxygen saturation of each blood vessel pixel based on the optical density ratio, and obtain the blood oxygen saturation distribution map.

[0148] Calculate vascular oxygen saturation The formula is:

[0149]

[0150] Among them, mapping coefficients , It was obtained by calibration from data of healthy individuals.

[0151] In some implementations, after obtaining the blood oxygen saturation distribution map, the blood oxygen saturation of the blood vessel pixels in the blood oxygen saturation distribution map can be mapped to color values ​​based on a preset mapping rule to obtain a colored blood oxygen saturation distribution map.

[0152] Specifically, firstly based on the formula This converts blood oxygen saturation into an integer index between 0 and 255. The formula calculates... It may exceed the valid range of 0-255, so it needs to be corrected. If calculated... Then If the value is 0, then the calculation is... Then The value is 255. If calculated... If the value is equal to any other value in the range of 0 to 255, then directly... Round to the nearest integer.

[0153] After the index is built, it is used to look up the corresponding color in a pre-built color lookup table. The colors in the color lookup table correspond to 256 integer indices. The color is then assigned to the blood vessel pixels in the blood oxygen saturation distribution map to obtain the colored blood oxygen saturation distribution map.

[0154] In some implementations, the region of interest (ROI), such as a segment of a blood vessel, can be extracted from the blood oxygen saturation distribution map based on the user's selection. The mean blood oxygen saturation of the blood vessel pixels within the ROI is then calculated. and standard deviation Will satisfy Blood vessel pixels are removed as abnormal points. This represents the blood oxygen saturation of a single blood vessel pixel. The mean of the remaining effective blood vessel pixels in the blood oxygen saturation distribution map is calculated as the blood oxygen saturation of the region of interest. In this way, pixel data point-by-point within a local region of interest can be transformed, through statistical methods, into a unique, stable, and reliable representative value for a single blood vessel, achieving the conversion from "pixel-level blood oxygen data of the entire image" to "clinical-level blood oxygen indicators for a specific blood vessel."

[0155] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0156] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0157] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0158] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0159] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0160] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0161] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0162] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0163] Those skilled in the art will understand that the embodiments of this specification can be provided as methods, systems, or computer program products. Therefore, this specification may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this specification may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0164] This specification can be described in the general context of computer-executable instructions that are executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform a specific task or implement a specific abstract data type. This specification can also be practiced in distributed computing environments, where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.

[0165] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to interchangeably. Each embodiment focuses on describing the differences from other embodiments. In particular, the system embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments.

[0166] The above description is merely an embodiment of this specification and is not intended to limit this specification. Various modifications and variations can be made to this specification by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this specification should be included within the scope of the claims of this application.

Claims

1. A method for calculating vascular oxygen saturation based on multispectral fundus images, characterized in that, The method includes: Acquire fundus images of the target tissue at a first spectral wavelength of 548 nm and a second spectral wavelength of 605 nm. Based on the first and second spectral fundus images, a vascular skeleton image and a vascular topology map are constructed. Based on the aforementioned vascular topology map, the location and radius of each vascular segment are determined; In the first and second spectral fundus images, pixel-by-pixel calculations are performed on each blood vessel segment to obtain the intravascular and extravascular pixel values ​​for each blood vessel pixel; wherein, the sampling area radius of the intravascular and extravascular pixel values ​​is calculated from the blood vessel radius of the corresponding blood vessel; The optical density of each blood vessel pixel in the first and second spectral fundus images is calculated based on the intravascular and extravascular pixel values ​​of the blood vessel pixels. Specifically, when calculating the optical density of each blood vessel pixel in the first spectral fundus image, a calibration value is calculated using the ratio of the extravascular pixel value of the blood vessel pixels in the second spectral fundus image to the light intensity of the first and second spectral fundus images. This calibration value is then used as the extravascular pixel value of each blood vessel pixel in the first spectral fundus image. The formula for calculating the optical density of each blood vessel pixel in the first and second spectral fundus images is as follows: , in, This represents the optical density of blood vessel pixels in the first spectral fundus image. This represents the intravascular pixel value of the blood vessel pixel in the first spectral fundus image. This represents the intensity ratio of incident light with a wavelength of 548 nm to incident light with a wavelength of 605 nm. This represents the optical density of blood vessel pixels in the second spectral fundus image. This represents the intravascular pixel value of the blood vessel pixel in the second spectral fundus image. This represents the extravascular pixel value of the vascular pixel in the second spectral fundus image; Calculate the optical density ratio of each blood vessel pixel in the first and second spectral fundus images, and calculate the blood oxygen saturation of each blood vessel pixel based on the optical density ratio to obtain a blood oxygen saturation distribution map.

2. The method according to claim 1, characterized in that, Based on the first and second spectral fundus images, a vascular skeleton image and a vascular topology map are constructed, specifically including: The first and second spectral fundus images are processed for blood vessel segmentation to generate first and second binarized blood vessel images; The first and second binarized blood vessel images are subjected to skeletonization processing to obtain the first and second blood vessel skeleton images; The first and second vascular skeleton images are registered to obtain the vascular skeleton image. Analyze the vascular skeleton image, select the branch points and endpoints of the blood vessels as nodes, and use the continuous pixel sequence connecting two nodes as edges to construct the vascular topology graph consisting of a set of nodes and a set of edges.

3. The method according to claim 2, characterized in that, The width of the vascular skeleton in the first and second vascular skeleton images is a single pixel.

4. The method according to claim 2, characterized in that, The first and second vascular skeleton images are registered to obtain the vascular skeleton image, specifically including: Extract all blood vessel pixels from the first blood vessel skeleton image to obtain the source point set; Extract all blood vessel pixels from the second blood vessel skeleton image to obtain the target point set; The source point set and the target point set are registered using an iterative latest point algorithm to obtain the optimal rigid body transformation matrix; The source point set is transformed using the optimal rigid body transformation matrix, and the transformed source point set is merged with the target point set. The vascular skeleton image is then reconstructed based on the merged point set.

5. The method according to claim 1, characterized in that, Based on the aforementioned vascular topology map, the vascular radius of each segment is determined, specifically including: In the aforementioned vascular topology diagram, with each A continuous segment of blood vessel pixels is used to determine the blood vessel direction vector; Determine the unit normal vector based on the blood vessel direction vector; The two boundary points of the blood vessel are determined based on the intersection of the extension of the unit normal vector and the blood vessel in the blood vessel topology diagram. Based on the two boundary points, the diameter of the blood vessel is determined, and then the radius of the blood vessel is obtained.

6. The method according to claim 5, characterized in that, The method further includes: The coordinates of the blood vessel pixels in each segment of the blood vessel topology map are associated with the radius of that segment of blood vessel and stored.

7. The method according to claim 6, characterized in that, In the first and second spectral fundus images, pixel-by-pixel calculations are performed on each blood vessel segment to obtain the intravascular and extravascular pixel values ​​for each blood vessel pixel, specifically including: Based on the coordinates of the current blood vessel pixel, query the corresponding blood vessel radius r, and determine the first radius R1, r <R1<3r; A circle is drawn with the current blood vessel pixel as the center and the first radius R1 as the radius, resulting in a first circular region. The blood vessel skeleton is then expanded, with the expansion radius of the blood vessel skeleton being smaller than the blood vessel radius r. Blood vessel pixels that are simultaneously located within the first circular region, inside the blood vessel, and outside the expanded blood vessel skeleton are counted, and the average pixel value of these blood vessel pixels is taken as the intravascular pixel value of the current blood vessel pixel. ; Based on the coordinates of the current blood vessel pixel, query the corresponding blood vessel radius r, determine the second radius R2, where R2 > R1, and r <R2<3r; Taking the current blood vessel pixel point as the center, draw a circle with the second radius R2 to obtain a second circular region; perform dilation processing on the blood vessel, and the radius of the dilated blood vessel is r*, where r < r* < R2; count the blood vessel pixel points that are simultaneously located inside the second circular region and outside the dilated blood vessel, and take the average pixel value of these blood vessel pixel points as the pixel value outside the blood vessel of the current blood vessel pixel point .

8. The method according to claim 1, characterized in that, The method further includes: Based on a preset mapping rule, the blood oxygen saturation of the blood vessel pixels in the blood oxygen saturation distribution map is mapped to color values ​​to obtain a color blood oxygen saturation distribution map.

9. The method according to claim 1, characterized in that, The method further includes: Based on the user's selection, the region of interest of the user is extracted from the blood oxygen saturation distribution map; Calculate the mean blood oxygen saturation of the blood vessel pixels in the region of interest. and standard deviation ; Will satisfy Blood vessel pixels are removed as abnormal points. This indicates the blood oxygen saturation of the blood vessel pixels; The mean value of the blood oxygen saturation of the remaining effective blood vessel pixels in the blood oxygen saturation distribution map is calculated as the blood oxygen saturation of the region of interest.

10. The method according to claim 1, characterized in that, The formula for calculating the blood oxygen saturation of each blood vessel pixel based on the aforementioned optical density ratio is as follows: in, This indicates the blood oxygen saturation of the aforementioned blood vessel pixels. This represents the optical density of blood vessel pixels in the first spectral fundus image. Represents the optical density of blood vessel pixels in the second spectral fundus image, and the mapping coefficient. , It was obtained by calibration from data of healthy individuals.