Hoy como hago periódicamente, reviso si alguien ha enlazado mis fotos de flickr, y me he llevado la sorpresa que 2 personas al hacer referencia a las fiestas de San Lorenzo en sus blogs, han utilizado fotos mías, además creo que bastante bien usadas, ya que han puesto la fuente de las mismas.
Con lo cual yo contento, porqué alguien piensa que mis fotos pueden representar mis fiestas y porqué se demuestra que normalmente la gente intenta ser agradable y cumplir las normas.
Gracias a Caelio (seguro que su mujer le ha recordado la fecha, ya que por lo que cuenta en su blog es oscense o "fatica") y a Eolas (me enlazan en francés) por acodarse de mi pueblo.
Ya puestos, fotico al canto de este año. También de la ofrenda de flores y frutos al santo, El gaitero de Castejón de Monegros con la gaita aragonesa, también llamada de boto.
Salududus
martes, agosto 21, 2007
lunes, agosto 06, 2007
Viaje a Soria e iluminación
En el verano, no me apetece nada programar, con lo cual se está convirtiendo esto en un fotoblog.
Aunque tengo que reconocer que estoy contento porqué al ir apuntando las cosas aquí, cuando retome el tema mas adelante, podré continuar, simplemente releyendome las entradas del blog. Fenomenal ¿no?
Estuve de boda en Soria y aproveché en hacer algo de turismo, hay muchas cosas bonitas, pero no me salieron grandes fotos, me imagino que además de la torpeza del fotógrafo, la luz del mediodía tan dura me hizo las fotos "sosas", sin embargo pasando alguna foto a sepia creo que me ha gustado.
¿Me debo estar volviendo un pijo de la luz?
La lectura del blog strobistenespañol me debe estar afectando. Un día me fuí al puente de piedra para hacer fotos al atardecer, aun sin quitar el flash de la zapata ni cosas de esas que hacen en el grupo me quedó algo bastante curioso que a mi me gustó.
Otro campo más que aprender. De momento el jueves empiezan las fiestas de San Lorenzo, a ver si nos vemos por Huesca
Aunque tengo que reconocer que estoy contento porqué al ir apuntando las cosas aquí, cuando retome el tema mas adelante, podré continuar, simplemente releyendome las entradas del blog. Fenomenal ¿no?
Estuve de boda en Soria y aproveché en hacer algo de turismo, hay muchas cosas bonitas, pero no me salieron grandes fotos, me imagino que además de la torpeza del fotógrafo, la luz del mediodía tan dura me hizo las fotos "sosas", sin embargo pasando alguna foto a sepia creo que me ha gustado.
¿Me debo estar volviendo un pijo de la luz?
La lectura del blog strobistenespañol me debe estar afectando. Un día me fuí al puente de piedra para hacer fotos al atardecer, aun sin quitar el flash de la zapata ni cosas de esas que hacen en el grupo me quedó algo bastante curioso que a mi me gustó.
Otro campo más que aprender. De momento el jueves empiezan las fiestas de San Lorenzo, a ver si nos vemos por Huesca
Etiquetas:
fotografia,
huesca,
soria,
strobistenespanol
martes, julio 17, 2007
Muchos días sin pasarme por aqui
Tengo abandonadas todas mis actividades de programación, al fin y al cabo esto es una "diversión", en las que muchas veces cuando sabes como puedes hacer las cosas, estas pierden su interés.
Lo que si que he hecho en mis minivacaciones son fotos, bastantes fotos, y me he quedado bastante impresionado como funcionan los polarizadores circulares, no esperaba tanto cambio, pero estoy muy contento de haberme comprado uno, y me imagino que me va a acompañar mucho tiempo.
Os pongo una muestra de la estación de esqui de Cerler. He tratado un poco por zonas el cielo oscureciendolo y el resto dándole mas luminosidad. pero el resultado de partida ya me gustaba mucho.
Un saludo
Lo que si que he hecho en mis minivacaciones son fotos, bastantes fotos, y me he quedado bastante impresionado como funcionan los polarizadores circulares, no esperaba tanto cambio, pero estoy muy contento de haberme comprado uno, y me imagino que me va a acompañar mucho tiempo.
Os pongo una muestra de la estación de esqui de Cerler. He tratado un poco por zonas el cielo oscureciendolo y el resto dándole mas luminosidad. pero el resultado de partida ya me gustaba mucho.
Un saludo
Etiquetas:
cerler,
filtros,
fotografia,
polarizador
sábado, junio 23, 2007
Técnicas de enfoque
Muchos días sin pasarme por aqui, he estado enfermo y aunque este fin de semana ya estoy mejor, me apetece mas ir a hacer fotos que programar, además estoy esperando que me llegue un objetivo nuevo.... ¡¡¡ Que ganas!!!
Una vez disculpado, una anotación de un artículo muy majo que he leido sobre distintas técnicas para mejorar el enfoque en photoshop. Es un artículo antiguo de quesabesde.
Lo dejo anotado porqué lo recuperaré y experimentaré un poco.
http://www.quesabesde.com/camdig/articulos.asp?articulo=120
Salududus
Una vez disculpado, una anotación de un artículo muy majo que he leido sobre distintas técnicas para mejorar el enfoque en photoshop. Es un artículo antiguo de quesabesde.
Lo dejo anotado porqué lo recuperaré y experimentaré un poco.
http://www.quesabesde.com/camdig/articulos.asp?articulo=120
Salududus
sábado, junio 16, 2007
Otra foto
Bueno, esta semana no me ha apetecido programar mucho, pero hoy he estado probando herramientas open source para tratar raws y generar un hdr, la aplicaciones en cuestión son
y este es el resultado
Tengo que mejorar, el que me ha quedado un poco de ruido en las zonas oscuras, me imagino que seré yo y no las herramientas.
Si alguien sabe como.... ahí teneis los comentarios
- ufraw
- qtpfsgui
y este es el resultado
Tengo que mejorar, el que me ha quedado un poco de ruido en las zonas oscuras, me imagino que seré yo y no las herramientas.
Si alguien sabe como.... ahí teneis los comentarios
miércoles, junio 13, 2007
Mas opciones
Mirando como extraer los datos de los ficheros CR2, me he encontrado con dos herramientas que me pueden ir mucho mejor para todo lo que estoy haciendo.
Para extraer los thumbnails de los ficheros CR2 el dcram, algo tan sencillo como:
Nos extrae el thumbnail adecuado. En cuanto al Tiff y el jpeg, lo podemos transformar a traves de la librería Pil.
Una cosa que me ha hecho plantearme también la forma de sacar la información es el script en perl exiftool. Me parece bastante mas completa la información que el exifprobe. con lo que estoy dudando en cambiarme.
Una cosa que me planteo, es que si toda la información de la foto, está en ella misma, no voy a sacar casi ningún dato de la misma, cuando quiera extraré los datos de la misma on-line, me imagino que la cargaré poco a poco.
Me gustaría abstraer el tipo de fichero independiente de que sea Tiff, CR2 o Jpeg, con lo que me tendré que mirar el polimorfismo en python.
De momento crearé una clase para el manejo de ficheros fotograficos, solo con la extracción de los de los thumbnails y que llame a un método u otro cuando dependiendo del tipo de foto.
Para extraer los thumbnails de los ficheros CR2 el dcram, algo tan sencillo como:
dcraw -e img_1222.cr2
Nos extrae el thumbnail adecuado. En cuanto al Tiff y el jpeg, lo podemos transformar a traves de la librería Pil.
Una cosa que me ha hecho plantearme también la forma de sacar la información es el script en perl exiftool. Me parece bastante mas completa la información que el exifprobe. con lo que estoy dudando en cambiarme.
Una cosa que me planteo, es que si toda la información de la foto, está en ella misma, no voy a sacar casi ningún dato de la misma, cuando quiera extraré los datos de la misma on-line, me imagino que la cargaré poco a poco.
Me gustaría abstraer el tipo de fichero independiente de que sea Tiff, CR2 o Jpeg, con lo que me tendré que mirar el polimorfismo en python.
De momento crearé una clase para el manejo de ficheros fotograficos, solo con la extracción de los de los thumbnails y que llame a un método u otro cuando dependiendo del tipo de foto.
Extraer los thumbnails
He tomado alguna nota sobre las marcas del fichero exif, para la extracción de los diferentes thumbnails, parece ser que las marcas necesarias son StripOffsets con la posición donde empieza el jpeg y StripByteCounts con la longitud del mismo.
Me llama la atención que en los CR2 parece que hay hasta 4 jpegs incluidos en la foto.
En cuanto a los ficheros Tiff, parece ser que los abre directamente la librería gráfica PIL, pero tengo que asegurar que se puede cuando las profundidades de color son 16 bits por canal y además hay capas guardadas.
Son mis lineas de investigación ahora...
Me llama la atención que en los CR2 parece que hay hasta 4 jpegs incluidos en la foto.
En cuanto a los ficheros Tiff, parece ser que los abre directamente la librería gráfica PIL, pero tengo que asegurar que se puede cuando las profundidades de color son 16 bits por canal y además hay capas guardadas.
Son mis lineas de investigación ahora...
martes, junio 12, 2007
Buenas nuevas y próximos pasos
Hola,
No he programado mucho este fin de semana, solo lo suficiente para ya tener importadas un número de fotos con exif, y los ficheros quedan en distintos directorios, por año/mes/día.
El próximo paso está claro, la creación de los thumbnails, para los jpeg, es muy sencillo, solo hace falta utilizar la librería de manejo de imágenes de python PIL (python imaging library) en cuanto a los ficheros Tiff y a los CR2 de canon tengo que extraer los jpeg embebidos. No creo que sea muy complicado porque la utilidad exifprobe te dice tanto la longitud como la posición de inicio el jpeg incustrado. Ya os contaré.
La verdad que tengo muchas ganas de continuar, ya que luego ya empiezo con la programación de las vistas, hoy he estado pensando como hacerlo, he pensado que una buena forma, sería tipo calendario en la que pudieramos tener una vista en tipo año, en la que se pudiera seleccionar el mes, con miniaturas pequeñas, 4 o 5 por fila y luego una vista mes, en la que selecionaramos el día en la que pondríamos solo uno por fila, con comentarios al lado.
He mirado las opciones de ir cargando las fotos poco a poco a través de AJAX utilizando seguramente el serializador de JSON de django.
Además estoy mirando el tema de los test de regresión....
Muchas cosas y tan poco tiempo, ya os cuento
No he programado mucho este fin de semana, solo lo suficiente para ya tener importadas un número de fotos con exif, y los ficheros quedan en distintos directorios, por año/mes/día.
El próximo paso está claro, la creación de los thumbnails, para los jpeg, es muy sencillo, solo hace falta utilizar la librería de manejo de imágenes de python PIL (python imaging library) en cuanto a los ficheros Tiff y a los CR2 de canon tengo que extraer los jpeg embebidos. No creo que sea muy complicado porque la utilidad exifprobe te dice tanto la longitud como la posición de inicio el jpeg incustrado. Ya os contaré.
La verdad que tengo muchas ganas de continuar, ya que luego ya empiezo con la programación de las vistas, hoy he estado pensando como hacerlo, he pensado que una buena forma, sería tipo calendario en la que pudieramos tener una vista en tipo año, en la que se pudiera seleccionar el mes, con miniaturas pequeñas, 4 o 5 por fila y luego una vista mes, en la que selecionaramos el día en la que pondríamos solo uno por fila, con comentarios al lado.
He mirado las opciones de ir cargando las fotos poco a poco a través de AJAX utilizando seguramente el serializador de JSON de django.
Además estoy mirando el tema de los test de regresión....
Muchas cosas y tan poco tiempo, ya os cuento
viernes, junio 08, 2007
Script interesante
Hoy no he hecho nada, pero he leido una cosa que creo que puede ser interesante.
Uno de los problemas que tengo al utilizar django, es como depurar cosas sin necesidad de utilizar el web, como llamar a las clases que utiliza para los modelos, sin tener que preparar ninguna vista, además de poder utilizar el depurador del eclipse, con ejecución paso a paso y todas esas cosas.
Pues puede que en este artículo: script for run a django task tenga parte de la solución. Como importar el entorno de django en un programa normal de python y así poder depurar mejor las clases que vas a utilizar en tu web.
Como tengo que investigarlo lo apunto aqui para que no se me olvide.
Saludos
Uno de los problemas que tengo al utilizar django, es como depurar cosas sin necesidad de utilizar el web, como llamar a las clases que utiliza para los modelos, sin tener que preparar ninguna vista, además de poder utilizar el depurador del eclipse, con ejecución paso a paso y todas esas cosas.
Pues puede que en este artículo: script for run a django task tenga parte de la solución. Como importar el entorno de django en un programa normal de python y así poder depurar mejor las clases que vas a utilizar en tu web.
Como tengo que investigarlo lo apunto aqui para que no se me olvide.
Saludos
jueves, junio 07, 2007
La interfaz admin de django
Una de las cosas por las que me encanta django, es por el interfaz que te crea automaticamente si quieres visualizar a través de web tu base de datos. Solo hace falta añadir una subclase Admin a las clases heredadas de los modelos.
Por ejemplo en mi caso:
Esto ya me crea la infraestructura necesaria para visualizar, añadir y borrar registros en la base de datos a través de un interfaz web.
Pero hoy me he encontrado un problema, o simplemente viene de no haberme leido toda la documentación o de estar usando la versión de desarrollo.
No es es capaz de visualizarme en el interfaz de administración los campos de tipo FileField o CharField
este campo consigue darme error en el interfaz de administración
Continuaré investigando a ver como se soluciona el tema, pero claro, eso será otro rato libre que tenga.
Nota: También me voy a tener que mirar el blogger para que me respete las tabulaciones a la hora de mostrar trozos de código ya que en python es imprescindible
Actualización (8/06 20:00): Como era lógico el problema era mío, no de django, en el momento que empiece a ver las limitaciones del interfaz, será que ya se bastante, hasta entonces me imagino que continuaré pegandomela.
El problema en cuestión es que no se en que circustancias, no se me había actualizado la base de datos aunque había hecho un manage.py flush y syncdb.
Cuando he revisado la estructura de las tablas de la base de datos, he visto que no se me habían actualizado los cambios.
De momento, solución radical, después de cambiar la base de datos, la borro (es un fichero porqué he empezado en sqlite) y la vuelvo a crear.
Ahora funciona bien y ya tengo las 2 tablas casi rellenas, a falta de los tamaños de las fotos, y sacar los thumbnails del los ficheros CR2, solo me queda para una primera importación el mover los ficheros que puedo importar automáticamente a sus lugares de destino.
Por ejemplo en mi caso:
class Photo(models.Model):
date_time_original = models.DateTimeField()
make = models.CharField(maxlength=50)
model = models.CharField(maxlength=50)
exposure_time = models.CharField(maxlength=50, null=True)
iso = models.CharField(maxlength=50, null=True)
f_number = models.CharField(maxlength=50, null=True)
class Admin:
pass
Esto ya me crea la infraestructura necesaria para visualizar, añadir y borrar registros en la base de datos a través de un interfaz web.
Pero hoy me he encontrado un problema, o simplemente viene de no haberme leido toda la documentación o de estar usando la versión de desarrollo.
No es es capaz de visualizarme en el interfaz de administración los campos de tipo FileField o CharField
este campo consigue darme error en el interfaz de administración
file = models.CharField(maxlength=100, null=True)
Continuaré investigando a ver como se soluciona el tema, pero claro, eso será otro rato libre que tenga.
Nota: También me voy a tener que mirar el blogger para que me respete las tabulaciones a la hora de mostrar trozos de código ya que en python es imprescindible
Actualización (8/06 20:00): Como era lógico el problema era mío, no de django, en el momento que empiece a ver las limitaciones del interfaz, será que ya se bastante, hasta entonces me imagino que continuaré pegandomela.
El problema en cuestión es que no se en que circustancias, no se me había actualizado la base de datos aunque había hecho un manage.py flush y syncdb.
Cuando he revisado la estructura de las tablas de la base de datos, he visto que no se me habían actualizado los cambios.
De momento, solución radical, después de cambiar la base de datos, la borro (es un fichero porqué he empezado en sqlite) y la vuelvo a crear.
Ahora funciona bien y ya tengo las 2 tablas casi rellenas, a falta de los tamaños de las fotos, y sacar los thumbnails del los ficheros CR2, solo me queda para una primera importación el mover los ficheros que puedo importar automáticamente a sus lugares de destino.
miércoles, junio 06, 2007
Fotos del Pantano
lunes, junio 04, 2007
Notas para la manipulación de la base de datos
He estado investigando las posibilidades que me ofrece el API de django a la hora de insertar nuevas fotos en la base de datos.
Me va a ser util el get_or_create() en el cual intentas traerte un registro de la base de datos y sino lo crea.
Interesante también el select_related() que te selecciona además de la tabla en cuestión, las tablas relacionadas mediante foreing_key.
Por otro lado he estado investigando, como mover los ficheros en python, en este caso el módulo necesario es shutil, que implementa todas las funciones necesarias cp, mv....
Un fleco que me queda es comprobar la existencia del directorio, antes de mover y sino, crearlo.
Ahora toca: introducir este código y luego mirar la extracción de los thumnails en los ficheros CR2, así como las dimensiones en los ficheros JPEG
Stay tuned....
Me va a ser util el get_or_create() en el cual intentas traerte un registro de la base de datos y sino lo crea.
Interesante también el select_related() que te selecciona además de la tabla en cuestión, las tablas relacionadas mediante foreing_key.
Por otro lado he estado investigando, como mover los ficheros en python, en este caso el módulo necesario es shutil, que implementa todas las funciones necesarias cp, mv....
Un fleco que me queda es comprobar la existencia del directorio, antes de mover y sino, crearlo.
Ahora toca: introducir este código y luego mirar la extracción de los thumnails en los ficheros CR2, así como las dimensiones en los ficheros JPEG
Stay tuned....
sábado, junio 02, 2007
Mas lento de lo previsto
La herramienta de importación me está llevando mas de lo previsto, eso que no he estoy teniendo en cuenta mas que me vaya para mis 2 cámaras fotográficas. Me estoy encontrando que las etiquetas exif que utiliza cuando es un fichero CR2 o TIFF son diferentes que los jpegs. Cosas como las dimensiones de las fotos no se marcan igual, me imagino que en JPEG podrás sacarlas directamente, aunque aún no sé como.
Otra etiqueta que me ha sorprendido el que estuviera distinta en la IXUS 500 y en el EOS 350D, es el iso utilizado en la foto.
Por otro lado estoy contento, porque ya importo correctamente todos los formatos en la base de datos en la tabla PHOTOS, ahora me quedaría la tabla VERSIONS.
También tengo ya en cuenta el que tengan los ficheros CR2 el fichero xmp asociado.
Empiezo a ver cercano el tener mis 5000 fotos totalmente organizadas como yo quiero y con buenos backups.
Luego empezaré con las fotos que están sin datos exif, con una importación manual así como el interfaz web para la visualización y la edición remota.
En fin continuamos currando. De momento esta tarde me voy a hacer fotos al pantano que están mis amigos los surferos, a ver que tal.
Otra etiqueta que me ha sorprendido el que estuviera distinta en la IXUS 500 y en el EOS 350D, es el iso utilizado en la foto.
Por otro lado estoy contento, porque ya importo correctamente todos los formatos en la base de datos en la tabla PHOTOS, ahora me quedaría la tabla VERSIONS.
También tengo ya en cuenta el que tengan los ficheros CR2 el fichero xmp asociado.
Empiezo a ver cercano el tener mis 5000 fotos totalmente organizadas como yo quiero y con buenos backups.
Luego empezaré con las fotos que están sin datos exif, con una importación manual así como el interfaz web para la visualización y la edición remota.
En fin continuamos currando. De momento esta tarde me voy a hacer fotos al pantano que están mis amigos los surferos, a ver que tal.
jueves, mayo 31, 2007
Progresos, progresos, progresos
Cuando te pones a programar una aplicacioncilla como la que tengo en mente, llega un momento que después de pensarlo, hay que ponerse a ello y tirar lineas de código, además, como te falta todo no sabes por donde empezar.
Yo he decidido lo siguiente:
De momento pongo la última foto que subí a flickr. en la que utilicé unos tubos de expansión que me dejaron.
Yo he decidido lo siguiente:
- importar directamente desde el mismo ordenador (de momento sin que sea a través de la web) todos los ficheros fotográficos.
- Archivar los ficheros en la estructura descrita anteriormente.
- Crear los thumnails asociados.
- Visualizar vía web, los ficheros fotográficos.
- Manejar distintas revisiones por ficheros.
- Visualizar distintas revisiones de un fichero.
- Introducir manualmente ficheros.
- .....
De momento pongo la última foto que subí a flickr. en la que utilicé unos tubos de expansión que me dejaron.
sábado, mayo 26, 2007
Organización física
Con todo lo expuesto, solo me queda ya un punto para empezar a codificar las primeras lineas de código, que es la organización física de todos los ficheros.
Las principal característica en la que pienso: Tiene que estar agrupado de tal forma que sea fácil hacer backup, para poder disponer de distintas copias.
Personalmente me gusta la organización DirectorioAño/DirectorioMes/DirectorioDía para los negativos, lo que no tengo muy claro que hacer con las versiones, si ponerlas en el mismo directorio que los negativos y renombrar si es necesario, crear un directorio por foto tratada o replicar la estructura para las fotos procesadas como tengo ahora.
Segun voy escribiendo, la opción que me parece mejor es la primera, aunque renombrando el fichero, poniendo un prefijo, con el idFoto y el número que ocupa en la tabla de versiones, teniendo en cuenta que todos los negativos van ha empezar por IMG o _IMG, me permitiría que estando en la misma localización estuvieran separados.
Sigo pensando mientras escribo..... Mejor todas las fotos poner el prefijo adecuado, ya que todas las fotos van a estar en la tabla de versiones el prefijo sería de forma P15V1_IMG_1050.CR2.
Decidido, voy a empezar así, el prefijo para todas las fotos y luego los thumnails simplemente P15V1.jpg.
Ahora, a empezar, que ya tengo tajo :-P
Las principal característica en la que pienso: Tiene que estar agrupado de tal forma que sea fácil hacer backup, para poder disponer de distintas copias.
Personalmente me gusta la organización DirectorioAño/DirectorioMes/DirectorioDía para los negativos, lo que no tengo muy claro que hacer con las versiones, si ponerlas en el mismo directorio que los negativos y renombrar si es necesario, crear un directorio por foto tratada o replicar la estructura para las fotos procesadas como tengo ahora.
Segun voy escribiendo, la opción que me parece mejor es la primera, aunque renombrando el fichero, poniendo un prefijo, con el idFoto y el número que ocupa en la tabla de versiones, teniendo en cuenta que todos los negativos van ha empezar por IMG o _IMG, me permitiría que estando en la misma localización estuvieran separados.
Sigo pensando mientras escribo..... Mejor todas las fotos poner el prefijo adecuado, ya que todas las fotos van a estar en la tabla de versiones el prefijo sería de forma P15V1_IMG_1050.CR2.
Decidido, voy a empezar así, el prefijo para todas las fotos y luego los thumnails simplemente P15V1.jpg.
Ahora, a empezar, que ya tengo tajo :-P
Organización de las tablas
Con la información expuesta en la entrada anterior, creo que existirán dos tablas principales, fotos y versiones.
La tabla de fotos tendría la información descrita en la entrada anterior, y además tendría la información de la foto, ExposureTime, ISO, FNumber, es decir toda la información común a todas las versiones, por si acaso la primera foto que se introdujera en el sistema no fuera la versión original de la foto, siempre que localicemos una foto que YA está en el sistema, comprobaremos que estos campos son iguales, y en caso que no lo séan informaremos, no séa que me haya dejado alguna forma de identificación de la foto.
La tabla de versiones, tendría, la localización física del fichero y del thumbnail mostrado, tamaño de la foto, formato de la misma así como un link con la tabla de fotos. Trataremos el negativo como la versión original, osea que estará reflejada también en esta tabla, que se ordenará dentro de cada foto, por fecha.
La tabla de fotos tendría la información descrita en la entrada anterior, y además tendría la información de la foto, ExposureTime, ISO, FNumber, es decir toda la información común a todas las versiones, por si acaso la primera foto que se introdujera en el sistema no fuera la versión original de la foto, siempre que localicemos una foto que YA está en el sistema, comprobaremos que estos campos son iguales, y en caso que no lo séan informaremos, no séa que me haya dejado alguna forma de identificación de la foto.
La tabla de versiones, tendría, la localización física del fichero y del thumbnail mostrado, tamaño de la foto, formato de la misma así como un link con la tabla de fotos. Trataremos el negativo como la versión original, osea que estará reflejada también en esta tabla, que se ordenará dentro de cada foto, por fecha.
Etiquetas:
base de datos,
db,
programacion,
wephonizer
Clasificación de las fotos por el exif
Creo que ya tengo un modelo inicial para identificar una foto, así como sus respectivas versiones.
La intención es hacerlo con las etiquetas más generales posibles, para que esté en todos los formatos y en todos los exif.
Una foto se identificará por las etiquetas Make (Marca de la cámara), Model (Modelo de la cámara) y DateTimeOriginal (fecha de la foto), si en un futuro se crearan distintos usuarios de la aplicación, identificaríamos también el usuario de la aplicación.
Negativos y versiones: Los negativos (fotos tal y como salen de la cámara) con las posibles versiones/rebelados de la misma, tendrán los parámetros anteriores iguales, la forma mas facil de ordenarlos es por la etiqueta DateTime, en el caso del negativo será igual a DateTimeOriginal y en el resto de casos será distinta.
La intención es hacerlo con las etiquetas más generales posibles, para que esté en todos los formatos y en todos los exif.
Una foto se identificará por las etiquetas Make (Marca de la cámara), Model (Modelo de la cámara) y DateTimeOriginal (fecha de la foto), si en un futuro se crearan distintos usuarios de la aplicación, identificaríamos también el usuario de la aplicación.
Negativos y versiones: Los negativos (fotos tal y como salen de la cámara) con las posibles versiones/rebelados de la misma, tendrán los parámetros anteriores iguales, la forma mas facil de ordenarlos es por la etiqueta DateTime, en el caso del negativo será igual a DateTimeOriginal y en el resto de casos será distinta.
jueves, mayo 24, 2007
Para mejorar programando en Python
Para hacer mi programa, no tengo mas remedio que mejorar mis conocimientos de python, lenguaje que me encanta, pero que de momento solo he utilizado para pequeños scripts en el curro para para tratar textos (ficheros, expresiones regulares y demás). Son muchos años programando en C.
He encontrado una forma bastante adictiva de aprender, el python challenge. Un pasatiempo que te dan pistas para resolver distintos niveles, mediante scripts cortos de python.
Voy por el nivel 4 de 33, aun me queda....
Didáctico y adictivo.
Iremos alternando el resolver niveles con ir haciendo cosas para mi aplicación.
He encontrado una forma bastante adictiva de aprender, el python challenge. Un pasatiempo que te dan pistas para resolver distintos niveles, mediante scripts cortos de python.
Voy por el nivel 4 de 33, aun me queda....
Didáctico y adictivo.
Iremos alternando el resolver niveles con ir haciendo cosas para mi aplicación.
Etiquetas:
programacion,
python,
pythonchallenge
martes, mayo 22, 2007
Comunicación entre procesos
Como ya sabeis, intento llamar desde python a la aplicación exifgrep y recoger los resultados de la misma para rellenar los datos de la foto en la base de datos.
Buscando por la documentación de python he encontrado 2 opciones.
Como siempre, si a alguién se le ocurre algo mejor, encantado de escucharos
Buscando por la documentación de python he encontrado 2 opciones.
- Dentro del módulo os está popen3, que executa y devuelve 3 descriptores de fichero en los cuales tienes los flujos de entrada, salida y error de la aplicación llamada. El único problema que he visto es que no se la forma de saber cuando el proceso hijo ha terminado.
- Existe otra forma. el módulo popen2 con la clase Popen3, digamos que tiene una propiedad fromchild que te devuelve los datos de salida del proceso hijo, Popen4 devuelve en este flujo tanto error como salida. La ventaja de esta clase es que tiene el método wait() que espera a que termine el proceso hijo. Desventaja, solo está disponible en unix
Como siempre, si a alguién se le ocurre algo mejor, encantado de escucharos
domingo, mayo 20, 2007
Día 1: Lectura de los datos exif.
Bueno, empecemos con temas ya de programación del wephonizer.....
El primer problema que voy a intentar abordar es la lectura de los ficheros exif asociados con cada foto. Para ello, por lo que he visto, voy a llamar desde python a la la aplicación exifprobe o a su versión exifgrep.
Para ello es muy interesante la información de las siguientes webs:
Para verificar la unicidad del fichero (en el caso de los negativos) y luego para linkar las distintas versiones me estoy fijando en las siguientes etiquetas:
El primer problema que voy a intentar abordar es la lectura de los ficheros exif asociados con cada foto. Para ello, por lo que he visto, voy a llamar desde python a la la aplicación exifprobe o a su versión exifgrep.
Para ello es muy interesante la información de las siguientes webs:
Para verificar la unicidad del fichero (en el caso de los negativos) y luego para linkar las distintas versiones me estoy fijando en las siguientes etiquetas:
- DateTimeOriginal
- Las que marcan la cámara.
El nombre
Bueno, ya he decidido un nombre para mi monstruo.
Web Photo Organizer ¿Original no?.
Bueno he decidido acortarlo un poquito y mezclar todas las palabras:
wephonizer
Se puede decir y si lo buscas en google no tiene ningún resultado, con lo que espero que pronto enlace este blog. además tiene cierta similud fonética con un proyecto que estuve involucrado, sentimental que es uno.
Web Photo Organizer ¿Original no?.
Bueno he decidido acortarlo un poquito y mezclar todas las palabras:
wephonizer
Se puede decir y si lo buscas en google no tiene ningún resultado, con lo que espero que pronto enlace este blog. además tiene cierta similud fonética con un proyecto que estuve involucrado, sentimental que es uno.
Etiquetas:
fotografia,
programacion,
python,
wephonizer
sábado, mayo 19, 2007
Las herramientas
Pues eso, las herramientas a utilizar van a ser las siguientes.
- El servidor va a ser un ordenador con Unbuntu 7.04
- Como lenguaje de programación python 2.5
- Para hacer el servidor web, utilizaré django 0.96 (última estable o igual me atrevo con la de desarrollo).
- La base de datos, al ser bastante pequeña, me conformaré con sqlite que ya lleva el python 2.5 el soporte "de serie"
- En cuanto a la lectura de los datos exif de las fotos voy a intentar usar el exifprobe, que parece muy completo y que soporta gran cantidad de cámaras de fotos, instalado además desde la distribución.
- En el caso de hacer una herramienta cliente, utilizaría el entorno kiwi que va sobre gtk y glade también en python.
- Igual al python habrá que añadirle la librería PIL para manejo de imágnes, en fin ya lo descubriré mas adelante.
La aplicación
Quiero hacer una aplicación que tenga las siguientes características:
Ya veremos a donde llega todo esto.
- Maneje al menos los negativos de mi Canon 350D tanto ficheros CR2 como los xmp creados con photoshop
- Maneje los ficheros jpg de mi ixus 500 y mi 350D
- Organice en el disco duro todos estos negativos con formato fecha por directorios AAAA\MM\DD (año\mes\día\nombre fichero).
- Pueda haber distintas versiones (rebelados) de la misma foto y se puedan ver todas las versiones. Se puede hacer dentro de AAAA\MM\DD\NOMBRE_FICHERO\VERSION1...
- Dentro de las versiones, se manejaran también ficheros con formato TIFF
- Se incluyan todas las etiquetas y rating que se quieran por foto ¿Se puede reconocer las etiquetas puestas por photoshop o f-spot?
- Accesible a través de web (incluir todas las fotos que tengo dispersas por todos los ordenadores)
- El interfaz web, debe ser capaz de dejarnos navegar en los distintos directorios, tener thumnails de las fotos y añadir nuevas fotos.
- Presentaciones de los distintos directorios de fotos?
- Backup automático del directorio de fotos, mas la base de datos.
- Posibilidad de que exista una aplicación cliente para facilitar la posibilidad de envíos múltiples.
- Posibilidad de múltiples usuarios.
Ya veremos a donde llega todo esto.
Etiquetas:
fotografia,
programacion,
python,
web
Nuevos tiempos.....
Cuando abrí esta cuenta, no tenía intención de escribir nada, pero ahora he creido que erá buen momento ya que tengo una inquietud y creo que puede valer para exponer las ideas que me vayan surgiendo, y si alguien quiere aportar sus sugerencias, bienvenidas sean.
En este blog, iré comentando los avances, ideas que vaya teniendo para la construcción de una herramienta opensource, para la organización de fotos a través de la web, (OTRA!!!!!!).
De momento, por no tener no tiene ni nombre, solo unas ideas claras, para que quiero que sirva. Cuando tenga un código medio usable, lo haré disponible desde mi casa en donde será el sitio donde haga las pruebas.
En principio solo tengo claro el fín y un poco las herramientas que voy a usar para hacer el código, si a alguien le interesa, que sigua sintonizado..... a ver hasta donde llego.
También iré poniendo enlaces a alguna de las fotos que tengo publicadas en flickr, os dejo la última que puse.
En este blog, iré comentando los avances, ideas que vaya teniendo para la construcción de una herramienta opensource, para la organización de fotos a través de la web, (OTRA!!!!!!).
De momento, por no tener no tiene ni nombre, solo unas ideas claras, para que quiero que sirva. Cuando tenga un código medio usable, lo haré disponible desde mi casa en donde será el sitio donde haga las pruebas.
En principio solo tengo claro el fín y un poco las herramientas que voy a usar para hacer el código, si a alguien le interesa, que sigua sintonizado..... a ver hasta donde llego.
También iré poniendo enlaces a alguna de las fotos que tengo publicadas en flickr, os dejo la última que puse.
Suscribirse a:
Entradas (Atom)