GUI
gui
The main GUI implementation.
Classes:
-
MainWindow–The main window of Raw2Film.
MainWindow
MainWindow(filmstocks)
Bases: QMainWindow
The main window of Raw2Film.
Attributes:
-
adx_scale–What density does 100% output of the negative LUT respond to. Matching values
-
apd_intermediate–If unchecked it will fully simulate printing the negative to the print film
-
blue_light–Intensity of the blue light during printing.
-
color_masking–How effective the orange color mask of the film is. Value of 1 perfectly
-
exp_comp–Compensate for exposure. Default assumes middle gray to be at the default from
-
exp_wb–Adjust the white balance of the image. Default assumes white to be at 6500
-
green_light–Intensity of the green light during printing.
-
idealized_curve–Replace the characteristic curve of the print film with an ideal gamma curve.
-
image_selector–Select which image to use for the preview. Should be encoded in the target
-
input_colorspace_selector–What color space is the reference image in?
-
inversion_gamma–The gamma applied using the inversion if 'Inversion' is selected.
-
link_lights–Connect the sliders of all printer lights together.
-
lut_size–The size of the LUT table.
-
negative_selector–Select the camera film stock that is emulated.
-
noise_button–Open the grain overlay export dialog.
-
output_gamma–Gamma function to apply for encoding.
-
output_gamut–In what color space to encode the output.
-
print_selector–What print material to simulate.
-
projector_kelvin–The color of the projection lamp or the viewing lamp for paper prints.
-
push_pull–How much to push or pull the film, adjusting contrast. Works linearly scaling
-
red_light–Intensity of the red light during printing.
-
save_lut_button–Export the LUT.
-
shadow_comp–Lift or lower dark areas. For 1 or -1 it acts like an OOTF or inverse OOTF
-
tint–Adjust the tint along the green to red/purple axis.
-
white_balance–Whether to white balance slide film.
-
white_clip–When viewing print film brightness will be increased to clip at exactly 1.0.
adx_scale
instance-attribute
adx_scale = WideComboBox(self)
What density does 100% output of the negative LUT respond to. Matching values have to be used for print and grain LUTs. No effect when using the full mode.
Density 2 matches ADX10 and should be used for Cineon like workflows. Density 8 matches ADX16. When using density 2 there is risk of clipping for some negative film stocks.
apd_intermediate
instance-attribute
apd_intermediate = QCheckBox()
If unchecked it will fully simulate printing the negative to the print film stock. If checked it will simulate scanning the film using academy printing density (APD). This results in a loss of accuracy, as the print stock's sensitivity is not accounted for, but it enables one to combine negative and print LUTs arbitrarily.
Will be ignored for slide film.
blue_light
instance-attribute
blue_light = Slider(continuous=False)
Intensity of the blue light during printing.
color_masking
instance-attribute
color_masking = Slider()
How effective the orange color mask of the film is. Value of 1 perfectly compensates for color layer cross contamination. An increased value leads to higher saturation. There is no documented data on this, so you can play around with this to your liking.
For film without a color mask like slide film this can be used to simulate other inter-layer effects. Should probably set lower, but should be experimented with.
exp_comp
instance-attribute
exp_comp = Slider()
Compensate for exposure. Default assumes middle gray to be at the default from the color space spec.
exp_wb
instance-attribute
exp_wb = SliderLog()
Adjust the white balance of the image. Default assumes white to be at 6500 kelvin.
green_light
instance-attribute
green_light = Slider(continuous=False)
Intensity of the green light during printing.
idealized_curve
instance-attribute
idealized_curve = QCheckBox('Pure curve')
Replace the characteristic curve of the print film with an ideal gamma curve. Preserves the sensitivity and dye densities of the print film. When activated, the gamma is controlled by the inversion gamma.
image_selector
instance-attribute
image_selector = FileSelector()
Select which image to use for the preview. Should be encoded in the target color space of the LUT.
input_colorspace_selector
instance-attribute
input_colorspace_selector = WideComboBox()
What color space is the reference image in?
inversion_gamma
instance-attribute
inversion_gamma = Slider()
The gamma applied using the inversion if 'Inversion' is selected.
link_lights
instance-attribute
link_lights = QCheckBox()
Connect the sliders of all printer lights together.
negative_selector
instance-attribute
negative_selector = FilmStockSelector(
negative_info,
self,
self,
sort_keys=sort_keys_negative,
group_keys=group_keys_negative,
list_keys=list_keys_negative,
sidebar_keys=sidebar_keys_negative,
default_group="Manufacturer",
image_key="image",
)
Select the camera film stock that is emulated.
noise_button
instance-attribute
noise_button = AnimatedButton('Export Grain')
Open the grain overlay export dialog.
output_gamma
instance-attribute
output_gamma = WideComboBox(self)
Gamma function to apply for encoding.
Selecting a HDR gamma (PQ or HLG) with nits specified means that the peak white of the output gamma function will be selected accordingly. This applies if Pure curve or Inversion is selected. For full film emulation pipelines this has no effect and the output will simply be mapped to 203 nits paper white.
output_gamut
instance-attribute
output_gamut = WideComboBox(self)
In what color space to encode the output.
print_selector
instance-attribute
print_selector = FilmStockSelector(
print_info,
self,
self,
sort_keys=sort_keys_print,
group_keys=group_keys_print,
list_keys=list_keys_print,
sidebar_keys=sidebar_keys_print,
default_group="Manufacturer",
image_key="image",
)
What print material to simulate.
For slide film it should normally be set to None.
If None is selected for negative film a digital scan with a simple
mathematical inversion is simulated.
projector_kelvin
instance-attribute
projector_kelvin = SliderLog()
The color of the projection lamp or the viewing lamp for paper prints.
push_pull
instance-attribute
push_pull = Slider()
How much to push or pull the film, adjusting contrast. Works linearly scaling the characteristic curve of the film. Not based on measured data, but a rough approximation, useful for controlling contrast.
Not recommended for use with slide film.
red_light
instance-attribute
red_light = Slider(continuous=False)
Intensity of the red light during printing.
shadow_comp
instance-attribute
shadow_comp = Slider()
Lift or lower dark areas. For 1 or -1 it acts like an OOTF or inverse OOTF respectively.
white_balance
instance-attribute
white_balance = QCheckBox('WB')
Whether to white balance slide film.
white_clip
instance-attribute
white_clip = QCheckBox('Clip')
When viewing print film brightness will be increased to clip at exactly 1.0. When viewing slide film white balancing is applied, so that a gray patch will actually produce the color temperature specified by the projector kelvin.