Hola chicos!
De nuevo subido al carro, menuda semanita!
He agregado un nuevo control a EQAControls (UCImgContainer), he añadido un nuevo proyecto (EQAMath) he añadido un nuevo controlador de cámara (ASCOMCam) y he reorganizado un poco las cosas para ir poniendo las cosas en su sitio. Faltan cosas, pero creo que este es el camino correcto.

EQAMath: este proyecto contendrá toda las clases de cálculo, ahora mismo:
    EQA.EQAMath.Imaging.FloatImage    representación de una imagen en coma flotante normalizada (0.0, 1.0)
    EQA.EQAMath.Imaging.GaussianBlur    usado desde FloatImage para realizar un desenfoque rápido (desenfoque gaussiano optimizado)

    EQA.EQAMath.Projection.CoordsTime    todo lo referido a las coordenadas y sus transformaciones (polares-ecuatoriales, horizontales, de pantalla, etc)
   
    EQA.EQAMath.Projection.RCST (Reference Coordinate System and Transformations)
(Reference Coordinate Systems and Transformations) usado por CoordsTime
    y un par de cosas más (gestión de grados y horas).
 
    EQAMath contendrá toda la gestión de mediciones, búsquedas de centroides, correlaciones (comparaciones entre imágenes para buscar desplazamientos), autoguiado, cálculo de errores de estación (ScheinerAlign),... todo lo realmente importante. Excepto por el GDI+ de FloatImage, no debería plantear mayor problema en portabilidad.
 
 
EQAControls: este proyecto contendrá controles de usuario y su gestión
 
    UCControlPad:    la botonera que controla un guiador o un telescopio
 
    UCScopeTarget: gestión de las coordenadas a donde apunta el telescopio o hacia donde va a apuntar
(Goto y Synk)
 
    UCImgContainer:    este control gestiona la representación de una imagen que se obtiene desde la cámara. La diferencia de cómo trabajamos hasta ahora es que este control centraliza la gestión de subframe (crop) y la superposición del retículo. Hay una pila de propiedades (CanSubFrame, subframe, subframeregion, showreticle, showInfo, scopetarget, ... muchas cosas), necesita atmbién conocer las coordenadas del observatorio (para poder hacer una transformaciónd e coordenadas de pantalla a coordenadas poalres y horizontales)... y también dispara dos eventos: uno cuando el usuario realiza un crop (con el botón derecho del ratón) para informar a la cámara del nuevo subframe y otro evento cuando el usuario pica sobre una estrella, para informar de que se ha de buscar un nuevo centroide. Además se puede configurar para que trabaje en modo "AutoSize" (se ajusta al tamaño de la ventana) o "AutoScroll" (se representan barras de scroll)
 
EQACam: este proyecto se encarrga de centralizar el acceso a cámaras a partir de Camera. Camera implementa el acceso a cada driver de cámara mediante el interfaz CameraInterface. Las cámaras también implementan el interfac GuiderInterface que está definido en el proyecto EQAScope.
    He añadido un driver para ASCOM: ASCOMCam, pero no consigo conectarme al la cámara de simulación de ASCOM, salta una excepción. No le he dedicado mucho tiempo porque prefiero ir esbozando todo el esquema.
    He comprobado la implementación de las Artemis/Atik y también funciona bien el acceso a WDM (webcams y supuestamente tambien las DMK). También hay un esbozo de las DSI.
 
EQAScope: Pues eso: el acceso a los telescopios (por ahora sólo ASCOM) a través de la clase pública Scope
 
CamCap: Proyecto de testeo de Cámaras. He quitado la representavción de la imagen y he incluido el control UCImgContainer de EQAControls. En este proyecto hay una serie de controles que gestionan el histograma, Gamma, COntraste, desenfoque, apilado... estos controles quiero centralizarlos en un control de usuario que estará en EQAControls, por supuesto.
 
TestScope: Pues eso: un proyecto que testea la conexión a telescopios. No lo he tocado desde la última vez. La gestión de telescopio funciona (creo) prefectaemnte. Hay dos controlPads, uno para el telecopio y otro para el autoguiador que podría ser: un telescopio ascom, una cámara con relay, un relaybox. Aquí es donde entraría aquella clase genérica de control de hardware que les había comentado, que se encargaría de gestionar el negocio de conexión/desconexión de dispositivos. Creo que es la mejor solución para poder compartir el autoguiado de relays-cámaras/relaybox/telescopios.
 
 
Me gustaría que actualizaran el proyecto y que comprobaran CamCap (crop con botón derecho del ratón) y TestScope.
 
Bien, espero comentarios.
 
Un saludo!