Skip to content

@haesleinhuepf haesleinhuepf released this Aug 2, 2019 · 6 commits to master since this release


  • Affine transforms, scaling, rotation and translation didn't work for 2D images on NVidia GPUs. Thanks to Peter Haub for reporting and fixing the bug.
  • Gaussian blur, mean and median filters delivered potentially wrong results when being applied to 8-bit images as they were interpreted as int8 images instead of unsigned int8. Thanks to Tanner Fadero for reporting this bug.
  • Intermediate results of separable filters were saved in wrong image type resulting in small errors due to numerics when being applied to 8-bit or 16-bit images. Intermediate results are now saved as float minimizing these errors. Thanks to Martin Weigert for reporting this bug.
  • Binary operations erosion and dilation may have delivered images with pixel values different from 0 and 1 in case non-binary images were given as input.
  • Type casting was unified between different GPU hardware. We implemented the ImageJ-way of type casting (clamp to min/max): Adding a value of 1 to an pixel of type 8-bit with value 255 leads to value 255. This affects basically all OpenCL-kernels and especially non-Intel GPUs.
  • Not needed content was removed and thus, clij_.jar and clij-core.jar decreased size on disc from about 15 MB to less than 1 MB.

API Changes:

  • affineTransform() has been deprecated, use affineTransform2D() or affineTransform3D() instead.
  • scale() has been deprecated, use scale2D() or scale3D() instead.
  • clij.pullBinary() (Java/Jython/Groovy/...) and CLIJ_pullBinary() (macro) have been added to improve interoperability with ImageJ. Thanks to Nico Stuurman for suggesting this.

Backwards compatibility breaking API changes

  • crossCorrelation() was removed from the Java/Jython/Groovy API for technical reasons. It has been moved to the clij-advanced-filters repository for revision.
Assets 8
You can’t perform that action at this time.