How does this compare with ColorPerfect results for black and white
How does this compare with ColorPerfect results for black and white
That was tool was what got me started, the maker published a few papers, which I used to implement a version of colorperfect. But I was not satisfied and I got a little carried away. For BW the end result will be be very similar, keeping in mind that your final destination is always at the control of the person developing the image. Colour film is far more complex probably 100 times so.
But from a work flow perspective if your using one of those miniature cameras, where stuff comes in rolls it has a lot of advantages from a time perspective. If for example you would prefer to use something like lightroom instead of photoshop etc. (neither of which I use BTW).
Thanks for the encouragement. Yes I am pleased with the results, as soon as get a chance I will document it better, and explain how it works etc...
If anyone has a status-m densitometer, that they might be kind enough to measure some film for me I am keen to trial a calibration technique...
If I understand how the code works, the next step for the color conversion might be to calibrate the system by :
1. Making series of exposures in day light of either a white card or color checker on your favorite film with bracketing from -2 to +5 stops in .5 stops intervals.
2. Developing the film with normal development
3. Making scans with fixed scanner settings that would not clip the data on either end
4. For each scan calculating the DMax per each channel individually based on 2 values - one from unexposed border and the other one from the white patch. RGB values in each of patches (border and white) should be "averaged" before DMax calculations to avoid errors
5. Hopefully the calculated by your code individual Dmax values for each of R G B channels will allow to create some sort of a profile for a combination of film type, film exposure, scanner setup. maybe (if the Dmax values dont vary much based on exposure) the resulting DMax values could be approximated to make one profile that is "insensitive" to film exposure level.
Then the dmax values could be further translated into per channel scale and applied during real conversion to each channel calculations accordingly.
At the end of this excercise to validate the code (if the scaling was calculated correctly) the conversion of frames made in #1 should result in unexposed border being close to RGB (0,0,0) and white patch being the brightest with RGB values close to R=G=B.
If that approach works for one emulsion type it surely can be extended to other emulsions as well.
The inversion code is based on Cineon which is an analogue to analogue system, or film to print system, that you can still buy and is well documented. The system is closely based on how print film is designed in first place.
In summary the steps could be summarised as:
1. A raw linear scan of the negative, with the exposure set such that the film base is reasonably close to the maximum value the sensor can record. I use approx 90% and set this for the film stock.
2. A matrix should be applied to the sensor readings to better match the spectral sensitivity of the print stock. The spectral sensitivity of the sensor is designed such that it can be used to approximate (usually via a matrix or LUT) that of human vision which in turn is not the same as the print stock. Status-M measurements that are used to measure negatives which don't actually match sensitivity of the print stock, are a good proxy because they only measure a small part of the spectrum, and with the correct scaling should be close enough.
3. The values are then converted to density values of the negative
4. The density values are then stored as linear intensity values. The Dmax=auto just ensured that 16bit space is not wasted
5. A matrix is applied to convert the linear intensity values that are intended to printed by CMY print stock, to a known colourspace. (XYZ)
Pali,
I have been testing my calibration logic, with some success.
If you have a common negative film and scanner combination you like to use, I would be happy to "attempt" to build a custom calibration. I would need a shot take of macbeth/x-rite colour checker taken in daylight (or flash) exposed at your normal ISO etc, scanned in the same manner as the image you provided earlier.
Its won't be fast turn around, so a just a shot that you might fit in with your normal work flow.
Ted, led me suggest a way to nail a client calibration.
From the same image you take the standard conversion and a conversion that likes the final customer. You feed 3D LUT Creator with the two images to obtain a 3D conversion LUT (that can be used in a Ps adjustment layer). Several LUTs can be made for different kinds os subjects, portrait, landscape...
Probably different films may require specific 3D LUTs.
IMHO 3D LUTs it's what address that kind of requirements. Just an idea. I'm in the course to explore well your software
Interesting. Where can I read up on LUT? Not sure if I would ever implement it, but worth the read. I am currently scanning the rest of my 4x5 about 60 frames from the year and seeing my progression from photographer with all kinds of issues/mistakes to getting better. Both at scanning and taking images. Anyway, interesting program. I'm not a coder so, not interested in that, but rather the final product and how much control one has in using it. The more the better.
I finished an update, that increases the reliability of the auto cropping of a full platen of film from a flatbed. So that only a single pass of a flatbed is required.
For example the following raw scan from my old Epson 4990, scanned so that there is gamma of 1
Some example commands would be:
#scantool frames kodak400.tif output_directory
this results in 24 raw scans
#scantool both -fb 0.4196,0.2745,0.2039 kodak400.jpg output_dir
this result in 24 inverted scans that have a gamma of 1,
This is also works for reliably for roll film
Nice. Good thing I only do 4x5 and up on flatbed. I use a Nikon Coolscan 4000 for 35mm.
Bookmarks