Scanning C-41 color negative

Discussion in 'Film and Processing' started by jaz99, Dec 22, 2009.

  1. Hello,

    I'm using hybrid workflow, where all pictures (digital, b&w scans, chrome scans and c-41 scans)
    end up in Lightroom. It works for me, however, scanning the c-41 negatives is painful process.

    There are plenty of guides regarding this problem, but they require a great deal of work either with
    scanning software or Photoshop. And in case of new Kodak Ektar, using the Photoshop is actually the
    only option.

    So, I've wrote a small script, which allows me to skip the Photoshop (yes! yes! yes!) and import converted
    images to the Lightroom. Moreover the scanner configuration is not altered. Once you calibrate the scanner
    to scan the chromes, you can use this configuration to scan all kinds of film. The only difference between
    negative and positive film is the use of this script to invert the image. This speeds things up and makes
    more time for taking the photos ;)

    How to use it? First, you need to scan negative as 16 bit linear positive (48bit HDR in SilverFast terminology).
    There MUST be no correction made by the scanner software. It is very important to make sure, that the scanned
    negative contains some orange mask. The second requirement is to avoid at all cost the black pixels from
    the holder (sorry, no more cute black borders around the image).

    You also need the ImageMagick ( ) software suite, which is available
    free of charge for Linux, Mac, and Windows. Of course, use the Q16 version, not Q8.

    The script is not very fast, on the 3 GHz machine the 115 MB tif file is converted in about 70 seconds,
    which is still faster comparing to the Photoshop method.

    Example 1:
    negfix7 image1.tif

    this converts linear scan from image1.tif file and creates positive image in P_image1.tif file.

    Example 2:
    negfix7 image1.tif image1.jpg

    this converts linear scan from image1.tif file and creates positive image in image1.jpg file.

    Example 3 - converting multiple files at once:
    FOR %i IN (*.tif) DO negfix7 %i
    for i in *.tif; do ./negfix7 "$i"; done

    Please, give it a try and let me know if it works for you.

    The script can be downloaded here:

    The zip file contains the script in 2 versions:
    * negfix7 (tested on Linux with ImageMagick-6.5.1-0-Q16, should work on Mac)
    * negfix7.cmd (tested on Windows XP with ImageMagick-6.5.8-7-Q16, should work on Vista and W7)

    I have attached example image below (Kodak Gold 100 GA-7). No postprocessing at all.
    You can find more examples here:

    Merry Christmas!
  2. Image, again.
  3. thanks, I'll surely try it
  4. I make a linear scan and invert and color correct with the CF Systems ColorPerfect Photoshop plug-in. I'd love to see a comparison, but there's little chance that I'll get to it because of my travel schedule.
    Here' the link to download a trial version if anyone is interested:
  5. Hi, I'm using Epson V750.
  6. Interesting. Thanks for posting!
  7. Thanks J. Merry Christmas
  8. The sample images look wonderful. Im new to film and this would be a fantastic solution. Would it look just as good with images scanned with a less expensive scanner? Has anyone else tried this?
  9. Dear Janusz,
    first of all thank you so much for this contribution which probably saved 15 rolls of Ektar of my last vacation!! The first pictures came out much much better than all waysI tried to scan them before. I am using an Epson V750 with Silverfast.
    However, there are some pictures which obviously fool your script - or did I do something wrong ??
    Best, Ulrich
  10. Dear Janusz,
    sorry, I was puzzling with the upload and did not fully explain what I did:
    Following your instructions I scanned the 6x4.5 neg as a 48-bit HDR / TIF using ICE-lite (Epson V750). Ektar 100 was exposed with a Pentax 645N @ 100 ASA. The left picture shows the result of the scan (TIF-file opened in IrfanView, reduced to 40% and saved in JPG-format for the up-load, no further manipulations). The original TIF-file was converted using your script as you described. The result is shown on the right side (the file was handled in IrfanView exactly as the negative). There is no evidence of the color shift visible in the negative. Obviously, this effect is also depending on the scan process. The same yellow part was also visible in another negative I converted before. I scanned it again with slightly different cropping and the conversion worked fine. I also scanned the up-loaded negative once before - here, the yellow part was also visible but filling the bottom half of the picture.
    Obviously, the error happens with the script or ImageMagick since the conversion works fine in that regard (please neglect colors etc.) using irfanview.
    Thank you, Ulrich
  11. This error is consistently associated with ICE lite dust removal. I cannot reproduce it when scanning without ICE.
    Best Ulrich
  12. Hello Urlich, thank you for trying out my little script. I'm glad you have found it useful.
    Regarding the yellow part - this is quite intriguing. I will try to reproduce it myself. The negfix7 script does not touch the ICE (infrared) channel, it only alters the R, G, and B channels. Perhaps it is the ImageMagick bug (or IM's documentation bug).
  13. Dear Janusz,
    thank you for your response and your efforts - meanwhile I further tried to reproduce the problem:
    1. The problem affects about 60% of scans with ICElite but only 10-20% of scans without (may well be that ICElite is not responsible for the problem and these numbers are only due to statistical variation). Hence, in contrast to my previous mail - it IS indeed but rarely possible to reproduce the problem without ICElite. Sorry for my previous conclusion not backed by enough data.
    2. It is always the same yellow color - in most cases in the bottom part of the picture, but rarely also in the upper half. The yellow area is variable in size from scan to scan (each scan with different borders of the scanned area). As initially indicated sometimes the yellow area disappeared with different areas scanned.
    I will further try whether I can find settings for the scanner to avoid the problem and will keep you informed.
    Thank you so much for your efforts.
    Best, Ulrich.
  14. I'm suspecting now that you have a problem with temporary out of disk space. Scans can be huge and IM needs a lot of temporary space to run (since ICE enabled files are much bigger, you can trigger this condidion more easily).
  15. Thank you again for your efforts. In consequence to your suggestion I closed all unnecessary programs and reconverted a file which previously produced the error - with the very same result. So, it should not be the memory - furthermore, I am using a Core2quad@2.66GHz with 4GB RAM and a 1 TB hard disk which should be more than sufficient in my opinion, however, I am not an expert.
    Then I realized an error notification which I must have overlooked before (possibly since I always used the batch scanning routine before):
    Filename: E004.tif
    E004.tif: 0.00221195 0.000834974 0.000454108 1.43407 1.4944 1.58131
    Magick: divide by zero ´0.000454108/u´ @ error/fx.c/FxEvaluateSubexpression/2137.
    Do you understand what this means ?
    Please apologize should I bother you with a trivial user mistake !!!
    Best, Ulrich.
  16. Divide by zero means that there are pixels in your scan with R, G or B value of 0.
    Such pixels are from film holders - it is not possible to have such pixels from normal negative in HDR (RAW) mode (except for big dust particles). So, all you need is to follow my original instruction and cut out the holder in the scan or frame the negative more carefully or dust off the negs. Hope it helps.
  17. Dear Janusz,
    first of all thank you for your help and sorry for my mistake !
    I have rechecked the scans - and you are right - in the cases with the error there was a part of the film holder visible (it is rarely visible in the preview to my excuse...) OR an artifact produced by ICElite but not by ICE. This was the reason it did not work well with ICElite.
    Thank you again, best regards, Ulrich
  18. Hi, I have developed new, improved version: negfix8. Now it supports "color profiles" (do not confuse it with ICC profiles), and the output image is requiring now much less postprocessing (or none at all). It works with any negative, color, or B&W.
    Sample image (no postprocessing):
  19. Dear Janusz,
    Im new to negfix8. I must confess Im really impressed with your script. I was struggling to find a way to scan decently negatives with my humble Canon 8800F. Now with Vuescan & negfix it is the 1st time Im happy with the results.
    I need to ask you one think. The result is a clean picture but with a dark blue colour layer all over. this is something i can tweek it in Lightroom but is it my mistake or this is how it should go???
  20. Hi Mihalis, I'm glad you liked the script.
    However, to use it properly, you need to follow the instructions on the web page:
    You need to use linear scan (raw) with gamma=1.0, as stated. I do not use VueScan, so I have no idea how to do it.
    Using goole I've found this: (colorneg is commercial plugin for scanning negatives)
    Hope it helps.
  21. Dear Janusz,
    I ve followed exactly the instruction in both pages, and I did get decent results, I was just wondering whether you get direct fine colours or you need to tweek it a little in LR? Furthermore I would like to ask 3 more things:
    1. Is there any command while processing many files so as to get .jpg and not .tif
    2. Could you be more detailed re the profiles action of negfix
    3. Is there any ready preset for LR in order to bring the photos to a normal level? I was thinking of scanning an IT8 target and import it to LR and try to create a preset for all the scanned negatives
  22. Hi Mihalis, usually all I do in LR is brightness + black level corection, sometimes slight saturation boost, and of course sharpening. I do not use color balance tool in most cases (99%).
    Additional anwers:
    1. Yes, it is on my web page (negfix8 -cs scan1.tif scan_1.jpg)
    2. I do not know what else I could write about this feature? This option was ment to "copy colors" from one scan to another. It is used for scanning moving pictures (like Super 8).

    3. No. Your idea is tempting, but eventually it will not work, unless you do it for every roll.
    I'd appreciate any suggestions, corrections or additions for the help page:
  23. Dear Janusz,
    Thank you for your help. After a quick processing in LR (+0,78 exposure &-98 yellow Hue) it works like a beauty.
    Your script trully rocks
  24. There is new version of the negfix8 script available.
    The main difference is that now the script can compute the average profile from many frames (the frames should be exposed similarly, e.q. do not mix overexposed frames with normal ones). I've created this mode for snow scenes, now the snow will have exactly the same color.
    To use this mode just put all files in the negfix8 command, for instance: negfix8 *.tif (all scans should be from the same roll).
    Of course you can use it for summer scenes, too ;-)

    the script is here

Share This Page