midusi / spectrogram Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU Affero General Public License v3.0
License: GNU Affero General Public License v3.0
No clonar, porque va a confundir al usuario y además se rompe si no hay Espectros
Al iniciar la aplicación, si el servidor no está funcionando se muestra un modal diciendo que hubo un error en el server.
En lugar de eso, indicar que "No se pudo conectar con el servidor; recargue la página para volver a intentarlo", y no dejar que se cierre el mensaje modal.
No sé como lo están haciendo por atrás, pero otra opción seŕia que el frontend podría quedar haciendo polling al server hasta que pueda conectarse, y recién ahí se quite el mensaje modal. Eso podría funcionar para todos los requests, es decir, podría ser una funcionalidad genérica de que si un request no funciona porque el servidor está abajo, se impide usar la app hasta que se restaure la conexión, y se reintente hacer la operación mientras.
En cualquier caso, podrían utilizar un ícono más adecuado también para indicar la falta de conexión.
Agregar controles de:
Agregar una carpeta "screenshots" con capturas de pantalla del sistema en funcionamiento y la fecha, para tener documentado el recorrido del software
Que se configure desde un archivo en el servidor
Considerar también los archivos fits dentro del directorio de trabajo. Al abrir un archivo fits:
Cuando se cargan datos de un espectro (al menos 1 campo), y luego se quiere borrar el espectro, se debe pedir confirmación al usuario e indicarle que va a perder los metadatos de ese espectro de forma irreversible.
Cambiar a "Valores por defecto"
Primero va la placa (que diga Placa) luego un label " Espectros:" y luego los Espectros (1,2,etc)
Los valores de algunos campos de los metadatos deben poder elegirse de un widget combobox o similar y se debe permitir agregar o quitar valor a la lista de los valores posibles. Estos valores deben persistir entre sesiones. Además, se debe poder elegir un default.
@nehuen por favor lista acá los campos a aplicarle este widget.
En este momento, se guardan en la misma carpeta de los fits 'output'
Que se guarden en otra carpeta, llamada 'training_data'
Ahora, si esos directorios no existen, el frontend queda colgado y salta un error en el backend.
Se podría mostrar el error en el frontend, pero en verdad deberían crearse automáticamente en el directorio de trabajo, y no tirar un error en este caso.
Poner el botón de buscar metadatos dentro del formulario y armar dos pasos para llenar (primero obligatorio y luego el resto)
Pasar botón de exportar fits dónde está ahora el de buscar metadatos
Pero guardarlos en blanco en el fits resultante.
Que se genere en una carpeta aparte llamada "sedici_txt", con un archivo por cada espectro con la descripción del mismo.
Si el usuario cambia la transformación, que se persista para la próxima vez que abra la app o si abre otra imagen y vuelve. Persistirlo junto con los bounding boxes
Actualmente los espectros se muestran verticales y no es la forma natural de verlos.
Cambiar la UI para que se vean horizontales, aunque cuando se escanean están verticales.
Sin los atributos obligatorios no se puede exportar el fits
De los Espectros:
De la placa:
Uno para la placa (PLATE-COMMENT), y luego uno por espectro (OBJECT-COMMENT)
Los campos para atributos de la placa deberían ser los mismos para toda la placa y modificarse desde un solo lugar independiente a los espectros
Los campos son:
Se aplican para las nuevas imágenes
backend/Python.. tiene una versión de python entera comitteada al repo. Quitarla, no corresponde :)
Están divididos en dos, los otros se acceden desde "mas metadatos". Que se vean todos en el programa principal.
Si no se pueden exportar los fits, se muestra un hover en el botón explicando por qué ("faltan datos obligatorios en el espectro 2")
Para que siempre queden horizontales los Espectros al cargar
El sitio https://fits.gsfc.nasa.gov/fits_verify.html permite verificar que estén los keywords necesarios para la exportación bien codificados en los fits. Verificar algunos 2 o 3 fits que salen.
Nota: Esto no es un feature. Verificar a mano un par de veces y listo.
Al exportar todos, queda marcada la placa como finalizada.
Los nombres de lo archivos fits a generar deberían componerse tanto del nombre del archivo original como del object ID del espectro dentro de archivo. Algo asi como ARCHIVOORIGINAL_OBJECTID.fits . De esa manera, además, si se vuelve a procesar un archivo original se puede saber si ya tiene espectros generados a partir del mismo.
En el fits, además entonces, debería guardarse el bounding box con el que se recortó el espectro en el archivo original.
Además, en la UI debería indicarse cuando un espectro ya ha sido guardado en disco con una tilde verde, y cuando no con un signo de exclamación amarillo o rojo. Al modificarse luego de guardado, debe nuevamente ponerse el signo de exclamación
Alternativa: SIEMPRE persistir los espectros, ante cualquier cambio, tipo como funciona google docs.
Uno para la placa (PLATE-COMMENT), y luego uno por espectro (OBJECT-COMMENT)
Si no hay conexión, permitir cargar a mano
Mostrar mensaje flotante que desaparece a los 5 segundos indicando la falla de conexión.
Lo mismo debe pasar si hay conexión pero no sé encuentra el objeto
Básicamente un visualizador del flag de hubo cambios/ fueron guardados
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.