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.
- Download and install Fiji.
- Activate the update-sites "apoc", "clij" and "clij2" as explained here.
- Optional: If you want to use the APOC classifiers from the clijx-assistant graphical user interface, please activate the "clijx-assistant" update-site as well. Note: In case you want to install the clijx-assistant-extensions (which is not necessary), please read the installation instructions.
- Restart Fiji.
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.
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
:
After the ObjectSegmenter
was started, right-click it again and select ObjectSegmenter (CLIJx, experimental)
to open its options dialog:
Enter the correct path to the classifier file in the text field and click on Refresh
:
The ObjectClassifier
can be found in the Label processing
category of the right-click menu. It works analogously to the ObjectSegmenter
:
You can use the assistant's code generation capabilities, by right-clicking and selecting the menu Generate Script > ImageJ Macro
:
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:
Contributions are very welcome. Please refer to our community guidelines.
Distributed under the terms of the BSD-3 license, "clijx-accelerated-pixel-and-object-classification" is free and open source software
If you encounter any problems, please open a thread on image.sc along with a detailed description and tag @haesleinhuepf.