Automate Saving of images from the camera for later review

Abierto
#297 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
python

Línea de trabajo

Start by reading the solver function where the issue suggests hooking the capture trigger, plus the config handling and console menu modules to see how settings are stored and surfaced. Map out where web config, console menus, and the camera capture path intersect, then discuss the proposed design with maintainers before coding — the issue is a proposal, not an agreed spec. Done looks like timed or sky-change-triggered image saves with config, console controls, a storage folder with capacity protection, and web-based viewing/download/deletion.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

enhancement

If someone wanted to insert a "save what the camera sees every N seconds" routine into the pifinder stack (through a fork + PR) where would you like to see this added?

I would like to add:

  • config item to the web to set default capture
    • None
    • Timer (seconds)
    • Sky change
  • Capture Settings:
    • interval in seconds
    • Sky change Delta of float(RA), Delta of float(Dec)
  • console menu to select current image capture mode (default behavior to only be modifiable from the web config)
  • console menu to adjust the interval seconds and save to stored config (RA/Dec should probably only be changed in the web config)
  • web page area for viewing/downloading/erasing the images.
  • a storage folder
  • card capacity protection

The solver function is likely the best place to put this so it triggers on a timer always.

from datetime
now = datetime.datetime.now()

New dataclass called "last_solve"
- timestamp: datetime = <time of last platesolve>
- RA: float = CurrentSolve.RA
- Dec: float = CurrentSolve.Dec


def TakeNewPhoto:
   imageformat = "PNG"
   NewFileName =  f"{now.strftime("%Y-%m-%d %H%M%S}_RA-{CurrentSolve.RA}_Dec{CurrentSolve.Dec}.{imageformat.lower()}"
   image.save(NewFileName,imageformat)

if config.imagecapture = interval
   if now - last_solve.timestamp).total_seconds()) > config.ImageCaptureInterval:
      <take a new photo>
elif config.imagecapture = skychange
  import math
  if math.isclose(abs(last_solve.RA), abs(current_solve.RA),rel_tol=config.skychangedelta) || math.isclose(abs(last_solve.Dec), abs(current_solve.Dec),rel_tol=config.skychangedelta):
    <take new photo>

Lenguaje dominante
Jupyter Notebook
Estrellas
253
Forks
63
Merge medio
11 h 55 min
PR fusionados (30 d)
8

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de brickbots/PiFinder

Todos los issues de brickbots/PiFinder

Issues similares

Más issues de Backend & API Design

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.