Posts
55 entries
- Try Something Else: High Efficiency Photo Archiving and Output
With hard drives this pricey, every little helps
- A Space for the New Era: An Analysis of D-Log 2 and D-Gamut 2
For unprecedented high dynamic range and a colour space better suited to wide gamuts
- Efficiently Using 3D LUTs in Python: Methods and Benchmarks
Differences in speed and accuracy when applying 3D LUTs using colour-science, Pillow, OpenColorIO, and PyTorch.
- HDR Conversion Numerical Report
Testing and notes on the Gainmap reading and application parts of HDR Conversion version 0.1.5
- Measuring the Hasselblad X2D 100C's Built-in Display
Why does it look better on the camera screen? Measuring the quality of Hasselblad's built-in display and discussing its use as a stylisation tool.
- There’s Also a Second Round: OPPO O-Log 2
The similarity check rate is a bit high.
- How Does Adobe Achieve High-Compression JXL DNG Files?
Some interesting details about lossy compression of DNG files using JXL in Adobe DNG Converter.
- Can't Just Do Nothing: Wide Colour Gamut on Windows
Two approaches to achieving basic wide colour gamut management on Windows.
- How Does DXO Achieve High-Compression DNG Files?
The technical details and implementation of DXO PureRAW 6's high-fidelity compressed DNG files.
- ICDT 2026
Tools page for ICDT 2026
- Extracting HDR Gainmap Metadata from HEIF/AVIF
Talk is Cheap, Show me Your Prompt.
- After Adopting New Colour Matching Functions, How to Redefine Colour Spaces?
Switching standard colour spaces over to new colour matching functions by constructing bridge spectra
- Extract ICC Files Directly from Most Image Files
A simple, universal method based on ICC file structure features, without relying on specific image formats
- HDR Image Formats (VI): Decoding and Conversion of iPhone HEIC Photos
Analysing HDR images in iPhone photos in HEIC format to understand their structure, decoding, and conversion process.
- What Happens When You Get the Baseline Headroom Wrong
Baseline Headroom in ISO 21496-1: A Bug and Some Curious Findings
- New Year, New Look: JacksBlog's First Anniversary
Fly me to the moon. Let me play among the stars. Let me see what spring is like on Jupiter and Mars.
- Hisense’s Four-Primary TV: Colour Gamut and Visual Health
How the added cyan LED affects gamut coverage and its potential impact on human circadian rhythm
- Bit Packing in DNG Images and Its Implementation
Understanding 10/12/14-bit image packing algorithms and solving Numpy slice alignment and padding issues
- HDR Image Formats (V): Understanding Headroom in Gainmap
A seemingly redundant parameter: The role and correct writing method of Alternate HDR Headroom in the ISO 21496-1 standard
- Assembling DNG To Get Day0 Support For New Cameras
Use LibRAW to break down RAW components, then manually piece together a usable DNG file with PiDNG.
- A First Look at Mobile Phone Log: OPPO O-Log as an Example
Maybe it's just a selling point mentioned at a launch event, but surely no one takes it seriously?
- A New Python AVIF Encoding Option: ImageCodecs
ImageCodecs now supports colour space and transfer function parameters.
- (Temp) CIC 33 Paper Demonstration
Visual Matching Experiment and Tone Mapping based on CAM16-UCS
- Geekon Monitor Unboxing: High-end Aspiration, Workshop Reality
A bold attempt at a super-high-spec product from a mysterious little workshop, only to suspect I've bought a monitor that has passed through eighteen hands.
- Solving WSL Installation Failure Caused by Invisible Hyper-V
Notes in installation of WSL2 for Codex, unknown issue about Hyper-V
- Decoding an Adaptive HDR Tone Mapping Method (Wang, 2025)
Breaking down an innovative tone mapping algorithm and exploring how it balances luminance compression with detail preservation.
- My Zotero: Configuration and Core Plugins
A guide to my Zotero setup, focusing on 'simplicity' and 'efficiency' with plugins
- MacAdam's Optimal Colours: The Boundary of Physical Colours
A mathematical proof: what does the reflectance of a 'perfect pigment' look like?
- HDR Image Formats (IV): ISO 21496-1 the Unified Gainmap
Say goodbye to messy proprietary formats — ISO 21496-1 brings a unified specification for Gainmap HDR images
- A Quick Analysis of the X2D II 100C File Format
Finished the UltraHDR article yesterday, only to have the X2D II release today and use it.
- HDR Image Formats (III): UltraHDR and MPF
A backwards-compatible HDR image scheme based on dual-layer JPEG and Gainmap, now widely adopted
- HDR Image Formats (II): JPEG and Its Modifications
A deep dive into the structure of JPEG and the modifications made to support new features
- Using LLMs for Colour Science: Best Practices and Test
Sharing tips for collaborating with general-purpose LLMs in this field, and tests.
- Decoding HDR Image Formats (I): Basic Concepts of Gainmap
Achieving HDR while ensuring excellent backward compatibility by packaging SDR and HDR images within a single file.
- CAT16: Why Are Two Steps Needed to Ensure Reversibility?
Details in colour adaptation models similar to CAT16: one forward and one reverse, achieving reversibility and transference
- Add a Little Gadget, and Talk About How I Update Articles
Using a badge to roughly show visitor count, and my general process for updating blog posts
- Objective Test Procedures for Sony Camera Displays
A small, practical method for testing the internal screen of Sony cameras and a hands-on example.
- How to Completely Remove a File from Git History
To be honest, I do this so often myself that I had to write something as a reminder (and for my own future reference).
- Principles of Colour Reproduction in Digital Images Notes: Colour Reproduction and Gamut
Notes for Principles of Colour Reproduction in Digital Images, Ep. 7
- An Experiment to Understand HDR Transfer Functions
Some tedious definitions, with love from BT.2408
- iCAM06: Colour Appearance Model in Image Processing
Python Implementation of Image Colour Appearance Model (iCAM06)
- HDR Image Format Conversion
Conversion of HDR still image formats
- Not Just Colour Difference: Evaluate Image with Colour Chart
Reflections on learning to analyse image colour using Imatest and colour charts
- How to Correctly Read RAW Files
Running fast doesn't guarantee a win; avoiding pitfalls is true success.
- Reflectance: Another Path to Readability in Bright Environments
Potentially a more effective improvement than class-leading screen brightness and aggressive tuning algorithms.
- Reincarnated into the ISP Isekai Day 0: Lost in the RAW Forest, I Summon RGB with a 3x3 Magic Array
Decrypting the RAW Colour Cipherbook: CCM Parameter Alchemy and Constructing the sRGB Portal Methodology
- Colour Space Conversion: RAW to XYZ
Converting RAW to XYZ
- Colour Space Conversion: RGB to XYZ
Building a matrix to implement conversions between XYZ and RGB spaces defined on XYZ.
- Principles of Colour Reproduction in Digital Images Notes: Colour Measurement
Notes for Principles of Colour Reproduction in Digital Images, Ep. 6
- Principles of Colour Reproduction in Digital Images Notes: Colour Appearance
Notes for Principles of Colour Reproduction in Digital Images, Ep. 5
- Principles of Colour Reproduction in Digital Images Notes: Chromatic Adaptation Transform
Notes for Principles of Colour Reproduction in Digital Images, Ep.4
- Principles of Colour Reproduction in Digital Images Notes: Illuminants and Light Sources
Notes for Principles of Colour Reproduction in Digital Images, Ep.3
- Principles of Colour Reproduction in Digital Images Notes: Fundamentals of Colorimetry
Notes for Principles of Color Reproduction in Digital Images, Ep.2
- Principles of Colour Reproduction in Digital Images Notes: Light and Vision
Notes for Principles of Colour Reproduction in Digital Images, Ep.1
- Principles of Colour Reproduction in Digital Images Notes: Introduction
Notes for Principles of Colour Reproduction in Digital Images, Ep.0