Analysis method and program product for angiography image
By automatically analyzing angiography images, setting velocity measurement points along the centerline, and calculating flow velocity, the problem of low efficiency and high subjectivity in manual operation in existing technologies is solved, achieving efficient and high-precision blood flow velocity measurement.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-12
- Publication Date
- 2026-03-31
AI Technical Summary
Existing methods for measuring the velocity of angiography images rely on manual operation, which is inefficient and highly subjective, making it difficult to meet the needs of high-precision clinical diagnosis.
By automatically parsing measurement commands, the system identifies vascular regions and irregular structures in angiography images, sets velocity measurement points along the centerline, and calculates flow velocity by combining the temporal characteristics of imaging intensity and spatial distance between upstream and downstream sampling points.
It has achieved automation and high precision in blood flow velocity measurement, improved measurement efficiency and accuracy, and met the needs of high-precision clinical diagnosis.
Smart Images

Figure CN121767299A_ABST
Abstract
Description
Technical Field
[0001] This manual relates to the field of medical imaging technology, and in particular to a method and program product for analyzing angiographic images. Background Technology
[0002] Digital subtraction angiography (DSA) images are core vascular visualization data in interventional diagnosis and treatment. During the diagnosis and interventional treatment of vascular diseases, angiographic images are usually needed to measure blood flow velocity, thereby determining vascular patency, assessing the severity of lesions, and providing real-time evidence for intraoperative procedures or postoperative evaluation.
[0003] However, existing methods rely heavily on manual operation during velocity measurement. Operators need to manually select the velocity measurement area in the angiography image and sample relevant parameters based on their experience to measure the velocity. This method is not only inefficient, but the subjectivity and randomness of manual operation will further affect the accuracy of the velocity measurement results, making it difficult to reliably meet the needs of high-precision clinical diagnosis. Summary of the Invention
[0004] This specification provides a method and program for angiography image analysis, which partially solves the aforementioned problems existing in the prior art.
[0005] The following technical solution is adopted in this specification: This manual provides a method for analyzing angiographic images, including: Obtain measurement instructions for vascular flow velocity, and determine the vascular regions contained in the angiographic images; A target region matching the measurement command is identified within the vascular region, and a velocity measuring point is set along the centerline of the target region. Sampling points are determined at upstream and downstream positions of the velocity measurement point, and the blood flow velocity corresponding to the velocity measurement point is determined based on the temporal characteristics of the imaging intensity corresponding to each sampling point and the spatial distance between the sampling points. The analysis results of the angiography image are then determined based on the blood flow velocity. The temporal characteristics of the imaging intensity are used to characterize the change of imaging intensity over time.
[0006] Optionally, acquiring measurement instructions for blood vessel flow velocity specifically includes: In response to an input operation performed by a user, input information for measuring blood flow velocity is acquired; wherein the input operation includes at least one of text input, voice input, and touch input. The input information is parsed, and the measurement command is generated based on the parsing result.
[0007] Optionally, the angiography images include: a sequence of angiography image frames; Determining the vascular regions included in the angiography image specifically includes: In the angiography image frame sequence, angiography image frames whose imaging intensity meets preset conditions are determined; wherein, the imaging intensity is determined by the contrast of the angiography image frame and / or the number of pixels at the position corresponding to the preset gray value, and the contrast and the number of pixels are positively correlated with the imaging intensity; Image segmentation is performed on angiography image frames that meet the preset conditions to determine the blood vessel region.
[0008] Optionally, the vascular region included in the angiography image is determined, specifically including: The angiography image is segmented to determine the vascular region and the location of the irregular vascular structure within the vascular region. The speed measuring points include: speed measuring points set at irregular vascular structures in the target area, and / or speed measuring points set at equal intervals along the center line according to a preset number of speed measuring points.
[0009] Optionally, the blood flow velocity corresponding to the velocity measurement point is determined based on the temporal characteristics of the imaging intensity corresponding to each sampling point and the spatial distance between the sampling points, specifically including: The deviation between the temporal characteristics of the imaging intensity corresponding to each sampling point is determined, and the time delay of blood from the sampling point at the upstream position to the sampling point at the downstream position is determined based on the deviation; wherein, the deviation includes: the deviation between the time corresponding to the peak of imaging intensity, the deviation between the time span corresponding to the half peak of imaging intensity, or the deviation between the time centroid positions of the imaging intensity as time changes. The blood flow velocity corresponding to the velocity measurement point is obtained by calculating the ratio between the time delay and the spatial distance between the sampling point at the upstream position and the sampling point at the downstream position.
[0010] Optionally, the angiography images include: a sequence of angiography image frames; Based on the temporal characteristics of the imaging intensity corresponding to each sampling point and the spatial distance between the sampling points, the blood flow velocity corresponding to the velocity measurement point is determined, specifically including: Based on the velocity measurement time parameter contained in the measurement command, the sampling time interval of the angiography image frame sequence is determined; Based on the temporal characteristics of the imaging intensity corresponding to each sampling point within the sampling time interval and the spatial distance between each sampling point, the blood flow velocity corresponding to the velocity measurement point is determined.
[0011] Optionally, determining the sampling time interval of the angiography image frame sequence specifically includes: Determine the initial time interval in the angiography image frame sequence that matches the velocity measurement time parameter; The angiography image frame sequence is input into a preset time series analysis model to determine the temporal characteristics of the imaging intensity of the angiography image frame sequence through the time series analysis model. Based on the temporal characteristics of the imaging intensity corresponding to the angiography image frame sequence, the initial temporal interval is adjusted so that the adjusted time interval includes angiography image frames whose imaging intensity meets a preset intensity threshold, thus obtaining the sampling temporal interval.
[0012] Optionally, the blood flow velocity corresponding to the velocity measurement point is determined based on the temporal characteristics of the imaging intensity corresponding to each sampling point and the spatial distance between the sampling points, specifically including: Based on the temporal characteristics of the imaging intensity corresponding to each sampling point and the spatial distance between each sampling point, the blood flow velocity corresponding to the velocity measurement point is determined under the constraint that the measured blood flow velocity is within the critical range of blood flow velocity in the blood vessel and / or the blood flow velocity measured at multiple sampling points meets the flow velocity change law in the blood vessel.
[0013] Optionally, the speed measuring points include multiple points: The analysis results of the angiography image are determined based on the blood flow velocity, specifically including: The blood flow velocity corresponding to each velocity measurement point and the lesion information corresponding to the location of the diseased blood vessel are input into a preset velocity distribution prediction model. The blood flow velocity corresponding to each velocity measurement point is corrected by the velocity distribution prediction model, and the corrected blood flow velocities are subjected to spatial smoothing constraint processing to determine the blood flow velocity distribution information of the target area.
[0014] This specification provides a computer program product, including a computer program / instructions that, when executed by a processor, implement the steps of the above-described method. This specification provides a device for analyzing angiographic images, including: The input module is used to acquire measurement instructions for blood vessel flow velocity and to determine the blood vessel regions contained in the angiography image. The setting module is used to determine a target area in the blood vessel region that matches the measurement command, and to set a speed measuring point along the center line of the target area; The calculation module is used to determine sampling points at the upstream and downstream positions of the velocity measurement point, and to determine the blood flow velocity corresponding to the velocity measurement point based on the temporal characteristics of the imaging intensity corresponding to each sampling point and the spatial distance between the sampling points, so as to determine the analysis result of the angiography image based on the blood flow velocity; wherein, the temporal characteristics of imaging intensity are used to characterize the change of imaging intensity over time.
[0015] This specification provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described method.
[0016] This specification provides an electronic device including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the method described above.
[0017] The above-mentioned technical solutions adopted in this specification can achieve the following beneficial effects: This solution automates the parsing of measurement commands and identifies vascular regions and irregular vascular structures in angiography images. Simultaneously, it sets velocity measurement points along the center line of the target region and calculates the flow velocity by combining the temporal characteristics of the imaging intensity of upstream and downstream sampling sites with spatial distance. Through automated sampling and parameter calculation, the measurement efficiency is improved, effectively meeting the clinical demand for high-precision vascular flow velocity data. Attached Figure Description
[0018] The accompanying drawings, which are included to provide a further understanding of this specification and form part of this specification, illustrate exemplary embodiments and are used to explain this specification, but do not constitute an undue limitation thereof. In the drawings: Figure 1 This is a schematic flowchart of an exemplary embodiment of a method for analyzing angiographic images; Figure 2 This is a schematic diagram illustrating the process of determining a sampling time interval, provided in an exemplary embodiment. Figure 3 This is a schematic diagram illustrating the setting process of a speed measuring point and a sampling point, provided in an exemplary embodiment. Figure 4 This is a schematic diagram of a TAC curve provided in an exemplary embodiment; Figure 5 This is a schematic diagram of an angiography image analysis device provided in this specification; Figure 6 This specification provides a corresponding Figure 1 A schematic diagram of an electronic device. Detailed Implementation
[0019] To make the objectives, technical solutions, and advantages of this specification clearer, the technical solutions of this specification will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this specification, and not all of them. Based on the embodiments in this specification, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this specification.
[0020] Existing blood flow velocity measurement methods in this field mostly employ semi-automatic processes requiring manual intervention, which typically include the following limitations: Fragmented processes and lack of end-to-end automation: Existing technologies require steps such as image data segmentation, vascular centerline annotation, region delineation, and velocity measurement point selection to be completed in different tools, making it difficult to achieve a complete end-to-end automated process in the clinical setting, which increases operational complexity and human error.
[0021] High reliance on manual intervention: It relies heavily on manual delineation of regions of interest and manual setting of time windows or intervals, which makes repeatability affected by the operator's experience and cannot guarantee consistency across operators.
[0022] Limitations of input methods: Existing systems mostly rely on fixed, non-natural language input methods or non-natural interactions, which reduces usability in multiple scenarios.
[0023] Insufficient real-time performance: Most existing methods either rely on offline processing or have significant delays in real-time performance, making it difficult to output blood flow velocity measurement results that can be used for immediate clinical decision-making within the same imaging cycle, thus limiting their application value in scenarios requiring rapid feedback, such as interventional therapy.
[0024] Locality of information representation: Traditional methods are usually based on single-point or regional averaging, which makes it difficult to fully capture the spatial heterogeneity of hemodynamics and may miss the comprehensive representation of complex vascular anatomy and pathological conditions.
[0025] Based on this, this specification provides a method for analyzing angiographic images. By automatically parsing measurement commands and identifying vascular regions and irregular vascular structures in angiographic images, and by combining the temporal characteristics of imaging intensity and spatial distance of upstream and downstream sampling sites on the center line of the target region to calculate flow velocity, the efficiency and accuracy of image analysis are improved, effectively meeting the clinical demand for high-precision vascular flow velocity data.
[0026] The technical solutions provided in the various embodiments of this specification are described in detail below with reference to the accompanying drawings.
[0027] Figure 1 This embodiment provides a flowchart of a method for analyzing angiographic images, including the following steps: S101: Obtain measurement instructions for blood vessel flow velocity, and determine the blood vessel regions contained in the angiography image.
[0028] In this manual, the execution subject for performing the angiography image analysis method can be a designated device such as a server. Of course, it can also be a client installed on a device such as a DSA device, a medical image processing terminal, an interventional surgical image work terminal, or the above devices. For ease of description, the following will use a server as the execution subject to illustrate the angiography image analysis method provided in this manual.
[0029] The server can obtain measurement instructions for blood vessel flow velocity through the system's human-computer interaction interface.
[0030] The server can respond to user input operations to obtain input information for measuring blood flow velocity. The input operations can include one or more of the following: text input, voice input, and touch input.
[0031] The server can then parse the input information and generate the measurement instructions based on the parsing results.
[0032] For example, users can directly input commands via voice (such as "measure the blood flow velocity of the left femoral vein" or "select a sequence within 5 seconds of the proximal inferior vena cava"), or input commands via text on the display terminal, or define the target blood vessel area and velocity measurement point by touch / drawing on the screen. After receiving the above input, the server can use natural language understanding and graphical command parsing algorithms to perform semantic fusion and structured transformation on the input content of different modalities, automatically generating machine-readable measurement configuration parameters, thereby obtaining the above measurement commands.
[0033] The measurement command can be completed by the corresponding parsing unit, which can be composed of three parts: voice input parsing, text input parsing, and touch interaction parsing. The voice parsing includes, but is not limited to, Automatic Speech Recognition (ASR) and Natural Language Processing (NLP) technologies. After the voice is converted into text, parameters such as the target blood vessel region (i.e., the target region) and the sampling time interval can be parsed through keyword extraction and intent recognition algorithms (such as spaCy and NLTK). Text input parsing can be achieved through a rule engine and a medical terminology knowledge base. The server can perform entity recognition and relation extraction on the input text based on a preset medical terminology base (such as cardiovascular anatomy terminology) to obtain the above parameters. Touch interaction parsing can be achieved through medical image interaction libraries and front-end graphics frameworks (such as ITK-SNAP, VTK.js, etc.). By capturing the user's touch operations on medical images (such as click coordinates, drag trajectories, etc.) and combining them with the blood vessel segmentation results (such as the center line of the segmented blood vessel), the interactive operations are mapped to parameters such as the blood vessel region to be tested and the position of the velocity measurement point.
[0034] In addition, when users input information using multiple interaction methods simultaneously (such as inputting voice, text, and performing touch operations at the same time), the parsing results of voice, text, and touch can be fused to ensure the consistency of multiple inputs. For example, a multimodal fusion model (PyTorch / TensorFlow) can be used to fuse voice, text, and touch coordinates through the Transformer architecture, or a rule-based fusion engine can be used to aggregate information (such as processing the spatial information of touch interaction first, and then using the semantic information of voice / text to supplement the explanation).
[0035] Simultaneously, the server can acquire angiography images and determine the vascular regions contained within them. These angiography images can be DSA images, which utilize digital image processing technology to subtract background images (containing interference from bone and soft tissue) from the original image acquired during angiography, thereby removing interference from non-vascular structures and clearly and accurately highlighting the morphology of blood vessels—a specialized medical image.
[0036] Specifically, the aforementioned angiography images can be a sequence of angiography image frames, containing multiple angiography image frames acquired in chronological order. The server can determine the angiography image frames in the sequence whose contrast intensity meets preset conditions. This contrast intensity is determined by the contrast ratio of the angiography image frame and / or the number of pixels at a preset grayscale value. Contrast ratio and the number of pixels are positively correlated with the contrast intensity.
[0037] In practical applications, there are various ways to determine the angiography image frames that meet the preset conditions. For example, a pre-trained neural network model can be used to classify each angiography image frame, and the label of the best imaging frame can be set to "1", while the labels of other frames can be set to "0". Finally, the image frame with the label "1" can be selected as the imaging frame that meets the conditions. Another example is to calculate the imaging intensity of each angiography image frame and finally output the angiography image frame with the highest imaging intensity (such as the highest contrast and the largest number of pixels in the preset grayscale value area) for subsequent vascular region segmentation and parameter analysis.
[0038] The aforementioned preset grayscale value can be a low grayscale region. By counting the number of pixels in this region, the quantitative evaluation of the imaging intensity can be enhanced. The more pixels in this region, the more sufficient the effective signal for vascular imaging, and the greater the imaging intensity, thus providing key data support for selecting the image frame with the best imaging effect.
[0039] The server can then use a pre-trained image segmentation model to segment angiography image frames that meet the above conditions in order to determine the vascular regions contained in the angiography image.
[0040] In practical applications, image segmentation results can include labels corresponding to different blood vessel regions, such as superior vena cava, inferior vena cava, aorta, pulmonary artery, coronary artery, and cerebral artery.
[0041] In addition to the labels corresponding to different vascular regions, the image segmentation results may also include the location of irregular vascular structures in the vascular regions. The location information can be labeled in the angiography image frame in the form of coordinates, contour masks, or bounding boxes. The aforementioned irregular vascular structures may include vascular structures that affect blood flow velocity, such as tortuosity, bifurcation, stenosis, as well as aneurysms, dissections, plaques, fistulas, and thrombotic lesions.
[0042] Of course, the server may also choose not to select a specific angiography image frame from the angiography image frame sequence, but rather select any angiography image frame from it, or fuse multiple angiography image frames for subsequent image segmentation.
[0043] In practical applications, the server can first obtain the speed measurement command, and then perform image segmentation on the angiography image to determine the blood vessel regions contained therein; alternatively, it can perform image segmentation on the angiography image after it is acquired, and then directly obtain the image segmentation result after receiving the speed measurement command; of course, the above two steps can also be performed simultaneously.
[0044] S102: Determine a target area in the blood vessel region that matches the measurement command, and set a speed measuring point along the center line of the target area.
[0045] The server can identify the target region within the segmented blood vessel region that matches the semantics expressed by the measurement command.
[0046] The server can identify blood vessel regions that match the blood vessel name specified in the measurement command from multiple blood vessel regions. For example, when the measurement command is "measure the blood flow velocity of the coronary artery", the server can filter out the blood vessel region labeled "coronary artery" from multiple segmented blood vessel regions such as the aorta, pulmonary artery, and coronary artery as the base range of the target region.
[0047] In addition, the server can also identify a specific sub-range of blood vessels that matches the location and segmentation description in the instruction within one of the blood vessel regions. For example, if the user inputs "measure the blood flow velocity in the proximal end of the inferior vena cava", the server can combine the segmentation results to select the proximal end of the inferior vena cava as the target region.
[0048] It should be added that when the measurement command does not explicitly specify the specific blood vessel name, but only describes the functional or location characteristics, the server can first determine the blood vessel type corresponding to the speed measurement command (such as coronary arteries, cerebral arteries, renal arteries, and other blood vessels with high incidence of disease, or peripheral blood vessels of the upper / lower limbs), and then combine the label attributes in the blood vessel segmentation results with common clinical detection needs to determine the target area.
[0049] Furthermore, the server can determine the sampling time interval of the angiography image frame sequence (i.e., the key frame interval extracted from the DSA sequence for blood flow velocity measurement, including the stage from "start of contrast agent development" to "peak development") based on the velocity measurement time parameter contained in the measurement instruction, for subsequent blood flow velocity measurement.
[0050] Specifically, the server can first determine the initial time interval in the angiography image frame sequence that matches the velocity measurement time parameter. For example, if the information input by the user includes "measure the blood flow velocity of the coronary artery in the last 5 frames", the coronary artery can be determined as the target velocity measurement site. Based on the velocity measurement time parameter, the server can select 5 consecutive frames in the angiography image frame sequence starting from the frame where the contrast agent first flows through the coronary artery as the initial time interval.
[0051] The server can then input the angiography image frame sequence into a preset time series analysis model to determine the imaging intensity temporal characteristics of the angiography image frame sequence. Based on the imaging intensity temporal characteristics corresponding to the angiography image frame sequence, the initial time series interval can be adjusted so that the adjusted time series interval includes angiography image frames whose imaging intensity meets the preset intensity threshold, thus obtaining the sampling time series interval.
[0052] Among them, the aforementioned development intensity time-series characteristics are used to characterize the change of development intensity over time. Specifically, they can be obtained through analysis using the time-intensity curve (TAC). In the process of adjusting the initial time series interval, it can be made to correspond to the main peak interval of the contrast agent flow rate change, thereby improving the accuracy and real-time performance of the measurement.
[0053] For ease of understanding, this specification provides a schematic diagram of the process for determining the sampling time interval, as shown in the example. Figure 2 As shown.
[0054] Figure 2 This is a schematic diagram illustrating the process of determining a sampling time interval, provided in an exemplary embodiment.
[0055] After the user inputs the speed measurement command, the server can determine the best imaging image in the angiography image frame sequence, and then input it into the image segmentation model to determine the segmentation result. Then, based on the segmentation result, the server determines the target blood vessel region that matches the speed measurement command and determines the sampling time interval of the angiography image frame sequence.
[0056] It should be added that the aforementioned time-series analysis model can be a deep learning model used to analyze the dynamic changes of contrast agents in DSA. Its core function is to accurately capture the flow patterns of contrast agents within blood vessels, optimize the selection of the "optimal time window," and ultimately improve the accuracy and real-time performance of blood flow velocity measurement. Its specific functions may include: Dynamically capturing the spatiotemporal changes of contrast agents, DSA sequences are continuous time frames. During the process of contrast agent flow from "inflow → filling → peak → outflow," the grayscale and contrast of the vascular region exhibit specific change patterns over time (e.g., vessels with high flow rates "brighten quickly and darken quickly," while those with slow flow rates "brighten slowly and for a longer period"). Time-series analysis networks, through spatiotemporal feature fusion (such as 3D convolution and temporal attention mechanisms), can automatically identify the anatomical structure of blood vessels in the spatial dimension and track the arrival time, peak time, and decay rate of contrast agents in different vascular segments in the temporal dimension. The system automatically locates the "peak range" of contrast agent flow (i.e., the range of consecutive frames with the highest contrast agent concentration and the most stable imaging), eliminates noise frames (such as early frames where the contrast agent has not filled, late frames that have faded, or abnormal frames caused by motion / artifacts), and ensures that the selected window matches the flow velocity characteristics of different vessel segments (for example, the window may be shorter for vessels with fast flow velocity and longer for vessels with slow flow velocity).
[0057] By accurately locking the "peak interval," it avoids flow rate calculation errors caused by improper window selection (such as including too many noisy frames) (e.g., misjudging the arrival time of contrast agent or peak intensity). It can process DSA sequences end-to-end and quickly output optimized time windows (without manual frame-by-frame screening) to meet the needs of real-time clinical velocity measurement (such as rapid assessment of blood flow status during surgery).
[0058] After determining the target area, the server can calculate the centerline of the corresponding blood vessel segment in the target area, and then set up speed measurement points on the centerline.
[0059] The speed measurement points mentioned above may include speed measurement points set at irregular vascular structures in the target area, and / or speed measurement points set at equal intervals along the center line according to a preset number of speed measurement points.
[0060] For example, the server can automatically generate initial speed measurement point positions according to the algorithm settings (the default is to place 3 speed measurement points, in which case the algorithm will automatically calculate and remove the beginning and end of the blood vessel, divide it into three equal segments along the center line, and take the center of each segment). Speed measurement points will be added at key locations such as blood vessel branches, bends, and stenosis (i.e., irregular blood vessel structures). In addition, the server can dynamically adjust or move the speed measurement points according to user instructions to meet different measurement needs.
[0061] S103: Sampling points are determined at the upstream and downstream positions of the velocity measurement point, and the blood flow velocity corresponding to the velocity measurement point is determined according to the temporal characteristics of the imaging intensity corresponding to each sampling point and the spatial distance between the sampling points, so as to determine the analysis result of the angiography image based on the blood flow velocity; wherein, the temporal characteristics of imaging intensity are used to characterize the change of imaging intensity over time.
[0062] After determining the speed measurement point, the server can determine the sampling point at the upstream and downstream positions of the speed measurement point. For any speed measurement point, the corresponding sampling point can be a pair of small-range sampling boxes (such as boxes).
[0063] Figure 3 This is a schematic diagram illustrating the setting process of a speed measuring point and a sampling point, provided in an exemplary embodiment.
[0064] As shown in the figure, the circular markers are speed measurement points (speed measurement point A, speed measurement point B, speed measurement point C). A pair of upstream and downstream boxes (i.e., sampling points) are placed at equal intervals along each speed measurement point to obtain the paired TAC curve. Then, a pair of boxes (i.e., upstream / downstream boxes of the speed measurement point) are placed 1cm away from the center (other values can also be set).
[0065] The server can then determine the blood flow velocity corresponding to the velocity measurement point based on the temporal characteristics of the imaging intensity within the sampling time interval of each sampling point and the spatial distance between each sampling point.
[0066] Specifically, the server can determine the deviation between the imaging intensity time sequence characteristics corresponding to each sampling point, and determine the time delay of blood from the sampling point at the upstream position to the sampling point at the downstream position based on the deviation.
[0067] The server can cover adjacent intravascular pixels in each box to acquire temporal changes in local contrast agent signals. It extracts the average grayscale value change of each box region from the DSA image frame sequence, and then filters and smooths the resulting grayscale sequence to obtain the corresponding temporal features of contrast agent intensity. Figure 4 This is a schematic diagram of a TAC curve provided in an exemplary embodiment.
[0068] As shown in the figure, the four TAC curves correspond to... Figure 3 The temporal characteristics of the development intensity of the four boxes are shown. The downstream sampling point of velocity measurement point A and the upstream sampling point of velocity measurement point B coincide, and they share a box. The downstream sampling point of velocity measurement point B and the upstream sampling point of velocity measurement point C coincide, and they share a box.
[0069] The horizontal axis of TAC represents the image frame, and the vertical axis represents the average development intensity (grayscale value) of the box. For each velocity measurement point, the corresponding upstream and downstream boxes generate a pair of TAC curves.
[0070] The aforementioned deviations can be the deviations between the time intervals corresponding to the peak values of development intensity, the deviations between the time spans corresponding to the half-peak values of development intensity, or the deviations between the time centroid positions of development intensity as it changes over time. When the aforementioned deviation corresponds to the time difference between the peak values of the imaging intensity, for any set of sampling points, the time t1 corresponding to the peak value at the upstream sampling point and the time t2 corresponding to the peak value at the downstream sampling point can be calculated. This allows us to calculate the time delay of blood flowing from the upstream sampling point to the downstream sampling point. ; When the aforementioned deviation corresponds to the deviation between the time span intervals of the half-peak value of the development intensity, the server can determine the half-peak value intervals of the development intensity time series curves for the upstream and downstream sampling points respectively: the half-peak value interval for the upstream sampling point is... ( The moment when the development intensity first reaches half of its peak value. (The moment when the development intensity last drops to half of its peak value), the half-peak interval of the downstream sampling point is... By calculating the corresponding offset deviation between the two intervals (e.g. Determine the time delay by taking the average or weighted average. ; When the above deviation is the deviation between the time centroid positions, the server can calculate the time centroid in the following way: for the development intensity time series curve of a single sampling point, with each time t_i as the abscissa and the corresponding development intensity... As the weight, through the formula The time centroid of the sampling point was calculated. Then, the time centroid of the upstream sampling points was calculated respectively. Time centroid of downstream sampling points The difference between the two is used as the time delay. .
[0071] The server can then perform a ratio calculation on the aforementioned time delay Δt and the spatial distance Δx between the sampling points at the upstream and downstream locations to obtain the blood flow velocity corresponding to the velocity measurement point. ,Right now .
[0072] The server can determine the analysis results of the angiography image based on the blood flow velocity. When there are multiple velocity measurement points, the analysis results of the angiography image can include the analysis results corresponding to each velocity measurement point, the average value, standard deviation, and spatial distribution curve of the blood flow velocity corresponding to multiple velocity measurement points, etc.
[0073] In addition, during the calculation of blood flow velocity, corresponding constraints can be set. These constraints may include: the measured blood flow velocity being within the critical range of blood flow velocity within the blood vessel and / or the blood flow velocity measured at multiple sampling points satisfying the flow velocity change pattern within the blood vessel. In this way, the blood flow velocity corresponding to the velocity measurement point can be determined based on the temporal characteristics of the imaging intensity corresponding to each sampling point and the spatial distance between each sampling point, with the constraints being that the measured blood flow velocity is within the critical range of blood flow velocity within the blood vessel and / or that the blood flow velocity measured at multiple sampling points satisfies the flow velocity change pattern within the blood vessel.
[0074] For example, the above constraint information can be implemented based on the fitting algorithm of physical blood flow mathematical models (such as Poiseuille's law and convection-diffusion model) and machine learning models. Poiseuille's law and convection-diffusion model are used as prior features of the machine learning model to constrain the learning and inference direction of the model. Among them, Poiseuille's law is used to constrain the numerical range of blood flow velocity in blood vessels, and convection-diffusion model is used to constrain the velocity change trend between multiple sampling points. By using the synergistic constraint of the two to filter abnormal velocity measurement results, the accuracy and stability of foot blood flow velocity measurement are improved.
[0075] Furthermore, in order to ensure that the final flow velocity measurement results can cover special scenarios that cannot be covered by the above physical blood flow mathematical model (such as blood flow abnormalities caused by lesions), the server can input the blood flow velocity corresponding to each velocity measurement point and the lesion information corresponding to the location of the lesion blood vessel into a preset flow velocity distribution prediction model. The flow velocity distribution prediction model can then correct the blood flow velocity corresponding to each velocity measurement point and perform spatial smoothing constraint processing on the corrected blood flow velocities to determine the smooth and robust blood flow velocity distribution information of the target area.
[0076] The final image analysis results can be overlaid on the vascular images in real time and a numerical report can be output simultaneously.
[0077] In practical applications, the flow velocity analysis results of angiography images can be used for preoperative surgical planning and risk assessment, as well as for postoperative quantitative verification of treatment effects and prognosis. They can also be used to simulate vascular hemodynamic changes or to rehearse the feasibility of surgical procedures in medical research or preoperative simulation scenarios.
[0078] As can be seen from the above embodiments, this solution can realize the integration of fully automatic blood vessel recognition and velocity measurement process. The system is based on intelligent image segmentation and blood vessel centerline extraction algorithm, which can automatically identify target blood vessel segments and place velocity measurement points. It can automatically segment target blood vessels and place velocity measurement points according to input instructions or calculate and place velocity measurement points according to algorithm definition without manual drawing or intervention, thus realizing end-to-end automation of blood flow velocity measurement. It realizes real-time blood flow velocity calculation and multi-point synchronous analysis, simultaneously measuring multiple velocity points. Combining the time series information of DSA video with the intensity changes of intravascular images, it constructs the imaging intensity time series characteristics of multiple velocity points, and completes blood flow velocity fitting and real-time output within the same imaging cycle, significantly improving clinical real-time performance and accuracy. It enables multimodal input information interaction, supports voice, touch and manual interaction, and is flexible and user-friendly to operate; the measurement process is algorithmic and objective, reducing human differences and ensuring consistency and repeatability of results across operators.
[0079] The above describes one or more methods for performing angiography image analysis as outlined in this specification. Based on the same approach, this specification also provides corresponding angiography image analysis devices, such as... Figure 2 As shown.
[0080] Figure 5 A schematic diagram of a data analysis device provided in this specification includes: The input module 501 is used to acquire measurement instructions for blood vessel flow velocity and to determine the blood vessel regions contained in the angiography image. Setting module 502 is used to determine a target area in the blood vessel region that matches the measurement command, and to set a speed measuring point along the center line of the target area; The calculation module 503 is used to determine sampling points at the upstream and downstream positions of the velocity measurement point, and to determine the blood flow velocity corresponding to the velocity measurement point based on the temporal characteristics of the imaging intensity corresponding to each sampling point and the spatial distance between the sampling points, so as to determine the analysis result of the angiography image based on the blood flow velocity; wherein, the temporal characteristics of imaging intensity are used to characterize the change of imaging intensity over time.
[0081] Optionally, the input module 501 is specifically configured to, in response to an input operation performed by the user, acquire input information for measuring blood vessel flow velocity; wherein the input operation includes at least one of text input operation, voice input operation, and touch input operation; parse the input information, and generate the measurement instruction based on the parsing result.
[0082] Optionally, the angiography images include: a sequence of angiography image frames; The device further includes: a segmentation module 504; The method is used to determine angiography image frames whose imaging intensity meets preset conditions in the angiography image frame sequence; wherein the imaging intensity is determined by the contrast of the angiography image frame and / or the number of pixels at the position corresponding to the preset gray value, and the contrast and the number of pixels are positively correlated with the imaging intensity; the angiography image frames that meet the preset conditions are segmented to determine the vascular region.
[0083] Optionally, the segmentation module 504 is specifically used to perform image segmentation on the angiography image to determine the location of the vascular region and the irregular vascular structure in the vascular region; The setting module 502 includes: The speed measurement point placement module 505 is used to set speed measurement points at irregular vascular structures in the target area, and / or to set speed measurement points at equal intervals along the center line according to a preset number of speed measurement points.
[0084] Optionally, the calculation module 503 is specifically used to determine the deviation between the temporal characteristics of the imaging intensity corresponding to each sampling point, and to determine the time delay of blood from the sampling point at the upstream position to the sampling point at the downstream position based on the deviation; wherein, the deviation includes: the deviation between the time corresponding to the peak of the imaging intensity, the deviation between the time span corresponding to the half peak of the imaging intensity, or the deviation between the time centroid positions of the imaging intensity changing with time; and to perform a ratio calculation on the time delay and the spatial distance between the sampling point at the upstream position and the sampling point at the downstream position to obtain the blood flow velocity corresponding to the velocity measurement point.
[0085] Optionally, the calculation module 503 is specifically used to: determine the sampling time interval of the angiography image frame sequence according to the velocity measurement time parameter contained in the measurement instruction; and determine the blood flow velocity corresponding to the velocity measurement point according to the imaging intensity time sequence characteristics of each sampling point within the sampling time interval and the spatial distance between each sampling point.
[0086] Optionally, the setting module 502 includes: The interval selection module 506 is used to determine the initial time interval in the angiography image frame sequence that matches the velocity measurement time parameter; input the angiography image frame sequence into a preset time series analysis model to determine the imaging intensity time series characteristics of the angiography image frame sequence through the time series analysis model; and adjust the initial time interval based on the imaging intensity time series characteristics corresponding to the angiography image frame sequence so that the adjusted time interval includes angiography image frames whose imaging intensity meets a preset intensity threshold, thereby obtaining the sampling time interval.
[0087] Optionally, the calculation module 503 is specifically used to determine the blood flow velocity corresponding to the velocity measurement point based on the temporal characteristics of the imaging intensity corresponding to each sampling point and the spatial distance between each sampling point, with the constraint that the measured blood flow velocity is within the critical range of blood flow velocity in the blood vessel and / or the blood flow velocity measured at multiple sampling points satisfies the flow velocity change law in the blood vessel.
[0088] Optionally, the speed measuring points include multiple points: The calculation module 503 is specifically used to input the blood flow velocity corresponding to each velocity measurement point and the lesion information corresponding to the location of the lesion blood vessel into a preset velocity distribution prediction model, so as to correct the blood flow velocity corresponding to each velocity measurement point through the velocity distribution prediction model, and to perform spatial smoothing constraint processing on the corrected blood flow velocities, so as to determine the blood flow velocity distribution information of the target area.
[0089] Based on the same concept as the methods described above, this specification also provides a computer program product, including a computer program / instructions that, when executed by a processor, implement the steps of the methods as described in any of the above embodiments.
[0090] This specification also provides a computer-readable storage medium storing a computer program that can be used to execute the above-described... Figure 1 This paper presents a data processing method applicable to heterogeneous clusters.
[0091] This instruction manual also provides Figure 6 One of the corresponding Figure 1 A schematic diagram of the structure of an electronic device. (e.g.) Figure 6 At the hardware level, the electronic device includes a processor, internal bus, network interface, memory, and non-volatile memory, and may also include other hardware required for the business operations. The processor reads the corresponding computer program from the non-volatile memory into memory and then runs it to achieve the above-mentioned functions. Figure 1The data processing method described herein is applied to heterogeneous clusters. Of course, in addition to software implementation, this specification does not exclude other implementation methods, such as logic devices or a combination of hardware and software. That is to say, the execution subject of the following processing flow is not limited to individual logic units, but can also be hardware or logic devices.
[0092] Improvements in a technology can be clearly distinguished as either hardware improvements (e.g., improvements to the circuit structure of diodes, transistors, switches, etc.) or software improvements (improvements to the methodology). However, with technological advancements, many improvements to the methodology can now be considered direct improvements to the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved methodology into the hardware circuit. Therefore, it cannot be said that an improvement in methodology cannot be implemented using hardware physical modules. For example, a Programmable Logic Device (PLD) (such as a Field Programmable Gate Array (FPGA)) is such an integrated circuit whose logic function is determined by the user programming the device. Designers can program and "integrate" a digital system onto a PLD themselves, without needing chip manufacturers to design and manufacture dedicated integrated circuit chips. Moreover, nowadays, instead of manually manufacturing integrated circuit chips, this programming is mostly implemented using "logic compiler" software, which is similar to the software compiler used when writing program development code. The original code before compilation must also be written in a specific programming language, which is called a Hardware Description Language (HDL). There is not just one HDL, but many, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. Currently, the most commonly used are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog.
[0093] The controller can be implemented in any suitable manner. For example, it can take the form of a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, application-specific integrated circuits (ASICs), programmable logic controllers, and embedded microcontrollers. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicon Labs C8051F320. A memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also recognize that, in addition to implementing the controller in purely computer-readable program code form, the same functionality can be achieved by logically programming the method steps to make the controller take the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers. Therefore, such a controller can be considered a hardware component, and the means included therein for implementing various functions can also be considered as structures within the hardware component. Alternatively, the means for implementing various functions can be considered as both software modules implementing the method and structures within the hardware component.
[0094] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, a computer can be, for example, a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email device, game console, tablet computer, wearable device, or any combination of these devices.
[0095] For ease of description, the above devices are described in terms of function, divided into various units. Of course, in implementing this specification, the functions of each unit can be implemented in one or more software and / or hardware components.
[0096] Those skilled in the art will understand that 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.
[0097] This specification is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this specification. 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.
[0098] 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.
[0099] 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.
[0100] In a typical configuration, a compute node includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.
[0101] 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.
[0102] 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, program modules, 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 disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible to computing nodes. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.
[0103] 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.
[0104] 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.
[0105] 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.
[0106] 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.
[0107] 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 specification.
Claims
1. A method for analyzing angiographic images, characterized in that, include: Obtain measurement instructions for vascular flow velocity, and determine the vascular regions contained in the angiographic images; A target region matching the measurement command is identified within the vascular region, and a velocity measuring point is set along the centerline of the target region. Sampling points are determined at upstream and downstream positions of the velocity measurement point, and the blood flow velocity corresponding to the velocity measurement point is determined based on the temporal characteristics of the imaging intensity corresponding to each sampling point and the spatial distance between the sampling points. The analysis results of the angiography image are then determined based on the blood flow velocity. The temporal characteristics of the imaging intensity are used to characterize the change of imaging intensity over time.
2. The method as described in claim 1, characterized in that, Obtain measurement instructions for blood flow velocity, specifically including: In response to an input operation performed by a user, input information for measuring blood flow velocity is acquired; wherein the input operation includes at least one of text input, voice input, and touch input. The input information is parsed, and the measurement command is generated based on the parsing result.
3. The method as described in claim 1, characterized in that, The angiography images include: a sequence of angiography image frames; Determining the vascular regions included in the angiography image specifically includes: In the angiography image frame sequence, angiography image frames whose imaging intensity meets preset conditions are determined; wherein, the imaging intensity is determined by the contrast of the angiography image frame and / or the number of pixels at the position corresponding to the preset gray value, and the contrast and the number of pixels are positively correlated with the imaging intensity; Image segmentation is performed on angiography image frames that meet the preset conditions to determine the blood vessel region.
4. The method as described in claim 1, characterized in that, Identify the vascular regions included in the angiographic images, specifically including: The angiography image is segmented to determine the location of the vascular region and irregular vascular structures within the vascular region. The speed measuring points include: speed measuring points set at irregular vascular structures in the target area, and / or speed measuring points set at equal intervals along the center line according to a preset number of speed measuring points.
5. The method as described in claim 1, characterized in that, Based on the temporal characteristics of the imaging intensity corresponding to each sampling point and the spatial distance between the sampling points, the blood flow velocity corresponding to the velocity measurement point is determined, specifically including: The deviation between the temporal characteristics of the imaging intensity corresponding to each sampling point is determined, and the time delay of blood from the sampling point at the upstream position to the sampling point at the downstream position is determined based on the deviation; wherein, the deviation includes: the deviation between the time corresponding to the peak of imaging intensity, the deviation between the time span corresponding to the half peak of imaging intensity, or the deviation between the time centroid positions of the imaging intensity as time changes. The blood flow velocity corresponding to the velocity measurement point is obtained by calculating the ratio between the time delay and the spatial distance between the sampling point at the upstream position and the sampling point at the downstream position.
6. The method as described in claim 1, characterized in that, The angiography images include: a sequence of angiography image frames; Based on the temporal characteristics of the imaging intensity corresponding to each sampling point and the spatial distance between the sampling points, the blood flow velocity corresponding to the velocity measurement point is determined, specifically including: Based on the velocity measurement time parameter contained in the measurement command, the sampling time interval of the angiography image frame sequence is determined; Based on the temporal characteristics of the imaging intensity corresponding to each sampling point within the sampling time interval and the spatial distance between each sampling point, the blood flow velocity corresponding to the velocity measurement point is determined.
7. The method as described in claim 6, characterized in that, Determining the sampling time interval of the angiography image frame sequence specifically includes: Determine the initial time interval in the angiography image frame sequence that matches the velocity measurement time parameter; The angiography image frame sequence is input into a preset time series analysis model to determine the temporal characteristics of the imaging intensity of the angiography image frame sequence through the time series analysis model. Based on the temporal characteristics of the imaging intensity corresponding to the angiography image frame sequence, the initial temporal interval is adjusted so that the adjusted time interval includes angiography image frames whose imaging intensity meets a preset intensity threshold, thus obtaining the sampling temporal interval.
8. The method as described in claim 1, characterized in that, Based on the temporal characteristics of the imaging intensity corresponding to each sampling point and the spatial distance between the sampling points, the blood flow velocity corresponding to the velocity measurement point is determined, specifically including: Based on the temporal characteristics of the imaging intensity corresponding to each sampling point and the spatial distance between each sampling point, the blood flow velocity corresponding to the velocity measurement point is determined under the constraint that the measured blood flow velocity is within the critical range of blood flow velocity in the blood vessel and / or the blood flow velocity measured at multiple sampling points meets the flow velocity change law in the blood vessel.
9. The method as claimed in claim 1, characterized in that, The speed measurement points include multiple points: The analysis results of the angiography image are determined based on the blood flow velocity, specifically including: The blood flow velocity corresponding to each velocity measurement point and the lesion information corresponding to the location of the lesion blood vessel are input into a preset velocity distribution prediction model. The blood flow velocity corresponding to each velocity measurement point is corrected by the velocity distribution prediction model, and the corrected blood flow velocities are subjected to spatial smoothing constraint processing to determine the blood flow velocity distribution information of the target area.
10. A computer program product, comprising a computer program / instructions, characterized in that, When the computer program / instructions are executed by the processor, they implement the steps of the method as described in any one of claims 1-9.