CLIJ2

Logo

GPU accelerated image processing for everyone

CLIJ2 home

rotate3D

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.

rotate3D often follows after

rotate3D is often followed by

Usage in ImageJ macro

Ext.CLIJ2_rotate3D(Image source, Image destination, Number angleX, Number angleY, Number angleZ, Boolean rotateAroundCenter);

Usage in Java

clij2.rotate3D(source, destination, angleX, angleY, angleZ, 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);

Usage in Matlab

clij2.rotate3D(source, destination, angleX, angleY, angleZ, rotateAroundCenter);
% 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);

Usage in Icy

clij2.rotate3D(source, destination, angleX, angleY, angleZ, rotateAroundCenter);
// 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);

Example scripts

rotating_sphere.ijm

Back to CLIJ2 reference Back to CLIJ2 documentation

Imprint