Topology Approach to Cell Counting
Goals Algorithm detects and captures objects in an image This algorithm computes objects – Locations – Measurement – Identify set of pixels for extraction from the image
What is an Object? What is an object? – Binary image Connected cluster of black pixels on a white background Connected cluster of white pixels on a black background
What is an Object? What is an object? – Gray Scale image Connected cluster of dark pixels on a light background Connected cluster of light pixels on a dark background
What is an Object? What is an object? – Color image Connected cluster of dark color pixels on a light color background Connected cluster of light color pixels on a dark color background
Gray Scale Images Gray Scale images – For a threshold A binary image is created – For each level of gray chosen as threshold Collection (255) of binary images are created – As threshold grows Objects grows and merge Dark pixels form dark objects for each threshold Light pixels form light objects for each threshold Light objects may turn out holes in dark objects or vice versa.
Gray Scale Image Image size (WxH) = 16x16 pixels 8 Levels of gray Black = 0 White = 7
Gray Scale Image Visual Image size (WxH) = 16x16 pixels 8 Levels of gray Black = 0 White = 7
Binary Image Image size (WxH) = 16x16 pixels Threshold = 0 Level Set: If P(i,j) <= 0 B(i,j) = 0 (Black) Else B(i,j) = 1 (White)
Binary Image Image size (WxH) = 16x16 pixels Threshold = 1 Level Set: If P(i,j) <= 1 B(i,j) = 0 (Black) Else B(i,j) = 1 (White)
Binary Image Image size (WxH) = 16x16 pixels Threshold = 2 Level Set: If P(i,j) <= 2 B(i,j) = 0 (Black) Else B(i,j) = 1 (White)
Binary Image Image size (WxH) = 16x16 pixels Threshold = 3 Level Set: If P(i,j) <= 3 B(i,j) = 0 (Black) Else B(i,j) = 1 (White)
Binary Image Image size (WxH) = 16x16 pixels Threshold = 4 Level Set: If P(i,j) <= 4 B(i,j) = 0 (Black) Else B(i,j) = 1 (White)
Binary Image Image size (WxH) = 16x16 pixels Threshold = 5 Level Set: If P(i,j) <= 5 B(i,j) = 0 (Black) Else B(i,j) = 1 (White)
Binary Image Image size (WxH) = 16x16 pixels Threshold = 6 Level Set: If P(i,j) <= 6 B(i,j) = 0 (Black) Else B(i,j) = 1 (White)
Binary Image Image size (WxH) = 16x16 pixels Threshold = 7 Level Set: If P(i,j) <= 7 B(i,j) = 0 (Black) Else B(i,j) = 1 (White)
Characteristics of Objects Size = area in pixels Contrast Compactness – Perimeter/(4*Pi*Area) Saliency
Loss less Processing Nothing is removed or ignored No iteration, approximation No floating point arithmetic
Application The algorithm will work on the following types of images – That contains certain objects – Blood cells, finger prints, logos, mug shots – Machine vision for industrial inspection It will not work on the following images – Images that are light on one side and dark on the other side
Homology Classes: Betti Numbers B1: Number of objects in an image B2: Number of holes in an object B3: Number of voids or cavities B 0 (parts)B 1 (holes)B 2 (voids) Letter O110 Two letters O 220 Letter B120 Donut110 Tire121 Ball101 The tire (torus) has two tunnels represented by these two "cycles". For the donut the blue one does not count because it can be contracted to a point. They are homologous! On the ball any "cycle" is like that.
Binary Images: Objective Identify Objects – Black objects on a white background – White objects on a black background Location Measurement Identify a set of pixels for extraction from the image Later migrate – From: binary to gray to color images – From: 2D to 3D images
Cell Decomposition Object is represented by – List of pair of numbers Pixel is square – Instead of a point Definitions – A vertex is a 0-cell – An edge is a 1-cell Boundaries consists of 2 end-points as 0-cells – A pixel is a 2-cell Boundaries consists of 4 edges as 1-cell – A voxel is a 3-cell Boundaries consists of 6 faces as 2-cells