Image browsing method and device, computer device and storage medium
By extracting image identifiers and attribute values to calculate rendering data and concurrently acquiring images, the problem of slow image browsing speed in existing technologies is solved, enabling fast browsing of medical images.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHANGHAI LIANYING ZHIYUAN MEDICAL TECH CO LTD
- Filing Date
- 2019-12-26
- Publication Date
- 2026-06-02
AI Technical Summary
Current methods of browsing medical images require downloading the complete image before processing and displaying it, resulting in slow browsing speeds.
By responding to user requests to obtain hierarchical files, extracting image identifiers and attribute values, calculating rendering data, and concurrently acquiring images, the rendering process can begin before the images are acquired by using multi-threaded concurrent segmented image acquisition.
It speeds up image processing and improves browsing speed.
Smart Images

Figure CN111159598B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to an image browsing method, apparatus, computer device, and storage medium. Background Technology
[0002] In recent years, with the continuous development of medical technology and the ongoing advancement of remote diagnosis, hospitals are connecting with an increasing number of affiliated hospitals, leading to a significant increase in doctors' diagnostic workload. At this point, the speed at which medical images are loaded has a crucial impact on a doctor's daily diagnostic output.
[0003] However, current methods of browsing medical images typically involve downloading the complete image to the local machine before processing and displaying it, which reduces browsing speed. Summary of the Invention
[0004] Therefore, it is necessary to provide an image browsing method, apparatus, computer device, and storage medium that can improve browsing speed in response to the above-mentioned technical problems.
[0005] An image browsing method, the method comprising:
[0006] Respond to the user's browsing request and retrieve the corresponding level of file;
[0007] Obtain image identifiers from the hierarchical file, and image attribute values of the images corresponding to each image identifier;
[0008] Rendering data is calculated based on the image attribute values;
[0009] Based on the image identifier, obtain the corresponding image;
[0010] The image is rendered based on the rendering data, and the rendered image is displayed.
[0011] In one embodiment, obtaining the corresponding image based on the image identifier includes:
[0012] Determine the file size of the image file to be acquired, and determine the number of threads based on the file size;
[0013] Based on the number of threads, an acquisition thread is created, and an image range is allocated to each acquisition thread;
[0014] Each of the acquisition threads is executed concurrently, and each acquisition thread acquires a portion of the image corresponding to the allocated image range from the cloud.
[0015] The images from each part are merged to obtain a complete image.
[0016] In one embodiment, determining the number of threads based on the file size includes:
[0017] The detection determines the current network bandwidth;
[0018] The number of threads is determined based on the network width and the file size.
[0019] In one embodiment, calculating the rendering data based on the image attribute values includes:
[0020] The positioning lines of each image are calculated based on the image attribute values to obtain the rendering data.
[0021] In one embodiment, rendering the image based on the rendering data includes:
[0022] Obtain the positioning lines corresponding to the image from the rendered data;
[0023] The positioning lines are superimposed onto the image according to their coordinate positions.
[0024] The image with the positioning lines superimposed is rendered.
[0025] In one embodiment, rendering the image based on the rendering data includes:
[0026] Obtain the positioning lines corresponding to the image from the rendered data;
[0027] The image and the positioning lines are rendered separately.
[0028] The rendered positioning lines are superimposed onto the rendered image based on their coordinate positions.
[0029] An image browsing device, characterized in that the device comprises:
[0030] The response module is used to respond to user browsing requests and retrieve the corresponding hierarchical files.
[0031] The extraction module is used to obtain image identifiers and image attribute values of the images corresponding to each image identifier from the hierarchical file.
[0032] The calculation module is used to calculate rendering data based on the image attribute values;
[0033] The acquisition module is used to acquire the corresponding image based on the image identifier;
[0034] The rendering module is used to render the image based on the rendering data and display the rendered image.
[0035] In one embodiment, the acquisition module is further configured to determine the file size of the image file to be acquired, and determine the number of threads based on the file size;
[0036] Based on the number of threads, an acquisition thread is created, and an image range is allocated to each acquisition thread;
[0037] Each of the acquisition threads is executed concurrently, and each acquisition thread acquires a portion of the image corresponding to the allocated image range from the cloud.
[0038] The images from each part are merged to obtain a complete image.
[0039] In one embodiment, the acquisition module is further configured to detect and determine the current network bandwidth; and determine the number of threads based on the network bandwidth and the file size.
[0040] In one embodiment, the calculation module is further configured to calculate the positioning lines of each image based on the image attribute values to obtain rendering data.
[0041] In one embodiment, the rendering module is further configured to obtain the positioning lines corresponding to the image from the rendering data; superimpose the positioning lines onto the image according to their coordinate positions; and render the image with the superimposed positioning lines.
[0042] In one embodiment, the rendering module is further configured to obtain the positioning lines corresponding to the image from the rendering data; render the image and the positioning lines respectively; and overlay the rendered positioning lines onto the rendered image according to the coordinate positions of the positioning lines.
[0043] A computer device includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program performing the following steps:
[0044] Respond to the user's browsing request and retrieve the corresponding level of file;
[0045] Obtain image identifiers from the hierarchical file, and image attribute values of the images corresponding to each image identifier;
[0046] Rendering data is calculated based on the image attribute values;
[0047] Based on the image identifier, obtain the corresponding image;
[0048] The image is rendered based on the rendering data, and the rendered image is displayed.
[0049] A computer-readable storage medium having a computer program stored thereon, the computer program performing the following steps when executed by a processor:
[0050] Respond to the user's browsing request and retrieve the corresponding level of file;
[0051] Obtain image identifiers from the hierarchical file, and image attribute values of the images corresponding to each image identifier;
[0052] Rendering data is calculated based on the image attribute values;
[0053] Based on the image identifier, obtain the corresponding image;
[0054] The image is rendered based on the rendering data, and the rendered image is displayed.
[0055] The aforementioned image browsing method, apparatus, computer equipment, and storage medium, in response to a browsing request, retrieve a small number of hierarchical files from the cloud, then extract the image attribute values required for rendering from these files to calculate rendering data, and simultaneously extract image identifiers from them for image acquisition. The image is then rendered based on the rendering data. This method saves processing time and speeds up processing by starting the rendering process before acquiring the image, thereby improving browsing speed. Attached Figure Description
[0056] Figure 1 This is an application environment diagram of the image browsing method in one embodiment;
[0057] Figure 2 This is a flowchart illustrating an image browsing method in one embodiment;
[0058] Figure 3 This is a flowchart illustrating the steps for obtaining corresponding medical images based on image identifiers in one embodiment;
[0059] Figure 4 This is a structural block diagram of an image browsing method apparatus in one embodiment;
[0060] Figure 5 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0061] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0062] The image browsing method provided in this application can be applied to, for example... Figure 1In the application environment shown, user terminal 102 communicates with cloud storage server 104 via a network. Specifically, user terminal 102 responds to the user's browsing request and retrieves the corresponding hierarchical file from cloud storage server 104; user terminal 102 retrieves image identifiers and image attribute values corresponding to each image identifier from the hierarchical file; user terminal 102 calculates rendering data based on the image attribute values; user terminal 102 retrieves the corresponding image from cloud storage server based on the image identifier; user terminal 102 renders the image based on the rendering data and displays the rendered image. User terminal 102 can be, but is not limited to, various personal computers, laptops, smartphones, tablets, and portable wearable devices, and cloud storage server 104 can be implemented using a standalone server or a server cluster consisting of multiple servers.
[0063] In one embodiment, such as Figure 2 As shown, an image acquisition method is provided, which can be applied to... Figure 1 Taking a user terminal as an example, the explanation includes the following steps:
[0064] Step S202: Respond to the user's browsing request and obtain the corresponding hierarchical file.
[0065] A browsing request is an instruction to the user terminal to retrieve the images the user needs to view. The user can select the images to view through the user terminal's interface. These images can be medical images. A hierarchical file is a file pre-stored on a cloud storage server, containing all medical image information from a medical examination. The hierarchical file includes, but is not limited to, examination number, sequence number, image number, and image attribute values.
[0066] Specifically, when a user needs to view medical images from a medical examination, they select the desired examination through the interface provided on the user terminal. When the user terminal detects the user's action, it identifies the selected medical examination and obtains its unique examination number. Using this examination number, it retrieves the corresponding hierarchical file from the cloud storage server.
[0067] Step S204: Obtain image identifiers and image attribute values of the corresponding images from the hierarchical file.
[0068] Among them, the image identifier is the unique identifier of each medical image in a medical examination, and the image attribute value is the attribute value corresponding to the medical image, including the various attributes of the medical image as specified in the DICOM (Digital Imaging and Communications in Medicine) standard.
[0069] Specifically, after the user terminal obtains the hierarchical file corresponding to the medical examination from the cloud storage server, it extracts the image identifier of the medical image corresponding to the medical examination from the hierarchical file, and extracts the image attribute value of the medical image corresponding to each image identifier.
[0070] Step S206: Calculate the rendering data based on the image attribute values.
[0071] Rendering data refers to the data required for rendering medical images. This data includes, but is not limited to, positioning lines, which are the intersections of pairs of cross-sections in the horizontal, vertical, and longitudinal directions. Because viewing the images in these three directions helps staff locate lesions more effectively, positioning lines are typically calculated when rendering medical images.
[0072] Specifically, when the user terminal retrieves the image attribute values of each medical image from the hierarchical file, it uses these image attribute values to calculate the positioning lines of each medical image, thus obtaining the rendering data. The positioning lines can be calculated using any method. For example, the planar information of each medical image can be obtained from the image attribute values, and the intersection line of one plane with another can be calculated using this planar information to obtain the positioning lines of the medical image.
[0073] Step S208: Obtain the corresponding image based on the image identifier.
[0074] Specifically, since browsing medical images still requires actually accessing the corresponding medical images, once the user terminal obtains the image identifier from the hierarchical file, it can send the image identifier to the cloud storage server to retrieve the corresponding medical image. Alternatively, the user can retrieve the corresponding medical image from the cloud storage server using the image identifier.
[0075] In one embodiment, acquiring the corresponding image based on image identifiers includes: determining an image segmentation method based on the image attribute values and the corresponding positioning line information of the image. For example, prioritizing the transmission of images near the positioning lines, or calculating the data required for low-resolution images and presenting the low-resolution images to the user first. Then, determining the number of threads based on the number of image segments and establishing an acquisition thread that matches the number of threads. The segmented image parts are assigned to threads of different priorities; for example, images near the positioning lines that need to be transmitted first are assigned to the highest priority acquisition thread. When an acquisition thread acquires an image, each acquisition thread is executed serially according to its priority to retrieve the assigned image part from the cloud storage server.
[0076] Step S210: Render the image based on the rendering data and display the rendered image.
[0077] Specifically, since the user terminal has already calculated the rendering data required for each medical image based on the image attribute values, once the client obtains the medical images from the cloud storage server, it can directly use the rendering data to render the medical images, obtain the rendered medical images, and display them on the user terminal's display interface for the user to view.
[0078] The aforementioned image browsing method retrieves a small number of hierarchical files from the cloud in response to a browsing request. It then extracts the image attribute values required for rendering from these files to calculate the rendering data. Simultaneously, it extracts image identifiers from these files to acquire the images. Finally, it renders the images based on the rendering data. This method saves processing time and speeds up the process by starting the rendering work before acquiring the images, thereby improving browsing speed.
[0079] In one embodiment, such as Figure 3 As shown, acquiring the corresponding image based on the image identifier includes the following steps:
[0080] Step S302: Determine the file size of the image file to be acquired, and determine the number of threads based on the file size.
[0081] The image file to be acquired can be understood as an image that needs to be retrieved from a cloud storage server.
[0082] Specifically, when acquiring medical images based on image identifiers, the file size of the medical image file to be acquired can be determined first based on the corresponding image attribute values. The file size of the medical image file to be acquired is determined based on the image attribute values obtained from the hierarchical file. Then, the required number of threads is determined based on the file size. The user terminal obtains a preset thread number rule and retrieves the number of threads matching the file size from the preset thread number rule. For example, the preset thread number rule specifies that a 10MB medical image file should have 10 threads. Therefore, the number of threads required for a 10MB medical image file to be acquired can be determined through the preset thread number rule.
[0083] Step S304: Create an acquisition thread based on the number of threads, and allocate an image range to each acquisition thread.
[0084] Specifically, when the user terminal determines the number of threads required to acquire the medical image file, it creates a number of threads equal to the determined number, thus obtaining the acquisition threads. Then, it allocates an image range to each acquisition thread to achieve concurrent segmented acquisition. For example, for a 10MB file and 10 threads, each thread can be allocated a 1MB image.
[0085] Step S306: Execute each acquisition thread concurrently, with each acquisition thread acquiring a portion of the image corresponding to the allocated image range from the cloud.
[0086] Specifically, after allocating image ranges to each acquisition thread, the threads execute concurrently. Each acquisition thread simultaneously retrieves its assigned portion of the medical image from the cloud (cloud storage server). For example, a 10MB medical image is divided into 10 parts, represented as [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]. The 10 acquisition threads are represented as [A, B, C, D, E, F, G, H, I, J], and the image ranges allocated to these 10 threads correspond one-to-one with [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]. When these 10 acquisition threads execute concurrently, acquisition thread A acquires the 1MB portion of the medical image, acquisition thread B acquires the 2MB portion, and the remaining acquisition threads C, D, E, F, G, H, I, and J acquire the image in the same way as acquisition threads A and B, which will not be elaborated further here.
[0087] Step S308: Merge the images from each part to obtain a complete image.
[0088] Specifically, after each acquisition thread acquires a portion of the medical image that has not yet been allocated, the user terminal merges the acquired portions of the medical image according to the allocated order to obtain a complete medical image. Taking acquisition threads [A, B, C, D, E, F, G, H, I, J] and portions of medical images [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] as an example, the portion of the medical image acquired by acquisition thread B should be stitched after the portion of the medical image acquired by acquisition thread A, and so on, until the portion of the medical images acquired by all acquisition threads are stitched together to obtain the complete medical image.
[0089] In this embodiment, the image is acquired by multi-threaded concurrent segmented acquisition, which can speed up the acquisition process, thereby speeding up the processing speed and further improving the browsing response speed.
[0090] In one embodiment, determining the number of threads based on the file size includes: detecting and determining the current network bandwidth; and determining the number of threads based on the network bandwidth and the file size.
[0091] Specifically, network bandwidth refers to the bandwidth of the network environment currently in which the user terminal is located. When determining the number of threads based on file size, the user terminal can detect the current network bandwidth in real time. The number of threads is dynamically determined based on the file size and network bandwidth; for example, fewer threads can be used when the network bandwidth is good, and more threads can be used when the network bandwidth is poor. In this embodiment, the number of threads is dynamically adjusted according to the actual network conditions to ensure the speed of thread acquisition, thereby further improving browsing speed.
[0092] In one embodiment, rendering an image based on rendering data includes: obtaining positioning lines corresponding to the image from the rendering data; overlaying the positioning lines onto the image based on their coordinate positions; and rendering the image with the overlaid positioning lines.
[0093] The coordinate position of the positioning line refers to the position of the positioning line on the medical image. The positioning line can be superimposed on the medical image based on the positioning coordinate position.
[0094] Specifically, when rendering medical images based on rendering data, the positioning lines can first be superimposed onto the corresponding image area of the medical image according to their coordinate positions. Then, the medical image with the positioning lines superimposed is rendered, and any rendering method can be used.
[0095] In one embodiment, rendering an image based on rendering data includes: obtaining positioning lines corresponding to the image from the rendering data; rendering the image and the positioning lines respectively; and overlaying the rendered positioning lines onto the rendered image based on the coordinate positions of the positioning lines.
[0096] Specifically, before overlaying the positioning lines onto the medical image, the user terminal renders both the positioning lines and the medical image separately. The rendered positioning lines are then overlaid onto the rendered medical image to obtain the final rendered medical image. The rendering of the positioning lines and the medical image can employ different rendering methods. In this embodiment, rendering them separately and then overlaying them enriches the rendering effect.
[0097] It should be understood that, although Figure 2-3 The steps in the flowchart are shown sequentially as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order in which these steps are executed, and they can be performed in other orders. Figure 2-3 At least some of the steps in the process may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least some of the sub-steps or stages of other steps.
[0098] In one embodiment, such as Figure 4 As shown, an image browsing device is provided, including: a response module 402, an extraction module 404, a calculation module 406, an acquisition module 408, and a rendering module 410, wherein:
[0099] Response module 402 is used to respond to the user's browsing request and obtain the corresponding layer file.
[0100] The acquisition module 404 is used to obtain image identifiers and image attribute values of the corresponding images from the hierarchical file.
[0101] The calculation module 406 is used to calculate the rendering data based on the image attribute values.
[0102] Concurrency module 408 is used to acquire the corresponding image based on the image identifier.
[0103] The rendering module 410 is used to render the image based on the rendering data and display the rendered image.
[0104] In one embodiment, the acquisition module 404 is further configured to determine the file size of the image file to be acquired, and determine the number of threads based on the file size; establish acquisition threads based on the number of threads, and allocate image ranges to each acquisition thread; execute each acquisition thread concurrently, and each acquisition thread acquires a portion of the image corresponding to the allocated image range from the cloud; merge the portion images to obtain a complete image.
[0105] In one embodiment, the acquisition module 404 is further configured to detect and determine the current network bandwidth; and determine the number of threads based on the network bandwidth and the file size.
[0106] In one embodiment, the calculation module 406 is further configured to calculate the positioning lines of each image based on the image attribute values to obtain rendering data.
[0107] In one embodiment, the rendering module 410 is further configured to obtain the positioning lines corresponding to the image from the rendering data; superimpose the positioning lines onto the image according to the coordinate positions of the positioning lines; and render the image with the positioning lines superimposed.
[0108] In one embodiment, the rendering module 410 is further configured to obtain the positioning line corresponding to the image from the rendering data; render the image and the positioning line respectively; and overlay the rendered positioning line onto the rendered image according to the coordinate position of the positioning line.
[0109] For specific limitations regarding the image browsing device, please refer to the limitations on the image browsing method above, which will not be repeated here. Each module in the aforementioned image browsing device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in the computer device in hardware form, or stored in the memory of the computer device in software form, so that the processor can call and execute the corresponding operations of each module.
[0110] In one embodiment, a computer device is provided, which may be a user terminal, and its internal structure diagram may be as follows: Figure 5As shown, the computer device includes a processor, memory, network interface, display screen, and input devices connected via a system bus. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The network interface is used to communicate with external terminals via a network connection. When the computer program is executed by the processor, it implements an image browsing method. The display screen can be a liquid crystal display (LCD) or an e-ink display. The input devices can be a touch layer covering the display screen, buttons, a trackball, or a touchpad mounted on the computer device casing, or an external keyboard, touchpad, or mouse.
[0111] Those skilled in the art will understand that Figure 5 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0112] In one embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:
[0113] Respond to the user's browsing request and retrieve the corresponding level of file;
[0114] Retrieve image identifiers from the hierarchical file, as well as the image attribute values of the images corresponding to each image identifier;
[0115] The rendering data is calculated based on the image attribute values;
[0116] Based on image identifiers, obtain the corresponding images;
[0117] The image is rendered based on the rendering data, and the rendered image is displayed.
[0118] In one embodiment, when the processor executes the computer program, it further performs the following steps: determining the file size of the image file to be acquired, and determining the number of threads based on the file size; establishing acquisition threads based on the number of threads, and allocating image ranges to each acquisition thread; executing each acquisition thread concurrently, with each acquisition thread acquiring a portion of the image corresponding to the allocated image range from the cloud; and merging the portion images to obtain a complete image.
[0119] In one embodiment, when the processor executes the computer program, it also performs the following steps: detecting and determining the current network bandwidth; and determining the number of threads based on the network bandwidth and the file size.
[0120] In one embodiment, when the processor executes the computer program, it also performs the following steps: calculating the positioning lines of each image based on the image attribute values to obtain rendering data.
[0121] In one embodiment, when the processor executes the computer program, it further performs the following steps: obtaining the positioning lines corresponding to the image from the rendering data; superimposing the positioning lines onto the image according to their coordinate positions; and rendering the image with the positioning lines superimposed.
[0122] In one embodiment, when the processor executes the computer program, it further performs the following steps: obtaining the positioning lines corresponding to the image from the rendering data; rendering the image and the positioning lines respectively; and superimposing the rendered positioning lines onto the rendered image according to the coordinate positions of the positioning lines.
[0123] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, the computer program performing the following steps when executed by a processor:
[0124] Respond to the user's browsing request and retrieve the corresponding level of file;
[0125] Retrieve image identifiers from the hierarchical file, as well as the image attribute values of the images corresponding to each image identifier;
[0126] The rendering data is calculated based on the image attribute values;
[0127] Based on image identifiers, obtain the corresponding images;
[0128] Render the image based on the rendering data and display the rendered image.
[0129] In one embodiment, when the computer program is executed by the processor, it further performs the following steps: determining the file size of the image file to be acquired, and determining the number of threads based on the file size; establishing acquisition threads based on the number of threads, and allocating image ranges to each acquisition thread; executing each acquisition thread concurrently, with each acquisition thread acquiring a portion of the image corresponding to the allocated image range from the cloud; and merging the portion images to obtain a complete image.
[0130] In one embodiment, when the computer program is executed by a processor, it further performs the following steps: detecting and determining the current network bandwidth; and determining the number of threads based on the network bandwidth and the file size.
[0131] In one embodiment, when the computer program is executed by the processor, it further performs the following steps: calculating the positioning lines of each image based on the image attribute values to obtain rendering data.
[0132] In one embodiment, when the computer program is executed by the processor, it further performs the following steps: obtaining the positioning lines corresponding to the image from the rendering data; superimposing the positioning lines onto the image according to the coordinate positions of the positioning lines; and rendering the image with the positioning lines superimposed. In another embodiment, when the computer program is executed by the processor, it further performs the following steps: obtaining the positioning lines corresponding to the image from the rendering data; rendering the image and the positioning lines respectively; and superimposing the rendered positioning lines onto the rendered image according to the coordinate positions of the positioning lines.
[0133] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
[0134] The technical features of the above embodiments can be combined in any way. For the sake of brevity, 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, they should be considered to be within the scope of this specification.
[0135] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the invention patent. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this patent application should be determined by the appended claims.
Claims
1. A method for browsing medical images, the method comprising: In response to the user's browsing request, the corresponding hierarchical file is obtained. The hierarchical file is a file containing all medical image information in a medical examination. The hierarchical file includes the examination number, sequence number, image number, and image attribute value. Image identifiers are obtained from the hierarchical file, and the image attribute values of the images corresponding to each image identifier are obtained. The medical images are DICOM images, and the image attribute values include the attribute values of the DICOM images. Rendering data is calculated based on the image attribute values; Based on the image identifier, obtain the corresponding image; The image is rendered based on the rendering data, and the rendered image is displayed. The step of calculating the rendering data occurs before the step of acquiring the corresponding image; The step of calculating the rendering data based on the image attribute values includes: The positioning lines of each image are calculated based on the image attribute values to obtain the rendering data.
2. The method according to claim 1, characterized in that, Based on the image identifier, the corresponding image is obtained, including: Determine the file size of the image file to be acquired, and determine the number of threads based on the file size; Based on the number of threads, an acquisition thread is created, and an image range is allocated to each acquisition thread; Each of the acquisition threads is executed concurrently, and each acquisition thread acquires a portion of the image corresponding to the allocated image range from the cloud. The images from each part are merged to obtain a complete image.
3. The method according to claim 2, characterized in that, Determining the number of threads based on the file size includes: The detection determines the current network bandwidth; The number of threads is determined based on the network width and the file size.
4. The method according to claim 1, characterized in that, The step of rendering the image based on the rendering data includes: Obtain the positioning lines corresponding to the image from the rendered data; The positioning lines are superimposed onto the image according to their coordinate positions. The image with the positioning lines superimposed is rendered.
5. The method according to claim 1, characterized in that, The step of rendering the image based on the rendering data includes: Obtain the positioning lines corresponding to the image from the rendered data; The image and the positioning lines are rendered separately. The rendered positioning lines are superimposed onto the rendered image based on their coordinate positions.
6. A medical image viewing device, characterized in that, The device includes: The response module is used to respond to the user's browsing request and obtain the corresponding hierarchical file. The hierarchical file is a file containing all medical image information in a medical examination. The hierarchical file includes the examination number, sequence number, image number, and image attribute value. An extraction module is used to obtain image identifiers from the hierarchical file, and the image attribute values of the medical images corresponding to each image identifier, wherein the medical images are DICOM images, and the image attribute values include the attribute values of the DICOM images. The calculation module is used to calculate rendering data based on the image attribute values; The acquisition module is used to acquire the corresponding image based on the image identifier; The rendering module is used to render the image based on the rendering data and display the rendered image. The rendering data calculated by the calculation module occurs before the corresponding image is acquired by the acquisition module. The calculation module is also used to calculate the positioning lines of each image based on the image attribute values to obtain rendering data.
7. The apparatus according to claim 6, characterized in that, The acquisition module is also used to determine the file size of the image file to be acquired, and to determine the number of threads based on the file size; Based on the number of threads, an acquisition thread is created, and an image range is allocated to each acquisition thread; Each of the acquisition threads is executed concurrently, and each acquisition thread acquires a portion of the image corresponding to the allocated image range from the cloud. The images from each part are merged to obtain a complete image.
8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 5.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 5.