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
NFT collection generator. Generates layered images

NFT collection generator Generates layered images, whole collections. Provides additional functionality. Repository includes three scripts generate.py

Gleb Gonchar 10 Nov 15, 2022
This is the official source code of FreeCAD, a free and opensource multiplatform 3D parametric modeler.

Freedom to build what you want FreeCAD is an open-source parametric 3D modeler made primarily to design real-life objects of any size. Parametric modeling allows you to easily modify your design by g

FreeCAD 12.9k Jan 07, 2023
A scalable implementation of WobblyStitcher for 3D microscopy images

WobblyStitcher Introduction A scalable implementation of WobblyStitcher Dependencies $ python -m pip install numpy scikit-image Visualization ImageJ

CSE Lab, ETH Zurich 7 Jul 25, 2022
Python Image Optimizer Script

Image-Optimizer Download and Install git clone https://github.com/stefankumpan/Image-Optimizer-Script.git cd Image-Optimizer-Script pip install -r req

Stefan Kumpan 0 Jul 15, 2021
With this simple py script you will be able to get all the .png from a folder and generate a yml for Oraxen

Oraxen-item-to-yml With this simple py script you will be able to get all the .png from a folder and generate a yml for Oraxen How to use Install the

Akex 1 Dec 29, 2021
An application that maps an image of a LaTeX math equation to LaTeX code.

Convert images of LaTex math equations into LaTex code.

1.3k Jan 06, 2023
This tool allows the user to convert a 16 by 16 image into a list with numbers representing an object/character.

Room Formatter This tool allows the user to convert a 16 by 16 image into a list with numbers representing an object/character. There is cur

Thomas Landstra 1 Nov 13, 2021
3D Model files and source code for rotating turntable. Raspberry Pi, DC servo and PWM modulator required.

3DSimpleTurntable 3D Model files and source code for rotating turntable. Raspberry Pi, DC servo and PWM modulator required. Preview Construction Print

Thomas Boyle 1 Feb 13, 2022
ModernGL is a python wrapper over OpenGL 3.3+ core

ModernGL is a python wrapper over OpenGL 3.3+ core that simplifies the creation of simple graphics applications like scientific simulations, games or user interface

ModernGL 1.4k Jan 01, 2023
A simple Streamlit Component to compare images in Streamlit apps. It integrates Knightlab's JuxtaposeJS

streamlit-image-juxtapose A simple Streamlit Component to compare images in Streamlit apps using Knightlab's JuxtaposeJS. The images are saved to the

Robin 30 Dec 31, 2022
Computer art based on quadtrees.

Quads Computer art based on quadtrees. The program targets an input image. The input image is split into four quadrants. Each quadrant is assigned an

Michael Fogleman 1.1k Dec 23, 2022
QR Code Generator

In this project, we'll be using some libraries to instantly generate authentic QR Codes and export them in various formats

Hassan Shahzad 3 Jun 02, 2022
pix2tex: Using a ViT to convert images of equations into LaTeX code.

The goal of this project is to create a learning based system that takes an image of a math formula and returns corresponding LaTeX code.

Lukas Blecher 2.6k Dec 30, 2022
Extract the temperature data of each wire from the thermal imager raw data.

Wire-Tempurature-Detection Extract the temperature data of each wire from the thermal imager raw data. The motivation of this computer vision project

JohanAckerman 1 Nov 03, 2021
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
imgAnalyser - Un script pour obtenir la liste des pixels d'une image correspondant à plusieurs couleurs

imgAnalyser - Un script pour obtenir la liste des pixels d'une image correspondant à plusieurs couleurs Ce script à pour but, à partir d'une image, de

Théo Migeat 1 Nov 15, 2021
vsketch is a Python generative art toolkit for plotters

Generative plotter art environment for Python

Antoine Beyeler 380 Dec 29, 2022
Convert bitmap images to seeds for Tiny-83 NFT project.

What is this? This tool allows you to convert any 14p high and 22p wide Bitmap (.bmp) to the seed needed for the Tiny-83 NFT project. Project Twitter:

shib_maximalist 1 Oct 31, 2021
Qt based ebook reader

Qt based ebook reader Currently supports: pdf epub djvu fb2 mobi azw / azw3 / azw4 cbr / cbz md Contribute Paypal Bitcoin: 17jaxj26vFJNqQ2hEVerbBV5fpT

1.4k Dec 26, 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