By image understanding we contrast the course content to image processing where the latter focuses primarily on image enhancement (e.g., de-blurring, de-convolution) and various transformations (e.g., tomography, radon, Fourier). Instead, the goal of this course is to recognize the various parts of a bioimage, reorganize the constituent parts of an image into a whole story, in order to reconstruct the model that best describes our biological world.
Interestingly, the rich field of computer vision has excellent tools and techniques to achieve these three fundamental tasks of visual AI: Recognition, reorganization, and reconstruction. One can think of this entire edifice as a culmination of two complimentary processes: a top-down approach to break down an image into fundamental units or patterns (analysis branch) followed by a second process to reorganize the observed (recognized) patterns to reconstruct a hypothesis (synthesis branch) in order to explain our environment. An excellent illustration of generalized image understanding can be found on the website of Professor Jason Corso.
In the similar spirit one can appreciate the intention of a biologist trying to communicate a general story by interpreting her image observations. A fantastic picture from Professor Robert Murphy's research depicts how this whole process may look like. We borrow the picture from Professor Murphy's slides to show it below.
The first among them is to identify the building blocks of visual recognition task so as to organize the bioimage analysis around these core ideas. Many of the important image analysis tasks the biologists perform day to day are already implemented in the popular image analysis software. A good understanding of the key ideas in visual recognition will help the biologist plan her computational needs using the lego blocks of the analysis software.
The open-source software communities for bioimage computing are pushing the frontier of cell biology at a fast pace. The second area that this course lays emphasis on is to perform "reproducible image analysis" with these image analysis libraries. There are many good software libraries that one can start learning but considering the priorities and interests of the students we have decided to restrict our attention to the following:
This module teaches the students about creating workflows/pipelines by planning a sequence of image/data analysis tasks. The scripts in Fiji, the pipelines in CellProfiler, and the workflow in ilastik --- all this help the computational biologist save and later share the exact recipe of his/her data analysis so that anybody else can reproduce it later with minimal overhead.
Lastly, the course encourages the students to push further by coding his/her own analysis. At present the plan is to support two kinds of coding environments: MATLAB and OpenCV-Python. Students are free to choose his/her favorite scripting language from MATLAB and Python. Code templates will illustrate basic ideas to help the students get started. The students can take things further by augmenting the code with their own ideas for improvement.
Go to Modules