@thi.ng/pixel-io-pfm
TypeScript icon, indicating that this package has built-in type declarations

0.1.70 • Public • Published

@thi.ng/pixel-io-pfm

npm version npm downloads Mastodon Follow

[!NOTE] This is one of 192 standalone projects, maintained as part of the @thi.ng/umbrella monorepo and anti-framework.

🚀 Please help me to work full-time on these projects by sponsoring me on GitHub. Thank you! ❤️

About

Portable FloatMap image format support for @thi.ng/pixel.

Similar to the NetPBM formats, the Portable FloatMap image format is extremely simple, uncompressed and mainly interesting for development purposes & interchange (e.g. for use with Intel's Open Image Denoise CLI tools).

Status

STABLE - used in production

Search or submit any issues for this package

Installation

yarn add @thi.ng/pixel-io-pfm

ESM import:

import * as pfm from "@thi.ng/pixel-io-pfm";

Browser ESM import:

<script type="module" src="https://esm.run/@thi.ng/pixel-io-pfm"></script>

JSDelivr documentation

For Node.js REPL:

const pfm = await import("@thi.ng/pixel-io-pfm");

Package sizes (brotli'd, pre-treeshake): ESM: 747 bytes

Dependencies

API

Generated API docs

The package only provides 2 functions:

import { intBuffer, RGB888 } from "@thi.ng/pixel";
import { asPFM }  from "@thi.ng/pixel-io-pfm";
import { writeFileSync } from "fs";

// create 2x2 image
const img = intBuffer(2, 2, RGB888);
// set pixel data (R,G,B,Y)
img.data.set([0xff0000, 0x00ff00, 0x0000ff, 0xffff00]);

// serialize image to PFM byte array and write to file
// (format conversion to FLOAT_RGB is done automatically & non-destructively)
writeFileSync("export/rgby.pfm", asPFM(img));

Authors

If this project contributes to an academic publication, please cite it as:

@misc{thing-pixel-io-pfm,
  title = "@thi.ng/pixel-io-pfm",
  author = "Karsten Schmidt",
  note = "https://thi.ng/pixel-io-pfm",
  year = 2023
}

License

© 2023 - 2024 Karsten Schmidt // Apache License 2.0

Readme

Keywords

Package Sidebar

Install

npm i @thi.ng/pixel-io-pfm

Weekly Downloads

176

Version

0.1.70

License

Apache-2.0

Unpacked Size

23.1 kB

Total Files

10

Last publish

Collaborators

  • thi.ng