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
dipdrawpolygon
works 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 snakeminimize
.findmaxima
, findminima
and subpixlocation
can be used to determine the location of local extrema with sub-pixel accuracy.dpr
and frc
compute the differential phase residuals and Fourier ring correlation, respectively. Both are similarity measures between images.dip_image/eig
.dip_image/hypot
.dip_image/ismatrix
, dip_image/isrow
and dip_image/iscolumn
, to match new functions in MATLAB 7.11.dip_image/ind2sub
and dip_image/sub2ind
.dip_image/circshift
to shift an image by integer distances.dip_image/diag
.dip_image/unique
.slice_in
, to complement slice_ex
(nee ex_slice
) and slice_op
. slice_in
inserts a slice into an image, in the same way that slice_ex
extracts a slice.stretch
now supports color and tensor images.diproi
now uses dipdrawpolygon
for the user interaction part.dip_image/inv
now uses the 'LU'
method by default.dip_image/svd
will now not waste lots of memory when only one output argument is given.readtimeseries
is now more efficient with multi-plane TIFF files.fillholes
now has a 2nd input argument to specify connectivity.measure
now has a default connectivity of Inf
rather than 1. This matches the default in label
.cut
now has an additional, optional parameter, origin. cropim
has been moved to the aliases directory, use cut
instead.dip_image/find
and dip_image/findcoord
now accept two additional parameters, mirroring the built-in MATLAB function find
: you can now choose to find only the first or last n
pixels.ex_slice
is now called slice_ex
, the old name is still available in the aliases directory.noise
can now also generate pink and Brownian noise.readim
interface to loci_tools.jar
is 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_measurement
objects with very large ID values now works without running out of memory.dip_image/cat
now preserves ending singleton dimensions.Changes to DIPlib
(Some of these changes propagate to DIPimage)
dip_Canny()
, the famous Canny edge detector.dip_SubpixelMaxima()
, dip_SubpixelMinima()
and 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_FeatureRadiusID()
measurement feature.dip_KuwaharaImproved()
and dip_GeneralisedKuwaharaImproved()
do the same as dip_Kuwahara()
and 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_Random
variable using the system clock.dip_GeneralConvolution()
implements a convolution for non-separable kernels in the spatial domain. Complements dip_SeparableConvolution()
and dip_ConvolveFT()
.dip_MapView()
and dip_MirrorView()
do the same thing as dip_Map()
and dip_Mirror()
, but instead return a ROI on the original image, making no copy of the data.dip_ImageDoEdge()
(not documented).dip_SingularValueDecomposition()
now can return only the singular values, saving lots of memory if you don’t need the full decomposition.dip_ChainCode
object, now use less memory. Recompile any program that links with DIPlib and uses chain codes!dip_Kuwahara()
and 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_SelectValue()
and dip_NotZero()
.dip_BinaryPropagation()
.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 -1
.