Data processing method, device, server and storage medium
By performing feature detection and matrix decomposition of medical slice maps, separating and storing data from feature areas and non-feature areas, the problems of large storage space and slow reading and writing speed of medical slice maps are solved, and the data volume is reduced and the reading speed is improved.
Patent Information
- Application Number
- CN202111666796.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-31
- Publication Date
- 2025-03-25
- Estimated Expiration
- 2041-12-31
AI Technical Summary
The storage of medical slice maps requires a lot of storage space and the reading and writing speed is slow, resulting in inefficient data processing.
By performing feature detection on the medical slice map, the feature area and the non-featured area are separated, the image features of the featured area are extracted and non-negative matrix decomposed, the value matrix and the key matrix are obtained, and they are correlated with the images of the non-featured area and stored separately.
It greatly reduces the amount of data stored in medical slice pictures, improves the data reading speed, and improves the efficiency of data processing.
Smart Images

Figure CN114443873B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data processing technology, and in particular to a data processing method, device, server and storage medium. Background Art
[0002] At present, as various industries gradually move towards full automation, various data need to be stored in the cloud. In the medical service industry, medical diagnosis and treatment information and other data will be stored and managed through the medical information service platform. Among them, the number of medical slice images is large. At present, storing medical slice images requires a large amount of storage space, and the reading and writing speeds are slow. Summary of the invention
[0003] The embodiments of the present application provide a data processing method, device, server and storage medium, which can greatly reduce the amount of data stored in medical slice images, so that the data reading speed can be improved in the subsequent reading process.
[0004] A first aspect of an embodiment of the present application provides a data processing method, the method comprising:
[0005] Obtaining medical slice images to be stored;
[0006] Performing feature detection on the medical slice image to obtain a feature area and a non-feature area in the medical slice image;
[0007] Extracting image features of the feature area, converting the image features of the feature area into a matrix to be decomposed, and performing non-negative matrix decomposition on the matrix to be decomposed to obtain a value matrix and a key matrix;
[0008] Associating the value matrix corresponding to the medical slice image with the image of the non-feature area corresponding to the medical slice image;
[0009] The value matrix and the key matrix are stored in a first database, and the image of the non-feature area is stored in a second database.
[0010] A second aspect of an embodiment of the present application provides a data processing device, the device comprising:
[0011] An acquisition unit, used for acquiring the medical slice image to be stored;
[0012] A detection unit, used for performing feature detection on the medical slice image to obtain a feature area and a non-feature area in the medical slice image;
[0013] A matrix decomposition unit, used for extracting the image features of the feature area, converting the image features of the feature area into a matrix to be decomposed, and performing non-negative matrix decomposition on the matrix to be decomposed to obtain a value matrix and a key matrix;
[0014] a processing unit, configured to associate the value matrix corresponding to the medical slice image with an image of a non-feature area corresponding to the medical slice image;
[0015] The third aspect of the present application provides a server, comprising: a processor and a memory; and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the processor, and the programs include instructions for some or all of the steps described in the first aspect.
[0016] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium is used to store a computer program, wherein the computer program enables a computer to execute instructions of some or all of the steps described in the first aspect of the embodiment of the present application.
[0017] In a fifth aspect, an embodiment of the present application provides a computer program product, wherein the computer program product includes a non-transitory computer-readable storage medium storing a computer program, and the computer program is operable to cause a computer to execute some or all of the steps described in the first aspect of the embodiment of the present application. The computer program product may be a software installation package.
[0018] Implementing the embodiments of the present application has the following beneficial effects:
[0019] It can be seen that through the data processing method, device, server and storage medium described in the embodiments of the present application, by obtaining the medical slice image to be stored; performing feature detection on the medical slice image to obtain the feature area and non-feature area in the medical slice image; extracting the image features of the feature area, converting the image features of the feature area into a matrix to be decomposed, and performing non-negative matrix decomposition on the matrix to be decomposed to obtain a value matrix and a key matrix; associating the value matrix corresponding to the medical slice image with the image of the non-feature area corresponding to the medical slice image; storing the value matrix and the key matrix in a first database, and storing the image of the non-feature area in a second database, in this way, by decomposing the feature area in the medical slice image to obtain the value matrix and the key matrix, and storing the value matrix and the key matrix, as well as the data of the non-feature area separately, the amount of data can be greatly reduced, so that in the subsequent reading process, the data reading speed can be improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0021] Figure 1 It is a schematic diagram of an embodiment flow of a data processing method provided in an embodiment of the present application;
[0022] Figure 2 It is a schematic diagram of an embodiment flow of a data processing method provided in an embodiment of the present application;
[0023] Figure 3 It is a schematic diagram of an embodiment flow of a data processing method provided in an embodiment of the present application;
[0024] Figure 4 It is a schematic diagram of the structure of an embodiment of a server provided in an embodiment of the present application;
[0025] Figure 5 It is a schematic diagram of the structure of an embodiment of a data processing device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0026] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0027] The terms "first", "second", "third" and "fourth" etc. in the specification and claims of the present application and the drawings are used to distinguish different objects, rather than to describe a specific order. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but optionally includes steps or units that are not listed, or optionally includes other steps or units inherent to these processes, methods, products or devices.
[0028] Reference to "embodiments" herein means that a particular feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present application. The appearance of the phrase in various locations in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described herein may be combined with other embodiments.
[0029] See also Figure 1 , is a flow chart of an embodiment of a data processing method provided in an embodiment of the present application. The data processing method described in this embodiment includes the following steps:
[0030] 101. Obtain the medical slice image to be stored.
[0031] The medical slice image to be stored is obtained, and specifically the medical slice image can be captured from the medical information service platform.
[0032] In specific implementation, during the medical service process, medical staff can upload medical slice images to the medical information service platform, and set up scheduled capture tasks. For example, scheduled capture tasks can be set up at fixed intervals such as each week / month to capture medical slice images to be stored from the medical service information platform. In this way, medical slice images within a week / month or a certain period of time can be captured.
[0033] The interval time can be set by the administrator or by the system default. Optionally, the interval time can also be set according to the number of medical slice images in a period of time or the amount of data that the system can process, so as to balance the number of medical slice images and the ability of the system to process medical slice images.
[0034] 102. Perform feature detection on the medical slice image to obtain feature areas and non-feature areas in the medical slice image.
[0035] Through the above-mentioned feature detection, each medical slice image can be divided into a feature area and a non-feature area, and then the data of the feature area and the data of the non-feature area can be stored separately.
[0036] In the embodiment of the present application, feature detection can be performed on the medical slice image to obtain the feature area in the medical slice image, and the feature area and the non-feature area can be extracted respectively, wherein the algorithm for feature detection may include Harris corner detection algorithm, scale-invariant feature transformation, SUSAN corner detection algorithm, etc., which will not be repeated here. Before feature detection, the medical slice image can also be preprocessed, and the preprocessing may include but is not limited to the following processing: image enhancement processing, binarization processing, smoothing processing, etc. Among them, the image enhancement processing may include but is not limited to: image denoising (for example, wavelet transform for image denoising), image restoration (for example, Wiener filtering), dark vision enhancement algorithm (for example, histogram equalization, grayscale stretching, etc.), after the medical slice image is subjected to image enhancement processing, the quality of the medical slice image can be improved to a certain extent.
[0037] In an embodiment of the present application, the feature area data and the non-feature area data can also be associated so that when the feature area data and the non-feature area data are subsequently read, the feature area data and the non-feature area data corresponding to the same medical slice image can be found based on the association relationship.
[0038] 103. Extract image features of the feature region, convert the image features of the feature region into a matrix to be decomposed, and perform matrix decomposition on the feature region to obtain a value matrix and a key matrix.
[0039] In the embodiment of the present application, considering that storing the medical slice image requires a large amount of storage space, the image features of the feature area can be extracted, and the image features of the feature area can be converted into a matrix to be decomposed to perform matrix decomposition on the feature area to obtain a value matrix and a key matrix, wherein the key matrix of each medical slice image is the same, and the value matrix and the key matrix are both non-negative matrices. Specifically, a non-negative matrix decomposition algorithm can be used to perform matrix decomposition on the feature area to obtain a value matrix and a key matrix.
[0040] Optionally, in the above step 103, converting the image features of the feature area into a matrix to be decomposed, and performing non-negative matrix decomposition on the matrix to be decomposed to obtain a value matrix and a key matrix may include the following steps:
[0041] Scanning the image features of the feature area to form an M×N dimensional matrix to be decomposed;
[0042] The matrix to be decomposed is subjected to non-negative matrix decomposition to obtain an M×R value matrix and an R×N key matrix, wherein both the value matrix and the key matrix are non-negative matrices.
[0043] Scanning the feature area to form an M×N dimensional matrix to be decomposed;
[0044] The key matrix of each medical slice diagram is the same, and both the value matrix and the key matrix are non-negative matrices.
[0045] By performing matrix decomposition on the data in the feature area, storage space and computing resources can be saved to a certain extent, and the speed of subsequent data reading can be improved.
[0046] 104. Associate the value matrix corresponding to the medical slice image with the image of the non-feature area corresponding to the medical slice image.
[0047] Among them, by associating the value matrix with the data of the non-feature area of the corresponding medical slice image, when the value matrix, key matrix and data of the non-feature area are subsequently read, the value matrix, key matrix and data of the non-feature area corresponding to the same medical slice image can be found according to the value matrix.
[0048] 105. Store the value matrix and the key matrix in a first database; store the data of the non-feature area in a second database.
[0049] Among them, by storing the value matrix and the key matrix in the first database; storing the data of the non-feature area in the second database, the feature area data and the non-feature area data can be stored separately, so that the data reading speed can be improved when the medical slice data is read subsequently.
[0050] Specifically, the value matrix and the key matrix, as well as the non-feature area, can be read from the first database and the second database in parallel, respectively, thereby improving the data reading speed.
[0051] Optionally, there are multiple medical slice images to be stored, and the data processing method further includes:
[0052] The memory size of each medical slice image to be stored is obtained.
[0053] In the above step 105, storing the value matrix and the key matrix in the first database, and storing the image of the non-feature area in the second database may include the following steps:
[0054] 51. Allocating system resources to each of the medical slice images to be stored according to the memory size of each of the medical slice images to be stored;
[0055] 52. Based on the allocated system resources, the value matrix and the key matrix are stored in a first database; and the image of the non-feature area is stored in a second database.
[0056] The data of the non-feature area is stored in the second database. Specifically, the data of the non-feature area can be stored in the second database through a differential DIFF algorithm. By using the DIFF algorithm to store the non-feature area data, the storage speed of the non-feature area data can be improved.
[0057] Optionally, the medical slice map includes n types, the upper limit of the number of threads running in parallel in the system is m, and m is greater than or equal to n. In the above step 51, the system resources are allocated to each medical slice map to be stored according to the memory size of each medical slice map to be stored, including:
[0058] Determine the number of threads corresponding to each of the n types according to the memory size of each medical slice image;
[0059] Real-time acquisition of the remaining memory size to be stored for the medical slice images of the type in storage state;
[0060] The k types to be stored in the next round and the number of threads corresponding to each type in the k types to be stored in the next round are re-determined according to the remaining memory size to be stored; wherein k is less than or equal to m.
[0061] Among them, the memory size of the medical slice map reflects the memory size of the feature area data and the non-feature area data to a certain extent. In addition, the larger the memory size of the medical slice map, the more system resources are consumed. Therefore, the system resources can be allocated according to the memory size of each medical slice map to ensure that the allocation of system resources improves the total efficiency of each type of medical slice map when there are more medical slice maps. In a specific implementation, the memory size of each medical slice map of each type in the n types is different. Therefore, more system resources can be allocated to each medical slice map of a type corresponding to a larger memory size, and relatively fewer system resources can be allocated to each medical slice map of a type corresponding to a smaller memory size. Therefore, in the process of synchronous data storage, it can be avoided that the data of the medical slice map with a smaller memory has been stored, and the data of the medical slice map with a larger memory still needs some time to be completed, which can improve the data storage speed as a whole when there are more medical slice maps.
[0062] In the embodiment of the present application, assuming that the upper limit of the number of threads that can be run in parallel by the system is m, where m is a positive integer and m is greater than or equal to n, different threads can be assigned to process the data of the same type of medical slice diagram in parallel. For example, the number of threads m is 5, n is 3, and the three types are type A, type B, and type C, respectively. The memory sizes corresponding to type A, type B, and type C can be determined according to the memory sizes of the medical slice diagrams; then, the number of threads corresponding to each of the three types can be determined according to the memory sizes corresponding to type A, type B, and type C, respectively. For example, the number of threads corresponding to type A, type B, and type C are 2, 2, and 1, respectively. During the data processing process, the class in the storage state can be obtained in real time. The remaining memory size to be stored of the medical slice images in the type is determined, and the k types to be stored in the next round are re-determined according to the remaining memory size to be stored, where k is 2, for example, and the number of threads corresponding to each type in the k types to be stored in the next round, for example, 2 types are type A and type C, and the numbers of threads corresponding to type A and type C are 3 and 2 respectively. It can be seen that in the data processing process, system resources can be flexibly allocated according to the memory size of each medical slice image, so that each medical slice image of the corresponding type with a larger memory size is allocated to more system resources, and each medical slice image of the corresponding type with a smaller memory size is allocated to relatively fewer system resources. Therefore, when there are more medical slice images, the data storage speed can be improved as a whole.
[0063] Optionally, the upper limit of the number of threads running in parallel in the system is m, and m is less than n. The allocating system resources to each of the medical slice images to be stored according to the memory size of each of the medical slice images to be stored may include the following steps:
[0064] Determining p types to be stored according to the memory size of each medical slice image, where p is less than n, and p is less than or equal to m;
[0065] Real-time acquisition of the remaining memory size to be stored for the medical slice images of the type in storage state;
[0066] The q types to be stored in the next round and the number of threads corresponding to each type in the k types to be stored in the next round are re-determined according to the remaining memory size to be stored, and q is less than or equal to m.
[0067] In the embodiment of the present application, assuming that the upper limit of the number of threads that can run in parallel in the system is m, where m is a positive integer and m is less than n, different threads can be assigned to process different types of medical slice images. For example, the number of threads m is 5, and n is 8, and the 8 types are respectively type A, type B, type C, type D, type E, type F, type G, and type H. The p types of medical slice images to be processed can be determined first, where p is less than n, and p is less than or equal to m. For example, p can be 5, type A, type B, type C, type D, and type E, and each thread processes a type of medical slice image. For another example, p can be 4, type A, type B, type C, and type D, and the corresponding numbers of threads are 2, 1, 1, and 1, respectively. Furthermore, in the process of data processing, medical slice images of the type in the storage state can be obtained in real time. The remaining memory size to be stored in the diagram is determined, and the q types to be stored in the next round and the number of threads corresponding to each of the k types to be stored in the next round are re-determined according to the remaining memory size to be stored, q is less than or equal to m, and the number of threads corresponding to each of the k types to be stored in the next round, q is 3, for example, the 3 types are type A, type B, and type C, and the corresponding numbers of threads are 2, 2, and 1 respectively. It can be seen that in the data processing process, system resources can be flexibly allocated according to the memory size of each medical slice diagram, so that each medical slice diagram of the corresponding type with a larger memory size is allocated to more system resources, and each medical slice diagram of the corresponding type with a smaller memory size is allocated to relatively fewer system resources. Therefore, when there are more medical slice diagrams, the data storage speed can be improved as a whole.
[0068] Optionally, in the embodiment of the present application, the following steps A1 to A3 may also be included:
[0069] A1, in response to a read request for reading a target medical slice image, reading a target value matrix and a target key matrix corresponding to the target medical slice image from the first database;
[0070] A2, reading an image of a non-feature area associated with the target value matrix from the second database according to the target value matrix;
[0071] A3. Generate the target medical slice image based on the value matrix, the key matrix and the image of the non-feature area.
[0072] Among them, by reading the target value matrix and the target key matrix from the first database respectively; and reading the corresponding non-feature area data from the second database according to the value matrix, the storage speed of reading feature area data (including value matrix and key matrix) and non-feature area data can be improved compared to directly storing and reading medical slice images.
[0073] Optionally, when reading the medical slice image, the value matrix and the key matrix can also be read from the first database; the data of the corresponding non-feature area can be read from the second database; and the value matrix, the key matrix and the data of the non-feature area belonging to the same medical slice image can be processed according to the value matrix to obtain complete medical slice image data. Specifically, when reading the value matrix and the key matrix from the first database and reading the data of the corresponding non-feature area from the second database, multiple sets of feature area data (including the value matrix and the key matrix) and non-feature area data of different medical slice images can be read.
[0074] Furthermore, the target medical slice image is generated based on the value matrix, the key matrix and the image of the non-feature area, wherein the value matrix and the key matrix are matrices containing eigenvalues of the image features of the feature area, i.e., the eigenvalues of the image features of the feature area are arranged in the form of a matrix, thereby, the target medical slice image can be generated according to the eigenvalues of the image features of the feature area in the value matrix and the key matrix and the eigenvalues of the image features of the non-specific area, thereby ensuring the integrity and accuracy of reading the medical slice image.
[0075] It can be seen that, through the data processing method provided in the embodiment of the present application, the medical slice image to be stored is obtained; feature detection is performed on the medical slice image to obtain the feature area and non-feature area in the medical slice image; the image features of the feature area are extracted, the image features of the feature area are converted into a matrix to be decomposed, and the matrix to be decomposed is non-negative matrix decomposition to obtain a value matrix and a key matrix; the value matrix corresponding to the medical slice image is associated with the image of the non-feature area corresponding to the medical slice image; the value matrix and the key matrix are stored in the first database, and the image of the non-feature area is stored in the second database. In this way, by decomposing the feature area in the medical slice image to obtain the value matrix and the key matrix, the value matrix and the key matrix, and the data of the non-feature area are stored separately, which can greatly reduce the amount of data, so that in the subsequent reading process, the data reading speed can be improved.
[0076] Consistent with the above, see Figure 2 , is a flow chart of an embodiment of a data processing method provided in an embodiment of the present application. The data processing method described in this embodiment includes the following steps:
[0077] 201. Obtain a medical slice image to be stored.
[0078] 202. Perform feature detection on the medical slice image to obtain feature areas and non-feature areas in the medical slice image.
[0079] 203. Scan the feature area to form an M×N dimensional matrix to be decomposed.
[0080] 204. Perform non-negative matrix decomposition on the matrix to be decomposed to obtain an M×R value matrix and an R×N key matrix; wherein the key matrix of each medical slice image is the same, and both the value matrix and the key matrix are non-negative matrices.
[0081] 205. Associate the value matrix corresponding to the medical slice image with the image of the non-feature area corresponding to the medical slice image.
[0082] 206. Store the value matrix and the key matrix in a first database; store the data of the non-feature area in a second database.
[0083] 207. In response to a read request for reading a target medical slice image, read a target value matrix and a target key matrix corresponding to the target medical slice image from the first database.
[0084] 208. Read an image of a non-feature area associated with the target value matrix from the second database according to the target value matrix.
[0085] 209. Generate the target medical slice image based on the value matrix, the key matrix and the image of the non-feature area.
[0086] The detailed description of the above steps 201 to 209 can be found in Figure 1 The corresponding steps of step 101 to step 104 of the described data processing method are not repeated here.
[0087] It can be seen that, through the data processing method provided by the embodiment of the present application, the medical slice image to be stored is obtained; feature detection is performed on the medical slice image to obtain the feature area and non-feature area in the medical slice image; the feature area is scanned to form an M×N dimensional matrix to be decomposed; the matrix to be decomposed is subjected to non-negative matrix decomposition to obtain an M×R value matrix and an R×N key matrix; the key matrix of each medical slice image is the same, and the value matrix and the key matrix are both non-negative matrices; the value matrix corresponding to the medical slice image is associated with the image of the non-feature area corresponding to the medical slice image; the value matrix and the key matrix are stored in the first database; the data of the non-feature area is stored in the second database; and in response to a read request to read the target medical slice image, The invention relates to a method for obtaining a target medical slice image, reading a target value matrix and a target key matrix corresponding to the target medical slice image from a first database; reading an image of a non-feature area associated with the target value matrix from the second database according to the target value matrix; generating a target medical slice image based on the value matrix, the key matrix and the image of the non-feature area, and performing matrix decomposition on the data of the feature area to save storage space and computing resources to a certain extent, thereby improving the speed of subsequent data reading; and storing the feature area data and the non-feature area data separately, thereby improving the storage speed of reading the feature area data (including the value matrix and the key matrix) and the non-feature area data when reading the medical slice data subsequently, compared with directly storing and reading the medical slice image.
[0088] Consistent with the above, see Figure 3 , is a flow chart of an embodiment of a data processing method provided in an embodiment of the present application. The data processing method described in this embodiment includes the following steps:
[0089] 301. Obtain a medical slice image to be stored.
[0090] 302. Perform feature detection on the medical slice image to obtain feature areas and non-feature areas in the medical slice image.
[0091] 303. Scan the feature area to form an M×N dimensional matrix to be decomposed.
[0092] 304. Perform non-negative matrix decomposition on the matrix to be decomposed to obtain an M×R value matrix and an R×N key matrix; wherein the key matrix of each medical slice image is the same, and both the value matrix and the key matrix are non-negative matrices.
[0093] 305. Associate the value matrix corresponding to the medical slice image with the image of the non-feature area corresponding to the medical slice image.
[0094] 306. Obtain the memory size of each medical slice image of each type of the n types.
[0095] 307. Determine the number of threads corresponding to each of the n types according to the memory size of each medical slice image.
[0096] 308. Obtain in real time the remaining memory size to be stored of the medical slice image of the type in storage state.
[0097] 309. Re-determine the k types to be stored in the next round and the number of threads corresponding to each type in the k types to be stored in the next round according to the remaining memory size to be stored; wherein k is less than or equal to m.
[0098] 310. Store the value matrix and the key matrix into a first database based on allocated system resources; and store the image of the non-feature area into a second database.
[0099] The specific description of the above steps 301 to 310 can be found in Figure 1 The corresponding steps of step 101 to step 104 of the described data processing method are not repeated here.
[0100] It can be seen that, through the data processing method provided by the embodiment of the present application, by obtaining the medical slice image to be stored; performing feature detection on the medical slice image to obtain the feature area and non-feature area in the medical slice image; scanning the feature area to form an M×N dimensional matrix to be decomposed; performing non-negative matrix decomposition on the matrix to be decomposed to obtain an M×R value matrix and an R×N key matrix; the key matrix of each medical slice image is the same, and the value matrix and the key matrix are both non-negative matrices; the value matrix corresponding to the medical slice image is associated with the image of the non-feature area corresponding to the medical slice image, the memory size of each medical slice image of each type in n types is obtained, the number of threads corresponding to each type in n types is determined according to the memory size of each medical slice image, the remaining memory size to be stored of the medical slice image in the type in the storage state is obtained in real time, and the k types to be stored in the next round and the number of threads corresponding to each type in the k types to be stored in the next round are re-determined according to the remaining memory size to be stored; the value matrix and the key matrix are stored in the first database based on the allocated system resources; and the image of the non-feature area is stored in the second database. By performing matrix decomposition on the data of the feature area, storage space and computing resources can be saved to a certain extent, and the speed of subsequent data reading can be improved; in the process of synchronous data storage, it can be avoided that the data of the medical slice image with a smaller memory has been stored, while the data of the medical slice image with a larger memory needs some time to be completed, and the data storage speed can be improved as a whole when there are many medical slice images; by storing the feature area data and the non-feature area data separately, when the medical slice data is read subsequently, compared with directly storing and reading the medical slice image, the storage speed of reading the feature area data (including the value matrix and the key matrix) and the non-feature area data can be improved.
[0101] Consistent with the above, the following is a device for implementing the above data processing method, specifically as follows:
[0102] See also Figure 4 , is a schematic diagram of the structure of an embodiment of a server provided in an embodiment of the present application. The server 400 described in this embodiment includes: at least one input device 1000; at least one output device 2000; at least one processor 3000, such as a CPU; and a memory 4000, wherein the input device 1000, the output device 2000, the processor 3000 and the memory 4000 are connected via a bus 5000.
[0103] The input device 1000 may specifically be a touch panel, a physical button or a mouse.
[0104] The output device 2000 may specifically be a display screen.
[0105] The memory 4000 may be a high-speed RAM memory or a non-volatile memory, such as a disk memory. The memory 4000 is used to store a set of program codes, and the input device 1000, the output device 2000 and the processor 3000 are used to call the program codes stored in the memory 4000 and perform the following operations:
[0106] The processor 3000 is used for:
[0107] Obtaining medical slice images to be stored;
[0108] Performing feature detection on the medical slice image to obtain a feature area and a non-feature area in the medical slice image;
[0109] Extracting image features of the feature area, converting the image features of the feature area into a matrix to be decomposed, and performing non-negative matrix decomposition on the matrix to be decomposed to obtain a value matrix and a key matrix;
[0110] Associating the value matrix corresponding to the medical slice image with the image of the non-feature area corresponding to the medical slice image;
[0111] The value matrix and the key matrix are stored in a first database, and the image of the non-feature area is stored in a second database.
[0112] In a possible example, in the aspect of converting the image features of the feature area into a matrix to be decomposed, and performing non-negative matrix decomposition on the matrix to be decomposed to obtain a value matrix and a key matrix, the processor 3000 is specifically used to:
[0113] Scanning the feature area to form an M×N dimensional matrix to be decomposed;
[0114] The matrix to be decomposed is subjected to non-negative matrix decomposition to obtain an M×R value matrix and an R×N key matrix; wherein the key matrix of each medical slice image is the same, and both the value matrix and the key matrix are non-negative matrices.
[0115] In a possible example, the processor 3000 is further specifically configured to:
[0116] In response to a read request for reading a target medical slice image, reading a target value matrix and a target key matrix corresponding to the target medical slice image from the first database;
[0117] Reading an image of a non-feature area associated with the target value matrix from the second database according to the target value matrix;
[0118] The target medical slice image is generated based on the value matrix, the key matrix and the image of the non-feature area.
[0119] In a possible example, there are multiple medical slice images to be stored, and the processor 3000 is further specifically configured to:
[0120] The memory size of each medical slice image to be stored is obtained.
[0121] In a possible example, in terms of storing the value matrix and the key matrix in the first database and storing the image of the non-feature area in the second database, the processor 3000 is specifically configured to:
[0122] Allocating system resources to each of the medical slice images to be stored according to the memory size of each of the medical slice images to be stored;
[0123] The value matrix and the key matrix are stored in a first database based on allocated system resources; and the image of the non-feature area is stored in a second database.
[0124] In a possible example, the medical slice images include n types, the upper limit of the number of threads running in parallel in the system is m, and m is greater than or equal to n. In terms of allocating system resources to each of the medical slice images to be stored according to the memory size of each of the medical slice images to be stored, the processor 3000 is specifically used to:
[0125] Determine the number of threads corresponding to each of the n types according to the memory size of each medical slice image;
[0126] Real-time acquisition of the remaining memory size to be stored for the medical slice images of the type in storage state;
[0127] The k types to be stored in the next round and the number of threads corresponding to each type in the k types to be stored in the next round are re-determined according to the remaining memory size to be stored; wherein k is less than or equal to m.
[0128] In a possible example, the upper limit of the number of threads running in parallel in the system is m, where m is less than n. In terms of allocating system resources to each of the medical slice images to be stored according to the memory size of each of the medical slice images to be stored, the processor 3000 is specifically configured to:
[0129] Determining p types to be stored according to the memory size of each medical slice image, where p is less than n, and p is less than or equal to m;
[0130] Real-time acquisition of the remaining memory size to be stored for the medical slice images of the type in storage state;
[0131] The q types to be stored in the next round and the number of threads corresponding to each type in the k types to be stored in the next round are re-determined according to the remaining memory size to be stored, and q is less than or equal to m.
[0132] It can be seen that Figure 4 The server shown acquires a medical slice image to be stored; performs feature detection on the medical slice image to obtain a feature area and a non-feature area in the medical slice image; extracts image features of the feature area, converts the image features of the feature area into a matrix to be decomposed, and performs non-negative matrix decomposition on the matrix to be decomposed to obtain a value matrix and a key matrix; associates the value matrix corresponding to the medical slice image with the image of the non-feature area corresponding to the medical slice image; stores the value matrix and the key matrix in a first database, and stores the image of the non-feature area in a second database. In this way, by decomposing the feature area in the medical slice image to obtain a value matrix and a key matrix, the value matrix and the key matrix, as well as the data of the non-feature area are stored separately, which can greatly reduce the amount of data, so that in the subsequent reading process, the data reading speed can be improved.
[0133] See also Figure 5 , is a schematic diagram of the structure of an embodiment of a data processing device provided in an embodiment of the present application. The data processing device 500 described in this embodiment includes: an acquisition unit 501, a detection unit 502, a matrix decomposition unit 503, a processing unit 504 and a storage unit 505, which are specifically as follows:
[0134] The acquisition unit 501 is used to acquire the medical slice image to be stored;
[0135] A detection unit 502 is used to perform feature detection on the medical slice image to obtain a feature area and a non-feature area in the medical slice image;
[0136] A matrix decomposition unit 503 is used to extract the image features of the feature area, convert the image features of the feature area into a matrix to be decomposed, and perform non-negative matrix decomposition on the matrix to be decomposed to obtain a value matrix and a key matrix;
[0137] A processing unit 504 is used to associate the value matrix corresponding to the medical slice image with the image of the non-feature area corresponding to the medical slice image;
[0138] The storage unit 505 is used to store the value matrix and the key matrix in a first database, and store the image of the non-feature area in a second database.
[0139] Optionally, in the aspect of converting the image features of the feature area into a matrix to be decomposed, and performing non-negative matrix decomposition on the matrix to be decomposed to obtain a value matrix and a key matrix, the matrix decomposition unit 503 is specifically used for:
[0140] Scanning the feature area to form an M×N dimensional matrix to be decomposed;
[0141] The matrix to be decomposed is subjected to non-negative matrix decomposition to obtain an M×R value matrix and an R×N key matrix; wherein the key matrix of each medical slice image is the same, and both the value matrix and the key matrix are non-negative matrices.
[0142] Optionally, the data processing device further includes a reading unit, specifically configured to:
[0143] In response to a read request for reading a target medical slice image, reading a target value matrix and a target key matrix corresponding to the target medical slice image from the first database;
[0144] Reading an image of a non-feature area associated with the target value matrix from the second database according to the target value matrix;
[0145] The target medical slice image is generated based on the value matrix, the key matrix and the image of the non-feature area.
[0146] Optionally, there are multiple medical slice images to be stored, and the acquisition unit 501 is specifically used for:
[0147] The memory size of each medical slice image to be stored is obtained.
[0148] Optionally, in the aspect of storing the value matrix and the key matrix in the first database and storing the image of the non-feature area in the second database, the storage unit 505 is specifically used for:
[0149] Allocating system resources to each of the medical slice images to be stored according to the memory size of each of the medical slice images to be stored;
[0150] The value matrix and the key matrix are stored in a first database based on allocated system resources; and the image of the non-feature area is stored in a second database.
[0151] Optionally, the medical slice map includes n types, the upper limit of the number of threads running in parallel in the system is m, and m is greater than or equal to n. In allocating system resources to each medical slice map to be stored according to the memory size of each medical slice map to be stored, the storage unit 505 is specifically used for:
[0152] Determine the number of threads corresponding to each of the n types according to the memory size of each medical slice image;
[0153] Real-time acquisition of the remaining memory size to be stored for the medical slice images of the type in storage state;
[0154] The k types to be stored in the next round and the number of threads corresponding to each type in the k types to be stored in the next round are re-determined according to the remaining memory size to be stored; wherein k is less than or equal to m.
[0155] Optionally, the upper limit of the number of threads running in parallel in the system is m, and m is less than n. In allocating system resources to each of the medical slice images to be stored according to the memory size of each of the medical slice images to be stored, the storage unit 505 is specifically used for:
[0156] Determining p types to be stored according to the memory size of each medical slice image, where p is less than n, and p is less than or equal to m;
[0157] Real-time acquisition of the remaining memory size to be stored for the medical slice images of the type in storage state;
[0158] The q types to be stored in the next round and the number of threads corresponding to each type in the k types to be stored in the next round are re-determined according to the remaining memory size to be stored, and q is less than or equal to m.
[0159] It can be seen that, through the data processing device described in the embodiment of the present application, the medical slice image to be stored is obtained; feature detection is performed on the medical slice image to obtain the feature area and non-feature area in the medical slice image; the image features of the feature area are extracted, the image features of the feature area are converted into a matrix to be decomposed, and the matrix to be decomposed is non-negative matrix decomposition to obtain a value matrix and a key matrix; the value matrix corresponding to the medical slice image is associated with the image of the non-feature area corresponding to the medical slice image; the value matrix and the key matrix are stored in the first database, and the image of the non-feature area is stored in the second database. In this way, by decomposing the feature area in the medical slice image to obtain the value matrix and the key matrix, the value matrix and the key matrix, and the data of the non-feature area are stored separately, which can greatly reduce the amount of data, so that in the subsequent reading process, the data reading speed can be improved.
[0160] It can be understood that the functions of each program module of the data processing device of this embodiment can be specifically implemented according to the method in the above method embodiment, and its specific implementation process can refer to the relevant description of the above method embodiment, which will not be repeated here.
[0161] An embodiment of the present application also provides a computer storage medium, wherein the computer storage medium may store a program, and when the program is executed, the program includes part or all of the steps of any one of the data processing methods recorded in the above method embodiments.
[0162] The embodiment of the present application provides a computer program product, wherein the computer program product includes a non-transitory computer-readable storage medium storing a computer program, and the computer program is operable to cause a computer to execute some or all of the steps described in any data processing method described in the embodiment of the present application. The computer program product may be a software installation package.
[0163] Although the present application is described herein in conjunction with various embodiments, in the process of implementing the claimed application, those skilled in the art may understand and implement other variations of the disclosed embodiments by viewing the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other components or steps, and "one" or "an" does not exclude multiple situations. A single processor or other unit may implement several functions listed in a claim. Certain measures are recorded in different dependent claims, but this does not mean that these measures cannot be combined to produce good results.
[0164] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, devices (equipment), or computer program products. Therefore, the present application may adopt the form of complete hardware embodiments, complete software embodiments, or embodiments in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code. The computer program is stored / distributed in a suitable medium, provided together with other hardware or as a part of hardware, and other distribution forms may also be adopted, such as by Internet or other wired or wireless telecommunication systems.
[0165] The present application is described with reference to the flowcharts and / or block diagrams of the methods, apparatuses (devices) and computer program products of the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0166] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0167] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0168] Although the present application has been described in conjunction with specific features and embodiments thereof, it is obvious that various modifications and combinations may be made thereto without departing from the spirit and scope of the present application. Accordingly, this specification and the drawings are merely exemplary illustrations of the present application as defined by the appended claims, and are deemed to have covered any and all modifications, variations, combinations or equivalents within the scope of the present application. Obviously, those skilled in the art may make various modifications and variations to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.
Claims
1. A data processing method, characterized in that: include: Obtaining medical slice images to be stored; Performing feature detection on the medical slice image to obtain a feature area and a non-feature area in the medical slice image; Extracting image features of the feature area, converting the image features of the feature area into a matrix to be decomposed, and performing non-negative matrix decomposition on the matrix to be decomposed to obtain a value matrix and a key matrix; Associating the value matrix corresponding to the medical slice image with the image of the non-feature area corresponding to the medical slice image; The value matrix and the key matrix are stored in a first database, and the image of the non-feature area is stored in a second database.
2. The data processing method according to claim 1, characterized in that: The step of converting the image features of the feature area into a matrix to be decomposed, and performing non-negative matrix decomposition on the matrix to be decomposed to obtain a value matrix and a key matrix includes: Scanning the image features of the feature area to form an M×N dimensional matrix to be decomposed; The matrix to be decomposed is subjected to non-negative matrix decomposition to obtain an M×R value matrix and an R×N key matrix, wherein both the value matrix and the key matrix are non-negative matrices.
3. The data processing method according to claim 2, characterized in that: The data processing method further includes: In response to a read request for reading a target medical slice image, reading a target value matrix and a target key matrix corresponding to the target medical slice image from the first database; Reading an image of a non-feature area associated with the target value matrix from the second database according to the target value matrix; The target medical slice image is generated based on the value matrix, the key matrix and the image of the non-feature area.
4. The data processing method according to any one of claims 1 to 3, characterized in that: The medical slice images to be stored are multiple, and the data processing method further includes: The memory size of each medical slice image to be stored is obtained.
5. The method according to claim 4, characterized in that The step of storing the value matrix and the key matrix into a first database and storing the image of the non-feature area into a second database comprises: Allocating system resources to each of the medical slice images to be stored according to the memory size of each of the medical slice images to be stored; The value matrix and the key matrix are stored in a first database based on allocated system resources; and the image of the non-feature area is stored in a second database.
6. The method according to claim 5, characterized in that The medical slice diagrams include n types, the upper limit of the number of threads running in parallel in the system is m, and m is greater than or equal to n. The system resources are allocated to each of the medical slice diagrams to be stored according to the memory size of each of the medical slice diagrams to be stored, including: Determine the number of threads corresponding to each of the n types according to the memory size of each medical slice image; Real-time acquisition of the remaining memory size to be stored for the medical slice images of the type in storage state; The k types to be stored in the next round and the number of threads corresponding to each type in the k types to be stored in the next round are re-determined according to the remaining memory size to be stored; wherein k is less than or equal to m.
7. The method according to claim 5, characterized in that The medical slice diagrams include n types, the upper limit of the number of threads running in parallel in the system is m, and m is less than n. The system resources are allocated to each of the medical slice diagrams to be stored according to the memory size of each of the medical slice diagrams to be stored, including: Determining p types to be stored according to the memory size of each medical slice image, where p is less than n, and p is less than or equal to m; Real-time acquisition of the remaining memory size to be stored for the medical slice images of the type in storage state; The q types to be stored in the next round and the number of threads corresponding to each type in the k types to be stored in the next round are re-determined according to the remaining memory size to be stored, and q is less than or equal to m.
8. A data processing device, characterized in that: The device comprises: An acquisition unit, used for acquiring the medical slice image to be stored; A detection unit, used for performing feature detection on the medical slice image to obtain a feature area and a non-feature area in the medical slice image; A matrix decomposition unit, used for extracting the image features of the feature area, converting the image features of the feature area into a matrix to be decomposed, and performing non-negative matrix decomposition on the matrix to be decomposed to obtain a value matrix and a key matrix; a processing unit, configured to associate the value matrix corresponding to the medical slice image with an image of a non-feature area corresponding to the medical slice image; The storage unit is used to store the value matrix and the key matrix in a first database, and store the image of the non-feature area in a second database.
9. A server, characterized in that: The method comprises a processor and a memory, wherein the memory is used to store one or more programs and is configured to be executed by the processor, wherein the programs include instructions for executing the steps in the method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that: A computer program for electronic data exchange is stored, wherein the computer program enables a computer to execute the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Method for processing head-related impulse response data set
CN104503963A
Tongue image extraction method and device and computer readable storage medium
CN110569879A