IPSDK Explorer

Logiciels pour l’analyse et le traitement d’images

IPSDK offre l’ensemble des traitements nécessaires pour exploiter vos images 2D, 3D ou encore 4D. Ses outils ergonomiques et interactifs d’apprentissage (Machine Learning) vous permettront de traiter simplement et efficacement vos acquisitions.

Disponibles via son interface graphique IPSDK Explorer ou sous forme de scripts en Python ou C++, les fonctions d’IPSDK accéléreront significativement la vitesse de vos applications.

IPSDK Explorer

IPSDK Explorer : En Bref

  • Accès à toutes les fonctionnalités de la bibliothèque 2D/3D de l’IPSDK
  • Interface graphique open source éditable
  • Visualisation immédiate des résultats des fonctions et des paramètres
  • Possibilité d’affiner chaque traitement
  • Génération automatique de scripts Python
  • Accès direct à la documentation
  • Retouche manuelle
  • Modules de machine learning

 

IPSDK Explorer est un assistant graphique fourni avec la librairie IPSDK et permet de l’utiliser sans nécessiter de notions de programmation. L’ensemble des fonctionnalités de traitement d’images est disponible via cette interface conviviale et facile à utiliser.

IPSDK Explorer affiche les résultats des algorithmes directement dans son Viewer. Il permet de définir directement la fonctionnalité la plus pertinente à utiliser et de définir avec précision les paramètres les plus adaptés.

IPSDK Explorer permet de concevoir des scripts et, une fois que le résultat souhaité est obtenu, de générer le code Python équivalent.

Etant Open-source, l’interface graphique de IPSDK Explorer peut être modifiée, améliorée… soit en contactant Reactiv’IP, soit directement par chaque utilisateur. Il est également possible de la modifier depuis la console Python en ajoutant des boutons, des paramètres…

Étant implémenté en Python, IPSDK Explorer est un outil ouvert et évolutif. Il peut être facilement connecté à des logiciels tiers en utilisant simplement les scripts générés ou bien via l’interface utilisateur graphique.

IPSDK Explorer propose également de retoucher manuellement les détections d’éléments : il est maintenant possible de définir directement sur les images les éléments ou la région d’intérêt à analyser, de corriger si nécessaire la détection automatique d’éléments (ajouter, supprimer, combiner, séparer des éléments).

Machine Learning / Smart Segmentation et Smart Classification

Machine Learning : En Bref

  • Outil innovant et révolutionnaire d‘apprentissage
  • Rapide et convivial
  • Visualisation immédiate des résultats de l’apprentissage
  • Utilisable en 2D et en 3D
  • Smart Classification : classification d’objets
  • Smart Segmentation : classification de pixels
  • Algorithme de Random Forest

 

deeplearning

MODULES DE MACHINE LEARNING

IPSDK propose deux modules innovants et révolutionnaires basés sur les techniques d‘apprentissage (Machine Learning). Bien que technologiquement très évolués, ces nouveaux outils ont été conçus pour être facilement utilisés par tous les utilisateurs d’IPSDK, même novices.

IPSDK offre la possibilité de générer les modèles par apprentissage dans l’interface graphique IPSDK Explorer à l’aide d’outils interactifs simples à prendre en main. Ces modèles peuvent ensuite être utilisés dans l’interface ou dans des scripts pour traiter très rapidement de grandes quantités d’images.

 

SMART SEGMENTATION
Pour classer automatiquement les pixels ou voxels d’une image.

Après une étape d’apprentissage rapide et conviviale de segmentation manuelle effectuée par l’utilisateur, l’outil de Machine Learning permet de définir rapidement et automatiquement les règles de classification des pixels des images.

ReactivIP deeplearning Segmentation
ReactivIPDeep Learning Segmentation After

 

SUPER PIXEL/VOXEL SEGMENTATION
Pour classer automatiquement les pixels ou voxels d’une image à partir d’un prédécoupage en zones homogènes.

Cet outil commence par regrouper des zones de pixels homogènes.  L’étape suivante consiste à associer quelques-uns de ces super-pixels à chacune des classes. Cet apprentissage est utilisé par l’algorithme de Machine Learning pour construire un modèle qui permet ensuite de classer automatiquement tout le reste de l’image. Ce modèle pourra être utilisé pour segmenter d’autres images du même type.

La smart segmentation par Super Pixel permet de définir très rapidement et efficacement le contour des objets.

Super pixel before
Super pixels after

 

SMART CLASSIFICATION
Pour classer automatiquement des objets segmentés.

Après une étape d’apprentissage rapide et conviviale de classification assistée de certains labels ou objets effectuée par l’utilisateur, l’outil de Machine Learning permet de définir rapidement et automatiquement les règles de classification des objets d’une série d’images en s’appuyant sur les mesures discriminantes.

ReactivIP Deep Learning Smart Classification

Implémentées à partir de la librairie optimisée IPSDK et de l’algorithme de Random Forest, ces fonctionnalités sont les plus rapides du marché tout en proposant une prise en main aisée. Tous ces traitements basés sur le Machine Learning sont à la fois utilisables sur des images 2D et 3D.

IPSDK TOOLKIT

Librairie IPSDK : En Bref

  • Windows et Linux
  • Python et C++
  • Calcul Haute Performance (Multi-threading, calculs distribués, …)
  • Support de grands volumes de données
  • Compatible avec de très nombreuses solutions 
  • Batch Processing
  • Documentation complète et détaillée avec des exemples d’utilisation correspondants.

 

IPSDK offre une gamme complète et optimisée de fonctionnalités de traitement d’images 2D et 3D.

Disponible en C ++ et Python, les fonctionnalités de IPSDK peuvent être utilisées soit individuellement, soit combinées sous forme de scripts et de traitements en batch-processing.

Le développement des fonctionnalités de IPSDK est conforme à l’état de l’art. Toutes les fonctions sont parallélisées afin de tirer le meilleur parti des capacités des cœurs de vos stations de travail. De plus, IPSDK s’adapte automatiquement à l’architecture et aux performances de vos processeurs. Ainsi, IPSDK supporte les accélérateurs SSE2, AVX, AVX2 ainsi que AVX512 (si disponible).

IPSDK réduit considérablement le temps de calcul : certains traitements ne prennent que quelques minutes alors qu’ils pourraient prendre plusieurs heures avec d’autres logiciels du marché. Ci-après, vous trouverez un exemple de graph de comparaison des temps de traitement pour une série de données allant de 10 à 100 Mo. L’axe X représente la taille des données, l’axe Y le temps de traitement. Ces courbes mettent en évidence le gain de temps significatif de la technologie IPSDK par rapport aux autres solutions.

Il est possible d’accéder à IPSDK depuis un grand nombre de solutions d’analyse d’image présentes sur le marché, telles que : Avizo/Amira, Dragonfly, ITK / VTK, Matlab, …     

Cette connexion peut être utilisée soit à travers un import Python, soit à travers un codage C++.

IPSDK fournit une documentation complète et détaillée de toutes ses fonctionnalités de traitement d’images. De plus, toutes les commandes sont accompagnées d’un visuel pour comprendre l’intérêt de la fonction et d’un exemple de codage en Python et C ++.

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,
    Fourier s’est transformé,
  • 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.

Exemple de script IPSDK en Python avec les résultats des images correspondantes

IPSDK RUNTIME

IPSDK Runtime : En Bref

 

  • Batch / Script processing
  • Précision, fiabilité, reproductibilité et traçabilité des workflows
  • Diminution des coûts
  • Distribution de workflows pré-définis
  • Distribution interne ou externe

 

IPSDK permet de distribuer et de partager des scripts sur une station de travail différente de celle qui a servi à développer le script.

Pour plusieurs types d’applications, avoir accès aux algorithmes unitaires peut ne pas être utile ou pertinent. Ces cas peuvent être :

  • calcul sur une station de travail puissante
  • plusieurs calculs simultanés sur les nœuds d’un cluster
  • scripts intégrés dans une application tierce
  • Contrôle en ligne sans intervention humaine…

Pour répondre à ces situations, Reactiv’IP propose la version IPSDK Runtime. Cette version fournit des workflows prédéfinis aux utilisateurs finaux, élaborés par l’équipe de développement.

La distribution peut être soit interne (plateforme d’imagerie, centre de calcul, …) soit externe (distribution d’applications, OEM, …)

Il s’agit de la meilleure solution pour proposer toutes les performances de calcul offertes par IPSDK tout en garantissant des résultats précis, fiables, reproductibles et traçables.

IPSDK Runtime est le choix idéal pour une distribution interne ou externe car il offre la meilleure adéquation entre performance et économie.

h

RELEASE NOTES

 

IPSDK EXPLORER 4.0 (février 2024)

Viewer 3D

  • Volume rendering,
  • Orthoslices,
  • Clipping,
  • Surface rendering,
  • Simplificateur de maillages,
  • Générateur de vidéos (Movie maker),
  • Mode survol dans les visualisations 3D.

Nouveaux traitements et éléments d’interface

  • Simplification de l’interface avec le marquage des fonctions favorites,
  • Adaptive watershed,
  • Optimisation du calcul et de l’affichage des analyses,
  • Algorithmes DIC pour le contraste de phases (Differential Interference Contrast),
  • Algorithme de Paganing: Phase retrieval,
  • Algorithme de dilatation de Labels,

 

IPSDK EXPLORER 3.2.2.6 (décembre 2023)

  • Compatibilité avec les versions récentes de Python 3.8
  • Compatibilité avec les versions récentes de Python 3.9
  • Compatibilité avec l’ensemble des antivirus
  • Accélération de l’affichage des tableaux d’analyse
  • Optimisation du calcul des statistiques

 

IPSDK EXPLORER 3.2.2 (avril 2023)

  • Out-Of-Core: Gestion de très grandes images  (Tuto vidéo)
  • Assistant pour la création de modèles de Smart Segmentation à partir d’images pré-segmentées (Tuto vidéo)
  • Transformée de Hough 3D pour la détection de sphères
  • Mise à disposition de curseurs interactifs pour
    l’ajustement du Display Context

 

IPSDK EXPLORER 3.2 (novembre 2022)

 

  • Smart segmentation par super pixel/voxel  (Tuto vidéo)
  • Rehaussement adaptatif de contraste (Tuto vidéo)
  • Possibilité d’accélérer les algorithmes de bassins versants dans l’Explorer
  • Recherche des extrema dans un signal
  • Module d’inspection de batteries (Tuto vidéo)
  • Gestion des séquences temporelles
  • Visualisation des images 4D
  • Merge des mires de calibration dans les images
  • Gestion des licences flottantes (dongle)
  • Histogramme par zones labellisées
  • Nouveau type d’image en LABEL 8bits

 

IPSDK EXPLORER 3.1 (décembre 2021)

 

  • Smart segmentation: Module de machine learning pour la classification de pixels/voxels (Tuto vidéo)
  • Smart classification: Module de machine learning pour la classification d’objets segmentés (labels) (Tuto vidéo)
  • Batch processing pour l’utilisation de l’ensemble des traitements sur l’ensemble de images d’un répertoire
  • Prise en charge de jeux de données multi-canaux ou multi-énergies
  • Watershed adaptatif pour séparer des objets de taille non unique et de forme non circulaire
  • Nouvelles fonctionnalités pour le calcul de la Tortuosité simple et Tortuosité moyenne (Tuto vidéo)
  • Possibilité de créer des Macros de type Interface pour ajouter simplement des fonctionnalités,
  • Module de visualisation 3D des shapes,