El sistema ARPI permite la creación y ejecución de algoritmos de Análisis, Reconocimiento y Procesamiento de Imágenes.
ARPI deberá permitir desarrollar proyectos compuestos por una interfaz visual y un código fuente. La interfaz visual se diseñará usando componentes, permitiendo agregar, quitar y mover. El código fuente de los algoritmos desarrollados podrá ser compatibles con C u Object Pascal y serán compatibles al menos con los siguientes compiladores: Boland Delphi, Dev C, Microsoft Visual C, Borland C Builder, FreePascal y LCC Win.
En la ejecución, deberá poder abrir, mostrar y ejecutar algoritmos en forma interactiva, además, deberá poder abrir y guardar imágenes y matrices, permitiendo deshacer algún cambio realizado sobre alguno de ellos y además deberá permitir que los resultados sean exportados a formatos estándares: CVS para matrices y GIF, JPG, TIFF, PNG y BMP para imágenes.
Otra de las características distintivas de ARPI será la de poder administrar listas de pasos de algoritmos (scripts de ejecución) con la posibilidad de definir parámetros variables para que funcione en forma dinámica. La ejecución secuencial de una lista de pasos, o varias, si hay múltiples parámetros iniciales, permitirá que el resultado de un paso sea parámetro de entrada en los posteriores pasos y podrá ser ejecutado en la misma máquina o en máquinas satélites (máquinas remotas) . En este último caso, ARPI deberá permitir el envío del algoritmo y de todos los parámetros a un satélite.
Para que el proyecto sea completo se incluirán una serie de algoritmos completos (fuentes y binarios) listos para ser utilizados y con todas las características de un proyecto ARPI:
Operaciones aritméticas
- Suma
- Resta
- Diferencia
- Producto
- División
- Media
- Media saturada
- Supremo
- Ínfimo
Operaciones lógicas
- And
- Or
- Or exclusivo
- Negativo
Binarización
- Binarizar
Transformaciones puntuales
- Histograma
- Contrast streching
- Sclicing
- Compreción de rango dinámico
- Umbral simple
- Umbral multiple
- Negativo
- Bit plane sclicing
- Ecualización
Transformaciones espaciales
- Desplazamiento
Cambio de escala
- Con interpolación del vecino
- Con interpolación bilinear
- Con interpolación bicúbica
Rotación
- Con interpolación del vecino
- Con interpolación bilinear
- Con interpolación bicúbica
- Recorte
Filtros Lineales
- Convolución
- Correlación
- Por matriz
Transformadas
- Trasnformada de Fourier
- Transformada del Coseno Discreto
- Transformada de Radón
Morfología matemática básica
- Erosión
- Dilatación
Detección de bordes
- Detección de Bordes por Sobel
- Detección de Bordes por Canny
- Detección de líneas usando la transformada de Hough
- Quadtree
Reducción de Ruido
- Filtro Lineal
- Filtro por la Media
- Filtro Adaptativo
Suavizado
- Suavizado con el filtro de Wiener
- Suavizado con un filtro Regularizado
- Suavizado con el algoritmo de Lucy-Richardson
- Suavizado con el algoritmo de Deconvolución Ciega
Filtros morfológicos
- Apertura
- Cierre
- Top-Hat
- Top-Hat por cierre
Residuos
- Gradiente por erosión
- Gradiente por dilatación
- Gradiente simétrico
Reconocimiento de Patrones
Clasificación supervisada
- Discriminantes lineales
- Clasificador de Bayes
Clasificación no-supervisada
- Clustering