13. Okt 2010 

LAUNCH EXTERNAL PROCESS

Aus dem Handbuch:
Mit dem Befehl LAUNCH EXTERNAL PROCESS können Sie unter Windows und Mac OS X einen externen Prozess von 4D starten. Auf Mac OS X gewährt dieser Befehl Zugriff auf jedes ausführbare Programm, das sich über das Terminal starten lässt.

Damit ich einfach und überall drankomme sammle ich auf der Seite Terminal-Befehle, die Befehle, die von Interesse in der 4D-Programmierung sein könnten. Dort findet sich bereits ein kurzer Hinweis auf qlmanage, nachdem ich ein Beispiel für die Verwendung bei Mac OS X Hints.

Das Beispiel wird an vielen Stellen aufgeführt, die ursprüngliche Quelle, von der alle abgeschrieben haben, konnte ich noch nicht finden.

DICOM-Bilder in die Datenbank

Ich will aus DICOM-Bildern ein Bild auslesen und in der Datenbank als Platzhalter aufheben. Die Qualität wie sie Quicklook verwendet reicht hin*. Um ein Dicom-Bild in Quicklook darstellen zu können braucht es ein Quicklook-Plugin wie DICOMQuickLook.qlgenerator.

Inzwischen habe ich die man-pages selber gelesen. Aus meinen Fehlern im Umgang mit dem Terminal habe ich dieses gelernt: in den man-pages zu qlmanage fehlt ein wichtiger Parameter, nämlich -o für output. In den Fehlern fand ich diese Zeile
-o dir Output result in dir (don't display thumbnails or previews)

Preview_Hals

Gebe ich den Parameter -o an, wird nicht ein Quicklook-Fenster geöffnet sondern das Ergebnis im Zielordner abgelegt. Für ein DICOM-Bild ist das ein Ordner mit dem Name des Orginals und der zusätzlichen Extension qlpreview. Aus 0000000D.dcm wird ein Ordner 0000000D.dcm.qlpreview und darin liegen 2 Dokumente: Preview.png und PreviewProperties.plist. Das PNG will ich haben.

Verwende ich den * statt des Dokumentennamens, also so wie hier
qlmanage -p /iMac/Roentgen 091116/DICOM/P0015568/S0025082/E0000000/*.dcm -o /iMac/Ergebnisse
erhalte ich im Ordner Ergebnisse für jedes Dokument im Ordner E0000000 einen Ordner beginnend mit 00000001.dcm.qlpreview und endend mit dem letzen, z.B. 000000NN.dcm.qlpreview und darin jeweils Preview.png und PreviewProperties.plist.

Das war es, was ich wissen wollte. Jetzt parse ich die DICOM-Ordner mit 4D-Mitteln und hole mir zusätzlich zu den EXIF-Daten ein repräsentatives Bild raus.

Stolperstein

Ein Problem gibt es: Quicklook braucht eine Extension, sonst wird im Finder nichts angezeigt oder qlmanage wirft Fehler im Terminal. Eigentlich sieht der DICOM-Standard vor, keine Extensions zu verwenden. Es halten sich viele nicht daran. Wenn doch, verwende ich MOVE DOCUMENT oder COPY DOCUMENT von CD auf Festlatte, lasse von qlmanage das PNG erzeugen und werfe Duplikate und Zwischendokumente wieder weg.

Das Verfahren ist: qlmanage -p Originalpfad -o Zielordner und klappt auch mit exotischeren Quelle-Ergebnis Kombinationen. Z.B.:

  • wird aus einem .doc ein HTML erzeugt
  • wird aus einem .shp ein PDF erzeugt

PlugIn

Das QMedia-Plugin von Escape kann alles, was ich in 4D brauchte und mehr. QMedia setze ich ein, wenn ein Kunde das und mehr braucht oder auf Windows besteht und die QMedia-Lizenz bezahlt.

* Die Analyse des mit 16-bit Farbtiefe vorliegen Originals kann ich in 4D sowieso nicht gebrauchen, das überlasse ich Osirix.