Lecture materials "Bio-image analysis, biostatistics, programming and machine learning for computational biology" at the Center of Molecular and Cellular Bioengineering (CMCB) / University of Technology, TU Dresden
View the Project on GitHub BiAPoL/Bio-image_Analysis_with_Python
In this exercise we will train a Random Forest Classifiers for classifying segmented objects. We will use the napari plugin napari-accelerated-pixel-and-object-classification.
Open a terminal window and activate your conda environment:
conda activate devbio-napari-env
Afterwards, start up Napari:
napari
Load the “Blobs” example dataset from the menu File > Open Sample > clEsperanto > Blobs (from ImageJ)
We furthermore need a label image. You can create it using the pixel classifier trained earlier
or using the menu Tools > Segmentation / labeling > Gauss-Otsu Labeling (clesperanto)
.
Our starting point is a loaded image and a label image with segmented objects. The following procedure is also shown in this video.
Add another label image. Rename the label image e.g. to Label class annotation
to not mix it up with the other.
Activate the Brush tool
.
Put small dots with label 1
into small roundish objects (for training purposes: really just the smaller ones).
Increase the label
to 2
.
Draw a line throught the larger elongated objects in the center of the image.
Start the object classification tool from the menu Tools > Segmentation post-processing > Object classification (APOC)
In this user-interface, activate the shape
checkbox.
Select image
, labels
and annotation
like this:
Click on Run
. After a second a new labels layer with brown / blue annotated objects should appear. Some larger round objects will be blue unintentionally.
Hide the newly created classification layer.
Select your annotation layer.
Annotate some more roundish objects, this time the larger ones.
Train the classifier again.
If you are happy with the trained classifier, copy the file to a safe place. When training the next classifier this one might be overwritten.
Retrain the classifier so that it can differentiate three different classes: