CLIJ2

Logo

GPU accelerated image processing for everyone

CLIJ2 home

CLIJ2 - CLIJ2.5 transition guide

CLIJ2.5 is fully backwards compatible to CLIJ2 and CLIJx. No code changes are necessary for ImageJ macros. However, it is recommended to update scripts which were using CLIJx-functions to use CLIJ2 instead if possible as functions from CLIJx were moved to CLIJ2. Furhtermore, CLIJx Image Data Flow Graphs need to be updated (see below)

For example, you can replace this line using CLIJ2:

Ext.CLIJx_extendLabelsWithMaximumRadius(input, output, radius);

with this:

Ext.CLIJ2_dilateLabels(input, output, radius);

CLIJx Image Data Flow Graph updates (CLIJx assistant)

If you generated Image Data Flow Graphs as groovy scripts using the CLIJx-assistant, it might be necessary to update those by replacing the ‘.clijx.’ package to ‘.clij2.’ in lines where plugins where used which were moved from clijx to clij2. For example this line

node = new net.haesleinhuepf.clijx.assistant.interactive.generic.GenericAssistantGUIPlugin(new net.haesleinhuepf.clijx.plugins.VoronoiOtsuLabeling());

needs to be changed to this line:

node = new net.haesleinhuepf.clij2.assistant.interactive.generic.GenericAssistantGUIPlugin(new net.haesleinhuepf.clij2.plugins.VoronoiOtsuLabeling());
                                 ^                                                                                   ^

API Updates

The following functions were renamed when transitioning from CLIJx to CLIJ2. Again, no changes to CLIJx-based scripts are necessary. The old CLIJx functions still exist and are marked as deprecated. In order update your CLIJx-based scripts, consider the following replacements:

Furthermore, these functions in CLIJ2 were deprecated:

The following functions were moved from CLIJx to CLIJ2 without renaming. Thus, you can replace code like this

Ext.CLIJx_gammaCorrection(input, output, gamma);

with this:

Ext.CLIJ2_gammaCorrection(input, output, gamma);