AVS Forum banner

HCFR - Open source projector and display calibration software

2M views 16K replies 1K participants last post by  nathan_h 
#1 · (Edited)
Hi and welcome to the open source HCFR software thread.
Updated Jan. 27th - 2018

I love working and tinkering on the program but given the amount of time I've invested over the past year on improvements I'm going to start accepting donations. If you feel the program has been of value to you since I started working on it about 3 years ago please consider a contribution via the link below. Thanks!

https://www.paypal.me/zoyd
(or via direct paypal to vze262tr@verizon.net if paypal.me is not supported in your country)

Thanks to the following for recent donations! [LarryInRI, Barsk, 22point, LastButNotLeast, Dominic Chen, Brian M., Wayne L., Andrej S., Arturs J., Douglas P., John G., mo949, Eric V., David S., BlueChris, EXT64, Nihat S., Luis E., J. F., Miiku Joao F., Luis M., Nate W., Don H., Stahinja M., Jeff H., Pedro C., Howell A., Myat M., Carlos F., Webster D., SiegeX, Jörg O., Enrico B., Gert M., Marlon K., Jacob R., John G., Kari T., Ryan T., Franck P. ]

HCFR uses ArgyllCMS for the operation of the probes, so please help ensure that ArgyllCMS remains available in the future, by making a financial contribution to the argyllcms project:

www.argyllcms.com

---

This thread was originally started by JohnAd who had the nice idea of creating an open source fork of the original HCFR Colormeter software to integrate the existing GUI and all of it's calibration features, with the meter handling code of ArgyllCMS. Since ArgyllCMS is continually adding and improving meter support, HCFR benefits by staying current with these developments. The software is frequently referred to as HCFR or colorHCFR where HCFR is short for "Home Cinema-FR", a French forum where some of it's members originally developed the code to support their home-brew colorimeter in 2005. Along with the meter handling improvements introduced by ArgyllCMS, I have been working on improving and adding features to the color engine and internal pattern generator. Please use this thread for bug reports, usage questions and suggestions for improvement. Anyone wishing to help with code development should join the developers mailing list.

The latest version of HCFR (3.5.1.4) can be found here. Changelog

Help Wanted (pm zoyd)
  • Language translation
  • Update French and German with recent changes
  • Full Spanish, Italian, others? needed
  • Help file updates
  • PDF Quick Guide

User wl1 has provided some useful links for beginners to display calibration as well as links to helpful posts within the thread. Please take a look before posting to see if your question has already been answered. There is also a FAQ section below that may be helpful.

Useful Links
Display Calibration - Part I
Curtpalme - Calibration Guide for Dummies
Basic Guide to Color Calibration using a CMS (updated and enhanced)
ArgyllCMS Probe installation notes
Spears and Munsil
Choosing a Color Space | Spears & Munsil
The Secrets Blu-ray Player HDMI Benchmark Part 1 and Part 2
Original version 2 avsforum discussion thread
Another version 2 discussion thread
How-to: Use HCFR to profile your colorimeter

Links to Tools & Utilities
AVSHD709 Test Disk
GCD Disk
Mascior's Calbration Disc
dispcalGUI (front-end to ArgyllCMS)
Ted's LightSpace CMS Calibration disk (now with pointers for use with HCFR) [Set-up Instructions]

Thread Summary (from Post 792, New Scientist)
Post No. Comment
#151 to #155 - installing i1Display Pro

#159 - use of i1Display 3 3/1/2012 (march 1st)

#161 - removal of non-free code (for accessing meter)

#162 - x-rite driver (.dll) use

#165 - spotread

#167 - spotread

#174 - problems with i3D3

#180 - observations re use of i1D3

#183 - reply to #180

#189,#196 - x-rite drivers

#198 - x-rite drivers

#202 - installation i3D3

#226 - a first attempt at calibration

#227,#236 - i1D3 not requiring calibration

#231 - ccss

#248,#253 - i1D3 not requring drivers from x-rite to work with HCFR

#257,#258 - i3D3 with HCFR

#263 to #270 - analysis of #258

#275 - spreadsheet for setting gamma

#277 - spreadsheet uses

#325 - HCFR v3.0.1.0

#397 - using i1D3

#416 - graphs from testing i1D3

#425 - EDR and i1D3ccss too
l
#426 - v3.0.2.0 issues re i1D3

#428 - generate .ccss files from i3D3 disk

#442 - v3.0.3.0

#487 - v3.0.4.0

#507 - what is .ccss

#509 - refresh and i1D3ccss.exe

#514 - what is .ccss and .EDR

#519 - i1D3ccss usage

#528 - where should the .ccss files go?
#534 - ARGYLL_COLMTER_CAL_SPEC_SET environment variable
#540 - some addtional ccss file info (plasma displays)

#552 - ccmx file

#600 - i1D3 not showing in Sensor list

#610 - "Use measured colors", in Preferences -> General, option

#678 - i1D3 and i1 Display Pro differences

#682 - comment re issue with v3.0.4.0 and i1D3

#688 - which driver to use

#717 - i1D3ccss tool

#732 - do I need drivers or not?

#786 - spectral sample files

#824 – Steps to load Driver

#841 – i1D3 reds on Plasma - matrix

#876 – ColorMunki Display guide

#898 - 904 – Pana Window sizes

#1008 – Comparison of HCFR 2.1 and 3.0.4.0

#1083 – HTPC Cal. Suggestion

#1105 – Updating and removing Argyll Drivers

#1114 – Plasma Essential Reading

#1122 –i1D3Pro - initial accuracy study/background to meter matrices

#1146 – Matric Correction file info

#1150 – Import Matrix file into HCFR

#1205 – 2 point V 10 point Calibration

#1215 – Warming up meter

#1241 – profiling Meters

#1250 – Matrix file for Display LT2

#1258 – errors in HCFR ? Red push?

#1260 – GT30/VT30 Experiences

#1270 – WARNING – HCFR Matrix different than CP or CM

#1280 – Zoyd Steps in - Installation package and baseline Integration value

#1285 and 1299 – The fixes explained – instability @30%IRE

#1303 – Argyll Driver suggestions

#1336 –build from Zoyd – USB fixes

#1337 – Plasma/LCD – definitive Refresh settings and Calibration of meter (>50%)

#1344 – Lots of changes to HCFR

#1352 – List of more changes – BT1886 gamma target

#1354 – More info link on BT1886

#1357 & 1360 & 1370 – Answers about changes – and gamma recommendations

#1380, 1390 – another build

#1398 – Fork of a Fork

#1411 – Luminance and Delta E – Yes or No? Colour or Grey?

#1420 & 1426 – 3.0.4.1 Changes

#1424 – Use of GCD Disk Colour Checker Pattern

#1512 & 1515 & 1558– Version 3.0.4.2 Changes

#1521 – Run HCFR with Admin Privileges

#1523 – Projector questions and suggestions
#1537 – Explanation of Change to HCFR calculation of gamma
#1647 – LCD and LD ON/OFF? Plasma and ABL – guidleines
#1648 – Preferences -> General -> gray levels rounding assumption to unchecked? AVCHD,DVD=checked, GCD,internal patterns=unchecked
#1650 – Can I use matrix from D3 for LT2? No – see 1651

#1663 – BT.1886 or not? Depends on if you have 10 point control

#1702 – BT1888 is not meant to be flat

#1722 – Samsung D & E -75%A and 75%S recommended

#1774 – Explanation of affect of Patterns to gamma and light output results


FAQ:
Do I need to install a driver for the i1Display Pro (i1D3)?
No. This meter as well as the Huey, ColorMunki Display, and ColorHug use the system HID driver.

Which probes are supported?
Any probe that ArgyllCMS supports.

How do I install the right driver for my probe?
Assuming your device is not one of those above, the driver .inf file is located in the drivers sub-directory of the main HCFR folder (by default this is c:\Program Files (x86)\HCFR Calibration\Drivers). You do not need to install the full ArgyllCMS program but useful driver installation hints can be found here. After plugging in your meter go to the system devices in your control panel, find the meter and right click to update the driver. Point the update dialog to the HCFR drivers folder.

Which deltaE formula is the most accurate?
All the deltaE formulas represent a measure of the distance between your measured color and the reference color. So they are just rulers with different scales, use the one recommended if you aren't sure. For gray scale measurements the recommended formula provides more sensitivity to chromaticity (x,y) errors so it's easier to use for "tuning" your controls. The dE94 or dE2000 formulas are generally the most acceptable for "proofing" as they are the most uniform in perceptual space and a unit of error in one part of the gamut has the same visual impact as the rest of the gamut.

How can I import Chromapure probe profile data in HCFR?
Calculate the matrix correction using the spreadsheet from this post where z=1-x-y and then enter it in the sensor matrix tab.


How do I use the Casino Royale images to check my calibration?
There is a nice guide here on what to look for at those particular timecodes.


What do the different parameters for the BT.1886 gamma formula do?
The recommended value (default) for the exponent in the formula is 2.4. This value will be used when you enter 0 for absolute in the BT.1886 box. If you want to tailor the function to make the picture have a little more or less contrast then enter a different number here. If you enter 2.4 for example the actual exponent used will be adjusted so that the target gamma has a value of 2.4 at 50% stimulus. You might use that for a dark environment and 2.2 for a brighter environment.

The other parameter (% Input Offset) will change the shape of the curve near black up through about 20% stimulus. The default value will target a gamma that should provide plenty of detail in the shadows. If you find the shadow detail is being lifted too much when you calibrate to this curve, adjust this value lower (try 50%) and this will raise the target gamma near black and darken the shadows. Note that in most cases you must have multipoint gamma adjustment ability to get a good match to a BT.1886 curve. Also note that if you have a zero black level (e.g. OLED) the target point gamma curve will be flat.


What should I use to generate test patterns?
Most people start out using DVD/Blu-ray test disks to generate their test patterns and run HCFR in manual mode. The assumption being that the BD player is somehow altering the test pattern and not following industry standards for the rendering and transmission of video and that these errors must be "calibrated out". However, this assumption is usually overblown and most often you'll find that while there may be some single bit rounding errors being generated they are not large enough to have any perceptual effect on the signal. I recommend that once you get a good feel for the calibration process using a DVD/BD that you move on to automatic pattern generation (see next question) and then cross-check against your BD player results for sanity.


How do I set-up automatic test patterns?
HCFR has three options for automatic test pattern generation, it's own generator, madTPG, and the Chromecast device. The first two require some set-up of the video card to ensure accuracy while the third requires no set-up. All three options are very accurate test pattern generators with the following characteristics:

HCFR generates all of it's triplet targets in 8-bit video levels (16-235) so when used in a video level path both the internal generator and madTPG will provide technically reference triplets. When used in a PC level (0-255) path the internal generator will expand the video levels to PC level and this will produce rounding errors. While small it is recommended that you use madTPG if you want to calibrate in PC levels because it will dither the output levels and reduce or eliminate any rounding errors. A good summary of the various levels combinations can be found here(h/t @SiegeX).

The Chromecast device produces Y'C'C' output and while not technically a reference device because the levels it produces have rounding errors, it is also dithered to reduce these errors below perceptual limits. The advantage to this device is cost ($30) and ease of set-up (it really is "plug-and-play")

To set-up your laptop/PC for pattern generation (either internal or madTPG) you will need to ensure your video card has linear gain tables loaded (i.e. no profile installed). madTPG does this for you automatically, otherwise you'll need to research your card settings to determine how to do this. It is also easiest to get the correct levels set-up if you force the card to output it's normal 0-255 range when connected to your display over HDMI as some cards will default to 16-235 levels, which in some cases is undesirable. The madVR package has a utility for doing this (madLevelsTweaker) or your card may have this option in it's control panel.

Once you have the card set-up select 16-235 in the HCFR view images settings (or 16-235 in the madVR settings) for a display set to video levels. If the display is set to expect PC levels choose 0-255 in HCFR or the same in madVR. There are no level settings required when using the Chromecast as your pattern generator.

All three pattern generators have settings for window size as percent of screen area and background level as percent average picture level. Which settings you use depends on your particular display so it's best to consult an owners thread for specific recommendations.
 
See less See more
#6,661 ·
I calibrated my VT50 using the special Plasma OPT colour space and 10 point white balance and gamma and primaries and secondaries. The results are pretty good. Skin Checker is 2.5 as opposed to 3.9 with the 75 75 colour space.

As you can see from the screenshot I never touched the green and skipped the 2 point calibration. Notice that I had to move the sliders a lot!. A 2 point calibration would have saved me some time here.
I'd recommend dialing in the display with the 2 point as close as possible before touching the 10 point. At least on my Samsung Plasma, I've found the 10 point controls to be somewhat destructive if you make big changes. You can get something that measures perfect at the 10 points and looks terrible. This is because the space in between the 10 points is all over the map.
 
#6,662 ·
I'd recommend dialing in the display with the 2 point as close as possible before touching the 10 point.
With my JVC projector, I would use the 2-point High to adjust for the correct colour temperature, but leave the 2-point Low alone, prior to the 10-point adjustement.

You can get something that measures perfect at the 10 points and looks terrible. This is because the space in between the 10 points is all over the map.
Even if your TV only has a 10-point control, it's useful to set HCFR in the 20-point mode to do a grey scale sweep, when you're finalizing your calibration.
 
#6,663 · (Edited)
I assume you are talking about this:
Correction matrix to map plasma EDR based correction to JETI 1211 by Zoyd
1.085195 0.009410 -0.003509
0.003101 1.086654 -0.000754
-0.008047 0.014608 1.063265

Yes I did actually use that, but I never moved my contrast control from the default of 36 after I read this from David Mackenzie here http://www.hdtvtest.co.uk/news/panasonic-tx-p50vt50b-p50vt50-201204101757.htm

"The menus look the same as they have since the 2011 redesign, but we found that on the ST50 plasma, one of the controls worked differently: the [Contrast] control allowed us to increase the brightness of the images put out by the Plasma panel, so, the first thing we did on the TX-P50VT50 was to try the same thing. We were disappointed to see that this didn’t work on this HDTV, when it’s set to the [Professional] modes. This means that the [Contrast] control on the Panasonic VT50 series, in the most useful picture modes, is basically useless, and only serves to reduce detail in bright areas if turned up. The [Professional] modes are capped at a peak white brightness of around 82 cd/m2 (when measured with a standard window pattern). By contrast, we were able to get around 130 cd/m2 out of the cheaper ST50. More on light output later in the review."

I did not notice it, but the matrix corrected the cd/m2 upwards by 7 to 87.8. Using it with a simulated sensor and no offset or errors shows brightness 108.9 cd/m2 for the 100% stimulus.

Thanks guys for all the tips. I guess I will start a new calibration with a the high end of a two point and then proceed with a ten point pushing it until it clips and back off a bit and and also look at the 5, 15, 25... points for fine tuning. If the 5 starts misbehaving in red as reported here and there then I will fix it with the low side of the two point controls. I will also play a bit with the contrast control and move it towards 45 instead of the default 36. As and experiment I might just even plot the effect of the two point calibration controls to see what they do when they are jacked up or down by 5 for each primary.
 
#6,664 ·
Should a 100% white pattern change luminance when changing between gamma profiles? I thought 100% white should be unaffected by gamma profile changes as 100% white should always be 100% luminance on every gamma profile. Should different ten point gamma profiles have different luminance values for a 100% white pattern, all else being equal?
 
#6,665 · (Edited)
Should a 100% white pattern change luminance when changing between gamma profiles? I thought 100% white should be unaffected by gamma profile changes as 100% white should always be 100% luminance on every gamma profile. Should different ten point gamma profiles have different luminance values for a 100% white pattern, all else being equal?
In theory, the white point should remain the same while you change the gamma profile. However, similar to the "control displacement" issue observed on many TVs when you reduce the Contrast, what you "think" is the 100 IRE luminance may not be what the TV uses to calculate the gamma. In such cases changing gamma will affect the 100 IRE luminance.
 
#6,666 ·
Hi Dominic,

I am using a 12 point gamma control to set the gamma curve at the following points (5/10/15/20/30/40/50/60/70/80/90/95). I don't alter the contrast setting during the calibration.

I display a 100% white pattern using the HCFR in built generator (GDI). When I alter gamma profiles I measure significant changes in the measured luminance from my projector screen (colormunki display meter) when displaying the 100% white pattern.

You noted that some screens have a "control displacement" issue, that matches the issue I have observed. I am calibrating a JVC X3 projector.

The luminance change at 100% white has knock on implications to the gamma profile which is displayed in HCFR. HCFR is calculating the BT.1776 gamma profile from the 0% and 100% luminance readings. If the 100% luminance changes because of modifications to the gamma points between 0% and 100% then it is difficult to understand how I can finalise the gamma calibration.

Put simply, the target profile itself must be changing as soon as I make a tweak to, for example, the 40% gamma point. Meaning that as soon as I have edited the 40% gamma point to hit the target 40% gamma point on the target gamma curve, the target curve itself is wrong as I have somehow changed the 100% luminance point too?

How can a gamma calibration be achieved with this behaviour? I am beginning to doubt that I am truly displaying a 100% white, as I find it difficult to believe that I wouldn't have read about the gamma profile control in the X3 being fundamentally faulty in this way.

Any ideas on what I should try next to achieve my gamma calibration?

In theory, the white point should remain the same while you change the gamma profile. However, similar to the "control displacement" issue observed on many TVs when you reduce the Contrast, what you "think" is the 100 IRE luminance may not be what the TV uses to calculate the gamma. In such cases changing gamma will affect the 100 IRE luminance.
 
#6,670 · (Edited)
Put simply, the target profile itself must be changing as soon as I make a tweak to, for example, the 40% gamma point. Meaning that as soon as I have edited the 40% gamma point to hit the target 40% gamma point on the target gamma curve, the target curve itself is wrong as I have somehow changed the 100% luminance point too?
Are you saying that adjusting the 40% gamma point changes the 100% luminance? That really shouldn't happen, even with "control displacement" which cannot be that extreme.
Can you list the detailed steps you took between measuring the 100% luminance, and adjusting the 40% control?
In particular, make sure you're already on the "Custom Gamma" screen, and select the desired "Correction Value" (Normal, Film1, etc.), prior to measuring 100% luminance.
 
#6,671 · (Edited)
In theory, the white point should remain the same while you change the gamma profile. However, similar to the "control displacement" issue observed on many TVs when you reduce the Contrast, what you "think" is the 100 IRE luminance may not be what the TV uses to calculate the gamma. In such cases changing gamma will affect the 100 IRE luminance.
I just did some measurements on my DLA-X30 which is the successor of the X3. The results are as follows

Code:
Gamma Preset               Luminance at 100 IRE
                Contrast 0       Contrast -10       Contrast -20
Normal             28.7             23.9               19.3
Gamma A            28.7             23.8               19.3
Gamma C            28.7             24.3               20.1
Custom 3           28.7             22.5               17.0
These results confirm my previous post, i.e., with the default Contrast, the different Gamma profiles do not affect the luminance at 100 IRE. However, if you're using a Contrast that is reduced from the default, then different gamma profiles will have different luminance levels.
 
#6,673 ·
I just ordered an X1 Pro as my 8 yr old Display2 seemed to be way off on red, yellow and green readings.

When I configure this with HCFR, do I need to load some kind of correction file or is it pretty much plug and play?
 
#6,674 ·
I just ordered an X1 Pro as my 8 yr old Display2 seemed to be way off on red, yellow and green readings.

When I configure this with HCFR, do I need to load some kind of correction file or is it pretty much plug and play?
 
#6,675 ·
I just ordered an X1 Pro as my 8 yr old Display2 seemed to be way off on red, yellow and green readings.

When I configure this with HCFR, do I need to load some kind of correction file or is it pretty much plug and play?
Unless you custom-calibrate your i1 Pro spectro (presumably X1 is a typo), there is no correction file to load. On the other hand, you can use the i1 Pro to generate a correction file for the Display2.
 
#6,676 ·
Quick question. I've noticed a little bit of green tinge in skin and emitting from the ambient light around actors/actresses. Green saturation and hue have been adjusted to have lowest possible dE. Green saturation is already pretty low like in the negative. I did however have to bump green up in RGB HI quite a bit to get gray scale to have a lower average dE. Is raising "G" causing the green tinge? I think lowering green saturation will negatively affect dE but I could manipulate RGB HI and LO to have a lower "G".
 
#6,677 · (Edited)
@Sithuk


Projectors can be difficult, I advise not have adjustment menus up when taking readings, yes this is a PITA.
Some projectors can remap after making adjustments, JVC models do this when leaving the gamma adjustment menu.
Watch out for automatic light output features that kick in at certain levels.
Study the resulting curves, then adjust blocks of one channel(RGB), and before anyone chimes in and says don't touch the green channel, this is a legacy argument, just be aware that green is 70% of the signal so adjustments have larger effects of levels. ie 1 click of green is not the same as 1 click of blue.

levels can shift when making cuts and gains, this is why you have to take repeated measurements.


PS; Dominic, JVC models can be different per region(firmware issues) and models where some had oddities when adjusting settings. Ie adjusting 1 control might effect another section, dramatically in some cases/models.
 
#6,678 ·
Just hooked up a new i1 Display Pro to a Macbook Pro running Yosemite.

I cannot get HCFR to detect the device. It still only gives HCFR Probe, Virtual Sensor, Spyder 2 and Spyder 3 options.

Do I have to copy over some driver files to the HCFR directory like you have to do with Windows?
 
#6,679 ·
Just hooked up a new i1 Display Pro to a Macbook Pro running Yosemite.

I cannot get HCFR to detect the device. It still only gives HCFR Probe, Virtual Sensor, Spyder 2 and Spyder 3 options.

Do I have to copy over some driver files to the HCFR directory like you have to do with Windows?
 
#6,680 ·
I cannot get HCFR to detect the device. It still only gives HCFR Probe, Virtual Sensor, Spyder 2 and Spyder 3
The Mac version of HCFR is quite old. I don't think it works with i1DP.
 
Top