Pages: [1]   Go Down

Author Topic: Adding Dither to Profile Targets for Improved Profile Accuracy  (Read 2280 times)

Doug Gray

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 2197
Adding Dither to Profile Targets for Improved Profile Accuracy
« on: February 21, 2016, 02:59:44 pm »

I've experimented adding dither to targets to improve the profile's performance. This was as a result of noticing things like small Lab reversals when going from adjacent RGB device colors. Adding +- 3 of dither improved the profile performance by about .2 dE when printing a random set of in gamut colors.

I was also able to make a fairly useable profile on a LaserJet by adding +-5 of dither. LaserJets band so badly intrinsically that adding dither to images also improved things greatly. Combining the two provided much better overall print quality on my LaserJet even with it's limited gamut.

Anyone here experiment with adding dither to improve profiles and/or prints?

Note that to add dither to a profile target it's important to first scale the target to the printer's native resolution. For instance 300/inch for Canon. It seems I1Profiler's images are 100.
« Last Edit: February 21, 2016, 03:35:59 pm by Doug Gray »
Logged

NickXavi

  • Newbie
  • *
  • Offline Offline
  • Posts: 34
Re: Adding Dither to Profile Targets for Improved Profile Accuracy
« Reply #1 on: February 21, 2016, 04:01:24 pm »

Do you know how I can add dither or change the image resoution from i1Profiler?

Thanks!
Logged
CG277, P800, i1Pro 2

Doug Gray

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 2197
Re: Adding Dither to Profile Targets for Improved Profile Accuracy
« Reply #2 on: February 21, 2016, 04:31:55 pm »

Do you know how I can add dither or change the image resoution from i1Profiler?

Thanks!
You can save the target image then, resize it to the printer resolution and add dither to it. I use Matlab as it provides finer control but you can use Photoshop as well. When resizing it use nearest neighbor. That's one of the few times "nearest neighbor" should be used.

Then use Adobe's ACPU, or whatever technique prints directly, to print it.
Logged

Bart_van_der_Wolf

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 8914
Re: Adding Dither to Profile Targets for Improved Profile Accuracy
« Reply #3 on: February 21, 2016, 07:11:12 pm »

You can save the target image then, resize it to the printer resolution and add dither to it. I use Matlab as it provides finer control but you can use Photoshop as well. When resizing it use nearest neighbor. That's one of the few times "nearest neighbor" should be used.

Hi Doug,

Yes, but then one would need a method (preferably in Photoshop) to add dithering. Maybe a very low amount (Filter>Noise>Add noise... 0.1%) of noise (not uniform?) would help?

Quote
Then use Adobe's ACPU, or whatever technique prints directly, to print it.

Cheers,
Bart
Logged
== If you do what you did, you'll get what you got. ==

Doug Gray

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 2197
Re: Adding Dither to Profile Targets for Improved Profile Accuracy
« Reply #4 on: February 21, 2016, 08:42:50 pm »

Hi Doug,

Yes, but then one would need a method (preferably in Photoshop) to add dithering. Maybe a very low amount (Filter>Noise>Add noise... 0.1%) of noise (not uniform?) would help?

Cheers,
Bart

Add (even distribution, not Gaussian) noise in Photoshop was what I initially did to test the idea.  Crude but uncontrolled. About 1.5% improved things. As a result I decided to refine it in Matlab where I had more control. +/-3 max, evenly distributed, seemed pretty close to optimal on the 9500 II.  Could be different with other printers.

Logged

digitaldog

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 20651
  • Andrew Rodney
    • http://www.digitaldog.net/
Re: Adding Dither to Profile Targets for Improved Profile Accuracy
« Reply #5 on: February 21, 2016, 08:57:47 pm »

IF you want to add dither as defined in PS, you just need an 8-bit per color document and you need to produce a null color space conversion. That's where and how 'dither' as defined in Photoshop's preferences are applied. Doesn't kick in at all with high bit data.
Now should you do this? I'll remain silent expect to suggest, adding dither, noise, to a solid patch of color for output and measuring, doesn't seem to be anything any product has done in the past; perhaps for good reason?

Logged
http://www.digitaldog.net/
Author "Color Management for Photographers".

Doug Gray

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 2197
Re: Adding Dither to Profile Targets for Improved Profile Accuracy
« Reply #6 on: February 21, 2016, 10:05:07 pm »

IF you want to add dither as defined in PS, you just need an 8-bit per color document and you need to produce a null color space conversion. That's where and how 'dither' as defined in Photoshop's preferences are applied. Doesn't kick in at all with high bit data.
Now should you do this? I'll remain silent expect to suggest, adding dither, noise, to a solid patch of color for output and measuring, doesn't seem to be anything any product has done in the past; perhaps for good reason?

"Dither" is something optionally added in Photoshop colorspace conversions. Unfortunately, the amount isn't selectable. It's designed to minimize jumps in colorspaces from conversions. Adding noise, which is adjustable, is another form of dithering. I found it particularly effective at creating profiles that perform well in neutral tones, especially B&W. It produces much smoother gradients from L=10 to L=95.

You are right that it could be done automatically by the printer drivers and it may well be done by some. If so additional noise (aka dithering) would be counterproductive.  Basically, you have to test it to see if it improves things or not.

My approach:
1. Create profiles using different amounts of noise in the target images.
2. Print random, in gamut, patches using the different profiles and normal color management.
3. Read the colors with a spectro and select the profile that produces the least RMS error.

+/- 3 added noise to the 8 bit targets at 300 PPI produces about a 20% reduction in average dE2k but has little impact on the max dE2k which seems to be related to large deviations at the gamut edges.

It also produces a much better than that tracking of neutral tones for B&W prints. Most likely because my targets have added 25 additional gray patches.

I would be reluctant to recommend others do this. It could well be specific to my particular printer. Which is why I asked if others have investigated it. I can only speak for the results I've seen. I would not encourage this unless one can make their own profiles for their printers and have the time and interest to investigate it.

It is a subtle effect and none of the prints I have produced with either profile are visibly different outside smooth, artificial B&W gradients. It shows up mostly in spectro readings.

EtoA:
It might at first seem as if adding this noise to the target image would increase the overall variance in the patch readings but it actually is a nearly insignificant effect. Here's why:

If was assume random noise from -3 to +3 is added to each pixel we can estimate the color change in the .0033" spot printed from that pixel is a bit under 1% of the color range across the gamut axes. This is about 1 Lab unit in each direction or a total of a bit under 2 dE RMS. The aperture of the I1Pro is 4mm. Within that aperture is about 1700 printed pixels. The I1P reads the average color in that aperture so the noise introduced is expected to reduce the 1 pixel RMS variation by the square root of 1700. This comes out to about .05 dE of noise from the dither introduced in the measured color. Since the surface variations of a printed patch are higher and noise adds by variance, the effect on the patch readings is negligible.
« Last Edit: February 21, 2016, 11:48:57 pm by Doug Gray »
Logged

Doug Gray

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 2197
Re: Adding Dither to Profile Targets for Improved Profile Accuracy
« Reply #7 on: February 23, 2016, 06:20:42 pm »

Looking at this further I've found only small improvements with dithering in non-neutral areas. I'm somewhat surprised by this. By far the biggest improvement is in device RGB values that are neutral. IE: R=G=B. It seems that the printer only uses the gray/black pigments there. When adding noise to neutral tones there is a big difference when the same noise is added to the RGB channels than when each channel is independent. For the latter case, the a* and b* variation, while low compared to the L*, increases as the noise increases which reduces the overall improvements in the neutral stepping evenness.

So, in summary, the best results would be for B&W prints. Ideally, a special profile, only for B&W, would benefit the most.
Logged
Pages: [1]   Go Up