Analyse et Traitement d’images

Disponible en Python et en C++, IPSDK propose une gamme complète de fonctions de traitement d’images pour exploiter vos jeux de données.

Les fonctions optimisées de IPSDK permettent d’accélérer considérablement les performances de vos applications.

SDK de Traitement d'images / IPSDK

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,
  • 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, …
  • Mesure statistique globale : Entropie, variance, tortuosité, inertie, …
  • Filtrage morphologique,
  • Carte des distances exactes, étiquetage,
  • Séparation (bassin versant),
  • 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, …
  • 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

Interface Graphique / 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

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).

Redistribution d'Application / OEM

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.