I'm in the process of creating ICC profiles for my scanner using IT8.7 charts and something is also puzzling me about the results. Maybe you guys can help me understand this better.
My problem is the opposite of yours: the profiles I create are always different, even if I use the exact same IT8 chart, scanned the exact same way, twice in a row. If I make 2 consecutive scans of the IT8 chart without even opening the scanner lid, and then generate 2 profiles with each of theses 2 scans, the RGB curves in the resulting profiles are often very different (ie not the same shape). The whole thing seems pretty random to me. The scanner is new and works fine.
I simply scan an IT8 chart with Vuescan and save the output as an unprocessed TIFF (Vuescan's "raw" mode) and then use Argyll CMS to produce the ICC profile. I mostly use the default Argyll settings just like in the basic tutorial in the doc. The diagnostic image from Argyll shows it seems to be processing the target fine. Now when I use Photoshop to assign the profiles I created this way to images I've scanned the results are mostly good, not _that_ different from profile 1 to profile 2, just a slightly different tone. But I'm very curious about this... I would expect the profiles to be pretty similar if they are created the same way with the same scanner! Why do I get different RGB curves every time?
Is your scanner/software creating 8 bit channel depth (also called 24 bit) TIFF files?
Are you using an optical resolution, or an interpolated resolution? (Most scanners let you scan at a higher dpi than it really sees at, and it resizes the image like Photoshop would.)
If it's creating 8 bit files, you'll see a larger difference than if it's creating 16 bit channel depth (also called 48 bit) TIFF files. (Note that what matters is the bit depth your scanner "sees" at, and the bit depth of the original file created by your scanner/software. Some scanners and/or software can only do 8 bit depth, and converting that into 16 bit depth won't make a difference... At least for sending to a profiling program. If you're doing post editing, you could see a reduction of banding if you move into 16 bit first.)
If you feed the same untagged scanned file into the same profiling software using the same settings, you (darn well should) get identical profiles. This means that your back to back scaned files are different.
This, unfortunately, is completely expected. Scanners aren't precise enough. You can think of this as a compound rounding error. You're going to have some amount of noise, and a lot more of it than you'd initially think. The lamp isn't going to emit the same exact light spectrum every time. Additionally, the temperature of the lamp affects the light being emitted from it. If you're doing the first scan after it's been idle, the lamp might be warmer the second time through. Many scanners will "warm" the lamp before a scan after being idle, but there will still be a difference here. Furthermore, each scanner is going to have its own expected variance from scan to scan, depending on how well it's engineered -- but it could never be perfect.
These variances will cause the same patch to average to different values on the back to back scans. Since you're only using a few hundred patches to simulate the scanner's response to millions of colors, this relatively small variance is going to make profiles be measurably different, although as you're seeing, not completely different. And it should. Profiling software can't tell how accurate a patch is - it just has to assume the values it's given.
These variances will be an even bigger issue at 8 bit depth. A specific patch might average on the first scan to 200R/80G/60B, but on the second to 201R/81G/61B. Doesn't seem like a huge difference, but it is noticeable (at least on a calibrated wide gamut monitor) -- and furthermore, this one patch is representing tens of thousands of colors, if we go with the idea that the human eye & brain can distinguish between 10 million colors. Photoshop may report these same values at 16 bit depth, because instead of showing you either 51364R or 200.64R, it's going to show you 201R. But, the behind the scenes scale is still going from 0 to 65535 instead of 0 to 255, so there's more precision in the file than Photoshop lets you see in the RGB values. If 16 bit depth is being used, you're eliminating one step of the rounding errors, so the variance will be less, but there's still going to be noise and variance. Even though your scanner probably has a few of these bits as random garbage noise, rather than having a truthful 16 bit depth throughout every step along the way, you should still get more than 8 bits of precise data this way.)
You can see this difference between the files in Photoshop. Since you aren't moving the target or lifting the lid, the target should be positioned at the same point in the image, or at least very close to it. You can try copying the contents of one file into the other, into a second layer. Turn this second layer's blending mode into difference. You will likely see a near black document here. Create an adjustment curves layer. Don't create a third point, but drag the top right 255/255 point itself across the left a ways -- somewhere around half way across, or all the way to the left that you can go. (This curves layer will emphasize subtle differences that would otherwise show as near black and be hard or impossible to notice.)
Idealy, there would be no difference between the scans, however in reality you'll never get identical back to back scans.