Y'all got me curious. The whitepoint problem noted by smilem happens because most of the tools convert the file data from spectral to LAB. Any such conversion requires an illuminant. This can be a standard whitepoint, e.g. D50, or an arbitrary one. The Lighting tab in i1Profiler allows choosing either a canned illuminant or a measured curve. The Viewing Light Source in PMP5 fulfilled the same function. As far as I can tell, BasICColor IMProve converts to LAB with a forced D50 illuminant.
Much of what IMProve does mirrors the optimization our own profiling code performs. Pf course, there is a fancy GUI and many more bells-and-whistles than our bare-bones number crunching algorithms. Overall, my initial impression was that IMProve needs improvement primarily in workflow. The main button is labled "Automatic...", replete with wizard's wand and dancing stars. Clicking the magical, mystical Automatic button averages any redundant values in the data file, replacing them with a single point (generally a good thing), "corrects" the data "detects faulty measurements or 'illogical' measured values and replaces these with expected values" (not so sure about this one), and "smooths" the results (unsure about this one too). Spectral data are converted to LAB at the correction step with, as far as I can tell, no way to specify an illuminant other than D50.
The redundancy and averaging function works perfectly well. If the profiling code you use does not perform internal averaging, this is beneficial. Our targets include sets of redundant patches so we can detect printing and measurement errors, and across-page output sensitivity, and as a way to obtain averaged data on such critical parameters as paper white. ProfileMaker did not do much with redundant data. I do not know how i1Profiler behaves here. IMProve's averaging is a perfectly acceptable step to perform.
I get the feeling that the correction function must assume the data are from a BasICColor target. I took one of our standard targets that we used for our in-house calibration. This target was measured four times on each of on six Spectroscans. Looking at the data from one Spectroscan, the maximum difference between any of the measurement sets was 0.57 dE-2000, with an average of less that 0.1 dE-2000. IMProve insisted that there were "measurement failures" on both each of the four individual measurement sets and the averaged file of over 4 dE (assuming dE LAB, since this is what is specified in other reports). I then took a chart that our code flagged as having actual measurement errors on an iCColor. (we have redundant patches to check chart alignment and other problems; this reading was of a 3-page target with page 1 inserted off-angle enough to corrupt the bottom few rows). Sure enough, IMProve highlighted a dozen or so patches as errors. Unfortunately there was no correlation between the marked patches and ones that had actual measurement errors.
A excellent feature of IMProve is that it allows comparing results from each step of a workflow, with the ability to highlight only those patches that were altered above a certain threshold. I did an admittedly brief evaluation of the smoothing function. The documentation indicates that smoothing is intended to compensate for measurement artifacts caused by the media rather than the printer itself. In the cases I looked at, IMProve's smoothing insisted the slightly off-neutral shadows required adjustment. No, that was how the printer really responded. Again, I don't know if this behavior was the result of throwing measurements from targets other than BasICColor's own at IMProve or if BasICColor Print works best when fed data without odd kinks. Our own code requires spectral data. Sending smoothed data into i1Profiler made for profiles that, after round trip measurements, were less accurate than from the raw data.
IMProve also sports a UV brightener detection tool. It has a slider ranging from 0% to 100% correction. According to the documentation, a 100% correction will give results equivalent to using a UV filter. I could not find a paper or RGB measurement set that IMProve did not report as having UV brighteners. These included OBA-free fine art papers, even ones measured with UV filtered instruments and the UV-cut measurements from an i1 iSis. The "corrections" for these data sets was low - 0.1 to 0.3 dE for paper white. Scaling the brightener compensation down to 75% or so gave good-looking results. Perhaps even better than our own algorithms.
UV brightener compensation has definite use for i1Profiler. If you use an iSis with i1Profiler, yes, the OBC module works. In a thoroughly impractical way if you have any number of profiles to build, but it is there. Our experience is that for papers not swimming with brighteners, the OBC module is, at best, only marginally superior to software OBA compensation. For those relying on an i1Pro, i1Profiler leaves you stuck. With a standard i1Pro, there is no compensation for brighteners. The UV-cut model happily reports data from wavelengths shorter than 400nm, although the UV filter effectively chops these to nothing. Where these values come from, only X-Rite knows, but they certainly are not actual measurements. BasICColor IMProve offers a solution, but the $675 price tag is steep if all you need is an OBA compensation algorithm.
IMProve has several other features I only explored briefly. White and black correction tools can be used to pre-edit the profile data to alter K-Gen curves or paper white points. Could be useful. An ICC transformation tool allows simulating the combined effects of up to three standard, devicelink, or saveink (a BasICColor exclusive) profiles using the measurement data. Again, I can see some use for this.
Finally, I must be missing something when it comes to the Rescale tool. Rescale offers a way to interpolate and/or extrapolate a limited set of measurement data into a larger target. The example given in the documentation is for a printing process lacking the uniformity to print a full ECI2002 chart (speculation as to what the final copy from such a process look like is left to the reader). With the magic of Rescale, you can print a small target or two, scale it up to a larger one, and profile away. I experimented with a RGB set. I extracted a 729 patch data set (points spaced 32 RGB units apart) and ressed it up to 4160 patches (16 RGB point spacing + 64 grayscale steps). i1Profiler took the data and made a mess of a profile. Perhaps BasICColor Print works better with closer spaced input. I just don't know. The process strikes me as the profiling equivalent of photographers making huge prints from point-and-shoot cameras. Gee, you mean had I only discovered Bicubic Smoother, we sure could have saved some money on IQ180 backs?
I'm left with decidedly a mixed impression of IMProve. The redundancy tool is excellent, if you are measuring targets with repeated patches. Properly tamed, the UV Brightener compensation tool worked well. Perhaps the correction and smoothing tools work with BasICColor targets or software. They do presuppose a D50 illuminant for the profile. The other tools ranged from useful for specialized cases (white/black, ICC transform) to WTF?!? (Rescale). The ability to compare results at each step of the process is excellent, and going back through the history stack to try something else is easy. For an automated workflow, IMProve would benefit from the ability to chain together an arbitrary flow of steps (macros, anyone?). Overall, I see the most useful tool being the OBA compensation. Package that as a standalone module, perhaps with the redundancy module as a front end, price it accordingly, and it would be attractive for i1Profiler users.