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.
Put small dots with label 1
into small roundish objects (for training purposes: really just the smaller ones).
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.
Annotate some more roundish objects, this time the larger ones.
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:
- Small round objects
- Large round objects
- Large elongated objects