GPU accelerated image processing for everyone
Rotates an image stack in 3D.
All angles are entered in degrees. If the image is not rotated around the center, it is rotated around the coordinate origin.
It is recommended to apply the rotation to an isotropic image stack.
Category: Transformations
Availability: Available in Fiji by activating the update sites clij and clij2. This function is part of clij2_-2.5.0.1.jar.
Ext.CLIJ2_rotate3D(Image source, Image destination, Number angleX, Number angleY, Number angleZ, Boolean rotateAroundCenter);
// init CLIJ and GPU import net.haesleinhuepf.clij2.CLIJ2; import net.haesleinhuepf.clij.clearcl.ClearCLBuffer; CLIJ2 clij2 = CLIJ2.getInstance(); // get input parameters ClearCLBuffer source = clij2.push(sourceImagePlus); destination = clij2.create(source); float angleX = 1.0; float angleY = 2.0; float angleZ = 3.0; boolean rotateAroundCenter = true;
// Execute operation on GPU clij2.rotate3D(source, destination, angleX, angleY, angleZ, rotateAroundCenter);
// show result destinationImagePlus = clij2.pull(destination); destinationImagePlus.show(); // cleanup memory on GPU clij2.release(source); clij2.release(destination);
% init CLIJ and GPU clij2 = init_clatlab(); % get input parameters source = clij2.pushMat(source_matrix); destination = clij2.create(source); angleX = 1.0; angleY = 2.0; angleZ = 3.0; rotateAroundCenter = true;
% Execute operation on GPU clij2.rotate3D(source, destination, angleX, angleY, angleZ, rotateAroundCenter);
% show result destination = clij2.pullMat(destination) % cleanup memory on GPU clij2.release(source); clij2.release(destination);
// init CLIJ and GPU importClass(net.haesleinhuepf.clicy.CLICY); importClass(Packages.icy.main.Icy); clij2 = CLICY.getInstance(); // get input parameters source_sequence = getSequence(); source = clij2.pushSequence(source_sequence); destination = clij2.create(source); angleX = 1.0; angleY = 2.0; angleZ = 3.0; rotateAroundCenter = true;
// Execute operation on GPU clij2.rotate3D(source, destination, angleX, angleY, angleZ, rotateAroundCenter);
// show result destination_sequence = clij2.pullSequence(destination) Icy.addSequence(destination_sequence); // cleanup memory on GPU clij2.release(source); clij2.release(destination);
import pyclesperanto_prototype as cle cle.rotate(source, destination, angleX, angleY, angleZ, rotateAroundCenter)