Medical Image Processing Method, Device, Storage Medium, and Electronic Device

By clustering medical image pixels into blocks and growing regions based on block neighbors, the method addresses hollow regions in medical image segmentation, achieving clearer organ boundaries and faster processing.

CN114972175BActive Publication Date: 2025-07-15SHENYANG NEUSOFT INTELLIGENT MEDICAL TECH RES INST
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210360201.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-04-06
Publication Date
2025-07-15
Estimated Expiration
2042-04-06

AI Technical Summary

Technical Problem

The existing regional growth method is prone to hollows in the area of interest due to noise or grayscale changes in medical imaging, and the effect is not ideal.

Method used

Medical images are clustered, divided into multiple blocks, and area growth is performed in blocks. The regions of interest are marked and grown by determining neighbor block sets and tolerance conditions.

Benefits of technology

It effectively avoids the internal hollows of the area of interest, has clear organizational boundaries, and improves the accuracy and speed of regional growth.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114972175B_ABST
    Figure CN114972175B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a medical image processing method, apparatus, storage medium, and electronic device. The method includes: obtaining a medical image, clustering pixels on the medical image to obtain a plurality of blocks; determining a neighbor block set for each block; in response to a seed block selected by a user, growing from the seed block to neighbor blocks in units of blocks according to the neighbor block set of each block; and obtaining a region of interest corresponding to the seed block in the medical image according to the result of the growth after the growth stops. The present disclosure can obtain a region of interest without holes from a medical image.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of image processing technology, and in particular, to a medical image processing method, apparatus, storage medium, and electronic device. Background Art

[0002] Medical images refer to internal tissue images of the human body or a part of the human body obtained in a non-invasive manner for medical treatment or medical research. Medical images of the internal tissues of the human body can be obtained using medical imaging devices such as CT (Computed Tomography). Medical images are one of the main bases for modern medical diagnosis. In order to highlight certain feature information in the images, extract lesion information, and perform 3D reconstruction of tissues, medical images are usually processed to segment various tissues or organs in the images.

[0003] The region growing method is one way of image segmentation. The basic idea of the region growing method is that first, the user selects a seed point, and then uses the selected seed point as the starting point for growth. Starting from the seed point in units of pixels, growth is performed towards the surrounding neighbor pixels. If the neighbor pixels have similar attributes to the seed point, growth continues from the neighbor pixels to the neighbor pixels of the neighbor pixels. Eventually, a large target range is obtained based on all the grown pixels. However, in cases such as the noise problem of the image itself or excessive changes in the gray values on the image, the grown target range is very likely to have holes. Therefore, its effect in medical image processing is not ideal. Summary of the Invention

[0004] The purpose of the present disclosure is to provide a medical image processing method, apparatus, storage medium, and electronic device.

[0005] To achieve the above purpose, the present disclosure provides a medical image processing method, including:

[0006] Obtain a medical image, perform clustering on the pixels on the medical image to obtain a plurality of blocks;

[0007] Determine the neighbor block set of each block;

[0008] In response to a seed block selected by the user, perform growth from the seed block to neighbor blocks in units of blocks according to the neighbor block set of each block;

[0009] After the growth stops, obtain the region of interest in the medical image corresponding to the seed block according to the growth result.

[0010] Optionally, the performing clustering on the pixels on the medical image to obtain a plurality of blocks includes:

[0011] Initialize the medical image and divide it into k blocks;

[0012] The following clustering process is iteratively performed based on the k blocks until the cluster centers of the k blocks no longer change, thereby obtaining the final k blocks:

[0013] Determine the cluster center of each of the k blocks;

[0014] Traversing each pixel in each block, and calculating the target distance between the pixel and the cluster center according to the CT value distance and position distance between the pixel and the cluster center of the block where the pixel is located;

[0015] According to the target distances corresponding to all pixels in each block, a pixel is determined from each block as the new cluster center of the block, and k new cluster centers are obtained;

[0016] Determine the cluster center to which each pixel on the medical image belongs among the k new cluster centers;

[0017] According to the k new cluster centers and the pixels belonging to each cluster center, k new blocks are determined.

[0018] Optionally, determining the cluster center to which each pixel on the medical image belongs among the k new cluster centers includes:

[0019] Calculate the target distance between the pixel and the new cluster center according to the CT value distance and position distance between the pixel and the new cluster center of the block where the pixel is located;

[0020] Determine whether the target distance between the pixel and the new cluster center is less than a threshold;

[0021] If the target distance between the pixel and the new cluster center is not less than a threshold, determining a plurality of new cluster centers adjacent to the pixel;

[0022] Calculating the target distance between the pixel and each of the new cluster centers according to the CT value distance and position distance between the pixel and each of the adjacent new cluster centers;

[0023] It is determined that the pixel belongs to a cluster center with the smallest target distance among multiple adjacent new cluster centers.

[0024] Optionally, after determining whether the target distance between the pixel and the new cluster center is less than a threshold, the method further includes:

[0025] If the target distance between the pixel and the new cluster center is less than a threshold, it is determined that the pixel belongs to the new cluster center of the block where the pixel is located.

[0026] Optionally, the target distance between the pixel and the clustering center is obtained through the following calculation formula:

[0027]

[0028] where D is the target distance, P CT is the CT value of the pixel, C CT is the CT value of the clustering center, 1 / w is the first weight, (P x , P y ) are the position coordinates of the pixel, (C x , C y ) are the position coordinates of the clustering center, and 1 / s is the second weight.

[0029] Optionally, the medical image is a multi-layer image, and the neighbor block set of each block includes neighbor blocks of the current layer and neighbor blocks of adjacent layers;

[0030] The clustering of the pixels on the medical image to obtain multiple blocks includes:

[0031] Clustering the pixels on each layer of the medical image respectively to obtain multiple blocks on each layer of the image;

[0032] The determination of the neighbor block set of each block includes:

[0033] For each block on each layer of the image, search for the blocks adjacent to the edge of the block among the multiple blocks of the current layer along the edge of the block to obtain the neighbor blocks of the block on the current layer;

[0034] Traverse each pixel in the block, and according to the position coordinates of the pixel on the current layer, search for the block to which the position coordinates belong among the multiple blocks of the adjacent layer to obtain the neighbor blocks of the block on the adjacent layer.

[0035] Optionally, in response to the user selecting a seed block, growing from the seed block to neighbor blocks in units of blocks according to the neighbor block set of each block includes:

[0036] In response to the user selecting a seed block, mark the seed block, traverse each unmarked block in the neighbor block set of the seed block, and determine whether the CT value of the block is within the tolerance;

[0037] If the CT value of the block is within the tolerance, mark the block;

[0038] For each block marked with a set of neighbor blocks according to the seed blocks, take each marked block as a new seed block respectively, and perform the step of traversing each unmarked block in the set of neighbor blocks of the seed block to determine whether the CT value of the block is within the tolerance.

[0039] When no new seed blocks are generated on the medical image, determine that the growth stops.

[0040] The obtaining the region of interest corresponding to the seed block in the medical image according to the result of the growth after the growth stops includes:

[0041] After the growth stops, obtain the region of interest in the medical image according to all the marked blocks.

[0042] Optionally, the tolerance is the absolute value of the difference between the CT value of the currently traversed block and the CT value of the seed block selected by the user.

[0043] The present disclosure also provides a medical image processing device, including:

[0044] A pixel clustering module, configured to obtain a medical image, cluster the pixels on the medical image to obtain a plurality of blocks;

[0045] A neighbor determination module, configured to determine a set of neighbor blocks for each block;

[0046] A region growing module, configured to respond to a seed block selected by a user, and grow from the seed block to neighbor blocks in units of blocks according to the set of neighbor blocks for each block;

[0047] A region obtaining module, configured to obtain the region of interest corresponding to the seed block in the medical image according to the result of the growth after the growth stops.

[0048] The present disclosure also provides a non-transitory computer-readable storage medium, on which a computer program is stored, and when the program is executed by a processor, the steps of the medical image processing method in the present disclosure are implemented.

[0049] The present disclosure also provides an electronic device, including:

[0050] A memory, on which a computer program is stored;

[0051] A processor, configured to execute the computer program in the memory to implement the steps of the medical image processing method in the present disclosure.

[0052] In the above technical solution, first, the pixels on the medical image are clustered and segmented into multiple blocks. Then, based on the seed block selected by the user, region growing is performed from the seed block to its neighboring blocks in units of blocks, and finally, the region of interest corresponding to the seed block selected by the user on the medical image is obtained. By clustering and dividing the medical image, multiple pixels that may generate holes are pre-divided into the corresponding blocks, and the edges of the blocks fit the boundaries of the relevant tissues. In this way, the region of interest obtained by growing in units of blocks has no holes inside and clear tissue boundaries.

[0053] Other features and advantages of the present disclosure will be described in detail in the following detailed implementation section. BRIEF DESCRIPTION OF THE DRAWINGS

[0054] The accompanying drawings are used to provide a further understanding of the present disclosure, and constitute a part of the specification. Together with the following detailed implementation, they are used to explain the present disclosure, but do not constitute a limitation to the present disclosure. In the accompanying drawings:

[0055] Figure 1 is a flowchart of a medical image processing method provided by an exemplary embodiment;

[0056] Figure 2 is Figure 1 a flowchart of a specific implementation of step S110 in;

[0057] Figure 3 is a schematic diagram of multiple blocks obtained by clustering the pixels on the medical image;

[0058] Figure 4 is Figure 2 a flowchart of a specific implementation of step S250 in;

[0059] Figure 5 is a schematic diagram of determining the set of neighboring blocks of each block based on a single-layer medical image;

[0060] Figure 6 is a schematic diagram of determining the set of neighboring blocks of each block based on a multi-layer medical image;

[0061] Figure 7 is Figure 1 a flowchart of a specific implementation of step S130 in;

[0062] Figure 8 is a block diagram of a medical image processing device provided by an exemplary embodiment;

[0063] Figure 9 is a block diagram of an electronic device provided by an exemplary embodiment. DETAILED IMPLEMENTATION

[0064] The following will describe in detail the specific embodiments of the present disclosure with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are only for explaining and understanding the present disclosure, and are not used to limit the present disclosure.

[0065] It should be noted that all actions of obtaining signals, information, or data in the present disclosure are carried out on the premise of complying with the corresponding data protection regulations and policies of the country where the location is located, and with the authorization given by the owner of the corresponding device.

[0066] The present disclosure provides a medical image processing method to obtain a region of interest in a medical image, where the region of interest represents the region corresponding to the tissue or organ of interest to the user on the medical image. Figure 1 A flowchart of the medical image processing method provided for an exemplary embodiment is as Figure 1 shown, and the method includes the following steps:

[0067] S110, obtain a medical image, perform clustering on the pixels on the medical image to obtain a plurality of blocks.

[0068] Among them, the medical image can be a single-layer medical image or a multi-layer medical image, such as a multi-layer medical image formed by medical imaging devices such as CT and MR. For a single-layer medical image, directly perform clustering on the pixels on the medical image to obtain a plurality of blocks on the medical image. For a multi-layer medical image, for each layer of the multi-layer medical image, perform clustering on the pixels on each layer respectively, and each layer of the image obtains a plurality of blocks.

[0069] S120, determine the set of neighbor blocks of each block.

[0070] S130, in response to the seed block selected by the user, grow from the seed block to the neighbor blocks in units of blocks according to the set of neighbor blocks of each block.

[0071] In the present disclosure, growing from the seed block to the neighbor blocks in units of blocks means starting from the seed block selected by the user, marking the blocks among the neighbor blocks of the seed block that meet the tolerance requirements, and then using each marked block as a new seed block to continue marking the blocks among the neighbor blocks of the new seed block that meet the tolerance requirements.

[0072] S140, after the growth stops, obtain the region of interest corresponding to the seed block in the medical image according to the result of the growth.

[0073] After the growth stops, obtain the region of interest in the medical image according to all the marked blocks.

[0074] In the above solution, medical images can be automatically clustered and segmented into multiple blocks. Users can click on the multiple segmented blocks, and by clicking on a seed block once, all blocks that are connected to the seed block and have similar attributes can be obtained. Due to the previous clustering operation, multiple pixels that may form holes are pre-divided into the corresponding blocks, so the final obtained region of interest has no holes inside and the tissue edges are clear, thus solving the problem of holes existing inside the region of interest in the application of the pixel-level region growing method in medical images. Moreover, compared with the pixel-level region growing method, the speed is faster.

[0075] Optionally, Figure 2 It is a flowchart of a specific implementation manner for clustering pixels on a medical image in step S110. It should be noted that Figure 2 it is described by taking a single-layer medical image as an example. For multi-layer medical images, the processing process for each layer of medical image is the same as that of a single-layer medical image. As Figure 2 shown, step S110 includes:

[0076] S210, initially divide the medical image into k blocks.

[0077] Optionally, divide the medical image into k blocks of size r*r according to the parameter r. Among them, r is related to the size of the tissue or organ of interest. If the organ of interest is the kidney, r can be set to 1 / 3 to 1 / 2 of the kidney size. If r is set too large, even exceeding the kidney size, the kidney part in the finally clustered k blocks may form a single block with other tissues or organs, resulting in the inability to accurately obtain the region of interest corresponding to the kidney. If the tissue of interest is blood vessels, since blood vessels are small, r should also be small.

[0078] S220, determine the clustering center of each block among the k blocks.

[0079] S230, traverse each pixel in each block, and calculate the target distance between the pixel and the clustering center of the block where it is located according to the CT value distance and position distance between the pixel and the clustering center of the block where it is located.

[0080] Among them, the target distance between the pixel and the clustering center is obtained through the following calculation formula:

[0081]

[0082] Among them, D is the target distance, P CT is the CT value of the pixel, C CT is the CT value of the clustering center, 1 / w is the first weight, (P x , P y ) is the position coordinate of the pixel, (Cx , C y ) is the position coordinate of the cluster center, and 1 / s is the second weight. P CT - C CT represents the CT value distance between the pixel and the cluster center, represents the position distance between the pixel and the cluster center.

[0083] S240. According to the target distances corresponding to all pixels in each sub - block, determine one pixel from each sub - block as the new cluster center of the sub - block, and obtain k new cluster centers.

[0084] Among them, each pixel in each sub - block gets a target distance from the cluster center of the sub - block where it is located. For each sub - block, determine the mean value of the target distances of all pixels in the sub - block, and select one pixel from all pixels in the sub - block whose target distance is closest to the mean value as the new cluster center of the sub - block, so as to obtain k new cluster centers.

[0085] S250. Determine the cluster center to which each pixel on the medical image belongs among the k new cluster centers.

[0086] S260. Determine k new sub - blocks according to the k new cluster centers and the pixels belonging to each cluster center.

[0087] According to the k new cluster centers and the pixels belonging to each cluster center, take each new cluster center and the pixels belonging to the new cluster center as a new sub - block, so as to obtain k new sub - blocks.

[0088] It should be noted that after initialization, iteratively execute the clustering process of S220 - S260 until the cluster centers of the k sub - blocks no longer change, and then stop the iteration to obtain the final k sub - blocks. For example, Figure 3 shows a schematic diagram of k sub - blocks obtained by clustering the pixels on a certain medical image.

[0089] Optionally, Figure 4 shows a flowchart of a specific implementation manner of step S250, as Figure 4 shown, S250 includes:

[0090] S2501. For each pixel, calculate the target distance between the pixel and the new cluster center of the sub - block where it is located according to the CT value distance and the position distance between the pixel and the new cluster center of the sub - block.

[0091] Optionally, calculate the target distance between the pixel and the new cluster center according to the calculation formula of the target distance D provided above.

[0092] S2502, determine whether the target distance between the pixel and the new cluster center is less than the threshold; if the target distance between the pixel and the new cluster center is less than the threshold, go to step S2503, otherwise, go to step S2504.

[0093] S2503, determine that the pixel belongs to the new cluster center.

[0094] If the target distance between the pixel and the new cluster center of its block is less than the threshold, determine that the pixel belongs to the new cluster center, so that the pixel and the new cluster center are still in the same block. If the target distance between the pixel and the new cluster center of its block is not less than the threshold, it is necessary to determine the cluster center to which the pixel belongs separately, so that the pixel is assigned to another block.

[0095] S2504, determine multiple new cluster centers adjacent to the pixel.

[0096] Determine multiple new cluster centers adjacent to the pixel from the k new cluster centers. For example, determine multiple new cluster centers whose position distance from the pixel is lower than the preset distance threshold from the k new cluster centers as the multiple new cluster centers adjacent to the pixel.

[0097] S2505, calculate the target distance between the pixel and each adjacent new cluster center according to the CT value distance and position distance between the pixel and each adjacent new cluster center.

[0098] Optionally, calculate the target distance between the pixel and each adjacent new cluster center according to the calculation formula of the target distance D provided above.

[0099] S2506, determine that the pixel belongs to the cluster center with the smallest target distance among the multiple adjacent new cluster centers.

[0100] Thus, it is possible to determine the cluster center to which each pixel on the medical image belongs among the k new cluster centers.

[0101] After clustering the pixels on the medical image to obtain k blocks, execute S120 to determine the set of neighbor blocks of each block.

[0102] For a single-layer medical image, for each block on the medical image, search for the blocks adjacent to the edge of the block along the edge of the block to obtain all the neighbor blocks of each block, so as to obtain the set of neighbor blocks N of each block, where N = {[Li, Ci]}, [Li, Ci] represents the i-th neighbor block of the block, Li represents the layer where the neighbor block is located, and Ci represents the index of the neighbor block on its layer. For a single-layer medical image, Li can be uniformly recorded as 1.

[0103] Figure 5 Shows a schematic diagram of determining the set of neighbor blocks for each block based on a single-layer medical image. As Figure 5 shown, the multiple blocks on this medical image include blocks 1 to 6 and other blocks not shown. Among the shown blocks, taking block 1 as an example, search for the blocks adjacent to the edge of block 1 along the edge of block 1, and obtain the set of neighbor blocks of block 1, N = {[1,2], [1,3], [1,6], [1,4], [1,5]}.

[0104] For a multi-layer medical image, for each block on each layer of the image, search for the blocks adjacent to the edge of the block among the multiple blocks on this layer along the edge of the block, and obtain the neighbor blocks of this block on this layer. And traverse all the pixels within this block, and according to the position coordinates of the pixel on this layer, search for the block to which the position coordinates belong among the multiple blocks on the adjacent layer, and obtain the neighbor blocks of this block on the adjacent layer. Among them, the adjacent layer includes one layer above this layer and one layer below this layer. According to the neighbor blocks of this block on this layer and the neighbor blocks on the adjacent layer, obtain the set of neighbor blocks N of this block.

[0105] Figure 6 Shows a schematic diagram of determining the set of neighbor blocks for each block based on a multi-layer medical image. As Figure 6 shown, this multi-layer medical image includes a total of three layers of images, namely layer 1, layer 2, and layer 3. For the sake of simplicity in description, Figure 6 not all the blocks on each layer of the image are shown. Among the shown blocks, taking block 1 on layer 2 as an example, search for the adjacent blocks along the edge of this block 1, and obtain the neighbor blocks of this block 1 on this layer, that is, block 2 on layer 2, denoted as [2,2]. Traverse each pixel within this block 1, determine the position coordinates of the pixel on layer 2, and according to the position coordinates, determine the block to which the position coordinates belong in the upper layer 1, and obtain the neighbor blocks of this block 1 on layer 1, that is, block 2 on layer 1, denoted as [1,2]; and according to the position coordinates, determine the block to which the position coordinates belong in the lower layer 3, and obtain the neighbor blocks of this block 1 on layer 3, that is, block 2 on layer 3, denoted as [3,2].

[0106] Thus, obtain the set of neighbor blocks N of block 1 on layer 2, N = {[2,2], [1,2], [3,2]}. In this way, the three-dimensional neighbor relationship of each block can be represented by a one-dimensional set of neighbor blocks N, which is beneficial for subsequent region growing according to the set of neighbor blocks N.

[0107] It should be noted that for multi-layer medical images, the clustering operation can be performed layer by layer from top to bottom. After completing the clustering operation for each layer of medical images, first determine the neighboring blocks of each block on this layer and the neighboring blocks on the previous layer. The neighboring blocks on the next layer can be added after completing the clustering operation for the next layer of medical images.

[0108] For example, after completing the clustering operation for the j-th layer of medical images, based on the multiple blocks on the j-th layer of medical images, first determine the neighboring blocks of each block on the j-th layer and the neighboring blocks on the (j - 1)-th layer. Here, the process of determining the neighboring blocks of each block on the j-th layer can be executed in parallel with the clustering operation for the (j + 1)-th layer of medical images. After completing the clustering operation for the (j + 1)-th layer of medical images, then based on the multiple blocks on the (j + 1)-th layer of medical images, determine the neighboring blocks of each block on the j-th layer on the (j + 1)-th layer. In this way, when the clustering operation is completed, the neighboring blocks of each block on each layer of medical images are basically determined.

[0109] After determining the set of neighboring blocks of each block, execute S130 to grow from the seed block to the neighboring blocks in units of blocks according to the set of neighboring blocks of each block.

[0110] Optionally, Figure 7 shows a flowchart of a specific implementation manner of growing from the seed block to the neighboring blocks in step S130, as Figure 7 shown, step S130 includes:

[0111] S310, in response to the seed block selected by the user, mark the seed block.

[0112] S320, traverse each unmarked block in the set of neighboring blocks of the seed block, and determine whether the CT value of this block is within the tolerance; if the CT value of this block is within the tolerance, go to step S330.

[0113] Wherein, the CT value of each block is the average value of the CT values of all pixels in this block.

[0114] Wherein, the tolerance is the absolute value of the difference between the CT value of the currently traversed block and the CT value of the seed block selected by the user.

[0115] S330, mark this block.

[0116] S340, for each block marked according to the set of neighboring blocks of the seed block, take each marked block as a new seed block respectively, and then go to step S320.

[0117] In the above process, first, the seed sub-block selected by the user is obtained. Then, using this seed sub-block as the starting point for growth, the growth process of S320 - S340 is iteratively executed. During the growth process, based on the seed sub-block, sub-blocks that meet the tolerance requirements are marked from the neighbor sub-blocks of the seed sub-block, thereby generating new seed sub-blocks, and the growth continues to the neighbor sub-blocks of the new seed sub-blocks. When no new seed sub-blocks are generated on the entire medical image, it is determined that the growth stops.

[0118] The following is an explanation of the above growth process based on Figure 5 the single-layer medical image shown. It should be noted that since the neighbor relationships of the sub-blocks in the multi-layer medical image have been represented as a one-dimensional neighbor relationship set, the growth process is the same as that of the single-layer medical image.

[0119] Exemplarily, in response to the seed sub-block selected by the user, such as sub-block 5, each unmarked neighbor sub-block in the neighbor sub-block set of sub-block 5 is traversed. First, neighbor sub-block 2 is traversed to determine whether the CT value of sub-block 2 is within the tolerance (the absolute value of the difference between the CT value of sub-block 2 and the CT value of sub-block 5). If so, sub-block 2 is marked; otherwise, it is not marked. Then neighbor sub-block 1 is traversed, and the same steps are executed. Then neighbor sub-block 4 is traversed, and the same steps are executed. Assuming that sub-blocks 2, 1, and 4 are all marked, sub-blocks 2, 1, and 4 will be used as new seed sub-blocks, and the neighbor sub-block sets of each new seed sub-block will continue to be traversed, and sub-blocks that meet the tolerance requirements in the neighbor sub-block sets will continue to be marked, thereby continuing to generate new seed sub-blocks.

[0120] For example, for the marked sub-block 2, each unmarked neighbor sub-block in the neighbor sub-block set of sub-block 2 is traversed. First, neighbor sub-block 3 is traversed to determine whether the CT value of sub-block 3 is within the tolerance (the absolute value of the difference between the CT value of sub-block 3 and the CT value of sub-block 5). If so, sub-block 3 is marked; otherwise, it is not marked. Assuming that sub-block 3 is marked, sub-block 3 will be used as a new seed sub-block, and each unmarked neighbor sub-block in the neighbor sub-block set of sub-block 3 will continue to be traversed. If each traversed unmarked neighbor sub-block does not meet the tolerance requirements, no sub-blocks will be marked, and thus no new seed sub-blocks will be generated based on the neighbor sub-block set of sub-block 3.

[0121] Among them, since sub-blocks 1 and 5 in the neighbor sub-block set of sub-block 2 have been marked, they are not traversed.

[0122] The above process is repeated, and when no new seed sub-blocks are generated, it is determined that the growth stops. After the growth stops, all the finally marked sub-blocks are the result of the growth. After the growth stops, the region of interest in the medical image can be obtained based on all the marked sub-blocks.

[0123] In an application scenario of the present disclosure, in response to a user selecting a block of the heart on a medical image, this block is used as a seed block, and the seed block is used as the starting point for growth to grow in units of blocks, and finally the region of interest of the heart in the medical image is obtained. For a single-layer medical image, it is beneficial to observe the patient's heart area on the medical image during the diagnosis and treatment process. For a multi-layer medical image, after all the marked blocks are obtained, according to the position coordinates of each pixel in each marked block, a 3D reconstruction of the patient's heart is performed, which is beneficial to provide three-dimensional information about the patient's heart, such as size, volume, etc., and then assist the doctor in diagnosis and medication, etc.

[0124] In summary, the medical image processing method provided by the present disclosure first clusters the pixels on the medical image to obtain multiple blocks, and then performs region growth in units of blocks according to the seed block selected by the user, and finally obtains the region of interest corresponding to the seed block selected by the user on the medical image. By clustering and dividing the medical image, multiple pixels that may generate holes are pre-divided into corresponding blocks, so that no holes will exist in the obtained region of interest. In addition, the basis for clustering includes the CT value distance, position distance of pixels, and the size of the block (determined by the parameter r). The size of the block is related to the size of the tissue or organ of interest. In this way, the k blocks iteratively obtained are almost completely close to the edge of the tissue or organ, or close to the edge with obvious visual differences. Therefore, each block has a clear boundary that fits the organ or tissue on the medical image, so that the finally obtained region of interest fits the boundary of the tissue or organ selected by the user, and thus a more accurate 3D reconstruction result can be obtained. Therefore, the present disclosure can also improve the accuracy of 3D reconstruction.

[0125] Figure 8 is a block diagram of a medical image processing device provided by an exemplary embodiment of the present disclosure, as Figure 8 shown. The medical image processing device 400 includes:

[0126] A pixel clustering module 401, configured to obtain a medical image, cluster the pixels on the medical image, and obtain multiple blocks;

[0127] A neighbor determination module 402, configured to determine the neighbor block set of each block;

[0128] A region growth module 403, configured to, in response to a seed block selected by the user, grow from the seed block to neighbor blocks in units of blocks according to the neighbor block set of each block;

[0129] A region obtaining module 404, configured to obtain the region of interest corresponding to the seed block in the medical image according to the growth result after the growth stops.

[0130] Optionally, the pixel clustering module 401 includes:

[0131] An initialization module for initially dividing the medical image into k sub - blocks;

[0132] An iterative clustering module for iteratively performing the following clustering process based on the k sub - blocks until the cluster centers of the k sub - blocks no longer change, and obtaining the final k sub - blocks:

[0133] Determine the cluster center of each sub - block among the k sub - blocks;

[0134] Traverse each pixel within each sub - block, and calculate the target distance between the pixel and the cluster center according to the CT value distance and position distance between the pixel and the cluster center of its sub - block;

[0135] Determine a pixel from each sub - block as the new cluster center of the sub - block according to the target distances corresponding to all pixels within each sub - block, obtaining k new cluster centers;

[0136] Determine the cluster center to which each pixel on the medical image belongs among the k new cluster centers;

[0137] Determine new k sub - blocks according to the k new cluster centers and the pixels belonging to each cluster center.

[0138] Optionally, when the iterative clustering module determines the cluster center to which each pixel on the medical image belongs among the k new cluster centers, it is used for:

[0139] Calculate the target distance between the pixel and the new cluster center according to the CT value distance and position distance between the pixel and the new cluster center of its sub - block;

[0140] Determine whether the target distance between the pixel and the new cluster center is less than a threshold;

[0141] If the target distance between the pixel and the new cluster center is not less than the threshold, determine multiple new cluster centers adjacent to the pixel;

[0142] Calculate the target distance between the pixel and each adjacent new cluster center according to the CT value distance and position distance between the pixel and each adjacent new cluster center;

[0143] Determine that the pixel belongs to the cluster center with the minimum target distance among the multiple adjacent new cluster centers.

[0144] Optionally, when the iterative clustering module determines the cluster center to which each pixel on the medical image belongs among the k new cluster centers, it is used for:

[0145] If the target distance between the pixel and the new cluster center is less than the threshold, it is determined that the pixel belongs to the new cluster center of the block where it is located.

[0146] Optionally, the iterative clustering module obtains the target distance between the pixel and the cluster center through the following calculation formula:

[0147]

[0148] where D is the target distance, P CT is the CT value of the pixel, C CT is the CT value of the cluster center, 1 / w is the first weight, (P x , P y ) is the position coordinate of the pixel, (C x , C y ) is the position coordinate of the cluster center, 1 / s is the second weight.

[0149] Optionally, the medical image is a multi-layer image, and the neighbor block set of each block includes the neighbor blocks of the current layer and the neighbor blocks of the adjacent layer; the pixel clustering module 401 is used to cluster the pixels on each layer of the medical image respectively to obtain multiple blocks on each layer of the image; the neighbor determination module 402 is used to:

[0150] For each block on each layer of the image, search for the blocks adjacent to the edge of the block among the multiple blocks of the current layer along the edge of the block to obtain the neighbor blocks of the block in the current layer;

[0151] Traverse each pixel in the block, and according to the position coordinate of the pixel in the current layer, search for the block to which the position coordinate belongs among the multiple blocks of the adjacent layer to obtain the neighbor blocks of the block in the adjacent layer.

[0152] Optionally, the region growing module 403 is used to:

[0153] In response to the seed block selected by the user, mark the seed block, traverse each unmarked block in the neighbor block set of the seed block, and determine whether the CT value of the block is within the tolerance;

[0154] If the CT value of the block is within the tolerance, mark the block;

[0155] For each block marked according to the neighbor block set of the seed block, take each marked block as a new seed block respectively, and execute the step of traversing each unmarked block in the neighbor block set of the seed block to determine whether the CT value of the block is within the tolerance;

[0156] When no new seed blocks are generated on the medical image, it is determined that the growth stops;

[0157] The region acquisition module 404 is configured to obtain the region of interest in the medical image according to all the marked blocks after growth stops.

[0158] Optionally, the tolerance is the absolute value of the difference between the CT value of the currently traversed block and the CT value of the seed block selected by the user.

[0159] Regarding the device in the above embodiments, the specific manners in which each module performs operations have been described in detail in the embodiments related to the method, and will not be elaborated herein.

[0160] Figure 9 is a block diagram of an electronic device 500 shown according to an exemplary embodiment. Referring to Figure 9 , the electronic device 500 includes a processor 522, the number of which may be one or more, and a memory 532 for storing computer programs executable by the processor 522. The computer programs stored in the memory 532 may include one or more modules each corresponding to a set of instructions. In addition, the processor 522 may be configured to execute the computer program to perform the above-mentioned medical image processing method.

[0161] In addition, the electronic device 500 may further include a power supply component 526 and a communication component 550. The power supply component 526 may be configured to perform power management of the electronic device 500, and the communication component 550 may be configured to enable communication of the electronic device 500, for example, wired or wireless communication. In addition, the electronic device 500 may further include an input / output (I / O) interface 558. The electronic device 500 may operate based on an operating system stored in the memory 532, such as Windows Server TM , Mac OSX TM , Unix TM , Linux TM and so on.

[0162] In another exemplary embodiment, a non-transitory computer-readable storage medium including a computer program is further provided. When the computer program is executed by a processor, the steps of the above-mentioned medical image processing method are implemented. For example, the non-transitory computer-readable storage medium may be the above-mentioned memory 532 including the computer program, and the above-mentioned computer program may be executed by the processor 522 of the electronic device 500 to complete the above-mentioned medical image processing method.

[0163] In another exemplary embodiment, a computer program product is also provided. The computer program product includes a computer program that can be executed by a programmable device, and the computer program has a code portion for executing the above-described medical image processing method when executed by the programmable device.

[0164] The preferred embodiments of the present disclosure have been described in detail above in conjunction with the accompanying drawings. However, the present disclosure is not limited to the specific details in the above embodiments. Within the scope of the technical concept of the present disclosure, various simple modifications can be made to the technical solutions of the present disclosure, and these simple modifications all fall within the protection scope of the present disclosure.

[0165] In addition, it should be noted that the various specific technical features described in the above specific embodiments can be combined in any suitable manner without conflict. To avoid unnecessary repetition, the present disclosure will not separately describe various possible combination methods.

[0166] Furthermore, any combination can be made between various different embodiments of the present disclosure as long as it does not violate the idea of the present disclosure, and it should also be regarded as the content disclosed by the present disclosure.

Claims

1. A medical image processing method, characterized in that, Including: Obtain a medical image, where the medical image is a multi-layer image. Cluster the pixels on the medical image to obtain multiple blocks. The multiple blocks are obtained by initializing the medical image, and the sizes of the initialized k blocks are related to the size of the tissue or organ of interest; The clustering of the pixels on the medical image to obtain multiple blocks includes: Cluster the pixels on each layer of the medical image respectively to obtain multiple blocks on each layer of the image. Perform the clustering operation on each layer of the medical image from top to bottom in sequence. After each layer of the image clustering operation is completed, first determine the neighbor blocks of each block on this layer in this layer and the neighbor blocks on the upper layer, and wait until the clustering operation of the next layer of the image is completed before determining the neighbor blocks on the next layer; Determine the neighbor block set of each block. The neighbor block set of each block includes the neighbor blocks of this layer and the neighbor blocks of the adjacent layer; The determination of the neighbor block set of each block includes: For each block on each layer of the image, search for the blocks adjacent to the edge of the block among the multiple blocks on this layer along the edge of the block to obtain the neighbor blocks of the block on this layer; Traverse each pixel in the block, and according to the position coordinates of the pixel on this layer, search for the block to which the position coordinates belong among the multiple blocks on the adjacent layer to obtain the neighbor blocks of the block on the adjacent layer; In response to the seed block selected by the user, grow from the seed block to the neighbor blocks in units of blocks according to the neighbor block set of each block; The growing from the seed block to the neighbor blocks in units of blocks according to the neighbor block set of each block in response to the seed block selected by the user includes: In response to the seed block selected by the user, mark the seed block, traverse each unmarked block in the neighbor block set of the seed block, and determine whether the CT value of the block is within the tolerance. The tolerance is the absolute value of the difference between the CT value of the currently traversed block and the CT value of the seed block selected by the user; If the CT value of the block is within the tolerance, mark the block; For each block marked according to the neighbor block set of the seed block, use each marked block as a new seed block respectively, and perform the step of traversing each unmarked block in the neighbor block set of the seed block to determine whether the CT value of the block is within the tolerance; When no new seed blocks are generated on the medical image, determine that the growth stops; After the growth stops, obtain the region of interest corresponding to the seed block in the medical image according to the growth result.

2. The method according to claim 1, wherein The clustering of the pixels on the medical image to obtain multiple blocks includes: Initialize the medical image into k blocks; Iteratively execute the following clustering process based on the k blocks until the clustering centers of the k blocks no longer change, and obtain the final k blocks: Determine the clustering center of each block among the k blocks; Traverse each pixel within each sub - block, and calculate the target distance between the pixel and the cluster center of its sub - block according to the CT value distance and position distance between the pixel and the cluster center of the sub - block where it is located; Determine a pixel from each sub - block as the new cluster center of the sub - block according to the target distances corresponding to all pixels within each sub - block, and obtain k new cluster centers; Determine the cluster center to which each pixel on the medical image belongs among the k new cluster centers; Determine k new sub - blocks according to the k new cluster centers and the pixels belonging to each cluster center; 3. The method according to claim 2, wherein The determining the cluster center to which each pixel on the medical image belongs among the k new cluster centers includes: Calculate the target distance between the pixel and the new cluster center of the sub - block where it is located according to the CT value distance and position distance between the pixel and the new cluster center of the sub - block where it is located; Determine whether the target distance between the pixel and the new cluster center is less than a threshold; If the target distance between the pixel and the new cluster center is not less than the threshold, then determine multiple new cluster centers adjacent to the pixel; Calculate the target distance between the pixel and each of the adjacent new cluster centers according to the CT value distance and position distance between the pixel and each adjacent new cluster center; Determine that the pixel belongs to the cluster center with the minimum target distance among the multiple adjacent new cluster centers; 4. The method according to claim 3, wherein After determining whether the target distance between the pixel and the new cluster center is less than the threshold, the method further includes: If the target distance between the pixel and the new cluster center is less than the threshold, then determine that the pixel belongs to the new cluster center of its sub - block; 5. The method according to any one of claims 2 to 4, characterized in that The target distance between a pixel and a cluster center is obtained through the following calculation formula: ; Among them, D is the target distance, P CT is the CT value of the pixel, C CT is the CT value of the clustering center, 1 / w is the first weight, (P x , P y ) is the position coordinate of the pixel, (C x , C y ) is the position coordinate of the clustering center, 1 / s is the second weight.

6. The method according to any one of claims 1-4, characterized in that, The obtaining the region of interest corresponding to the seed sub - block in the medical image according to the result of growth after growth stops includes: Obtain the region of interest in the medical image according to all the marked sub - blocks after growth stops; 7. A medical image processing device, characterized in that, including: A pixel clustering module, configured to obtain a medical image, cluster the pixels on the medical image to obtain multiple sub - blocks, and cluster the pixels on each layer of the medical image respectively to obtain multiple sub - blocks on each layer. The multiple sub - blocks are obtained by initializing the medical image, and the sizes of the initialized k sub - blocks are related to the size of the tissue or organ of interest; A neighbor determination module, configured to determine the set of neighbor sub - blocks of each sub - block. The set of neighbor sub - blocks of each sub - block includes neighbor sub - blocks of the current layer and neighbor sub - blocks of adjacent layers; For each sub - block on each layer of the image, search for the sub - blocks adjacent to the edge of the sub - block among the multiple sub - blocks of the current layer along the edge of the sub - block to obtain the neighbor sub - blocks of the sub - block on the current layer. Perform the clustering operation on each layer of the medical image in sequence from top to bottom. After each completion of the clustering operation on a layer of the image, first determine the neighbor sub - blocks of each sub - block on the current layer and the neighbor sub - blocks on the upper layer, and wait until the clustering operation on the next layer of the image is completed before determining the neighbor sub - blocks on the next layer; Traverse each pixel within the block, and based on the position coordinates of the pixel in this layer, search for the block to which the position coordinates belong among multiple blocks in the adjacent layer to obtain the neighbor blocks of the block in the adjacent layer; An area growth module, configured to respond to a seed block selected by a user, and grow from the seed block to neighbor blocks in units of blocks according to the neighbor block sets of each block; The growing from the seed block to neighbor blocks in units of blocks according to the neighbor block sets of each block in response to the seed block selected by the user includes: in response to the seed block selected by the user, marking the seed block, traversing each unmarked block in the neighbor block set of the seed block, determining whether the CT value of the block is within the tolerance, where the tolerance is the absolute value of the difference between the CT value of the currently traversed block and the CT value of the seed block selected by the user; if the CT value of the block is within the tolerance, then marking the block; for each block marked according to the neighbor block set of the seed block, taking each marked block as a new seed block respectively, and performing the step of traversing each unmarked block in the neighbor block set of the seed block to determine whether the CT value of the block is within the tolerance; when no new seed blocks are generated on the medical image anymore, determine that the growth stops; An area obtaining module, configured to obtain the region of interest corresponding to the seed block in the medical image according to the growth result after the growth stops.

8. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by a processor, it implements the steps of the method according to any one of claims 1-6.

9. An electronic device, characterized in that, Including: A memory having a computer program stored thereon; A processor, configured to execute the computer program in the memory to implement the steps of the method according to any one of claims 1-6.

Citation Information

Patent Citations

  • Sea surface target radar plot condensation method based on KD tree search and region growth

    CN112612012A

  • Coronary artery segmentation method based on local clustering and filtering

    CN113838036A