Pro Yearly is on sale from $80 to $50! »

Extracting the Meaning: Painless processing and analysis of image data with Fiji and Ruby

Extracting the Meaning: Painless processing and analysis of image data with Fiji and Ruby

707d0934f77fc31048f004103e10c57f?s=128

Greg Goltsov

October 23, 2012
Tweet

Transcript

  1. painless processing and analysis of image data with Fiji and

    Ruby extracting the meaning Based on the experience from the summer project by Gregory Goltsov melville f o u n d a t i o n Supervisor Dr Anne Savage
  2. painless processing and analysis of image data with Fiji and

    Ruby extracting the meaning Based on the experience from the summer project by Gregory Goltsov melville f o u n d a t i o n Supervisor Dr Anne Savage
  3. painless processing and analysis of image data with Fiji and

    Ruby extracting the meaning Based on the experience from the summer project by Gregory Goltsov melville f o u n d a t i o n Supervisor Dr Anne Savage
  4. who am i?

  5. who am i? 4th year Computer Games Technology

  6. who am i? 4th year Computer Games Technology Ruby fan

  7. who am i? 4th year Computer Games Technology Ruby fan

    (basically) a programmer
  8. the project

  9. None
  10. Data

  11. Breakthrough Breast Cancer Research Unit and Division of Pathology, University

    of Edinburgh
  12. Breakthrough Breast Cancer Research Unit and Division of Pathology, University

    of Edinburgh Breast cancer spheroid
  13. Breakthrough Breast Cancer Research Unit and Division of Pathology, University

    of Edinburgh Breast cancer spheroid Drug 396 403 S4 ...
  14. Breakthrough Breast Cancer Research Unit and Division of Pathology, University

    of Edinburgh Breast cancer spheroid Drug 396 403 S4 ... ?
  15. Breakthrough Breast Cancer Research Unit and Division of Pathology, University

    of Edinburgh Aim To develop a metric to objectively measure the effectiveness of said drugs on the spheroids Breast cancer spheroid Drug 396 403 S4 ... ?
  16. Data

  17. Data

  18. pre-processing • processing • analysis Data

  19. pre-processing • processing • analysis Data Results

  20. pre-processing • processing • analysis Data Results ──────

  21. pre-processing • processing • analysis Data Results ────── Scalable

  22. pre-processing • processing • analysis Data Results ────── Scalable Robust

  23. pre-processing • processing • analysis Data Results ────── Scalable Robust

    Fully automatic
  24. pre-processing • processing • analysis Data Results ────── Scalable Robust

    Fully automatic ──────
  25. pre-processing • processing • analysis

  26. pre-processing • processing • analysis Filtering invalid data

  27. pre-processing • processing • analysis Filtering invalid data Renaming

  28. 396 3um well1 time0 403Contwell1time0 409BCont4time0 616inact 30um well2 time0

    403 Cont 1 24h S4 1uM 1 24h 616 (inact) 1uM 1 time 48h S4 3 uM 4a time 48h
  29. 396 3um well1 time0 403Contwell1time0 409BCont4time0 616inact 30um well2 time0

    403 Cont 1 24h S4 1uM 1 24h 616 (inact) 1uM 1 time 48h S4 3 uM 4a time 48h
  30. 396 3um well1 time0 403Contwell1time0 409BCont4time0 616inact 30um well2 time0

    403 Cont 1 24h S4 1uM 1 24h 616 (inact) 1uM 1 time 48h S4 3 uM 4a time 48h How to retrieve a particular image?
  31. 396 3um well1 time0 403Contwell1time0 409BCont4time0 616inact 30um well2 time0

    403 Cont 1 24h S4 1uM 1 24h 616 (inact) 1uM 1 time 48h S4 3 uM 4a time 48h How to retrieve a particular image? W hat is the id?
  32. 396 3um well1 time0 403Contwell1time0 409BCont4time0 616inact 30um well2 time0

    403 Cont 1 24h S4 1uM 1 24h 616 (inact) 1uM 1 time 48h S4 3 uM 4a time 48h How to retrieve a particular image? W hat is the id? What is the drug concentration?
  33. 396 3um well1 time0 403Contwell1time0 409BCont4time0 616inact 30um well2 time0

    403 Cont 1 24h S4 1uM 1 24h 616 (inact) 1uM 1 time 48h S4 3 uM 4a time 48h How to retrieve a particular image? W hat is the id? What is the drug concentration? Can these be put into a database?
  34. So I implemented the RENAMER

  35. RENAMER

  36. RENAMER <id> <desc> <conc> <well> <time>

  37. RENAMER <id> <desc> <conc> <well> <time> 396 3um well1 time0

    403Contwell1time0 409BCont4time0 616inact 30um well2 time0 403 Cont 1 24h S4 1uM 1 24h 616 (inact) 1uM 1 time 48h S4 3 uM 4a time 48h
  38. RENAMER <id> <desc> <conc> <well> <time> 396 3um well1 time0

    403Contwell1time0 409BCont4time0 616inact 30um well2 time0 403 Cont 1 24h S4 1uM 1 24h 616 (inact) 1uM 1 time 48h S4 3 uM 4a time 48h 396 3uM 1 0h 403 (cont) 1 0h 409 (cont) 4 0h 616 (inact) 30uM 2 0h 403 (cont) 1 24h S4 1uM 1 24h 616 (inact) 1uM 1 48h S4 3uM 4 48h
  39. But why bother with RENAMER ?

  40. But why bother with RENAMER ? Consistent

  41. But why bother with RENAMER ? Consistent Scalable

  42. But why bother with RENAMER ? Consistent Scalable DB-like querying

  43. But why bother with RENAMER ? Consistent Time-series analysis Scalable

    DB-like querying
  44. But why bother with RENAMER ? Consistent Time-series analysis Robust

    Scalable DB-like querying
  45. pre-processing • processing • analysis

  46. pre-processing • processing • analysis Brightness/contrast correction

  47. pre-processing • processing • analysis Brightness/contrast correction Pseudo Flat-Field correction

  48. pre-processing • processing • analysis Brightness/contrast correction Pseudo Flat-Field correction

    Background subtraction
  49. pre-processing • processing • analysis Brightness/contrast correction Pseudo Flat-Field correction

    Background subtraction Thresholding
  50. Unprocessed data varies a lot 0 h 24 h 48

    h
  51. Unprocessed data varies a lot, making it impossible to threshold

    48 h 0 h 24 h
  52. Original

  53. Brightness/ contrast correction # Code: Computations.enhance_contrast imp, la

  54. Pseudo Flat-Field correction # Code: # This is the kernel

    size for Gaussian blur. # Smaller kernel removes more background kernel_size = 100 pffc = Computations.pffc imp, kernel_size, true
  55. Background subtraction # Code: IJUtils.run 'Subtract Background...', :rolling => 100,

    :light_disable => ''
  56. Otsu thresholding # Code: processor.set_auto_threshold AutoThresholder::Method::Otsu,false IJUtils.run 'Convert to Mask'

    IJUtils.run 'Despeckle'
  57. Original Brightness/contrast adjustment + PFFC Subtract background Otsu thresholding

  58. pre-processing • processing • analysis

  59. pre-processing • processing • analysis Klonowski landscapes

  60. pre-processing • processing • analysis Klonowski landscapes Higuchi fractal dimension

  61. pre-processing • processing • analysis Klonowski landscapes Higuchi fractal dimension

    Area and perimeter
  62. klonowski landscapes

  63. klonowski landscapes 2D image ➝ 1D “signal”

  64. None
  65. None
  66. None
  67. Vertical landscape Horizontal landscape

  68. Klonowski et al. Nonlinear Biomedical Physics 2010, 4:7 http://www.nonlinearbiomedphys.com/content/4/1/7 Vertical

    landscape Horizontal landscape
  69. Vertical landscape Horizontal landscape

  70. higuchi fractal dimension

  71. higuchi fractal dimension Complexity, D, of a “signal”/curve

  72. None
  73. “Jagged, uneven, rough edge” “Smooth, gradual, round” D = 1.84

    D = 1.07
  74. “Jagged, uneven, rough edge” “Smooth, gradual, round” D = 1.84

    D = 1.07
  75. None
  76. Untreated

  77. Untreated Treated (1μM 396)

  78. D ≃ 1 Untreated Treated (1μM 396)

  79. D ≃ 1 Untreated Treated (1μM 396) D ≃ 1.3

  80. D ≃ 1 Untreated Treated (1μM 396) D ≃ 1.3

    D ≃ 1.32
  81. D ≃ 1 Untreated Treated (1μM 396) D ≃ 1.3

    D ≃ 1.32 D ≃ 1
  82. D ≃ 1 Untreated Treated (1μM 396) D ≃ 1.3

    D ≃ 1.32 D ≃ 1 D ≃ 1.15
  83. D ≃ 1 Untreated Treated (1μM 396) D ≃ 1.3

    D ≃ 1.32 D ≃ 1 D ≃ 1.15 D ≃ 1.28
  84. results

  85. resultsalpha

  86. Lower % is better

  87. Lower % is better

  88. what next?

  89. what next? ──────

  90. what next? ────── Open-source Higuchi fractal dimension code

  91. what next? ────── Open-source Higuchi fractal dimension code More analysis

  92. what next? ────── Open-source Higuchi fractal dimension code More analysis

    Paper
  93. what next? ────── Open-source Higuchi fractal dimension code More analysis

    Paper ──────
  94. thank you! gregory@goltsov.info www.gregory.goltsov.info Questions? melville f o u n

    d a t i o n Big thanks to: School of CONTEMPORARY SCIENCES