Child pages
  • ImageMagick: Validierungsworkflow für ganze Ordner
Skip to end of metadata
Go to start of metadata

Ordnerweise Bilder validieren mit ImageMagick

ImageMagick ist ein Bildprogramm, dessen GUI zunächst einmal nicht darauf hindeutet, als würde das Programm sehr viel können.

Die wahre Funktionalität verbirgt sich in der Kommandozeile. Diejenigen von uns, die täglich mit digitaler Langzeitarchivierung befasst sind, sind allerdings nicht unbedingt immer den Umgang mit der Kommandozeile gewohnt. Außerdem muss man bei ImageMagick noch ein wenig weiter gehen und ein Batch-Programm erstellen, sofern man beispielsweise ganze Ordner bearbeiten bzw. analysieren und validieren möchte.

Funktionsumfang von ImageMagick

Das Programm fokussiert darauf, Bilddateien erstellen, verändern oder konvertieren zu können. Die Stärke des Tools ist hier die Formatvielfalt, die es bearbeiten kann, so kann es mit mehr als 100 verschiedenen Bildformaten umgehen, darunter GIF, JPEG, TIFF, PDF, PNG, Postscript und SVG.

Ein willkommener Nebeneffekt für die Belange der Langzeitverfügbarkeit ist, dass es ebenfalls möglich ist die Bilder nur zu analysieren. Sofern es Probleme mit den analysierten Bilddateien gibt, werden Fehler geworfen, so dass das Tool auch als Validierungstool genutzt werden kann (Fehler: invalide, kein Fehler: valide).

ImageMagick sollte in jeder Systemumgebung laufen, für diesen Workflow wurde lediglich Windows (7) ausprobiert.

Batch Programm für das Validieren ganzer Ordner

Rein theoretisch ist so ein Batch-Skript leicht geschrieben. In einem Editor (z. B. Notepad++) den Text eintippen, dann mit der Endung ".bat" abspeichern und bei Bedarf mit Doppelklick starten. Hier ein Beispiel für den Wunsch, alle TIFF-Dateien eines Ordners zu validieren:

@echo off
echo Ordner angeben, in denen TIFFs liegen
echo **************************
rem Ordner angeben
set /p inputfolder= Ordner :
for /r "%inputfolder%\" %%X in (*.tif) do (magick identify "%%X" 1>> tiffreport.txt 2>&1)
pause

Allerdings validiert dieser Batch tatsächlich nur TIFFs und zwar auch nur diejenigen, die exakt ".tif" als Endung haben. Immerhin schreibt er alles in die Ergebnisdatei "tiffreport.txt", auch die Fehlermeldungen. Sofern das ProgrammSkript mehrfach gestartet wird, schreibt der Batch die Ergebnisse immer weiter fortlaufend in die "tiffreport.txt"-Datei und hängt sozusagen immer mehr an. Möchte man das nicht, muss man entweder die Datei im Ordner umbenennen oder den Dateinamen im Batchtext verändern.

Ein anderes Beispiel für JPEG

@echo off
echo Ordner angeben, in denen Dateien liegen
echo **************************
rem Ordner angeben
set /p inputfolder= Ordner :
for /r "%inputfolder%\" %%X in (*.jpg) do (magick identify "%%X" 1>> jpegreport.txt 2>&1)
pause

Auch hier ist es so, dass die Endung exakt ".jpg" heißen muss, sonst wird die Datei nicht untersucht.

Die Ausgabe sieht dann z. B. so aus:

C:\Users\Friese Yvonne\FileSamples\TIFF\Digi-Zentrum\dienstleister\82637266X_0044_raw.tif TIFF 6280x4628 6280x4628+0+0 8-bit sRGB 87.86MB 0.016u 0:00.012
identify: Incorrect value for "Photoshop"; tag ignored. `TIFFFetchNormalTag' @ warning/tiff.c/TIFFWarnings/918.

 

  • No labels