{"id":19252578,"url":"https://github.com/colour-science/colour-visuals","last_synced_at":"2025-04-21T13:31:10.425Z","repository":{"id":200249982,"uuid":"705118619","full_name":"colour-science/colour-visuals","owner":"colour-science","description":"WebGPU-based visuals for colour science applications","archived":false,"fork":false,"pushed_at":"2024-10-29T00:32:54.000Z","size":4219,"stargazers_count":34,"open_issues_count":2,"forks_count":3,"subscribers_count":8,"default_branch":"develop","last_synced_at":"2024-10-29T21:05:42.653Z","etag":null,"topics":["color","color-science","color-space","color-spaces","colorspace","colorspaces","colour","colour-science","colour-space","colour-spaces","colourspace","colourspaces","python","visuals","webgpu"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/colour-science.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":".github/funding.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null},"funding":{"github":null,"patreon":null,"open_collective":"colour-science","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2023-10-15T04:30:47.000Z","updated_at":"2024-10-27T03:38:19.000Z","dependencies_parsed_at":"2023-10-27T08:31:19.804Z","dependency_job_id":"ffcd94e4-45e2-4cdc-89f6-616013340c1f","html_url":"https://github.com/colour-science/colour-visuals","commit_stats":{"total_commits":40,"total_committers":1,"mean_commits":40.0,"dds":0.0,"last_synced_commit":"eeb9923ee76fedce8dab9d84b0bde163028f157e"},"previous_names":["colour-science/colour-visuals"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colour-science%2Fcolour-visuals","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colour-science%2Fcolour-visuals/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colour-science%2Fcolour-visuals/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colour-science%2Fcolour-visuals/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/colour-science","download_url":"https://codeload.github.com/colour-science/colour-visuals/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223624115,"owners_count":17175190,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["color","color-science","color-space","color-spaces","colorspace","colorspaces","colour","colour-science","colour-space","colour-spaces","colourspace","colourspaces","python","visuals","webgpu"],"created_at":"2024-11-09T18:27:33.936Z","updated_at":"2025-04-21T13:31:10.418Z","avatar_url":"https://github.com/colour-science.png","language":"Python","funding_links":["https://opencollective.com/colour-science"],"categories":[],"sub_categories":[],"readme":"Colour - Visuals\n================\n\n.. start-badges\n\n|actions| |coveralls| |codacy| |version|\n\n.. |actions| image:: https://img.shields.io/github/actions/workflow/status/colour-science/colour-visuals/.github/workflows/continuous-integration-quality-unit-tests.yml?branch=develop\u0026style=flat-square\n    :target: https://github.com/colour-science/colour-visuals/actions\n    :alt: Develop Build Status\n.. |coveralls| image:: http://img.shields.io/coveralls/colour-science/colour-visuals/develop.svg?style=flat-square\n    :target: https://coveralls.io/r/colour-science/colour-visuals\n    :alt: Coverage Status\n.. |codacy| image:: https://img.shields.io/codacy/grade/2862b4f2217742ae83c972d7e3af44d7/develop.svg?style=flat-square\n    :target: https://app.codacy.com/gh/colour-science/colour-visuals\n    :alt: Code Grade\n.. |version| image:: https://img.shields.io/pypi/v/colour-visuals.svg?style=flat-square\n    :target: https://pypi.org/project/colour-visuals\n    :alt: Package Version\n\n.. end-badges\n\nA `Python \u003chttps://www.python.org\u003e`__ package implementing various\n`WebGPU-based \u003chttps://github.com/gpuweb/gpuweb\u003e`__ visuals on top of\n`pygfx \u003chttps://github.com/pygfx/pygfx\u003e`__ for colour science applications.\n\nIt is open source and freely available under the\n`BSD-3-Clause \u003chttps://opensource.org/licenses/BSD-3-Clause\u003e`__ terms.\n\n..  image:: https://raw.githubusercontent.com/colour-science/colour-visuals/develop/docs/_static/Visuals_001.png\n\n.. contents:: **Table of Contents**\n    :backlinks: none\n    :depth: 2\n\n.. sectnum::\n\nFeatures\n--------\n\nMost of the objects are available from the ``colour_visuals`` namespace:\n\n.. code-block:: python\n\n    import colour_visuals\n\nExamples\n^^^^^^^^\n\n.. code-block:: python\n\n    import colour_visuals\n    import numpy as np\n    import pygfx as gfx\n    from wgpu.gui.auto import WgpuCanvas, run\n\n    canvas = WgpuCanvas(size=(960, 540))\n    renderer = gfx.renderers.WgpuRenderer(canvas)\n    camera = gfx.PerspectiveCamera(50, 16 / 9)\n    controller = gfx.OrbitController(camera)\n    controller.register_events(renderer)\n\n    scene = gfx.Scene()\n    scene.add(gfx.Background(None, gfx.BackgroundMaterial(np.array([0.18, 0.18, 0.18]))))\n\n    visuals = [\n        colour_visuals.VisualGrid(size=2),\n        colour_visuals.VisualChromaticityDiagramCIE1931(\n            kwargs_visual_chromaticity_diagram={\"opacity\": 0.25}\n        ),\n        colour_visuals.VisualRGBColourspace2D(\"ACEScg\"),\n        colour_visuals.VisualRGBColourspace2D(\n            \"Display P3\", colour=np.array([0.5, 0.5, 0.5])\n        ),\n        colour_visuals.VisualRGBColourspace3D(\"Display P3\", opacity=0.5, wireframe=True),\n        colour_visuals.VisualRGBScatter3D(np.random.random([24, 32, 3]), \"ACEScg\"),\n    ]\n\n    group = gfx.Group()\n    for visual in visuals:\n        group.add(visual)\n\n    scene.add(group)\n\n    camera.local.position = np.array([-0.25, -0.5, 2])\n    camera.show_pos(np.array([1 / 3, 1 / 3, 0.4]))\n\n    canvas.request_draw(lambda: renderer.render(scene, camera))\n    run()\n\n..  image:: https://raw.githubusercontent.com/colour-science/colour-visuals/develop/docs/_static/Visuals_002.png\n\n.. code-block:: python\n\n    import colour_visuals\n    import numpy as np\n    import pygfx as gfx\n    from wgpu.gui.auto import WgpuCanvas, run\n\n    canvas = WgpuCanvas(size=(960, 540))\n    renderer = gfx.renderers.WgpuRenderer(canvas)\n    camera = gfx.PerspectiveCamera(50, 16 / 9)\n    controller = gfx.OrbitController(camera)\n    controller.register_events(renderer)\n\n    scene = gfx.Scene()\n    scene.add(gfx.Background(None, gfx.BackgroundMaterial(np.array([0.18, 0.18, 0.18]))))\n\n    visuals = [\n        colour_visuals.VisualGrid(size=4),\n        colour_visuals.VisualSpectralLocus3D(model=\"CIE Lab\"),\n        colour_visuals.VisualPointerGamut3D(model=\"CIE Lab\", colour=np.array([1, 0.5, 0])),\n        colour_visuals.VisualRGBColourspace3D(\n            \"Display P3\",\n            model=\"CIE Lab\",\n            opacity=0.5,\n            wireframe=True,\n            segments=8,\n        ),\n        colour_visuals.VisualRGBScatter3D(\n            np.random.random([24, 32, 3]), \"Display P3\", model=\"CIE Lab\"\n        ),\n    ]\n\n    group = gfx.Group()\n    for visual in visuals:\n        group.add(visual)\n\n    scene.add(group)\n\n    camera.local.position = np.array([1.5, -1.5, 5])\n    camera.show_pos(np.array([0, 0, 0.5]))\n\n    canvas.request_draw(lambda: renderer.render(scene, camera))\n    run()\n\n..  image:: https://raw.githubusercontent.com/colour-science/colour-visuals/develop/docs/_static/Visuals_003.png\n\nDaylight Locus Visuals\n~~~~~~~~~~~~~~~~~~~~~~\n\n.. code-block:: python\n\n    colour_visuals.Plotting_VisualDaylightLocus()\n\n..  image:: https://raw.githubusercontent.com/colour-science/colour-visuals/develop/docs/_static/Plotting_VisualDaylightLocus.png\n\nChromaticity Diagram Visuals\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code-block:: python\n\n    colour_visuals.Plotting_VisualSpectralLocus2D()\n\n..  image:: https://raw.githubusercontent.com/colour-science/colour-visuals/develop/docs/_static/Plotting_VisualSpectralLocus2D.png\n\n.. code-block:: python\n\n    colour_visuals.VisualChromaticityDiagramCIE1931(\n        kwargs_visual_chromaticity_diagram={\"opacity\": 0.25}\n    )\n\n..  image:: https://raw.githubusercontent.com/colour-science/colour-visuals/develop/docs/_static/Plotting_VisualChromaticityDiagramCIE1931.png\n\nPlanckian Locus Visuals\n~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code-block:: python\n\n    colour_visuals.VisualPlanckianLocus()\n\n..  image:: https://raw.githubusercontent.com/colour-science/colour-visuals/develop/docs/_static/Plotting_VisualPlanckianLocus.png\n\nPointer's Gamut Visuals\n~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code-block:: python\n\n    colour_visuals.VisualPointerGamut2D()\n\n..  image:: https://raw.githubusercontent.com/colour-science/colour-visuals/develop/docs/_static/Plotting_VisualPointerGamut2D.png\n\n.. code-block:: python\n\n    colour_visuals.VisualPointerGamut3D()\n\n..  image:: https://raw.githubusercontent.com/colour-science/colour-visuals/develop/docs/_static/Plotting_VisualPointerGamut3D.png\n\nRGB Colourspace Visuals\n~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code-block:: python\n\n    colour_visuals.VisualRGBColourspace2D()\n\n..  image:: https://raw.githubusercontent.com/colour-science/colour-visuals/develop/docs/_static/Plotting_VisualRGBColourspace2D.png\n\n.. code-block:: python\n\n    colour_visuals.VisualRGBColourspace3D()\n\n..  image:: https://raw.githubusercontent.com/colour-science/colour-visuals/develop/docs/_static/Plotting_VisualRGBColourspace3D.png\n\nRGB Scatter Visuals\n~~~~~~~~~~~~~~~~~~~\n\n.. code-block:: python\n\n    colour_visuals.VisualRGBScatter3D(np.random.random([24, 32, 3]))\n\n..  image:: https://raw.githubusercontent.com/colour-science/colour-visuals/develop/docs/_static/Plotting_VisualRGBScatter3D.png\n\nRösch-MacAdam Visuals\n~~~~~~~~~~~~~~~~~~~~~\n\n.. code-block:: python\n\n    colour_visuals.VisualRoschMacAdam()\n\n..  image:: https://raw.githubusercontent.com/colour-science/colour-visuals/develop/docs/_static/Plotting_VisualRoschMacAdam.png\n\nPatterns\n~~~~~~~~\n\n.. code-block:: python\n\n    colour_visuals.pattern_hue_swatches()\n\n..  image:: https://raw.githubusercontent.com/colour-science/colour-visuals/develop/docs/_static/Plotting_PatternHueSwatches.png\n\n.. code-block:: python\n\n    colour_visuals.pattern_hue_stripes()\n\n..  image:: https://raw.githubusercontent.com/colour-science/colour-visuals/develop/docs/_static/Plotting_PatternHueStripes.png\n\n.. code-block:: python\n\n    colour_visuals.pattern_colour_wheel()\n\n..  image:: https://raw.githubusercontent.com/colour-science/colour-visuals/develop/docs/_static/Plotting_PatternColourWheel.png\n\nUser Guide\n----------\n\nInstallation\n^^^^^^^^^^^^\n\nPrimary Dependencies\n~~~~~~~~~~~~~~~~~~~~\n\n- `python \u003e= 3.10, \u003c 3.14 \u003chttps://www.python.org/download/releases\u003e`__\n- `colour-science \u003e= 4.5 \u003chttps://pypi.org/project/colour-science\u003e`__\n- `glfw \u003chttps://pypi.org/project/glfw\u003e`__\n- `imageio \u003e= 2, \u003c 3 \u003chttps://imageio.github.io\u003e`__\n- `networkx \u003e= 3, \u003c 4 \u003chttps://pypi.org/project/networkx\u003e`__\n- `numpy \u003e= 1.24, \u003c 3 \u003chttps://pypi.org/project/numpy\u003e`__\n- `pygfx \u003chttps://pypi.org/project/pygfx\u003e`__\n- `scipy \u003e= 1.10, \u003c 2 \u003chttps://pypi.org/project/scipy\u003e`__\n\nPypi\n~~~~\n\n**colour-visuals** is not available on Pypi yet.\n\nContributing\n^^^^^^^^^^^^\n\nIf you would like to contribute to `Colour - Visuals \u003chttps://github.com/colour-science/colour-visuals\u003e`__,\nplease refer to the following `Contributing \u003chttps://www.colour-science.org/contributing\u003e`__\nguide for `Colour \u003chttps://github.com/colour-science/colour\u003e`__.\n\nAPI Reference\n-------------\n\nThe main technical reference for `Colour - Visuals \u003chttps://github.com/colour-science/colour-visuals\u003e`__\nis the `API Reference \u003chttps://colour-visuals.readthedocs.io/en/latest/reference.html\u003e`__.\n\nCode of Conduct\n---------------\n\nThe *Code of Conduct*, adapted from the `Contributor Covenant 1.4 \u003chttps://www.contributor-covenant.org/version/1/4/code-of-conduct.html\u003e`__,\nis available on the `Code of Conduct \u003chttps://www.colour-science.org/code-of-conduct\u003e`__ page.\n\nContact \u0026 Social\n----------------\n\nThe *Colour Developers* can be reached via different means:\n\n- `Email \u003cmailto:colour-developers@colour-science.org\u003e`__\n- `Facebook \u003chttps://www.facebook.com/python.colour.science\u003e`__\n- `Github Discussions \u003chttps://github.com/colour-science/colour-visuals/discussions\u003e`__\n- `Gitter \u003chttps://gitter.im/colour-science/colour\u003e`__\n- `X \u003chttps://x.com/colour_science\u003e`__\n- `Bluesky \u003chttps://bsky.app/profile/colour-science.bsky.social\u003e`__\n\nAbout\n-----\n\n| **Colour - Visuals** by Colour Developers\n| Copyright 2023 Colour Developers – `colour-developers@colour-science.org \u003ccolour-developers@colour-science.org\u003e`__\n| This software is released under terms of BSD-3-Clause: https://opensource.org/licenses/BSD-3-Clause\n| `https://github.com/colour-science/colour-visuals \u003chttps://github.com/colour-science/colour-visuals\u003e`__\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcolour-science%2Fcolour-visuals","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcolour-science%2Fcolour-visuals","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcolour-science%2Fcolour-visuals/lists"}