Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

PR: Implement support for "Leica L-Log" log encoding curve. #986

Merged
merged 4 commits into from
May 21, 2022

Conversation

KelSolaar
Copy link
Member

Summary

This PR implements support for the Leica L-Log log encoding curve.

References #980.

Preflight

Code Style and Quality

  • Unit tests have been implemented and passed.
  • Mypy static checking has been run and passed.
  • Pre-commit hooks have been run and passed.
  • [N/A] New transformations have been added to the Automatic Colour Conversion Graph.
  • New transformations have been exported to the relevant namespaces, e.g. colour, colour.models.

Documentation

  • New features are documented along with examples if relevant.
  • The documentation is Sphinx and numpydoc compliant.

@KelSolaar KelSolaar added this to the v0.4.2 milestone May 18, 2022
@nick-shaw
Copy link
Contributor

I may be missing something, but it seems that colour.models.log_encoding(0.18, 'L-Log') works, but colour.models.log_encoding_LLog(0.18) does not.

@nick-shaw
Copy link
Contributor

LLog (encoding and decoding) appears to be omitted from the lists in __init__.py under colour/models and colour/models/rgb.

@zachlewis
Copy link
Contributor

This little OCIO bit works as expected:
!<LogCameraTransform> {name: Leica L-Log to Linear, base: 10, log_side_slope: 0.27, log_side_offset: 0.6, lin_side_slope: 1.3, lin_side_offset: 0.0115, lin_side_break: 0.006, linear_slope: 8, direction: inverse}

Copy link
Contributor

@zachlewis zachlewis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CONSTANTS_NLOG should be CONSTANTS_LLOG

@KelSolaar
Copy link
Member Author

KelSolaar commented May 18, 2022

CONSTANTS_NLOG should be CONSTANTS_LLOG

Thanks, good catch!

Small Horror Story

I wrote the module two times and managed to lose the code failing with git stash fu, the first time it was correct as I remember changing it specifically because the N-LOG one was not consistent.

@KelSolaar
Copy link
Member Author

KelSolaar commented May 18, 2022

LLog (encoding and decoding) appears to be omitted from the lists in __init__.py under colour/models and colour/models/rgb.

Good catch, I forgot that we need to explicitly import the transfer functions since I made the typing annotation changes. Before, we were bubbling back up with import *

@KelSolaar KelSolaar force-pushed the feature/leica_l_log branch from b8c6c37 to 4836d09 Compare May 20, 2022 23:51
@KelSolaar KelSolaar force-pushed the feature/leica_l_log branch from 4836d09 to af930a9 Compare May 21, 2022 02:35
@KelSolaar KelSolaar merged commit 774410e into develop May 21, 2022
@KelSolaar KelSolaar deleted the feature/leica_l_log branch May 21, 2022 05:41
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants