Skip to content
GPU-accelerated Image Processing using CLIJ in Icy
Java JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
images
src
.gitignore
README.md
_config.yml
license.txt
pom.xml
sys.xml

README.md

clicy

clicy is a bridge between Icy and clij.

Image

Right now, this is very preliminary.

Introduction

For scripting GPU-accelerated workflows in Icy using JavaScript, you should first initalize the GPU:

importClass(net.haesleinhuepf.clicy.CLICY);
importClass(Packages.icy.main.Icy);

// init clicy
clijx = CLICY.getInstance();
// check which GPU we're using
print(clijx.getGPUName());

Then, you can push sequences to GPU memory and allocate space for more images:

// get current image from Icy
sequence = getSequence();

// push image to GPU
inputBuffer = clijx.pushSequence(sequence);
// allocate memory on GPU for the result
outputBuffer = clijx.create(inputBuffer);

You can process them using the CLIJx API:

// process image on GPU
clijx.blur(inputBuffer, outputBuffer, 5, 5);

Afterwards, pull the result back and show it in Icy:

// pull result back from GPU
output = clijx.pullSequence(outputBuffer);

// Show result
Icy.addSequence(output);

By the end, always clean up GPU memory:

// free memory of specific images
clijx.release(inputBuffer);

// clean up all images
clijx.clear():

Installation

Download Icy. Enter "clicy" in Icys search field on top and click on install. Voilá.

If you want to have the ClIcy toolbar as well, copy over this XML code to your local <icy-folder>/workspace/sys.xml.

Image

Examples

Example code for Icys script editor can be found in the javascript directory. Also feel free to copy paste some code snippets from CLIJ and CLIJx jython examples.

Please note

Icy support is experimental. But feedback is very welcome and will eventuall lead to Clicy becoming mature. Thanks for your support!

Back to CLIJ documentation

Imprint

You can’t perform that action at this time.