Nuestra base de implementación fué un equipo PC-486
equipado con monitor VGA de 256 colores. El equipo posee coprocesador
matématico, que es escencial por la gran cantidad de calculos
de punto flotante, especialmente en el area de computer graphics
y image processing.
En la (Figura 6-1) se puede apreciar los distintos módulos
componentes de un sistema típico como el realizado. Los
distintos módulos son:
- TAC: El equipo de tomografía. Produce las placas con
los cortes axiales.
- SCANNER: Procesa las placas y genera archivos de imágenes.
Los graba en un formato estandard (por ejemplo, PCX)
- 2D-CORRECCION: Se corrigen las imágenes, anclándolas,
determinando ROI/VOI. Finalmente se guardan en un formato simple
(.BIT)
- DIP (Digital Image Processing): Se procesa cada imágen
con distintos algoritmos para eliminar el ruido. El resultado
se mantiene en (.BIT), pero ahora el ruido ha sido removido de
las imágenes.
- 3DREP (3D Representation): Con el conjunto de archivos (.BIT)
se forma un volúmen único de datos (.3DR).
- OID (Object Identification): Se procesa el volumen de datos
segmentandosé el objeto de interés. El resultado
queda en un archivo acorde (.3DO), por ejemplo, una escena binaria.
- OREP (Object Representation): Este módulo transforma
la representación "bruta" (3DO) en diferentes
estructuras de datos, por ejemplo, contornos dirigidos nivelados
(.LCC), parches triangulares (.TRI) u otros.
- ODIS (Object Display): Este es el sistema de usuario final
que recibe las distintas representaciones de los objetos y los
muestra en pantalla.
- Fig. 6-1: Esquema de los distintos módulos de un sistema
de reconocimiento de formas, generación y visualización
de datos espaciales
Se utilizó el sistema operativo MS-DOS en todo momento.
Los lenguajes de programación usados fueron:
- Turbo Pascal 6.0: Procesamiento digital de imágenes,
manejo general de archivos, detección de contornos cerrados.
- Borland C++ 3.0: Triangulación.
- Borland C 3.0: Ray Tracing.
- Turbo Pascal for Windows 1.0: Sistema de Usuario Final (graficación,
shading, etc.)
El algoritmo de triangulación, conceptualmente el mas complicado,
se implementó integramente en C++ utilizando técnicas
de OOP, lo que facilitó mucho la tarea.