GPU accelerated image processing for everyone
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.
Ext.CLIJ2_copySlice(Image source, Image destination, Number slice_index);
// 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);
% 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);
// 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);
import pyclesperanto_prototype as cle cle.copy_slice(source, destination, slice_index)
basic_image_processing
inspecting_3d_images.ipynb
Segmentation_3D.ipynb
voronoi_otsu_labeling.ipynb
benchmarking_centroids_of_labels.ipynb
statistics_of_labeled_pixels.ipynb
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