ARPI will help in the creation and execution of image processing, analysis and recognition algorithms.
ARPI will help on the development of projects which contain a GUI along with an executable code. The GUI will be designed using components, therefore allowing the adding, removing and repositioning of them by the developer of the algorithm. The source code of the algorithms will be coded either in ANSI-C or Object Pascal, compatibles with any of the following compilers: Boland Delphi, Dev C, Microsoft Visual C, Borland C Builder, FreePascal y LCC Win.
While executing, it will have to open, show and execute algorithms interactively. Furthermore, it will have to be able to open and save images and matrixes, allowing to undo or redo changes over them, and that any results of the processing be exported to standard formats: CVS for matrixes, GIF, JPG, TIFF, PNG and BMP for images.
Another key feature of ARPI will be the possibility of managing execution scripts, using reference lists for the variables so that it can work dynamically. The sequential execution of the scripts will also include the possibility of using an output as input of any step which precedes the one already executed. The system will be able to execute that script either locally, remotely or both. To execute remotely, ARPI should be able to send the algorithm as well as the parameters to a remote computer, which will be called a satellite.
To fulfill a complete system, several algorithms will be included (source code and binaries) ready to be used in ARPI's enviroment:
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