GPU accelerated image processing for everyone

This reference contains all methods currently available in CLIJ, CLIJ2 and CLIJx compatible with pyclesperanto.. Read more about CLIJs release cycle

**Please note:** CLIJ is deprecated. Make the transition to CLIJ2.

Method is available in CLIJ (deprecated release)

Method is available in CLIJ2 (stable release)

Method is available in CLIJx (experimental release)

Method is available in clEsperanto (experimental)

**Categories:** Binary, Filter, Graphs, Labels, Math, Matrices, Measurements, Projections, Transformations, Detection, CLIc

[A],[B],[C],[D],[E],[F],[G],[H],[I],[J], K,[L],[M],[N],[O],[P], Q,[R],[S],[T],[U],[V],[W], X, Y, Z

Computes the absolute value of every individual pixel x in a given image.

Determines the absolute difference pixel by pixel between two images.

Adds a scalar value s to all pixels x of a given image X.

Calculates the sum of pairs of pixels x and y of two images X and Y.

Calculates the sum of pairs of pixels x and y from images X and Y weighted with factors a and b.

Applies an affine transform to a 3D image.

Applies an affine transform to a 2D image.

Applies an affine transform to a 3D image.

Takes a label map, determines distances between all centroids and replaces every label with the average distance to the n closest neighboring labels.

Takes a touch matrix and a distance matrix to determine the average distance of touching neighbors for every object.

Takes a label map, determines which labels touch and replaces every label with the average distance to their neighboring labels.

Computes a binary image (containing pixel values 0 and 1) from two images X and Y by connecting pairs of pixels x and y with the binary AND operator &. All pixel values except 0 in the input images are interpreted as 1.

Determines pixels/voxels which are on the surface of binary objects and sets only them to 1 in the destination image. All other pixels are set to 0.

Computes a binary image (containing pixel values 0 and 1) from an image X by negating its pixel values x using the binary NOT operator !

Computes a binary image (containing pixel values 0 and 1) from two images X and Y by connecting pairs of pixels x and y with the binary OR operator |.

Subtracts one binary image from another.

Computes a binary image (containing pixel values 0 and 1) from two images X and Y by connecting pairs of pixels x and y with the binary operators AND &, OR | and NOT ! implementing the XOR operator.

Apply a bottom-hat filter for background subtraction to the input image.

Applies a bottom-hat filter for background subtraction to the input image.

Determines the bounding box of all non-zero pixels in a binary image.

Determines the center of mass of an image or image stack.

Determines the centroids of the background and all labels in a label image or image stack.

Determines the centroids of all labels in a label image or image stack.

Outputs information about available OpenCL devices.

Analyses a label map and if there are gaps in the indexing (e.g. label 5 is not present) all subsequent labels will be relabelled.

Combines two images or stacks in X.

Combines two images or stacks in Y.

Concatenates two stacks in Z.

Performs connected components analysis inspecting the box neighborhood of every pixel to a binary image and generates a label map.

Performs connected components analysis inspecting the diamond neighborhood of every pixel to a binary image and generates a label map.

Convolve the image with a given kernel image.

Copies an image.

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.

Takes a touch matrix as input and delivers a vector with number of touching neighbors per label as a vector.

Allocated memory for a new 2D image in the GPU memory.

Allocated memory for a new 3D image in the GPU memory.

Crops a given rectangle out of a given image.

Crops a given sub-stack out of a given image stack.

Takes a labelmap and returns an image where all pixels on label edges are set to 1 and all other pixels to 0.

Detects local maxima in a given square/cubic neighborhood.

Detects local maxima in a given square/cubic neighborhood.

Detects local maxima in a given square/cubic neighborhood.

Detects local minima in a given square/cubic neighborhood.

Detects local minima in a given square/cubic neighborhood.

Detects local minima in a given square/cubic neighborhood.

Applies Gaussian blur to the input image twice with different sigma values resulting in two images which are then subtracted from each other.

Applies Gaussian blur to the input image twice with different sigma values resulting in two images which are then subtracted from each other.

Computes a binary image with pixel values 0 and 1 containing the binary dilation of a given input image.

Computes a binary image with pixel values 0 and 1 containing the binary dilation of a given input image.

Computes a binary image with pixel values 0 and 1 containing the binary dilation of a given input image.

Generates a mesh from a distance matric and a list of point coordinates.

Applies Gaussian blur to the input image and divides the original by the result.

Divides two images X and Y by each other pixel wise.

Scales an image using scaling factors 0.5 for X and Y dimensions. The Z dimension stays untouched.

Draws a box at a given start point with given size. All pixels other than in the box are untouched. Consider using `set(buffer, 0);`

in advance.

Starting from a label map, draw lines between touching neighbors resulting in a mesh.

Draws a line between two points with a given thickness.

Starting from a label map, draw lines between n closest labels for each label resulting in a mesh.

Starting from a label map, draw lines between labels that are closer than a given distance resulting in a mesh.

Starting from a label map, draw lines between touching neighbors resulting in a mesh.

Draws a sphere around a given point with given radii in x, y and z (if 3D).

Determines if two images A and B equal pixel wise.

Determines if an image A and a constant b are equal.

Computes a binary image with pixel values 0 and 1 containing the binary erosion of a given input image.

Computes a binary image with pixel values 0 and 1 containing the binary erosion of a given input image.

Computes a binary image with pixel values 0 and 1 containing the binary erosion of a given input image.

Takes a label map, determines the centroids of all labels and writes the distance of all labelled pixels to their centroid in the result image. Background pixels stay zero.

This operation removes labels from a labelmap and renumbers the remaining labels.

Removes all labels from a label map which touch the edges of the image (in X, Y and Z if the image is 3D).

Removes labels from a label map which are not within a certain size range.

This operation removes labels from a labelmap and renumbers the remaining labels.

This operation removes labels from a labelmap and renumbers the remaining labels.

Computes base exponential of all pixels values.

Takes a label map image and dilates the regions using a octagon shape until they touch.

Extend labels with a given radius.

Flips an image in X and/or Y direction depending on if flip_x and/or flip_y are set to true or false.

Flips an image in X, Y and/or Z direction depending on if flip_x, flip_y and/or flip_z are set to true or false.

Applies a gamma correction to an image.

Computes the Gaussian blurred image of an image given two sigma values in X and Y.

Computes the Gaussian blurred image of an image given two sigma values in X, Y and Z.

Computes the angle in radians between all point coordinates given in two point lists.

Takes two labelmaps with n and m labels and generates a (n+1)*(m+1) matrix where all pixels are set to 0 exept those where labels overlap between the label maps.

Computes the distance between all point coordinates given in two point lists.

Produces a touch-matrix where the n nearest neighbors are marked as touching neighbors.

Produces a touch-matrix where the neighbors within a given distance range are marked as touching neighbors.

Takes a labelmap with n labels and generates a (n+1)*(n+1) matrix where all pixels are set to 0 exept those where labels are touching.

Computes the gradient of gray values along X.

Computes the gradient of gray values along Y.

Computes the gradient of gray values along Z.

Determines if two images A and B greater pixel wise.

Determines if two images A and B greater pixel wise.

Determines if two images A and B greater or equal pixel wise.

Determines if two images A and B greater or equal pixel wise.

Determines the histogram of a given image.

Apply ImageJ2 / ImageJ Ops Gaussian Blur to an image.

Computes the negative value of all pixels in a given image.

Determines the overlap of two binary images using the Jaccard index.

Takes a label map, determines for every label the maximum distance of any pixel to the centroid and replaces every label with the that number.

Takes a label map, determines for every label the maximum distance of any pixel to the centroid and replaces every label with the that number.

Takes a label map, determines for every label the mean distance of any pixel to the centroid and replaces every label with the that number.

Takes an image and a corresponding label map, determines the mean intensity per label and replaces every label with the that number.

Takes a label map, determines the number of pixels per label and replaces every label with the that number.

Transforms a binary image with single pixles set to 1 to a labelled spots image.

Takes an image and a corresponding label map, determines the standard deviation of the intensity per label and replaces every label with the that number.

Applies the Laplace operator (Box neighborhood) to an image.

Takes a label map, determines which labels touch, determines for every label with the number of touching neighboring labels and replaces the label index with the local maximum of this count.

Takes a label map, determines which labels touch, determines for every label with the number of touching neighboring labels and replaces the label index with the local mean of this count.

Takes a label map, determines which labels touch, determines for every label with the number of touching neighboring labels and replaces the label index with the local median of this count.

Takes a label map, determines which labels touch, determines for every label with the number of touching neighboring labels and replaces the label index with the local minimum of this count.

Takes a label map, determines which labels touch, determines for every label with the number of touching neighboring labels and replaces the label index with the local standard deviation of this count.

Computes base e logarithm of all pixels values.

Computes a masked image by applying a binary mask to an image.

Computes a masked image by applying a label mask to an image.

Computes the local maximum of a pixels rectangular neighborhood.

Computes the local maximum of a pixels ellipsoidal neighborhood.

Computes the local maximum of a pixels cube neighborhood.

Computes the local maximum of a pixels spherical neighborhood.

Takes a touch matrix and a distance matrix to determine the maximum distance of touching neighbors for every object.

Computes the maximum of a constant scalar s and each pixel value x in a given image X.

Computes the maximum of a pair of pixel values x, y from two given images X and Y.

Determines the maximum of all pixels in a given image.

Takes a label image and a parametric intensity image and will replace each labels value in the parametric image by the maximum value of neighboring labels. The distance number of nearest neighbors can be configured. Note: Values of all pixels in a label each must be identical.

Takes a label image and a parametric intensity image and will replace each labels value in the parametric image by the maximum value of neighboring labels.

Takes a touch matrix and a vector of values to determine the maximum value among touching neighbors for every object.

Takes a label image and a parametric intensity image and will replace each labels value in the parametric image by the maximum value of neighboring labels. The radius of the neighborhood can be configured: * radius 0: Nothing is replaced * radius 1: direct neighbors are taken into account * radius 2: neighbors and neighbors or neighbors are taken into account * radius n: …

Determines the maximum intensity projection of an image along X.

Determines the maximum intensity projection of an image along X.

Determines the maximum intensity projection of an image along Z.

Computes the local mean average of a pixels rectangular neighborhood.

Computes the local mean average of a pixels ellipsoidal neighborhood.

Computes the local mean average of a pixels cube neighborhood.

Computes the local mean average of a pixels spherical neighborhood.

Determines the mean average of all pixels in a given image.

Takes a touch matrix and a vector of values to determine the mean value among touching neighbors for every object.

Takes a label image and a parametric intensity image and will replace each labels value in the parametric image by the mean average value of neighboring labels. The radius of the neighborhood can be configured: * radius 0: Nothing is replaced * radius 1: direct neighbors are taken into account * radius 2: neighbors and neighbors or neighbors are taken into account * radius n: …

Determines the mean squared error (MSE) between two images.

Determines the mean average intensity projection of an image along X.

Determines the mean average intensity projection of an image along Y.

Determines the mean average intensity projection of an image along Z.

Takes a touch matrix and a vector of values to determine the median value among touching neighbors for every object.

Computes the local minimum of a pixels rectangular neighborhood.

Computes the local minimum of a pixels ellipsoidal neighborhood.

Computes the local minimum of a pixels cube neighborhood.

Computes the local minimum of a pixels spherical neighborhood.

Takes a touch matrix and a distance matrix to determine the shortest distance of touching neighbors for every object.

Computes the minimum of a constant scalar s and each pixel value x in a given image X.

Computes the minimum of a pair of pixel values x, y from two given images X and Y.

Determines the minimum of all pixels in a given image.

Determines the minimum intensity in a masked image.

Takes a label image and a parametric intensity image and will replace each labels value in the parametric image by the minimum value of neighboring labels. The distance number of nearest neighbors can be configured. Note: Values of all pixels in a label each must be identical.

Takes a label image and a parametric intensity image and will replace each labels value in the parametric image by the minimum value of neighboring labels.

Takes a touch matrix and a vector of values to determine the minimum value among touching neighbors for every object.

Takes a label image and a parametric intensity image and will replace each labels value in the parametric image by the minimum value of neighboring labels. The radius of the neighborhood can be configured: * radius 0: Nothing is replaced * radius 1: direct neighbors are taken into account * radius 2: neighbors and neighbors or neighbors are taken into account * radius n: …

Determines the minimum intensity projection of an image along Y.

Determines the minimum intensity projection of an image along Y.

Determines the minimum intensity projection of an image along Z.

Takes a label image and a parametric intensity image and will replace each labels value in the parametric image by the mode value of neighboring labels. The distance number of nearest neighbors can be configured. Note: Values of all pixels in a label each must be identical.

Takes a label image and a parametric intensity image and will replace each labels value in the parametric image by the most popular value of neighboring labels.

Takes a touch matrix and a vector of values to determine the most popular integer value among touching neighbors for every object. TODO: This only works for values between 0 and 255 for now.

Takes a label image and a parametric intensity image and will replace each labels value in the parametric image by the most popular value of neighboring labels. The radius of the neighborhood can be configured: * radius 0: Nothing is replaced * radius 1: direct neighbors are taken into account * radius 2: neighbors and neighbors or neighbors are taken into account * radius n: …

Multiplies all pixel intensities with the x, y or z coordinate, depending on specified dimension.

Multiplies all pixels value x in a given image X with a constant scalar s.

Multiplies all pairs of pixel values x and y from two images X and Y.

Multiplies two matrices with each other.

Determine the n point indices with shortest distance for all points in a distance matrix.

Determines neighbors of neigbors from touch matrix and saves the result as a new touch matrix.

Apply a maximum filter (box shape) to the input image.

Apply a maximum filter (diamond shape) to the input image.

Apply a minimum filter (box shape) to the input image.

Apply a minimum filter (diamond shape) to the input image.

Determines if two images A and B equal pixel wise.

Determines if two images A and B equal pixel wise.

Apply a local maximum filter to an image which only overwrites pixels with value 0.

Apply a local maximum filter to an image which only overwrites pixels with value 0.

Pastes an image into another image at a given position.

Pastes an image into another image at a given position.

Meshes all points in a given point list which are indiced in a corresponding index list.

Takes a list of point indices to generate a touch matrix (a.k.a. adjacency graph matrix) out of it.

Takes a pointlist with dimensions n times d with n point coordinates in d dimensions and labels corresponding pixels.

Computes all pixels value x to the power of a given exponent a.

Calculates x to the power of y pixel wise of two images X and Y.

Copies an image specified by its name from GPU memory back to ImageJ and shows it.

Copies an image specified by its name to GPU memory in order to process it there later.

Takes a label image and an parametric image and reads parametric values from the labels positions.

Reduces the number of slices in a stack by a given factor. With the offset you have control which slices stay: * With factor 3 and offset 0, slices 0, 3, 6,… are kept. * With factor 4 and offset 1, slices 1, 5, 9,… are kept.

Replaces integer intensities specified in a vector image.

Replaces a specific intensity in an image with a given new value.

Resamples an image with given size factors using an affine transform.

Applies a rigid transform using linear interpolation to an image stack.

Rotates an image in plane.

Rotates an image stack in 3D.

Scales an image with a given factor.

Scales an image with a given factor.

Scales an image with a given factor.

Sets all pixel values x of a given image X to a constant value v.

Sets all pixel values x of a given column in X to a constant value v.

Sets all pixel values at the image border to a given value.

Sets all pixels in an image which are not zero to the index of the pixel.

Sets all pixel values x of a given plane in X to a constant value v.

Sets all pixel values to their X coordinate

Sets all pixel values to their Y coordinate

Sets all pixel values to their Z coordinate

Sets all pixel values x of a given row in X to a constant value v.

Determines if two images A and B smaller pixel wise.

Determines if two images A and B smaller pixel wise.

Determines if two images A and B smaller or equal pixel wise.

Determines if two images A and B smaller or equal pixel wise.

Convolve the image with the Sobel kernel.

Determines the overlap of two binary images using the Sorensen-Dice coefficent.

Determines the squared difference pixel by pixel between two images.

Takes a label image and a parametric intensity image and will replace each labels value in the parametric image by the standard deviation value of neighboring labels. The distance number of nearest neighbors can be configured. Note: Values of all pixels in a label each must be identical.

Takes a label image and a parametric intensity image and will replace each labels value in the parametric image by the standard deviation value of neighboring labels.

Takes a touch matrix and a vector of values to determine the standard deviation value among touching neighbors for every object.

Takes a label image and a parametric intensity image and will replace each labels value in the parametric image by the standard deviation value of neighboring labels. The radius of the neighborhood can be configured: * radius 0: Nothing is replaced * radius 1: direct neighbors are taken into account * radius 2: neighbors and neighbors or neighbors are taken into account * radius n: …

Determines the standard deviation intensity projection of an image stack along Z.

Determines bounding box, area (in pixels/voxels), min, max and mean intensity of background and labelled objects in a label map and corresponding pixels in the original image.

Determines image size (bounding box), area (in pixels/voxels), min, max and mean intensity of all pixels in the original image.

Determines bounding box, area (in pixels/voxels), min, max and mean intensity of labelled objects in a label map and corresponding pixels in the original image.

Applies Gaussian blur to the input image and subtracts the result from the original image.

Subtracts one image X from a scalar s pixel wise.

Subtracts one image X from another image Y pixel wise.

Determines the sum of all pixels in a given image.

Determines the sum intensity projection of an image along Z.

Determines the sum intensity projection of an image along Z.

Determines the sum intensity projection of an image along Z.

The automatic thresholder utilizes the Otsu threshold method implemented in ImageJ using a histogram determined on the GPU to create binary images as similar as possible to ImageJ ‘Apply Threshold’ method.

Applies a top-hat filter for background subtraction to the input image.

Applies a top-hat filter for background subtraction to the input image.

Converts a touch matrix in an adjacency matrix

Takes a pointlist with dimensions n*d with n point coordinates in d dimensions and a touch matrix of size n*n to draw lines from all points to points if the corresponding pixel in the touch matrix is 1.

Takes a label map, determines which labels touch and replaces every label with the number of touching neighboring labels.

Translate an image stack in X and Y.

Translate an image stack in X, Y and Z.

Transpose X and Y axes of an image.

Transpose X and Z axes of an image.

Transpose Y and Z axes of an image.

Copies all pixels instead those which are not a number (NaN) or infinity (inf), which are replaced by 0.

Takes a binary image, labels connected components and dilates the regions using a octagon shape until they touch.

Takes an image with three/four rows (2D: height = 3; 3D: height = 4): x, y [, z] and v and target image.

254 methods listed.