Author Topic: Historial de un preview transformado en imagen  (Read 4289 times)

Offline David Serrano

  • PTeam Member
  • PixInsight Guru
  • ****
  • Posts: 503
Historial de un preview transformado en imagen
« on: 2007 September 20 13:05:26 »
Pongamos que tenemos un preview al cual hemos aplicado varios procesos, uno detrás de otro, pinchando en "Store preview" cada vez. Convertimos este preview en imagen y nos vamos al historial de la imagen. ¿Qué significa lo que vemos? Aparecen los procesos que se han aplicado al preview colgando del estado inicial, y parece como si se pudieran usar sólo como referencia, sólo para lectura.

Hubiera esperado obtener lo mismo que con el preview, es decir, una lista secuencial de procesos, con la flechita naranja abajo de todo. Sin embargo pruebo a hacer doble clic para mover la flechita (en la imagen generada a partir del preview) y no pasa nada, lo cual es comprensible porque el sitio de la flechita está "ocupado" por las líneas punteadas que indican que estos procesos cuelgan del papi.

Entonces le paso un proceso adicional a esta imagen y sí que obtengo ya lo que quiero, aunque esos procesos que venían de antes siguen estando igual de autistas ;).
--
 David Serrano

Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 7111
    • http://pixinsight.com/
Historial de un preview transformado en imagen
« Reply #1 on: 2007 September 20 23:20:07 »
Todas las imágenes en PixInsight disponen de una colección de instancias de proceso, encapsulada por una instancia de ProcessContainer de sólo lectura, que se llama estado inicial. El estado inicial de una imagen recoge todos los procesos que dieron lugar al estado actual de la imagen cuando ésta es creada. Si una imagen ha sido cargada desde un archivo, su estado inicial está vacío, ya que la operación de lectura de un archivo de imagen no es un proceso en PixInsight.

En cualquier otro caso, cuando se crea una imagen, ya sea desde un módulo de proceso o desde un script, la imagen contiene el proceso creador de la misma como su estado inicial. Es muy sencillo comprobar esto. Lanza la interfaz de NewImage (Ctrl+N) y pulsa F6 (Apply Global). Activa la imagen que se acaba de crear y haz clic con el botón secundario sobre ella. Escoge Load History Explorer (Ctrl+Alt+Shift+H). En History Explorer podrás comprobar cómo el estado inicial de la imagen contiene la instancia de NewImage que la originó. Lo mismo pasaría si la imagen la hubieras creado desde un script: todo el código fuente del script (ligeramente alterado, eso sí) estaría disponible como una instancia de Script en el estado inicial de la imagen.

Lo realmente bonito de esto (está mal que yo lo diga, ya lo sé) es que la asignación de estados iniciales es completamente automática: ni los módulos de proceso ni los scripts tienen que hacer nada en absoluto para que la plataforma genere clones de sus instancias respectivas y los convierta en estados iniciales. También está mal que yo diga esto, pero esto es una demostración de fuerza de la arquitectura orientada a objetos de PixInsight  8)

Finalmente, ahora puedo responder directamente a tu pregunta: cuando duplicas una imagen o conviertes un preview en una imagen, todo el historial de procesos del objeto original hasta la posición actual en el mismo (es decir exceptuando las instancias que hubieran podido ser deshechas) se recopila en un ProcessContainer que es asignado a la imagen nueva como su estado inicial.

Piensa que es lógico que los estados iniciales sean de sólo lectura. De no ser así, la plataforma tendría que estar arrastrando todos los estados previos almacenados para todas las imágenes clonadas, incluyendo duplicados de todos los archivos de intercambio correspondientes. ¿Tendría esto sentido?
Juan Conejero
PixInsight Development Team
http://pixinsight.com/