Pages: [1]   Go Down

Author Topic: Re-reflected light and tools for analysis. Includes results of two scanners  (Read 1554 times)

Doug Gray

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 2197

I have discussed the issue of scanner re-reflected light when scanning reflective media and am interested in how much of this occurs in different manufacturer's scanners. Should anyone test their scanners with the included image, could they please report model and results?

Briefly, re-reflected light is from the illumination of nearby areas that reflects back onto nearby structures in the scanner and back onto the media being scanned. When the surrounding colors are dark, little light is reflected back but when the surrounding colors are highly luminous the media is illuminated by the sum of both the original illuminant and the re-reflected light from nearby areas.

This causes, in extremis, a large variation in the scanned colors. For instance a scan may indicate a L* value of 88 on color that is surrounded by white but a value of 82 when that same color is surrounded by black. And this can't be corrected by a profile as it's a response baked into the scanner design.


In order to provide a consistent technique to quantifying the re-reflection error magnitude with different scanner I have made a image with a pair of nine circles, decreasing in size from 2" diameter to .125" diameter. Each decrease reduces the area in the circle by half and so the diamter of each circle is reduced approx. 29% from the prior circle.

One set of circles is surrounded by "white" while the other set of circles is surrounded by black. Each circle is printed with a slightly gray white using RGB values of 220. The 2" diameter circles are marked with a "1"




This was printed and scanned with my two scanners. One, an Epson V850 and the other is an HP M477fwd scanner/printer combo. The latter scans flat or with a sheet feeder but isn't as consistent or repeatable as the Epson. However, they both exhibit re-reflection errors.

To use the chart, print it at 100% on 8.5x11 US letter size on photo paper. Doesn't matter if glossy, semigloss or matte. You will get similar results on any paper. You can eve print it with a laser printer on regular white paper as the effect is pretty large. Print it using Perc. or let the printer manage color. Again, doesn't make much difference. But don't use Abs. You want the "white" to be unprinted and Abs. will not do that.

Then scan it using the scanner's internal default profile or a custom one if you wish. That also don't matter much other than shifting the luminance a bit. Scan at 200DPI or higher.

Photoshop CC technique to read the L* values:

Load the scanned image in Photoshop. Set the info display to 32 bits and the displayed colorspace to Lab. This will show fractional values of L*. Scans are noisy, so the next thing is to set the eyedropper to average 31x31 pixels. This will give good averages and make fractional measurements of L* useful.

Now measure the center L* of the first 7 circles in both the white surround and black surround. For the last two circles change the eyedropper averaging range to 5x5 and make sure you take a measurement in the centers.

Here's the result on my two scanners showing the variation in L* with circle diamter in the black and white surrounds. The 2" circles are the left side of each chart line.


The blue lines are after re-reflected light has been removed.

The top yellow lines are from the HP office scanner. The orange lines are the V850 using the built-in ICC which scans to Adobe RGB. The blue lines are from a custom profile after running the scanned tif file through scannerreflfix.exe which models then subtracts, the re-reflected light. It is attached to an Argyll profile set to Abs. Col.

The actual, spectrophotometer measured L* of all the light gray circles is 86.4 which is what my printer printed RGB 240 at. The important thing is the up ramp change on the white surround circles and the down ramp on the black surround circles. The most significant metric is the dL* between the 9'th patch with the black surround and white surround.

The V850 has more re-reflected light than the HP office scanner coming in with a dL* of 6.6 while the office scanner dL* is 4.5.  However, the re-reflected fixup program (blue lines) does a decent job of correcting this. The most current version will process 8 bit and 16 bit scan tifs with arbitrary DPI settings.

However, note how lumpy the office (yellow lines) L* values are. The office scanner has more illumination variation across it's surface than the Epson. Also, the office scanner has narrower illumination channels. This means there is less re-reflected light with the office scanner. It also illuminates only from one side while the Epson illuminates from both sides.


Attached is a zip file containing the scanner circle re-reflectance test chart as well as my command line program and dlls for removing reflected light. However, it's only applicable to the V850 and possibly the V800 which I understand has the same reflective scanning structure.

Program updated to retain embedded profiles and add a new option, the most significant one is the -A option which corrected reflected light in an image from Epson Scan that has been converted to Adobe RGB (1998). It's not quite as accurate as scans converting RAW (That is unmodified, no color management Epson Scan tiff files) since the profile conversion is done prior to reflection correction but it is reasonably good.
« Last Edit: October 19, 2018, 04:32:52 pm by Doug Gray »
Logged

Doug Gray

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 2197

I put Updated Source Code on GitHub.

https://github.com/doug3236/ScannerReflFix.git

Attached a new zip file to the prior post. The new scannerreflfix.exe is standalone and no longer uses any DLLs. It is a Win 10 x64 file so won't work on 32 bit windows.

New features:

The ability to average multiple scan files (must be same size and scan area) which reduces photon noise. However, it doesn't remove intrinsic scanner "noise" related to image pixel location.

Also added is the ability to process Adobe RGB tagged files. This enables using the Epson Scan's default ICM which outputs an Adobe RGB file.

It includes improved results using any standard DPI. It also expands acceptable input file to include both 16 bit and 8 bit RGB tif files and has an option to force writing 8 bit corrected files in 16 (or vice versa) as well as attaching a profile to the final file or keeping an already

Logged

Doug Gray

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 2197

Thought I'd update things.

I've been working on a new and improved version of the reflection correction program and added a few features. The main addition is the ability to output a CGATs file that contains scanner RGB and associated spectro measured LAB values. This can be used with a few simple commands to create an scanner ICC profile using Graeme Gills' great software.

So now all you need to create great, colorimetrically accurate reflection scans, is an I1 Pro 2, or I1iSis and, of course, a scanner. No need to have a licensed package as the data can all be read with downloaded I1Profiler.

And the reflection correction doesn't require anything. It can be created from scanning a printed US letter size page and running it through the software.

Also, I've adapted the scanner reflection correction program so that it uses a matrix specific to a scanner model. One just prints a special image and scans it. The program then builds a model from that scan that can correct for around 80% or more of the re-reflected light. The good thing about this approach is the model is specific to a scanner design. But not the scanned media. So one run to generate the reflection correction matrix is all you need. It then works from scans any kind of media with that scanner.

Attached is a chart showing the dE (original 1976) average of the 24 Colorchecker printed and scanned. Then compared to measured L*a*b colors. The number of patches used for creating the scanner profile is shown v the delta E for both the refection corrected image and the uncorrected image.

Attached is the average dE for the 24 Colorchecker colors surrounded by 6 backgrounds. White, black, red, green, blue, and yellow.

The current github repo is for the version specific to the Epson V850. I expect to be posting the code, which will work for a wide range of reflection scanners, in a week or so.


Added Note: The orange lines are reflection corrected. The blue lines are not.
« Last Edit: June 24, 2020, 06:14:55 pm by Doug Gray »
Logged

Lessbones

  • Full Member
  • ***
  • Offline Offline
  • Posts: 170

Incredible work, thank's Doug---

I'm looking forward to giving this a test--  currently the scanners I've got access to are

Flatbed:
-Epson 11000XL
-Epson V850
-Epson V600
-Creo IQsmart3
-Imacon/Hasselblad Flextight X5 with reflective capability

Drum:
-Heidelberg s3400
-Howtek HR800
-ICG 365
-Scanmate 11000
-Colorgetter Eagle

I never scan reflective pieces on the drums, but it would be worth testing at least one or two to see how it stacks up--
Logged

Doug Gray

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 2197

I'm looking forward to giving this a test--  currently the scanners I've got access to are

Flatbed:
-Epson 11000XL
-Epson V850
-Epson V600
-Creo IQsmart3
-Imacon/Hasselblad Flextight X5 with reflective capability

Drum:
-Heidelberg s3400
-Howtek HR800
-ICG 365
-Scanmate 11000
-Colorgetter Eagle

I never scan reflective pieces on the drums, but it would be worth testing at least one or two to see how it stacks up--

Attached is a tif image of the 9" by 7" chart used to create the reflection model used for removing regional scanner reflections.
Print it at 100% size using Rel. Col. on any old cheap glossy type paper.

Scan the print at 200 DPI, 8 bits, (or higher if the scanner doesn't provide 200 DPI) int a tif file for any scanners you want to test. To save space, only scan the image to the 9" x 7" size.  Scan RAW if possible. That is don't apply an ICC profile like Adobe RGB or sRGB. No other "corrections" if possible. Then attach them to a post here. Zip if necessary. I'll run my program on them. Here's an example of the output:

Reading scanner reflection calibration file and creating "scanner_cal.txt"
Gammas: 1.52 1.59 1.63 1.69
Uncorrected reflection rms err 11.04378
Corrected reflection rms err 0.95490
Execution Time: 0.696988


The key numbers are rms err before and after correction.

The rms errors are relative to 0-255. Gammas are estimates of the scanner's native gamma coding based on the smaller, gray patches. These are not very significant and play a minimal role.

The file scanner_cal.txt is the generated 2D matrix that estimates the amount of light from the scanned object.


« Last Edit: June 24, 2020, 05:12:02 pm by Doug Gray »
Logged

Doug Gray

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 2197

I did some analysis to determine what background colors produce the largest relative shift in a scanned patch color. This is the maximum dE shift that a scanner creates.

The result was that surrounding a 6mm square white patch with maximum cyan and yellow produces the largest relative shift.  Specifically, the white patches differ with a delta E 1976 of 13 to 14. When the scanned tif file is corrected the delta E decreases to 1.

Here's an image showing scanned patches that are direct from the scanner in Epson's sRGB colorspace as well as "raw" scans using a 2871 patch Argyll profile for color correction.

The color correction does nothing alone to improve the color shift from the surrounds but after correcting for large area crosstalk the delta E 1976 drops down to 1 and the values are within less than 1 compared to colors that were measured with a spectrometer.

Logged
Pages: [1]   Go Up