Was ist eine PFM-Datei?

Eine Portable-FloatMap-Datei speichert Graustufen- oder RGB-Rasterabtastwerte als Fließkommawerte. Diese können Werte außerhalb des Ganzzahlbereichs darstellen, der üblicherweise für Bilder zur Anzeige verwendet wird.

So funktionieren PFM-Dateien

PFM stellt einen dreizeiligen Textheader vor ein unkomprimiertes Raster aus Fließkommawerten mit 32 Bit gemäß IEEE 754. Der Header enthält eine Kennung zur Unterscheidung von Bildern mit einem oder drei Kanälen, Breite und Höhe sowie eine vorzeichenbehaftete Zahl, die die Byte-Reihenfolge angibt. Das Format hat keine maßgebliche Spezifikation. Laut Netpbm-Dokumentation teilen sich mehrere ähnliche Formate diesen Namen; beschrieben wird eines, das aus vorhandener Software abgeleitet wurde. Die Seite von Paul Debevec beschreibt denselben Aufbau. In einer Medienpipeline dient PFM üblicherweise als Arbeits- oder Austauschdarstellung zwischen numerischen Verarbeitungsschritten, nicht als fertige Datei für Web oder Druck.

Wichtige Fakten

  1. Erkennen Sie eine PFM-Datei an ihrer ersten Zeile: PF bedeutet drei Abtastwerte pro Pixel (RGB), Pf einen (Graustufen). Die zweite Zeile enthält Breite und Höhe, die dritte eine vorzeichenbehaftete Zahl. Direkt danach folgt das Raster. Jeder Abtastwert ist ein unkomprimierter Fließkommawert mit 4 Byte gemäß IEEE 754. Das Raster benötigt daher Breite × Höhe × 4 Bytes für Graustufen und das Dreifache für Farbe. Der Header hat keine weiteren Felder, und Debevecs Beschreibung erlaubt keine Kommentare. Farbraum und Einheiten müssen deshalb außerhalb der Datei vereinbart werden.
  2. Das Vorzeichen des dritten Headerwerts bestimmt die Byte-Reihenfolge der Abtastwerte: negativ bedeutet Little Endian, positiv Big Endian. Netpbm interpretiert den Absolutwert außerdem als Skalierungsfaktor, der mit separat vereinbarten Einheitenangaben kombiniert wird. Debevecs Beschreibung verwendet die Zahl dagegen nur für die Byte-Reihenfolge. Ein Leseprogramm, das die native Byte-Reihenfolge des Rechners voraussetzt, liefert für Dateien mit der anderen Reihenfolge unbrauchbare Ergebnisse. Ignoriert es den Betrag, kann es die absolute Intensität falsch interpretieren, wenn das Schreibprogramm diesen verwendet hat.
  3. Sowohl Debevecs als auch Netpbms Beschreibung ordnet Zeilen von unten nach oben an, umgekehrt zu Netpbms eigenen Formaten PGM und PPM. Netpbm dokumentiert, dass die Variante, die Adobe Photoshop PFM nennt, Zeilen von oben nach unten anordnet. Dateien, die zwischen diesen Konventionen ausgetauscht werden, erscheinen daher ohne Fehlermeldung vertikal gespiegelt. FFmpeg las und schrieb PFM bis zu einer Korrektur Ende 2022 gespiegelt. Prüfen Sie die Ausrichtung mit einem asymmetrischen Testbild, sobald ein neues Werkzeug zur Pipeline hinzukommt.

Wann PFM-Dateien relevant sind

Wählen Sie PFM als Zwischenformat für Computer-Vision-, Tiefen-, wissenschaftliche oder HDR-Daten, wenn Fließkommagenauigkeit wichtig ist. Begrenzte Anwendungsunterstützung und der Umgang mit der Byte-Reihenfolge können den Austausch erschweren.

So hilft Transloadit bei PFM-Dateien

Transloadits Bildformattabelle, die seine ImageMagick-basierten Robots wie /image/resize abdeckt, führt PFM als Format auf, das diese Robots lesen und schreiben können.

Die Tabelle dokumentiert nur die Lese- und Schreibunterstützung auf Formatebene. Sie gibt nicht an, wie Zeilenreihenfolge, Skalierungswert oder Fließkommawerte außerhalb des darstellbaren Bereichs bei der Konvertierung in ein Ganzzahlformat wie PNG oder JPEG behandelt werden. Verarbeiten Sie deshalb eine repräsentative Datei mit Ihrer Assembly und prüfen Sie Ausrichtung und Helligkeit.

Entdecken Sie Transloadits Möglichkeiten für Dateiformate & Komprimierung

Quellen

Machen Sie aus Medienwissen eine funktionierende Pipeline

Verbinden Sie Uploads, Verarbeitung, KI, Storage und Auslieferung über eine deklarative API – um Encoding-Stack, Skalierung und ständig wechselnde Formate müssen Sie sich nicht selbst kümmern.

Transloadit kostenlos ausprobieren