¿Qué es un archivo PFM?
Un archivo Portable FloatMap almacena muestras ráster en escala de grises o RGB como valores de punto flotante. Esas muestras pueden representar valores fuera del rango de enteros que se utiliza habitualmente para las imágenes destinadas a visualización.
Cómo funcionan los archivos PFM
PFM coloca un encabezado de texto de tres líneas antes de un ráster sin compresión con muestras de punto flotante de 32 bits según IEEE 754: un identificador que distingue las imágenes de un canal de las de tres canales, el ancho y el alto, y un número con signo que indica el orden de bytes. El formato no tiene una especificación oficial. La documentación de Netpbm indica que varios formatos similares comparten el nombre y que describe uno deducido del software existente; la página de Paul Debevec describe la misma estructura. En un pipeline multimedia, PFM suele ser una representación de trabajo o de intercambio entre etapas de procesamiento numérico, no un archivo final para web o impresión.
Datos clave
- Identifica un archivo PFM por su primera línea:
PFsignifica tres muestras por píxel (RGB) yPfsignifica una (escala de grises). La segunda línea contiene el ancho y el alto; la tercera, un número con signo, y el ráster aparece inmediatamente después. Cada muestra es un valor de punto flotante IEEE 754 de 4 bytes sin compresión, por lo que el ráster ocupa ancho × alto × 4 bytes para escala de grises y el triple para color. El encabezado no tiene otros campos y la descripción de Debevec no permite comentarios, por lo que el espacio de color y las unidades deben acordarse fuera del archivo. - El signo del tercer valor del encabezado establece el orden de bytes de las muestras: negativo significa little-endian y positivo significa big-endian. Netpbm también interpreta el valor absoluto como un factor de escala, que debe combinarse con información sobre las unidades conocida por separado, mientras que la descripción de Debevec utiliza el número solo para el orden de bytes. Un lector que presuponga el orden de bytes nativo de la máquina produce datos sin sentido con archivos escritos en el orden contrario, y un lector que descarte la magnitud puede interpretar mal la intensidad absoluta si el programa que escribió el archivo se basó en ella.
- Las filas van de abajo arriba tanto en la descripción de Debevec como en la de Netpbm, al contrario que en los propios formatos PGM y PPM de Netpbm. Netpbm documenta que la variante que Adobe Photoshop llama PFM ordena las filas de arriba abajo, por lo que los archivos intercambiados entre ambas convenciones quedan invertidos verticalmente sin que se indique ningún error. FFmpeg leía y escribía PFM invertido hasta una corrección a finales de 2022. Comprueba la orientación con una imagen de prueba asimétrica cada vez que se incorpore una nueva herramienta al pipeline.
Cuándo son importantes los archivos PFM
Elige PFM para datos intermedios de visión artificial, profundidad, investigación científica o alto rango dinámico cuando la precisión de punto flotante sea importante. La compatibilidad limitada de las aplicaciones y el manejo del orden de bytes pueden complicar el intercambio.
Cómo ayuda Transloadit con los archivos PFM
La tabla de formatos de imagen de Transloadit, que abarca sus Robots basados en ImageMagick, como /image/resize, incluye PFM como un formato que esos Robots pueden leer y escribir.
La tabla solo registra la compatibilidad de lectura y escritura a nivel de formato. No indica cómo se tratan el orden de las filas, el valor de escala o las muestras de punto flotante fuera del rango visualizable al convertir a un formato de enteros como PNG o JPEG, así que procesa un archivo representativo con tu Assembly y comprueba la orientación y el brillo.
Explora los formatos de archivo y las capacidades de compresión de Transloadit