Liste des fonctions d'Aphelion™ Developer

* = performance optimisée pour les PCs supportant l'architecture MMX

Arithmétique/Logique

Arithmétique

ImgAbs
retourne une image dont chaque pixel est la valeur absolue du pixel correspondant de l'image source
*ImgAdd
retourne une image dont chaque pixel est l'addition des pixels correspondants des images d'entrée
ImgBlend
retourne une image dont chaque pixel est la combinaison de type fusion alpha des pixels correspondants dans les images d'entrée. Le facteur de fusion étant défini ainsi : outIm = a x inIm1 + (1-a) x inIm2
ImgDivide
retourne une image dont chaque pixel est la division des pixels correspondants des images d'entrée
ImgInvert
retourne l'image opposée de l'image source
ImgMask
conserve toutes les valeurs des pixels sous le masque défini par l'utilisateur et met à zéro toutes les autres
ImgMatrixMultiply
multiplie une image par une matrice
*ImgMaximum
retourne une image dont chaque pixel est le maximum des pixels correspondants des images d'entrée
*ImgMinimum
retourne une image dont chaque pixel est le minimum des pixels correspondants des images d'entrée
*ImgMultiply
retourne une image dont chaque pixel est la division des pixels correspondants des images d'entrée
ImgRemainder
renvoie une image dont chaque pixel est le reste du pixel correspondant dans l'image d'entrée divisé par une constante entière
*ImgSubtract
retourne une image dont chaque pixel est la soustraction des pixels correspondants des images d'entrée
 
 

Logique bit à bit

ImgBitAnd
retourne une image dont chaque pixel est le Et logique bit à bit des pixels correspondants de 2 images
ImgBitDifference
calcule les différences bit-à-bit des pixels de 2 images
ImgBitNot
calcule le complément bit-à-bit des pixels de l'image d'entrée
ImgBitOr
retourne une image dont chaque pixel est le Ou logique bit à bit des pixels correspondants de 2 images
ImgBitXNor
retourne une image dont chaque pixel est le Non Ou Exclusif bit à bit des pixels correspondants de 2 images
ImgBitXOr
retourne une image dont chaque pixel est le Ou Exclusif bit à bit des pixels correspondants de 2 images
ImgLeftShift
opère le décalage à gauche des bits de chaque pixel de l'image. Si le type de donnée est non signé, cet opérateur utilise un décalage logique (overflow). Si le type de donnée est signé, il utilise un décalage arithmétique
ImgRightShift
opère le décalage à droite des bits de chaque pixel de l'image. Si le type de donnée est non signé, cet opérateur utilise un décalage logique (overflow). Si le type de donnée est signé, il utilise un décalage arithmétique
 
 

Logique

ImgAnd
retourne une image dont chaque pixel est le Et logique des pixels correspondants de 2 images
ImgLogicalDifference
retourne une image dont chaque pixel est la différence logique des pixels correspondants de 2 images
ImgNAnd
retourne une image dont chaque pixel est le Non Et logique des pixels correspondants de 2 images
ImgNOr
retourne une image dont chaque pixel est le Non Ou logique des pixels correspondants de 2 images
ImgNot
retourne une image dont chaque pixel est le Non logique du pixel correspondant dans l'image d'entrée
ImgOR
retourne une image dont chaque pixel est le Ou logique des pixels correspondants de 2 images
ImgXNOr
retourne une image dont chaque pixel est le Non Ou exclusif logique des pixels correspondants de 2 images
ImgXOr
retourne une image dont chaque pixel est le Ou exclusif logique des pixels correspondants de 2 images
 
 

Constante

ImgAddConstant
ajoute une valeur constante à tous les pixels de l'image
ImgMultiplyConstant
multiplie par une constante tous les pixels de l'image
ImgSubtractConstFloor
soustrait une valeur constante à tous les pixels de l'image
 
 

Filtrage

Convolution

*ImgConvolve
convolue l'image d'entrée par un noyau de taille quelconque défini par l'utilisateur
ImgSeparableConvolve
opère une convolution séparable sur l'image. Le premier noyau est orienté selon l'axe des x et le second selon l'axe des y
 
 

Passe-bas

ImgBlur
convolue l'image d'entrée par un noyau de lissage 5x5. l'application de ce filtre retourne une image paraissant floue
ImgBoxFilter
effectue sur l'image un filtrage dit "de boîte" par un noyau de taille définie par l'utilisateur
ImgGaussianFilter
effectue une convolution récursive de l'image par un noyau de type Gaussien
ImgLowPass3x3
effectue un filtrage passe-bas en convoluant l'image par un noyau 3x3. Ce noyau est le noyau LOW_PASS_3x3 décrit dans PIKS
ImgLowPass5x5
effectue un filtrage passe-bas en convoluant l'image par un noyau 5x5
ImgLowPass7x7
effectue un filtrage passe-bas en convoluant l'image par un noyau 7x7
 
 

Passe-haut

ImgHighPass3x3
effectue un filtrage passe-haut par un noyau 3x3. Le noyau de ce filtre est le noyau HIGH_PASS_2_3x3 décrit dans PIKS
ImgHighPass5x5
effectue un filtrage passe-haut par un noyau 5x5
ImgHighPass7x7
effectue un filtrage passe-haut par un noyau 7x7
ImgLaplacian
effectue la détection de contours par convolution de l'image par un noyau Laplacien de taille 3x3 (cf. PIKS LAPLACIAN_1 kernel)
ImgLaplacian3x3
effectue la détection de contours par convolution de l'image par un noyau Laplacien de taille 3x3 (cf. PIKS LAPLACIAN_2 kernel)
ImgLaplacian5x5
effectue la détection de contours par convolution de l'image par un noyau Laplacien de taille 5x5
ImgLaplacian7x7
effectue la détection de contours par convolution de l'image par un noyau Laplacien de taille 7x7
ImgLowStopFilter
effectue un filtrage rapide coupe-bas par soustraction de l'image source et de cette même image sur laquelle est appliqué un filtrage passe-bas. Le niveau de coupure définit la gamme de basses fréquences à supprimer
 
 

Amélioration

ImgMedian
effectue un filtrage médian sur un voisinage défini par l'utilisateur
ImgMedian3x3
effectue un filtrage médian sur un voisinage 3x3
ImgMedian5x5
effectue un filtrage médian sur un voisinage 5x5
ImgMode
effectue un filtrage modal sur un voisinage défini par l'utilisateur
ImgMode3x3
effectue un filtrage modal sur un voisinage 3x3
ImgNagaoFilter
effectue un lissage dans la direction de moindre variance afin de réhausser les contours. Cet opérateur est basé sur un algorithme proposé par Nagao et Matsuyama
ImgRankValueFilter
applique un filtre d'ordre défini par l'utilisateur à l'image source
ImgWallisFilter
amplifie les pixels par un facteur dépendant de l'écart-type des pixels du voisinage. Ce filtre est dérivé de l'opérateur wallis_statistical_differencing décrit dans PIKS
ImgWeymouthFilter
effectue le filtre de réhaussement proposé par Weymouth et Overton
 
 

Détection de contours

Laplacien

ImgLaplacian
effectue la détection de contours par convolution de l'image par un noyau Laplacien de taille 3x3 (cf. PIKS LAPLACIAN_1 kernel)
 
 

Morphologie

ImgExternalGradient
effectue une détection de contour en soustrayant l'image source à son dilaté
ImgInternalGradient
effectue une détection de contour par soustraction de l'image source et de son érodé
ImgMorphGradient
effectue une détection de contour par soustraction du dilaté de l'image source et de son érodé
 
 

Linéaire

ImgCannyDericheEdges
applique le gradient récursif développé par Deriche
ImgOneByTwoEdges
opère la détection des arêtes horizontales et verticales en appliquant des noyaux 1x2 et 2x1 prédéfinis
ImgPrewittEdges
extrait les pixels dont les amplitudes du gradient obtenues par les noyaux de Prewitt sont au moins égaux au seuil défini
ImgRobertsEdges
applique deux noyaux 2x2 proposés par Roberts ; l'un détecte les arêtes orientées selon la diagonale Nord-ouest/Sud-est et l'autre selon la diagonale Sud-ouest/Nord-est
ImgSobelEdges
extrait les pixels dont les amplitudes du gradient obtenues par les noyaux de Sobel sont au moins égaux au seuil défini
ImgZeroCrossEdges
extrait les pixels dont la dérivée seconde passe par zéro (cet opérateur est basé sur l'algorithme proposé par Marr et Hildreth)
 
 

Non linéaire

ImgRidgeValleyEdges
détecte les points de crêtes (ridge) ou de thalwegs (valley) de l'image
 
 

Utilitaires

ImgEdgesThin
opère un amincissement des contours par suppression des valeurs non maximales dans un voisinage local
 
 

Morphologie mathématique

Erosion/Dilatation

*ImgDilate
effectue la dilatation morphologique de l'image d'entrée en utilisant un élément structurant défini
*ImgErode
effectue l'érosion morphologique de l'image d'entrée en utilisant un élément structurant défini
 
 

Ouverture/Fermeture

*ImgClose
effectue la fermeture morphologique de l'image d'entrée en utilisant un élément structurant défini
*ImgOpen
effectue l'ouverture morphologique de l'image d'entrée en utilisant un élément structurant défini
 
 

Distance

ImgGraphDistance
calcule la fonction distance de l'image binaire d'entrée en utilisant un voisinage 4-connexe ou 8-connexe
ImgChamferDistance
calcule pour tous les pixels non nuls la distance en 4-connexité au plus proche pixel nul en utilisant un algorithme séquentiel rapide
ImgEuclideanDistance
calcule la distance euclidienne de tout pixel non nul au plus proche pixel nul
 
 

Caractéristiques

ImgExtendedRegionalMaxima
extrait les maxima régionaux filtrés (sur un critère de hauteur) de l'image d'entrée
ImgExtendedRegionalMinima
extrait les minima régionaux filtrés (sur un critère de profondeur) de l'image d'entrée
ImgLocalMaxima
extrait les maxima locaux de l'image d'entrée
ImgLocalMinima
extrait les minima locaux de l'image d'entrée
ImgRegionalMaxima
extrait les maxima régionaux de l'image d'entrée
ImgRegionalMinima
extrait les minima régionaux de l'image d'entrée
ImgUltimateErodedSet
extrait les érodés ultimes de l'image binaire d'entrée
 
 

Géodesie

ImgBorderKill
supprime les ensembles connexes de pixels non nuls intersectant le bord de l'image
ImgBorderKillAndHoleFill
applique à la fois ImgBorderKill et ImgHoleFill
ImgGeodesicDilate
effectue une dilatation géodésique de l'image d'entrée en utilisant un élément structurant défini
ImgGeodesicGraphDistance
calcule l'image des distances géodésiques, c'est-à-dire à l'intérieur d'un masque spécifié, de l'image binaire d'entrée
ImgHoleFill
remplit les trous des ensembles connexes de pixels non nuls de l'image binaire d'entrée
ImgReconstruct
effectue la reconstruction de l'image d'entrée sous une image de référence
 
 

Ligne de partage des eaux

ImgCatchmentBasins
calcule les bassins versants d'une image à niveaux de gris
ImgConstrainedCatchmentBasins
calcule les bassins versants de l'image d'entrée, dont les marqueurs sont imposés
ImgConstrainedWatershed
calcule la ligne de partage des eaux de l'image d'entrée dont les marqueurs des bassins versants sont imposés
ImgWatershed
calcule la ligne de partage des eaux d'une image à niveaux de gris
 
 

Ouvertures avancées

ImgAddReconsClose
ajoute une constante à l'image d'entrée et reconstruit l'image résultante sur celle-ci en effectuant des érosions géodésiques
ImgAreaClose
effectue la fermeture morphologique par un élément structurant de forme quelconque et de taille définie
ImgAreaOpen
effectue l'ouverture morphologique par un élément structurant de forme quelconque et de taille définie
ImgDilateReconsClose
dilate l'image d'entrée et reconstruit l'image résultante sur celle-ci en effectuant des érostions géodésiques
ImgErodeReconsOpen
érode l'image d'entrée et reconstruit l'image résultante sous celle-ci en effectuant des dilatations géodésiques
ImgInfimumClose
effectue l'intersection des fermetures de l'image d'entrée par des segments dans toutes les directions
ImgSubtractReconsOpen
soustrait une constante à l'image d'entrée et reconstruit l'image résultante sous celle-ci en effectuant des dilatations géodésiques
ImgSupremumOpen
effectue l'union des ouvertures de l'image d'entrée par des segments dans toutes les directions
 
 

Epaississement/Amincissement

ImgConstrainedThicken
applique un épaississement à l'image d'entrée dont les points sélectionnés par l'utilisateur ne peuvent être épaissis (points d'ancrage)
ImgConstrainedThin
applique un amincissement sur l'image d'entrée dont les points sélectionnés par l'utilisateur ne peuvent être amincis (points d'ancrage)
ImgHitOrMiss
applique à l'image d'entrée une transformation tout-ou-rien dont la configuration de voisinage est définie par l'utilisateur
ImgThicken
effectue un épaississement de l'image d'entrée par une configuration de voisinage définie par l'utilisateur
ImgThin
effectue un amincissement de l'image d'entrée par une configuration de voisinage définie par l'utilisateur
 
 

Squelettes

ImgConnectedSkeleton
calcule le squelette connexe minimal contenant les centres des boules maximales
ImgMinimalSkeleton
calcule le squelette connexe minimal contenant les érodés ultimes
ImgOpenSkeleton
calcule le squelette par ouverture
ImgThickenSkeleton
calcule l'anti-squelette par épaississement
ImgThinSkeleton
calcule le squelette par amincissement
 
 

Filtrage

ImgAlternateSequential
applique à l'image d'entrée un filtre alterné séquentiel dont l'élément structurant et sa taille maximale sont définis par l'utilisateur. Un filtre alterné séquentiel est une succession de fermeture et d'ouverture de taille croissante
ImgAutoMedian
applique le filtre auto-médian à l'image source
 
 

Contraste

ImgMorphContrast
effectue deux transformations morphologiques, l'une est extensive (typiquement la dilatation) et l'autre anti-extensive (typiquement l'érosion), et retourne dans l'image résultante pour chaque pixel la valeur la plus proche de la valeur du pixel correspondant de l'image d'entrée
 
 

Domaine fréquentiel

Fourier

ImgFFT
effectue la transformée de Fourier rapide de l'image d'entrée
ImgInverseFFT
effectue la transformée de Fourier inverse rapide de l'image d'entrée (de type Frequency)
ImgPeakMask
multiplie ou divise par une constante tous les pixels sous un masque défini interactivement
 
 

Filtres fréquentiels passe-bas

ImgLPButterworthFilter
calcule le filtre passe-bas de Butterworth associé à un masque défini par l'utilisateur
ImgLPExponentialFilter
calcule le filtre passe-bas de type exponentiel associé à un masque défini par l'utilisateur
ImgLPRectangularFilter
calcule le filtre passe-bas de type rectangulaire associé à un masque défini par l'utilisateur
ImgLPTrapezoidalFilter
calcule le filtre passe-bas de type trapézoïdal associé à un masque défini par l'utilisateur
 
 

Filtres fréquentiels passe-haut

ImgHPButterworthFilter
calcule le filtre passe-haut de Butterworth associé à un masque défini par l'utilisateur
ImgHPExponentialFilter
calcule le filtre passe-haut de type exponentiel associé à un masque défini par l'utilisateur
ImgHPRectangularFilter
calcule le filtre passe-haut de type rectangulaire associé à un masque défini par l'utilisateur
ImgHPTrapezoidalFilter
calcule le filtre passe-haut de type trapézoïdal associé à un masque défini par l'utilisateur
 
 

Transformations

Géométrie

ImgCenter
centre l'image en déplaçant deux à deux les quarts d'image opposés
ImgFlip
retourne l'image autour d'un axe donné
ImgRotate
effectue une rotation de l'image autour de son centre
ImgScale
applique un facteur d'échelle à chacun des axes Ox et Oy de l'image
ImgShear
effectue une transformation géométrique affine de type cisaillement de l'image
ImgTranslate
effectue une translation de l'image
ImgTranspose
transpose une image par rapport à l'axe central vertical, à l'axe central horizontal ou encore à l'axe des diagonales principales
ImgWarpControlPoint
corrige le gauchissement bi-dimensionnel de l'image source en utilisant la matrice calculée à partir des couples de points de contrôle définis par l'utilisateur sur l'image à déformer et l'image de référence
 
 

Utilitaires

ImgCartesianToPolar
transforme une image définie dans un espace de coordonnées cartésiennes en une image définie dans un espace de coordonnées polaires
ImgPolarToCartesian
transforme une image définie dans un espace de coordonnées polaires en une image définie dans un espace de coordonnées cartésiennes
 
 

Couleur

ImgColorToRGB
convertit une image couleur RVB en 3 images monochromes représentant les bandes Rouge, Verte et Bleue
ImgExcessRGB
convertit une image RVB en une image couleur dont les 3 bandes sont définies respectivement ainsi : 2xRouge-Vert-Bleu, 2xVert-Rouge-Bleu, 2xBleu-Rouge-Vert
ImgHSIToRGB
convertit une image Teinte/Saturation/Intensité en une image RVB
ImgNormalizedRGB
convertit l'image couleur RVB en l'image couleur dont les 3 bandes sont respectivement définies par : R/(R+V+B), V/(R+V+B), B/(R+V+B)
ImgRGBToColor
convertit 3 images monochromes représentant les bandes Rouge, Verte et Bleue en une image couleur RVB
ImgRGBToHSI
convertit une image RVB en une image Teinte/Saturation/Intensité
ImgRGBToYIQ
convertit une image RVB en une image YIQ
ImgYIQToRGB
convertit une image YIQ en une image RVB
 
 

Fonctions utilitaires

Génération

ImgCreateGaussianNoise
génère une image de bruit Gaussien
ImgCreateGaussianSurface
génère une image dont les intensités correspondent à une fonction Gaussienne
ImgCreateRamp
génère une image de fonction Rampe selon les axes Ox et Oy
ImgCreateUniformNoise
génère une image de bruit uniforme
ImgFree
efface l'image courante de la mémoire vive
ImgFreeAll
efface toutes les images de la mémoire vive
 
 

Utilitaires

ImgClear
met à zéro tous les pixels de l'image
ImgClip
met à une valeur seuil tous les pixels dont la valeur est supérieure à celle-ci si l'utilisateur a sélectionné Clip haut, ou bien met à une valeur seuil tous les pixels dont la valeur est inférieure à celle-ci si Clip bas est sélectionné
ImgCopy
copie l'image source dans une image destination
ImgCut
copie une zone de l'image source définie par Région d'intérêt dans une image destination de taille minimale pour contenir cette zone
ImgFill
met tous les pixels de l'image à une valeur constante
ImgFrame
met tous les pixels de l'image à zéro à l'exception des pixels connexes aux bords de l'image dont la valeur est 1
ImgJoinBands
assemble plusieurs images monochromes pour former une image multibande (exemple : 3 images monochromes donnant une image RVB)
ImgPaste
colle les zones de deux images sources dans une image destination
ImgSetName
affecte un nom spécifié par l'utilisateur à l'image source
ImgSetType
convertit l'image source en une image de type spécifié par l'utilisateur
ImgSplitBands
extrait d'une image multibande l'une de ses bandes et la copie dans l'image destination (exemple : l'image du canal Rouge d'une image couleur RVB est obtenue en sélectionnant la bande 0)
ImgSubCopy
copie la zone de l'image source définie par la première région d'intérêt dans l'image destination dont la taille est minimale pour contenir cette zone
 
 

LUT/Point à point

ImgEqualizeHistogram
calcule la table de conversion des intensités pour égaliser l'histogramme de l'image source et transforme l'intensité de chaque pixel en fonction de cette table. Le résultat est copié dans l'image destination
ImgLinearScale
recalcule la valeur de chaque pixel de l'image source à l'aide d'une fonction de type rampe et copie le résultat dans l'image destination (cette fonction permet d'étaler ou de compresser la gamme des intensités).
ImgMapThroughLUT
recalcule la valeur de chaque pixel de l'image source à l'aide d'une fonction définie par l'utilisateur et copie le résultat dans l'image destination (cette fonction permet d'étaler ou de compresser la gamme des intensités)
 
 

Entrée/Sortie

ImgImport
charge une image dont le format de fichier est non supporté par Aphelion. Le fichier à charger devra être un fichier binaire dont les données sont non compressées
ImgRead
charge une image dont le format de fichier est supporté par Aphelion, c'est-à-dire TIFF, BitMap, JPEG ou KBVision
ImgReadSlices
charge une série d'images (TIFF, BitMap, JPEG ou KBVision) pour créer une image 3D - uniquement disponible dans le module 3D Image Processing
ImgWrite
enregistre l'image source en format TIFF, BitMap ou JPEG
ImgWriteSlices
enregistre l'image source 3D sous forme de série de fichiers images (TIFF, BitMap, JPEG ou KBVision) - uniquement disponible dans le module 3D Image Processing
 
 

Segmentation

Seuillage

ImgAdaptivePercentileThreshold
convertit l'image d'entrée en image binaire par seuillage des niveaux de gris de telle manière que le taux de pixels binarisés appartienne à l'intervalle défini
ImgColorThreshold
effectue la binarisation d'une image couleur par seuillage des canaux RVB ou TSI
ImgEntropyThreshold
définit le seuil optimal comme le niveau de gris maximisant l'entropie de l'histogramme et applique ce seuil à la conversion de l'image source en image binaire
ImgExtremaThreshold
convertit l'image source en image binaire en mettant à 1 tous les pixels de l'image source répondant au critère suivant : abs(valeur_pixel - moyenne) > abs(SD Threshold x écart-type_local). Tous les autres pixels sont mis à 0
ImgHysteresisThreshold
effectue un seuillage par hystérésis (deux seuils pour l'image des germes et deux seuils pour l'image à reconstruire) et convertit l'image source en image binaire
ImgMultiModalThreshold
applique un opérateur de segmentation de région basé sur la segmentation à partir d'histogrammes locaux
ImgMaximumContrastThreshold
calcule un ensemble de seuils (le nombre de seuils est défini par l'opérateur) donnant un contraste maximal et applique ces seuils à la conversion de l'image source en image étiquetée (ce seuillage automatique n'utilise pas l'histogramme des niveaux de gris, mais l'information de voisinage, ce qui implique qu'il est moins sensible au défaut d'éclairage)
ImgMomentThreshold
définit le seuil optimal comme le niveau de gris maximisant les moments de l'histogramme et applique ce seuil à la conversion de l'image source en image binaire
*ImgThreshold
convertit l'image d'entrée en image binaire par seuillage interactif sur les niveaux de gris
 
 

Morphologie

*ImgBlackTophat
extrait les parties sombres de l'image dont la taille est inférieure à la taille de l'élément structurant spécifié par l'utilisateur
ImgClustersSplitConvex
effectue la segmentation d'amas selon un critère de convexité
ImgRegionGrow
effectue une croissance de régions sous contrainte de différence de niveaux de gris (intensité) définie par l'opérateur et crée l'image étiquetée correspondante
ImgSeededRegionGrow
effectue une croissance de régions en prenant comme germes des régions les marqueurs définis
*ImgWhiteTophat
extrait les parties claires de l'image dont la taille est inférieure à la taille de l'élément structurant spécifié par l'utilisateur
 
 

Rectangles

ImgLabelsToRectangles
calcule les rectangles circonscrits aux régions étiquetées de l'image source et crée l'ensemble d'objets correspondant
 
 

Polygones

PolygonArea
calcule la surface des polygones d'un ensemble d'objets de type Polygons
RegionConvexHullPolygons
calcule les enveloppes convexes des objets de l'ensemble d'objets d'entrée et insère les attributs associés dans celui-ci
RegionToBoundaryPolygon
convertit les frontières des régions en frontières de polygones
 
 

Droites

ImgEdgesToLines
convertit les parties de contours dont le gradient est comparable sous forme de segments de droite (ensemble d'objets)
ImgGradientLines
construit des segments de droite (ensemble d'objets) à partir des régions dont la direction du gradient est similaire, par un algorithme comparable à celui de Burns
ImgHoughLines
construit des segments de droite (ensemble d'objets) à partir d'une image source obtenue par transformée de Hough
 
 

Régions

ImgEntropyThresholdObj
définit le seuil optimal comme le niveau de gris maximisant l'entropie de l'histogramme et applique ce seuil à la conversion de l'image source en ensemble d'objets de type Région
ImgHysteresisThresholdObj
effectue un seuillage par hystérésis (deux seuils pour l'image des germes et deux seuils pour l'image à reconstruire) et convertit l'image source en ensemble d'objets de type Région
ImgMultiModalThresholdObj
applique le seuillage ImgMultiModalThreshold à l'image d'entrée et convertit l'image résultante en ensemble d'objets
ImgMaximumContrastThresholdObj
calcule un ensemble de seuils (le nombre de seuils est défini par l'opérateur) donnant un contraste maximal et applique ces seuils à la conversion de l'image source en ensemble d'objets de type Région
ImgMomentThresholdObj
définit le seuil optimal comme le niveau de gris maximisant les moments de l'histogramme et applique ce seuil à la conversion de l'image source en ensemble d'objets de type Région
ImgRegionGrowObj
effectue une croissance de régions et convertit l'image étiquette (Label) en ensemble d'objets
ImgThresholdObj
convertit l'image d'entrée en ensemble d'objets de type Région par seuillage interactif
ImgZeroCrossObj
effectue une segmentation de l'image d'entrée basée sur le passage par zéro de sa dérivée seconde calculée à l'aide de masques gaussiens dont les tailles sont définies par l'opérateur, et crée l'ensemble d'objets des parties segmentées de l'image. Cet opérateur permet de segmenter les contours de régions de l'image ; l'augmentation de la largeur des masques gaussiens accroît la robustesse de la détection (diminution de l'influence du bruit)
 
 

Contours actifs

ImgSnake
applique l'algorithme des snakes ou contours actifs (ajustement d'un serpent venant se coller sur les contours) à partir d'un marqueur de type Chain
 
 

Chaînes

ImgLabelsToChains
convertit une image étiquette (Label) en chaînes
 
 

Utilitaires

ImgClustersObj
convertit les ensembles 4-connexes ou 8-connexes de l'image binaire d'entrée en objets de type Région
ImgClustersToLabels
convertit l'image binaire d'entrée en une image où chaque ensemble 4-connexe ou 8-connexe (selon le choix de l'opérateur) est étiqueté
ImgEdgesToEdgels
convertit les pixels correspondant à des contours de l'image d'entrée obtenue par l'un des opérateurs de détection de contours en objets de type Contour (Edgel)
ImgLabelsObj
convertit les ensembles 4-connexes ou 8-connexes étiquetés en objets de type Région
 
 

Analyse

Globale

ImgArea
calcule l'aire totale des régions (pixels à 1) de l'image binaire source
ImgBandHistogram
retourne un ou plusieurs tableaux contenant les valeurs de l'histogrammes des intensités de chaque canal de l'image d'entrée (qui peut être multi-canaux comme une image couleur, par exemple)
ImgBoundingBox
retourne les coordonnées de la boîte circonscrite à l'ensemble des régions (pixels à 1) de l'image binaire d'entrée
ImgCompare
compare deux images et retourne le nombre de pixels égaux
ImgConcavity
calcule le nombre de concavités de l'image binaire d'entrée
ImgConvexity
calcule le nombre de convexités de l'image binaire d'entrée
ImgCountObjects
calcule le nombre de régions 4-connexes de l'image
ImgEuler
calcule le nombre d'Euler-Poincaré (nombre de connexités) de l'image binaire d'entrée
ImgFirstPoint
retourne la position du premier point non nul de l'image binaire d'entrée
ImgHistogram
retourne un tableau contenant les valeurs de l'histogramme des niveaux de gris de l'image d'entrée
ImgIntercepts
calcule les intercepts de l'image binaire d'entrée dans toutes les directions de la trame
ImgMoments
calcule les moments d'ordres 0, 1, 2 et 3 de l'histogramme des niveaux de gris l'image d'entrée
ImgPerimeter
calcule le périmètre des régions (pixels à 1) de l'image binaire d'entrée
ImgRange
retourne les valeurs des extrema de l'image
ImgVolume
calcule la somme des intensités (niveaux de gris) de tous les pixels de l'image
 
 

Analyse d'images

ImgHoughTransform
effectue la transformée de Hough de l'image d'entrée
ImgLawsTexture
traite l'image par 9 opérateurs de texture ; l'image de sortie est une image composée de 9 canaux
ImgLocalVariance
retourne pour chacun des pixels de l'image d'entrée la valeur de la variance locale (la largeur du voisinage sur lequel la variance est calculée est définie par l'opérateur)
ImgMaskedMean
calcule la moyenne, en un pixel donné, des pixels appartenant à l'élément structurant centré sur celui-ci, pour tous les pixels inclus dans le masque sélectionné
ImgMaskedStandardDeviation
calcule l'écart-type, en un pixel donné, des pixels appartenant à l'élément structurant centré sur celui-ci, pour tous les pixels inclus dans le masque sélectionné
 
 

Objets

ChainAttributes
calcule les mesures associées aux objets de type Chains
ChainWidth
calcule les statistiques de largeur des chaînes et ajoute ces mesures à l'ensemble d'objets de type Chains
LineAttributes
calcule les mesures des objets de type Segment de droite
ObjAttributeRatio
calcule le rapport entre deux attributs (mesures) pour chaque objet d'un ensemble d'objets et crée un nouvel attribut contenant le résultat
ObjComputeMeasurements
calcule toutes les mesures de chaque objet d'un ensemble d'objets. Les mesures calculées dépendent du type d'objet
ObjComputeRuleScore
calcule le résultat d'une loi, définie dans l'outil de classification Fuzzy Logic, appliquée à un ensemble d'objets
ObjHaralickTexture
calcule de paramètres de texture définis par Haralick (Energy, Entropy, Contrast, Inverse Difference Moment, Correlation) de chaque objet
ObjHistogram
calcule l'histogramme des valeurs d'un attribut d'un ensemble d'objets
ObjIntercepts
calcule les intercepts de chaque région d'un ensemble d'objets 3D - uniquement disponible dans le module 3D Image Processing
ObjLoadRuleSet
charge l'ensemble des lois définies dans l'outil de classification Fuzzy Logic
ObjMoments
calcule les extrema, la moyenne et l'écart-type des valeurs d'un attribut d'un ensemble d'objets
ObjShape
calcule les attributs de forme de chaque région d'un ensemble d'objets 3D (opérateur équivalent à RegionShape, dédié aux ensembles d'objets 2D) - uniquement disponible dans le module 3D Image Processing
ObjSpatialAttributeStatistics
calcule le minimum, le maximum, la moyenne et l'écart-type des pixels appartenant à la zone spatiale (spatial attribute) spécifiée de chaque objet
RegionFeret
calcule les diamètres de Ferets (projections dans N directions avec N étant défini par la valeur Angles) de chaque région d'un ensemble d'objets
RegionShape
calcule les attributs de forme de chaque région d'un ensemble d'objets, tels que la hauteur, la largeur, le périmètre, l'élongation, la circularité
RegionStatistics
calcule le minimum, le maximum, la moyenne et l'écart-type des valeurs d'intensité des pixels incrits dans chaque région d'un ensemble d'objets
 
 

Interactive

ImgDistance
calcule la distance entre 2 points définie interactivement
ImgProfile
génère le profil des intensités des pixels sous la droite tracée interactivement
ImgTrace
retourne les valeurs d'intensité sous les points tracée interactivement
ImgWarpControlPoint
effectue une déformation géométrique pour corriger le gauchissement. Cette déformation utilise des couples de points de contrôle spécifiés interactivement à la fois sur l'image à déformer et sur l'image de référence
 
 

Corrélation

ImgAutoCorrelate
calcule la corrélation d'un image source par elle-même
ImgCrossCorrelate
calcule la corrélation croisée de deux images (complexes) en utilisant la transformée de Fourier rapide
ImgCorrelateWithTemplate
calcule la corrélation d'une image d'entrée par un gabarit (sous forme de noyau de convolution)
ImgCooccurence
calcule la matrice de cooccurence
ImgFromTemplate
convertit un gabarit (sous forme de noyau de convolution) en image
ImgToTemplate
convertit une image gabarit (sous forme de noyau de convolution) en image
 
 

Traitement d'objets

Géométrie

ObjRotate
effectue une rotation de l'ensemble d'objets autour de son centre
ObjScale
applique un facteur d'échelle à l'ensemble d'objets
ObjShear
applique une déformation linéraire à l'ensemble d'objets
ObjTranslate
effectue une translation de l'ensemble d'objets
 
 

Région

RegionClose
applique une fermeture morphologique aux régions de l'ensemble d'objets et y ajoute les attributs générés
RegionDilate
applique une dilatation morphologique aux régions de l'ensemble d'objets et y ajoute les attributs générés
RegionErode
applique une érosion morphologique aux régions de l'ensemble d'objets et y ajoute les attributs générés
RegionHoleFill
bouche les trous des aux régions de l'ensemble d'objets et y ajoute les attributs générés
RegionOpen
applique une ouverture morphologique aux régions de l'ensemble d'objets et y ajoute les attributs générés
 
 

Droites

RegionLineFit
ajuste des segments de droite à chaque région de l'ensemble d'objets d'entrée
 
 

Chaînes

ChainLineFit
ajuste un segment de droite à chaque chaîne de l'ensemble d'objets source
 
 

Regroupement

ChainNeighbors
calcule l'ensemble des chaînes voisines, de par leurs extrémités dans un rayon défini
EdgelNeighbors
calcule un nouvel attribut de voisinage des objets de type Contour de l'ensemble d'objets d'entrée. Les objets sont considérés comme voisins selon un critère tel que leur distance dans un cône de propagation dont l'angle est défini par l'utilisateur doit être inférieure à une valeur définie par l'utilisateur
EdgelsToChains
regroupe les objets de contours en chaînes par une procédure itérative de propagation
ObjOverlap
calcule un nouvel attribut indiquant le nombre d'objets du second ensemble d'objets 3D recouvert par chaque objet du premier ensemble d'objets 3D : uniquement disponible dans le module 3D Image Processing
RegionOverlap
calcule un nouvel attribut indiquant le nombre d'objets du second ensemble d'objets recouvert par chaque objet du premier ensemble d'objets
RegionSplitConvex
divise les régions d'un ensemble d'objets en sous-régions selon un critère de convexité
RegionSplitStatistical
divise les régions d'un ensemble d'objets en sous-régions en fonction de l'analyse de l'histogramme des intensités des pixels
RegionSplitUnconnected
divise les régions d'un ensemble d'objets en sous-régions selon un critère de connexité (par exemple, un ensemble d'objets ayant subi une érosion peut contenir des régions à plusieurs parties connexes ; cet opérateur permet de convertir ces régions en plusieurs régions distinctes)
 
 

Utilitaires d'Objets

Entrée/Sortie objet

ObjExport
enregistre les données de type scalaire (les données spatiales ne sont pas exportées par cet opérateur) d'un ensemble d'objets d'entrée dans un fichier tabulé. Ce fichier peut être chargé dans un tableur tel que Microsoft Excel
ObjFree
supprime l'ensemble d'objets sélectionné
ObjFreeAll
supprime tous les ensembles d'objets chargés
ObjImport
charge un fichier tabulé tel qu'il puisse être ouvert dans le tableur d'Aphelion
ObjRead
charge un ensemble d'objets
ObjWrite
enregistre un ensemble d'objets
RegionToBoundaryPolygon
convertit les contours polygonaux des régions en vecteurs
 
 

Couper/Copier/Coller

ObjAppend
effectue la concaténation de deux ensemble d'objets et enregistre le résultat dans un nouvel ensemble d'objets
ObjCopy
copie un ensemble d'objets dans un ensemble d'objets destination
ObjDeleteAttribute
supprime un attribut sélectionné par l'utilisateur d'un ensemble d'objets
ObjFilter
filtre les objets d'un ensemble d'entrée en fonction des valeurs d'un attribut que l'utilsateur a sélectionné (seuils haut et bas définissant l'intervalle accepté)
ObjFree
supprime un ensemble d'objets
ObjMerge
fusionne deux ensemble d'objets et enregistre le résultat dans un nouvel ensemble d'objets
 
 

Graphiques

ObjDraw
dessine un ensemble d'objets dans l'un des plans graphiques de l'image sélectionnée
ObjDrawMapped
dessine un ensemble d'objets dans l'un des plans graphiques de l'image ; les valeurs d'intensité du graphique en superposition à chaque objet est fonction de la valeur d'un attribut de l'objet de type scalaire que l'utilisateur a sélectionné
ObjRemoveOverlay
supprime le plan graphique de l'image correspondant à l'attribut spatial sélectionné d'un ensemble d'objets
 
 

Conversion

ObjSpatialAttributeToImage
écrit dans l'image la valeur de l'attribut spatial sélectionné pour chaque région d'un ensemble d'objets
ObjSpatialAttributeToRegions
convertit l'ensemble d'objets sélectionné (de type Contour, Segment de droite, Rectangle, etc) en ensemble d'objets de type Region
 
 

Acquisition d'images

Continu/Simple

FGStopGrab
Fige le mouvement de l'acquisition continue lancée par la fonction ImgGrab
FGStartGrab
ouvre la fenêtre d'acquisition continue d'images
ImgGetFGFrame
récupère une image de la fenêtre d'acquisition continue d'images lancée par la fonction FGStartGrab
FGFreeze
gèle une acquisition initalisée par la commande ImgGrab
ImgGrab
acquisition continue (type vidéo) avec affichage de l'image et capture après arrêt sur image (ImgFreeze)
ImgSnap
capture intantanément l'image acquise
 
 

Recognition Toolkit

Utilitaires

AutoCode
code les valeurs d'attributs d'un ensemble d'objets sous forme discrète
Encode
code les attributs d'un ensemble d'objets
Normal
normalise les caractéristiques (moyennes centrées et variances à 1). Cet opérateur peut être utilisé en pré-traitement avant l'évaluation, le regroupement ou la classification
Centroid
calcule les centroïdes des classes. Pratique pour l'analyse des données et l'apprentissage en vue de la classification
MeanAsgn
associe les objets au centroïde de classe le plus proche. Peut être utilisé en conjonction avec la fonction Centroid, pour l'évaluation et la classification
 
 

Extraction

Corners
recherche les coins satisfaisant aux règles de tolérance imposées par l'utilisateur
Parallels
recherche les paires de lignes satisfaisant aux règles de tolérance sur la distance et l'angle inter-lignes définies par l'utilisateur
Boxes
crée les boîtes par relation entre les coins opposés et adjacents
MergeLines
fusionne les segments de droite (Lines). Il peut fusionner des segments colinéaires ou quasiment parallèles
MergeBoxes
fusionne des boîtes créées par la fonction Boxes. Ce dernier peut créer de nombreuses boîtes avec recouvrement
 
 

Evaluation

CorrEval
évalue l'utilité d'attribut d'un ensemble d'objets par corrélation et supprime les attributs redondants pour la classification
InfoEval
détermine l'attribut d'un ensemble d'objets le plus discrimant pour classer les objets
PairEval
utilisé pour l'évaluation du contenu d'information en vue de la reconnaissance d'objets comparables
LinkEval
recherche la structure d'arbre qui maximise l'information discriminante de second ordre
MRegres
effectue une régression linéaire multiple. Il peut être utilisé pour l'évaluation de caractéristiques et l'analyse de redondance
 
 

Apprentissage

PFSClust
recherche les classes naturelles selon la méthode Pseudo F Statistic
MinD_Trn
génère les centres de classe et les pondérations requis par le classifieur MinD_Cls
KNN_Trn
génère le fichier prototype requis par le classifieur KNN_Cls
Bayes_Trn
assimile les données et génère les centres de classes, la covariance et les pondérations requis par le classifieur Bayes_Trn
DIT_Trn
génère l'arbre des informations discriminantes optimal et les probabilités requis par le classifieur DIT_Cls
 
 

Classification

MinD_Cls
classe les données selon un critère de distance minimale au centre de classe
KNN_Cls
classe les données selon la règle des K plus proches voisins (particulièrement adaptée aux distributions complexes)
Bayes_Cls
classe les données selon la loi normale multi-variable de Bayes
DIT_Cls
classe les données aussi bien discrètes que codées ou symboliques à partir de l'arbre des informations discriminantes
 
 

* = performance optimisée pour les PCs supportant l'architecture MMX