A method, apparatus, computer program product, and storage medium for data processing

CN122672967BActive Publication Date: 2026-10-09SHENYANG NEUSOFT INTELLIGENT MEDICAL TECH RES INST
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202610977914.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2026-07-02
Publication Date
2026-10-09
Estimated Expiration
2046-07-02

AI Technical Summary

Technical Problem

[0003]现有技术中,基于通用浏览器的医学影像处理方案广泛应用,其依赖通用浏览器物理内存加载数据,但可用连续内存较小,无法一次性加载数十至数百GB的成像数据,限制了这些高分辨率的断层成像方式在多场景下的应用和适配度

Benefits of technology

[0021] This application discloses a data processing method, apparatus, computer program product, and storage medium. A memory view is constructed based on the volume of target imaging data and the contiguous memory space of a general-purpose browser. The target imaging data is then segmented based on this memory view and written to the corresponding physical memory blocks. This adapts to the processing needs of hundreds of gigabytes of imaging data obtained in a single scan, achieving segmented storage and management of large files and avoiding memory overflow. Data processing software based on a general-purpose browser is used to process the data in the physical memory blocks, thereby efficiently processing large volumes of imaging data far exceeding the browser's memory capacity. This overcomes the contiguous memory limit of general-purpose browsers, solving the technical bottleneck that general-purpose browsers cannot process massive amounts of image data at once. It eliminates the need to develop a custom browser, reducing the development, deployment, and maintenance costs of the imaging data processing system and improving the versatility and convenience of the data processing solution.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122672967B_ABST
    Figure CN122672967B_ABST
Patent Text Reader

Abstract

The application discloses a data processing method and device, a computer program product and a storage medium, and relates to the technical field of data processing. A memory view is constructed according to the data volume of target imaging data and the continuous memory space of a general browser, the target imaging data is split based on the memory view, and is written into a physical memory block corresponding to the memory view. The processing requirement of a single scan for hundreds of GB of imaging data is adapted, segmented storage of large files is realized, and memory overflow is avoided. The data in the physical memory block is processed by data processing software based on the general browser, so that large-volume imaging data far exceeding the memory capacity of the browser is efficiently processed, the technical bottleneck that the general browser cannot process massive image data at a time is solved, a special-purpose browser does not need to be developed, the development, deployment and maintenance cost of an imaging data processing system is reduced, and the universality and convenience of a data processing scheme are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data processing technology, and in particular to a data processing method, apparatus, computer program product, and storage medium. Background Technology

[0002] In the field of medical imaging, there are various tomographic imaging methods. The spatial resolution of the image data obtained by some high-performance tomographic imaging methods is significantly better than that of the commonly used computer tomography (CT) scan. However, at the same time, the image data obtained by these high-resolution tomographic imaging methods in a single scan is also much larger in scale than that of conventional CT.

[0003] In the existing technology, medical image processing solutions based on general browsers are widely used. These solutions rely on the physical memory of general browsers to load data, but the available continuous memory is small, making it impossible to load tens to hundreds of GB of imaging data at once. This limits the application and adaptability of these high-resolution tomographic imaging methods in multiple scenarios. Summary of the Invention

[0004] To address the aforementioned issues, this application provides a data processing method, apparatus, computer program product, and storage medium to enable a universal browser to adapt to various tomographic imaging methods and improve the versatility of high-resolution tomographic imaging methods.

[0005] This application discloses a data processing method, the method comprising: The memory view space to be constructed is calculated based on the amount of target imaging data; the amount of data is obtained from the number of layers of the target imaging data, the resolution of each layer, and the space occupied by the gray value of each voxel; Based on the memory view space to be constructed and the contiguous memory space of the general browser, a memory view is constructed; the memory view includes a memory address mapping table and a slice index table; the memory address mapping table is used to record the association between the memory view space to be constructed and the physical memory block; the slice index table is used to record the address where each layer of data is stored in the physical memory block, and the number of voxels of each layer of data; The target imaging data is split based on the memory view and written into the physical memory block corresponding to the memory address mapping table, so that the data processing software based on the general browser can process the data in the physical memory block.

[0006] Optionally, constructing the memory view based on the memory view space to be constructed and the contiguous memory space of the general browser includes: Calculate the number of physical memory blocks based on the data volume and the contiguous memory space; Based on the memory view space to be constructed and the number of physical memory blocks, the memory address mapping table is constructed to obtain the memory view.

[0007] Optionally, the step of calculating the memory view space to be constructed based on the amount of target imaging data includes: Calculate the number of voxels in the target imaging data based on the resolution; The memory view space to be constructed is calculated based on the number of voxels, the number of layers of the target imaging data, and the space occupied by the grayscale values.

[0008] Optionally, calculating the number of physical memory blocks based on the data volume and the contiguous memory space includes: Based on the resolution and the space occupied by the grayscale value, calculate the single-layer space occupied by each layer of data in the target imaging data; Based on the contiguous memory space and the single-layer occupied space, calculate the number of data layers that can be stored in each contiguous memory block; The number of physical memory blocks is calculated based on the number of storable data layers and the number of target imaging data layers.

[0009] Optionally, constructing the memory address mapping table based on the memory view space to be constructed and the number of physical memory blocks includes: Based on the memory view space to be constructed and the number of physical memory blocks, each physical memory block is associated with the memory view; Record the space, address, and number of storage layers for each physical memory block to obtain the memory address mapping table.

[0010] Optionally, the step of splitting the target imaging data based on the memory view and writing it into the physical memory block corresponding to the memory address mapping table includes: The target imaging data is split into multiple slices, and the voxels in each slice are written into the physical memory block one by one. The address of each slice stored in the physical memory block, and the number of voxels in each slice, are written into the slice index table.

[0011] Optionally, after processing the data in the physical memory block, the method further includes: Based on the requirements of the memory view, the storage space of the physical memory blocks is released one by one.

[0012] Based on the above-mentioned data processing method, this application also discloses a data processing apparatus, including: a computing unit, a construction unit, and a writing unit; The computing unit is used to calculate the memory view space to be constructed based on the amount of data of the target imaging data; the amount of data is obtained by the number of layers of the target imaging data, the resolution of each layer of data, and the space occupied by the gray value of each voxel; The construction unit is used to construct a memory view based on the memory view space to be constructed and the contiguous memory space of the general browser; the memory view includes a memory address mapping table and a slice index table; the memory address mapping table is used to record the association between the memory view space to be constructed and the physical memory block; the slice index table is used to record the address where each layer of data is stored in the physical memory block, and the number of voxels of each layer of data; The writing unit is used to split the target imaging data based on the memory view and write it into the physical memory block corresponding to the memory address mapping table, so that the data processing software based on the general browser can process the data in the physical memory block.

[0013] Optionally, the building unit includes: The memory block count calculation subunit is used to calculate the number of physical memory blocks based on the amount of data and the contiguous memory space. The mapping table construction subunit is used to construct the memory address mapping table based on the memory view space to be constructed and the number of physical memory blocks, thereby obtaining the memory view.

[0014] Optionally, the computing unit includes: A quantity calculation subunit is used to calculate the number of voxels in the target imaging data based on the resolution. The spatial computing subunit is used to calculate the memory view space to be constructed based on the number of voxels, the number of layers of the target imaging data, and the space occupied by the grayscale values.

[0015] Optionally, the memory block count calculation subunit includes: A single-layer occupancy space calculation subunit is used to calculate the single-layer occupancy space of each layer of data in the target imaging data based on the resolution and the grayscale value occupancy space; The storable data layer calculation subunit is used to calculate the storable data layer of each contiguous memory block based on the contiguous memory space and the single-layer occupied space; The physical memory block quantity calculation subunit is used to calculate the number of physical memory blocks based on the number of storable data layers and the number of target imaging data layers.

[0016] Optionally, the mapping table construction subunit includes: The association subunit is used to associate each physical memory block with the memory view based on the memory view space to be constructed and the number of physical memory blocks; The mapping table acquisition sub-unit is used to record the space, address and number of storage layers of each physical memory block to obtain the memory address mapping table.

[0017] Optionally, the writing unit includes: The splitting subunit is used to split the target imaging data into multiple slices and write the voxels in each slice into the physical memory block one by one. A recording subunit is used to write the address of each slice stored in the physical memory block and the number of voxels in each slice into the slice index table.

[0018] Optionally, the device further includes: The release unit is used to release the storage space of the physical memory blocks one by one based on the needs of the memory view.

[0019] Based on the above-described data processing method, this application also discloses a computer program product, which includes a computer program that, when run by a processor, is used to implement the above-described method.

[0020] Based on the above-described data processing method, this application also discloses a storage medium for storing computer program instructions, which, when executed by a central processing unit, are used to implement the above-described method.

[0021] This application discloses a data processing method, apparatus, computer program product, and storage medium. A memory view is constructed based on the volume of target imaging data and the contiguous memory space of a general-purpose browser. The target imaging data is then segmented based on this memory view and written to the corresponding physical memory blocks. This adapts to the processing needs of hundreds of gigabytes of imaging data obtained in a single scan, achieving segmented storage and management of large files and avoiding memory overflow. Data processing software based on a general-purpose browser is used to process the data in the physical memory blocks, thereby efficiently processing large volumes of imaging data far exceeding the browser's memory capacity. This overcomes the contiguous memory limit of general-purpose browsers, solving the technical bottleneck that general-purpose browsers cannot process massive amounts of image data at once. It eliminates the need to develop a custom browser, reducing the development, deployment, and maintenance costs of the imaging data processing system and improving the versatility and convenience of the data processing solution. Attached Figure Description

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

[0023] Figure 1 This is a flowchart illustrating a data processing method disclosed in an embodiment of this application; Figure 2 This is a schematic diagram of a memory view disclosed in an embodiment of this application; Figure 3 This is a schematic diagram of PCCT imaging data splitting disclosed in an embodiment of this application; Figure 4 This is a flowchart illustrating another data processing method disclosed in an embodiment of this application; Figure 5 This is a schematic diagram of the structure of a data processing apparatus disclosed in an embodiment of this application. Detailed Implementation

[0024] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0025] Example 1: This application discloses a data processing method.

[0026] For details, please refer to Figure 1 The data processing method disclosed in this embodiment includes the following steps: Step 101: Calculate the memory view space to be constructed based on the amount of target imaging data.

[0027] In the method of this embodiment, it is first necessary to quantify the data scale of the target imaging data, and then calculate and construct a virtual continuous memory view by combining the maximum contiguous memory space available to a general web browser. Specifically, the memory view space to be constructed can be calculated based on the data volume, which is determined by the number of layers of the target imaging data, the resolution of each layer, and the space occupied by the grayscale value of each voxel.

[0028] For example, photon-counting computer tomography (PCCT) produces imaging data with ultra-high spatial resolution. It typically uses 0.2mm isotropic voxels and can generate hundreds to thousands of images in a single scan. Each layer contains hundreds of thousands to millions of voxels, and each voxel's gray value usually occupies a fixed number of bytes (e.g., 2 bytes, used to store gray value information). Therefore, the data volume of a complete image sequence can reach tens of GB or even hundreds of GB, far exceeding the scale of conventional data.

[0029] As a feasible approach, the total memory size required to load a complete imaging data sequence can be accurately calculated using the three key parameters mentioned above: number of layers, resolution, and voxel space occupied, providing a data foundation for subsequent memory view construction.

[0030] In this embodiment, the method for calculating the memory view space to be constructed can specifically involve calculating the number of voxels in the target imaging data based on the resolution, and then calculating the memory view space to be constructed based on the number of voxels, the number of layers in the target imaging data, and the space occupied by grayscale values. As one feasible approach, firstly, based on the resolution parameters of each layer of the target imaging data, i.e., the product of the number of pixels in the X direction and the number of pixels in the Y direction, the total number of voxels contained in a single slice is calculated. Then, the calculated total number of voxels in a single slice, the total number of layers in the entire imaging data sequence, and the fixed storage space occupied by the grayscale value of a single voxel are multiplied together to accurately obtain the total storage space required to load the complete imaging data sequence. This total storage space is the memory view space to be constructed subsequently, providing a quantitative basis for setting the size of the virtual memory view. For example, if the target imaging data sequence contains Z=768 layers, each layer has a resolution of X×Y=640×512, and each voxel gray value occupies 2 bytes of storage space, then the number of voxels in each layer is V=640×512=327680, and the memory view space to be constructed is L=327680×768×2=503316480 bytes, which is approximately 480MB.

[0031] Step 102: Construct a memory view based on the memory view space to be constructed and the contiguous memory space of the general browser.

[0032] In this embodiment, the number of physical memory blocks can be calculated based on the data volume and contiguous memory space. A memory address mapping table can be constructed based on the memory view space to be built and the number of physical memory blocks, resulting in a memory view. Furthermore, based on the calculated data volume and the upper limit of contiguous memory space in a common browser (typically 2GB for mainstream web browsers), the massive data volume can be further rationally divided, and the required number of physical memory blocks can be accurately calculated, ensuring that the size of each physical memory block does not exceed the browser's contiguous memory limit, thus avoiding memory overflow issues. Finally, based on the total space required for the memory view and the number of physical memory blocks, a memory address mapping table is constructed for address mapping. This table links virtual memory addresses to the actual addresses of physical memory blocks in detail, ultimately generating a logically contiguous but physically segmented memory view. This allows for unified management and addressing of dispersed physical memory blocks, meeting the loading, storage, and processing needs of massive image data.

[0033] As an feasible method, the specific approach for calculating the number of physical memory blocks based on data volume and contiguous memory space can be as follows: First, calculate the single-layer space occupied by each data layer in the target imaging data based on resolution and grayscale value space. Then, calculate the number of data layers that can be stored in each contiguous memory block based on contiguous memory space and single-layer space occupied. Finally, calculate the number of physical memory blocks based on the number of storable data layers and the number of layers in the target imaging data. As an feasible solution, firstly, calculate the actual memory space occupied by a single slice based on the resolution of each layer of the target imaging data and the space occupied by the grayscale value of a single voxel. Then, combining this with the maximum contiguous memory space limit supported by a general web browser, divide this limit by the single-layer data space occupied to calculate the maximum number of image slice layers that a single physical memory block can hold. This ensures that the capacity of each memory block does not exceed the browser's memory limit, avoiding memory overflow, program crashes, and other anomalies during loading. The formula can be shown as follows: (1) In the formula, Z' is the number of data layers that can be stored in each contiguous memory block, and U is the contiguous memory space.

[0034] In this embodiment, the total number of layers in the imaging data sequence is divided by the maximum number of layers that a single memory block can hold, and then rounded up to obtain the total number of physical memory blocks required, thus achieving reasonable segmentation and splitting of ultra-large volume imaging data. The formula is as follows: (2) In the formula, B is the number of physical memory blocks, and Z is the number of layers of target imaging data.

[0035] For example, if a single layer of data occupies 524,288 bytes (approximately 512KB), and the browser's contiguous memory limit is 2,147,483,648 bytes (2GB), then the maximum number of layers that a single memory block can store is 2,147,483,648 ÷ 524,288 = 4096 layers. If the total number of layers in the target image is 2048, then the number of physical memory blocks is... 2048÷4096 =1 piece.

[0036] In this embodiment, based on the memory view space to be constructed and the number of physical memory blocks, each physical memory block is associated with the memory view, and the space, address, and number of storable layers of each physical memory block are recorded to obtain a memory address mapping table. Specifically, based on the calculated total space of the memory view and the number of physical memory blocks, a one-to-one address mapping association is established between each independent physical memory block and a logically contiguous memory view, opening up the mapping channel between virtual memory addresses and physical memory actual addresses. Each physical memory block is an independent memory unit with its own storage space, start address, and end address, and they are independent and do not interfere with each other. Subsequently, the key parameters of each physical memory block are recorded in detail, including core information such as actual space size, physical start address, physical end address, and number of storable image slice layers. The above parameters are organized and summarized in a structured format to form a standardized, complete, and searchable memory address mapping table. This mapping table allows multiple scattered and independent physical memory blocks to be logically integrated into a single, uniformly managed virtual memory space (i.e., a memory view), enabling unified addressing and scheduling of segmented imaging data and adapting to the loading, storage, and processing needs of ultra-large volume image data.

[0037] As one feasible solution, the memory address mapping table is shown in the following table: Table 1 Memory Address Mapping Table

[0038] In the table, virtual memory blocks are memory blocks partitioned in the memory view, and they have a mapping relationship with actual physical memory blocks. This mapping satisfies the following relationship: (3) (4) In the formula, l i For the space of the i-th physical memory block, Let be the ending address of the i-th physical memory block. Let z be the starting address of the i-th physical memory block. i Let be the number of layers / slices that can be stored in the i-th physical memory block (i=1, 2, ..., n, n=B).

[0039] In the method of this embodiment, Figure 2 This is a schematic diagram of a memory view disclosed in an embodiment of this application, such as... Figure 2 As shown, the physical memory of a general web browser consists of discontinuous blocks of physical memory space. By mapping these discontinuous physical memory spaces to a memory view, data can be written and processed as if they were contiguous spaces.

[0040] Step 103: Based on the memory view, the target imaging data is split and written into the physical memory block corresponding to the memory address mapping table, so that the data processing software based on the general browser can process the data in the physical memory block.

[0041] In this embodiment, the target imaging data is divided into multiple slices. Voxels in each slice are written one by one into the physical memory block, and the address of each slice stored in the physical memory block and the number of voxels in each slice are recorded to obtain a slice index table. Specifically, the target imaging data can be ordered and written block by block based on the constructed memory view and its associated physical memory block.

[0042] As a feasible solution, such as Figure 3 As shown, in order to adapt to the segmented storage characteristics of physical memory blocks and avoid memory overflow caused by loading a large volume of data at once, the complete 3D PCCT imaging data is first decomposed layer by layer along the Z-axis (tomographic direction) and separated into independent 2D tomographic slices. Each slice corresponds to a tomographic layer of the human body or object. Then, it is further decomposed along the X-axis and Y-axis from the voxel dimension to match the data decomposition logic with the actual physical structure of the image and avoid loss and misalignment of 3D spatial information.

[0043] In the method of this embodiment, after the splitting is completed, all voxels in each 2D slice can be written one by one into the physical memory block corresponding to the memory view according to the preset voxel arrangement order. The writing process can be specifically as follows: first, the slice is traversed row by row along the Y direction, and then all voxel data in each row is written sequentially along the X direction, so that the storage location of the voxels in the physical memory corresponds one-to-one with the spatial coordinates of the original image and is accurately mapped, avoiding voxel disorder, data misalignment or information loss, and ensuring that the three-dimensional spatial relationship remains consistent during subsequent data reading, reconstruction and analysis.

[0044] In the method of this embodiment, during the entire process of writing each layer of slice voxels into the physical memory block, key information of each layer of slice stored in the physical memory block can be recorded synchronously, thereby constructing a complete, standardized, and fast-searchable slice index table. Specifically, for each layer of slice, its corresponding starting address in physical memory and the total number of voxels contained in that layer of slice are recorded precisely. Among them, the starting address is used to quickly locate the storage location of the slice in segmented physical memory, and the number of voxels is used to identify the data scale and storage occupation of a single slice. By recording, summarizing in a structured manner, and standardizing the above information, a standard, indexable, and fast-searchable slice index table is finally formed. This slice index table and the memory address mapping table work together to provide accurate, reliable, and fast-locating address basis for efficient retrieval, accurate reading, and real-time modification of any single voxel or entire layer of slice data in a logically continuous memory view. This enables ultra-large volume imaging data to be efficiently, accurately, and stably managed, scheduled, and called in segmented and discrete physical memory, adapting to the large-volume imaging data processing needs in a general web browser environment.

[0045] For example, suppose a target imaging data sequence contains Z=768 layers, each with a resolution of X×Y=640×512, resulting in 768 independent two-dimensional slices. During data writing, each slice starts at row Y=0 and proceeds row by row to row Y=511. Within each row, starting at column X=0, all voxels from column X=0 to X=639 are sequentially written to the corresponding physical memory block. The starting address of the first slice in physical memory is recorded as 0x00000000, with 327680 voxels. The starting address of the second slice is 0x00050000, with 327680 voxels. The starting address of the third slice is 0x000A0000, with 327680 voxels, and so on, until all 768 slices have been written and their index information recorded.

[0046] As one feasible solution, the slice index table is shown in the following table: Table 2 Slice Index Table

[0047] In the method of this embodiment, when processing data in the physical memory block, operations including retrieval, reading, and modification can be performed. Specifically, when retrieving the position of a voxel (x, y, z) in the physical memory block, the starting address of the corresponding slice in the physical memory can be retrieved first from the slice index table based on the slice layer number z. Then, the physical memory address of the voxel (x, y, z) can be obtained by the following formula: (5) In the formula, the value of x ranges from 0 to X-1, the value of y ranges from 0 to Y-1, and both x and y are integers.

[0048] In the method of this embodiment, after retrieving the location of a voxel (x, y, z) in the physical memory block, the voxel data stored at that location can be read. After retrieving the location of a layer number, all voxel data of that layer can be retrieved consecutively according to the number of voxels in that layer in the slice index table. Furthermore, if it is necessary to modify a voxel, the location of that voxel in the physical memory block can be retrieved first, the voxel data stored at that location can be read, and then the modified data can be written to that location.

[0049] In the method of this embodiment, after processing the data in the physical memory block, if the actual need requires releasing the storage space in the physical memory block, the starting address and size of each physical memory block can be retrieved one by one from the memory address mapping table, and the physical memory blocks can be released one by one, and the memory space storing the memory address mapping table and the slice index table can be released.

[0050] The method described in this embodiment breaks through the upper limit of the continuous memory space of mainstream browsers by constructing a memory view between the data processing software and a general browser. It can support the complete loading, 3D reconstruction, and real-time processing of PCCT ultra-large volume imaging data ranging from tens to hundreds of GB without customizing a dedicated browser. This solves the technical problem that traditional web environments cannot handle massive amounts of PCCT data, improving the feasibility and applicability of medical image processing. Simultaneously, relying on a memory address mapping table and a slice index table to achieve logically unified management of discrete physical memory, coupled with a standardized set of data read, write, retrieval, modification, and release operations, data processing is highly efficient and stable, and addressing is accurate and fast. This not only meets the lightweight requirements of computing-constrained platforms but also supports high-frequency use in multiple scenarios such as remote diagnosis, assisted screening, multi-center clinical research, intraoperative navigation, and medical education and training, demonstrating strong versatility, universality, and cross-platform capabilities.

[0051] The method described in this embodiment requires no dedicated hardware or customized browser, significantly reducing the costs of system development, deployment, maintenance, and upgrades. It effectively breaks down equipment barriers and geographical limitations, improving the accessibility of high-end medical imaging services. Running entirely in a secure web environment, it offers robust security while supporting continuous model iteration and closed-loop optimization for abnormal data. This provides secure, intelligent, and low-cost core support for scenarios such as complex high-altitude environments, telemedicine, and primary care. It is also applicable to other general big data scenarios where data volumes exceed the browser's continuous memory limit and require continuous memory processing, demonstrating broad technological expansion and industrial application value.

[0052] Example 2: This application discloses another data processing method; please refer to [link / reference]. Figure 4This embodiment describes the entire process of writing PCCT imaging data.

[0053] Step 201: Based on the number of layers in the target PCCT imaging data, the resolution of each layer, and the space occupied by the gray value of each voxel, obtain the amount of data in the target PCCT imaging data.

[0054] Step 202: Determine the size of the memory view to be built based on the amount of data.

[0055] Step 203: Determine the number of physical memory blocks required based on the amount of data and the contiguous memory space of the general browser.

[0056] Step 204: Based on the size of the memory view and the number of physical memory blocks, construct a memory address mapping table for address mapping to obtain the memory view.

[0057] Step 205: Split the target PCCT imaging data according to the memory view, and write the split data blocks into the memory view.

[0058] Step 206: Build a slice index table based on the written data.

[0059] Based on the data processing method disclosed in the above embodiments, this embodiment correspondingly discloses a data processing apparatus. Please refer to... Figure 5 The data processing device includes: a computing unit 301, a construction unit 302, and a writing unit 303; The calculation unit 301 is used to calculate the memory view space to be constructed based on the amount of data of the target imaging data; the amount of data is obtained by the number of layers of the target imaging data, the resolution of each layer of data, and the space occupied by the gray value of each voxel. The construction unit 302 is used to construct a memory view based on the memory view space to be constructed and the contiguous memory space of the general browser; the memory view includes a memory address mapping table and a slice index table; the memory address mapping table is used to record the association between the memory view space to be constructed and the physical memory block; the slice index table is used to record the address where each layer of data is stored in the physical memory block, and the number of voxels of each layer of data; The writing unit 303 splits the target imaging data based on the memory view and writes it into the physical memory block corresponding to the memory address mapping table, so that the data processing software based on the general browser can process the data in the physical memory block.

[0060] Optionally, the building unit 302 includes: The memory block count calculation subunit is used to calculate the number of physical memory blocks based on the amount of data and the contiguous memory space. The mapping table construction subunit is used to construct the memory address mapping table based on the memory view space to be constructed and the number of physical memory blocks, thereby obtaining the memory view.

[0061] Optionally, the computing unit 301 includes: A quantity calculation subunit is used to calculate the number of voxels in the target imaging data based on the resolution. The spatial computing subunit is used to calculate the memory view space to be constructed based on the number of voxels, the number of layers of the target imaging data, and the space occupied by the grayscale values.

[0062] Optionally, the memory block count calculation subunit includes: A single-layer occupancy space calculation subunit is used to calculate the single-layer occupancy space of each layer of data in the target imaging data based on the resolution and the grayscale value occupancy space; The storable data layer calculation subunit is used to calculate the storable data layer of each contiguous memory block based on the contiguous memory space and the single-layer occupied space; The physical memory block quantity calculation subunit is used to calculate the number of physical memory blocks based on the number of storable data layers and the number of target imaging data layers.

[0063] Optionally, the mapping table construction subunit includes: The association subunit is used to associate each physical memory block with the memory view based on the memory view space to be constructed and the number of physical memory blocks; The mapping table acquisition sub-unit is used to record the space, address and number of storage layers of each physical memory block to obtain the memory address mapping table.

[0064] Optionally, the writing unit 303 includes: The splitting subunit is used to split the target imaging data into multiple slices and write the voxels in each slice into the physical memory block one by one. A recording subunit is used to write the address of each slice stored in the physical memory block and the number of voxels in each slice into the slice index table.

[0065] Optionally, the device further includes: The release unit is used to release the storage space of the physical memory blocks one by one based on the needs of the memory view.

[0066] Based on the above-described data processing method, this application also discloses a computer program product, which includes a computer program that, when run by a processor, is used to implement the above-described method.

[0067] Based on the above-described data processing method, this application also discloses a storage medium for storing computer program instructions, which, when executed by a central processing unit, are used to implement the above-described method.

[0068] The embodiments in this specification are described in a progressive manner. For the apparatus disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the description is relatively simple; relevant details can be found in the method section.

[0069] It should also be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0070] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein can be implemented directly by hardware, a software module executed by a processor, or a combination of both. The software module can be located in random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art.

[0071] The features described in the embodiments of this specification can be substituted for or combined with each other, so that those skilled in the art can implement or use this application.

[0072] The above description of the disclosed embodiments enables those skilled in the art to make or use this application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A data processing method, characterized in that, include: Calculate the memory view space to be constructed based on the amount of target imaging data; The amount of data is obtained from the number of layers of the target imaging data, the resolution of each layer, and the space occupied by the gray value of each voxel; The memory view space to be constructed is the storage space required to load the amount of data; The data volume is split based on the data volume and the contiguous memory space of a general browser. A memory view is constructed based on the split data and the memory view space to be constructed. The memory view includes a memory address mapping table and a slice index table; The memory address mapping table is used to record the association between the memory view space to be constructed and the physical memory block; the slice index table is used to record the address where each layer of data is stored in the physical memory block, and the number of voxels in each layer of data; The target imaging data is split based on the memory view and written into the physical memory block corresponding to the memory address mapping table, so that the data processing software based on the general browser can process the data in the physical memory block.

2. The method according to claim 1, characterized in that, The process of splitting the data volume based on the data size and the contiguous memory space of a general browser, and constructing a memory view based on the split data and the memory view space to be constructed, includes: Based on the data volume and the contiguous memory space, the data volume is split into blocks, and the number of physical memory blocks used to store the split data is calculated. Based on the memory view space to be constructed and the number of physical memory blocks, the memory address mapping table is constructed to obtain the memory view.

3. The method according to claim 1, characterized in that, The step of calculating the memory view space to be constructed based on the amount of target imaging data includes: Calculate the number of voxels in the target imaging data based on the resolution; The memory view space to be constructed is calculated based on the number of voxels, the number of layers of the target imaging data, and the space occupied by the grayscale values.

4. The method according to claim 2, characterized in that, The calculation of the number of physical memory blocks based on the data volume and the contiguous memory space includes: Based on the resolution and the space occupied by the grayscale value, calculate the single-layer space occupied by each layer of data in the target imaging data; Based on the contiguous memory space and the single-layer occupied space, calculate the number of data layers that can be stored in each contiguous memory block; The number of physical memory blocks is calculated based on the number of storable data layers and the number of target imaging data layers.

5. The method according to claim 2, characterized in that, The step of constructing the memory address mapping table based on the memory view space to be constructed and the number of physical memory blocks includes: Based on the memory view space to be constructed and the number of physical memory blocks, each physical memory block is associated with the memory view; Record the space, address, and number of storage layers for each physical memory block to obtain the memory address mapping table.

6. The method according to claim 1, characterized in that, The step of splitting the target imaging data based on the memory view and writing it into the physical memory block corresponding to the memory address mapping table includes: The target imaging data is split into multiple slices, and the voxels in each slice are written into the physical memory block one by one. The address of each slice stored in the physical memory block, and the number of voxels in each slice, are written into the slice index table.

7. The method according to claim 1, characterized in that, After processing the data in the physical memory block, the method further includes: Based on the requirements of the memory view, the storage space of the physical memory blocks is released one by one.

8. A data processing apparatus, characterized in that, include: Computation unit, construction unit, and writing unit; The computing unit is used to calculate the memory view space to be constructed based on the amount of target imaging data; The amount of data is obtained from the number of layers of the target imaging data, the resolution of each layer, and the space occupied by the gray value of each voxel; The construction unit is used to construct a memory view based on the memory view space to be constructed and the contiguous memory space of the general browser; The memory view includes a memory address mapping table and a slice index table; The memory address mapping table is used to record the association between the memory view space to be constructed and the physical memory block; the slice index table is used to record the address where each layer of data is stored in the physical memory block, and the number of voxels in each layer of data; The writing unit is used to split the target imaging data based on the memory view and write it into the physical memory block corresponding to the memory address mapping table, so that the data processing software based on the general browser can process the data in the physical memory block.

9. A computer program product, characterized in that, The computer program product includes a computer program that, when executed by a processor, is used to implement the method described in any one of claims 1 to 7.

10. A storage medium, characterized in that, Used to store computer program instructions, which, when executed by a central processing unit, are used to implement the method described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Data processing method and device, data exchange server and storage medium

    CN111459671A

  • Voxel processing method and device, electronic equipment and storage medium

    CN117710187A