GithubHelp home page GithubHelp logo

midusi / spectrogram Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 165.64 MB

License: GNU Affero General Public License v3.0

Jupyter Notebook 95.95% Python 3.35% Dockerfile 0.02% Shell 0.04% JavaScript 0.33% CSS 0.01% HTML 0.01% Svelte 0.30%

spectrogram's People

Contributors

facundoq avatar joaquinmir avatar nebulosa-r avatar nehuenpereyra avatar sansanto2000 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

spectrogram's Issues

Elección de la carpeta con los archivos

  1. Al cargar la aplicación, cargar automáticamente la lista de archivos de la última carpeta utilizada
  2. Agregar diálogo para poder elegir la carpeta en donde se buscan las imágenes

Funcionalidad de Pan&Zoom

  1. Poner fijo el tamaño de la placa sin importar el zoom o el centro
  2. Agregar funcionalidad de Panning

No permitir cargar la aplicación sin conexión al servidor

Al iniciar la aplicación, si el servidor no está funcionando se muestra un modal diciendo que hubo un error en el server.

Screenshot_20220610_184331

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.

Ajustar la visualización del espectro

Agregar controles de:

  • Brillo y contraste en base a:
    • Rango de valores mínimo y máximo y escalado de valores en el medio
    • Curva de valores logarítmica o lineal
  • Colorizar (ver los blancos como otro color, rojos por ejemplo, que se ven más fácil en algunos monitores)

Poder cargar fits

Considerar también los archivos fits dentro del directorio de trabajo. Al abrir un archivo fits:

  • Cargar la imagen del fits
  • Detectar los bounding boxes/Espectros
  • Ponerle los metadatos del fits a todos los Espectros
  • El usuario debería borrar los espectros que no van

Confirmar borrado de espectros con metadatos

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.

Fewdback al buscar metadatos

  1. Si ya hay metadatos cargados, y se vuelven a buscar, preguntar si queres reemplazar los anteriores
  2. Los datos cargados automáticamente se pintan de un color de fondo: si se modifican pierden el color

Valores de metadatos elegibles y persistentes

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.

Botones de buscar metadatos y exportar fits

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

Controles de imagen

  1. Quitar UI de configuracion por defecto
  2. Agregar boton de guardar configuracion actual como por defecto (ir en la barra de "Filtros" arriba)
  3. Quitar boton de Reiniciar Filtros
  4. Agregar boton de Ver Imagen Original
  5. Actualizar valores cuando se corre la barra
  6. Dar como elección solo 4 colores predefinidos (verde, cian, amarillo y original)
  7. Achicar barras y poner 4 controles en una sola linea

Visualizar los espectros horizontales

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.

Atributos obligatorios

Sin los atributos obligatorios no se puede exportar el fits

De los Espectros:

  • object
  • Ut
  • date-obs
  • observat

De la placa:

  • Nro placa

Atributos de la placa

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:

  • Digitalizador
  • Nro placa (obligatorio para exportar)
  • observatorio,
  • scanner
  • scan res
  • scan col
  • telescopio
  • instrumento

Mostrar grado de procesamiento de cada imagen

El usuario que escanea y anota debe poder ver el progreso que ha realizado en la anotación de los espectros y si hay imágenes nuevas escaneados.

Agregar información de cada imagen listada, por ejemplo:
ui_espectros

Otras columnas posibles: fecha de escaneo, última modificación

Nombres de los archivos fits generados

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.