¿Qué formato de imagen de punto flotante debo usar?
-
05-07-2019 - |
Pregunta
En el pasado, he guardado imágenes RGB (generadas a partir de simulaciones físicas) como PPM o PNG o JPEG de 8 bits / canal.
Ahora quiero conservar el rango dinámico de la salida de simulación, lo que significa guardar una imagen de punto flotante y luego tratar la conversión a 8 bits / canal como un paso de procesamiento posterior (por lo que puedo modificar la conversión a 8 bits). sin volver a ejecutar la simulación larga).
Tiene un " estándar " formato de imagen de punto flotante surgió?
Las buenas bibliotecas / visores / herramientas de manipulación gratuitas de apoyo, preferiblemente disponibles en Debian, serían una ventaja.
Solución
¿Ha buscado en Radiance RGBE (.hdr) y OpenEXR (.exr). RGBE tiene algunos código fuente aquí . NVIDIA y ATI admiten datos EXR en sus tarjetas gráficas. Hay un código fuente y binarios de la página de descarga de OpenEXR . ILM creó OpenEXR y tiene amplio soporte. OpenEXR tiene soporte para punto flotante de 16 y 32 bits por canal, y es lo que la mayoría de la gente usa en estos días, a menos que hayan escrito su propio formato.
-
El Pixel Image Editor para Linux tiene soporte EXR para edición, también.
-
pfstools también es necesario si vas a trabajar con HDR en Linux. Es un conjunto de programas de línea de comandos para leer, escribir y manipular HDR y tiene visores Qt y OpenGL.
-
También hay jpeg2exr para Linux
-
Aquí hay algunos otros paquetes debian para los espectadores de OpenEXR.
-
Sobre esta base, parece que también hay un complemento de Gimp en alguna parte.
Otros consejos
Parece que la moderna encarnación de FITS se ajustaría a tu necesidades declaradas, pero también sugeriría que consideres usar una estructura de histograma 2D de uno de los paquetes de buen análisis en uso por la comunidad física: ROOT o AIDA son las modernas con las que estoy familiarizado.
NB: Ha pasado más de una década desde que usé FITS para cualquier cosa, pero recuerdo que comenzó una manera agradable y flexible de almacenar datos bastante en bruto.