A method for color cast removal in a scanned image in L*a*b* space
includes generating a first color cast correction curve for mapping L* to
a first color correction, .DELTA.a*, (or .DELTA.b*) wherein the first
correction curve provides a desired a* shift in midtone regions and is
modulated as a function of L* such that black and white points are
unaffected; for each pixel n in the scanned image, passing L*.sub.n
through the first color cast correction curve for obtaining a value of
.DELTA.a*.sub.n; and adding the value of .DELTA.a*.sub.n to the scanned
image's original a*.sub.n component. To ensure that the color corrected
a* remains within gamut, a second correction curve for applying a
clipping factor to the mapped .DELTA.a* may be generated with the
a*.sub.n passing through the second correction curve for obtaining a
clipping factor C.sub.n; and modifying the a*.sub.n value by
C.sub.n(.DELTA.a*.sub.n).