Method and apparatus for flow reading of pathological sections and readable storage medium thereof

Through the hierarchical tile storage structure and dynamic stream loading algorithm, combined with the cache and compression optimization mechanism, cloud storage technology has solved the problems of low access speed, high storage cost and poor protocol adaptability when processing high-resolution pathological slice images, and achieved efficient data loading and storage management.

CN119889740BActive Publication Date: 2025-06-17SHENZHEN SHENGQIANG TECH
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510352300.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-25
Publication Date
2025-06-17
Estimated Expiration
2045-03-25

AI Technical Summary

Technical Problem

When processing high-resolution pathological slice images, existing cloud storage technologies have problems such as low access speed, high storage cost and poor protocol adaptability, especially in the case of full download and lack of dynamic streaming load optimization.

Method used

Through a hierarchical tile storage structure, dynamic streaming loading algorithm and cache and compression optimization mechanism, on-demand data loading in user visual areas is realized, network transmission volume and storage costs are reduced, and it is compatible with multiple compression formats.

Benefits of technology

It significantly reduces network transmission volume and storage costs, improves access efficiency, reduces random IO requests, reduces storage space usage, and adapts to the special needs of medical imaging scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119889740B_ABST
    Figure CN119889740B_ABST
Patent Text Reader

Abstract

The present invention provides a method and apparatus for streaming reading of pathological sections and a readable storage medium thereof. The method includes: constructing a hierarchical tile storage structure, dividing a pathological section image into multiple layers of tiles according to a preset scaling ratio, and generating hierarchical pointer information; dynamically calculating target tile indexes according to the level and coordinates of the user's visible area to achieve on-demand streaming loading; optimizing data access efficiency through a cache management module and automatically clearing expired caches based on an access time threshold; supporting storage of tile data in compression formats such as JPEG and HEVC to reduce storage and transmission costs. The present invention solves the problems of high network latency, large storage redundancy, and poor protocol adaptability caused by full-scale downloading of pathological sections in a cloud storage environment, and significantly improves the access efficiency and resource utilization rate of medical images.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the cross - field of medical image processing and cloud storage technology, and particularly relates to a method and device for streaming reading of pathological slices and a readable storage medium thereof. Background Art

[0002] With the popularization of digital pathology technology, the amount of pathological slice data that hospitals and institutions need to store has increased exponentially. Traditional local storage has gradually been replaced by cloud storage due to capacity limitations. However, although cloud storage protocols (such as S3) have solved the storage capacity problem, they have introduced new technical bottlenecks:

[0003] Low access speed: Pathological slice files are usually high - resolution images (such as 100,000×100,000 pixels). In a cloud storage environment, full - volume downloading is required to display them, resulting in high network transmission latency and long user waiting time;

[0004] High storage cost: Traditional storage methods cannot compress data on demand or manage data hierarchically, occupying a large amount of redundant space;

[0005] Poor protocol adaptability: Existing cloud storage protocols lack optimization for streaming loading of pathological slices and cannot dynamically load local data according to user browsing requirements.

[0006] Although existing technologies (such as Google Maps tile technology) improve the map loading efficiency through hierarchical and block - based methods, they do not adapt to the special requirements of the medical imaging scenario (such as high precision, unique identification, and metadata correlation of pathological slices), resulting in limited application in the pathological field. Summary of the Invention

[0007] Embodiments of the present invention provide a method and device for streaming reading of pathological slices and a readable storage medium thereof, aiming at the problems existing in the current technology, such as relying on full - volume data downloading and lacking a dynamic streaming loading protocol for pathological slices, resulting in large network transmission volume, high storage cost, and low access efficiency.

[0008] The core technology of the present invention mainly realizes the on - demand data loading of the user - visible area through a hierarchical tile storage structure, a dynamic streaming loading algorithm, and a cache and compression optimization mechanism, significantly reducing the network transmission volume and storage cost, and at the same time being compatible with multiple compression formats (such as JPEG, HEVC) to adapt to the requirements of the medical imaging scenario.

[0009] In the first aspect, the present invention provides a method for streaming reading of pathological slices, and the method includes the following steps:

[0010] S00. Construct a hierarchical tile storage structure: Divide the pathological slice image into multiple layers according to a preset scaling ratio. Each layer contains tiles arranged in rows and columns, and generate hierarchical tile pointer information. The hierarchical tile pointer information includes the storage location pointer and data length of each tile;

[0011] S10. Dynamically stream and load tile data: Based on the level, x-axis coordinate, and y-axis coordinate of the user's visible area, calculate the target tile index through the formula index = level * total number of tiles in the previous level + y * number of horizontal tiles in the current level + x, and locate the tile data from the level tile pointer information based on the index.

[0012] S20. Cache management: Set a cache identifier for the requested tile data. The cache identifier is generated from the slice unique identifier, level, x-axis coordinate, and y-axis coordinate. Automatically clear expired caches according to the access time threshold, and dynamically adjust the cache deletion policy when the storage space is insufficient.

[0013] S30. Data compression and parsing: Store the tile data in a preset compression format and decode it according to the compression type when reading.

[0014] Furthermore, the level tile pointer information in step S00 is stored according to the following rules:

[0015] The pointer information of each layer of tiles is continuously recorded in row-column order starting from the zero layer. The pointer information of each tile occupies 12 bytes, including an 8-byte storage location pointer and a 4-byte data length.

[0016] Furthermore, step S00 also includes the definition of the file header protocol:

[0017] The file header protocol occupies 184 bytes and includes the slice unique identifier GUID, total number of levels, number of rows and columns of each layer of tiles, and scaling ratio. The total number of levels does not exceed 16 layers, and the scaling ratio of each layer is 0.5 times that of the previous layer.

[0018] Furthermore, the access time threshold in step S20 is 15 days. When the storage space capacity is lower than the safety boundary, the threshold is automatically decreased in a preset step size until the released capacity reaches the safety boundary.

[0019] Furthermore, the reading method of the level tile pointer information in step S20 is as follows:

[0020] Read a 12KB continuous data block at once. The data block contains the pointer information of at least 1024 tiles, and construct a two-dimensional array in memory to store the start and end positions of the pointer data.

[0021] Furthermore, step S30 also includes the storage and parsing of user-defined data:

[0022] Reserve 8 bytes in the file header protocol to store the pointer and length of the user-defined data. The user-defined data is stored in the file body in JSON format and contains the metadata information of the pathological section.

[0023] Further, the calculation method of the total number of hierarchical tiles in step S10 is as follows:

[0024] The total number of tiles in the nth layer is 4 times the product of the number of horizontal tiles and the number of vertical tiles in the (n - 1)th layer, and the total number of tiles in the 0th layer is 4.

[0025] In a second aspect, the present invention provides a pathological section flow reading device, including:

[0026] A hierarchical tile storage module that constructs a hierarchical tile storage structure: divides a pathological section image into multiple layers according to a preset scaling ratio, each layer contains tiles arranged in rows and columns, and generates hierarchical tile pointer information, where the hierarchical tile pointer information includes the storage position pointer and data length of each tile;

[0027] A dynamic flow loading tile module that dynamically loads tile data: calculates the target tile index through the formula index = layer * total number of tiles in the previous layer + y * number of horizontal tiles in the current layer + x according to the layer, x-axis coordinate, and y-axis coordinate of the user's visible area, and locates the tile data from the hierarchical tile pointer information based on the index;

[0028] A cache management module that sets a cache identifier for the requested tile data. The cache identifier is generated by the section unique identifier, layer, x-axis coordinate, and y-axis coordinate, automatically clears the expired cache according to the access time threshold, and dynamically adjusts the cache deletion policy when the storage space is insufficient;

[0029] A data compression and parsing module that stores the tile data in a preset compression format and decodes it according to the compression type when reading.

[0030] In a third aspect, the present invention provides an electronic device, including a memory and a processor. A computer program is stored in the memory, and the processor is configured to run the computer program to execute the above-mentioned pathological section flow reading method.

[0031] In a fourth aspect, the present invention provides a readable storage medium, in which a computer program is stored. The computer program includes program codes for controlling a process to execute the process, and the process includes the above-mentioned pathological section flow reading method.

[0032] The main contributions and innovations of the present invention are as follows:

[0033] 1. Reduce the data transmission volume: Through dynamic loading of hierarchical tiles, only the data in the user's visible area is transmitted, avoiding full download, and reducing the network bandwidth consumption by more than 50%;

[0034] 2. Optimize storage costs: The combination of hierarchical scaling (0.5x) and compression technology (JPEG / HEVC) reduces the storage space occupied by slices by 30% - 60%;

[0035] 3. Improve access efficiency: The cache management module reduces random IO requests through a unique identifier (GUID) and hierarchical coordinate indexing strategy, and the access latency is reduced by more than 40%;

[0036] 4. Enhance protocol adaptability: The file header protocol (184 bytes) supports the extension of pathological slice metadata (such as GUID, user-defined JSON) to adapt to the special requirements of medical imaging scenarios;

[0037] 5. Dynamically manage resources: The cache automatic cleaning mechanism (15-day threshold + dynamic decreasing strategy) balances storage space and access performance to avoid the risk of disk capacity overflow.

[0038] Details of one or more embodiments of the present invention are set forth in the following drawings and description to make other features, objects, and advantages of the present invention more concise and understandable. BRIEF DESCRIPTION OF THE DRAWINGS

[0039] The drawings described herein are used to provide a further understanding of the present invention and constitute a part of the present invention. The illustrative embodiments and descriptions thereof of the present invention are used to explain the present invention and do not constitute an improper limitation of the present invention. In the drawings:

[0040] Figure 1 is the file format protocol diagram of the embodiment of the present invention;

[0041] Figure 2 is the streaming file format reading and parsing diagram of the embodiment of the present invention;

[0042] Figure 3 is the hierarchical tile pointer data set diagram of the embodiment of the present invention;

[0043] Figure 4 is the file header protocol diagram of the embodiment of the present invention;

[0044] Figure 5 is the file layer structure diagram of the embodiment of the present invention;

[0045] Figure 6 is the preview slice picture composition structure diagram of the embodiment of the present invention;

[0046] Figure 7 is the hardware structure schematic diagram of the electronic device according to the embodiment of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0047] Exemplary embodiments will be described in detail herein, and examples thereof are shown in the accompanying drawings. When the following description refers to the accompanying drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with one or more embodiments of this specification. On the contrary, they are merely examples of devices and methods consistent with some aspects of one or more embodiments of this specification as detailed in the appended claims.

[0048] It should be noted that: In other embodiments, the steps of the corresponding method are not necessarily executed in the order shown and described in this specification. In some other embodiments, the steps included in the method may be more or less than those described in this specification. In addition, a single step described in this specification may be decomposed into multiple steps for description in other embodiments; and multiple steps described in this specification may also be combined into a single step for description in other embodiments.

[0049] The prior art has problems such as high cloud storage access latency, large bandwidth occupancy, and high storage cost, and it is impossible to achieve progressive loading and precise data access of pathological slices.

[0050] Based on this, the present invention solves the problems existing in the prior art based on a hierarchical tile streaming storage architecture, a dynamic cache management strategy, and a cloud access protocol for on-demand loading.

[0051] Embodiment 1

[0052] The present invention aims to propose a method for streaming reading of pathological slices. Specifically, referring to Figure 1 , the method includes:

[0053] 1. Construction of hierarchical tile storage structure

[0054] Implementation steps:

[0055] Hierarchical division: The pathological slice data is scaled layer by layer at a ratio of 0.5 times to form a pyramid structure with a maximum of 16 layers ( Figure 5 ). The 0th layer is the smallest preview layer, and the 15th layer is the original resolution layer. The hierarchical division rule is: The pathological slice image is divided into multiple levels (up to 16 levels) according to a preset scaling ratio, and the scaling ratio of each layer is 0.5 times that of the previous layer (for example: the 0th layer is the original resolution, the 1st layer is 0.5 times the resolution, and so on).

[0056] Tile Parameters: Each layer of the image is divided into several tiles by rows and columns. For example, the size of each tile in each layer is fixed at 256×256 pixels (configurable to 512×512), and the number of tiles increases according to width_level = width_{level - 1}×2 and height_level = height_{level - 1}×2. For example, if the 0th layer has 2×2 tiles, the 1st layer will have 4×4 tiles.

[0057] Storage Order: Each layer of tiles is stored continuously in the order of "left → right, top → bottom" ( Figure 3 ), and the data of each tile contains a pointer (8 bytes) and a length (4 bytes), totaling 12 bytes per tile.

[0058] File Structure:

[0059] Header Information (184 bytes) ( Figure 4 )

[0060] 4 - byte manufacturer identifier (such as "ZNH");

[0061] 4 - byte file format identifier (such as "PFV1");

[0062] 32 - byte unique GUID (Globally Unique Identifier) for the slice;

[0063] 8 - byte user - defined data pointer and length.

[0064] 132 - byte slice storage information:

[0065] 4 - byte total number of layers;

[0066] 4 - byte width and height number of tiles for each layer (maximum 16 layers).

[0067] File Body:

[0068] User - defined information (in JSON format, such as patient information);

[0069] Hierarchical tile image data (supporting JPEG / HEVC / GZIP compression).

[0070] 2. Implementation of Streaming Access Protocol

[0071] Process Description ( Figure 2 )

[0072] 2.1 Parameter Receiving: The front - end passes fileName (slice file name), level (hierarchy), and x / y (tile coordinates).

[0073] 2.2 Cache Check:

[0074] Cache Key: {GUID}-{level}-{x}-{y}

[0075] If there is a cache, return directly; otherwise, proceed to the next step.

[0076] 2.3 Pointer batch reading:

[0077] Calculate the linear index: Based on the level, x-axis, and y-axis coordinates of the user's visible area, calculate the target tile index through the formula index = level * total number of tiles in the previous level + y * number of horizontal tiles in the current level + x.

[0078] Determine the pointer reading range: Based on the index value, obtain the storage location pointer and data length of the tile from the tile pointer information of the level ( Figure 3 ), and reduce random IO requests by reading a 12KB data block (containing 1024 tile pointer information) at a time.

[0079] 2.4 Data extraction:

[0080] Read the data block corresponding to the pointer + length from cloud storage.

[0081] Call the corresponding compression format parsing module (JPEG / HEVC / GZIP).

[0082] For example, read tile data according to the pointer (such as JPEG compression format), and return it to the front-end for display after decoding. When the user browses the first layer, if x = 1 and y = 1, then index = 1 × 4 (number of tiles in the 0th layer) + 1 × 4 (number of horizontal tiles in the current layer) + 1 = 9, and directly read the tile data corresponding to index 9.

[0083] 2.5 Cache update: Write the tile data to the local cache and update the access timestamp.

[0084] 3. Dynamic cache management

[0085] 3.1 Cache identifier generation: Generate a unique cache file name by concatenating the slice unique identifier (GUID), level, x, and y coordinates, for example: GUID_level_x_y.

[0086] 3.2 Expiration policy:

[0087] Initial threshold: Delete if not accessed for 15 days, and reset the time if accessed during this period.

[0088] Dynamic adjustment: When the storage space occupancy exceeds the threshold, automatically shorten the threshold by 1 day for every 1GB full, with a minimum of 4GB of safe space reserved. For example, when the storage space is insufficient, automatically decrement the threshold in steps (such as 15 days → 14 days → 13 days) until the safe boundary of the capacity is released (reserving 4GB of safe capacity).

[0089] 3.3 Cache Eviction: Delete expired data according to the LRU (Least Recently Used) algorithm.

[0090] 3.4 Cache Preloading: Load adjacent-level tile data at the first access to reduce the latency when the user zooms.

[0091] 4. Multi-format Compression Adaptation

[0092] 4.1 Storage Format: The tile data can be selected as JPEG (lossy compression), HEVC (High Efficiency Video Coding), or GZIP (General Compression).

[0093] 4.2 Parsing Logic: According to the file header identifier, call the corresponding decompression module, such as:

[0094] fileType = 0x01 → JPEG decoder;

[0095] fileType = 0x02 → HEVC decoder.

[0096] For easy understanding, the following is the explanation of the technical terms of the present invention:

[0097]

[0098] Figure 1 In, the file consists of a header information and a file body. The header information includes the slice unique identifier (GUID), level configuration, user-defined data pointer, and tile pointer information; the file body stores user-defined data (such as metadata in JSON format) and tile image data of each layer.

[0099] Embodiment 2

[0100] Based on the same concept, the present invention also proposes a pathological slice streaming reading device, including:

[0101] Hierarchical tile storage module, constructing a hierarchical tile storage structure: Divide the pathological slice image into multiple layers according to a preset scaling ratio, each layer contains tiles arranged in rows and columns, and generate hierarchical tile pointer information, where the hierarchical tile pointer information includes the storage location pointer and data length of each tile;

[0102] Dynamic streaming loading tile module, dynamically streaming loading tile data: According to the level, x-axis coordinate, and y-axis coordinate of the user's visible area, calculate the target tile index through the formula index = level * total number of tiles in the previous level + y * number of horizontal tiles in the current level + x, and locate the tile data from the hierarchical tile pointer information based on the index;

[0103] The cache management module sets cache identifiers for the requested tile data. The cache identifiers are generated from the slice unique identifier, level, x-axis coordinate, and y-axis coordinate, automatically clears expired caches according to the access time threshold, and dynamically adjusts the cache deletion policy when the storage space is insufficient;

[0104] The data compression and parsing module stores the tile data in a preset compression format and decodes it according to the compression type when reading.

[0105] Embodiment III

[0106] This embodiment also provides an electronic device. Refer to Figure 7 , including a memory 404 and a processor 402. A computer program is stored in the memory 404, and the processor 402 is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0107] Specifically, the above-mentioned processor 402 may include a central processing unit (CPU), or a specific integrated circuit (Application Specific Integrated Circuit, abbreviated as ASIC), or one or more integrated circuits configured to implement the embodiments of the present invention.

[0108] Among them, the memory 404 may include a mass storage 404 for data or instructions. By way of example and not limitation, the memory 404 may include a hard disk drive (HDD), a floppy disk drive, a solid state drive (SSD), a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive, or a combination of two or more of these. Where appropriate, the memory 404 may include removable or non-removable (or fixed) media. Where appropriate, the memory 404 may be internal or external to the data processing device. In a particular embodiment, the memory 404 is non-volatile memory. In a particular embodiment, the memory 404 includes a read-only memory (ROM) and a random access memory (RAM). Where appropriate, the ROM may be a mask-programmed ROM, a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), an electrically alterable ROM (EAROM), or a flash memory, or a combination of two or more of these. Where appropriate, the RAM may be a static random access memory (SRAM) or a dynamic random access memory (DRAM), where the DRAM may be a fast page mode dynamic random access memory (FPMDRAM), an extended data output dynamic random access memory (EDODRAM), a synchronous dynamic random access memory (SDRAM), etc.

[0109] The memory 404 can be used to store or cache various data files required for processing and / or communication, as well as possible computer program instructions executed by the processor 402.

[0110] The processor 402 reads and executes the computer program instructions stored in the memory 404 to implement any one of the pathological section streaming reading methods in the above embodiments.

[0111] Optionally, the above electronic device may further include a transmission device 406 and an input / output device 408. Among them, the transmission device 406 is connected to the above processor 402, and the input / output device 408 is connected to the above processor 402.

[0112] The transmission device 406 can be used to receive or send data via a network. Specific examples of the above network may include wired or wireless networks provided by the communication provider of the electronic device. In one example, the transmission device includes a network adapter (abbreviated as NIC), which can be connected to other network devices through a base station and thus can communicate with the Internet. In one example, the transmission device 406 can be a radio frequency (abbreviated as RF) module, which is used to communicate with the Internet wirelessly.

[0113] The input / output device 408 is used to input or output information.

[0114] Embodiment 4

[0115] This embodiment also provides a readable storage medium. The readable storage medium stores a computer program, and the computer program includes program code for controlling a process to execute the process. The process includes the pathological section streaming reading method according to Embodiment 1.

[0116] It should be noted that the specific examples in this embodiment can refer to the examples described in the above embodiments and optional implementation manners, and will not be repeated here.

[0117] Generally, various embodiments can be implemented in hardware or dedicated circuits, software, logic, or any combination thereof. Some aspects of the present invention can be implemented in hardware, while other aspects can be implemented by firmware or software executed by a controller, a microprocessor, or other computing devices, but the present invention is not limited thereto. Although the various aspects of the present invention can be shown and described as block diagrams, flowcharts, or using some other graphical representation, it should be understood that, as a non-limiting example, the blocks, devices, systems, technologies, or methods described herein can be implemented in hardware, software, firmware, dedicated circuits or logic, general hardware or a controller or other computing devices, or some combination thereof.

[0118] Embodiments of the present invention can be implemented by computer software, which can be executed by a data processor of a mobile device, such as in a processor entity, or by hardware, or by a combination of software and hardware. A computer software or program (also referred to as a program product), including software routines, applets, and / or macros, can be stored in any device-readable data storage medium, and they include program instructions for performing specific tasks. The computer program product can include one or more computer-executable components configured to perform the embodiments when the program runs. One or more computer-executable components can be at least one software code or a part thereof. Additionally, at this point, it should be noted that any box in the logical flow, as Figure 2 shown in, can represent a program step, or interconnected logic circuits, boxes, and functions, or a combination of program steps and logic circuits, boxes, and functions. The software can be stored on physical media such as memory chips or storage blocks implemented within a processor, magnetic media such as hard disks or floppy disks, and optical media such as, for example, DVDs and their data variants, CDs. The physical media is a non-transitory medium.

[0119] Those skilled in the art should understand that the technical features of the above embodiments can be combined arbitrarily. For the sake of brevity of description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered as within the scope described in this specification.

[0120] The above embodiments only represent several implementation manners of the present invention, and their descriptions are relatively specific and detailed, but they should not be construed as limiting the scope of the present invention. It should be noted that for those of ordinary skill in the art, without departing from the concept of the present invention, several modifications and improvements can still be made, and these all belong to the protection scope of the present invention. Therefore, the protection scope of the present invention should be subject to the appended claims.

Claims

1. A method for reading pathological sections by flow cytometry, characterized in that: The following steps are involved: S00, constructing a hierarchical tile storage structure: dividing the pathological slice image into multiple layers according to a preset scaling ratio, each layer comprising tiles arranged in rows and columns, and generating hierarchical tile pointer information, wherein the hierarchical tile pointer information includes a storage location pointer and a data length of each tile; S10, dynamically streaming tile data: according to the level, x-axis coordinate and y-axis coordinate of the user's visible area, the target tile index is calculated by the formula index = level * total number of tiles in the previous level + y * number of horizontal tiles in the current level + x, and the tile data is located from the level tile pointer information based on the index; S20, cache management: setting a cache identifier for the requested tile data, where the cache identifier is generated by the slice unique identifier, level, x-axis coordinate, and y-axis coordinate, automatically clearing expired cache according to the access time threshold, and dynamically adjusting the cache deletion strategy when storage space is insufficient; S30, data compression and parsing: the tile data is stored in a preset compression format, and decoded according to the compression type when reading.

2. A pathological section streaming reading method as claimed in claim 1, characterized in that: The level tile pointer information in step S00 is stored according to the following rules: The pointer information of each layer of tiles is recorded continuously in row and column order starting from the zeroth layer. The pointer information of each tile occupies 12 bytes, including an 8-byte storage location pointer and a 4-byte data length.

3. A pathological section streaming reading method as claimed in claim 1, characterized in that: Step S00 also includes the definition of the file header protocol: The file header protocol occupies 184 bytes, including the slice unique identifier GUID, the total number of levels, the number of rows and columns of each layer of tiles, and the scaling ratio. The total number of levels does not exceed 16 levels, and the scaling ratio of each layer is 0.5 times that of the previous layer.

4. A pathological section streaming reading method as claimed in claim 1, characterized in that: In step S20, the access time threshold is 15 days. When the storage space capacity is lower than the safety boundary, the threshold is automatically reduced by a preset step size until the safety boundary of the capacity is reached.

5. A pathological section streaming reading method as claimed in claim 1, characterized in that: The reading method of the level tile pointer information in step S20 is: A 12KB continuous data block is read at one time, wherein the data block contains pointer information of at least 1024 tiles, and a two-dimensional array is constructed in the memory to store the start and end positions of the pointer data.

6. A pathological section streaming reading method as claimed in claim 5, characterized in that: Step S30 also includes the storage and analysis of user-defined data: In the file header protocol, 8 bytes are reserved for storing the pointer and length of user-defined data. The user-defined data is stored in the file body in JSON format, including metadata information of pathological sections.

7. A pathological section flow reading method according to any one of claims 1 to 6, characterized in that: The total number of level tiles in step S10 is calculated as follows: The total number of tiles in the nth layer is 4 times the product of the number of horizontal tiles and the number of vertical tiles in the n-1th layer, and the total number of tiles in the zeroth layer is 4.

8. A pathological section flow reading device, characterized in that: include: A hierarchical tile storage module constructs a hierarchical tile storage structure: the pathological slice image is divided into multiple layers according to a preset scaling ratio, each layer contains tiles arranged in rows and columns, and hierarchical tile pointer information is generated, the hierarchical tile pointer information includes the storage location pointer and data length of each tile; Dynamic streaming tile loading module, dynamic streaming tile data loading: according to the level, x-axis coordinate and y-axis coordinate of the user's visible area, the target tile index is calculated by the formula index = level * total number of tiles in the previous level + y * number of horizontal tiles in the current level + x, and the tile data is located from the level tile pointer information based on the index; The cache management module sets a cache identifier for the requested tile data. The cache identifier is generated by the slice unique identifier, level, x-axis coordinate, and y-axis coordinate. It automatically cleans up expired caches based on the access time threshold and dynamically adjusts the cache deletion strategy when storage space is insufficient. The data compression and parsing module stores the tile data in a preset compression format and decodes it according to the compression type when reading.

9. An electronic device comprising a memory and a processor, characterized in that: The memory stores a computer program, and the processor is configured to run the computer program to execute the pathological section streaming reading method according to any one of claims 1 to 7.

10. A readable storage medium, characterized in that: The readable storage medium stores a computer program, wherein the computer program includes a program code for controlling a process to execute a process, wherein the process includes the pathological section streaming reading method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Digital pathological section storage system, browsing system and method

    CN115410693A