IPSDK’s parallelized functions allow you to significantly accelerate your applications’ speed.
Image processing SDK
IPSDK Library sum up
Available in C ++ and Python, these IPSDK functionalities can be used either individually or combined together to be used as scripts and batch-processing.
The implementation of IPSDK features is compliant to state of the art. All functions are parallelized to maximize all your workstation cores capabilities. On the other hand, IPSDK automatically adjusts itself to your processors architecture and capabilities. As a result, IPSDK supports SSE2, AVX, AVX2 and even AVX512 accelerators (if available).
IPSDK reduces significantly computational time : some treatments will take down to few minutes when it could take several hours with other software in the market. Hereafter is a comparative graphs of processing times on datasets from 10 to 100 Mb. In X-axis, the dataset size is displayed, in Y-axis the processing time. These graphs highlight the significant IPSDK time saving when compared to other solutions.
IPSDK offers an exhaustive and rigorous documentation of all image processing functions. In addition, all the commands are accompanied by a visual to understand the function interest and an example of coding in Python and C ++.
List of available processing features (non exhaustive)
- Image edition: Creation, conversion, random image, crop, …
- Binarization: Manual, automatic (otsu, kapur, iso, …), tophat,
- Arithmetic: Addition, subtraction, standardization, background correction, …
- Equalization of histograms,
- Logical operations: OR, AND, NOT, …
- Image stack combination: Min, max, mean, stddev, max gradient,…
- Morphology: Erosion, dilation, opening, closing, reconstruction, filling holes, removing objects at the edge, …
- Image segmentation using Deep Learning, interactive training module,
- Object classification using Deep Learning, interactive training module,
- Global statistical measurement: Entropy, variance, tortuosity, inertia,…
- Morphological filtering,
- Exact distance map, labeling,
- Separation (watershed),
- Linear filters: medium, Gaussian, Gaussian gradient, convolution with any type of kernel,
- Adaptive filters: Bilateral, unsharp mask, …
- Non-linear filters: Median, delieneate, deblur, anisotropy diffusion, Non local Means, bilateral,
- Filtering periodic noises,
- Border detection: Gradient,
- Laplacian, isosurface, …
- Extracting polygonal contours for 2D objects,
- Extracting mesh-type contours for 3D objects,
- Correlation, transformed from Hough, …
- Classification: K-means, Masked K-means, Karhunen Loeve,…
- Registration, extraction of point of interest, similarity, homography, …
- Individual analysis (object by object)
- Volume, surface, Feret diameters, length, thickness,
- Moments of inertia,
- Encompassing rectangle (oriented or not),
- Contact surface, distance to nearest neighbor, …
- Measure of form, sphericity, eccentricity, convex hull, …
- Intensity measurements: min, max, average, standard deviation, …
- Filtering from mathematical formulas on these measurements,
Graphical User Interface
IPSDK Explorer sum up
IPSDK Explorer is a GUI assistant provided with IPSDK distribution and allows to use it without any coding knowledge. The complete image processing features are available through this Friendly and Easy to use interface.
IPSDK Explorer displays the algorithms results directly in its Viewer. It permits to directly define the best and most relevant feature to be used and to finely define the best associated parameters.
IPSDK Explorer allows to design scripts and, once a relevant result is obtained, to generate the equivalent Python code.
Being Open-source, IPSDK Explorer GUI can be modified, enhanced… either by contacting Reactiv’IP or directly by any user. It can be also done directly from the Python editor console with adding some buttons, parameters…
As it is implemented in Python, IPSDK Explorer is an open and adaptive tool, it can be easily connected to third party software by using only the generated scripts or using the Graphical User Interface.
IPSDK Explorer also proposes to manually retouch element detections : it is now possible to define directly on the images the elements or Region of interest to be analyzed, to correct if needed automatic element detection : add, remove, combine, separate elements.
Machine Learning / Smart Segmentation and Smart Classification
IPSDK Machine Learning sum up
MACHINE LEARNING MODULES
IPSDK provides two innovative and revolutionary modules based on Machine Learning techniques. Even if they are extremely sophisticated in terms of technology, these modules have been designed to be user-friendly for all IPSDK users, even for beginners.
IPSDK offers the possibility to generate models through learning within the IPSDK Explorer Graphical User Interface (GUI) using easy-to-use interactive features. These models can then be applied from the GUI or within scripts to process massive amounts of data in a very short timeframe.
make image processing accessible to everyone
After a short and user-friendly segmentation learning step performed by the user, IPSDK Machine Learning tool enables to quickly and automatically define image pixel classification rules.
classify segmented objects automatically.
After a short and user-friendly learning step to assist the user to classify certain labels or objects, IPSDK Machine Learning tool performs a fast and automatic rule definition to classify objects in image sets based on distinguishing features.
Implemented using IPSDK optimized library and Random Forest’s algorithm, these features are the fastest and most easy to use on the market. These full Machine Learning features can be used on both 2D and 3D images.
IPSDK Runtime sum up
For several type of applications, having access to unitary algorithms may not be useful or relevant. Those cases can be :
- computation on a powerful Workstation
- several simultaneous computations on cluster nodes
- scripts embedded on a 3rd party application
- InLine control with no human interaction…
To cover those cases, Reactiv’IP proposes IPSDK Runtime. This version displays end-users pre-built workflows designed by development team.
It is the right way to propose all the computation performances of IPSDK and to ensure accurate, reliable, reproductible and traceable results.
IPSDK Runtime is the perfect choice for internal or external distribution as it provides the best balance between performance and cost saving.