Live data from Hacker News

Film simulations from scratch using Python

kevinmartinjose.com

1–10 of 36 posts

Re: Film simulations from scratch using Python

#2
> Right – the original image, Left – the image with...

Few issues on this site:

1) "Right" and "Left" are wrongly mapped (i.e. "Left" — is the original image in all cases).

2) On 1280px width screen pair images shown in vertical order, instead of horizontal.

Re: Film simulations from scratch using Python

#5
Skips the interesting question of how the LUT tables are made, but still nice introduction to the topic.

I guess to make film simulation, you could photograph bunch of color calibration targets (eg IT8) in different lighting conditions with both the film and digital sensor, and then try match them somehow. That is assuming the film is still available.

Re: Film simulations from scratch using Python

#6

The article title is a bit misleading, I was expecting actual simulation of film stock processing and rendering in Python. Here this is more about 3D LUTs usage, not much to do with film simulation itself.

Misnomer or not, 3D LUTs are what the industry means when they say film simulation, maybe with some grain effects sprinkled on top.

Re: Film simulations from scratch using Python

#9
post #6

The article title is a bit misleading, I was expecting actual simulation of film stock processing and rendering in Python. Here this is more about 3D LUTs usage, not much to do with film simulation itself.

Misnomer or not, 3D LUTs are what the industry means when they say film simulation, maybe with some grain effects sprinkled on top.

well if you're referring to 3D LUTs as the objective of the excercise, it's probably helpful to start with a LUT volume capable of doing realistic color transformations. 33 by 33 by 33 matrices are the standard used for broadcast color and it's only recently LUTS have been used for "color timing" features because the effectiveness and effective precision of a 3D LUT is extremely depending on your work flow and working color space and the details of your gamma and so on. OpenEXR is a floating point format for many reasons including handling of color.

my point about the work flow involved is particularly relevant in consideration of emulating celluloid film stock because the bandwidth of film is concentrated in the high values of the channels. Silicon sensors struggle with highlights fundamentally even before the encoding. Photons hitting a piece of film are scattered throughout multiple layers (Fujifilm famously sold 4 layer negative film in retail volumes with enough success to turn Kodak, who held virtually every important patent for digital cameras, into a schizophrenic jelly mess.) and in comparison with the reflectivity of a silicon sensor, even allowing a layer of sophisticated precision lenses on top, channeling the light, film is incredibly accommodating to absorb excess light without the loss of detail. Sensors not only put lenses up front to corral the light rays but of course the next obstacles are the color matrix layers and IR/UV cut filters, and you can sometimes see online amateur photography forums panicking at the sight of a overloaded sensor flaring to show geometric patterns of diffraction caused by the sensor silicon itself. The route available for a photon meeting with a camera sensor is a utterly constrained path compared with the photon partying through the celluloid structure enjoyed by trendier EM radiation; this is why the BSI back side illumination tech reflecting photons back into the sensor wells has been so effective. The sad case Brit in me took some time to get used to Back Side Illuminated Sensors, meaning of course the sun shines out of the Sony high megapixel fanny...

Re: Film simulations from scratch using Python

#10
post #8

Completely OT: in case anyone is wondering that's not what garbage trucks look like in Rome, that thing is someone Ape [0] filled with garbage. [0] https://en.wikipedia.org/wiki/Piaggio_Ape (ape = bee, vespa = wasp: one is for work, the other for leisure, but same company)

Yup, that was sloppy phrasing on my part - udpated the image caption. Thanks.
Post reply on HN