Lista de Funciones Aphelion™

* = eficiencia optimizada para los PCs que soportan la tecnología Intel MMX

Aritmética/Lógica

Aritmética

ImgAbs
retorna una imagen en la cual cada píxel es el valor absoluto del píxel correspondiente de la imagen original.
*ImgAdd
retorna una imagen en la cual cada píxel es la adición de los píxeles correspondientes de las imágenes de entrada.
ImgBlend
retorna una imagen en la cual cada píxel es la combinación de tipo alfa de los píxeles correspondientes en las imágenes de entrada. El factor de fusion esta definido de esta amanera: outIm = a x inIm1 + (1-a) x inIm2.
ImgDivide
retorna una imagen en la cual cada píxel es la división de los píxeles correspondientes de las imágenes de entrada.
ImgInvert
retorna la imagen inversa de la imagen original.
ImgMask
conserva todos los valores de los píxeles bajo la mascara definida por el usuario y pone a cero todos los otros valores.
ImgMatrixMultiply
multiplica una imagen por una matriz.
*ImgMaximum
retorna una imagen en la cual cada píxel es el máximo de los píxeles correspondientes de las imágenes de entrada.
*ImgMinimum
retorna una imagen en la cual cada píxel es el mínimo de los píxeles correspondientes de las imágenes de entrada.
*ImgMultiply
retorna una imagen en la cual cada píxel es la multiplicación de los píxeles correspondientes de las imágenes de entrada.
ImgRemainder
retorna una imagen en la cual cada píxel es el resto del píxel correspondiente de la división de la imagen de entrada por una constante entera.
*ImgSubtract
retorna una imagen en la cual cada píxel es la sustracción de los píxeles correspondientes de las imágenes de entrada.

Lógica bit a bit

ImgBitAnd
retorna una imagen en la cual cada píxel es el "Y" (AND) lógico bit a bit de los píxeles correspondientes de 2 imágenes.
ImgBitDifference
calcula la diferencia lógica bit a bit de los píxeles de 2 imágenes.
ImgBitNot
calcula el complemento bit a bit de los píxeles de la imágen de entrada
ImgBitOr
retorna una imagen en la cual cada píxel es el "O" (OR) lógico bit a bit de los píxeles correspondientes de 2 imágenes.
ImgBitXNor
retorna una imagen en la cual cada píxel es el XNOR lógico bit a bit de los píxeles correspondientes de 2 imágenes.
ImgBitXOr
retorna una imagen en la cual cada píxel es el "OR Exclusivo" (XOR) bit a bit de los píxeles correspondientes de 2 imágenes.
ImgLeftShift
ejecuta un corrimiento a la izquierda de los bits de cada píxel de la imágen de entrada. Si el tipo de dato es sin signo, este operador utiliza un corrimiento lógico (overflow). Si el tipo de dato es con signo, el utiliza un corrimiento aritmético.
ImgRightShift
ejecuta un corrimiento a la derecha de los bits de cada píxel de la imágen de entrada. Si el tipo de dato es sin signo, este operador utiliza un corrimiento lógico (overflow). Si el tipo de dato es con signo, el utiliza un corrimiento aritmético.

Lógica

ImgAnd
retorna una imagen en la cual cada píxel es el "Y" (AND) lógico de los píxeles correspondientes de 2 imágenes.
ImgLogicalDifference
retorna una imagen en la cual cada píxel es la diferencia lógica de los píxeles correspondientes de 2 imágenes.
ImgNAnd
retorna una imagen en la cual cada píxel es el "NAND" lógico de los píxeles correspondientes de 2 imágenes.
ImgNOr
retorna una imagen en la cual cada píxel es el "NOR" lógico de los píxeles correspondientes de 2 imágenes.
ImgNot
retorna una imagen en la cual cada píxel es la "Negación" (NOT) lógica del píxel correspondiente en la imagen de entrada.
ImgOR
retorna una imagen en la cual cada píxel es el "OR" lógico de los píxeles correspondientes de 2 imágenes.
ImgXNOr
retorna una imagen en la cual cada píxel es el "XNOR" lógico de los píxeles correspondientes de 2 imágenes.
ImgXOr
retorna una imagen en la cual cada píxel es el "OR Exclusivo" (XOR) de los píxeles correspondientes de 2 imágenes.

Constantes

ImgAddConstant
adiciona un valor constante a todos los píxeles de la imagen de entrada.
ImgMultiplyConstant
multiplica cada píxel de la imagen de entrada por una constante.
ImgSubtractConstFloor
sustrae un valor constante a todos los píxeles de la imagen de entrada.

Filtrado

Convolución

*ImgConvolve
convoluciona una imagen usando un "kernel" definido por el usuario de tamaño NxN.
ImgSeparableConvolve
ejecuta una convolución separable sobre una imagen. El primer "kernel" esta orientado en la dirección X y el segundo en la dirección Y.

Pasa-bajas

ImgBlur
convoluciona una imagen usando un "kernel" alisador de tamaño 5x5. La aplicación de este filtro retorna una imagen un poco borrosa.
ImgBoxFilter
efectúa sobre la imagen un filtrado de tipo "caja" (box) usando un "kernel" de tamaño arbitrario.
ImgGaussianFilter
efectúa una convolución recursiva sobre una imagen usando un "kernel" de tipo Gaussiano.
ImgLowPass3x3
efectúa un filtrado pasa-bajas convolucionando la imagen con un "kernel" de tamaño 3x3. Este corresponde al "kernel" LOW_PASS_3x3 descrito en PIKS.
ImgLowPass5x5
efectúa un filtrado pasa-bajas convolucionando la imagen con un "kernel" de tamaño 5x5.
ImgLowPass7x7
efectúa un filtrado pasa-bajas convolucionando la imagen con un "kernel" de tamaño 7x7.

Pasa-altas

ImgHighPass3x3
efectúa un filtrado pasa-altas usando un "kernel" de tamaño 3x3. Este corresponde al "kernel" HIGH_PASS_3x3 descrito en PIKS.
ImgHighPass5x5
efectúa un filtrado pasa-altas usando un "kernel" de tamaño 5x5.
ImgHighPass7x7
efectúa un filtrado pasa-altas usando un "kernel" de tamaño 7x7.
ImgLaplacian
efectúa una detección de contornos por convolución de la imagen con un "kernel" Laplaciano de tamaño 3x3 (cf. PIKS LAPLACIAN_1 kernel).
ImgLaplacian3x3
efectúa una detección de contornos por convolución de la imagen con un "kernel" Laplaciano de tamaño 3x3 (cf. PIKS LAPLACIAN_2 kernel).
ImgLaplacian5x5
efectúa una detección de contornos por convolución de la imagen con un "kernel" Laplaciano de tamaño 5x5.
ImgLaplacian7x7
efectúa una detección de contornos por convolución de la imagen con un "kernel" Laplaciano de tamaño 7x7.
ImgLowStopFilter
efectúa un filtrado "fast-low-stop" por sustracción a la imagen original de la misma imagen sobre la cual se ha aplicado un filtrado "fast-low-pass". El nivel de corte define la gama de bajas frecuencias a suprimir.

Mejoramiento

ImgMedian
efectúa un filtrado mediana usando una vecindad (ventana NxN) definida por el usuario.
ImgMedian3x3
efectúa un filtrado mediana usando ventana 3x3.
ImgMedian5x5
efectúa un filtrado mediana usando ventana 5x5.
ImgMode
efectúa un filtrado modal usando una vecindad definida por el usuario.
ImgMode3x3
efectúa un filtrado modal usando ventana 3x3.
ImgNagaoFilter
efectúa un mejoramiento de la imagen gracias al alisamiento en la dirección de menor varianza con el fin de realzar los contornos. Este operador esta basado en el algoritmo propuesto por Nagao & Matsuyama.
ImgRankValueFilter
aplica a la imagen un filtro de orden definido por el usuario.
ImgWallisFilter
amplifica el valor de los píxeles por un factor que depende de la desviación estándar de los píxeles de la vecindad. Este filtro es derivado del operador "wallis_statistical_differencing" descrito en PIKS.
ImgWeymouthFilter
efectúa un mejoramiento de la imagen aplicando el filtro de realce propuesto por Weymouth & Overton.

Detección de bordes

Laplaciano

ImgLaplacian
efectúa una detección de contornos por convolución de la imagen con un "kernel" Laplaciano de tamaño 3x3 (cf. PIKS LAPLACIAN_1 kernel).

Morfología

ImgExternalGradient
efectúa una deteccón de contornos sustrayendo la imagen original a su imagen dilatada.
ImgInternalGradient
efectúa una deteccón de contornos por sustracción a la imagen original del resultado del operador erosión aplicado a dicha imagen.
ImgMorphGradient
efectúa una deteccón de contornos por sustracción de los resultados de los operadores morfológicos dilatación y erosión aplicados a la imagen original.

Lineal

ImgCannyDericheEdges
aplica le gradiente recursivo desarrollado por Deriche.
ImgOneByTwoEdges
efectúa una detección simple de contornos horizontales y verticales aplicando "kernels" predefinidos de tamaño 1x2 y 2x1.
ImgPrewittEdges
genera bordes en cada píxel donde la magnitud del gradiente (obtenido con el "kernel" de Prewitt) es al menos igual a un umbral dado.
ImgRobertsEdges
aplica dos "kernels" de tamaño 2x2 propuestos por Roberts; uno detecta los bordes orientados en la diagonal Norte-Oeste/Sur-Este y el otro los orientados en la diagonal Sur-Oeste/Norte-Este.
ImgSobelEdges
genera bordes en cada píxel donde la magnitud del gradiente (obtenido con el "kernel" de Sobel) es al menos igual a un umbral dado.
ImgZeroCrossEdges
genera una imagen de bordes basado en los cruces por cero de la derivada segunda (no-direccional) de los valores de intensidad de la imagen. Este operador esta basado en el algoritmo propuesto por Marr & Hildreth.

No-Lineal

ImgRidgeValleyEdges
detecta los contornos de crestas (ridge) y valles (valley) de una imagen.

Misceláneas

ImgEdgesThin
efectúa un adelgazamiento de contornos por supresión de los valores no máximos en una vecindad local.

Morfología Matemática

Erosión/Dilatación

*ImgDilate
efectúa la dilatación morfológica de una imagen usando un elemento estructurante dado.
*ImgErode
efectúa la erosión morfológica de una imagen usando un elemento estructurante dado.

Aperturas/Cierres

*ImgClose
efectúa el cierre morfológico de una imagen usando un elemento estructurante dado.
*ImgOpen
efectúa la apertura morfológica de una imagen usando un elemento estructurante dado.

Distancia

ImgGraphDistance
calcula la función distancia de una imagen binaria usando una vecindad con conectividad 4 u 8 (malla cuadrada). En términos generales, la función distancia esta dada por la distancia de cada píxel no nulo al píxel nulo mas cercano.
ImgChamferDistance
calcula para todos los píxeles no nulos la distancia en conectividad-4 al píxel nulo mas cercano usando un algoritmo secuencial rápido.
ImgEuclideanDistance
calcula la distancia euclidiana de todo píxel no nulo al píxel nulo mas cercano.

Características

ImgExtendedRegionalMaxima
extrae los máximos regionales (filtrados según un criterio de altura) de una imagen dentro de una mascara dada.
ImgExtendedRegionalMinima
extrae los mínimos regionales (filtrados según un criterio de profundidad) de una imagen dentro de una mascara dada.
ImgLocalMaxima
extrae los máximos locales de una imagen.
ImgLocalMinima
extrae los mínimos locales de una imagen.
ImgRegionalMaxima
extrae los máximos regionales de una imagen.
ImgRegionalMinima
extrae los mínimos regionales de una imagen.
ImgUltimateErodedSet
extrae las erosiones últimas de una imagen binaria.

Geodesia

ImgBorderKill
suprime los conjuntos de píxeles conexos no nulos (partículas) que tocan el borde de la imagen.
ImgBorderKillAndHoleFill
aplica a la vez 'ImgBorderKill' y 'ImgHoleFill'.
ImgGeodesicDilate
efectúa una dilatación geodésica de la imagen usando un elemento estructurante específico.
ImgGeodesicGraphDistance
calcula la imagen de distancias geodésicas de una imagen binaria al interior de una mascara dada.
ImgHoleFill
rellena los agujeros de conjuntos de píxeles conexos no nulos (partículas) de una imagen binaria.
ImgReconstruct
efectúa la reconstrucción geodésica de una imagen de entrada bajo una imagen de referencia.

Divisoria de aguas (Watershed)

ImgCatchmentBasins
calcula las cuencas (Catchment Basins) de una imagen en niveles de grises.
ImgConstrainedCatchmentBasins
calcula las cuencas (Catchment Basins) de una imagen en la cual los marcadores son impuestos.
ImgConstrainedWatershed
calcula la línea divisoria de aguas (Watershed) de una imagen en la cual los marcadores de las cuencas son impuestos.
ImgWatershed
calcula la línea divisoria de aguas (Watershed) de una imagen en niveles de grises.

Aperturas avanzadas

ImgAddReconsClose
adiciona una constante a la imagen y reconstruye la imagen resultante efectuando erosiones geodésicas.
ImgAreaClose
efectúa un cierre morfológico basado en el área de las estructuras presentes.
ImgAreaOpen
efectúa una apertura morfológica basado en el área de las estructuras presentes.
ImgDilateReconsClose
dilata la imagen de entrada y reconstruye la imagen resultante efectuando erosiones geodésicas.
ImgErodeReconsOpen
erosiona la imagen de entrada y reconstruye la imagen resultante efectuando dilataciones geodésicas.
ImgInfimumClose
efectúa la intersección de cierres (de la imagen de entrada) por segmentos en todas las direcciones.
ImgSubtractReconsOpen
sustrae una constante a la imagen y reconstruye la imagen resultante dentro la imagen original de entrada efectuando dilataciones geodésicas.
ImgSupremumOpen
efectúa la unión de aperturas (de la imagen de entrada) por segmentos en todas las direcciones.

Espesamientos/Adelgazamientos

ImgConstrainedThicken
aplica un "espesamiento" a la imagen de entrada en la cual los puntos especificados por el usuario no pueden ser afectados por dicha operación (puntos de fijación).
ImgConstrainedThin
aplica un "adelgazamiento" a la imagen de entrada en la cual los puntos especificados por el usuario no pueden ser afectados por dicha operación (puntos de fijación).
ImgHitOrMiss
aplica a la imagen de entrada una transformación "todo-nada" en la cual la configuración de la vecindad es definida por el usuario.
ImgThicken
efectúa un "espesamiento" de la imagen de entrada para una configuración de vecindad definida por el usuario.
ImgThin
efectúa un "adelgazamiento" de la imagen de entrada para una configuración de vecindad definida por el usuario.

Esqueletos

ImgConnectedSkeleton
calcula el esqueleto conexo mínimo conteniendo los centros de las bolas máximas.
ImgMinimalSkeleton
calcula el esqueleto conexo mínimo conteniendo los centros de las erosiones últimas.
ImgOpenSkeleton
calcula el esqueleto por apertura.
ImgThickenSkeleton
calcula el esqueleto por "espesamiento".
ImgThinSkeleton
calcula el esqueleto por "adelgazamiento".

Filtrado

ImgAlternateSequential
aplica a la imagen de entrada un filtro alternado secuencial en el cual el elemento estructurante y el tamaño máximo son definidos por el usuario. Un filtro alternado secuencial es una sucesión de cierre y apertura morfológica de tamaño creciente.
ImgAutoMedian
aplica el filtro auto-mediana a la imagen de entrada.

Contraste

ImgMorphContrast
efectúa dos transformaciones morfológicas, una extensiva (típicamente la dilatación) y otra anti-extensiva (típicamente la erosión), y retorna en la imagen resultante para cada píxel el valor mas cercano del valor del píxel correspondiente de la imagen de entrada.

Dominio Frecuencial

Fourier

ImgFFT
efectúa la transformada de Fourier rápida de la imagen de entrada.
ImgInverseFFT
efectúa la transformada de Fourier inversa rápida de la imagen de entrada.
ImgPeakMask
aumenta (o disminuye) los valores de frecuencia en un área de la imagen al multiplicar (o dividir) por una constante todos los píxeles bajo una mascara definida interactivamente.

Filtrado en frecuencia pasa-bajas

ImgLPButterworthFilter
calcula el filtro pasa-bajas de Butterworth asociado a una mascara definida por el usuario.
ImgLPExponentialFilter
calcula el filtro pasa-bajas de tipo exponencial asociado a una mascara definida por el usuario.
ImgLPRectangularFilter
calcula el filtro pasa-bajas de tipo rectangular asociado a una mascara definida por el usuario.
ImgLPTrapezoidalFilter
calcula el filtro pasa-bajas de tipo trapezoidal asociado a una mascara definida por el usuario.

Filtrado en frecuencia pasa-altas

ImgHPButterworthFilter
calcula el filtro pasa-altas de Butterworth asociado a una mascara definida por el usuario.
ImgHPExponentialFilter
calcula el filtro pasa-altas de tipo exponencial asociado a una mascara definida por el usuario.
ImgHPRectangularFilter
calcula el filtro pasa-altas de tipo rectangular asociado a una mascara definida por el usuario.
ImgHPTrapezoidalFilter
calcula el filtro pasa-altas de tipo trapezoidal asociado a una mascara definida por el usuario.

Transformaciones

Geometría

ImgCenter
reorganiza la imagen alrededor de su centro en una forma radial.
ImgFlip
retorna la imagen alrededor de un eje dado (slip transformation).
ImgRotate
efectúa una rotación (affine rotation) de la imagen alrededor de su centro.
ImgScale
aplica un factor de escala a cada uno de los ejes Ox y Oy de la imagen (affine scaling).
ImgShear
efectúa una transformación geométrica (affine) de tipo esquilado de la imagen.
ImgTranslate
efectúa una translación de la imagen.
ImgTranspose
transpone una imagen respecto al eje central vertical, el eje central horizontal o el eje de las diagonales principales.
ImgWarpControlPoint
corrige la deformación bidimensional de una imagen utilizando la matriz calculada a partir de las parejas de puntos de control definidos por el usuario sobre la imagen a deformar y la imagen de referencia.

Misceláneas

ImgCartesianToPolar
transforma una imagen definida en un espacio de coordenadas rectangulares en una imagen definida en un espacio de coordenadas polares.
ImgPolarToCartesian
transforma una imagen definida en un espacio de coordenadas polares en una imagen definida en un espacio de coordenadas rectangulares.

Color

ImgColorToRGB
convierte una imagen color RGB en 3 imágenes monocromaticas rerpresentando las bandas Roja (Red), Verde (Green) y Azul (Blue).
ImgExcessRGB
convierte una imagen RGB en una imagen color en la cual las tres bandas son definidas repectivamentee así: 2xRojo-Verde-Azul, 2xVerde-Rojo-Azul, 2xAzul-Rojo-Verde.
ImgHSIToRGB
convierte una imagen HSI (Tinte/Saturación/Intensidad) en una imagen RGB.
ImgNormalizedRGB
convierte una imagen color RGB en una imagen color en la cual las tres bandas están respectivamente definidas por: R/(R+G+B), G/(R+G+B), B/(R+G+B).
ImgRGBToColor
convierte 3 imágenes monocromaticas representando las bandas Roja (R), Azul (B) y Verde (G) en una imagen color RGB.
ImgRGBToHSI
convierte una imagen RGB en una imagen HSI (Tinte/Saturación/Intensidad).
ImgRGBToYIQ
convierte una imagen RGB en una imagen YIQ.
ImgYIQToRGB
convierte una imagen YIQ en una imagen RGB.

Funciones Utilitarias de Imágenes

Generación

ImgCreateGaussianNoise
genera una imagen de ruido Gaussiano.
ImgCreateGaussianSurface
genera una imagen en la cual las intensidades corresponden a una función Gaussiana.
ImgCreateRamp
genera una imagen de función rampa en X, Y o ambas.
ImgCreateUniformNoise
genera una imagen de ruido uniforme.
ImgFree
elimina una imagen de la memoria.
ImgFreeAll
elimina todas las imágenes de la memoria.

Misceláneas

ImgClear
fija todos los píxeles de una imagen a cero.
ImgClip
fija todos los píxeles a un valor de umbral cuando estos son superiores a este umbral, en el caso que el usuario seleccione un "clip-alto". Por el contrario, si el usuario selecciona un "clip-bajo" entonces todos los píxeles son fijados a un valor de umbral, cuando estos son inferiores a este umbral.
ImgCopy
copia la imagen de entrada a una imagen destino. La imagen entera es copiada sin tener en cuenta las regiones de interés (ROI) previamente definidas sobre la imagen de entrada.
ImgCut
copia una zona de la imagen de entrada, definida por una Región de Interés (ROI), en una imagen destino con un tamaño mínimo que pueda contener esta zona. Los píxeles contenidos en la ROI de la imagen de entrada son fijados a 0.
ImgFill
fija todos los píxeles de una imagen a un valor constante definido por el usuario.
ImgFrame
fija todos los píxeles de una imagen a cero, excepto aquellos conexos a los bordes, a los cuales se les fija a un valor igual a 1. En otras palabras, crea una imagen "marco" de una imagen existente, en la cual los píxeles de los bordes externos tienen un valor de 1 y el resto un valor 0.
ImgJoinBands
ensambla varias imágenes monocromáticas para formar una imagen multibanda.
ImgPaste
pega (superpone) una primera imagen de entrada en una posición específica, definida por el usuario, de una segunda imagen de entrada. La imagen resultante de esta operación es cargada en una imagen destino.
ImgSetName
cambia el nombre de una imagen.
ImgSetType
convierte la imagen de entrada en una imagen del tipo (entero, punto flotante, complejo, etc.) especificado por el usuario.
ImgSplitBands
extrae de una imagen multibanda una de sus bandas y la copia en la imagen destino (por ejemplo, la banda roja de una imagen RGB es obtenida seleccionando la banda 0).
ImgSubCopy
copia una zona de la imagen de entrada, definida por una Región de Interés (ROI), en una imagen destino con un tamaño mínimo que pueda contener esta zona.

LUT (Paleta de Colores)/Punto a punto

ImgEqualizeHistogram
calcula la tabla de conversión de las intensidades para ecualizar el histograma de la imagen de entrada, y transforma la intensidad de cada píxel en función de esta tabla. El resultado es copiado en la imagen destino.
ImgLinearScale
recalcula el valor de cada píxel de la imagen de entrada utilizando una función rampa y copia el resultado en la imagen destino.
ImgMapThroughLUT
recalcula el valor de cada píxel de la imagen de entrada utilizando una función definida por el usuario y copia el resultado en la imagen destino (esta función permite explayar o comprimir la gama de intensidades).

Entrada/Salida

ImgImport
carga una imagen cuyo formato no es soportado por Aphelion&trade. El archivo a leer debe ser un archivo binario con datos no comprimidos.
ImgRead
carga una imagen la cual posee un formato soportado por Aphelion&trade, es decir, TIFF, BitMap, JPEG o KBVision.
ImgReadSlices
carga una serie de imágenes (TIFF, BitMap, JPEG o KBVision) para crear una imagen 3D - únicamente disponible en le módulo "3D Image Processing".
ImgWrite
salvaguarda una imagen de entrada en formato TIFF, BitMap o JPEG.
ImgWriteSlices
salvaguarda una imagen 3D de entrada bajo la forma de una serie de archivos de imágenes (TIFF, BitMap, JPEG o KBVision) - únicamente disponible en le módulo "3D Image Processing".

Segmentación

Umbralización

ImgAdaptivePercentileThreshold
convierte la imagen de entrada en imagen binaria realizando una umbralización de los niveles de gris, de tal manera que la tasa de píxeles binarizados corresponda a un intervalo dado.
ImgColorThreshold
efectúa una binarización de una imagen color por umbralización de los tres canales RGB o HSI (Tinte/Saturación/Intensidad).
ImgEntropyThreshold
define el umbral óptimo como el nivel de gris que maximiza la entropía del histograma y aplica este umbral a la conversión de la imagen de entrada en imagen binaria (binarización).
ImgExtremaThreshold
convierte una imagen en imagen binaria fijando a 1 todos los píxeles de la imagen de entrada que respondan al siguiente criterio: abs(valor_pixel - media) > abs(SD Threshold x desviación_standard _ local). Todos los otros píxeles son fijados a cero.
ImgHysteresisThreshold
efectúa una umbralización por histéresis (aplica dos umbrales a la imagen) y convierte la imagen de entrada en imagen binaria.
ImgMultiModalThreshold
aplica un operador de segmentación de región basado sobre la segmentación a partir de histogramas locales.
ImgMaximumContrastThreshold
calcula un conjunto de umbrales (el número de umbrales es definido por el usuario) los cuales generan un contraste máximo, y aplica estos umbrales a la conversión de la imagen de entrada en imagen etiqueta (esta umbralización automática utiliza información de las vecindades en lugar del el histograma de niveles de gris, lo cual implica que es menos sensible a defectos de iluminación).
ImgMomentThreshold
define el umbral óptimo como el nivel de gris que maximiza los momentos del histograma y aplica este umbral a la conversión de la imagen de entrada en imagen binaria (binarización).
*ImgThreshold
convierte la imagen de entrada en imagen binaria realizando una umbralización interactiva sobre los niveles de gris.

Morfología

*ImgBlackTophat
aplica una transformación Top-Hat sobre las partes sombras de la imagen de entrada usando un elemento estructurante definido por el usuario. Esto permite extraer las partes sombras de la imagen cuyo tamaño es inferior al tamaño del elemento estructurante.
ImgClustersSplitConvex
utiliza el operador de divisoria de aguas (Watershed) para segmentar regiones conectadas utilizando un criterio de convexidad.
ImgRegionGrow
efectúa una segmentación de la imagen de entrada (en niveles de gris) utilizando un algoritmo crecimiento de regiones.
ImgSeededRegionGrow
aplica un algoritmo de crecimiento de regiones en la imagen de entrada utilizando como semillas de las regiones marcadores especificados por el usuario.
*ImgWhiteTophat
aplica una transformación Top-Hat sobre las partes claras de la imagen de entrada usando un elemento estructurante definido por el usuario. Esto permite extraer las partes claras de la imagen cuyo tamaño es inferior al tamaño del elemento estructurante.

Rectángulos

ImgLabelsToRectangles
calcula los rectángulos circunscritos a las regiones etiquetadas de la imagen de entrada y crea el conjunto de objetos correspondiente.

Polígonos

PolygonArea
calcula la superficie de cada polígono en un conjunto de objetos de tipo Polígonos.
RegionConvexHullPolygons
calcula las envolventes convexas de los objetos de un conjunto de objetos de entrada e inserta los atributos asociados en este.
RegionToBoundaryPolygon
convierte las fronteras de regiones en fronteras de polígonos.

Líneas

ImgEdgesToLines
convierte/agrupa partes de contornos cuyos gradientes son comparables (orientación y proximidad) en segmentos de recta (conjunto de objetos).
ImgGradientLines
construye segmentos de recta (conjunto de objetos) a partir de regiones con direcciones de gradiente similares, mediante un algoritmo análogo a este propuesto por J. Brian Burns
ImgHoughLines
detecta líneas en una imagen de entrada utilizando la transformada de Hough (HT).

Regiones

ImgEntropyThresholdObj
define el umbral óptimo como el nivel de gris que maximiza la entropía del histograma y aplica este umbral a la conversión de la imagen de entrada en un conjunto de objetos de tipo Región.
ImgHysteresisThresholdObj
efectúa una umbralización por histéresis (aplica dos umbrales a la imagen) y convierte la imagen de entrada en un conjunto de objetos de tipo Región.
ImgMultiModalThresholdObj
aplica una umbralización "ImgMultiModalThreshold" a la imagen de entrada y convierte la imagen resultante en un conjunto de objetos de tipo Región.
ImgMaximumContrastThresholdObj
calcula un conjunto de umbrales (el número de umbrales es definido por el usuario) los cuales generan un contraste máximo, y aplica estos umbrales a la conversión de la imagen de entrada en un conjunto de objetos de tipo Región (esta umbralización automática utiliza información de las vecindades en lugar del el histograma de niveles de gris, lo cual implica que es menos sensible a defectos de iluminación).
ImgMomentThresholdObj
define el umbral óptimo como el nivel de gris que maximiza los momentos del histograma y aplica este umbral a la conversión de la imagen de entrada en un conjunto de objetos de tipo Región.
ImgRegionGrowObj
realiza una segmentación de la imagen de entrada utilizando un algoritmo morfológico de crecimiento de regiones, el cual crea un conjunto de objetos de partes segmentadas de la imagen.
ImgThresholdObj
convierte la imagen de entrada en un conjunto de objetos de tipo Región realizando una umbralización interactiva sobre los niveles de gris.
ImgZeroCrossObj
efectúa una segmentación de la imagen de entrada basado en la paso por cero de su segunda derivada, calculada esta a partir de mascaras gausianas cuyos tamaños son definidos por el usuario, y crea el conjunto de objetos de partes segmentadas de la imagen. Este operador permite segmentar los bordes de la imagen. La aumentación del tamaño de las mascaras permite aumentar la robustez de la detección (disminución de la influencia del ruido).

Contornos activos (Snakes)

ImgSnake
aplica el algoritmo de "snakes" o contornos activos (curvas elásticas que se deforman para ajustarse al contorno de objetos irregulares) a partir de un marcador de tipo cadena (Chain).

Cadenas

ImgLabelsToChains
convierte una imagen etiqueta (Label) en cadenas (Chains).

Misceláneas

ImgClustersObj
convierte los conjuntos de puntos con conectividad-4 o conectividad-8 de la imagen binaria de entrada en objetos tipo Región.
ImgClustersToLabels
convierte la imagen binaria de entrada en una imagen donde cada conjunto con conectividad-4 o conectividad-8 (según criterio del usuario) es etiquetado.
ImgEdgesToEdgels
convierte los píxeles correspondientes a bordes de la imagen de entrada, obtenidos ellos por alguno de los operadores de detección de contornos, en objetos de tipo Borde (Edgel).
ImgLabelsObj
convierte los conjuntos de puntos (con conectividad-4 o conectividad-8) etiquetados en objetos tipo Región.

Análisis

Global

ImgArea
calcula el área total (en úumero de píxeles) de las regiones de la imagen binaria de entrada.
ImgBandHistogram
retorna uno o varios vectores conteniendo los valores de los histogramas de intensidades de cada canal de la imagen de entrada (la cual puede ser multicanal, como por ejemplo, una imagen color).
ImgBoundingBox
retorna las coordenadas del rectángulo circunscrito al conjunto de regiones (píxeles con valor igual a 1) de la imagen binaria de entrada.
ImgCompare
compara dos imágenes y retorna el número de píxeles iguales en estas imágenes.
ImgConcavity
calcula el número de concavidades de la imagen binaria de entrada.
ImgConvexity
calcula el número de convexidades de la imagen binaria de entrada.
ImgCountObjects
calcula el número de regiones con conectividad-4 de la imagen binaria de entrada.
ImgEuler
calcula el número de Euler-Poincaré de la imagen binaria de entrada.
ImgFirstPoint
retorna la posición del primer píxel no nulo de la imagen binaria de entrada.
ImgHistogram
calcula el histograma de niveles de gris de la imagen de entrada.
ImgIntercepts
calcula los interceptos de la imagen binaria de entrada en todas las direcciones de la trama.
ImgMoments
calcula los momentos de orden 0, 1, 2 y 3 del histograma de niveles de gris de la imagen de entrada.
ImgPerimeter
calcula el perímetro global de todos los objetos (regiones de la imagen con valores de píxel igual 1) en la imagen binaria de entrada.
ImgRange
retorna los extremos (máximo y mínimo) de los valores de los píxeles en una imagen.
ImgVolume
calcula la suma de intensidades (niveles de gris) de todos los píxeles en una imagen.

Análisis de Imágenes

ImgHoughTransform
efectúa la transformada de Hough de la imagen de entrada.
ImgLawsTexture
aplica 9 operadores de textura sobre una imagen dada, la imagen resultante es una imagen compuesta de 9 canales.
ImgLocalVariance
computa para cada píxel de la imagen de entrada el valor de la varianza local (el tamaño de la vecindad sobre la cual es calculada la varianza es definido por el usuario).
ImgMaskedMean
calcula la media, en un píxel dado, de los píxeles perteneciendo al elemento estructurante centrado sobre dicho píxel, para todos los píxeles incluidos en la mascara seleccionada.
ImgMaskedStandardDeviation
calcula la desviación estándar, en un píxel dado, de los píxeles perteneciendo al elemento estructurante centrado sobre dicho píxel, para todos los píxeles incluidos en la mascara seleccionada.

Objetos

ChainAttributes
calcula las medidas asociadas a cada objeto de un conjunto de objetos de tipo Cadena (Chain ObjectSet) y las incluye como atributos en el conjunto de objetos.
ChainWidth
calcula las estadísticas (media, mínimo, máximo y desviación estándar) asociadas al tamaño de cada objeto de un conjunto de objetos de tipo Cadena (Chain ObjectSet ) y las incluye como atributos al conjunto de objetos.
LineAttributes
calcula cierto número de medidas de los objetos de tipo Línea.
ObjAttributeRatio
calcula el cociente entre dos atributos (medidas) para cada objeto de un conjunto de objetos y crea un nuevo atributo conteniendo el resultado.
ObjComputeMeasurements
calcula todas las medidas de cada objeto de un conjunto de objetos. Las medidas calculadas dependen del tipo de objeto.
ObjComputeRuleScore
calcula el resultado de una ley, definida en la herramienta de clasificación de lógica difusa (Fuzzy Logic), aplicada a un conjunto de objetos.
ObjHaralickTexture
calcula los parámetros de textura definidos por Haralick (Energía, Entropía, Contraste, Inverso de la Diferencia de Momentos, Correlación) de cada objeto de un conjunto de objetos.
ObjHistogram
calcula el histograma de valores de un atributo de un conjunto de objetos.
ObjIntercepts
calcula lo interceptos de cada objeto de un conjunto de objetos 3D - disponible únicamente en el módulo "3D Image Processing".
ObjLoadRuleSet
carga un conjunto de leyes definidas en la herramienta de clasificación de lógica difusa (Fuzzy Logic).
ObjMoments
calcula los momentos de primer orden del histograma de valores de un atributo de un conjunto de objetos.
ObjShape
calcula los atributos de forma de cada región de un conjunto de objetos 3D (operador equivalente a RegionShape, el cual es especifico para los conjuntos de objetos 2D) - disponible únicamente en el módulo "3D Image Processing".
ObjSpatialAttributeStatistics
calcula el mínimo, el máximo, la media y desviación estándar de los píxeles perteneciendo a la zona espacial (spatial attribute) especificada de cada objeto.
RegionFeret
calcula los diámetros de Feret de cada región de un conjunto de objetos (ObjectSet). Los diámetros de Feret corresponden a las proyecciones de las longitudes de un objeto en un ángulo dado, en el caso de este operador N direcciones son procesadas.
RegionShape
calcula los atributos de forma de cada región de un conjunto de objetos (ObjectSet), tales como la altura, el ancho, el perímetro y la elongación.
RegionStatistics
calcula el mínimo, el máximo, la media y desviación estándar de los valores de intensidad de los píxeles inscritos en cada región de un conjunto de objetos (ObjectSet).

Interactividad

ImgDistance
calcula la distancia entre dos puntos de una imagen definidos interactivamente.
ImgProfile
genera el perfil de intensidades de los píxeles bajo la línea trazada por el usuario interactivamente.
ImgTrace
retorna los valores de intensidad bajo los puntos trazados interactivamente.
ImgWarpControlPoint
aplica una transformación (affine y/o perspectiva) a la imagen de entrada, lo cual permite corregir cierto tipo de deformaciones bidimensionales. El algoritmo utiliza la matriz calculada a partir de las parejas de puntos de control definidos interactivamente por el usuario sobre la imagen a deformar y la imagen de referencia.

Correlación/Apareamiento de Plantillas

ImgAutoCorrelate
calcula la correlación de una imagen de entrada con ella misma.
ImgCrossCorrelate
calcula la correlación cruzada de dos imágenes (complejas) utilizando la transformada de Fourier rapida.
ImgCorrelateWithTemplate
calcula la correlación de una imagen de entrada con una plantilla (núcleo de convolución - kernel).
ImgCooccurence
calcula la matriz de co-ocurrencia
ImgFromTemplate
convierte una plantilla (núcleo de convolución - kernel) en imagen.
ImgToTemplate
convierte una Región de Interés (ROI) de una imagen en plantilla (núcleo de convolución - kernel).

Procesamiento de Objetos

Geometría

ObjRotate
efectúa una rotación del conjunto de objetos en torno a su centro.
ObjScale
aplica un factor de escala al conjunto de objetos.
ObjShear
aplica una deformación lineal al conjunto de objetos.
ObjTranslate
efectúa una translación del conjunto de objetos.

Región

RegionClose
aplica un cierre morfológico a las regiones de un conjunto de objetos y añade los atributos generados a dicho conjunto de objetos.
RegionDilate
aplica una dilatación morfológica a las regiones de un conjunto de objetos y añade los atributos generados a dicho conjunto de objetos.
RegionErode
aplica una erosión morfológica a las regiones de un conjunto de objetos y añade los atributos generados a dicho conjunto de objetos.
RegionHoleFill
rellena los agujeros de las regiones de un conjunto de objetos y añade los atributos generados a dicho conjunto de objetos.
RegionOpen
aplica una apertura morfológica a las regiones de un conjunto de objetos y añade los atributos generados a dicho conjunto de objetos.

Líneas

RegionLineFit
ajusta un segmento de recta (Línea) a cada región del conjunto de objetos de entrada.

Cadenas

ChainLineFit
ajusta un segmento de recta (Línea) a cada cadena del conjunto de objetos de entrada.

Reagrupamiento

ChainNeighbors
dado un conjunto de objetos de tipo cadenas (Chains), calcula el conjunto de cadenas vecinas a las extremidades en un radio definido.
EdgelNeighbors
calcula un nuevo atributo (ObjectSubset) de vecindad de los objetos de tipo borde (Edgels) del conjunto de objetos de entrada. Los objetos son considerados como vecinos según un criterio de distancia en una dirección de propagación dada, esta distancia debe ser inferior a un valor definido por el usuario.
EdgelsToChains
reagrupa los objetos de tipo borde (Edgels) en cadenas (Chains) mediante un procedimiento iterativo de propagación.
ObjOverlap
calcula un nuevo atributo (ObjectSubset) indicando el número de objetos de un conjunto de objetos 3D recubiertos por otro conjunto de objetos 3D - disponible únicamente en el módulo "3D Image Processing".
RegionOverlap
calcula un nuevo atributo (ObjectSubset) indicando el número de objetos de un conjunto de objetos recubiertos por otro conjunto de objetos.
RegionSplitConvex
divide las regiones de un conjunto de objetos en sub-regiones según un criterio de convexidad.
RegionSplitStatistical
convierte las regiones de un conjunto de objetos en sub-regiones en función del análisis del histograma de intensidades de los píxeles.
RegionSplitUnconnected
divide las regiones de un conjunto de objetos en sub-regiones según un criterio de conectividad. Por ejemplo, un conjunto de objetos que fue sometido a una erosión puede contener regiones con varias partes conexas; este operador permite entonces convertir estas regiones en regiones distintas.

Funciones Utilitarias de Objetos

Entrada/Salida de Objetos

ObjExport
guarda los datos de tipo escalar (los datos espaciales no son exportados por este operador) de un conjunto de objetos de entrada en un archivo tabulado (spreadsheet). Este archivo puede ser leído por aplicaciones tales como Microsoft Excel.
ObjFree
suprime de la memoria un conjunto de objetos (ObjectSet) específico.
ObjFreeAll
suprime todos los conjuntos de objetos cargados en memoria.
ObjImport
carga en memoria un archivo tabulado el cual un contiene un conjunto de objetos (ObjectSet). Este archivo debe tener un formato del tipo hoja de calculo (spreadsheet) comprensible por cualquier aplicación de procesamiento de datos tipo Microsoft Excel o similares.
ObjRead
carga en memoria un archivo binario conteniendo un conjunto de objetos (ObjectSet).
ObjWrite
guarda en un archivo (con un formato especifico) un conjunto de objetos.
RegionToBoundaryPolygon
convierte los bordes de regiones de un conjunto de objetos (ObjecSet) en contornos poligonales. Los polígonos resultantes son retornados por la vía de un conjunto de objetos de salida.

Copiar/Cortar/Pegar

ObjAppend
efectúa la concatenación de dos conjuntos de objetos y guarda el resultado en un nuevo conjunto de objetos.
ObjCopy
copia un conjunto de objetos de entrada en un conjunto de objetos destino.
ObjDeleteAttribute
suprime un atributo seleccionado por el usuario de un conjunto de objetos.
ObjFilter
filtra los objetos de un conjunto de objetos de entrada en función de los valores de un atributo que el usuario ha especificado (umbrales altos y bajos definiendo el intervalo aceptado).
ObjFree
suprime un conjunto de objetos.
ObjMerge
fusiona dos conjuntos de objetos y guarda el resultado en un nuevo conjunto de objetos.

Graficas

ObjDraw
dibuja un conjunto de objetos en uno de los planos gráficos (overlay) de la imagen seleccionada.
ObjDrawMapped
dibuja un conjunto de objetos en uno de los planos gráficos (overlay) de la imagen seleccionada; los valores de intensidad (display level) correspondiente a cada objeto son función del valor de un atributo del objeto de tipo escalar que el usuario ha seleccionado.
ObjRemoveOverlay
suprime el plano gráfico (overlay) de la imagen correspondiendo al atributo espacial seleccionado de un conjunto de objetos.

Conversión

ObjSpatialAttributeToImage
escribe en la imagen resultante el valor del atributo espacial seleccionado, para cada región de un conjunto de objetos.
ObjSpatialAttributeToRegions
convierte el conjunto de objetos seleccionado (de tipo Borde/Contorno, Línea, Rectángulo, etc.) en un conjunto de objetos de tipo Región

Adquisición de imágenes

Continua/ Simple

FGStartGrab
abre la ventana de adquisición continua de imágenes.
ImgGetFGFrame
recupera una imagen de la ventana de adquisición continua de imágenes abierta por la función FGStartGrab.
FGFreeze
detiene/pausa una adquisición continua iniciada por la función ImgGrab.
ImgGrab
captura imágenes de diferentes equipos (hardware) de adquisición.
ImgSnap
captura instantáneamente la imagen adquirida.

Recognition Toolkit

Misceláneas

AutoCode
codifica los valores de atributos de un conjunto de objetos bajo forma discreta.
Encode
codifica los atributos de un conjunto de objetos usando particiones especificadas.
Normal
normaliza las características (medias centradas y varianzas a 1). Este operador puede ser utilizado como una etapa de pre-procesamiento previa a la evaluación, el reagrupamiento o la clasificación.
Centroid
calcula los centroides de las clases. Útil para el análisis de datos y el entrenamiento de clasificadores.
MeanAsgn
asocia los objetos al centroide de la clase más cercana. Puede ser utilizado conjuntamente con la función "Centroid" para la evaluación de características y la clasificación.

Extracción

Corners
busca las esquinas de pares de líneas que satisfacen ciertas reglas de tolerancia impuestas por el usuario. Es una herramienta de base utilizada en algoritmos avanzados de reconocimiento.
Parallels
busca líneas que satisfacen ciertas reglas de tolerancia sobre la distancia y angulos entre líneas impuestas por el usuario. Es una herramienta de base utilizada en algoritmos avanzados de reconocimiento.
Boxes
crea cajas por relación entre esquinas opuestas y adyacentes.
MergeLines
fusiona segmentos de recta (líneas). Este operador puede funcionar segmentos colineales o casi-paralelos.
MergeBoxes
fusiona cajas creadas por la función "Boxes". Este operador "Boxes" puede crear un gran número de cajas superpuestas basado en diferentes combinaciones de esquinas (Corners).

Evaluación

CorrEval
evalúa la utilidad de un atributo de un conjunto de objetos por correlación y suprime los atributos redundantes para la clasificación.
InfoEval
determina el atributo de un conjunto de objetos más discriminante para clasificar los objetos.
PairEval
utilizado para la evaluación del contenido de información en operaciones de reconocimiento de objetos comparables.
LinkEval
busca la estructura de árbol que maximiza la información discriminante de segundo orden.
MRegres
efectúa una regresión lineal múltiple. Puede ser utilizado para la evaluación de características y el análisis de redundancias.

Aprendizaje

PFSClust
implementa el método "Pseudo F Statistic Clustering". El es capaz de encontrar las clases naturales de un conjunto de datos de características (features).
MinD_Trn
efectúa el entrenamiento de un clasificador de "Distancia Mínima (MinD)". Genera los datos de referencia (centros de las clases y ponderaciones) requeridos por el operador MinD_Cls.
KNN_Trn
efectúa el entrenamiento de un clasificador "K-Nearest-Neighbor (KNN)". Genera los datos de referencia requeridos por el operador KNN_Cls.
Bayes_Trn
efectúa el entrenamiento de un clasificador "Bayesiano Multivariado-Normal". Genera los datos de referencia (centros de las clases, covarianzas y ponderaciones) requeridos por el operador Bayes_Cls.
DIT_Trn
efectúa el entrenamiento de un clasificador "Discriminant Information Tree (DIT)". Genera los datos de referencia (árbol de informaciones discriminantes óptimas y probabilidades) requeridos por el operador DIT_Cls.

Clasificación

MinD_Cls
implementa un clasificador de Distancia Mínima, el cual clasifica datos según la distancia mínima el centro de la clase.
KNN_Cls
implementa un clasificador "K-Nearest-Neighbor (KNN)", el cual clasifica datos según la regla de los K vecinos mas similares (particularmente adaptada a las distribuciones complejas).
Bayes_Cls
implementa un clasificador "Bayesiano Multivariado-Normal", el cual clasifica datos según la ley normal multivariable de Bayes.
DIT_Cls
implementa un clasificador "Discriminant Information Tree (DIT)", el cual clasifica datos discretos, codificados o simbólicos a partir del árbol de informaciones discriminantes.

* = eficiencia optimizada para los PCs que soportan la tecnología Intel MMX.