Commit e86730fc authored by Christian Tischer's avatar Christian Tischer

Add improvements for Turku course

parent 5fe1d255
Pipeline #10112 passed with stage
in 1 minute and 5 seconds
---
title: Image calibration
layout: page
---
## Image calibration
<img src='https://g.gravizo.com/svg?
digraph G {
shift [fontcolor=white,color=white];
pixel -> indices;
pixel -> coordinates;
indices -> calibration;
calibration -> coordinates;
calibration -> anisotropic [label=" can be"];
image -> calibration [label=" can have"];
}
'/>
### Activity: Explore image calibration
* Open image: xy_8bit__nuclei_noisy_different_intensity.tif
* Add image calibration
* Explore whether and how this affects image display and measurements (e.g. distance between two points)
### Activity: Explore anisotropic 3D image data
* Open image: xy_8bit_calibrated_anisotropic__mri_stack.tif
* Appreciate that the pixels are anisotropic
### Formative assessment
True or false?
* Changing the image calibration changes the pixel values.
* Pixel coordinates depend on image calibration.
......@@ -4,14 +4,10 @@ layout: page
permalink: /filtersneighbourhood
---
# Neighborhood filters
## Requirements
To understand this episode you need to know:
- Pixel properties
## Motivation
......@@ -20,18 +16,17 @@ This module explains how image features (objects) can be enhanced using filters
## Learning objectives
- Understand common filter principles.
- test mean filter on noisy image data
- Understand the basic principle of a neighbourhood filter.
## Concept map
```mermaid
graph TB
pixel --> neighbours[neighbourhood pixels]
neighbours --> better["`better` value for central pixel"]
better --> update[updated pixel]
P(pixel) --> |has| NBH(neighbourhood pixels)
NBH --> |are used in| A(mathematical formula)
A --> |compute new| NP(pixel value)
```
| | | | | | | | |
|---|---|---|---|---|---|---|---|
| NC | NC | NC | | | | | |
......@@ -42,6 +37,15 @@ graph TB
| | | | | NB | NB | NB | |
| | | | | | | | |
## Example
TODO: Mean filter image
## Activity: Use mean filter to facilitate image binarization
* Open image: xy_8bit__nuclei_noisy_different_intensity.tif
* Appreciate that you cannot readily apply a threshold to binarize the image into two nuclei and background
* Apply a mean filter, exploring different neighbourhood sizes
* Appreciate that the filtered pixel values are slightly wrong due to integer data type
* Binarize the filtered image by applying a threshold
## Activity
TODO: construct example with mean filter on noisy data.
\ No newline at end of file
---
title: Image math
title: Pixel processing
layout: page
---
## Image math
## Pixel processing
```mermaid
graph TD
PV(pixel values) --> MO(mathematical operation)
MO --- |e.g.|SV(subtract value)
PV --> |have| DT(data type)
MO --> DPV(result pixel values)
DT --> |restricts| DPV
PV(pixel values) --> PO(processing operation)
PO -.- |e.g.| SV(subtract value)
PO --> |replaces| PV(pixel values)
```
```mermaid
graph TD
PV("pixel values") --> MO("processing operation")
MO --> NPV("new image")
```
```mermaid
graph TD
PO("processing operation") --> |changes| PV(pixel values)
DT("data type") --> |limits| PV
```
### Activity: Pixel based background subtraction
......
```mermaid
graph TD
VV(Voxel values) --> |accessed by| VI(Voxel indices)
VV(Voxel values) --> |accessed by| RWC(Real world coordinates)
```
---
title: Image spatial calibration
layout: page
---
## Image calibration
```mermaid
graphTD
VV(Voxel indices) -->|multiplied by| VS(Voxel spacing)
VS --> |yields|RWC(Calibrated voxel coordinates)
'/>
### Example
### Activity: Explore image calibration
* Open image: xyz_8bit_calibrated_anisotropic__mri_head.tif
* Check the calibration of this image
* Explore how image calibration affects spatial measurements, e.g.,
* Measure the distance between two pixels in the image
* Measure the size of an image region
* Appreciate that image calibration might be neccessary, e.g.
* 3D distance measurements
* Appreciate that image calibration can be confusing, e.g.
* not consistently used in image filter parameter specification
### Formative assessment
Answer below questions:
* Given a voxel spacing of (100 nm, 100 nm, 300 nm), what is the distance between the voxels at indices [10, 5, 11] and [2, 20, 13]?
......@@ -3,9 +3,12 @@
## Modules
image_pixels.md
calibration.md (clean up concept map)
pixel_calibration.md
image_display.md
pixel_data_types.md
image_math.md
pixel_processing.md
binarization.md
connected_components.md
measure_shapes.md
measure_intensities.md
filter_neighbourhood.md
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment