A Python package implementing various HDRI / Radiance image processing algorithms.

Overview

Colour - HDRI

Develop Build Status Coverage Status Code Grade Package Version

A Python package implementing various HDRI / Radiance image processing algorithms.

It is open source and freely available under the New BSD License terms.

https://raw.githubusercontent.com/colour-science/colour-hdri/master/docs/_static/Radiance_001.png

1   Features

The following features are available:

  • HDRI / Radiance Image Generation
  • Debevec (1997) Camera Response Function Computation
  • Grossberg (2003) Histogram Based Image Sampling
  • Variance Minimization Light Probe Sampling
  • Global Tonemapping Operators
  • Adobe DNG SDK Colour Processing
  • Absolute Luminance Calibration
  • Digital Still Camera (DSC) Exposure Model
  • Raw Processing Helpers

2   Installation

Because of their size, the resources dependencies needed to run the various examples and unit tests are not provided within the Pypi package. They are separately available as Git Submodules when cloning the repository.

2.1   Primary Dependencies

Colour - HDRI requires various dependencies in order to run:

2.2   Optional Features Dependencies

2.3   Pypi

Once the dependencies are satisfied, Colour - HDRI can be installed from the Python Package Index by issuing this command in a shell:

pip install --user colour-hdri

The optional features dependencies are installed as follows:

pip install --user 'colour-hdri[optional]'

The figures plotting dependencies are installed as follows:

pip install --user 'colour-hdri[plotting]'

The overall development dependencies are installed as follows:

pip install --user 'colour-hdri[development]'

3   Usage

3.1   API

The main reference for Colour - HDRI is the Colour - HDRI Manual.

3.2   Examples

Various usage examples are available from the examples directory.

4   Contributing

If you would like to contribute to Colour - HDRI, please refer to the following Contributing guide for Colour.

5   Bibliography

The bibliography is available in the repository in BibTeX format.

6   See Also

6.1   Publications

Advanced High Dynamic Range Imaging: Theory and Practice was used as a reference for some of the algorithms of Colour - HDRI.

6.2   Software

C/C++

Piccante was used to verify the Grossberg (2003) Histogram Based Image Sampling.

Matlab

7   Code of Conduct

The Code of Conduct, adapted from the Contributor Covenant 1.4, is available on the Code of Conduct page.

8   Contact & Social

The Colour Developers can be reached via different means:

9   About

Colour - HDRI by Colour Developers
Copyright © 2015-2021 – Colour Developers – [email protected]
This software is released under terms of New BSD License: https://opensource.org/licenses/BSD-3-Clause
Comments
  • Unable to Run Adobe DNG Converter from Python

    Unable to Run Adobe DNG Converter from Python

    I've been trying to run the Merge from Raw Files with Post Demosaicing example and I'm running into an issue where Adobe DNG Converter does not run when it's called. The code progresses without any errors, but the .dng files are not created.

    I'm on Windows. I've installed Adobe DNG Converter and added the executable to my Path. I'm able to run the exact same command colour-hdri is trying to run in convert_raw_files_to_dng_files() from the command line without issue ("Adobe DNG Converter" -e -d "C:\path\to\images" "C:\path\to\images\IMG.CR2"). I've tried running from an admin console, but still get the same issue.

    I realize this isn't strictly a colour-hdri issue, but figured others might have come across this issue as well.

    opened by JoeWise 2
  • Bump bleach from 3.2.1 to 3.3.0

    Bump bleach from 3.2.1 to 3.3.0

    Bumps bleach from 3.2.1 to 3.3.0.

    Changelog

    Sourced from bleach's changelog.

    Version 3.3.0 (February 1st, 2021)

    Backwards incompatible changes

    • clean escapes HTML comments even when strip_comments=False

    Security fixes

    • Fix bug 1621692 / GHSA-m6xf-fq7q-8743. See the advisory for details.

    Features

    None

    Bug fixes

    None

    Version 3.2.3 (January 26th, 2021)

    Security fixes

    None

    Features

    None

    Bug fixes

    • fix clean and linkify raising ValueErrors for certain inputs. Thank you @Google-Autofuzz.

    Version 3.2.2 (January 20th, 2021)

    Security fixes

    None

    Features

    • Migrate CI to Github Actions. Thank you @hugovk.

    Bug fixes

    • fix linkify raising an IndexError on certain inputs. Thank you @Google-Autofuzz.
    Commits
    • 79b7a3c Merge pull request from GHSA-vv2x-vrpj-qqpq
    • 842fcb4 Update for v3.3.0 release
    • 1334134 sanitizer: escape HTML comments
    • c045a8b Merge pull request #581 from mozilla/nit-fixes
    • 491abb0 fix typo s/vnedoring/vendoring/
    • 10b1c5d vendor: add html5lib-1.1.dist-info/REQUESTED
    • cd838c3 Merge pull request #579 from mozilla/validate-convert-entity-code-points
    • 612b808 Update for v3.2.3 release
    • 6879f6a html5lib_shim: validate unicode points for convert_entity
    • 90cb80b Update for v3.2.2 release
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 2
  • Bump bleach from 3.1.0 to 3.1.4

    Bump bleach from 3.1.0 to 3.1.4

    Bumps bleach from 3.1.0 to 3.1.4.

    Changelog

    Sourced from bleach's changelog.

    Version 3.1.4 (March 24th, 2020)

    Security fixes

    • bleach.clean behavior parsing style attributes could result in a regular expression denial of service (ReDoS).

      Calls to bleach.clean with an allowed tag with an allowed style attribute were vulnerable to ReDoS. For example, bleach.clean(..., attributes={'a': ['style']}).

      This issue was confirmed in Bleach versions v3.1.3, v3.1.2, v3.1.1, v3.1.0, v3.0.0, v2.1.4, and v2.1.3. Earlier versions used a similar regular expression and should be considered vulnerable too.

      Anyone using Bleach <=v3.1.3 is encouraged to upgrade.

      https://bugzilla.mozilla.org/show_bug.cgi?id=1623633

    Backwards incompatible changes

    • Style attributes with dashes, or single or double quoted values are cleaned instead of passed through.

    Features

    None

    Bug fixes

    None

    Version 3.1.3 (March 17th, 2020)

    Security fixes

    None

    Backwards incompatible changes

    None

    Features

    • Add relative link to code of conduct. (#442)

    • Drop deprecated 'setup.py test' support. (#507)

    ... (truncated)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 2
  • Bump bleach from 3.1.0 to 3.1.2

    Bump bleach from 3.1.0 to 3.1.2

    Bumps bleach from 3.1.0 to 3.1.2.

    Changelog

    Sourced from bleach's changelog.

    Version 3.1.2 (March 11th, 2020)

    Security fixes

    • bleach.clean behavior parsing embedded MathML and SVG content with RCDATA tags did not match browser behavior and could result in a mutation XSS.

      Calls to bleach.clean with strip=False and math or svg tags and one or more of the RCDATA tags script, noscript, style, noframes, iframe, noembed, or xmp in the allowed tags whitelist were vulnerable to a mutation XSS.

      This security issue was confirmed in Bleach version v3.1.1. Earlier versions are likely affected too.

      Anyone using Bleach <=v3.1.1 is encouraged to upgrade.

      https://bugzilla.mozilla.org/show_bug.cgi?id=1621692

    Backwards incompatible changes

    None

    Features

    None

    Bug fixes

    None

    Version 3.1.1 (February 13th, 2020)

    Security fixes

    • bleach.clean behavior parsing noscript tags did not match browser behavior.

      Calls to bleach.clean allowing noscript and one or more of the raw text tags (title, textarea, script, style, noembed, noframes, iframe, and xmp) were vulnerable to a mutation XSS.

      This security issue was confirmed in Bleach versions v2.1.4, v3.0.2, and v3.1.0. Earlier versions are probably affected too.

    ... (truncated)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 2
  • Bump bleach from 3.1.0 to 3.1.1

    Bump bleach from 3.1.0 to 3.1.1

    Bumps bleach from 3.1.0 to 3.1.1.

    Changelog

    Sourced from bleach's changelog.

    Version 3.1.1 (February 13th, 2020)

    Security fixes

    • bleach.clean behavior parsing noscript tags did not match browser behavior.

      Calls to bleach.clean allowing noscript and one or more of the raw text tags (title, textarea, script, style, noembed, noframes, iframe, and xmp) were vulnerable to a mutation XSS.

      This security issue was confirmed in Bleach versions v2.1.4, v3.0.2, and v3.1.0. Earlier versions are probably affected too.

      Anyone using Bleach <=v3.1.0 is highly encouraged to upgrade.

      https://bugzilla.mozilla.org/show_bug.cgi?id=1615315

    Backwards incompatible changes

    None

    Features

    None

    Bug fixes

    None

    Bleach changes

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 2
  • Error when using absolute_luminance_calibration_Lagarde2016()

    Error when using absolute_luminance_calibration_Lagarde2016()

    Question

    Hiyo again;

    I have a bit of code that does this:

            (img, attribs) = colour.read_image(os.path.abspath(file), 
                                    method="OpenImageIO", 
                                    attributes=True )
    
            img = colour_hdri.absolute_luminance_calibration_Lagarde2016(img, LUX) # lux is an input arg
    

    Trying to run it, I see:

    numpy.core._exceptions._UFuncNoLoopError: ufunc 'multiply' did not contain a loop with signature matching types (dtype('float64'), dtype('<U5')) -> None

    Is there a data type conversion I should be doing when passing the image to this function?

    API Normal Defect 
    opened by ahemberger 1
  • Exception raised when importing in Python 3.10 because of

    Exception raised when importing in Python 3.10 because of "MutableSequence".

    File "/home/kalgecin/.local/lib/python3.10/site-packages/colour_hdri/__init__.py", line 33, in <module>
      from .utilities import (EXIF_EXECUTABLE, ExifTag, Image, ImageStack, Metadata,
    File "/home/kalgecin/.local/lib/python3.10/site-packages/colour_hdri/utilities/__init__.py", line 10, in <module>
      from .image import Metadata, Image, ImageStack
    File "/home/kalgecin/.local/lib/python3.10/site-packages/colour_hdri/utilities/image.py", line 17, in <module>
      from collections import MutableSequence
    ImportError: cannot import name 'MutableSequence' from 'collections' (/usr/lib/python3.10/collections/__init__.py)
    

    python 3.10 moved collections to collections.abc from what i can tell

    API Critical Defect 
    opened by kalgecin 1
  • Bump babel from 2.9.0 to 2.9.1

    Bump babel from 2.9.0 to 2.9.1

    Bumps babel from 2.9.0 to 2.9.1.

    Release notes

    Sourced from babel's releases.

    Version 2.9.1

    Bugfixes

    • The internal locale-data loading functions now validate the name of the locale file to be loaded and only allow files within Babel's data directory. Thank you to Chris Lyne of Tenable, Inc. for discovering the issue!
    Changelog

    Sourced from babel's changelog.

    Version 2.9.1

    Bugfixes

    
    * The internal locale-data loading functions now validate the name of the locale file to be loaded and only
      allow files within Babel's data directory.  Thank you to Chris Lyne of Tenable, Inc. for discovering the issue!
    
    Commits
    • a99fa24 Use 2.9.0's setup.py for 2.9.1
    • 60b33e0 Become 2.9.1
    • 412015e Merge pull request #782 from python-babel/locale-basename
    • 5caf717 Disallow special filenames on Windows
    • 3a700b5 Run locale identifiers through os.path.basename()
    • 5afe2b2 Merge pull request #754 from python-babel/github-ci
    • 58de834 Replace Travis + Appveyor with GitHub Actions (WIP)
    • d1bbc08 import_cldr: use logging; add -q option
    • 156b7fb Quiesce CLDR download progress bar if requested (or not a TTY)
    • 613dc17 Make the import warnings about unsupported number systems less verbose
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Bump pillow from 8.1.0 to 8.3.2

    Bump pillow from 8.1.0 to 8.3.2

    Bumps pillow from 8.1.0 to 8.3.2.

    Release notes

    Sourced from pillow's releases.

    8.3.2

    https://pillow.readthedocs.io/en/stable/releasenotes/8.3.2.html

    Security

    • CVE-2021-23437 Raise ValueError if color specifier is too long [hugovk, radarhere]

    • Fix 6-byte OOB read in FliDecode [wiredfool]

    Python 3.10 wheels

    • Add support for Python 3.10 #5569, #5570 [hugovk, radarhere]

    Fixed regressions

    • Ensure TIFF RowsPerStrip is multiple of 8 for JPEG compression #5588 [kmilos, radarhere]

    • Updates for ImagePalette channel order #5599 [radarhere]

    • Hide FriBiDi shim symbols to avoid conflict with real FriBiDi library #5651 [nulano]

    8.3.1

    https://pillow.readthedocs.io/en/stable/releasenotes/8.3.1.html

    Changes

    8.3.0

    https://pillow.readthedocs.io/en/stable/releasenotes/8.3.0.html

    Changes

    ... (truncated)

    Changelog

    Sourced from pillow's changelog.

    8.3.2 (2021-09-02)

    • CVE-2021-23437 Raise ValueError if color specifier is too long [hugovk, radarhere]

    • Fix 6-byte OOB read in FliDecode [wiredfool]

    • Add support for Python 3.10 #5569, #5570 [hugovk, radarhere]

    • Ensure TIFF RowsPerStrip is multiple of 8 for JPEG compression #5588 [kmilos, radarhere]

    • Updates for ImagePalette channel order #5599 [radarhere]

    • Hide FriBiDi shim symbols to avoid conflict with real FriBiDi library #5651 [nulano]

    8.3.1 (2021-07-06)

    • Catch OSError when checking if fp is sys.stdout #5585 [radarhere]

    • Handle removing orientation from alternate types of EXIF data #5584 [radarhere]

    • Make Image.array take optional dtype argument #5572 [t-vi, radarhere]

    8.3.0 (2021-07-01)

    • Use snprintf instead of sprintf. CVE-2021-34552 #5567 [radarhere]

    • Limit TIFF strip size when saving with LibTIFF #5514 [kmilos]

    • Allow ICNS save on all operating systems #4526 [baletu, radarhere, newpanjing, hugovk]

    • De-zigzag JPEG's DQT when loading; deprecate convert_dict_qtables #4989 [gofr, radarhere]

    • Replaced xml.etree.ElementTree #5565 [radarhere]

    ... (truncated)

    Commits
    • 8013f13 8.3.2 version bump
    • 23c7ca8 Update CHANGES.rst
    • 8450366 Update release notes
    • a0afe89 Update test case
    • 9e08eb8 Raise ValueError if color specifier is too long
    • bd5cf7d FLI tests for Oss-fuzz crash.
    • 94a0cf1 Fix 6-byte OOB read in FliDecode
    • cece64f Add 8.3.2 (2021-09-02) [CI skip]
    • e422386 Add release notes for Pillow 8.3.2
    • 08dcbb8 Pillow 8.3.2 supports Python 3.10 [ci skip]
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Bump notebook from 6.1.6 to 6.4.1

    Bump notebook from 6.1.6 to 6.4.1

    Bumps notebook from 6.1.6 to 6.4.1.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • How to convert DNG raw image to sRGB Format?

    How to convert DNG raw image to sRGB Format?

    Hi

    I am trying to develop raw dng image of DeepISP dataset (https://www.kaggle.com/knn165897/s7-isp-dataset). As I want to process raw image with min. processing and want to learn the pipeline of raw space conversion to image what can be viewed without introducing non-linearity (sRGB without gamma and tone).

    Following are the steps that I took :

    1. Dcraw Param : Initial dcraw used in lib are (-D -W -4 -t 0 -T), but it does not avoid the default WB therefore I changed to (-r 1 1 1 1 -j -D -W -4 -o 0 -t 0 -T). -r will ensure that not channel is provided any gain.
    2. Read tiff file produced in previous step by dcraw.
    3. Demosaic : Just to keep simple, I tried using bilinear but color-demosaic lib producing demosaic image out of range. This seems to be not possible with bilinear. Therefore switch to opencv for demosaicing and normalize the output again.
    4. Cam_to_XYZ : taking motivation from the dng example HERE , used camera_neutral_to_xy and camera_space_to_XYZ_matrix function to get the cam_to_xyz matrix. After multiplying the matrix with image, everytime image is produce way beyond the [0,1] range. This seems to be fine and illumination after adaptation if by default D50 as it is DNG
    5. XYZ_to_sRGB : after having image in XYZ coordinate, it is required to convert into well known color space for visualization. As sRGB is widely used for the task. Continue same motivation from tutorial, I tried to use XYZ_to_sRGB function with same setting except switching off cat.
    6. After this conversion, i understand i can get negative values due to limitation of color space gamut. However i am getting value in the range of [-0.2 , 3.4]

    The upper limit is way beyond the required values. If the upper limit is near 1 like 1.02/1.1, it make sense to clip it. But now, this value is way beyond the upper limit. I don't want to do gamma at this point to preserve the linearity.

    Is there any issue with therotation matrix calculation of cam_to_xyz or xyz_to_srgb? If Library is not handling these cases, how can we handle it? @KelSolaar @MichaelMauderer

    API Discussion 
    opened by raviy0807 1
  • hdri to spherical harmonics

    hdri to spherical harmonics

    Description

    I found that there is mention of converting HDRI to spherical harmonics in PIFu, do you have any plans to implement it?

    https://github.com/shunsukesaito/PIFu/issues/9 https://github.com/shunsukesaito/PIFu/issues/35

    https://github.com/google/spherical-harmonics/blob/master/sh/spherical_harmonics.h#L142

    Feature 
    opened by LogWell 1
  • Implement support for

    Implement support for "Piece-wise Power Curves" tonemapping operator.

    References

    • http://filmicworlds.com/blog/filmic-tonemapping-with-piecewise-power-curves/
    • https://www.desmos.com/calculator/12vlon6rpu
    • https://colab.research.google.com/drive/1YKOF_uYi7zL-ihrENXUJOC2r47QNSRAo?usp=sharing
    API Feature P2 
    opened by KelSolaar 1
Releases(v0.2.1)
  • v0.2.1(Dec 3, 2022)

    This release is mainly compatibility release with Colour 0.4.2 providing support for Python 3.11.

    The minimum Python version is 3.9 and the following scientific packages minimum versions are required:

    • Numpy >= 1.20
    • Scipy >= 1.7
    • colour-science >= 0.4.2

    Features

    • Implement support for lens vignette correction with the colour_hdri.characterise_vignette and colour_hdri.correct_vignette definitions. (d2c1268e8f9924007fbee70bbecbc18bd14dea2d, @KelSolaar)

    Changes

    colour_hdri

    Object | Name | Author --------------------------------------------|------------------------------|----------- colour_hdri.XYZ_to_camera_space_matrix | matrix_XYZ_to_camera_space | @KelSolaar colour_hdri.camera_space_to_XYZ_matrix | matrix_camera_space_to_XYZ | ... colour_hdri.image_stack_to_radiance_image | image_stack_to_HDRI | ...

    Source code(tar.gz)
    Source code(zip)
  • v0.2.0(Feb 26, 2022)

  • v0.1.8(Nov 28, 2020)

  • v0.1.7(Mar 31, 2020)

    Features

    colour_hdri.exposure

    • Implement support for modeling Digital Still Camera (DSC) exposure with the colour_hdri.focal_plane_exposure, colour_hdri.arithmetic_mean_focal_plane_exposure, colour_hdri.saturation_based_speed_focal_plane_exposure, colour_hdri.exposure_value_100 and colour_hdri.photometric_exposure_scale_factor_Lagarde2014 definitions. The models implemented by theses definitions are appropriate to simulate a physical camera in an offline or realtime renderer. (@KelSolaar)
    • Add colour_hdri.luminance_to_exposure_value and colour_hdri.illuminance_to_exposure_value definitions. (@KelSolaar)

    Changes

    colour_hdri.exposure

    • colour_hdri.average_luminance~: (@KelSolaar)
      • Signature: average_luminance(N, t, S, k=12.5)
    • colour_hdri.average_illuminance~: (@KelSolaar)
      • Signature: average_illuminance(N, t, S, c=250)

    colour_hdri.utilities

    • ~colour_hdri.exposure_value~: (@KelSolaar)
      • Remove

    The following definitions have been moved from the colour_hdri.utilities sub-package to the colour_hdri.exposure sub-package:

    • colour_hdri.average_luminance
    • colour_hdri.average_illuminance
    • colour_hdri.luminance_to_exposure_value
    • colour_hdri.illuminance_to_exposure_value
    • colour_hdri.adjust_exposure
    Source code(tar.gz)
    Source code(zip)
  • v0.1.6(Oct 27, 2019)

  • v0.1.5(Mar 24, 2019)

    This release is a compatibility release with Colour 0.3.12

    Features

    colour_hdri.utilities

    • Implement support for average image illuminance with colour_hdri.average_illuminance definition. (@kelsolaar)

    Fixes

    colour_hdri.utilities

    • colour_hdri.average_luminance definition returns actual image average luminance and not its inverse. (@kelsolaar)
    • Fix incorrect exposure value computation in colour_hdri.exposure_value definition. (@kelsolaar)

    Changes

    colour_hdri.plotting

    • colour_hdri.plotting.radiance_image_strip_plot: (@kelsolaar)
      • Name: plot_radiance_image_strip
    • colour_hdri.plotting.tonemapping_operator_image_plot: (@kelsolaar)
      • Name: plot_tonemapping_operator_image
    Source code(tar.gz)
    Source code(zip)
  • v0.1.4(Feb 18, 2018)

  • v0.1.3(May 31, 2017)

    Fixes

    colour_hdri.generation

    • Fix conversion to radiance image exhibiting black pixels when using saturated bound images in colour_hdri.image_stack_to_radiance_image definition. (@kelsolaar)

    Features

    colour_hdri.utilities

    • colour_hdri.ImageStack class has now a colour_hdri.ImageStack.sort method allowing to sort the image stack with user given sorting key, e.g. average luminance. (@kelsolaar)

    Changes

    • colour_hdri.Image.read_data: (@kelsolaar)
      • Signature: read_data(self, decoding_cctf=None)
    • colour_hdri.ImageStack.from_files: (@kelsolaar)
      • Signature: from_files(image_files, decoding_cctf=None)
    Source code(tar.gz)
    Source code(zip)
  • v0.1.2(Mar 12, 2017)

    Features

    colour_hdri.models

    • Implement support for Adobe DNG SDK colour processing with colour_hdri.xy_to_camera_neutral, colour_hdri.camera_neutral_to_xy, colour_hdri.XYZ_to_camera_space_matrix and colour_hdri.camera_space_to_XYZ_matrix definitions. (@kelsolaar)

    colour_hdri.recovery

    • Implement colour_hdri.highlights_recovery_LCHab definition performing highlights recovery in CIE LCHab colourspace. (@kelsolaar)

    Changes

    colour_hdri.utilities

    • colour_hdri.linear_conversion: (@kelsolaar)
      • Remove and replace with colour.linear_conversion.
    Source code(tar.gz)
    Source code(zip)
  • v0.1.1(Oct 27, 2016)

    This release is a compatibility release with Colour 0.3.8

    Features

    colour_hdri.sampling

    • Implement colour_hdri.light_probe_sampling_variance_minimization definition sampling given light probe to find lights using Viriyothai (2009) variance minimization light probe sampling algorithm. (@kelsolaar)
    Source code(tar.gz)
    Source code(zip)
  • v0.1.0(Mar 12, 2017)

Owner
colour-science
Colour Science & Digital Imaging
colour-science
sK1 2.0 cross-platform vector graphics editor

sK1 2.0 sK1 2.0 is a cross-platform open source vector graphics editor similar to CorelDRAW, Adobe Illustrator, or Freehand. sK1 is oriented for prepr

sK1 Project 238 Dec 04, 2022
A drop-in replacement for django's ImageField that provides a flexible, intuitive and easily-extensible interface for quickly creating new images from the one assigned to the field.

django-versatileimagefield A drop-in replacement for django's ImageField that provides a flexible, intuitive and easily-extensible interface for creat

Jonathan Ellenberger 490 Dec 13, 2022
This is a python project which detects color of an image when you double click on it.

This is a python project which detects color of an image when you double click on it. You have to press ESC button to close the pop-up Image window. There are mainly two library CV2 and Pandas that a

Yashwant Kumar Singh 0 Aug 16, 2022
Easy to use Python module to extract Exif metadata from digital image files.

Easy to use Python module to extract Exif metadata from digital image files.

ianaré sévi 719 Jan 05, 2023
A QR Code encode and decode python module

A QR Code encode and decode python module

Fayas Noushad 4 Feb 10, 2022
MaryJane is a simple MJPEG server written in Python.

MaryJane is a simple MJPEG server written in Python.

bootrino 152 Dec 13, 2022
A not exist person image generator python module

A not exist person image generator python module

Fayas Noushad 2 Dec 03, 2021
Rembg is a tool to remove images background.

Rembg is a tool to remove images background.

Daniel Gatis 7.8k Jan 05, 2023
3D Reconstruction Software

Meshroom is a free, open-source 3D Reconstruction Software based on the AliceVision Photogrammetric Computer Vision framework. Learn more details abou

AliceVision 8.7k Jan 02, 2023
Archive of the image generator stuff from my API

alex_api_archive Archive of the image generator stuff from my API FAQ Q: Why? A: Because I am removing these components from the API Q: How do I run i

AlexFlipnote 26 Nov 17, 2022
Simplest QRGenerator with a cool feature (-sh=True :D)

Simple QR-Codes Generator :D Generates QR-codes, nothing more and nothing less . How to use Just run ./install.sh to set all the dependencies up, th

RENNAARENATA 1 Dec 11, 2021
Digital image process Basic algorithm

These are some basic algorithms that I have implemented by my hands in the process of learning digital image processing, such as mean and median filtering, sharpening algorithms, interpolation scalin

JingYu 2 Nov 03, 2022
An agnostic Canvas API for the browser-less and insane

Apollo An agnostic Canvas API for the browser-less and mildly insane. Project Apollo is a Pythonic re-imagining of HTML Canvas element implementati

1 Jan 13, 2022
Tool made for the FWA Yearbook Team to resize multiple images quickly.

ImageResize Tool Tool made for the FWA Yearbook Team to resize multiple images quickly. Make sure to check this repo for future updates How to Use The

LGobin 1 Jan 07, 2022
An esoteric visual language that takes image files as input based on a multi-tape turing machine, designed for compatibility with C.

vizh An esoteric visual language that takes image files as input based on a multi-tape turing machine, designed for compatibility with C. Overview Her

Sy Brand 228 Dec 17, 2022
A suite of useful tools based on 3D interactivity in napari

napari-threedee A suite of useful tools based on 3D interactivity in napari This napari plugin was generated with Cookiecutter using @napari's cookiec

11 Dec 14, 2022
Img-to-ascii-art - Converter of image to ascii art

img-to-ascii-art Converter of image to ascii art Latest Features. Intoducing Col

1 Dec 31, 2021
Simple Python / ImageMagick script to package images into WAD3s for use as GoldSrc textures.

WADs Out For [The] Ladies Simple Python / ImageMagick script to package images into WAD3s for use as GoldSrc textures. Development mostly focused on L

5 Apr 09, 2022
:rocket: A minimalist comic reader

Pynocchio A minimalist comic reader Features | Installation | Contributing | Credits This screenshots contains a page of the webcomic Pepper&Carrot by

Michell Stuttgart 73 Aug 02, 2022
MyPaint is a simple drawing and painting program that works well with Wacom-style graphics tablets.

MyPaint A fast and dead-simple painting app for artists Features Infinite canvas Extremely configurable brushes Distraction-free fullscreen mode Exten

MyPaint 2.3k Jan 01, 2023