Bilddatenbank | BVA-System

Posts Tagged ‘Bilddatenbank’

BVASystem Version 2.1.3

Donnerstag, November 22nd, 2012

Seitdem ich die letzte stabile Softwareversion veröffentlicht habe, sind nun wieder einige Monate vergangen, in denen sehr viel passiert ist. Mittlerweile sind zum Glück alle begonnenen Änderungen abgeschlossen. Bevor ich nun wieder größere Baustellen aufreiße, scheint mir der Moment perfekt, um die nächste stabile Version zu veröffentlichen.

Was ist in den letzten Monaten entstanden?

Die letzten Monate standen ganz im Zeichen der Bildinformationen, so das nun fast alle neuen Tabellen, die bei der letzten Datenbank-Änderung hinzugekommen sind, auch genutzt werden. Die meiste Zeit ging sicherlich in das komplexe System zur Bildbewertung.  Als Anwender hat man im BVASystem die Wahl, ob man zur Bewertung eines Fotos die Unterkriterien nutzt, oder ob man nur eine einzelne globale Bewertung auswählt. Durch Nutzung der Unterkriterien kann eine objektivere Bildbewertung vorgenommen werden, während die globale Bewertung natürlich viel schneller vorgenommen werden kann.

In der Bildinformationsansicht sind eine ganze Reihe neue Informationspanel entstanden. So ist nun zum Beispiel ein Panel vorhanden, in dem der Aufnahmeort eines Fotos angezeigt werden kann. Ebenso ist ein Panel vorhanden, welches die errechneten Bildparameter (mittlere Helligkeit, Belichtungsbewertung, Tonwertumfang) anzeigt. Außerdem ist ein Panel vorhanden, in dem zu jedem Bild ein Bildtitel, der Autor und eine Bemerkung erfasst werden können. 

Alle Stellen, an denen der Bildtitel bzw. die Bildbewertung angezeigt werden, bieten die Möglichkeit zur Schnelleditierung. Dazu muss einfach die jeweilige Position angeklickt werden. In dem dann sichtbaren Popupfenster können die Daten editiert werden.

BVASystem 2.1.3 - Bildinformationen

BVASystem 2.1.3 – Bildinformationen

Zu guter letzt habe ich noch die Vollbildansicht um eine Gestensteuerung erweitert. Zieht man mit gedrückter linker Maustaste nach links, wird das nächste Bild geladen. Wird mit der Maus eine Linie nach rechts gezogen, wird das vorherige Bild geladen. Zeichnet man ein „größer“ Zeichen auf dem Monitor wird zum letzten Bild navigiert und analog dazu beim Zeichnen eines „kleiner“ Zeichen zum ersten Bild. Zusätzlich kann das aktive Foto noch per Mausgeste gedreht werden. Dazu muss bei gedrückter Maustaste nach rechts und dann nach unten gezogen werden. Das Bild wird nun nach rechts gedreht . Nach links gedreht wird, indem man die Maus nach links und anschließend nach unten bewegt.

Was wird in den nächsten Monaten folgen?

In den nächsten Entwicklerversionen werde ich zwei größere Probleme angehen, die seit längerem bestehen. Als erstes werde ich dafür sorgen, dass wenn benötigt das Originalbild nachgeladen wird. Aktuell ist es nämlich so, das das BVASystem fast ausschließlich mit einem sogenannten Vorschaubild arbeitet. Die Bildgröße dieses Bildes ist so gewählt, das es in der angepassten Ansicht schnell geladen und in optimaler Qualität angezeigt werden kann. Verlässt man die angepasste Ansicht, wird das Originalbild leider nicht nachgeladen. Damals, als ich begonnen habe das BVASystem neu zu entwickeln, erschien mir das nachladen nicht als sonderlich wichtig. Aktuell fehlt mir, beim Sortieren meiner Bilder, die wirkliche 100% Anzeige. Ohne die Ansicht kann ich einfach die Bildschärfe nicht richtig beurteilen.

Das zweite Problem liegt in der Art und Weise, wie ich die Miniaturbilder lade. Sie werden nämlich alle nacheinander in den Arbeitsspeicher geladen. Ich habe es nicht genau ausprobiert, aber schätzungsweise bis 2500 Bilder wird dies so funktionieren. Sollen mehr Bilder eingeladen werden, so kann das Programm keinen weiteren Arbeitsspeicher mehr anfordern und die Miniaturbilder bleiben folglich leer. Daher möchte ich das Laden der Miniaturbilder durch einen sogenannten Miniaturbildcache erweitern. In dem Cache sollen immer genau die Bilder vorgeladen werden, die für die Anzeige benötigt werden bzw. die in naher Zukunft wahrscheinlich benötigt werden. Dadurch habe ich nie mehr als einige hundert Bilder geladen, habe kein Arbeitsspeicher-Problem mehr und kann theoretisch beliebig viele Bilder in einer Bildliste darstellen. Mit dem Miniaturbildcache wird außerdem die Wartezeit für den Anwender verkürzt, da sofort die Bilder geladen werden, die für die Anzeige benötigt werden.

Da ich bis zur nächsten stabilen Softwareversion nicht nur Fehler beseitigen will, habe ich mir außerdem vorgenommen,  mit der Implementierung einer Schlagwortfunktionalität zu beginnen. Nachdem in der jetzigen Version 2.1.3 erste textuelle Daten zu einem Foto erfasst werden können, ist es einfach an der Zeit die wichtigen Schlagworte anzugehen. In welcher Form die Umsetzung erfolgen wird, steht allerdings noch nicht ganz fest. Ich bin noch dabei die Vor- und Nachteile der unterschiedlichen Möglichkeiten abzuwägen. 

 

Metadaten nach dem IPTC-NAA-Standard

Samstag, September 29th, 2012

Sofern ich irgendwann einmal mit der endlosen Bildbewertungs-Geschichte fertig bin, habe ich auf meiner Roadmap stehen, das im BVASystem Metadaten nach dem IPTC-NAA-Standard erfasst werden können. Da ich allerdings an einigen Stellen hier im Blog bzw. im Bugtracker die Begrifflichkeit „IPTC“ genutzt habe, möchte ich heute ganz kurz erläutern, was IPTC-Metadaten sind.

Was sind IPTC-Metadaten?

Ähnlich, wie bei den EXIF-Daten, handelt es sich bei den IPTC-NAA-Standard um einen Standard, der definiert, in welcher Form gewisse Daten innerhalb eines Fotos abgelegt werden können. Im Gegensatz zu den EXIF Daten, die meist eher technischer Natur sind, handelt es sich bei den IPTC Daten hauptsächlich um bildbeschreibende Informationen. Zum Beispiel können in den IPTC Daten eine Bildbeschreibung, der Fotograf, Schlagworte aber auch Bildrechte gespeichert werden.

Für eine Bildverwaltung sind die IPTC Daten wichtig, da man mit ihnen einen Austausch zwischen verschiedenen Bildverwaltungen sicherstellen kann. Habt ihr zum Beispiel mit Programm „A“ bereits für tausende Bilder Bildbeschreibungen erstellt, so können sie in Programm „B“ direkt importiert werden, ohne das die Beschreibungen manuell kopiert werden müssen. Voraussetzung dafür ist natürlich das sowohl Programm „A“ als auch Programm „B“ den IPTC-Standard unterstützen.

In welcher Form wird das BVASystem den IPTC-Standard unterstützen?

Vielleicht ist es etwas übertrieben, das was ich in naher Zukunft implementieren will, IPTC zu nennen. Allerdings orientiert sich meine Vorgehensweise an dem Standard. Beim letzten Datenbankstrukturupdate habe ich bereits Datenbankfelder angelegt, die für die meiner Meinung nach wichtigsten IPTC-Daten bestimmt sind. Als nächstes möchte ich nun, das genau diese Datenfelder innerhalb der Bilddatenbank gefüllt werden können. Anschließend ist es wichtig, das nach den erfassten Daten recherchiert werden kann.

Für später habe ich mir vorgenommen, das bereits vorhandene IPTC Daten direkt beim Hinzufügen eines Fotos zur Bilddatenbank berücksichtigt werden. Außerdem möchte ich eine Exportfunktion schaffen, bei der die Originalbilder mit geänderten EXIF und IPTC Datenbereich wieder aus der Datenbank herausgeholt werden können. Dafür habe ich mir allerdings noch keinen genauen Zeitplan überlegt.

 

Fertigstellung der manuellen Bildbewertung

Montag, September 17th, 2012

Bis auf einige Kleinigkeiten ist heute nun auch die manuelle Bildbewertung fertig implementiert. Leider hat die Umsetzung etwas länger gedauert, als ich eigentlich geplant hatte. Zum einen hatte ich den Aufwand für die Nutzerinteraktion unterschätzt und zum zweiten setzte mich eine Krankheit für knapp eine Woche außer Gefecht. Nun ist aber endlich die 50. Version der Bildverwaltung fertig und steht zum Download bereit.

Wie funktioniert die manuelle Bildbewertung?

Die manuelle Bildbewertung setzt sich aus einer Reihe von  Unterbewertungen zusammen, die wiederum Unterbewertungen enthalten können. Als Anwender hat man nun die Wahl, ob man einfach und schnell nur die gängigen 1 bis 5 Sterne vergeben möchte, oder ob jede einzelne Unterbewertung separat gesetzt werden soll. Wird eine Bewertung, die weitere Unterbewertungen enthält, festgelegt, so werden gleichzeitig die Unterbewertungen auf den gleichen Wert gesetzt. Andersherum werden übergeordnete Bewertungen durch eine Mittelwertbildung berechnet.

Manuelle Bildbewertung im ungespeicherten Zustand

Manuelle Bildbewertung im ungespeicherten Zustand

Bereits wenn man die Maus über die Sterne bewegt, wird visuell dargestellt, wie sich das Setzten der Bewertung auswirken wird. Das eigentliche Setzen der Bewertung geschieht, indem auf den gewünschten Stern geklickt wird. Alternativ steht ein Popupmenü zur Verfügung, in dem auch bereits gesetzte Bewertungen wieder entfernt werden können. Sobald mindestens eine Bewertung geändert wurde, werden auf der linken Seite 2 Knöpfe sichtbar. Einer dient zur Speicherung der Änderungen und mit dem zweiten können die Änderungen verworfen werden. Die Speicherung der Bildbewertungen geschieht, wie alle anderen Datenbankänderungen auch, mit Hilfe des Workers.

Ausblick

Die Bildbewertung wird mich auch in der nächsten Version des BVASystems noch einmal beschäftigen, denn ich möchte die fehlenden Kleinigkeiten nicht aus den Augen verlieren. Zum einen möchte ich den Anwender durch eine Frage darauf aufmerksam machen, das wenn er innerhalb der Bildliste navigieren möchte, nicht gespeicherte Bewertungen verloren gehen. Die gleiche Information möchte ich anzeigen, wenn die Bildinformationsansicht verlassen wird. Außerdem erachte ich es für sinnvoll, das die globale manuelle Bewertung  per Tastaturkürzel zu erreichen ist. Wahrscheinlich werde ich Strg+1 für 1 Stern, Strg+2 für 2 Sterne, usw. dafür auswählen. Die Tastaturkürzel sollen dabei global, das heißt in jedem Anzeigemodi funktionieren.

Weiterhin in Planung ist eine Erweiterung des EXIF-Moduls. Vorhandene GPS-Informationen sollen ausgelesen und in dem entsprechenden Bildinformationspanel angezeigt werden.

Kriterien zur Bildbewertung

Samstag, August 4th, 2012

Nachdem ich das Bewertungssystem für Fotos vorgestellt habe, möchte ich heute die Standardkriterien vorstellen, die nach der Installation des BVASystems eingerichtet sind. Von den maximal 5 möglichen Unterkriterien werden 3 genutzt, die jeweils durch weitere Unterkriterien konkretisiert werden. Folgende Hauptkriterien werden genutzt:

Wirkung

Das Ziel eines jeden Fotos ist es, bei dem Betrachter eine gewisse Wirkung zu erzielen. Allerdings ist dies auch die schwierigste Aufgabe für den Fotografen. Technische Parameter und Gestaltungsregeln lassen sich noch recht einfach erlernen, die Bildwirkung ist dagegen nur schwer zu fassen. Oft sind es nur Kleinigkeiten, die ein wirkungsloses und ein wirkungsvolles Foto unterscheiden. Außerdem lässt sich die Bildwirkung nur schwer objektiv beurteilen, da hier der persönliche Geschmack der bewertenden Person mit eine Rolle spielt.

Die Unterkategorie Wirkung wird in vier weitere Unterpunkte gegliedert:

  • Ersteindruck  – Subjektiver Ersteindruck, der beim ersten Betrachten des Bildes entsteht
  • Bildaussage – Ist eine klare Aussage im Bild zu erkennen?
  • Kreativität – Wird beispielsweise eine ungewöhnliche Perspektive genutzt um das Bild interessant zu machen?
  • Originalität – Wurde das Motiv des Bildes schon auf vielen anderen Bildern gesehen oder zeigt es etwas total neues?

Technik

Die Aufnahmetechnik ist sicherlich Grundvoraussetzung für ein gelungenes Foto. Liegt Beispielsweise der Schärfepunkt falsch, so nützt einem der beste Bildaufbau nichts. Im Gegensatz zur Wirkung des Bildes lassen sich die technischen Parameter objektiv bewerten.

Die Unterkategorie Technik wird in sechs weitere Unterpunkte unterteilt:

  • Schärfe – Ist das Motiv des Bildes ausreichend scharf dargestellt?
  • Belichtung – Ist das Foto korrekt, über- oder unterbelichtet?
  • Rauschen – Zeigt das Bild ein deutlich sichtbares Bildrauschen.
  • Schieflage – Ist der sichtbare Horizont parallel zu den Bildseiten ausgerichtet?
  • Farbstich – Besitzt das Foto einen sichtbaren Farbstich?
  • Bildgröße –  Je kleiner ein Foto ist, desto schwieriger ist es, das das Bild eine Wirkung entfaltet.

Bildgestaltung

Das letzte Hauptkriterium wird durch die Bildgestaltung definiert. Hier geht es darum, wie das Motiv des Bildes in Scene gesetzt wurde. Die Gestaltung des Bildes hängt dabei überhaupt nicht mit der verwendeten Kamera zusammen. Es ist allein der Fotograf, der hier bewusst oder unbewusst seinen ganz individuellen „Fingerabdruck“ hinterlässt. Prinzipiell gibt es eine Reihe von Regeln, wie zum Beispiel der Goldene Schnitt, die bei der Bildgestaltung beachtet werden sollten. Manchmal ist es eben aber eine gezielt gebrochene Regel, die ein Bild interessant macht. Gerade das macht die Bildbewertung in diesem Punkt schwierig, da es kein eindeutiges richtig bzw. falsch gibt.

Die Unterkategorie Bildgestaltung wird in folgende sechs Unterpunkte unterteilt:

  • Aufteilung – Wie wurde das Foto aufgeteilt? Wurde der goldene Schnitt beachtet? Ist das Hauptmotiv klar zu erkennen?
  • Bildformat – Wurde ein dem Motiv entsprechendes Bildformat gewählt?
  • Störende Elemente – Weist das Bild störende Bildelemente auf, die mit dem eigentlichen Motiv nichts zu tun haben?
  • Stürzende Linien – Liegen die Kanten des Motives nicht parallel zur Abbildungsfläche, treten stürzende Linien auf, durch die Verzerrungen im Bild entstehen.
  • Sättigung – Ist die Farbgebung des Bildes zu flau oder zu kräftig?
  • Kontrast – Bei zu kontrastreichen Fotos gehen Details verloren, während kontrastarme Fotos flau wirken.

Bewertungssystem für Fotos

Donnerstag, August 2nd, 2012

Eigentlich hatte ich geplant, nur fix eine einfache Bildbewertungsfunktionalität in das BVASystem zu integrieren. Nach einigen Überlegungen ist daraus nun allerdings ein recht komplexes System entstanden, welches ich heute hier vorstellen möchte. Die Umsetzung wird leider noch einige Zeit dauern, aber ein erster Entwurf der dazugehörigen Oberflächenkomponente ist bereits fertig.

Prototyp der Bildbewertungsansicht

Prototyp der Bildbewertungsansicht

Grundlage für mein Bewertungssystem ist das weit verbreitete „Sternchen“-Bewertungssystem. Schlechte Bilder werden mit einem Stern und gute Bilder mit maximal 5 Sternen bewertet. Vorteil der Sternchen ist ganz klar, das die Bewertung sehr schnell gesetzt werden kann. Nachteilig ist allerdings, das die Bewertung rein subjektiv aus dem Bauch heraus getroffen wird. Mein Ziel war es, eine objektivere Möglichkeit zu finden, ohne den einfachen Ansatz zu verlieren.

Daher habe ich die Bewertung um Unterkategorien, die wiederum Unterkategorien enthalten, erweitert.  Alle Bewertungen habe ich in einer Baumstruktur angeordnet, so das die Zusammengehörigkeit der einzelnen Kategorien ersichtlich wird.  Als Anwender erhält man 2 Möglichkeiten. Entweder man gibt dem Bild, wie bisher, zwischen 1 und 5 Sternen oder man bewertet alle Unterunterkriterien getrennt voneinander. Im ersten Fall wird für alle Unterkriterien und Unterunterkriterien vom Programm der gleiche Wert gesetzt, wie er vom Anwender ausgewählt wurde. Legt man die Unterkriterien einzelnd fest, so werden die übergeordneten Werte automatisch durch Mittelwertbildung bestimmt.

Für mich habe ich eine Reihe Kriterien festgelegt, mit denen ich wohl gut zurecht kommen werde. Allerdings glaube ich nicht, das jeder Anwender meine Kriterien übernehmen möchte. Aus diesem Grund stelle ich es mir so vor, das der Anwender mit dem Administrationstool im gewissen Rahmen festlegen kann, wie viele Kriterien er nutzen möchte und wie diese beschriftet werden sollen. Festgelegt habe ich mich auf maximal 5 Unterkriterien, die mit jeweils maximal 6 Unterunterkriterien versehen werden können.

In einem weiteren Artikel werde ich in den nächsten Tagen die Standard-Bildbewertungskriterien, die auf dem Screenshot oben bereits zu sehen sind, vorstellen.

Mein Arbeitsablauf zur Bildverwaltung

Samstag, Juni 16th, 2012

Ich hatte bereits angekündigt, das ich einen weiteren Blog schreiben werde, um meine weitere Vorgehensweise bei der Weiterentwicklung des BVASystems zu beschreiben. Bevor ich dies allerdings tue, möchte ich heute kurz meinen Arbeitsablauf zur Bildverwaltung beschreiben.

Kopieren der Fotos

Mein erster Arbeitsschritt, nachdem ich auf einer Fototour gewesen bin, ist natürlich das Kopieren der Bilder von der Speicherkarte auf den PC. Dabei sortiere ich die Bilder nach Aufnahmedatum in eine hierarchische Ordnerstruktur ein. Für jedes Jahr lege ich ein Verzeichnis an, in dem ich für jeden Monat ein Unterordner anlege. In diesen Verzeichnissen lege ich für jeden Tag, an dem ich fotografiert habe, ein weiteres Unterverzeichnis an. Da ich mehrere Kameras besitze und es durchaus möglich ist, das ich an einem Tag mehrere verwendet habe, lege ich für jeden Tag für jede Kamera nochmals je einen Unterordner an. In diese Unterordner kopiere ich dann die Fotos.

Foto-Ordnerstruktur auf der Festplatte

Foto-Ordnerstruktur auf der Festplatte

Anlegen von Fotoalben

Da das BVASystem in der Lage ist, Fotos automatisch Fotoalben zuzuordnen, lege ich im zweiten Schritt Fotoalben an. Möchte ich nur die Fotos eines Wochenendausflugs verwalten, ist das Anlegen der Fotoalben schnell erledigt. Komme ich dagegen von einer Urlaubsreise zurück, dauert das Anlegen der Alben schon etwas länger. Für die Anordnung der Alben habe ich kein festes System. Ich versuche allerdings die Fotoalben möglichst hierarchisch anzulegen. Alle Urlaubsreisen bekommen zum Beispiel ein Unteralbum in dem Album „Reisen“. Teilweise besitzen die Fotoalben noch einen zeitlichen Bezug im Namen, zum Beispiel „Helgoland 2012“

Datenbankimport

Nachdem die Fotoalben angelegt sind, importiere ich alle Bilder in die Datenbank und lasse den Zuordnungs-Automatismus für mich arbeiten.  Mein Datenbankmanagementsystem liegt dabei auf einem anderen Rechner, als die Foto-Verzeichnisstruktur. Nach dem Import belasse ich die Bilder trotzdem in der Foto-Verzeichnisstruktur. Die Bilder in der Verzeichnisstruktur dienen also nur noch als Backup. Arbeiten tue ich nur noch mit den Bildern in der Datenbank.

Bewertung der Fotos

Die eigentliche Bildverwaltung beginnt nun im BVASystem. Ich schaue mir die Fotos mehrfach tageweise an und bewerte sie dabei. Ich nutze folgendes Bewertungssystem:

Kategorie 1:  Die besten Bilder

Diese Bilder sind die Bilder, die ich nochmals mit einem Fotoalbum verknüpfe. Möchte ich beispielsweise einem Freund Urlaubsbilder zeigen, so bekommt er nur diese Bilder zu Gesicht. Schließlich möchte ich niemanden mit mehreren hundert Fotos des gleichen Motivs quälen. Bilder aus dieser Kategorie, die nicht zu sehr ins private gehen, nutze ich auch für meine Foto-Homepage.

Kategorie 2: Gute Bilder

Die Fotos in dieser Kategorie gehören definitiv zu den Bildern, die aufgehoben werden sollten. Meist gibt es aber eine Kleinigkeit, die mich an  Ihnen stört. Es kann aber auch vorkommen, das wenn ich das gleiche Motiv dreimal sehr gut abgelichtet habe, zwei Varianten in dieser Kategorie landen, damit sich innerhalb der besten Bilder keine Wiederholungen befinden.

Kategorie 3: Bilder, die mit einer Nachbearbeitung vielleicht gut werden

Hier sammel ich alle Bilder, die durch eine Nachbearbeitung noch zu retten sind. Stichworte wären hier zum Beispiel: schiefer Horizont, stürzende Linien, leichte Fehlbelichtungen, Farbstiche usw.

Kategorie 4: Schlechte Bilder, die aber einen Erinnerungswert haben

Von einigen Bildern kann ich mich einfach nicht trennen, auch wenn sie technisch einfach nur schlecht sind.  Gerade wenn ich es nicht geschafft habe eine Situation gut einzufangen, bin ich schnell bereit wenigstens ein schlechtes Bilder der Situation zu behalten.

Kategorie 5: Müll

Fotos, die in dieser Kategorie landen werden direkt wieder aus der Datenbank gelöscht. Da ich generell zu viele Fotos mache, versuche ich, das möglichst viele Bilder in dieser Kategorie landen. Jedes Foto, das ich hier mehr lösche, erleichtert es, die guten Fotos bei Bedarf wiederzufinden.

Optimierung der besten Bilder

Im letzten Arbeitsschritt bereite ich einige der besten Bilder für meine Foto-Homepage auf. Als häufigste Aufgabe steht hier das verkleinern der Bilddimension und ein leichtes Nachschärfen an. Für die Homepage bekommt jedes Foto einen aussagekräftigen Titel, eventuell Schlagworte und in ganz seltenen Fällen eine Bildbeschreibung.

Schlussbetrachtung

Mit meinen System komme ich bisher eigentlich recht gut zurecht. Änderungen am Ablauf sind aber durchaus möglich, wenn mir die Bildverwaltungssoftware neue Möglichkeiten gibt. Da das BVASystem zum Beispiel noch keine Schlagworte  unterstützt, nutze ich diese Funktionalität bisher auch noch nicht. Für die Zukunft kann ich mir aber sehr wohl vorstellen, das die Fotos der Kategorie 1 noch mit weiteren Informationen versehen werden, um die Auffindbarkeit zu erleichtern.

 

Metadatenelemente: Blende und Belichtungszeit

Montag, Juni 11th, 2012

Mit nur einem Tag Verzug habe ich es heute geschafft, die vor dem Urlaub gesteckten Ziele zu erreichen. In der neuen Version 2.1.1.44-dev der Bilddatenbank BVASystem habe ich diesmal sogar 2 neue Metadatenelemente hinzugefügt. Allerdings muss ich auch gestehen, das es sich um relativ einfache Metadatenelemente handelt. Sowohl die Blende, als auch die Belichtungszeit werden aus dem EXIF-Header der Bilddatei bezogen. Dadurch entfallen hier diesmal auch die großen Erklärungen. Es wird einfach ein Bereich definiert, in dem die Blende bzw. die Belichtungszeit liegen muss, um eine Zuordnung zu erreichen.

Metadatenelemente Blende und Belichtungszeit

Metadatenelemente Blende und Belichtungszeit

Die einzige Schwierigkeit daran lag in der Oberflächengestaltung, denn ich wollte nicht, das ihr beispielsweise 0,000125
eingeben müsstet, wenn ihr eine Belichtungszeit von 1/8000 s gewählt haben wollt. Aber auch eine fest vorgegebene Liste wollte ich nicht implementieren, da fehlende Werte nicht ergänzt werden könnten. Daher habe ich eine weitere Konfigurationsdatei geschaffen, welche alle Listenwerte enthält. Diese Datei wird bei jedem Programmstart eingelesen und bei den Metadatenelementen benutzt. Sollte ich einige Werte nicht bedacht haben, können sie einfach nachgetragen werden. Der Syntax der neuen Konfigurationsdatei „listen.ini“ sollte, so denke ich, leicht verständlich sein.

Welche weiteren Änderungen wurden am Programm umgesetzt?

Außerdem habe ich auch diesmal wieder an der Bildinformationsansicht weitergearbeitet. Neu hinzugekommen ist die Möglichkeit, mehrere Ansichten zu speichern und zwischen ihnen zu wechseln. Außerdem werden die Ansichten in der Größe angepasst, sobald sich die Größe des Programmfensters ändert. Da ihr noch keine eigenen Ansichten anlegen könnt, habe ich 2 Demonstrationsansichten geschaffen, mit denen der Ansichtswechsel getestet werden kann.

Wie geht es weiter?

Die nächste Version der Bildverwaltung wird die letzte sein, in der ich neue Metadatenelemente hinzufüge. Neben der bereits implementierten Blende und Belichtungszeit fehlen nämlich noch die Brennweite und die ISO-Empfindlichkeit, um die wichtigsten EXIF Parameter abzudecken. Außerdem habe ich vor, einige kleinere Korrekturen an der Bildinformationsansicht durchzuführen.

Langfristig hat sich durch meinen Urlaub einiges in der Planung geändert. Meinen aktuellen Plan, dessen Umsetzung nach heutiger Schätzung bis ungefähr Mitte/ Ende August dauern wird, habe ich im Bugtracker eingepflegt. Er beinhaltet hauptsächlich eine Unterstützung bei der ersten Grob-Sortierung, die vor dem Einsatz einer Bildverwaltung durchgeführt werden sollte. In den nächsten Tagen werde ich mindestens einen weiteren Blog verfassen, der meine Ziele genauer erläutern wird.

Was ist der EXIF Header und wofür ist er gut?

Montag, August 8th, 2011

Der aufmerksame Leser meiner im Bugtracker veröffentlichten Roadmap hat bereits gesehen, das in der neuen Programmversion 2.0.0.26 ein neues Modul genutzt wird, welches den EXIF-Header eines Bildes auslesen kann. Obwohl der EXIF Header recht weit verbreitet ist, und demnach viele Nutzer mit der Abkürzung wohl etwas anfangen können, so möchte ich trotzdem kurz für den Rest erklären was der EXIF Header ist und wofür er gut ist.

EXIF ist die Abkürzung für Exchangeable Image File Format. Moderne Digitalkameras nutzen diesen Standard der Japan Electronics and Information Technology Industries Association (JEITA) um aufnahmerelevante Informationen direkt mit dem Bild zusammen abzuspeichern. Die Daten werden in einem sogenannten Header am Anfang einer Bilddatei abgelegt. Der Header selber besteht aus einer sequentiellen Auflistung von sogenannten EXIF-Tags. In jedem Tag wird eine Information, wie zum Beispiel das Aufnahmedatum, gespeichert. Es gibt einige dutzend Tags, die so gut wie immer in einem EXIF-Header vorhanden sind.

Zu diesen Tags zählen:

  • Kamerahersteller
  • Kameramodell
  • Aufnahmedatum
  • Bildorientierung
  • Belichtungszeit
  • Blende
  • Brennweite
  • ISO-Wert

Zusätzlich könnten beispielsweise bei einer Kamera mit integriertem GPS die Koordinaten der Bildaufnahme im Bild ablegt werden. Ebenfalls ist es möglich, das bereits ein kleines Vorschaubild im Header integriert ist. Auch werden häufig herstellerabhängige technische Parameter mit im Header abgespeichert, die sich nicht ohne weiteres allgemein gültig interpretieren lassen. Insgesamt gibt es mehrere hundert verschiedene EXIF-Tags.

Für die Bildverwaltung ganz interessant ist, das der EXIF Header durch die sogenannten IPTC Tags nachträglich erweitert werden kann. Dort lassen sich Bildbeschreibungen, der Fotograph des Bildes und Copyright-Hinweise ablegen. In einer Bildverwaltung sollte diese Möglichkeit genutzt werden, damit für den Anwender die Möglichkeit besteht das Verwaltungsprogramm zu wechseln ohne das wieder alle Bilder neu beschrieben werden müssen.

Vorerst habe ich mir für das BVASystem nur vorgenommen, das das Aufnahmedatum eines Bildes ausgelesen werden kann, damit auch bearbeitete Bilder an die richtigen Stellen der Datenbank sortiert werden können. Nach und nach werde ich das EXIF Modul erweitern, bis möglichst alle Informationen ausgewertet werden können.

Dreifaches Jubiläum

Dienstag, Juli 19th, 2011

Dieses mal freue ich mich ganz besonders darauf, eine neue Programmversion der Bildverwaltung anzukündigen. Denn ich habe, fast auf den Tag genau, nach nun einem Jahr „BVA goes Datenbank„, ein für mich ganz wichtiges Ziel erreicht. Die Bilddatenbank ist nun in der Lage, bereits beim Archivieren von neuen Fotos, diese zu Fotoalben zuzuordnen. Außerdem ist es auch noch die 25. Programmversion, die ich soeben veröffentlicht habe.

Die, für die automatischen Zuordnungen, genutzten Metadaten wurden ja bereits in älteren Blogs ausführlich beschrieben. Auch der Ablauf der Zuordnungen über den Entscheidungsbaum wurde erläutert. Im letzten Schritt wurde in der neuen Version die Suche im Entscheidungsbaum programmiert und natürlich ebenso die Speicherung der gefundenen Verknüpfungen.

Screenshot der Version 2.0.0.25 der Bilddatenbank BVASystem

Screenshot der Version 2.0.0.25 der Bilddatenbank BVASystem

Ich muss aber ehrlich zugeben, das noch immer eine Menge Details nicht funktionieren. Wichtig ist es mir, darauf hinzuweisen, das zur Zeit Änderungen an den Metadatendefinitionen erst nach einem erneutem Start des Programmes aktiv sind. Änderungen am Entscheidungsbaum werden vorerst nur durch den Initialisierungs-Workertask vorgenommen. Diesen Umstand werde ich in einer der nächsten Versionen auf jeden Fall korrigieren.

Apropos korrigieren. Vor bereits relativ langer Zeit wurden mir Unstimmigkeiten im Programm gemeldet, die die Steuerung per Tastatur betrafen. Diese Unstimmigkeiten waren mir allerdings bisher nicht so wichtig. Da ich das Programm mittlerweile fast täglich benutze, stören mich solche „Kleinigkeiten“ immer mehr. Also bin ich der Sache nun nachgegangen, damit das Programm in sich stimmiger wird.

Tastatursteuerungen erfolgen nun nicht mehr global, sondern sie werden von der Komponente gesteuert, die gerade den Focus besitzt. Wo sich der Focus gerade befindet, kann durch den gestrichelten Rahmen am Rand festgestellt werden. Je nachdem, welche Komponente den Focus bestitzt, stehen unterschiedliche Funktionen zur Verfügung. In den Baumansichten kann per Pfeiltaste hoch bzw. runter navigiert werden. Mit der Pfeiltaste nach rechts der aktuelle Knoten im Baum geöffnet und mit der Pfeiltaste nach links wieder geschlossen werden. Besitzt der Filmstreifen den Focus, kann mit den Pfeiltasten nach links bzw. nach rechts in der Liste navigiert werden. Das gleiche ist auch in der Miniaturbilderansicht möglich.

Als Ausblick auf die nächste Programmversion der Bildverwaltung kann ich den Hinweis geben, das ich die nächsten 14 Tage damit verbringen werde, ein Modul zu entwickeln, mit dem ich die EXIF Informationen eines Bildes auslesen kann. Im Speziellen geht es darum, das das korrekte Aufnahmedatum des Bildes ausgelesen werden kann. Es ist toll, das ich Fotoalben-Zuordnungen aufgrund des Aufnahmedatums vornehmen kann. Es ist allerdings weniger toll, wenn ich dafür das Dateiänderungsdatum nutze, da sich dieses vom wirklichen Aufnahmedatum unterscheiden kann.

 

Bugfixes Teil 2

Donnerstag, Mai 5th, 2011

Nach der letzten Bugfix-Version steht heute nun die nächste Version an, wo ich aber eigentlich ehrlich zugeben muss, das sie im strengen Sinne keine reine Bugfix-Version ist.

Bei der Einführung des Workers habe ich mir gedacht, das es sinnvoll ist, wenn der Anwender über den Status des Workers informiert wird. Welche Aufgaben stehen im Worker? Welche Aufgaben hat der Worker ausgeführt? Bei welchen Aufgaben im Worker ist ein Fehler aufgetreten?

Um die Fragen zu beantworten, hatte ich schon damals einen Dialog in das Programm integriert, der mit einem Klick auf die „Ampel“ des Workers geöffnet werden kann. Bis zum heutigen Tag war dieser Dialog allerdings leer. Von daher kann es entfernt vielleicht doch als Bugfix bezeichnt werden, wenn dieser Dialog nun nicht mehr leer ist.

Wenn der Statusdialog des Workers geöffnet wird, so wird als erstes der Worker pausiert. Solange der Dialog angezeigt wird, werden also keinerlei Aufgaben erledigt. Wenn der Dialog geschlossen wird, nimmt der Worker seine Arbeit wieder auf. Der Dialog selber unterteilt sich in 2 Bereiche. In dem ersten Bereich sieht man, welche Aufgaben noch im Worker aktiv sind, während im zweiten Bereich angezeigt wird, welche Aufgaben bereits abgeschlossen wurden.

Statusdialog des Workers

Statusdialog des Workers

Weiterhin neu ist auch der Info-Dialog, in dem abgelesen werden kann, welche Version gerade verwendet wird. Außerdem steht dort ein Verweis auf diese Seite. Neben den Neuerungen habe ich, wie es der Name dieses Artikel bereits vermuten lässt, einige Bugs beseitigt. Wie immer kann die genaue Liste der abgearbeiteten Punkte im Bugtracker analysiert werden.

Als kleine Vorschau auf die nächste Version gibt es zu sagen, das ein klitzekleines Datenbankupdate erfolgen wird. Damit werde ich dann in der Lage sein, die Fotoalben weiter zu erweitern. Außerdem möchte ich, sofern ich es zeitlich noch schaffe, die Funktionen in den Popup-Menüs leicht anders anordnen, da sie nach der Einführung der 3 Ansichtsmodi nicht mehr so klar getrennt sind wie zuvor.