Jump to content

Homemade method of simulating FILM with Leica M9 - Testers & feedback welcome!


Recommended Posts

Advertisement (gone after registration)

Hi everybody,

I’m a computer science engineer who has been working, as a hobby, the last three years in a new, more precise, way of recreating film look with digital cameras.

I’m posting here for feedback, in case anybody of you would like to test the application (with the M9) and show the results and your opinions.

I usually shoot film photography but also I like the comfort of digital. The problem is that I’ve never been happy with existing film emulations. Mainly because of that, because they are emulations instead of simulations.


METHOD USED

For doing so, instead of doing a generic conversion for every camera, I’ve done a specialised conversion for the Leica M9 based on simulating the chemical process and spectrum response, instead of applying curves and other stuff.

In the end, I thought, if analog and digital are just two instruments which capture light, I thought, maybe is there any mathematical conversion to make the digital to look like film?

I mean, if I take the same photo with analog and digital, under exact same conditions (light / aperture / exposition /…) could I make them look exactly the same?

It’s based on chemical simulation and the Leica M9’s response to spectrum. Then LUTs and finally some extra calibration. I think that it could be improved because I’ve used home made or open source tools for calibrating and so on, which are far from perfect.

EXAMPLES (Analog vs Converted Digital)

Following are some examples of Superia 200 and TriX 400.
Click in each photo to see high resolution.
DNGs shoots taken with Leica M9 (left), and FILM shoots taken with Minolta CLE (right) at same conditions (aperture / exposition / ISO).
All shoots taken with Zeiss Biogon T* ZM 35mm f/2.

The examples show several photos, which are the following:
+------------------------+------------------------+
|      original DNG      |                        |
+------------------------+------------------------+
|      converted DNG     |     scanned FILM       |
+------------------------+------------------------+
|      developed DNG     |     developed FILM     |
+------------------------+------------------------+

For the generated simulated negative TIFF file and the scanned TIFF file I’ve applied exactly the same develop parameters.

TriX 400 - 1

TriX 400 - 2

TriX 400 - 3

Superia 200 - 1

Superia 200 - 2

Superia 200 - 3

Superia 200 - 4

Superia 200 - 5

Superia 200 - 6


CONCLUSIONS
Tonal range - Biggest difference between digital and film
Dynamic range - Digital is faaar more detailed in the blacks, film never gets burnt, meanwhile digital gets burn quite fast.
Film has more microcontrast, it's more sharpen
Digital is a little bit more contrast after developing, I imagine it’s because it reach white level faster, then, when doing autolevels with the developing program, as a result, it’s a more contrast image.


DOWNLOAD

I'm having a console application ready, if interest is shown it will be ready quite soon!

CAVEHEATS / LIMITATIONS

The program only accept DNG, because I need all the light captured by the camera, instead of a JPG already converted and really dependent on camera self made adjustments.

The program only accepts photos taken at the ISO of the certain film that is gonna be used. For example, for TriX400 it will accept only Leica M9 DNGs at 400 ISO. I’ve also done tests with ISO 200 and 800, and the results were quite satisfactory but, for complexity reasons, I prefer to let it be native film ISO for the moment.

Highlights are not always correct, and sometimes they look weird, mainly in color film. This is due to bayer sensor pattern and its different intensity response (for Red, Green and Blue channels).

FUTURE (& PAST) WORK
Leica M10-D
Leica M8.2


THANKS

Super thanks to the creator of LibRaw, a wonderful C++ library for working with RAW files.

Any questions I’m open to answer 🙂

Best regards everybody.

Tomás AKA “Camalogica”
 

  • Like 10
  • Thanks 1
Link to post
Share on other sites

On 10/15/2019 at 7:50 PM, camalogica said:

 

EXAMPLES (Analog vs Converted Digital)

Following are some examples of Superia 200 and TriX 400.
Click in each photo to see high resolution.
DNGs shoots taken with Leica M9 (left), and FILM shoots taken with Minolta CLE (right) at same conditions (aperture / exposition / ISO).
All shoots taken with Zeiss Biogon T* ZM 35mm f/2.

The examples show several photos, which are the following:
+------------------------+------------------------+
|      original DNG      |                        |
+------------------------+------------------------+
|      converted DNG     |     scanned FILM       |
+------------------------+------------------------+
|      developed DNG     |     developed FILM     |
+------------------------+------------------------+

For the generated simulated negative TIFF file and the scanned TIFF file I’ve applied exactly the same develop parameters.

I made a mistake posting the links, here it's possible to see them correctly 🙂

https://photos.app.goo.gl/EauJtzzUq35ZbexTA

Best!

  • Like 3
Link to post
Share on other sites

Hi Tomás,

This seems interesting, although it's quite difficult to make a judgment based on your small examples. At a first glance it seems like nothing more than a white balance is done, but I'm sure you do more than that 😉

I usually shoot at base ISO, so 160, does that mean that your application won't accept the DNGs?

Can the output be configured at all? Meaning file type, size, optimisation, etc.

Link to post
Share on other sites

39 minutes ago, ianman said:

This seems interesting, although it's quite difficult to make a judgment based on your small examples. At a first glance it seems like nothing more than a white balance is done, but I'm sure you do more than that 😉

The way it works is:

1) It gets an estimation of the light spectrum per pixel, based on a previous calibration with the camera (Leica M9).

2) Per pixel, knowing the light spectrum per pixel, it simulates the film's behaviour for that pixel, based on the chemical procedure.

3) I add the film's color cast, to make it more realistic. BTW, the program's output is always the negative, you will need additional software to develop it (Photoshop, Vuescan, Silverfast,...)

  • Like 1
Link to post
Share on other sites

Advertisement (gone after registration)

42 minutes ago, ianman said:

I usually shoot at base ISO, so 160, does that mean that your application won't accept the DNGs?

Can the output be configured at all? Meaning file type, size, optimisation, etc.

It will accept them, but the output won't be exactly as the real film, mainly because I did the calibration with 200 ISO and 400 ISO (to match real film).

I did some tests in the past and it worked quite well.

  • Like 1
Link to post
Share on other sites

10 minutes ago, camalogica said:

Unluckly I don't have the M10 to do all the calibration needed... actually I would love to do it for the M10-D 😀

M10 and M10-D are basically the same camera, with the same sensor etc., and the pictures should look exactly the same. Is there still a problem using an M10?

Link to post
Share on other sites

7 minutes ago, evikne said:

M10 and M10-D are basically the same camera, with the same sensor etc., and the pictures should look exactly the same. Is there still a problem using an M10?

Yes, that I haven't calibrated it because I don't own either M10 or M10-D 😅to do the camera calibration. Maybe I could rent one around here...

But I would love to!! some day in the future, whenever I have enough spare to spend the money, I will!

Link to post
Share on other sites

Hi again,

I've uploaded the application to Mega, in case anybody wants to test it.

https://mega.nz/#!UJ9jHQBS!xWSSO93kk7y8nhf85_UsYFnre8O9DKBlJcEAb4EdmAU

HOW TO USE
========================================================================================================
Usage: m9tofilm.exe -i INPUT_FOLDER -o OUTPUT_FOLDER -f [trix400|superia200]

-i INPUT_FOLDER Set the input folder with all DNGs to be converted.
                        [MANDATORY]

-o OUTPUT_FOLDER        Set the output folder with all DNGs to be converted.
                        As default the same as input.

-f FILM_TYPE            Set the film chosen to be converted.
                        Films accepted => "trix400" or "superia200"
                        trix400 as default.

Example:
F:\DEV\ColorTransformation\m9tofilm>m9tofilm.exe -i "E:\DATA\LeicaM9\dng\400\04_BERLIN" -o F:\output -f superia200
L1002428.DNG: 0.0%...19.2%...38.3%...57.5%...76.7%...95.9%...100.0%
L1002429.DNG: 0.0%...19.2%...38.3%...57.5%...76.7%...95.9%...100.0%
...

Best regards!

T.

  • Like 2
Link to post
Share on other sites

17 hours ago, camalogica said:

I've uploaded the application to Mega, in case anybody wants to test it.

Thanks. Can you compile it for macos?

I was quite surprised and the size of the download but see you are including quite large tiff files. Can't you draw what you need in the software rather than including the files?

Link to post
Share on other sites

32 minutes ago, ianman said:

Thanks. Can you compile it for macos?

I was quite surprised and the size of the download but see you are including quite large tiff files. Can't you draw what you need in the software rather than including the files?

At the moment I've done only for windows, it's written in standard C++, so it should be quite straight forward to port it to OSX. Depending on acceptance of the app I'll do it in the following weeks.

There are three TIFF files, two for noise patterns of each film (real scan from real film) and a border to make it look more like film.

For doing noise I noticed that depending on how much the film has burn the noise is higher or lower, so the TIFF represents an averaged noise image that later is used to calculate the film noise, depending on how much light the photo received on each pixel.

  • Like 1
Link to post
Share on other sites

I just posted a message in M10 group about the 3D feel of M10/M10-P against M9. I owned a M9 before and upgraded to M10 last  year and changed to M10-P recently. I love the thin body of M10/M10-P and also the engraved top cover of M10-P. However, I feel the image of M10/M10-P is a bit flat and does not have 3D feel as M9. Because of CCD corrosion problem on M9 and it is already old in term of electronic product, I have hesitation to switch back to M9 but the image quality/3D feel is really amazing. It is be so great if camalogica could develop a simulation for the M10/M10-P/M10-D as well.   

Link to post
Share on other sites

1 hour ago, camalogica said:

At the moment I've done only for windows, it's written in standard C++, so it should be quite straight forward to port it to OSX. Depending on acceptance of the app I'll do it in the following weeks.

There are three TIFF files, two for noise patterns of each film (real scan from real film) and a border to make it look more like film.

That's great news about the macos version. I'm looking forward to seeing that as I no longer have any Windows or even VM at my disposal.

I understand about the scanned tiffs for grain... but the border? I know it's a detail for now but it's 150MB file, just for a border which must be possible to draw in the code.

Link to post
Share on other sites

57 minutes ago, Infantasy said:

I just posted a message in M10 group about the 3D feel of M10/M10-P against M9. I owned a M9 before and upgraded to M10 last  year and changed to M10-P recently. I love the thin body of M10/M10-P and also the engraved top cover of M10-P. However, I feel the image of M10/M10-P is a bit flat and does not have 3D feel as M9. Because of CCD corrosion problem on M9 and it is already old in term of electronic product, I have hesitation to switch back to M9 but the image quality/3D feel is really amazing. It is be so great if camalogica could develop a simulation for the M10/M10-P/M10-D as well.   

It's the plan... but as said before, at the moment I cannot afford a M10. This is a just for fun project, so spending that much money is not an option right now!! 😉

 

Link to post
Share on other sites

1 hour ago, Ko.Fe. said:

Where did you find noise in the film?

I made it myself.

I shot a few shots to a neutral white wall with neutral ilumination (and out of focus) with each of two films, then I applied some image processing algorithms (by code) plus statistics to get the mean image.

The result was pretty much satisfactory.

In theory the noise files are made to be around int16 half (around 32768) plus noise variations.

Then, for calculating the noise per pixel I use this pattern file plus some multiplication factor depending on the incident light in the pixel. As said before, as much light burns the film I noticed the noise is higher (until it gets totally burn, when the noise dissapear).

I added a few shoot examples made by me at:

https://photos.app.goo.gl/YsE8E3j49btjAqVB9

Quite busy right now at work, so not possible to port the app to OSX ATM. I hope anyone can test it under Windows!

Best regards!

T.

Edited by camalogica
  • Like 1
  • Thanks 1
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...