Quantitative Image Analysis in C++, MATLAB and Python
Version 2.3 of DIPlib and DIPimage has been released. There is now only one version per platform.
For Linux the old libc is no longer supported (2.2 is the last version to support this).
Mac OS must be 10.6 or higher.
Changes to DIPimage
dipdrawpolygonworks the same way as
diproi, but returns the coordinates of the selected region instead of a binary image. Additionally, the user can now, using the space bar, switch to a mode for moving the set points. This new function is useful, among other things, to create an input to
subpixlocationcan be used to determine the location of local extrema with sub-pixel accuracy.
frccompute the differential phase residuals and Fourier ring correlation, respectively. Both are similarity measures between images.
dip_image/iscolumn, to match new functions in MATLAB 7.11.
dip_image/circshiftto shift an image by integer distances.
slice_in, to complement
slice_ininserts a slice into an image, in the same way that
slice_exextracts a slice.
stretchnow supports color and tensor images.
dipdrawpolygonfor the user interaction part.
dip_image/invnow uses the
'LU'method by default.
dip_image/svdwill now not waste lots of memory when only one output argument is given.
readtimeseriesis now more efficient with multi-plane TIFF files.
fillholesnow has a 2nd input argument to specify connectivity.
measurenow has a default connectivity of
Infrather than 1. This matches the default in
cutnow has an additional, optional parameter, origin.
cropimhas been moved to the aliases directory, use
dip_image/findcoordnow accept two additional parameters, mirroring the built-in MATLAB function
find: you can now choose to find only the first or last
ex_sliceis now called
slice_ex, the old name is still available in the aliases directory.
noisecan now also generate pink and Brownian noise.
loci_tools.jaris much more efficient. It only works with the latest version (5.0, currently labeled “Trunk build” at http://loci.wisc.edu/bio-formats/downloads).
dip_measurementobjects with very large ID values now works without running out of memory.
dip_image/catnow preserves ending singleton dimensions.
Changes to DIPlib
(Some of these changes propagate to DIPimage)
dip_Canny(), the famous Canny edge detector.
dip_SubpixelLocation(), functions to determine location of extrema with sub-pixel accuracy.
dip_ChainCodeGetRadius()obtains some object parameters from its chain code: maximum and minimum radius, mean radius, and variance of radius.
dip_Measure()uses this function by specifying the
dip_GeneralisedKuwaharaImproved()do the same as
dip_GeneralisedKuwahara(), but add a threshold parameter to avoid shifting the kernel in flat regions of the image. This avoids creating false edges in flat regions due to noise.
dip_RandomSeedWithClock(), to initialise a
dip_Randomvariable using the system clock.
dip_GeneralConvolution()implements a convolution for non-separable kernels in the spatial domain. Complements
dip_MirrorView()do the same thing as
dip_Mirror(), but instead return a ROI on the original image, making no copy of the data.
dip_SingularValueDecomposition()now can return only the singular values, saving lots of memory if you don’t need the full decomposition.
dip_ChainCodeobject, now use less memory. Recompile any program that links with DIPlib and uses chain codes!
dip_GeneralisedKuwahara()are now biased towards the middle of the filtering kernel, rather than the top left. This avoids shifts of regions in the output image in certain situations.
dip_ImageChainCode()no longer starts the chain with a useless 0 code.
dip_HartleyTransform()that caused crashes or wrong output.
Changes to dipIO
(This change propagates to DIPimage)
dipio_ImageReadTIFF()now can read all image planes into a single 3D image (or 4D if there is color channels). Simply choose image plane