Skip to content

Commit e9ef6d4

Browse files
committed
source commit: 15121d2
0 parents  commit e9ef6d4

File tree

142 files changed

+8151
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

142 files changed

+8151
-0
lines changed

01-introduction.md

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
---
2+
title: Introduction
3+
teaching: 5
4+
exercises: 0
5+
---
6+
7+
::::::::::::::::::::::::::::::::::::::: objectives
8+
9+
- Recognise scientific questions that could be solved with image processing / computer vision.
10+
- Recognise morphometric problems (those dealing with the number, size, or shape of the objects in an image).
11+
12+
::::::::::::::::::::::::::::::::::::::::::::::::::
13+
14+
:::::::::::::::::::::::::::::::::::::::: questions
15+
16+
- What sort of scientific questions can we answer with image processing / computer vision?
17+
- What are morphometric problems?
18+
19+
::::::::::::::::::::::::::::::::::::::::::::::::::
20+
21+
As computer systems have become faster and more powerful,
22+
and cameras and other imaging systems have become commonplace
23+
in many other areas of life,
24+
the need has grown for researchers to be able to
25+
process and analyse image data.
26+
Considering the large volumes of data that can be involved -
27+
high-resolution images that take up a lot of disk space/virtual memory,
28+
and/or collections of many images that must be processed together -
29+
and the time-consuming and error-prone nature of manual processing,
30+
it can be advantageous or even necessary for this processing and analysis
31+
to be automated as a computer program.
32+
33+
This lesson introduces an open source toolkit for processing image data:
34+
the Python programming language
35+
and [the *scikit-image* (`skimage`) library](https://scikit-image.org/).
36+
With careful experimental design,
37+
Python code can be a powerful instrument in answering many different kinds of questions.
38+
39+
## Uses of Image Processing in Research
40+
41+
Automated processing can be used to analyse many different properties of an image,
42+
including the distribution and change in colours in the image,
43+
the number, size, position, orientation, and shape of objects in the image,
44+
and even - when combined with machine learning techniques for object recognition -
45+
the type of objects in the image.
46+
47+
Some examples of image processing methods applied in research include:
48+
49+
- [imaging a Black Hole](https://iopscience.iop.org/article/10.3847/2041-8213/ab0e85)
50+
- [estimating the population of Emperor Penguins](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3325796/)
51+
- [the global-scale analysis of marine plankton diversity](https://www.cell.com/cell/fulltext/S0092-8674\(19\)31124-9)
52+
- [segmentation of liver and vessels from CT images](https://doi.org/10.1016/j.cmpb.2017.12.008)
53+
54+
With this lesson,
55+
we aim to provide a thorough grounding in the fundamental concepts and skills
56+
of working with image data in Python.
57+
Most of the examples used in this lesson focus on
58+
one particular class of image processing technique, *morphometrics*,
59+
but what you will learn can be used to solve a much wider range of problems.
60+
61+
## Morphometrics
62+
63+
Morphometrics involves counting the number of objects in an image,
64+
analyzing the size of the objects,
65+
or analyzing the shape of the objects.
66+
For example, we might be interested in automatically counting
67+
the number of bacterial colonies growing in a Petri dish,
68+
as shown in this image:
69+
70+
![](fig/colonies-01.jpg){alt='Bacteria colony'}
71+
72+
We could use image processing to find the colonies, count them,
73+
and then highlight their locations on the original image,
74+
resulting in an image like this:
75+
76+
![](fig/colony-mask.png){alt='Colonies counted'}
77+
78+
::::::::::::::::::::::::::::::::::::::::: callout
79+
80+
## Why write a program to do that?
81+
82+
Note that you can easily manually count the number of bacteria colonies
83+
shown in the morphometric example above.
84+
Why should we learn how to write a Python program to do a task
85+
we could easily perform with our own eyes?
86+
There are at least two reasons to learn how to perform tasks like these
87+
with Python and scikit-image:
88+
89+
1. What if there are many more bacteria colonies in the Petri dish?
90+
For example, suppose the image looked like this:
91+
92+
![](fig/colonies-03.jpg){alt='Bacteria colony'}
93+
94+
Manually counting the colonies in that image would present more of a challenge.
95+
A Python program using scikit-image could count the number of colonies more accurately,
96+
and much more quickly, than a human could.
97+
98+
2. What if you have hundreds, or thousands, of images to consider?
99+
Imagine having to manually count colonies on several thousand images
100+
like those above.
101+
A Python program using scikit-image could move through all of the images in seconds;
102+
how long would a graduate student require to do the task?
103+
Which process would be more accurate and repeatable?
104+
105+
As you can see, the simple image processing / computer vision techniques you
106+
will learn during this workshop can be very valuable tools for scientific
107+
research.
108+
109+
110+
::::::::::::::::::::::::::::::::::::::::::::::::::
111+
112+
As we move through this workshop,
113+
we will learn image analysis methods useful for many different scientific problems.
114+
These will be linked together
115+
and applied to a real problem in the final end-of-workshop
116+
[capstone challenge](09-challenges.md).
117+
118+
Let's get started,
119+
by learning some basics about how images are represented and stored digitally.
120+
121+
:::::::::::::::::::::::::::::::::::::::: keypoints
122+
123+
- Simple Python and scikit-image techniques can be used to solve genuine image analysis problems.
124+
- Morphometric problems involve the number, shape, and / or size of the objects in an image.
125+
126+
::::::::::::::::::::::::::::::::::::::::::::::::::

0 commit comments

Comments
 (0)