Presentation is loading. Please wait.

Presentation is loading. Please wait.

Image analysis with EBImage

Similar presentations


Presentation on theme: "Image analysis with EBImage"— Presentation transcript:

1 Image analysis with EBImage

2 Introduction EBImage Set of quantitative image processing tools Goal
Image reading/writing/rendering Image processing (linear operators, matrix algebra, morphology) Object detection Features extraction Goal Extract cellular descriptors Classify cells Automatic phenotyping Process/transform images

3 Image representation Image object Array of intensity values
Lena: 512x512 matrix 21 20 28 43 53 67 54 12 31 30 41 52 71 98 78 11 14 33 49 72 110 133 144 19 29 39 57 74 121 100 16 59 18 23 27 38 50 61 62 17 24 42 48 47 15 37 36

4 Image representation Multi-dimensionnal array 2D: spatial dimensions
Other dimensions: replicate, time point, color, condition, z-slice Nuclei 4 replicates r0 r1 r2 r3 Lena 3 color channels R G B

5 Image rendering Rendering dissociated from representation Sequence
of images Color images Nuclei 4 replicates r0 r1 r2 Lena 3 color channels R G B

6 IO Functions readImage(), writeImage()
Reads an image, returns an array Supports 80 formats (JPEG, TIFF, PNG…) Supports HTTP, sequences of images Example: image format conversion x = readImage('sample a.tif') writeImage(x, 'sample a.jpeg', quality=95)

7 Display Function display() GTK+ interactive: zoom, scroll, animate
Supports RGB color channels and sequence of images

8 Adjust brightness, contrast and g-factor
Matrix algebra Adjust brightness, contrast and g-factor x x+0.5 3*x (x+0.2)3

9 Spatial transformation
Cropping, thresholding, rotation, resize x[45:56, 98:112] x > 0.5 resize(x, w=128) rotate(x, 30)

10 Thresholding x x > 0.3 Global thresholding
Building block tool to segment cells x x > 0.3

11 Linear filter x x  2D convolution with filter2() Low-pass filter
Smooth images, remove artefacts x 1 1 1 x 

12 Linear filter x x  High-pass filter Detect cell edges -1 -1 -1
x 

13 Nuclei segmentation Global thesholding + labelling Function bwlabel()
Labels connected sets (objects) from a binary image Every pixels of an object is set to an unique integer value max(bwlabel(x)) gives the number of detected objects x x>0.2 bwlabel(x>0.2)

14 Better segmentation Adaptive thresholding + mathematical opening + holes filling xb = thresh(x[,,1], 10, 10, 0.05) kern = makeBrush(5, shape='disc') xb = dilate(erode(xb, kern), kern) xl = bwlabel(fillHull(nuct2)) x xb xl

15 Cell segmentation Using Voronoi segmentation with propagate()
Image gradient-based metric

16 Cell segmentation Combining channels and segmentation masks

17 Feature extraction Function getFeatures()
Extracts features from image objects Geometric, image moment based features Texture based features (Zernike moments, Haralick features) 100 features g.x g.y g.s g.p g.pdm g.pdsd g.effr g.acirc [1,] [2,] [3,] [4,] [5,] [6,] [7,] [8,] [9,] [10,] [11,] [12,] [13,] [14,] [15,] [16,] [17,] [18,] [19,] [20,] ... 76 cells

18 siRNA screen 3 immunostains: DNA, Actin, Tubulin siRluc siCLSPN

19 Segmentation

20 Features Cell size Median cell size of 1024 um2 (siRluc) and 1517 um2 (siCLSPN) Wilcoxon rank sum test, P-value < 10-12


Download ppt "Image analysis with EBImage"

Similar presentations


Ads by Google