Server-client architecture in digital pathology
11416983 · 2022-08-16
Assignee
Inventors
Cpc classification
International classification
G06V10/25
PHYSICS
G06V20/69
PHYSICS
Abstract
A client and server are provided with the same digital image of a slice of a biological material, which has been applied with a staining substance. The server is used for pre-processing the digital image and provides results of the pre-processing to the client in turn of a request. The server is configured to classify each pixel of the digital image, wherein the pixel is classified as stained, The client is configured to determine the region of interest at the digital image, and request data related to the classification of the pixels at the region of interest at the server. The server can provide the classification results related to the classification of the pixels at the region of interest at the digital image to the client.
Claims
1. A server, comprising: a server input interface; a server processing unit; a server storage unit; and a server output interface; wherein the server input interface is configured to receive a digital image of a slice of biological material, which has been applied with at least one staining substance; wherein the server processing unit is configured to classify each pixel of the digital image, wherein a pixel is classified with respect to a staining substance as stained, in case a color property of the pixel is within a predefined property range indicative for an absorption of the respective staining substance, wherein the server processing unit is further configured to calculate at each pixel of the digital image for each staining substance an absorption value a.sub.x,y on the basis of the color property of the respective pixel; wherein the server storage unit is configured to store the digital image and the classification of the pixels of the digital image; wherein the server input interface is further configured to receive a request indicating a region of interest of the digital image from a client; and wherein the server output interface is configured to provide one or a combination of the stored classification or other data related to the classification of the pixels at the region of interest to the client.
2. The server of claim 1, wherein the server output interface is configured to provide at least a part of the data stored by the server storage unit as the data related to the classification of the pixels at the region of interest to the client.
3. The server of claim 1, wherein the server input interface is configured to receive for each staining substance an absorption threshold value a.sub.th for the region of interest; wherein the server processing unit is configured to select the pixels of the stained classified pixels at the region of interest having for at least one staining substance an absorption value larger than the related absorption threshold value as stained selected pixels; and wherein the server storage unit is configured to store one or a combination of the stained selected pixels or the absorption values of the stained selected pixels.
4. The server of claim 3, wherein the server processing unit is configured to calculate upon the request a score S, characterizing a staining of the region of interest, as a function of one or a combination of the stored stained selected pixels or the stored absorption values of the stained selected pixels; and wherein the server output interface is configured to provide the score as the data related to the classification of the pixels at the region of interest to the client.
5. The server of claim 1, wherein the server processing unit is configured to determine a plurality of digital tiles, each associated with pixels at a sub- area of a total area of the digital image, such that each pixel of a majority of the pixels of the digital image is associated by at least two tiles; wherein the server processing unit is configured to quantize the at least one absorption value of each pixel of the digital image into one of a predefined number of absorption levels a.sub.p; wherein the server processing unit is configured to calculate for each tile an absorption frequency vector N for each staining substance, wherein the absorption frequency vectors comprise for each absorption level an entry indicating for the respective staining substance the number of stained pixels of the tile at the respective absorption level; and wherein the server storage unit is configured to store one or a combination of the digital tiles or the absorption frequency vectors.
6. The server of claim 5, wherein the server processing unit is configured to determine the plurality of tiles in one or a combination of a quadtree structure or an integral image structure.
7. The server of claim 5, wherein the server processing unit is configured to determine upon the request a minimum number of tiles of the plurality of stored digital tiles as selected tiles, such that the selected tiles form an integral area corresponding to the region of interest of the digital image; and wherein the server output interface is configured to provide one or a combination of the selected tiles or the absorption frequency vectors of the selected tiles as the data related to the classification of the pixels at the region of interest to the client.
8. The server of claim 5, wherein the server processing unit is configured to determine upon the request a minimum number of tiles of the plurality of stored digital tiles as selected tiles, such that the selected tiles form an integral area corresponding to the region of interest of the digital image; wherein the server input interface is configured to receive for each staining substance an absorption threshold value for the region of interest; wherein the server processing unit is configured to select upon the request the entries of the stored absorption frequency vectors of the selected tiles as selected entries, which related absorption levels are each larger than their related absorption threshold value; wherein the server processing unit is configured to calculate upon the request a score, characterizing a staining at the region of interest, as a function of one or a combination of the selected entries or all entries of the stored absorption frequency vectors of the selected tiles; and wherein the server output interface is configured to provide the score as the data related to the classification of the pixels at the region of interest to the client.
9. A client, comprising: a client input interface; a user interface; a client output interface; wherein the client input interface is configured to receive a digital image of a slice of biological material, which has been applied with at least one staining substance; wherein the user interface is configured to display the digital image; wherein the user interface is configured to receive a selection signal from a user and to select a region of interest of the digital image on the basis of the selection signal; wherein the client output interface is configured to send a request for data related to a classification of the pixels at the region of interest to a server; and wherein the client input interface is configured to receive upon the request a classification of each of the pixels at the region of interest from the server, each pixel classified with respect to a staining substance as stained, in case a color property of the pixel is within a predefined property range indicative for an absorption of the respective staining substance, each pixel of the digital image for each staining substance comprising an absorption value a.sub.x,y on the basis of the color property of the respective pixel.
10. The client of claim 9, wherein the user interface is configured to display the received data related to the classification of the pixels at the region of interest.
11. A method, comprising the following steps: a) receiving at a server a digital image of a slice of biological material, which has been applied with at least one staining substance; b) classifying at the server each pixel of the digital image, wherein a pixel is classified with respect to each staining substance as stained, in case a color property of the pixel is within a predefined property-range indicative for an absorption of the respective staining substance, and calculating at each pixel of the digital image for each staining substance an absorption value a.sub.x,y on the basis of the color property of the respective pixel; c) receiving at a client the same digital image of the slice of biological material; d) displaying the digital image received at the client by a user interface of the client; e) selecting a region of interest of the digital image at the client upon receiving and on the basis of a selection signal provided by a user via the user interface; f) sending a request for data related to the classification of the pixels at the region of interest from the client to the server; g) sending one or a combination of the classification or other data related to the classification of the pixels at the region of interest of the digital image from the server to the client, in case the classifying of step b) has been finished before receiving the request for data related to the classification of the pixels at the region of interest from the client.
12. The method of claim 11, further comprising providing at least a part of the data stored by the server as the data related to the classification of the pixels at the region of interest to the client.
13. The method of claim 11, further comprising receiving at the server for each staining substance an absorption threshold value a.sub.th for the region of interest; selecting at the server the pixels of the stained classified pixels at the region of interest having for at least one staining substance an absorption value larger than the related absorption threshold value as stained selected pixels; and storing at the server one or a combination of the stained selected pixels or the absorption values of the stained selected pixels.
14. The method of claim 13, further comprising calculating at the server upon the request a score S, characterizing a staining of the region of interest, as a function of one or a combination of the stored stained selected pixels or the stored absorption values of the stained selected pixels; and providing the score as the data related to the classification of the pixels at the region of interest to the client.
15. The method of claim 11, further comprising determining at the server a plurality of digital tiles, each associated with pixels at a sub-area of a total area of the digital image, such that each pixel of a majority of the pixels of the digital image is associated by at least two tiles; quantizing the at least one absorption value of each pixel of the digital image into one of a predefined number of absorption levels a.sub.p; calculating for each tile an absorption frequency vector N for each staining substance, wherein the absorption frequency vectors comprise for each absorption level an entry indicating for the respective staining substance the number of stained pixels of the tile at the respective absorption level; and storing one or a combination of the digital tiles or the absorption frequency vectors.
16. The method of claim 15, further comprising determining at the server the plurality of tiles in one or a combination of a quadtree structure or an integral image structure.
17. The method of claim 15, further comprising determining at the server upon the request a minimum number of tiles of the plurality of stored digital tiles as selected tiles, such that the selected tiles form an integral area corresponding to the region of interest of the digital image; and providing one or a combination of the selected tiles or the absorption frequency vectors of the selected tiles as the data related to the classification of the pixels at the region of interest to the client.
18. The method of claim 15, further comprising determining by the server upon the request a minimum number of tiles of the plurality of stored digital tiles as selected tiles, such that the selected tiles form an integral area corresponding to the region of interest of the digital image; receiving for each staining substance an absorption threshold value for the region of interest; selecting upon the request the entries of the stored absorption frequency vectors of the selected tiles as selected entries, which related absorption levels are each larger than their related absorption threshold value; calculating upon the request a score, characterizing a staining at the region of interest, as a function of one or a combination of the selected entries or all entries of the stored absorption frequency vectors of the selected tiles; and providing the score as the data related to the classification of the pixels at the region of interest to the client.
19. The method of claim 11, wherein calculating at each pixel of the digital image for each staining substance an absorption value comprises calculating the formula a.sub.x,y =255−(r.sub.x,y+g.sub.x,y+b.sub.x,y)/3, where r.sub.x,y relates to a red color component of each pixel at the position (x, y), g.sub.x,y relates to a green color component of each pixel at the position (x, y), and b.sub.x,y relates to a blue color component of each pixel at the position (x, y).
20. The server of claim 1, wherein the server processing unit is configured to calculate at each pixel of the digital image for each staining substance an absorption value comprises calculating the formula a.sub.x,y=255−(r.sub.x,y+g.sub.x,y+b.sub.x,y)/3, where r.sub.x,y relates to a red color component of each pixel at the position (x, y), g.sub.x,y relates to a green color component of each pixel at the position (x, y), and b.sub.x,y relates to a blue color component of each pixel at the position (x, y).
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Exemplary embodiments of the invention will be described in the following with reference to the following drawings:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
DETAILED DESCRIPTION OF EMBODIMENTS
(17) Unless specified otherwise, identical or similar reference numerals appearing in different figures label identical or similar components.
(18)
(19) The server input interface 12 is configured to receive a digital image 20 of a slice of a biological material, which has been applied with at least one staining substance.
(20) The server processing unit 14 is configured to classify each pixel 24 of the digital image 20, wherein a pixel 26 is classified with respect to a staining substance as stained, in case a color-property of the pixel 26 is within a predefined property-range indicative for an absorption of the respective staining substance.
(21) The server storage unit 16 is configured to store the digital image 20 and the classification of the pixels 24 of the digital image 20.
(22) The server input interface 12 is further configured to receive a request indicating a region of interest 28 of the digital image 20 from a client 22.
(23) The server output interface 18 is configured to provide the stored classification and/or other data related to the classification of the pixels at the region of interest 28 to the client 22.
(24) As a result, the classification of the pixels 24 of the digital image 20 can be carried out previously to the request from the client 22. Accordingly, the server 10 may perform the classification prior to the request from the client 22 and thereafter stores the classification of the pixels 24 of the digital image 20. In case the server input interface 12 receives the request indicating a region of interest 28 of the digital image 20 from the client 22, the server 10 may provide the stored classification of the pixels 24 at the region of interest 28 and/or other data related to the classification of the pixels at the region of interest 28 to the client 22. Thus, the classification and/or other data related to the classification of the pixels at the region of interest 28 may be provided instantly to the client 22. This increases the performance at the client-site. Further, the client 22 does not necessarily need a processing power to be able to classify each pixel of the digital image. Instead, the server processing unit 14 of the server 10 can be configured accordingly.
(25) In an example, the server 10 relates to a device, in particular to a computer or a computer system.
(26) In a further example, the server 10 relates to a fraction of a device.
(27) The server input interface 12 is configured to receive the digital image 20. An example of a digital image 20 of the slice of biological material is schematically shown in
(28) In an example, the digital image 20 is formed by a plurality of pixels 24.
(29) In an example, a first data connection line 30 to connect the server input interface 12 with the server processing unit 14 is provided. Accordingly, the server input interface 12 may provide a digital image 20 via the first data connection to the server processing unit 14.
(30) The server processing unit 14 is configured to classify each pixel 24 of the digital image 20.
(31) At the digital image 20 as shown in
(32) In an example, the region of interest 28 relates to a region of the digital image 20, which relates to a corresponding region of the slice, which according for example to a pathologist is a relevant part of the slice over which an analysis should be carried out, in particular where a score should be calculated for.
(33) The region of interest 28 may have been manually indicated by a user at the client 22. The information about the region of interest 28 may then have been sent from the client 22 to the server input interface 12 and being transmitted to the server processing unit 14 via the first data connection 30.
(34) The classification of pixels 24 of the digital image 20 is exemplarily described with respect to
(35)
(36) The region of interest 28 of
(37) In order to easily distinguish the results of the application of the first staining substance and the results of the application of the second staining substance, pixels 24 of the digital image 20 being classified as stained by the first staining substance shall be called “stained” or “stained pixel”. Pixels 32 classified as stained by a second staining substance shall exemplarily be called “counter-stained” or “counter-stained pixel”.
(38)
(39) With respect to the first staining substance, just the stained pixels 26 have a color-property within a predefined property-range indicative for the absorption of the first staining substance. Furthermore, the counter-stained pixels 32 comprise a color-property within a different predefined property-range indicative for the absorption of the second staining substance. Accordingly, the server processing unit 14 is configured to classify the pixels 24 accordingly.
(40) In an example, the first staining substance may be of a first color, for instance brown.
(41) In an example, the second staining substance may be of a different, second color, for instance blue.
(42) In an example, where staining substances with different colors have been applied to the slice of a biological material, pixels can show their position at the slice, where at least one of the staining substances has been absorbed, such that the slice is at the respective positions predominantly of one of the colors of the staining substances, for instance predominantly brown or predominantly blue.
(43) In an example, so-called Preucil polar plot regions can be used to classify the pixels 24 of the digital image 20. A pixel at the position (x, y) at the digital image 20 may be classified as:
(44)
(45) wherein:
(46) C.sub.x,y relates to a classification result of the pixel at the position (x, y),
(47) r.sub.x,y relates to a red color component of the pixel at the position (x, y),
(48) g.sub.x,y relates to a green color component of the pixel at the position (x, y), and
(49) b.sub.x,y relates to a blue color component of the pixel at the position (x, y).
(50) As exemplarily shown for the region of interest 28 in
(51) Generally, a slice of a biological material can be applied with more than two staining substances or with a plurality of staining substances.
(52) In an example, the slice of a biological material may be applied with one staining substance. In this case, the classification of the pixels 24 may relate to:
(53)
(54) In an example, the server processing unit 14 is configured to classify each pixel 24 of the digital image 20 directly after the server input interface 12 received the digital image 20.
(55) As a result, the pixels 24 of the digital image 20 may be classified before a classification result of the pixels 24 is needed.
(56) The server storage unit 16 is configured to store the digital image and the classification of the pixels 24 of the digital image 20.
(57) As a result, the server storage unit 16 can provide the classification of the pixels 24 of the digital image 20 whenever respective data is requested.
(58) Upon the request indicating a region of interest 28 of the digital image 20 from the client, the server output interface 18 is configured to provide the stored classification of the pixels 24 of the region of interest 28 of the digital image 20 to the client 22. Furthermore, or alternatively, the server output interface 18 may be configured to provide other data related to the classification of the pixels at the region of interest 28 of the digital image 20 to the client 22.
(59) As a result, a received request indicating a region of interest 28 of the digital image 20 may be answered immediately, since the requested data have been pre-processed and stored at the server storage unit 14.
(60) In an example, the server processing unit 14 is connected via a second data connection 34 with the server storage unit 16. Accordingly, the server processing unit 14 may send data, for instance a classification of the pixels 24 of the digital image 20 to the server storage unit 16. In a further example, the server processing unit 14 may retrieve data via the second data connection 34 from the server storage unit 16, for instance the classification of the pixels 24 of the digital image 20.
(61) In a further example, a third data connection 36 is provided to connect the server processing unit 14 and the server output interface 18.
(62) In an example, the server processing unit 14 may be configured to provide data retrieved from the server storage unit 16 via the third data connection 36 to the server output interface 18.
(63) In an example, a fourth data connection 38 is provided to allow the server output interface 18 to retrieve data from the server storage unit 16.
(64) In a further example, the third data connection 36 may be configured to transmit control signals from the server processing unit 14 to the server output interface 18. For example, the server output interface 18 may be controlled by the server processing unit 14 to retrieve data via the fourth data connection 38 from the server storage unit 16.
(65) According to a further example, the server output interface 18 is configured to provide at least a part of the data stored by the server storage unit 16 as the data related to the classification of the pixels at the region of interest 28 to the client 22.
(66) In an example, the classification results of the pixels 24 at the region of interest of the digital image 20 may be provided as the data related to the classification of the pixels at the region of interest 28 to the client 22.
(67) As a result, the amount of data provided to the client 22 by the server output interface 18 can be limited, in particular to the most relevant data with respect to the region of interest 28 of the digital image 20.
(68) According to a further example, the server processing unit 14 is configured to calculate at each pixel 24 of the digital image 20 for each staining substance an absorption value a.sub.x,y on the basis of the color-property of the respective pixel 24.
(69) In an example, the absorption value for a pixel preferably relates to the amount of a staining substance, which has been absorbed by the slice at the corresponding position of the respective pixel.
(70) In an example, a spot at the slice changes its color with respect to the staining substance, in case the staining substance is absorbed. Accordingly, a color-property of a pixel may be applied for calculating an absorption value for the respective pixel 24 of the digital image 20.
(71) In an example, an absorption value a.sub.x,y for a pixel 24 at the position (x, y) at the digital image 20 may be calculated as:
a.sub.x,y=255−(r.sub.x,y+g.sub.x,y+b.sub.x,y)/3.
(72) As a result, the absorption value a.sub.x,y may be calculated for each pixel 24 independent of the respective staining substance. Preferably, the same formula as cited above may be used for example for a first staining substance and a second staining substance.
(73) The above presented formula may be an approximation that may be only valid, if at a given pixel 24 only a stain or a counter-stain is present, and in particular not both at the same time. The above presented formula for calculating the absorption value a.sub.x,y may be a very basic approximation. More sophisticated formulas to calculate an absorption value a.sub.x,y for a pixel 24 may be provided in the state of the art.
(74) In an example, the server output unit 18 is configured to provide the absorption value a.sub.x,y as the data related to the classification of the pixels at the region of interest 28 to the client 22.
(75) According to a further example, the server input interface 12 is configured to receive for each staining substance an absorption threshold value a.sub.th for the region of interest 28. The server processing unit 14 is configured to select the pixels of the stained classified pixels 26 at the region of interest 28 having for at least one staining substance an absorption value a.sub.x,y larger than the related absorption threshold value a.sub.th as stained selected pixels 26a.
(76) The server storage unit 16 is configured to store the stained selected pixels 26a and/or the absorption values a.sub.x,y of the stained selected pixels 26a.
(77)
(78) In an example, the color-property, in particular the hue, of the stained pixels 26 and counter-stained pixel 32, respectively, depend on the amount of absorbed (counter-) staining substance. For example, for the first staining substance, a group of the stained pixels 26 differ in their color intensity. Accordingly, the (counter-)stained pixels 26, 32 are associated with different absorption values, even though they are all classified as (counter-) stained pixels 26, 32.
(79) In a practical application it has been found that a significance about the staining at a region of interest can be increased, if only a sub-set of the stained pixels 26 at the region of interest 28 are considered, which absorption values are larger than a predefined absorption threshold value a.sub.th. For example, with respect to
(80) The stained selected pixels 26a, which have an absorption value larger than the respective absorption threshold value a.sub.th are shown in
(81) In an example, just the stained selected pixels 26a, as exemplarily shown in
(82) In an example, the server output interface 16 is configured to provide the stored (counter-)stained selected pixels 26a, 32a and/or the stored absorption values a.sub.x,y of the (counter-)stained selected pixels 26a, 32a as the data related to the classification of the pixels at the region of interest 28 to the client 22.
(83) As a result, the calculation of the (counter-)stained selected pixels 26a, 32a and/or the absorption values a.sub.x,y of the (counter-)stained selected pixels 26a, 32a may be carried out upon the request.
(84) According to a further example, the server processing unit 14 is configured to calculate upon the request a score S, characterizing a staining of the region of interest 28, as a function of the stored stained selected pixels 26a and/or the stored absorption values a.sub.x,y of the stained selected pixel 26a. The server output interface 18 is configured to provide the score S as the data related to the classification of the pixels at the region of interest 28 to the client 22.
(85) A region of interest 28, as exemplarily shown in
(86) In an example, the score S may be calculated as:
(87)
(88) wherein:
(89) N.sub.S[a] relates to the number of the stained selected pixels 26a having an absorption value a.sub.x,y at the region of interest 28,
(90) N.sub.C[a] relates to the number of counter-stained selected pixels 32a having an absorption value a.sub.x,y of a at the region of interest,
(91)
(92) The above provided score S may be referred to as the area score. A further example for calculating a score may be provided as:
(93)
(94) The above provided formula for calculating the score S may be called as the intensity score.
(95) For calculating the score S, a combination of the area score and the intensity score may be considered.
(96) In an example, the score S may be a function f of N.sub.S[a] and N.sub.C[a]:
S=f(a,N.sub.S[a],N.sub.C[a]).
(97) With respect to the
(98) According to an exemplary embodiment of the invention, the server processing unit 14 is configured to determine a plurality of digital tiles 40, each associated with pixels 24 at a sub-area of a total area of the digital image 20, such that each pixel of a majority of the pixels 24 of the digital image 20 is associated by at least two tiles 40. The server processing unit 14 is configured to quantize the at least one absorption value a.sub.x,y of each pixel 24 of the digital image into one of a predefined number k of absorption levels a.sub.p. The server processing unit 14 is configured to calculate for each tile 40 an absorption frequency vector N for each staining substance. The absorption frequency vectors N comprise for each absorption level a.sub.p an entry indicating for the respective staining substance the number of stained pixels 26 of the tile 40 at the respective absorption level a.sub.p. The server storage unit 16 is configured to store the digital tiles 40 and/or the absorption frequency vectors N.
(99) A sample area 42 of the digital image 20 is shown in
(100) A further example of the sample area 42 is shown in
(101) The sub-area 42 shown in
(102) A further example of a sample area 42 divided into a plurality of tiles 40 is shown in
(103) As can be seen from
(104)
(105) As a result, each pixel of a majority of pixels 24 of the digital image 20 is associated by at least two tiles 40, in particular where the tiles 40 are structured at different quadtree levels.
(106) As a further result, the tiles 40, in particular at different quadtree levels, are associated with common pixels, which facilitate the further proceeding at the server 10. For the further proceeding, a suitable selection of the tiles 40 may be used to calculate the score S for the region of interest 28.
(107) In an example, the proceeding may be facilitated by the use of integral image techniques. The tiles 40 are preferably of rectangular shape. Thus, a sub-area of the region of interest 28 may be related to a rectangular area being defined by the points A, B, C and D, each being located at a distinct position (x, y). Further, each of the points A, B, C and D relate to a corner point of a tile 40 in the sense of a rectangular integral image tile, and thus each forming an integral image tile, wherein the integral image tiles are properly chosen from the tiles 40 as explained above at any quadtree level.
(108) In an example, the score S of the area being defined by the points A, B, C and D may be calculated as:
(109)
(110) wherein:
(111)
(112) and wherein:
(113) A relates to a position (x.sub.A, y.sub.A);
(114) B relates to a position (x.sub.B, x.sub.B);
(115) C relates to a position (x.sub.C, y.sub.C);
(116) D relates to a position (x.sub.D, y.sub.D);
(117) I.sub.S[x,y,a] relates to the number of the stained selected pixels 26a at an area left and above of the position (x, y) of the digital image 20 having an absorption value a; and
(118) I.sub.C[x,y,a] relates to relates to the number of the counter-stained selected pixels 32a at an area left and above of the position (x, y) of the digital image 20 having an absorption value a;
(119) In order to facilitate the further proceeding at the server 10 even more, a further pre-processing at the server is provided.
(120) The absorption values a.sub.x,y of the pixels 24 may vary in their value widely. In order to reduce their processing effort, the absorption values a.sub.x,y of each pixel 24 of the digital image 20 may be quantized at the server processing unit 14 into one of a predefined number k of absorption levels a.sub.p. Accordingly, a large possible number of absorption values a.sub.x,y may be mapped into a small set, in particular defined by the number k, of absorption levels a.sub.p.
(121) Each tile 40 is associated with a plurality of pixels 24 of the digital image 20. Thus, there may be a distribution of different absorption levels a.sub.p with respect to the pixels 24 associated by the respective tile 40.
(122) The information about the distribution of the absorption levels a.sub.p of the pixels 24 at a tile 40 may be arranged in the absorption frequency vector N.
(123) For each tile 40, more than one absorption frequency vector N may be provided, in particular one for each staining substance.
(124) In an example, the number of entries of each absorption frequency vector N corresponds to the number k of the absorption levels a.sub.p. The entries as such indicate for the respective staining substance the number of stained pixels at the respective tile at the related absorption level a.sub.p.
(125) In other words, in an example, for each tile 40, the entries of the related absorption frequency vector N correspond to the number of absorption substance specific stained pixels 24 of the respective tile 40, namely the number of pixels 24 being classified as stained with the respective staining substance, at the different absorption levels ap.
(126) For example, a first entry of an absorption frequency vector N relates to a first absorption level a.sub.p. In a further example, a tile 40 may comprise ten pixels associated with the first absorption level a.sub.p, such that the first entry of the absorption frequency vector N for this tile 40 may have the value ten. The further entries of the absorption frequency vector N are calculated in an analogous way for the respective tile 40.
(127) In an example, the server processing unit 14 may be configured to pre-calculate for each tile 40 an absorption frequency vector N for each staining substance.
(128) As a result, the calculation of the absorption frequency vectors N can be carried out and/or finished previously to a request from the client 22.
(129) As a further result, in case the request from the client 22 occurs, the server 10 is prepared due to the pre-processing to provide data related to a region of interest 28 initially. This increases the performance for the user at the client site.
(130) In an example, the server output interface 18 is configured to provide the stored digital tiles 40 and/or the stored absorption frequency vectors N as the data related to the classification of the pixels at the region of interest 28.
(131) According to an example of the invention, the server processing unit 14 is configured to determine the plurality of tiles 40 in a quadtree structure and/or an integral image structure.
(132) A quadtree structure for arranging data is generally known in the state of the art.
(133) An integral image structure for arranging data is generally known in the state of the art, too.
(134) In an example, the quadtree structure comprises tiles 40 at at least two levels. With respect to
(135) According to a further example of the invention, as exemplarily shown in
(136) As a result, the amount of data provided to the client 22 may be limited, in particular with respect to the region of interest 28.
(137) As a further result, the selection process does not need to be carried out at the client 22. Instead, the performance of the server processing unit 14 can be utilized for the determination of the selected tiles 44. Thus, a performance increase for the user at the client site can be provided.
(138) In an example, the integral image is a minimum integral area corresponding to the region of interest 28 of the digital image 20.
(139)
(140)
(141) With respect to the explanations regarding
(142) Within the region of interest 28, selected tiles 44 are shown. The selected tiles 44 may comprise different sizes, corresponding to the respective quadtree-level.
(143) In the middle of the region of interest 28, the selected tiles 44 may have a larger size and may relate to a first quadtree-level. In a direction to the border of the region of interest 28, the size of the selected tiles 44 decreases, such that the respective, selected tiles 44 relate to tiles 40 at a higher quadtree-level.
(144) In an example, the selected tiles 44 are selected from different quadtree-levels, such that the selected tiles 44 form the integral area corresponding to the region of interest 28 of the digital image 20.
(145) In an example, the selection of tiles 44 relates also to the corresponding absorption frequency vectors N. Thus, by determining the selected tiles 44, also the respective absorption frequency vectors N may be determined.
(146) In case a request from the client 22 about a region of interest 28 occurs at the server 10, the server output interface 18 may be configured to provide the absorption frequency vectors N of the selected tiles 44 as the data related to the classification of the pixels at the region of interest 28 to the client 22.
(147) As a result, the client 22 may receive a minimum data, since the selected tiles 44 may form a minimum number of tiles forming the integral area corresponding to the region of interest 28. Thus, the absorption frequency vectors N related to the selected tiles 44 may also form a minimum number of absorption frequency vectors N relating to the region of interest 28.
(148) As a result, the client 22 may process for further purposes less data set with respect to the region of interest 28. This increases the performance at the client site.
(149) According to an example of the invention, the server processing unit 14 is configured to determine upon the request a minimum number of tiles of the plurality of stored digital tiles 40 as selected tiles 44, such that the selected tiles 44 form an integral area corresponding to the region of interest 28 of the digital image 20. The server input interface 12 is configured to receive for each staining substance an absorption threshold value a.sub.th for the region of interest 28. The server processing unit 14 is configured to select upon the request the entries of the stored absorption frequency vectors N of the selected tiles 44 as selected entries, where related absorption levels a.sub.p are each larger than their related absorption threshold value a.sub.th.
(150) The server processing unit 14 is configured to calculate upon the request a score S, characterizing a staining at the region of interest 28, as a function of the selected entries and/or all entries of the stored absorption frequency vectors N of the selected tiles 44. The server output interface 18 is configured to provide the score S as the data related to the classification of the pixels at the region of interest 28 to the client 22.
(151) As a result, the server processing unit 14 may be employed to identify the relevant entries of the absorption frequency vectors N related to the classification of the pixels at the region of interest 28, wherein the processing unit 14 may be further configured to compute the score S as a function of the identified entries of the absorption frequency vectors N.
(152) In an example, the determination of the plurality of digital tiles 14 is pre-processed by the server processing unit 14 and the plurality of digital tiles 14 are stored by the server storage unit 16. Accordingly, in case a request for data related to a classification of the pixels at the region of interest 28 is received from the client 22 at the server input interface 12, the server processing unit 14 in turn selects the relevant tiles 44, such that the selected tiles 44 form the integral area corresponding to the region of interest 28 of the digital image 20. Thus, the selection can be performed at the server 10, however with a usually high performance server processing unit 14. Since the plurality of digital tiles 40 is already stored, the selection process can be carried out quickly.
(153) With respect to the absorption threshold value a.sub.th, reference is made to the explanation to the absorption threshold value a.sub.th as explained in previous text passages.
(154) In an example, each stored absorption frequency vector N comprises entries, which relate to the preferred number k of absorption levels a.sub.p. However, on the basis of the absorption threshold value a.sub.th, a selection of the entries of the stored absorption frequency vectors N can be carried out to select the relevant entries, which contribute to an envisaged score S about the staining at the region of interest 28. Accordingly, by adapting the absorption threshold value a.sub.th, a contribution may be adapted for the entries of the absorption frequency vectors N.
(155) In case, the absorption frequency vectors N are pre-processed by the server processing unit 14 and stored by the server storage unit 16, a selection of entries of the stored absorption frequency vectors N with respect to the absorption threshold value a.sub.th may be carried out quickly by the server processing unit 14. Even an adaptation of the absorption threshold value a.sub.th may in turn initiate the server processing unit 14 to update the selected entries. This update can be carried out quickly, too.
(156) In an example, as already cited above, the score S may be calculated as:
(157)
(158) As a result, the server processing unit 14 is configured to calculate the final processing step(s), in case a request for data related to a region of interest 28, in particular accompanied with a related absorption threshold value a.sub.th, reaches the server input interface 12.
(159) As a further result, the server processing unit 14 may calculate the score quickly, since the data, in particular the frequency distribution vectors N, on which basis the score is calculated are pre-processed and stored.
(160) According to a further aspect of the invention, a client 22 is provided. The client 22 is exemplarily shown in
(161) In an example, the digital image 20 received by the client 22 corresponds to the digital image 20 received by the server 10. Accordingly, the digital images 20 may relate to the same digital image 20.
(162) In an example, the client input interface 46 may be configured to provide data received from the server 10 via a data connection 76 to the user interface 48 of the client 22.
(163) According to an example of the invention, the user interface 48 of the client 22 is configured to display the received data related to the classification of the pixels at the region of interest 28.
(164) In an example, the user interface 48 may comprise a graphical user interface.
(165) In an example, the user interface 48 may comprise a display. In particular, the user interface may comprise a touch-screen.
(166) In an example, the client input interface 46 is a hardware input interface and/or a software input interface.
(167) In an example, the user interface 48 is configured to receive a signal from a keypad, a mouse and/or any other computer periphery that allows a user to enter a user input.
(168) In an example, the user interface 48 may be configured to provide data and/or requests to the client output interface 50 via a data connection 78.
(169) As a result, a user can use the client 22 to send a request for data related to a region of interest 28 to the server 10, which preferably has pre-calculated data related to the classification of the pixels at the region of interest 28 and may be configured to send this data to the client 22 initially in return. Thus, a client input interface 46 may receive the data related to the classification of the pixels at the region of interest 28 with a short delay after sending the request. Accordingly, the client 22 can provide a high performance and/or responsiveness.
(170) In an example, the client output interface 50 is a hardware output interface and/or a software output interface. In an example, the client input interface 46 and the client output interface 50 are combined as a client interface.
(171) In an example, the client input interface 46 is configured to receive data via a computer network.
(172) In an example, the client output interface 50 is configured to send data via a computer network.
(173)
(174) In an example, the image display 52 comprises the digital image 20.
(175) In an example, the region of interest 28 is highlighted at the digital image 20.
(176) In a further example, a sample area 42 at the region of interest 28 may be selected via the user interface 48, and thus by a user.
(177) In an example, the sample area 42 is shown enlarged at the image display 52.
(178) In an example, at the enlarged sample area 42, stained pixels 26 and counter-stained pixels 32 are shown.
(179) Furthermore, a first slider provided at the image display 52 to show and/or adjust the absorption threshold value a.sub.th.sup.stain for the staining substance (the first staining).
(180) In an example, a further slider is provided at the image display 52 to show and/or adjust the absorption threshold value a.sub.th.sup.counter-stain of the counter-staining substance (second staining substance).
(181) With respect to the absorption threshold values a.sub.th.sup.stain, the relevant pixels of the stained pixels 26 can be selected as stained selected pixels 26a.
(182) With respect to the absorption threshold values a.sub.th.sup.counter-stain, the relevant pixels of the stained pixels 32 can be selected as stained selected pixels 32a.
(183) A respective selection may be shown in a (further) sample area 42 at the image display 52. This sample area 42 may show the stained selected pixels 26a and the counter-stained selected pixels 32a.
(184) In an example, on the basis of the stained selected pixels 26a and the counter-stained selected pixels 32a and their respective absorption values a.sub.x,y, a score S can be calculated.
(185) In an example, the score S can be shown at the image display 52.
(186) In a further example, the image display 52 shows check boxes 54, to select a formula for calculating the score S.
(187) In a further example, the image display 52 may comprise an update button 56. Selecting the update button 56 may initiate an update-calculation of the score S. This may take adjusted absorption threshold values a.sub.th or an adapted selection for the formula to calculate the score into account.
(188) In an example, a score S is provided by the server 10 to the client 22. The client 22 may display the score A via the user interface 48.
(189) In an example, the client input interface 46 is configured to receive a classification of the pixels 24 at the region of interest 28 as at least a part of the data related to the region of interest 28 from the server 10.
(190) In an example, the image display 52 may comprise an area to show the classification of the pixels 24 at the region of interest 28. In particular, the classification may be highlighted at the digital image 20.
(191) In an example, the client 22 comprises a client processing unit 58.
(192) In an example, as exemplarily shown in
(193) As a result, the client 22 may be configured to perform post-processing steps based on the data provided by the server 10 upon the request for data related to the region of interest 28.
(194) According to an example of the invention, the user interface 48 of the client 22 is configured to receive an inspection signal of a user. The client processing unit 58 is configured to determine the sample area 42 at the region of interest 28 on the basis of the inspection signal. The user interface 48 is configured to display the sample area 42 enlarged at a first detail window. The user interface 48 is configured to display the classification results of the pixels of the sample area 42 at a second detail window.
(195) As a result, a user can verify manually, whether the classification shown at the second detail window corresponds to the expected results, in particular for the current setting(s) of the absorption threshold value(s) a.sub.th, when manually inspecting the sample area 42 at the first detail window.
(196) In an example, the first detail window and the second detail window are of the same size. As a result, the verification is simplified.
(197) According to a further example of the invention, the client input interface 48 is configured to receive for each staining substance an absorption threshold value a.sub.th for the region of interest 28. The client output interface 50 is configured to send the at least one absorption threshold value a.sub.th with the request for data related to a classification of the pixels at the region of interest 28 to the server 10. The client input interface 46 is configured to receive upon the request from the server 10 absorption values a.sub.x,y of stained selected pixels 26a, 32a at the region of interest 28, wherein the stained selected pixels 26a, 32a are classified as stained and having an absorption value a.sub.x,y larger than their absorption threshold value a.sub.th. The client 22 comprises the client processing unit 58. The client processing unit 58 is configured to calculate a score S, characterizing a staining of the region of interest 28, as a function of the absorption values a.sub.x,y of the stained selected pixels 26a, 32a. The user interface 48 is configured to display the score S.
(198) As a result, final steps may be carried at the client 22 instead, namely on the basis of server-pre-processed data or previously stored data (at the server 10).
(199) With respect to the previously explained preferred configuration of the client 22, reference is made to the respective configuration of the server 10. Similar features and their explanations may be implemented at the client 22. It should therefore be understood that, without repeating here all the examples in explanation provided with reference to the server 10 of the invention, that the processing steps on the basis of the data stored may be carried out by the client processing unit 58. In particular, the client processing unit 58 may be configured to carry out at least one of these steps.
(200) As a result, a score S can be calculated at the client 22, however, on the basis of the data pre-processed by the server 10. This increases the responsiveness and/or the performance provided to a user by client 22.
(201) According to a further example of the invention, the client input interface 46 is configured to receive for each staining substance an absorption threshold value a.sub.th for the region of interest 28. The client output interface 50 is configured to send the at least one absorption threshold value a.sub.th with the request for data related to a classification of the pixels at the region of interest 28 to the server 10. The client input interface 46 is configured to receive from the server 10 absorption frequency vectors N of selected digital tiles 44 of the region of interest 28. The selected tiles 44 form an integral area corresponding to the region of interest 28. For each selected tile 44 and each staining substance an associated absorption frequency vector N is provided. Each absorption frequency vector N comprises for absorption level a.sub.p an entry indicating for the respective staining substance the number of stained pixels 26 of the respective tile 44 at the respective absorption level a.sub.p. The client 22 comprises the client processing unit 58. The client processing unit 58 is configured to select the entries of the absorption frequency vectors N as selected entries, which associated absorption levels a.sub.p are each larger than related absorption threshold value a.sub.th. The client processing unit 58 is configured to calculate upon the request a score S, characterizing a staining at the region of interest 28, as a function of the selected entries and/or all entries of the absorption frequency vectors N. The user interface 48 is configured to display the score S.
(202) With respect to the previously explained preferred configuration of the client 22, reference is made to the respective configuration of the server 10. Similar features and their explanations may be implemented at the client 22. It should therefore be understood that, without repeating here all the examples in explanation provided with reference to the server 10 of the invention, that the processing steps on the basis of the data stored may be carried out by the client processing unit 58.
(203) As a result, the score S may be calculated at the client 10, however, on the basis of the data pre-processed by the server 10. This increases the responsiveness and/or the performance provided to a user by the client 22.
(204) As a result, the region of interest 28 and/or the absorption threshold value a.sub.th can be varied, while the score S can be re-calculated upon and on the basis of the already received data. An image display 52 can be updated accordingly.
(205) As a result, pre-processed data may be transmitted from the server 10 to the client 22 once, since the transmitted data may be the basis to calculate the score, even with different regions of interest and/or absorption threshold values a.sub.th.
(206) According to a third aspect of the invention, a system 60 is provided. The system 60 is exemplarily shown in
(207) It should be understood, without repeating here all the examples and explanation provided with reference to the server 10 and/or the client 22, the system of the invention is intended to being configured accordingly. Thus, the above examples and explanations, although firstly provided with reference to the server 10 and/or client 22, are also intended to being implemented by the system 60. This can be achieved, for example, by means of suitable hardware and/or software.
(208) In an example, a data connection 86 between the server 10 and the at least one client 22 is provided. The data connection 86 may be configured to transmit data and/or requests.
(209) According to a fourth aspect of the invention, a method 61 is provided. The method 61 is exemplarily shown in
(210) In a first receiving step 62, also referred to as step a), a digital image of a slice of a biological material, which has been applied with at least one staining substance, is received at a server 10.
(211) In a second classifying step 64, also referred to as step b), each pixel 24 of the digital image 20 is classified at the server 10, wherein a pixel 24 is classified with respect to each staining substance as stained, in case a color-property of the pixel 24 is within a predefined property-range indicative for an absorption of the respective staining substance.
(212) In a third receiving step 66, also referred to as step c), the same digital image 20 of the slice of a biological material is received at the client 22.
(213) In a fourth displaying step 68, also referred to as step d), the digital image 20 received at the client 22 is displayed by a user interface 48 of the client 22.
(214) In a fifth selecting step 70, also referred to as step e), a region of interest 28 of the digital image 20 is selected at the client 22 upon receiving and on the basis of a selection signal of a user via the user interface 48.
(215) In a sixth sending step 72, also referred to as step f), a request for data related to a classification of the pixels at the region of interest 28 from the client 22 is sent to the server 10.
(216) In a seventh sending step 74, also referred to as step g), the classification and/or other data related to the classification of the pixels at the region of interest 28 of the digital image 20 from the server 10 is sent to the client 22, in case the classifying of step b) has been finished before receiving the request for data related to the classification of the pixels at the region of interest 28 from the client 22.
(217) In an example, a first group of steps a) and b) may be performed before, after, in parallel, overlapping or in any other time order to a second group of steps c) to f).
(218) In an example, the first group of steps are performed in their named order.
(219) In an example, the second group of steps are performed in their named order.
(220) It is to be understood that, without repeating here all the examples and explanations provided with reference to the server 10 and the client 22, the method 61 of the invention is intended to being formed to carry out the method steps of the server 10 and/or the client 22, respectively. Thus, all of the above examples and explanations, although firstly provided with reference to the server 10 and the client 22, respectively, are also intended to being implemented by the method 61.
(221) According to a further example of the present invention, a computer program element is provided, which, when being executed by the server 10 and the at least one client 22, is adapted to carry out the method 61 described above.
(222) According to a further example of the present invention, a computer program element is provided, which, when being executed by the system 60 of the present invention, is adapted to carry out the method 61 described above.
(223) According to a further example of the present invention, a computer-readable medium having stored on a program element is provided, which, when being executed by the server 10 and/or the client 22, is adapted to carry out the method 61 described above.
(224) According to a further example of the present invention, a computer-readable medium having stored on a program element is provided, which, when being executed by the system, is adapted to carry out the method 61 described above.
(225) A computer program may be stored and/or distributed on a suitable medium, such as an optical storage medium or a solid state medium supplied together with or as part of other hardware, but may also be distributed in other forms, such as via the internet or other wired or wireless telecommunication systems.
(226) It has to be noted that embodiments of the invention are described with reference to different subject matters. In particular, some embodiments are described with reference to method type claims whereas other embodiments are described with reference to the device type claims, in particular the server 10 and/or the client 22. However, a person skilled in the art will gather from the above and the following description that, unless otherwise notified, in addition to any combination of features belonging to one type of subject matter also any combination between features relating to different subject matters is considered to be disclosed with this application. However, all features can be combined providing synergetic effects that are more than the simple summation of the features.
(227) While the invention has been illustrated and described in detail in the drawings and foregoing description, such illustration and description are to be considered illustrative or exemplary and not restrictive. The invention is not limited to the disclosed embodiments. Other variations to the disclosed embodiments can be understood and effected by those skilled in the art in practicing a claimed invention, from a study of the drawings, the disclosure, and the dependent claims.
(228) In the claims, the word “comprising” does not exclude other elements or steps, and the indefinite article “a” or “an” does not exclude a plurality. A processing unit or other unit may fulfil the functions of several items re-cited in the claims. The mere fact that certain measures are re-cited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage. Any reference signs in the claims should not be construed as limiting the scope.