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
#4,421 ·
Yes, 75% white is expected here. You use 100% for the sweeps
I just tried this, I'm doing something wrong, I must be, because this made things WAY worse. I have delta luminance's of more than +100% right now,


I could not get dE's less than 10 with color set at 50.


I have a feeling the measures I'm doing aren't as independent as they seem to be. what am I do wrong:
-run greyscale sweep
-run primary/secondary sweep(reference set to 709/75%) using 75% patterns in saturation folder, and 75% gray pattern from one of the grayscale folders
-then I'd go in the cms, and adjust settings until each of the primaries/secondaries 'looks good'. and run the saturation sweeps(I never got them to look good this time though)


I think it's time for me to just be happy with the fact I have a calibration with dE's all under 2.5, and looks good with content, and stop worrying about why I needed 'bandaid' fixes
 
#4,423 ·
I just tried this, I'm doing something wrong, I must be, because this made things WAY worse. I have delta luminance's of more than +100% right now,


I could not get dE's less than 10 with color set at 50.


I have a feeling the measures I'm doing aren't as independent as they seem to be. what am I do wrong:
-run greyscale sweep
-run primary/secondary sweep(reference set to 709/75%) using 75% patterns in saturation folder, and 75% gray pattern from one of the grayscale folders
correct so far.

-then I'd go in the cms, and adjust settings until each of the primaries/secondaries 'looks good'.
Sounds right, run continuous measures and while you have the primaries/secondaries grid showing tune each color to minimize dE. Then take another primaries/secondaries sweep to confirm all colors are under 1 dE2K

and run the saturation sweeps(I never got them to look good this time though)
Here you have to take a primaries/secondaries sweep at 100% in regular Rec709 prior to the saturation sweeps.
 
#4,424 ·
correct so far.


Sounds right, run continuous measures and while you have the primaries/secondaries grid showing tune each color to minimize dE. Then take another primaries/secondaries sweep to confirm all colors are under 1 dE2K



Here you have to take a primaries/secondaries sweep at 100% in regular Rec709 prior to the saturation sweeps.


thank you for this.


but this confirms my issue with color at 50 then. with color at 50, it's not possible for me to achieve 'acceptable' dE's. I'm sitting with values of 105% or higher, with settings of 0 for that corresponding color. I can't go lower than 0. I can 'balance' things at 105%, but then my delta luminance is very high, and the dE's are high anyway.


I've attached my most recent 'sweep' of all measures. and my settings are saved in the comments. the results look good to me, so I think I'm going to leave this for awhile, as it's started to frustrate me, and is no longer fun. I will thank you for all your help though!
 

Attachments

#4,425 · (Edited)
I just tried this, I'm doing something wrong, I must be, because this made things WAY worse. I have delta luminance's of more than +100% right now,


I could not get dE's less than 10 with color set at 50.
I uploaded a file with my measurements using Color 50 and 75% targets to calibrate, but no one commented on it. The max & avg dE's aren't as good as when I calibrated with increased color and 100% but they're not 10 either. Now I'm out of town so no calibrating for a few days. That's fine as I need a break.
 
#4,426 ·
Yes, 75% white is expected here. You use 100% for the sweeps
I just tried this, I'm doing something wrong, I must be, because this made things WAY worse. I have delta luminance's of more than +100% right now,


I could not get dE's less than 10 with color set at 50.


I have a feeling the measures I'm doing aren't as independent as they seem to be. what am I do wrong:
-run greyscale sweep
-run primary/secondary sweep(reference set to 709/75%) using 75% patterns in saturation folder, and 75% gray pattern from one of the grayscale folders
-then I'd go in the cms, and adjust settings until each of the primaries/secondaries 'looks good'. and run the saturation sweeps(I never got them to look good this time though)


I think it's time for me to just be happy with the fact I have a calibration with dE's all under 2.5, and looks good with content, and stop worrying about why I needed 'bandaid' fixes
I don't get why zoyd was saying 100%. "-run primary/secondary sweep(reference set to 709/75%) using 75% patterns" All aligns properly with 75%sat/75%amp/709/75% primaries for as long as I can remember. I've never had to touch 100% settings or patterns. Unless there's a communication error?
 
#4,427 ·
I uploaded a file with my measurements using Color 50 and 75% targets to calibrate, but no one commented on it.
I think it's a lot easier for most to comment and provide feedback when posting images with screenshots. It's a PITA to download a zip file and load it in HCFR to compare and then get back here to post. Moreover, a lot of us end up browsing the forums on computers/devices that don't have HCFR installed on them.
 
#4,428 ·
I think it's a lot easier for most to comment and provide feedback when posting images with screenshots. It's a PITA to download a zip file and load it in HCFR to compare and then get back here to post. Moreover, a lot of us end up browsing the forums on computers/devices that don't have HCFR installed on them.
Zoyd asked for the .chc for the scenario I uploaded, hence the upload. :)
 
#4,429 · (Edited)
I've attached my most recent 'sweep' of all measures. and my settings are saved in the comments. the results look good to me, so I think I'm going to leave this for awhile, as it's started to frustrate me, and is no longer fun. I will thank you for all your help though!


Thanks, from your save file it looks like you have your HTPC levels set-up incorrectly for the display.

Cell light: 20, Contrast: 90 -> 100% white = 113.45 cd/m^2 Should be higher for these settings.

Brightness: 41 This should be close to 50

I'm guessing you have your video card set to Y'CC out so when feeding it video levels it's going to scale 16-235 into the range 30-218, 30->forces you to lower your brightness to compensate and 218 gives you the low peak white, it should be in the 130-140 cd/m^2 range. Set your card to full-range output so it doesn't do any scaling.

Getting the PC output set correctly may help with the color calibration.
 
#4,431 ·
I've never had to touch 100% settings or patterns. Unless there's a communication error?
The comment was in reference to running the saturation sweeps, not rec709 75% color space.
 
#4,432 ·
Accuracy of ambient light measurement?

This may be a bit of a strange question, but I am trying to use my Colormunki Display to measure Ambient light levels where my wife is growing a number of orchids that are housed under some grow lights. I know that Argyll/HCFR can measure ambient light level when the diffuser is in position on the meter. Given that the spectral distribution of the grow lights is an unknown, would that result in a potentially large uncertainty in reported ambient light levels?
 
#4,433 ·
This may be a bit of a strange question, but I am trying to use my Colormunki Display to measure Ambient light levels where my wife is growing a number of orchids that are housed under some grow lights. I know that Argyll/HCFR can measure ambient light level when the diffuser is in position on the meter. Given that the spectral distribution of the grow lights is an unknown, would that result in a potentially large uncertainty in reported ambient light levels?
Should be moderately accurate in measuring visual light level (Lux). The filters in the i1d3 are certainly good enough, but in my experience the disagreement between absolute calibration of different instruments indicates some variations.
 
#4,435 ·
Thanks, from your save file it looks like you have your HTPC levels set-up incorrectly for the display.

Cell light: 20, Contrast: 90 -> 100% white = 113.45 cd/m^2 Should be higher for these settings.

Brightness: 41 This should be close to 50

I'm guessing you have your video card set to YCC out so when feeding it video levels it's going to scale 16-235 into the range 30-218, 30->forces you to lower your brightness to compensate and 218 gives you the low peak white, it should be in the 130-140 cd/m^2 range. Set your card to full-range output so it doesn't do any scaling.

Getting the PC output set correctly may help with the color calibration.
yeah, i'll see what happens if I ever figure out how to run these patterns off a different source.

to be honest though, if I get a brighter image, i'm going the wrong way, haha. I went through great effort to get it DOWN to only 30ftl. for what it's worth, setting contrast to 100, still gets me over 50ftl, which seems in line with what others are getting.

but until I get the slides running off another source, and cross reference that to the pc, i'll never know for sure.
 
#4,436 ·
but until I get the slides running off another source, and cross reference that to the pc, i'll never know for sure.
I would reset everything to default since that calibration will be completely wrong for normal video level inputs.
 
#4,437 ·
I would reset everything to default since that calibration will be completely wrong for normal video level inputs.
I'll run the hdmi2 input. not fixing what isn't broke, until I know it's broke, haha.

plus, i'd like to see HOW it's off. just for interest.

now. what's the easiest way to run the avs patterns off a ps3? haha
 
#4,439 ·
Set the PS3 for YCC output and go. :)
it wouldn't read my usb sticks last I tried(seriously, who uses FAT32 anymore??, terrible!). I think, it's been awhile. but I know there's a reason I didn't use the ps3 to begin with. cause my original plan was to calibrate the tv using the ps3, then calibrate the HTPC with the video card settings once the tv was calibrated. then repeat with the projector... but I couldn't get the files to play on the ps3, so instead, I used the projector as my 'reference'(nearly every jvc x35 calibration I've seen had brightness, contrast, color, and tint at 0) to set the brightness/contrast settings of the video card, and anyway, we ended up here, so apparently that didn't work out too well. other than stuff looking great when I play it off the HTPC.

the ps3 is already set for YCC, except for games, but i'll double check these settings before starting.

i'm interested to see how it compares.
 
#4,440 · (Edited)
looks like I'm damned if I do, and I'm damned if I don't...


I reformatted my usb drive, moved the avs files onto it, and played them on the ps3. it solved nothing, probably created more problems...


first, playing them off the usb, does NOT seem to get treated like 'video'. I have set the BD/DVD output to YCC, I am receiving RGB to the tv... I set the HDMI level on the tv to low and normal, but I don't really know how I'm supposed to trust this anymore than the HTPC? whites seem to clip around 232ish, definitely no way to get flashing bars up to 235, let alone above it. even with contrast at 20, it never shows. for what it's worth, I switched back to hdmi level of low, and I needed a brightness of 77 to get 17 to flash... again, no way this would be acceptable for watching cable, so I know this is wrong anyway. normal left me with a brightness setting of 46, definitely closer to what I've seen for cable/htpc/etc.


before I go nuts, I did just a greyscale and primary/secondary sweep. the greyscale tracks ok, up to 90% and then goes nuts for 100%. colors appear about the same as they do when running through the HTPC(but I haven't run the saturations).


I did all of this with the same settings I was using before, color at 62 and everything.


at this point, I see that there's probably an issue with contrast, somewhere. I know that whatever the 'peak white' of the display is, it will be terribly blue. this wasn't an issue watching through the HTPC because that point corresponds with a video level above 110%. on the ps3, it seems to be right at 100%. I don't know what setting may be incorrect on the ps3, but at this point I think running the patterns off the ps3 is LESS accurate than the htpc. so I really don't know what to do at this point. if I can't find an accurate source, there's really no point in even calibrating any differently. at least I know the stuff I watch off the HTPC is good right now, and that's 99% of what I watch critically.


let's just say I love the HCFR program, but it's driving me mad that there's no 'good' source for patterns that don't come with a whole whack load of potential for error.

guess I'm going to waste the rest of my free time on ps3 forums trying to figure out how to watch 'video' without messed up settings. yup, I'm frustrated!


edit, I'm going to 'play' with settings on hdmi2 with the ps3. see what happens
 
Top