The object of the present invention is a new computer implemented method and module for displaying a DICOM Whole Slide Image (WSI), where each frame is identified by instance and frame number, using a conventional high-resolution image viewer where each cell is identified by level, row and column.
In the field of medicine, particularly in Anatomic Pathology, the need to make histological and cytological slides for a subsequent microscopic study by a pathologist is known. A number of devices for a complete digitization of those slides have recently appeared. Digitization devices, known as scanners, obtain a high-resolution digital image of the slide, which is thus available for analysis any place and time without the need for the clinician to have physical access to the slide.
The digitization method carried out by these scanners for obtaining a digital high-resolution image of the slides comprises taking a mosaic of photographs, normally square-shaped photographs, of small fragments of the surface of the slide known as “cells”. The scanners comprise a digital camera with a 20× to 40× zoom lens, mounted on a structure holding the camera over the slide. A parallel relative movement between the camera and the slide is generated while the camera takes multiple pictures of the slide from above. All those pictures are taken in positions separated by a small distance, such as microns. Subsequently, every photograph is placed in the correct position in the image.
A drawback of this technology is related with the huge size of the complete digitized high-resolution image. Indeed, a high-resolution image of this type may contain several thousands of individual photographs. The size of such a high-resolution image may therefore range between several hundreds of megabytes to about tens of gigabytes. Obviously, managing and displaying an image having this size is very complicated.
In order to solve this drawback, the use of image composition method known as “pyramidal” for displaying these high-resolution images is known. This method comprises creating a number of lower resolution images usually known as “levels”. Usually, the size of the image making up each level is half the size of the image making up the level immediately below. The image of each level is also formed by a plurality of cells. Therefore, starting from the complete image having the highest resolution that makes up the lowermost level at the base of the pyramid, successive levels having gradually lower resolutions are created, until the uppermost level having the lowest resolution that makes up the top of the pyramid.
When displaying the image, initially the uppermost level having the lowest resolution is displayed (in the example shown in
Therefore, the current digitalization technology mainly provides three elements for defining an image: image, level, and cell. Each image comprises several levels, and every level in turn comprises a plurality of cells each corresponding to an individual photograph. Each level is half the size the level below, and an image contains levels corresponding to all integer reduction factors until arriving at a single-cell uppermost level. In this context, each particular cell in a particular image is univocally identified by means of three parameters: level, row and column.
A dedicated system stores the above-defined cell position information along with additional relevant information the information. The information may include, for example, number and/or size of the levels, image files containing the photograph corresponding to each cell (e.g. a jpg file), etc. During navigation throughout the image, known proprietary viewers communicate with the system for requesting the information needed to display the image with the resolution required by the user. In particular, these proprietary viewers request a relevant cell image file by identifying the level, row and column of the necessary cell. In order to function properly, therefore, current proprietary viewers require the relevant image database to store the image information according to the above structure.
DICOM standard
DICOM (Digital Imaging and COmmunication in Medicine) is a standard for storing and exchanging medical images enabling the integration of medical imaging devices such as scanners, servers, workstations, printers, network hardware, and picture archiving and communication systems (PACS) from multiple manufacturers. It has been widely adopted by hospitals. Further, supplements 145 and 122 of DICOM define the necessary extensions for storing and visualizing high-resolution images used in Anatomic Pathology.
A simplified entity-relationship defined by DICOM establishes the “patient” as the main node. Each patient may have a number of “studies”. Each study may be divided in one or more “series”. Each series may comprise several “instances”. And, finally, each instance may comprise a single image or an image in a plurality of “frames”. For Digital Pathology images, DICOM Supplement 145 defines the use of multiframe images. This structure corresponds to a class denoted as VL Whole Slide Microscopy Image, (WSI).
So the DICOM standard, for a given patient and study, defines three elements essentially equivalent to those disclosed by the scanner manufacturers for every WSI: series, instance, and frame. Every series comprises several instances and, in turn, every instance can comprise a plurality of frames. However, unlike existing conventional proprietary viewers, the DICOM standard only allows access to a particular frame inside an instance by means of the number of frame. Further, DICOM supplement 145 is not strict as to the order of the frame numbers, and therefore frame numbers can be arbitrarily assigned to each frame in an instance. Furthermore, the DICOM standard is not strict also in identification of instances in the sense that it is not possible to indicate the reduction factor of one instance by the identification, even knowing the factor 0 instance. Furthermore, a series does not necessarily have to comprise all instances corresponding to each integer reduction factor.
Frame A: Instance 3, Frame number 14
Frame B: Instance 2, Frame number 5
This apparently random structure meets the DICOM standard, and therefore a well-designed DICOM viewer must be able to display such an image. Image information within the DICOM standard is stored in a dedicated system known as PACS (Picture Archiving and Communication System). Therefore, when requesting information to the PACS, a DICOM image viewer must request certain information from the PACS by means of frame number and instance.
Obviously, a conventional proprietary viewer designed to request cell information to the relevant database by identifying cells by means of (level, row, column) cannot display DICOM images where the frame image information is identified by means of (instance, frame number). Neither instances match levels nor frame numbers match rows and columns.
There is thus a need in the art to develop a solution allowing conventional viewers to display DICOM images.
The present invention solves the above-disclosed drawback by means of a novel computer implemented method capable of “translating” a request from a proprietary high-resolution image viewer made in terms of level, row, and column into a DICOM valid request made in terms of DICOM instance and DICOM frame number. This method can be carried out by an interface module located between the proprietary image viewer and the DICOM database or PACS, as shown in
The present invention therefore allows for existing viewers designed to operate using level/row/column based cell identification to access images stored in the PACS according to the DICOM structure based on instance/frame number. This is advantageous in that health care services do not need to acquire a new DICOM compatible viewer.
A first aspect of the present invention therefore discloses a computer implemented method for accessing a DICOM WSI database or PACS from a high-resolution image viewer by means of an intermediate interface module. The high-resolution image viewer is configured for requesting cell image files from a database by identifying cell level, row, and column. On the other hand, the PACS stores a DICOM series comprising several DICOM instances which, in turn, comprise a plurality of DICOM frames. In this context, each DICOM frame in the PACS is identified by means of DICOM instance number and DICOM frame number. The method comprises mainly the following steps:
Now, in order to carry out steps 2 and 3, the interface module must have a first correspondence table establishing a correlation between levels and DICOM instances and a second correspondence table establishing a correlation between cell row and column and DICOM frame number. In this context, the term “correspondence table” must be interpreted to refer to any kind of data structure capable of storing the relevant correspondence information. The invention is not limited strictly to the use of a correspondence table.
Therefore, the method of the invention further comprises an initial process, carried out by the interface module, of building a first correspondence table between level and DICOM instance and a second correspondence table between row and column and DICOM frame number. Said initial process comprises the following steps:
where the image size is the size of the largest instance received.
Therefore, the result of these calculations carried out in the interface module is a list with the reduction factors of each of the instances. Note that the largest instance of the image will have a reduction factor of 0. Further, note that, unlike in the case of levels, instances corresponding to every integer reduction factor are not necessarily present. In the example shown in
Following with the example shown in
This step allows the interface module to find out whether there are instances missing. In the above example, instances corresponding to reduction factors 0, 1, and 3 are present. Therefore, an instance corresponding to a reduction factor of 2, i.e. a 2×2 instance, is missing. This is relevant because known proprietary viewers expect levels corresponding to every integer reduction factor to be present.
06) Building a correspondence table between each DICOM instance and a level having the same reduction factor.
The interface module builds a correspondence table between the DICOM instances and the levels. In connection with the example shown in
07) Finding, in the metadata received, the frame number and the DICOM frame position for each frame. In this context, it is known that the DICOM frame position refers to the coordinates in pixels of the left upper corner of the frame.
Considering the example shown in
08) Obtaining the lowest horizontal and vertical coordinates from all the DICOM frame positions.
Once the interface module has received the frame position for all frames, i.e. the left upper corner coordinates of all frames, the left edge and the upper edge of the instance must correspond respectively to the lowest horizontal coordinate and to the lowest vertical coordinate from all the frame positions.
09) Determining that said lowest horizontal and vertical coordinates as the horizontal and vertical offset.
In case the coordinates corresponding to the left and upper edges of the instance obtained in the above step are not zero, then the interface module derives that there is a certain offset corresponding to the value of said edge coordinates.
That is, in the example represented in
Therefore, in this step the interface module determines the value of a horizontal offset and a vertical offset: the horizontal offset is 200 pixels, and the vertical offset is 300 pixels.
10) Calculating the row and column of each DICOM frame by means of the following equation:
where the vertical coordinate refers to the vertical component of the relevant frame position in pixels and the horizontal coordinate refers to the horizontal component of the relevant frame position in pixels.
In the example shown in
Now, the row and column corresponding to frames A and B is obtained:
Frame A: Row=(556−300)/256+1=2 Column=(968−200)/256+1 =4
Frame B: Row=(812−300)/256+1=3 Column=(456−200)/256+1=2
11) Building a correspondence table between each DICOM frame number and the corresponding row and column.
The interface module builds a correspondence table between the DICOM frame numbers and the rows and columns of each cell. Following with the example shown in
This process is carried out for all the frames in each instance. The final result are two correspondence tables, or generally speaking data structures, that allow for the interface module to immediately translate a petition from a conventional high-resolution image viewer made in terms of level, row and column into DICOM defined parameters such as DICOM instance and DICOM frame number. The interface module can then request the relevant information from the PACS and pass it back to the conventional image viewer, as schematically shown in
While the method of the invention is particularly designed to be executed in a computer, the invention further encompasses a computer program comprising instructions capable of causing a computer to carry out the method of the invention. The program may be in the form of font code, object code, or an intermediate code between font code and object code, such as a partially compiled form. Generally speaking, the program may be in any computer readable form capable of causing a computer to carry out the method of the invention.
The computer program may be stored in a storing means. The storing means could be of any kind, such as e.g. a ROM, a CD-ROM, a semiconductor ROM, a hard disk, etc. Alternatively, the storing means could be an ASIC adapted to store and execute the method of the invention. In any case, generally speaking the storing means includes any kind of means capable of storing the list of instructions making up the computer program.
The computer program may be supported in a carrier. In this context, when the program is incorporated in a signal that can be transported by cable or by any other means, such as an electrical or optical signal, the carrier takes the form of said cable or other means.
A second aspect of the present invention is directed to an intermediate interface module for accessing a DICOM WSI or PACS from a high-resolution image viewer. As disclosed above, the PACS stores a DICOM series comprising several DICOM instances which, in turn, comprise a plurality of DICOM frames. In this context, each DICOM frame in the PACS is identified by means of DICOM instance number and DICOM frame number. On the other hand, the high-resolution image viewer is configured for requesting cell image files from a database by identifying level, row, and column of said cell. The interface module is configured for carrying out the following steps:
Further, the interface module is configured for carrying out an initial process of building a first correspondence table between level and DICOM instance and a second correspondence table between row and column and DICOM frame number. Said initial process comprises the following steps:
In this context, the term “module” must be interpreted widely, such that it does not refer only to a physical module such as a server, computer, or the like, but also to a software module that can be run in the same computer or server where the conventional viewer is run.
First, the initial process for obtaining first and second correspondence tables respectively between level and instance and between row and column and frame number is carried out. This initial process comprises carrying out the following commands:
b) The reduction level of every instance is calculated by means of the formula
Alternatively, in case the PACS does not admit C-GET commands or the HTTP protocol is to be used, a WADO-RS command may be employed for gathering the same data and carrying out the same process.
Once the interface module has finished this initial process, access to the PACS from the conventional proprietary viewer based on cell level, row and column can start displaying DICOM images stored in the PACS. Each level/row/column based request from the viewer is “translated” into an instance/frame number request by the interface module by using the first and second correspondence tables. The PACS then returns the relevant frame image file to the interface module, which in turn passes said file to the viewer.
In this case, the PACS configuration is altered to store certain metadata a client can request by means of a C-FIND (or QIDO) command. In that case, a C-FIND request with these metadata will be answered with this information and, in one request, all the information necessary for the algorithm will be obtained.
In this example, the process will comprise follow commands:
Number | Date | Country | Kind |
---|---|---|---|
P201830651 | Jun 2018 | ES | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2019/067360 | 6/28/2019 | WO | 00 |