whatisgithub

What is hncs?

songjiun10-collab/hncs — explained in plain English

Analysis updated 2026-05-18

5PythonAudience · developerComplexity · 3/5LicenseSetup · easy

In one sentence

A Python toolkit that measures real sample photos from 12 camera brands and recreates each brand's color science as reusable code you can apply to any image.

Mindmap

mindmap
  root((Hncs))
    What it does
      Measures camera color science
      Applies brand looks to photos
      12 supported brands
    Tech stack
      Python
      OpenCV
    Use cases
      Brand color presets
      Log colorspace pipeline
      Lens distortion fix
      Cross camera conversion
    Audience
      Photographers
      Developers
    License
      MIT

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Apply a specific camera brand's color look to any photo with a single function call.

USE CASE 2

Convert raw photos into a professional Log color space for cinema-style grading.

USE CASE 3

Correct lens distortion automatically using EXIF metadata and a bundled lens database.

USE CASE 4

Simulate how a photo would look if it had been shot on a different camera brand.

What is it built with?

PythonOpenCVNumPy

How does it compare?

songjiun10-collab/hncs1ncendium/aibusteraaronmayeux/ha-hurricane-tracker
Stars555
LanguagePythonPythonPython
Setup difficultyeasymoderateeasy
Complexity3/53/52/5
Audiencedeveloperops devopsgeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Some tools, like the EXIF lens lookup, need the exiftool system binary alongside the pip installs.

You can use, copy, and modify the code freely for any purpose as long as you keep the original copyright notice.

So what is it?

HNCS is a Python project that studies how different camera and digital back manufacturers process their images into a distinctive look, then recreates that look as code you can apply to any photo. It started as a project focused only on Hasselblad's own color processing system, called HNCS, and has since grown to cover twelve camera brands total, including Fujifilm, Leica, Phase One, Pentax, Ricoh, Canon, Nikon, Sony, Panasonic, Olympus, and Sigma. Each brand's color recipe is built from real measurements rather than guesswork. The project gathered hundreds of official or near official sample photos from each manufacturer, over 800 photos across ten of the brands plus a separate raw and JPEG pair calibration specifically for Hasselblad. It breaks each photo down into five separate signals, covering tone, color, texture, gamut, and how colors are distributed together, then fits each brand's characteristic look from that data. The project also runs an automatic reproducibility check that confirms every published number can be recreated from scratch using the same cached sample images, and a test suite runs automatically through GitHub Actions on every change. Using it is simple: you load a photo with the OpenCV library, pass it to a function like apply_hncs, and get back a modified image in that brand's style, with every brand following the same input and output pattern. Beyond the main per brand color engine, the repository includes a few separate, more specialized tools. One converts raw photos into standard video color spaces used by professional cameras, such as Sony's S-Log3 or Arri's Log formats, so cinema style color grading tools can be applied to still photos. Another corrects lens distortion using a large public database of camera and lens combinations read automatically from a photo's metadata. A third, newer module called hybrid_engine goes a step further, attempting to make a photo shot on one camera brand look as if it had been shot on a different brand entirely, by reading the source camera from the photo's metadata and reversing then reapplying the relevant brand color curves. The project is released under the MIT license, and a Korean language version of the README is also provided.

Copy-paste prompts

Prompt 1
Help me apply the Fujifilm color look to a batch of my own photos using this library.
Prompt 2
Explain how the population-fit measurement process works for a brand like Sony.
Prompt 3
Show me how to use the RAW to Log colorspace pipeline for cinema grading.
Prompt 4
Walk me through using hybrid_engine to convert a JPEG shot on one camera to look like another.

Frequently asked questions

What is hncs?

A Python toolkit that measures real sample photos from 12 camera brands and recreates each brand's color science as reusable code you can apply to any image.

What language is hncs written in?

Mainly Python. The stack also includes Python, OpenCV, NumPy.

What license does hncs use?

You can use, copy, and modify the code freely for any purpose as long as you keep the original copyright notice.

How hard is hncs to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is hncs for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.