Repository navigation
pixtreme 1.2.0
pixtreme 1.2.0 adds user-supplied fonts for text drawing, expands LUT support with 1D LUTs, new file formats, and bytes/write entry points, and introduces a white-management trio: chromatic adaptation, temperature/tint white balance, and physical white point simulation with named reference whites. The release is purely additive; public signatures and existing behavior are unchanged.
Added
px.draw.FontandFont.from_file(path, face_index=0)load user OpenType/TrueType fonts (static faces, variable fonts, and collections).px.draw.text()accepts aFontin place of the bundled font tokens, mapsweightto the font's realwghtaxis andvariationsto its other axes, and renders missing glyphs with the selected face's.notdefglyph without fallback lookup.px.core.Lut1Dis a public 1D LUT type with per-channel domains.px.color.apply_lut()acceptsLut | Lut1Dand a newlinearinterpolation token; interpolation defaults staytetrahedralfor 3D andlinearfor 1D.px.io.read_lut()additionally reads.cube1D,.3dl(Lustre and headerless dialects),.spi1d, and.spi3dfiles.px.io.decode_lut()parses LUT bytes with signature sniffing, andpx.io.write_lut()writes deterministic.cubetext for both LUT types with fullfloat32round-trip preservation.px.color.chromatic_adaptation()adapts afloat32RGB Frame between CIE 1931 xy white points usingpx.core.ChromaticAdaptationCAT tokens (bradford,cat02,cat16,von-kries; defaultcat02).px.color.white_balance()corrects a source illuminant described by temperature (Kelvin on the Planckian locus) and tint (signed Duv offset, positive toward green).px.color.white_point_simulation()physically re-encodes absolute colorimetry between display device whites (the ICC absolute-colorimetric-intent analogue) without chromatic adaptation, reducing to per-channel gain for same-primaries device pairs.px.core.ReferenceWhitenames the reference-white tokensd65,d93,d50, andaces, accepted bywhite_point_simulation()andchromatic_adaptation()alongside direct CIE 1931 xy pairs.
Full changelog: https://github.com/sync-dev-org/pixtreme/blob/main/CHANGELOG.md