GPU accelerated image processing for everyone

This reference contains all methods currently available in CLIJ, CLIJ2 and CLIJx for filtering images.. 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

Applies a bilateral filter using a box neighborhood with sigma weights for space and intensity to the input image.

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.

Fills holes (pixels with value 0 surrounded by pixels with value 1) in a binary image.

Fills holes (pixels with value 0 surrounded by pixels with value 1) in a binary image stack slice by slice.

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 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 Gaussian blurred image of an image given two sigma values in X and Y. Thus, the filterkernel can have non-isotropic shape.

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

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

Apply a binary closing to the input image by calling n dilations and n erosions subsequenntly.

Apply a binary closing to the input image by calling n dilations and n erosions subsequently.

Computes the color deconvolution of an 8bit RGB stack color image with a given 3x3 matrix of color vectors. Note: The input image has to be a stack with three z-slices corresponding to the red, green and blue channel.)

Convolve the image with a given kernel image.

Determines the number of all pixels in a given image which are not equal to 0.

Counts non-zero pixels in a sphere around every pixel.

Counts non-zero pixels in a sphere around every pixel slice by slice in a stack.

Counts non-zero voxels in a sphere around every voxel.

Performs cross correlation analysis between two images.

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

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.

Extend labels with a given radius.

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

Generates a distance map from a binary image.

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

Determines the local entropy in a box with a given radius around every pixel.

Determines correction factors for each z-slice so that the average intensity in all slices can be made the same and multiplies these factors with the slices.

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.

Extend labels with a given radius.

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

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).

This operation follows a ray from a given position towards a label (or opposite direction) and checks if there is another label between the label an the image border.

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

This operation follows a ray from a given position towards a label (or opposite direction) and checks if there is another label between the label an the image border.

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.

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

Replaces recursively all pixels of value a with value b if the pixels have a neighbor with value b.

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.

Generates a feature stack for Trainable Weka Segmentation.

Computes the gradient of gray values along X.

Computes the gradient of gray values along Y.

Computes the gradient of gray values along Z.

Inspired by Grayscale attribute filtering from MorpholibJ library by David Legland & Ignacio Arganda-Carreras.

Apply a greyscale morphological closing to the input image.

Apply a greyscale morphological closing to the input image.

Apply a greyscale morphological opening to the input image.

Apply a greyscale morphological opening to the input image.

Apply ImageJ2 / ImageJ Ops Frangi Vesselness filter to an image.

Apply ImageJ2 / ImageJ Ops Gaussian Blur to an image.

Apply ImageJ2 / ImageJ Ops Median filter with a Sphere shape to an image.

Apply ImageJ2 / ImageJ Ops Median filter with a Sphere shape to an image.

Apply ImageJ2 / ImageJ Ops Richardson Lucy Deconvolution to an image.

Apply ImageJ2 / ImageJ Ops Tubeness filter to an image.

Apply ImageJs Watershed algorithm to a binary image.

Apply ImageJs Gaussian Blur to an image.

Apply ImageJs Variance filter to an image.

Apply ImageJs Watershed algorithm to a binary image.

Determines the mean intensity of the image stack and multiplies it with a factor so that the mean intensity becomes equal to a given value.

Determines the mean intensity of all pixel the image stack which are above a determined Threshold (Otsu et al. 1979) and multiplies it with a factor so that the mean intensity becomes equal to a given value.

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

Takes a labeled image and dilates the labels using a octagon shape until they touch.

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

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

Applies a local minimum and maximum filter.

Computes a binary image with pixel values 0 and 1 depending on if a pixel value x in image X was above of equal to the pixel value m in mask image M.

Computes the local threshold based on Auto Local Threshold (Bernsen method) see: https://imagej.net/Auto_Local_Threshold see code in: https://github.com/fiji/Auto_Local_Threshold/blob/master/src/main/java/fiji/threshold/Auto_Local_Threshold.java Formular: <pre>if (tcontrast > max - min){ if ((max + min)/2.0 >= 128) res = 0} else if (val > (max + min)/2.0) res =0</pre>

Computes the local threshold based on Auto Local Threshold (Contrast method) see: https://imagej.net/Auto_Local_Threshold see code in: https://github.com/fiji/Auto_Local_Threshold/blob/master/src/main/java/fiji/threshold/Auto_Local_Threshold.java Formular: <pre>if (abs(value - min) >= abs(max - value) && (value != 0)) value = 0 </pre>

Computes the local threshold based on Auto Local Threshold (Mean method) see: https://imagej.net/Auto_Local_Threshold see code in: https://github.com/fiji/Auto_Local_Threshold/blob/master/src/main/java/fiji/threshold/Auto_Local_Threshold.java Formular: <pre>if(value > (mean - c_value)) value = 0 </pre>

Computes the local threshold based on Auto Local Threshold (Median method) see: https://imagej.net/Auto_Local_Threshold see code in: https://github.com/fiji/Auto_Local_Threshold/blob/master/src/main/java/fiji/threshold/Auto_Local_Threshold.java Formular: <pre>if(value > (median - c_value)) value = 0 </pre>

Computes the local threshold based on Auto Local Threshold (MidGrey method) see: https://imagej.net/Auto_Local_Threshold see code in: https://github.com/fiji/Auto_Local_Threshold/blob/master/src/main/java/fiji/threshold/Auto_Local_Threshold.java Formular: <pre>if (value > ( (max + min)/2.0 - c_value) ) value = 0 </pre>

Computes the local threshold based on Auto Local Threshold (Niblack method) see: https://imagej.net/Auto_Local_Threshold see code in: https://github.com/fiji/Auto_Local_Threshold/blob/master/src/main/java/fiji/threshold/Auto_Local_Threshold.java Formular: <pre>t = mean + k_value * sqrt(var - c_value) </pre>

Computes the local threshold (Fast version) based on Auto Local Threshold (Phansalkar method) see: https://imagej.net/Auto_Local_Threshold see code in: https://github.com/fiji/Auto_Local_Threshold/blob/c955dc18cff58ac61df82f3f001799f7ffaec5cb/src/main/java/fiji/threshold/Auto_Local_Threshold.java#L636 Formulary: <pre>t = mean * (1 + p * exp(-q * mean) + k * ((stdev / r) - 1))</pre>

Computes the local threshold based on Auto Local Threshold (Sauvola method) see: https://imagej.net/Auto_Local_Threshold see code in: https://github.com/fiji/Auto_Local_Threshold/blob/master/src/main/java/fiji/threshold/Auto_Local_Threshold.java Formular: <pre>t = mean * (1.0 + k_value * (stddev / r_value - 1.0)) </pre>

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 a masked image by applying a binary 2D mask to an image stack.

Takes a binary image, labels connected components and dilates the regions using a octagon shape until they touch and only inside another binary mask 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.

Applies a maximum filter with kernel size 3x3 n times to an image iteratively.

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 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: …

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.

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 mean average value of neighboring labels.

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: …

Computes the local mean average of a pixels ellipsoidal 2D neighborhood in an image stack slice by slice.

Computes the local median of a pixels rectangular neighborhood.

Computes the local median of a pixels ellipsoidal neighborhood.

Computes the local median of a pixels cuboid neighborhood.

Computes the local median of a pixels spherical neighborhood.

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.

Applies a minimum filter with kernel size 3x3 n times to an image iteratively.

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 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: …

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 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: …

Apply MorpholibJs Classic Watershed to an image.

Apply MorpholibJ Fill Holes (Binary/Gray) to an image.

Apply MorpholibJ Keep Largest Region to a binary image.

Apply MorpholibJs Marker-controlled Watershed to an image.

Apply MorpholibJ Remove Largest Region to a binary image.

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

Applies a non-local means filter using a box neighborhood with a Gaussian weight specified with sigma to the input image.

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.

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.

Apply a binary opening to the input image by calling n erosions and n dilations subsequenntly.

Apply a binary opening to the input image by calling n erosions and n dilations subsequenntly.

Sets all pixels to 1 if their intensity lies out of a given range, and 0 otherwise.

Apply a binary watershed to a binary image and introduce black pixels between objects.

Replaces integer intensities specified in a vector image.

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

Replaces pixel values x with y in case x is zero.

Takes a label map (seeds) and an input image with gray values to apply the watershed algorithm and split the image above a given threshold in labels.

Extend labels with a given radius.

Apply SimpleITKs Bilateral filter to an image.

Apply SimpleITKs Binary Fill hole to an image.

Apply SimpleITKs Binary Pruning to an image.

Apply SimpleITKs Binary Thinning to an image.

Apply SimpleITKs Binomial Blur filter to an image.

Apply SimpleITKs BoundedReciprocal to an image.

Apply SimpleITKs Canny edge detection filter to an image.

Apply SimpleITKs ConnectedComponent to an image.

Generate SimpleITKs Danielsson distance map from a binary image.

Apply SimpleITKs Gaussian Blur to an image.

Convolve an image with a kernel image using SimpleITK and a fast Fourier transform (FFT).

Apply SimpleITKs H-Maxima filter to an image.

Apply SimpleITKs Inverse Deconvolution to an image.

Apply SimpleITKs Landweber Deconvolution to an image.

Apply SimpleITKs Median filter to an image.

Apply SimpleITKs Median projection to an image.

Apply SimpleITKs Morphological Watershed filter to an image.

Apply SimpleITKs Otsu Multiple Thresholds to an image.

Apply SimpleITKs Otsu Thresholding to an image.

Apply SimpleITKs Tikhonov Deconvolution to an image.

Apply SimpleITKs Wiener Deconvolution to an image.

Apply SimpleITKs ZeroCrossing to an image.

Apply SimpleITKs ZeroCrossingBasedEdgeDetection to an image.

Erodes a binary image until just its skeleton is left.

Convolve the image with the Sobel kernel.

Convolve the image with the Sobel kernel slice by slice.

Determines the squared difference pixel by pixel between two images.

Computes the local standard deviation of a pixels box neighborhood.

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 label image and a parametric intensity image and will replace each labels value in the parametric image by the standard deviation value of touching neighbor 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: …

Computes the local standard deviation of a pixels spherical neighborhood.

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

Convolve the image with the Tenengrad kernel slice by slice.

Convolve the image with the Tenengrad kernel slice by slice.

Applies a Difference-of-Gaussian filter to an image and thresholds it with given sigma and threshold values.

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

Applies a minimum filter with kernel size 3x3 n times to an image iteratively.

Applies a minimum filter with kernel size 3x3 n times to an image iteratively.

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

Computes the local variance of a pixels box neighborhood.

Computes the local variance of a pixels spherical neighborhood.

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

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

Labeles objects directly from grey-value images.

Apply a binary watershed to a binary image and introduces black pixels between objects.

200 methods listed.