IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Version 4.1.0.0

Table of content

New Features

New Algorithms

Library Algorithm Comments
Image Geometric transformation Elastic Warp 2d Apply a generic motion field to an image
Image Registration DeepFlow between two 2d images Computes a dense optical flow occurred between two input images
Image Registration Image registration using 2D grey signed features Apply to the first input image the transform estimated between the two input images using Extract grey signed features 2d
Filtering image operations Masked Mean Smoothing 2d Masked mean filter used to blur a 2d image
Filtering image operations Masked Mean Smoothing 3d Masked mean filter used to blur a 3d image
Utility image processing algorithms Build 2D Lines Generates a binary image with oriented lines
Utility image processing algorithms Build 3D Lines Generates a 3D binary image with oriented lines
Image Registration Stack registration Registration of the slices in a 3D stack using grey signed features and taking into account a cumulative angular bias
Global measure image operations Area Percent 2d measurement Computes the ratio between the number of pixels and the total image size.
Global measure image operations Volume Percent 3d measurement Computes the ratio between the number of voxels and the total image size.
Global measure image operations Counting 2d objects Count the number of objects in the image.
Global measure image operations Counting 3d objects Count the number of objects in the 3D input label image.

New Low Level features

New C++ features

Library Feature Comments
IPSDKImage library Geometry interpretation New functions to reinterpret a geometry : Volume<->Sequence, Volume<->MultiChannel, MultiChannel<->Sequence. The reinterpretation Volume<->Sequence was already available in Python. All of these reinterpretations are now available in C++.
Note
We assume that the size along 2 of the 3 dimensions is equal to 1.


Behavior modifications

Modified Algorithms

Library Algorithm Comments
Advanced Morphological image operations Generic Seeded Distance Map 2d The output distance map has now Real32 data type by default (instead of UInt16)
Advanced Morphological image operations Generic Seeded Distance Map 3d The output distance map has now Real32 data type by default (instead of UInt16)
Advanced Morphological image operations Seeded Distance Map 2d The output distance map has now Real32 data type by default (instead of UInt16)
Advanced Morphological image operations Seeded Distance Map 3d The output distance map has now Real32 data type by default (instead of UInt16)
Global measure image operations Masked histogram measurement 2d In the case of integer images, the algorithm does not forbid binwidth lower than 1 anymore but uses 1 instead of the input binwidth value
Global measure image operations Masked histogram measurement 3d In the case of integer images, the algorithm does not forbid binwidth lower than 1 anymore but uses 1 instead of the input binwidth value
Global measure image operations Histogram measurement 2d In the case of integer images, the algorithm does not forbid binwidth lower than 1 anymore but uses 1 instead of the input binwidth value
Global measure image operations Histogram measurement 3d In the case of integer images, the algorithm does not forbid binwidth lower than 1 anymore but uses 1 instead of the input binwidth value

Modified Low Level features

New SIMD function : moduloCentered. Given a value v to adjust according to a modulo value mv, the function computes the corresponding value in the range [-mv/2, mv/2[.

Modified C++ features

Library Feature Comments
IPSDKImage library Geometric Calibration Every image now contains a geometric calibration by default (scale = 1px, origin = (0, 0) in 2D and (0, 0, 0) in 3D
IPSDKImageFile library Loading TIFF files IPSDK can now load Tiff images saved with ImageJ with a specific format that is supported by only a few external tools such as the tifffile python module


Bug Fixes

Algorithms Bug Fixes

Library Algorithm Comments
Basic Morphological image operations Pruning of 3d skeletons Some voxels were considered as endpoints whereas they have neighbours in another slice
Basic Morphological image operations Pruning of 3d skeletons Correction allowing to prune the object in cntact with the border
Basic Morphological image operations Distance Map 3d Correction of overflow for large Z coordinates
Arithmetic image operations Formula 2d image algorithm Automatic allocation of the output image has now the same nature (Memory, disk, etc.) than the first define input optional image in the order : Grey Image 1, Grey Image 2, Grey Image 3, Binary Image 1, Binary Image 2, Binary Image 3, Label Image 1, Label Image 2, Label Image 3
Arithmetic image operations Formula 3d image algorithm Automatic allocation of the output image has now the same nature (Memory, disk, etc.) than the first define input optional image in the order : Grey Image 1, Grey Image 2, Grey Image 3, Binary Image 1, Binary Image 2, Binary Image 3, Label Image 1, Label Image 2, Label Image 3
Advanced Morphological image operations Watershed Binary Separation 3d Correction of rules for 3D sequence images and correction for the SplitLabel option
Shape analysis Shape Analysis 2d Modification of the algorithm rule to allow the analysis with empty shapes
Shape analysis Shape Analysis 3d Modification of the algorithm rule to allow the analysis with empty shapes
Basic Morphological image operations Skeleton 2d calculation In some cases, when the objects touches the right of the image, the smooth skeleton algorithm infinitely looped

Measures Bug Fixes

Measure Type Measure Comments
Inertia Inertia2d Correction of a rotation of PI/2 in the calculatoin of the inertia based 2D orientation
Inertia Inertia Orientation 2d Correction of a rotation of PI/2 in the calculatoin of the inertia based 2D orientation
Inertia GreyInertia Correction of a rotation of PI/2 in the calculatoin of the inertia based 2D orientation
Inertia GreyInertiaOrientation2d Correction of a rotation of PI/2 in the calculatoin of the inertia based 2D orientation
Angularity Disparity angularity 2d Correction of a rotation of PI/2 in the calculatoin of the inertia based 2D orientation
Angularity Radius angularity index 2d Correction of a rotation of PI/2 in the calculatoin of the inertia based 2D orientation
Energy Statistics Management of empty shapes
Entropy Statistics Management of empty shapes
Local histogram module Statistics Management of empty shapes
Roughness2d FormFactor Management of calibrated shapes
IPSDKGeometry IPSDK libraries Applying a transform to a shape does not remove the row intersections anymore. Please keep in mind that a transformed (or calibrated) shape will have transformed polygons/meshes but the row intersections won't be transformed/calibrated.


Embedded applications

IPSDK Explorer