CLIJ2

Logo

GPU accelerated image processing for everyone

CLIJ2 home

copySlice

This method has two purposes: It copies a 2D image to a given slice z position in a 3D image stack or It copies a given slice at position z in an image stack to a 2D image.

The first case is only available via ImageJ macro. If you are using it, it is recommended that the target 3D image already pre-exists in GPU memory before calling this method. Otherwise, CLIJ create the image stack with z planes.

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.

copySlice often follows after

copySlice is often followed by

Usage in ImageJ macro

Ext.CLIJ2_copySlice(Image source, Image destination, Number slice_index);

Usage in object oriented programming languages

Java
// 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(new long[]{source.getWidth(), source.getHeight()}, source.getNativeType());
int slice_index = 10;
// Execute operation on GPU
clij2.copySlice(source, destination, slice_index);
// show result
destinationImagePlus = clij2.pull(destination);
destinationImagePlus.show();

// cleanup memory on GPU
clij2.release(source);
clij2.release(destination);
Matlab
% init CLIJ and GPU
clij2 = init_clatlab();

% get input parameters
source = clij2.pushMat(source_matrix);
destination = clij2.create([source.getWidth(), source.getHeight()], source.getNativeType());
slice_index = 10;
% Execute operation on GPU
clij2.copySlice(source, destination, slice_index);
% show result
destination = clij2.pullMat(destination)

% cleanup memory on GPU
clij2.release(source);
clij2.release(destination);
Icy JavaScript
// 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.getWidth(), source.getHeight()], source.getNativeType());
slice_index = 10;
// Execute operation on GPU
clij2.copySlice(source, destination, slice_index);
// show result
destination_sequence = clij2.pullSequence(destination)
Icy.addSequence(destination_sequence);
// cleanup memory on GPU
clij2.release(source);
clij2.release(destination);
clEsperanto Python (experimental)
import pyclesperanto_prototype as cle

cle.copy_slice(source, destination, slice_index)

Example notebooks

basic_image_processing
inspecting_3d_images.ipynb
Segmentation_3D.ipynb
voronoi_otsu_labeling.ipynb
benchmarking_centroids_of_labels.ipynb
statistics_of_labeled_pixels.ipynb

Example scripts

allocateBigImages.ijm
applyVectorField.ijm
basic_image_processing.ijm
division_visualisation.ijm
motionCorrection.ijm
motionCorrection_compare_stackreg.ijm
process_5D_stack.ijm
rotateFree.ijm
rotateOverwriteOriginal.ijm
rotating_sphere.ijm
scaleFree.ijm
translate.ijm
tubeness.ijm
applyVectorField.py
rotateFree.py
rotateOverwriteOiginal.py

Back to CLIJ2 reference Back to CLIJ2 documentation

Imprint