Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
bean-mhm committed Jun 1, 2023
1 parent 320cd67 commit 194be49
Showing 1 changed file with 28 additions and 8 deletions.
36 changes: 28 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,35 @@

## Introduction

flim is an experimental film emulation view transform that can be used for displaying digital open-domain (HDR) images.
flim is an experimental film emulation view transform that can be used for displaying digital open-domain (HDR) images, preferably in an [OpenColorIO](https://opencolorio.org/) environment.

## Eye Candy

- See comparisons between flim and other view transforms in the [releases](https://github.com/bean-mhm/flim/releases) section.

- You can find links to collections of OpenEXR image files for testing in [Useful Links](#useful-links).

- ~~Below are some example images gone through flim v0.3.0.~~
- Below are some example images gone through flim v0.4.0.

![10 - SRIC_arri_alexa35 01017 - 2 flim](https://github.com/bean-mhm/flim/assets/98428255/030b2ca1-37aa-45e2-834f-dac077a4f353)

![13 - SRIC_arri_alexa35 01033 - 2 flim](https://github.com/bean-mhm/flim/assets/98428255/f3a5a326-4989-4ff6-af20-81a4aef80aa0)

![18 - SRIC_arri_alexa35 01038 - 2 flim](https://github.com/bean-mhm/flim/assets/98428255/5d543d1b-ef2e-4500-b9cd-af59a0028c9e)

![26 - SRIC_hdm-vmlab-hdr 01033 - 2 flim](https://github.com/bean-mhm/flim/assets/98428255/32c9faca-c14f-4b2d-b256-ad71e6ee50fd)

![33 - SRIC_red 01006 - 2 flim](https://github.com/bean-mhm/flim/assets/98428255/86fb5ec7-165e-4733-95c1-97a5f6cbe758)

![37 - courtyard_night_4k - 2 flim](https://github.com/bean-mhm/flim/assets/98428255/83bc352e-c8a7-4d97-83b0-1521dbe2e72e)

![41 - pretville_street_4k - 2 flim](https://github.com/bean-mhm/flim/assets/98428255/a1886812-4e0d-432d-9291-3e4fd9269c54)

![53 - lakeside_2k - 2 flim](https://github.com/bean-mhm/flim/assets/98428255/3e125013-a67a-44ee-867b-410a1fb0f7c6)

![55 - out_sweep - 2 flim](https://github.com/bean-mhm/flim/assets/98428255/cccbb62a-e2f2-4529-9f88-e012abe0ad97)



## Scripts

Expand All @@ -34,7 +54,7 @@ Here are the external libraries required to run the scripts:

First, a few notes:

- flim's 3D LUT is designed to be used in an [OpenColorIO](https://opencolorio.org/) environment.
- flim's 3D LUT is designed to be used in an [OpenColorIO](https://opencolorio.org/) environment, but depending on your software and environment, you might be able to manually replicate the transforms in your custom pipeline.

- flim only supports the sRGB display format as of now.

Expand All @@ -47,10 +67,10 @@ Here's an example of the LUT comments (note that this might not match the latest
```
# -------------------------------------------------
#
# flim v0.2.0 - Bean's Filmic Transform
# flim v0.4.0 - Bean's Filmic Transform
#
# LUT input is expected to be in Linear BT.709 I-D65 and gone through an AllocationTransform like the following:
# !<AllocationTransform> {allocation: lg2, vars: [-11, 11, 0.00048828125]}
# !<AllocationTransform> {allocation: lg2, vars: [-11, 12, 0.00048828125]}
#
# Output will be in sRGB 2.2.
#
Expand Down Expand Up @@ -79,13 +99,13 @@ colorspaces:
children:
- !<ColorSpaceTransform> {src: Linear CIE-XYZ I-E, dst: Linear BT.709 I-D65}
- !<RangeTransform> {min_in_value: 0., min_out_value: 0.}
- !<AllocationTransform> {allocation: lg2, vars: [-11, 11, 0.00048828125]}
- !<AllocationTransform> {allocation: lg2, vars: [-11, 12, 0.00048828125]}
- !<FileTransform> {src: flim.spi3d, interpolation: linear}
```

1. Paying attention to the transforms, you will notice a `ColorSpaceTransform` from CIE-XYZ I-E to Linear BT.709 I-D65. This is because the example OCIO config has its reference color space (the `reference` role) set to CIE-XYZ I-E. If your config already uses Linear BT.709 I-D65 as its reference this is not needed. If your config uses another color space as its reference, you should manually do a conversion to Linear BT.709 I-D65. You can get the conversion matrices using the [Colour](https://www.colour-science.org/) library.
1. Paying attention to the transforms, you will notice a `ColorSpaceTransform` from `Linear CIE-XYZ I-E` to `Linear BT.709 I-D65`. This is because the example OCIO config has its reference color space (the `reference` role) set to `Linear CIE-XYZ I-E`. If your config already uses `Linear BT.709 I-D65` (Linear Rec.709) as its reference this is not needed. If your config uses another color space as its reference, you should manually do a conversion to `Linear BT.709 I-D65`. You can get the conversion matrices using the [Colour](https://www.colour-science.org/) library.

2. Then, we have a `RangeTransform` which is there to eliminate negative values (out-of-gamut).
2. Then, we have a `RangeTransform` which is there to eliminate negative values (out-of-gamut). This is not the best approach as it will cause weird transitions in images that have a lot of negative values, but it is what flim uses for now.

3. Next, we have an `AllocationTransform` which can be directly copied from the LUT comments. The `AllocationTransform` here takes the log2 of the tristimulus (RGB) values and maps them from a specified range (the first two values after `vars`) to the [0, 1] range. The third value in `vars` is the offset applied to the values before mapping. This is done to keep the blacks.

Expand Down

0 comments on commit 194be49

Please sign in to comment.