Real-time whole slide pathology image cell counting
Abstract
Techniques are provided for determining a cell count within a whole slide pathology image. The image is segmented using a global threshold value to define a tissue area. A plurality of patches comprising the tissue area are selected. Stain intensity vectors are determined within the plurality of patches to generate a stain intensity image. The stain intensity image is iteratively segmented to generate a cell mask using a local threshold value that is and gradually reduced after each iteration. A chamfer distance transform is applied to the cell mask to generate a distance map. Cell seeds are determined on the distance map. Cell segments are determined using a watershed transformation, and a whole cell count is calculated for the plurality of patches based on the cell segments. A client device may be configured for real-time cell counting based on the whole cell count.
Claims
exact text as granted — not AI-modified1 - 28 . (canceled)
29 . A real-time interactive image analysis computer-based system comprising:
at least one computer-readable non-transitory memory storing software instructions; and at least one processor coupled with the at least one memory and that performs the following operations upon execution of the software instructions:
receiving and storing a digital image in the at least one memory;
segmenting the digital image into a plurality of patches;
calculating an object density value for each patch of the plurality of patches;
receiving a user-selected location within the digital image
determining patches adjacent to the user-selected location;
computing, in real-time, an interpolated object density value at the user-selected location based on the object density values of the patches adjacent to the user-selected location; and
displaying on a display the interpolated object density value at the user selected location.
30 . The system of claim 29 , wherein the operation of computing the interpolated object density value comprises performing bilinear interpolation using the object density values of the patches adjacent to the user-selected location.
31 . The system of claim 29 , wherein the patches adjacent to the user-selected location comprise at least four patches proximate to a pointer location.
32 . The system of claim 29 , wherein the operation of segmenting the image comprises applying a global threshold filter to the image to identify features satisfying a threshold value.
33 . The system of claim 32 , wherein the global threshold filter uses a minimum between an Otsu filter value and a Yen filter value.
34 . The system of claim 29 , wherein the operations further comprise:
receiving a selection of a region of interest within the digital image and that includes the user-selected location; determining a boundary of the region of interest; and calculating a total object density value for the region of interest.
35 . The system of claim 34 , wherein the operation of calculating the total object density value comprises determining a percentage coverage of patches intersecting the boundary.
36 . The system of claim 29 , wherein calculating the object density value comprises:
converting each patch of the plurality of patches from an RGB space to an optical object density space; removing pixels below a threshold intensity; and generating intensity vectors.
37 . The system of claim 29 , wherein the image comprises a whole-slide image.
38 . The system of claim 37 , wherein the operation of calculating the object density value for each patch of the plurality of patches comprises counting cells within each patch of the whole slide image.
39 . The system of claim 38 , wherein the operation of counting cells comprises:
generating a cell mask by iteratively applying a threshold filter; applying a distance transform to the cell mask; determining cell seeds; and performing a watershed transformation.
40 . The system of claim 29 , wherein the operations further comprise:
receiving an updated user-selected location; and updating the displayed interpolated object density value in real-time based on the updated user-selected location.
41 . The system of claim 29 , wherein the plurality of patches are randomly selected from the digital image.
42 . The system of claim 29 , wherein the operation of calculating the object density value for each patch of the plurality of patches comprises applying a smoothing filter to normalize the object density values.
43 . The system of claim 29 , wherein the digital image is obtained from a client device.
44 . The system of claim 43 , wherein the client device comprises at least one of a tablet, cellular phone, a vehicle, or a robot.
45 . The system of claim 29 , wherein the at least one processor comprises at least one of a Central Processing Unit (CPU) or a General Processing Unit (GPU).
46 . The system of claim 29 , wherein the operations further comprise storing the calculated object density values in a persistent storage device that includes the at least one memory.
47 . The system of claim 29 , wherein the operation of displaying comprises overlaying the interpolated density value on the digital image.
48 . The system of claim 29 , wherein the at least one processor and the at least one memory are part of a distributed computer system.
49 . A method comprising:
receiving and storing a digital image in the at least one memory; segmenting the digital image into a plurality of patches; calculating an object density value for each patch of the plurality of patches; receiving a user-selected location within the digital image determining patches adjacent to the user-selected location; computing, in real-time, an interpolated object density value at the user-selected location based on the object density values of the patches adjacent to the user-selected location; and displaying on a display the interpolated object density value at the user selected location.
50 . A non-transitory computer-readable medium having computer instructions stored thereon, which, when executed by at least one processor, cause the at least one processor to perform the operations of:
receiving and storing a digital image in the at least one memory; segmenting the digital image into a plurality of patches; calculating an object density value for each patch of the plurality of patches; receiving a user-selected location within the digital image determining patches adjacent to the user-selected location; computing, in real-time, an interpolated object density value at the user-selected location based on the object density values of the patches adjacent to the user-selected location; and displaying on a display the interpolated object density value at the user selected location.Join the waitlist — get patent alerts
Track US2025349005A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.