Home

Awesome

CLIJx accelerated pixel and object classification (APOC)

This is an experimental Fiji plugin enabling GPU-accelerated pixel- and object classification in Fiji based on scikit-learn, CLIJ2 and APOC. It is the sibling of napari-accelerated-pixel-and-object-classification.

img.png

Installation instructions

Usage: Classifier training

Training is only available in the napari plugin as we are using scikit-learn for training. If you want to train classifiers with a graphical user interface, please read the documentation here. If you prefer training classifiers from python / jupyter notebooks, please refer to the documentation here. The second option has the advantage that you can train pixel classifiers using multiple input images.

Usage: Classifier application / prediction

Once models are trained, you can apply them to your data also from Fiji. You find all necessary menu entries under Plugins > ImageJ on GPU (CLIJx) > Segmentation > APOC. If you trained an object-segmenter that takes two images into account, you should for example click on the Apply object segmenter on GPU (1 input image, CLIJx-APOC experimental) menu entry. Furthermore, if you installed the CLIJx-assistant, you will find the ObjectSegmenter also in the assistant's right-click menu in the category Label:

img.png

After the ObjectSegmenter was started, right-click it again and select ObjectSegmenter (CLIJx, experimental) to open its options dialog:

img_1.png

Enter the correct path to the classifier file in the text field and click on Refresh:

img_2.png

The ObjectClassifier can be found in the Label processing category of the right-click menu. It works analogously to the ObjectSegmenter:

img.png

Usage: Scripting

You can use the assistant's code generation capabilities, by right-clicking and selecting the menu Generate Script > ImageJ Macro:

img_3.png

It will then generate code that can serve as hint on how to execute the classifiers from ImageJ Macro for example.

// Object Segmenter
model_filename = "/path/to/file/ObjectSegmenter.cl";
Ext.CLIJx_objectSegmenter(input_image, result_label_image, model_filename);

For more hints for CLIJ2 macro scripting, please refer to the documentation and read the built-in documentation in the auto-completion in the Fiji Script Editor:

img_4.png

Contributing

Contributions are very welcome. Please refer to our community guidelines.

License

Distributed under the terms of the BSD-3 license, "clijx-accelerated-pixel-and-object-classification" is free and open source software

Issues

If you encounter any problems, please open a thread on image.sc along with a detailed description and tag @haesleinhuepf.