IPSDK Toolkit

IPSDK Toolkit offre une gamme complète et optimisée de fonctionnalités pour le traitement et l’analyse d’images 2D et 3D. Disponibles en C++ et en Python ces fonctionnalités peuvent-être utilisées individuellement ou combinées ensemble pour créer des scripts ou processus de traitement par lots.

Bien que IPSDK Toolkit s’adresse principalement à des développeurs, il est possible de prototyper vos applications grâce à IPSDK Explorer et son générateur automatique de scripts Python

IPSDK Toolkit : En bref

  • Windows et Linux
  • Python et C++
  • Calcul haute performance (multithreading, calcul distribué…)
  • Support de grands volumes de données
  • Compatible avec la grande majorité des applications tierces batch Processing
  • Documentation complète et détaillée avec des exemples d’utilisation correspondants.

Le développement des fonctionnalités de IPSDK Toolkit est conforme à l’état de l’art. Toutes les fonctions sont parallélisées pour maximiser les capacités des stations de travail en utilisant tous les cœurs disponibles. D’autre part, IPSDK Toolkit s’adapte automatiquement à l’architecture et aux capacités de votre processeur.

IPSDK Toolkit supporte les accélérateurs SSE2, AVX, AVX2 et même AVX512 (si disponible). Il réduit considérablement le temps de calcul : certains traitements ne prennent que quelques minutes alors qu’ils peuvent prendre plusieurs heures avec d’autres logiciels du marché.

Voici un graphique comparatif des temps de traitement sur des jeux de données de 10 à 100 Mb. En abscisse, la taille du jeu de données est affichée, en ordonnée le temps de traitement.

IPSDK Toolkit Benchmark Dilatation
IPSDK Toolkit

Ces graphiques mettent en évidence le gain de temps significatif de IPSDK par rapport à d’autres solutions.

IPSDK Toolkit peut être appelé à partir d’un grand nombre de solutions d’analyse d’images du marché telles que : ITK / VTK, Matlab… Cette connexion peut être utilisée soit par une importation Python, soit par un codage C++.

IPSDK Toolkit offre une documentation exhaustive et rigoureuse de toutes les fonctions de traitement d’images. De plus, toutes les commandes sont accompagnées d’un visuel permettant de comprendre l’intérêt de la fonction et d’un exemple de codage en Python et C++.

IPSDK Toolkit : Python and C++
Liste des fonctionnalités disponibles
  • Edition d’images : Création, conversion, image aléatoire, découpage, …
  • Binarisation : Manuelle, automatique (otsu, kapur, iso, …), tophat,
  • Arithmétique : Addition, soustraction, normalisation, correction de fond, …
  • Égalisation d’histogrammes,
  • Réhaussement adaptif de contraste,
  • Opérations logiques : OU, ET, NON, …
  • Combinaison de piles d’images : Min, max, moyenne, stddev, gradient max, …
  • Morphologie : Érosion, dilatation, ouverture, fermeture, reconstruction, remplissage de trous, suppression d’objets sur les bords, …
  • Squelette, points terminaux, points triples, algorithme HitOrMiss, …
  • Mesure statistique globale : Entropie, variance, tortuosité, inertie, …
  • Filtrage morphologique,
  • Carte des distances exactes, étiquetage,
  • Séparation (bassin versant, classique ou adaptatif),
  • Segmentation par Deep Learning, outil interactif pour l’apprentissage,
  • Super pixels, super voxels,
  • Classification d’objets par Deep Learning, outil interactif pour l’apprentissage,
  • Ajout de marqueurs sur une image label à partir d’un masque,
  • Calcul du plus cours chemin traversant une image,
  • Filtres linéaires : moyen, gaussien, gradient gaussien, convolution avec tout type de noyau,
  • Filtres adaptatifs : Bilatéral, masque non tranchant, …
  • Filtres non linéaires : Médiane, délinéance, flou, diffusion anisotrope, Moyens non locaux, bilatéral,
  • Filtrage des bruits périodiques,
  • Détection des frontières : Gradient, Laplacien, isosurface, …
  • Extraction de contours polygonaux pour des objets en 2D,
  • Extraction de contours de type maillage pour les objets en 3D,
  • Corrélation, transformée de Hough, …
  • Classification : K-means, K-means masqué, Karhunen Loeve, …
  • Enregistrement, extraction de points d’intérêt, similarité, homographie, liste de points définis par une image binarie, …
  • Analyse individuelle (objet par objet)
  • Volume, surface, diamètres des Feret, longueur, épaisseur,
  • Moments d’inertie,
  • Rectangle englobant (orienté ou non),
  • Surface de contact, distance par rapport au plus proche voisin, …
  • Orientation
  • Mesure de la forme, de la sphéricité, de l’excentricité, de la convexité, …
  • Mesures d’intensité : min, max, moyenne, écart-type, …
  • Filtrage des formules mathématiques sur ces mesures,
  • Histogramme.

Liste des fonctionnalités de traitement disponibles (non exhaustive)

  • Edition d’images : Création, conversion, image aléatoire, découpage, …
  • Binarisation : Manuelle, automatique (otsu, kapur, iso, …), tophat,
  • Arithmétique : Addition, soustraction, normalisation, correction de fond, …
  • Égalisation d’histogrammes,
  • Réhaussement adaptif de contraste,
  • Opérations logiques : OU, ET, NON, …
  • Combinaison de piles d’images : Min, max, moyenne, stddev, gradient max, …
  • Morphologie : Érosion, dilatation, ouverture, fermeture, reconstruction, remplissage de trous, suppression d’objets sur les bords, …
  • Squelette, points terminaux, points triples, algorithme HitOrMiss, …
  • Mesure statistique globale : Entropie, variance, tortuosité, inertie, …
  • Filtrage morphologique,
  • Carte des distances exactes, étiquetage,
  • Séparation (bassin versant, classique ou adaptatif),
  • Segmentation par Deep Learning, outil interactif pour l’apprentissage,
  • Super pixels, super voxels,
  • Classification d’objets par Deep Learning, outil interactif pour l’apprentissage,
  • Ajout de marqueurs sur une image label à partir d’un masque,
  • Calcul du plus cours chemin traversant une image,
  • Filtres linéaires : moyen, gaussien, gradient gaussien, convolution avec tout type de noyau,
  • Filtres adaptatifs : Bilatéral, masque non tranchant, …
  • Filtres non linéaires : Médiane, délinéance, flou, diffusion anisotrope, Moyens non locaux, bilatéral,
  • Filtrage des bruits périodiques,
  • Détection des frontières : Gradient, Laplacien, isosurface, …
  • Extraction de contours polygonaux pour des objets en 2D,
  • Extraction de contours de type maillage pour les objets en 3D,
  • Corrélation, transformée de Hough, …
  • Classification : K-means, K-means masqué, Karhunen Loeve, …
  • Enregistrement, extraction de points d’intérêt, similarité, homographie, liste de points définis par une image binarie, …
  • Analyse individuelle (objet par objet)
  • Volume, surface, diamètres des Feret, longueur, épaisseur,
  • Moments d’inertie,
  • Rectangle englobant (orienté ou non),
  • Surface de contact, distance par rapport au plus proche voisin, …
  • Orientation
  • Mesure de la forme, de la sphéricité, de l’excentricité, de la convexité, …
  • Mesures d’intensité : min, max, moyenne, écart-type, …
  • Filtrage des formules mathématiques sur ces mesures,
  • Histogramme.