diff --git a/.github/workflows/black.yml b/.github/workflows/black.yml index bec47fdc5..cebee50a0 100644 --- a/.github/workflows/black.yml +++ b/.github/workflows/black.yml @@ -1,4 +1,4 @@ -name: Lint +name: black on: push: diff --git a/.github/workflows/ci-pygfx-release.yml b/.github/workflows/ci-pygfx-release.yml new file mode 100644 index 000000000..87ed1a113 --- /dev/null +++ b/.github/workflows/ci-pygfx-release.yml @@ -0,0 +1,88 @@ +name: CI + +on: + push: + branches: + - main + pull_request: + branches: + - main + types: + - opened + - reopened + - synchronize + - ready_for_review + +jobs: + test-build-full: + name: Tests - pygfx release + timeout-minutes: 25 + if: ${{ !github.event.pull_request.draft }} + strategy: + fail-fast: false + matrix: + python: ["3.11", "3.12", "3.13"] + imgui_dep: ["imgui", ""] + notebook_dep: ["notebook", ""] + os: ["ubuntu-latest", "macos-latest"] + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + with: + lfs: true + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python }} + - name: Install llvmpipe and lavapipe for offscreen canvas + if: ${{ matrix.os == 'ubuntu-latest' }} + run: | + sudo apt-get update -y -qq + sudo apt-get install --no-install-recommends -y ffmpeg libegl1-mesa-dev libgl1-mesa-dri libxcb-xfixes0-dev mesa-vulkan-drivers xorg-dev + - name: Set up Homebrew + if: ${{ matrix.os == 'macos-latest' }} + id: set-up-homebrew + uses: Homebrew/actions/setup-homebrew@master + - name: Install gsed + if: ${{ matrix.os == 'macos-latest' }} + run: | + brew install gnu-sed + echo "/opt/homebrew/opt/gnu-sed/libexec/gnubin" >> "$GITHUB_PATH" + - name: Install fastplotlib + run: | + # create string with one of: tests,imgui,notebook; test,imgui; test,notebook ; tests + # sed removes trailing comma + # install fastplotlib with given extras options from above + pip install -e ".[$(echo "tests,${{ matrix.imgui_dep }},${{ matrix.notebook_dep }}" | sed -e "s/,\+/,/g" -e "s/,$//")]" + - name: Show wgpu backend + run: + python -c "from examples.tests.testutils import wgpu_backend; print(wgpu_backend)" + - name: Test components + env: + RENDERCANVAS_FORCE_OFFSCREEN: 1 + run: | + pytest -v tests/ + - name: Test examples + env: + RENDERCANVAS_FORCE_OFFSCREEN: 1 + run: | + pytest -v examples/ + - name: Test examples notebooks, exclude ImageWidget notebook + if: ${{ matrix.notebook_dep == 'notebook' }} + env: + FASTPLOTLIB_NB_TESTS: 1 + # test notebooks, exclude ImageWidget notebooks + run: pytest --nbmake $(find ./examples/notebooks/ -maxdepth 1 -type f -name "*.ipynb" ! -name "image_widget*.ipynb" -print | xargs) + - name: Test ImageWidget notebooks + # test image widget notebooks only if imgui is installed + if: ${{ matrix.notebook_dep == 'notebook' && matrix.imgui_dep == 'imgui' }} + env: + FASTPLOTLIB_NB_TESTS: 1 + run: pytest --nbmake $(find ./examples/notebooks/ -maxdepth 1 -type f -name "image_widget*.ipynb" -print | xargs) + - uses: actions/upload-artifact@v4 + if: ${{ failure() }} + with: + name: screenshot-diffs-${{ matrix.os }}-${{ matrix.pyversion }}-${{ matrix.imgui_dep }}-${{ matrix.notebook_dep }} + path: | + examples/diffs + examples/notebooks/diffs diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9adb67f77..528b62772 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,228 +14,81 @@ on: - ready_for_review jobs: - docs-build: - name: Docs - runs-on: bigmem - if: ${{ !github.event.pull_request.draft }} - strategy: - fail-fast: false - steps: - - uses: actions/checkout@v3 - - name: Set up Python 3.11 - uses: actions/setup-python@v4 - with: - python-version: 3.11 - - name: Install llvmpipe and lavapipe for offscreen canvas, and git lfs - run: | - sudo apt-get update -y -qq - sudo apt-get install --no-install-recommends -y libegl1-mesa libgl1-mesa-dri libxcb-xfixes0-dev mesa-vulkan-drivers git-lfs - - name: Install pandoc v3.14, nbsphinx complains about older pandoc versions - run: | - wget https://github.com/jgm/pandoc/releases/download/3.1.4/pandoc-3.1.4-1-amd64.deb - sudo apt-get install ./pandoc-3.1.4-1-amd64.deb - - name: Install dev dependencies - run: | - python -m pip install --upgrade pip setuptools - # remove pygfx from install_requires, we install using pygfx@main - sed -i "/pygfx/d" ./setup.py - pip install git+https://github.com/pygfx/pygfx.git@main - pip install -e ".[notebook,docs,tests]" - - name: Build docs - run: | - cd docs - make html SPHINXOPTS="-W --keep-going" - test-build-full: - name: Test Linux, notebook + glfw - runs-on: bigmem + name: Tests + timeout-minutes: 25 if: ${{ !github.event.pull_request.draft }} strategy: fail-fast: false matrix: - include: - - name: Test py310 - pyversion: '3.10' - - name: Test py311 - pyversion: '3.11' - - name: Test py312 - pyversion: '3.12' + python: ["3.11", "3.12", "3.13"] + imgui_dep: ["imgui", ""] + notebook_dep: ["notebook", ""] + os: ["ubuntu-latest", "macos-latest"] + runs-on: ${{ matrix.os }} steps: - - name: Install git-lfs - run: | - sudo apt install --no-install-recommends -y git-lfs - - uses: actions/checkout@v3 - - name: Set up Python - uses: actions/setup-python@v3 - with: - python-version: ${{ matrix.pyversion }} - - name: Install llvmpipe and lavapipe for offscreen canvas - run: | - sudo apt-get update -y -qq - sudo apt-get install --no-install-recommends -y ffmpeg libegl1-mesa libgl1-mesa-dri libxcb-xfixes0-dev mesa-vulkan-drivers git-lfs - - name: Install dev dependencies - run: | - python -m pip install --upgrade pip setuptools - # remove pygfx from install_requires, we install using pygfx@main - sed -i "/pygfx/d" ./setup.py - pip install git+https://github.com/pygfx/pygfx.git@main - pip install -e ".["tests"]" - - name: Show wgpu backend - run: - python -c "from examples.tests.testutils import wgpu_backend; print(wgpu_backend)" - - name: fetch git lfs files - run: | - git lfs fetch --all - git lfs pull - - name: Test examples - env: - PYGFX_EXPECT_LAVAPIPE: true - run: | - WGPU_FORCE_OFFSCREEN=1 pytest -v tests/ - pytest -v examples - FASTPLOTLIB_NB_TESTS=1 pytest --nbmake examples/notebooks/ - - uses: actions/upload-artifact@v3 - if: ${{ failure() }} + - uses: actions/checkout@v4 with: - name: screenshot-diffs - path: | - examples/desktop/diffs - examples/notebooks/diffs - - test-build-desktop: - name: Test Linux, only glfw - runs-on: bigmem - if: ${{ !github.event.pull_request.draft }} - strategy: - fail-fast: false - matrix: - include: - - name: Test py310 - pyversion: '3.10' - - name: Test py311 - pyversion: '3.11' - - name: Test py312 - pyversion: '3.12' - steps: - - name: Install git-lfs - run: | - sudo apt install --no-install-recommends -y git-lfs - - uses: actions/checkout@v3 + lfs: true - name: Set up Python - uses: actions/setup-python@v3 + uses: actions/setup-python@v5 with: - python-version: ${{ matrix.pyversion }} + python-version: ${{ matrix.python }} - name: Install llvmpipe and lavapipe for offscreen canvas + if: ${{ matrix.os == 'ubuntu-latest' }} run: | sudo apt-get update -y -qq - sudo apt-get install --no-install-recommends -y libegl1-mesa libgl1-mesa-dri libxcb-xfixes0-dev mesa-vulkan-drivers git-lfs - - name: Install dev dependencies + sudo apt-get install --no-install-recommends -y ffmpeg libegl1-mesa-dev libgl1-mesa-dri libxcb-xfixes0-dev mesa-vulkan-drivers xorg-dev + - name: Set up Homebrew + if: ${{ matrix.os == 'macos-latest' }} + id: set-up-homebrew + uses: Homebrew/actions/setup-homebrew@master + - name: Install gsed + if: ${{ matrix.os == 'macos-latest' }} + run: | + brew install gnu-sed + echo "/opt/homebrew/opt/gnu-sed/libexec/gnubin" >> "$GITHUB_PATH" + - name: Install pygx from main run: | python -m pip install --upgrade pip setuptools # remove pygfx from install_requires, we install using pygfx@main - sed -i "/pygfx/d" ./setup.py + sed -i "/pygfx/d" ./pyproject.toml pip install git+https://github.com/pygfx/pygfx.git@main - pip install -e ".["tests-desktop"]" + - name: Install fastplotlib + run: | + # create string with one of: tests,imgui,notebook; test,imgui; test,notebook ; tests + # sed removes trailing comma + # install fastplotlib with given extras options from above + pip install -e ".[$(echo "tests,${{ matrix.imgui_dep }},${{ matrix.notebook_dep }}" | sed -e "s/,\+/,/g" -e "s/,$//")]" - name: Show wgpu backend run: python -c "from examples.tests.testutils import wgpu_backend; print(wgpu_backend)" - - name: fetch git lfs files + - name: Test components + env: + RENDERCANVAS_FORCE_OFFSCREEN: 1 run: | - git lfs fetch --all - git lfs pull + pytest -v tests/ - name: Test examples env: - PYGFX_EXPECT_LAVAPIPE: true + RENDERCANVAS_FORCE_OFFSCREEN: 1 run: | - WGPU_FORCE_OFFSCREEN=1 pytest -v tests/ - pytest -v examples - - uses: actions/upload-artifact@v3 + pytest -v examples/ + - name: Test examples notebooks, exclude ImageWidget notebook + if: ${{ matrix.notebook_dep == 'notebook' }} + env: + FASTPLOTLIB_NB_TESTS: 1 + # test notebooks, exclude ImageWidget notebooks + run: pytest --nbmake $(find ./examples/notebooks/ -maxdepth 1 -type f -name "*.ipynb" ! -name "image_widget*.ipynb" -print | xargs) + - name: Test ImageWidget notebooks + # test image widget notebooks only if imgui is installed + if: ${{ matrix.notebook_dep == 'notebook' && matrix.imgui_dep == 'imgui' }} + env: + FASTPLOTLIB_NB_TESTS: 1 + run: pytest --nbmake $(find ./examples/notebooks/ -maxdepth 1 -type f -name "image_widget*.ipynb" -print | xargs) + - uses: actions/upload-artifact@v4 if: ${{ failure() }} with: - name: screenshot-diffs + name: screenshot-diffs-${{ matrix.os }}-${{ matrix.pyversion }}-${{ matrix.imgui_dep }}-${{ matrix.notebook_dep }} path: | - examples/desktop/diffs - -# test-build-full-mac: -# name: Test Mac, notebook + glfw -# runs-on: macos-14 -# if: ${{ !github.event.pull_request.draft }} -# strategy: -# fail-fast: false -# matrix: -# include: -# - name: Test py310 -# pyversion: '3.10' -# - name: Test py311 -# pyversion: '3.11' -# - name: Test py312 -# pyversion: '3.12' -# steps: -# - uses: actions/checkout@v3 -# with: -# lfs: true -# - name: Set up Python -# uses: actions/setup-python@v3 -# with: -# python-version: ${{ matrix.pyversion }} -# - name: Install dev dependencies -# run: | -# python -m pip install --upgrade pip setuptools -# # remove pygfx from install_requires, we install using pygfx@main -# pip install -e ".["tests"]" -# pip install git+https://github.com/pygfx/pygfx.git@main -# - name: Show wgpu backend -# run: -# python -c "from examples.tests.testutils import wgpu_backend; print(wgpu_backend)" -# - name: Test examples -# run: | -# pytest -v examples -# pytest --nbmake examples/notebooks/ -# - uses: actions/upload-artifact@v3 -# if: ${{ failure() }} -# with: -# name: screenshot-diffs -# path: | -# examples/desktop/diffs -# examples/notebooks/diffs -# -# test-build-glfw-mac: -# name: Test Mac, glfw -# runs-on: macos-14 -# if: ${{ !github.event.pull_request.draft }} -# strategy: -# fail-fast: false -# matrix: -# include: -# - name: Test py310 -# pyversion: '3.10' -# - name: Test py311 -# pyversion: '3.11' -# - name: Test py312 -# pyversion: '3.12' -# steps: -# - uses: actions/checkout@v3 -# with: -# lfs: true -# - name: Set up Python -# uses: actions/setup-python@v3 -# with: -# python-version: ${{ matrix.pyversion }} -# - name: Install dev dependencies -# run: | -# python -m pip install --upgrade pip setuptools -# # remove pygfx from install_requires, we install using pygfx@main -# pip install -e ".["tests-desktop"]" -# pip install git+https://github.com/pygfx/pygfx.git@main -# - name: Show wgpu backend -# run: -# python -c "from examples.tests.testutils import wgpu_backend; print(wgpu_backend)" -# - name: Test examples -# run: | -# pytest -v examples -# - uses: actions/upload-artifact@v3 -# if: ${{ failure() }} -# with: -# name: screenshot-diffs -# path: | -# examples/desktop/diffs + examples/diffs + examples/notebooks/diffs diff --git a/.github/workflows/docs-deploy.yml b/.github/workflows/docs-deploy.yml new file mode 100644 index 000000000..470e2e5a5 --- /dev/null +++ b/.github/workflows/docs-deploy.yml @@ -0,0 +1,107 @@ +name: Deploy docs + +on: + push: + branches: + - main + pull_request: + branches: + - main + types: + - opened + - reopened + - synchronize + - ready_for_review + release: + types: [published] + +jobs: + build-docs: + name: "Build and deploy docs" + runs-on: ubuntu-latest + if: ${{ !github.event.pull_request.draft }} + permissions: + pull-requests: write + strategy: + fail-fast: false + steps: + - uses: actions/checkout@v4 + with: + lfs: true + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: 3.12 + - name: Install llvmpipe and lavapipe for offscreen canvas + run: | + sudo apt-get update -y -qq + sudo apt-get install --no-install-recommends -y ffmpeg libegl1-mesa-dev libgl1-mesa-dri libxcb-xfixes0-dev mesa-vulkan-drivers + - name: Install dev dependencies + run: | + python -m pip install --upgrade pip setuptools + # remove pygfx from install_requires, we install using pygfx@main + sed -i "/pygfx/d" ./pyproject.toml + pip install git+https://github.com/pygfx/pygfx.git@main + pip install -e ".[docs,notebook,imgui]" + - name: Show wgpu backend + run: + python -c "from examples.tests.testutils import wgpu_backend; print(wgpu_backend)" + - name: build docs + run: | + cd docs + RTD_BUILD=1 make html SPHINXOPTS="-W --keep-going" + + # set environment variable `DOCS_VERSION_DIR` to either the pr-branch name, "dev", or the release version tag + - name: set output pr + if: ${{ github.ref != 'refs/heads/main' }} + # sets dir to the branch name when it's a PR + # ex: fastplotlib.org/ver/feature-branch + run: echo "DOCS_VERSION_DIR=$GITHUB_HEAD_REF" >> "$GITHUB_ENV" + + - name: set output release + if: ${{ github.ref_type == 'tag' }} + # sets dir to the release version tag, ex. v0.3.0 (I think...) + # ex: fastplotlib.org/ver/v0.3.0 + run: echo "DOCS_VERSION_DIR=$GITHUB_REF_NAME" >> "$GITHUB_ENV" + + - name: set output dev + if: ${{ github.ref == 'refs/heads/main' }} + # any push to main goes to fastplotlib.org/ver/dev + run: echo "DOCS_VERSION_DIR=dev" >> "$GITHUB_ENV" + + # upload docs via SCP + - name: Deploy docs + uses: appleboy/scp-action@v0.1.7 + with: + host: ${{ secrets.DOCS_SERVER }} + username: ${{ secrets.DOCS_USERNAME }} + port: ${{ secrets.DOCS_PORT }} + key: ${{ secrets.DOCS_KEY }} + passphrase: ${{ secrets.DOCS_PASS }} + source: "docs/build/html/*" + # without strip_components it creates dirs docs/build/html within /ver on the server + strip_components: 3 + target: /home/${{ secrets.DOCS_USERNAME }}/public_html/ver/${{ env.DOCS_VERSION_DIR }}/ + + # comment on PR to provide link to built docs + - name: Add PR link in comment + if: ${{ github.event_name == 'pull_request' }} + uses: mshick/add-pr-comment@v2 + with: + message: | + 📚 Docs preview built and uploaded! https://www.fastplotlib.org/ver/${{ env.DOCS_VERSION_DIR }} + + # upload docs via SCP + - name: Deploy docs release + if: ${{ github.ref_type == 'tag' }} + uses: appleboy/scp-action@v0.1.7 + with: + host: ${{ secrets.DOCS_SERVER }} + username: ${{ secrets.DOCS_USERNAME }} + port: ${{ secrets.DOCS_PORT }} + key: ${{ secrets.DOCS_KEY }} + passphrase: ${{ secrets.DOCS_PASS }} + source: "docs/build/html/*" + # without strip_components it creates dirs docs/build/html within /ver on the server + strip_components: 3 + target: /home/${{ secrets.DOCS_USERNAME }}/public_html/ diff --git a/.github/workflows/pypi-publish.yml b/.github/workflows/pypi-publish.yml index 9ebe52b87..780bf4d08 100644 --- a/.github/workflows/pypi-publish.yml +++ b/.github/workflows/pypi-publish.yml @@ -21,18 +21,13 @@ jobs: runs-on: ubuntu-latest steps: - - name: Install git-lfs - run: | - sudo apt install --no-install-recommends -y git-lfs - - uses: actions/checkout@v3 - - name: fetch git lfs files - run: | - git lfs fetch --all - git lfs pull + - uses: actions/checkout@v4 + with: + lfs: true - name: Set up Python - uses: actions/setup-python@v3 + uses: actions/setup-python@v5 with: - python-version: '3.10' + python-version: '3.12' - name: Install dependencies run: | python -m pip install --upgrade pip @@ -40,7 +35,7 @@ jobs: - name: Build package run: python -m build - name: Publish package - uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29 + uses: pypa/gh-action-pypi-publish@release/v1 with: user: __token__ password: ${{ secrets.PYPI_API_TOKEN }} diff --git a/.github/workflows/screenshots.yml b/.github/workflows/screenshots.yml index baad8b655..cfaf419b8 100644 --- a/.github/workflows/screenshots.yml +++ b/.github/workflows/screenshots.yml @@ -13,46 +13,59 @@ on: jobs: screenshots: name: Regenerate - runs-on: bigmem + runs-on: ubuntu-latest + timeout-minutes: 10 if: ${{ !github.event.pull_request.draft }} + strategy: + fail-fast: false + matrix: + imgui_dep: ["imgui", ""] steps: - - name: Install git-lfs - run: | - sudo apt install --no-install-recommends -y git-lfs - - uses: actions/checkout@v3 - - name: Set up Python 3.11 - uses: actions/setup-python@v4 + - uses: actions/checkout@v4 + with: + lfs: true + - name: Set up Python 3.12 + uses: actions/setup-python@v5 with: - python-version: '3.11' + python-version: '3.12' - name: Install llvmpipe and lavapipe for offscreen canvas run: | sudo apt-get update -y -qq - sudo apt-get install --no-install-recommends -y ffmpeg libegl1-mesa libgl1-mesa-dri libxcb-xfixes0-dev mesa-vulkan-drivers - - name: Install dev dependencies + sudo apt-get install --no-install-recommends -y ffmpeg libegl1-mesa-dev libgl1-mesa-dri libxcb-xfixes0-dev mesa-vulkan-drivers + - name: Install pygx from main run: | python -m pip install --upgrade pip setuptools # remove pygfx from install_requires, we install using pygfx@main - sed -i "/pygfx/d" ./setup.py + sed -i "/pygfx/d" ./pyproject.toml pip install git+https://github.com/pygfx/pygfx.git@main - pip install -e ".["tests"]" + - name: Install fastplotlib + run: | + # create string with one of: tests,imgui,notebook; test,imgui; test,notebook ; tests + # sed removes trailing comma + # install fastplotlib with with or without imgui depending on build matrix + pip install -e ".[$(echo "tests,notebook,${{ matrix.imgui_dep }}" | sed -e "s/,\+/,/g" -e "s/,$//")]" - name: Show wgpu backend run: python -c "from examples.tests.testutils import wgpu_backend; print(wgpu_backend)" - - name: fetch git lfs files - run: | - git lfs fetch --all - git lfs pull - - name: Test examples + - name: Generate screenshots env: PYGFX_EXPECT_LAVAPIPE: true run: | # regenerate screenshots - REGENERATE_SCREENSHOTS=1 pytest -v examples - FASTPLOTLIB_NB_TESTS=1 REGENERATE_SCREENSHOTS=1 pytest --nbmake examples/notebooks/ - - uses: actions/upload-artifact@v3 + RENDERCANVAS_FORCE_OFFSCREEN=1 REGENERATE_SCREENSHOTS=1 pytest -v examples + - name: Generate screenshots notebook, exclude image widget + env: + PYGFX_EXPECT_LAVAPIPE: true + run: FASTPLOTLIB_NB_TESTS=1 REGENERATE_SCREENSHOTS=1 pytest --nbmake $(find ./examples/notebooks/ -maxdepth 1 -type f -name "*.ipynb" ! -name "image_widget*.ipynb" -print | xargs) + - name: Generate screenshots notebook, include image widget + if: ${{ matrix.imgui_dep == 'imgui' }} + env: + PYGFX_EXPECT_LAVAPIPE: true + run: FASTPLOTLIB_NB_TESTS=1 REGENERATE_SCREENSHOTS=1 pytest --nbmake $(find ./examples/notebooks/ -maxdepth 1 -type f -name "image_widget*.ipynb" -print | xargs) + - uses: actions/upload-artifact@v4 if: always() with: - name: screenshots + name: screenshots-${{ matrix.imgui_dep }} path: | - examples/desktop/screenshots/ + examples/screenshots/ examples/notebooks/screenshots/ diff --git a/.readthedocs.yaml b/.readthedocs.yaml deleted file mode 100644 index ce6b214e4..000000000 --- a/.readthedocs.yaml +++ /dev/null @@ -1,41 +0,0 @@ -version: 2 - -build: - os: ubuntu-22.04 - tools: - python: "3.11" - apt_packages: - - libegl1-mesa - - libgl1-mesa-dri - - libxcb-xfixes0-dev - - mesa-vulkan-drivers - - libglfw3 - - pandoc # installs older version of pandoc which nbsphinx complains about, but works for now - jobs: - post_checkout: - # Download and uncompress the binary - # https://git-lfs.github.com/ - - wget https://github.com/git-lfs/git-lfs/releases/download/v3.1.4/git-lfs-linux-amd64-v3.1.4.tar.gz - - tar xvfz git-lfs-linux-amd64-v3.1.4.tar.gz - # Modify LFS config paths to point where git-lfs binary was downloaded - - git config filter.lfs.process "`pwd`/git-lfs filter-process" - - git config filter.lfs.smudge "`pwd`/git-lfs smudge -- %f" - - git config filter.lfs.clean "`pwd`/git-lfs clean -- %f" - # Make LFS available in current repository - - ./git-lfs install - # Download content from remote - - ./git-lfs fetch - # Make local files to have the real content on them - - ./git-lfs checkout - pre_install: - - pip install git+https://github.com/pygfx/pygfx.git@main - -sphinx: - configuration: docs/source/conf.py - -python: - install: - - method: pip - path: . - extra_requirements: - - docs diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 65efc3352..0ae81f6f0 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -63,6 +63,7 @@ We strive to: - Excessive profanity. Please avoid swearwords; people differ greatly in their sensitivity to swearing. - Repeated harassment of others. In general, if someone asks you to stop, then stop. - Advocating for, or encouraging, any of the above behavior. + - LLM spam or inauthentic interaction that is completely generated by an LLM is discouraged. We welcome the use of LLMs as tools, but unsolicited LLM bot accounts for example are not encouraged. # Diversity statement diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0786596b4..be9e175e6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,221 +1,306 @@ -# Contribution guide +# Contributing Guide -Contributions are welcome! :smile: +`fastplotlib` is a next-generation plotting library built on top of the `pygfx` rendering engine that leverages modern +GPU hardware and new graphics APIs to build large-scale scientific visualizations. We welcome and encourage contributions +from everyone! :smile: -## Installation +This guide explains how to contribute: if you have questions about the process, please +reach out on [GitHub Discussions](https://github.com/fastplotlib/fastplotlib/discussions). + +> **_NOTE:_** If you are already familiar with contributing to open-source software packages, +> please check out the [quick guide](#contributing-quick-guide)! + +## General Guidelines + +Developers are encouraged to contribute to various areas of development. This could include the addition of new features (e.g. +graphics or selector tools), bug fixes, or the addition of new examples to the [examples gallery](https://www.fastplotlib.org/ver/dev/_gallery/index.html). +Enhancements to documentation and the overall readability of the code are also greatly appreciated. + +Feel free to work on any section of the code that you believe you can improve. More importantly, remember to thoroughly test all +your classes and functions, and to provide clear, detailed comments within your code. This not only aids others in using the library, +but also facilitates future maintenance and further development. + +For more detailed information about `fastplotlib` modules, including design choices and implementation details, visit the +[`For Develeopers`](https://www.fastplotlib.org/ver/dev/developer_notes/index.html) section of the package documentation. + +## Contributing to the code + +### Contribution workflow cycle + +In order to contribute, you will need to do the following: + +1) Create your own branch +2) Make sure that tests pass +3) Open a Pull Request + +The `fastplotlib` package follows the [Git feature branch](https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow) workflow. In essence, `main` is the primary branch to which no one is allowed to +push directly. All development happens in separate feature branches that are then merged into `main` once we have determined they are ready. When enough changes have accumulated, a new release is +generated. This process includes adding a new tag to increment the version number and uploading the new release to PyPI. + +### Creating a development environment + +You will need a local installation of `fastplotlib` which keeps up-to-date with any changes you make. To do so, you will need to fork and clone `fastplotlib` before checking out a new branch. 1. Fork the repo to your own GitHub account, click the "Fork" button at the top: ![image](https://github.com/kushalkolar/fastplotlib/assets/9403332/82612021-37b2-48dd-b7e4-01a919535c17) -2. Clone the repo and install according to the development instructions. Replace the `YOUR_ACCOUNT` in the repo URL to the fork on your account. We use [git-lfs](https://git-lfs.com) for storing large files, such as ground-truths for tests, so you will need to [install it](https://github.com/git-lfs/git-lfs#installing) before cloning the repo. +2. We use [git-lfs](https://git-lfs.com) for storing large files, such as ground-truths for tests, so you will need +to [install it](https://github.com/git-lfs/git-lfs#installing) before cloning the repo. If you already have `git-lfs` +installed, ignore this step. + +3. Clone the repo. Replace the `YOUR_ACCOUNT` in the repo URL to the fork on your account. ```bash git clone https://github.com/YOUR_ACCOUNT/fastplotlib.git cd fastplotlib - -# install all extras in place -pip install -e ".[notebook,docs,tests]" ``` -> If you cloned the repo before installing `git-lfs`, you can run `git lfs pull` at any +> **_NOTE:_** If you cloned the repo before installing `git-lfs`, you can run `git lfs pull` at any > time to download the files stored on LFS -3. Checkout the `main` branch, and then checkout your feature or bug fix branch, and run tests: +4. Install `fastplotlib` in editable mode with developer dependencies + +```bash +# install all extras in place +pip install -e ".[imgui, notebook, docs, tests]" +``` -If your contributions modify how visualizations look, see the "Tests in detail" section at the very bottom. +5. Add the upstream remote branch: ```bash -cd fastplotlib +git remote add upstream https://github.com/fastplotlib/fastplotlib +``` + +At this point you have two remotes: `origin` (your fork) and `upstream` (the official fastplotlib org version). You won't have permission to push to upstream (only `origin`), but +this makes it easy to keep your `fastplotlib` up-to-date with the official fastplotlib org version by pulling from upstream: `git pull upstream`. + +### Creating a new branch +As mentioned previously, each feature in `fastplotlib` is worked on in a separate branch. This allows multiple people to develop multiple features simultaneously, without interfering with each other's work. To create +your own branch, run the following from within your `fastplotlib` directory: + +```bash +# switch to the main branch on your local copy git checkout main -# checkout your new branch from main -git checkout -b my-new-feature-branch +# update your local copy from your fork +git pull origin main + +# sync your local copy with upstream main +git pull upstream main + +# update your fork's main branch with any changes from upstream +git push origin main -# make some changes, lint with black -black . +# create and switch to a new branch, where you'll work on your new feature +git checkout -b my_feature_branch +``` + +After you have made changes on this branch, add and commit them when you are ready: + +```bash +# black format only the source code +black fastplotlib/ # run tests from the repo root dir +RENDERCANVAS_FORCE_OFFSCREEN=1 pytest tests/ + +# desktop examples pytest -v examples + +# notebook examples FASTPLOTLIB_NB_TESTS=1 pytest --nbmake examples/notebooks/ -# add your changed files, do not add any changes from screenshot diff dirs +# add your changed files, do not add any changes from the screenshot diff directory git add my_changed_files -# commit changes -git commit -m "my new feature" +# commit your changes +git commit -m "A one-line message explaining the changes made" -# push changes to your fork -git push origin my-new-feature-branch +# push to the remote origin +git push origin my_feature_branch ``` +> **_NOTE:_** If your contributions modify how visualizations _look_, see the [Testing details](#testing-details) section at the very bottom. -4. Finally make a **draft** PR against the `main` branch. When you think the PR is ready, mark it for review to trigger tests using our CI pipeline. If you need to make changes, please set the PR to a draft when pushing further commits until it's ready for review scion. We will get back to your with any further suggestions! +> **_NOTE:_** If your contributions modify the API, you must regenerate the API docs before making a PR, see +> the [Documenation](#documentation) section below. -## How fastplotlib works +### Contributing your changes back to `fastplotlib` -Fastplotlib uses the [`pygfx`](https://github.com/pygfx/pygfx) rendering engine to give users a high-level scientific -plotting library. Some degree of familiarity with [`pygfx`](https://github.com/pygfx/pygfx) or rendering engines may -be useful depending on the type of contribution you're working on. +You can make any number of changes on your branch. Once you are happy with your changes, add tests to check that they run correctly and add +documentation to properly note your changes. +See below for details on how to [add tests](#adding-tests) and properly [document](#adding-documentation) your code. -There are currently 2 major subpackages within `fastplotlib`, `layouts` and `graphics`. The user-facing public -class within `layouts` is `Figure`. A user is intended to create a `Figure`, and -then add *Graphics* to subplots within that `Figure`. +Now you are ready to make a Pull Request. You can open a pull request by clicking on the big `Compare & pull request` button that appears at the top of the `fastplotlib` repo +after pushing to your branch (see [here](https://intersect-training.org/collaborative-git/03-pr/index.html) for a tutorial). -### Graphics +> **_NOTE:_** Please make sure that you initially make your PR as a **draft** PR against the `main` branch. When you think the PR is ready, mark +> it for review to trigger tests using our CI pipeline. If you need to make changes, please set the PR back to a draft when pushing further +> commits until it is ready for review again. -A `Graphic` is something that can be added to a `PlotArea` (described in detail in a later section). All the various -fastplotlib graphics, such as `ImageGraphic`, `ScatterGraphic`, etc. inherit from the `Graphic` base class in -`fastplotlib/graphics/_base.py`. It has a few properties that mostly wrap `pygfx` `WorldObject` properties and transforms. -These might change in the future (ex. `Graphic.position_x` etc.). +Your pull request should include the following: +- A summary including information on what you changed and why +- References to relevant issues or discussions +- Special notice to any portion of your changes where you have lingering questions (e.g., "was this the right way to implement this?") or +want reviewers to pay special attention to -All graphics can be given a string name for the user's convenience. This allows graphics to be easily accessed from -plots, ex: `subplot["some_image"]`. +Next, we will be notified of the pull request and will read it over. We will try to give an initial response quickly, and then do a longer in-depth +review, at which point you will probably need to respond to our comments, making changes as appropriate. We will then respond again, and proceed +in an iterative fashion until everyone is happy with the proposed changes. -All graphics contain a `world_object` property which is just the `pygfx.WorldObject` that this graphic uses. Fastplotlib -keeps a *private* global dictionary of all `WorldObject` instances and users are only given a weakref proxy to this world object. -This is due to garbage collection. This may be quite complicated for beginners, for more details see this PR: https://github.com/fastplotlib/fastplotlib/pull/160 . -If you are curious or have more questions on garbage collection in fastplotlib you're welcome to post an issue :D. +Once your changes are integrated, you will be added as a GitHub contributor. Thank you for being +a part of `fastplotlib`! -#### Graphic properties +### Style Guide -Graphic properties are all evented, and internally we called these "graphic features". They are the various -aspects of a graphic that the user can change. -The "graphic features" subpackage can be found at `fastplotlib/graphics/_features`. As we can see this -is a private subpackage and never meant to be accessible to users.. +As far as code style, please adhere to the following guidelines: -##### LineGraphic +- Longer, descriptive names are preferred (e.g., `x` is not an appropriate name for a variable), especially for anything user-facing, +such as methods, attributes, or arguments +- Any public method, property, or attribute must have complete type-annotated docstrings (see below for details). Private methods or +attributes do not need to have a complete docstring, but they probably should. -For example let's look at `LineGraphic` in `fastplotlib/graphics/line.py`. Every graphic has a class variable called -`_features` which is a set of all graphic properties that are evented. It has the following evented properties: -`"data", "colors", "cmap", "thickness"` in addition to properties common to all graphics, such as `"name", "offset", "rotation", and "visible"` +### Releases -Now look at the constructor for the `LineGraphic` base class `PositionsGraphic`, it first creates an instance of `VertexPositions`. -This is a class that manages vertex positions buffer. It defines the line, and provides additional useful functionality. -For example, every time that the `data` is changed, the new data will be marked for upload to the GPU before the next draw. -In addition, event handlers will be called if any event handlers are registered. +We create releases on GitHub and distribute via [pypi](https://pypi.org/), and try to follow [semantic versioning](https://semver.org/): -`VertexColors`behaves similarly, but it can perform additional parsing that can create the colors buffer from different -forms of user input. For example if a user runs: `line_graphic.colors = "blue"`, then `VertexColors.__setitem__()` will -create a buffer that corresponds to what `pygfx.Color` thinks is "blue". Users can also take advantage of fancy indexing, -ex: `line_graphics.colors[bool_array] = "red"` :smile: +> Given a version number MAJOR.MINOR.PATCH, increment the: +> 1. MAJOR version when you make incompatible API changes +> 2. MINOR version when you add functionality in a backward compatible manner +> 3. PATCH version when you make backward compatible bug fixes -`LineGraphic` also has a `VertexCmap`, this manages the line `VertexColors` instance to parse colormaps, for example: -`line_graphic.cmap = "jet"` or even `line_graphic.cmap[50:] = "viridis"`. +To release a new version, we [create a GitHub release](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository) with a new tag incrementing the version as described above. +Creating the GitHub release will trigger the deployment to pypi, via our `deploy` action (found in `.github/workflows/pypi-publish.yml`). +The built version will grab the version tag from the GitHub release, using [setuptools_scm](https://github.com/pypa/setuptools_scm). -`LineGraphic` also has a `thickness` property which is pretty simple, and `DeletedFeature` which is useful if you need -callbacks to indicate that the graphic has been deleted (for example, removing references to a graphic from a legend). +### Testing -Other graphics have properties that are relevant to them, for example `ImageGraphic` has `cmap`, `vmin`, `vmax`, -properties unique to images. +#### Testing Details -#### Selectors +As a plotting library we require two layers of testing. 1) We use a backend test suite that verifies the basic functionality of buffer managers, +graphics, layouts, etc., and 2) another test suite which verifies that the library renders plots that are visually correct. -Selectors are a fairly new subpackage at `fastplotlib/graphics/selectors` which is likely to change significantly -after https://github.com/pygfx/pygfx/pull/665 . This subpackage contains selection tools, such as line selectors -(horizontal or vertical lines that can be moved), linear region selectors, and a primitive polygon drawing selection tool. -All selector tools inherit from `BaseSelector` in `graphics/selectors/_base_selector.py` but this is likely to change -after the aforementioned `Input` class PR in `pygfx` and after https://github.com/fastplotlib/fastplotlib/pull/413 . +In order to do this, each example within the `examples` directory is run and an image of the canvas is taken and compared +with a ground-truth screenshot that we have manually inspected. Ground-truth images are stored using `git-lfs`. -### Layouts +The ground-truth images are located in: -#### PlotArea +``` +examples/desktop/screenshots +examples/notebooks/screenshots +``` + +The tests will produce slightly different imperceptible (to a human) results on different hardware when compared to the +ground-truth. A small RMSE tolerance has been chosen, `0.025` for most examples. If the output image and +ground-truth image are within that tolerance the test will pass. + +If the test image and ground-truth image are above the threshold, the test will fail and a difference image will be located in the follow directory: + +``` +examples/desktop/diffs +examples/notebooks/diffs +``` -This is the main base class within layouts. Subplots within a `Figure` and `Dock` areas within a `Subplot`, -inherit from `PlotArea`. +Some feature development may require the ground-truth screenshots to be updated. In the event that your changes require +this, please do the following: -`PlotArea` has the following key properties that allow it to be a "plot area" that can be used to view graphical objects: +1. Download the regenerated screenshots from the [`fastplotlib` GitHub Actions page](https://github.com/fastplotlib/fastplotlib/actions/workflows/screenshots.yml) for your specific PR -* scene - instance of `pygfx.Scene` -* canvas - instance of `WgpuCanvas` -* renderer - instance of `pygfx.WgpuRenderer` -* viewport - instance of `pygfx.Viewport` -* camera - instance of `pygfx.PerspectiveCamera`, we always just use `PerspectiveCamera` and just set `camera.fov = 0` for orthographic projections -* controller - instance of `pygfx.Controller` +2. Replace only the screenshots that your PR changes in your local `fastplotlib` screenshots directories with those downloaded -Abstract method that must be implemented in subclasses: +``` +examples/desktop/screenshots +examples/notebooks/screenshots +``` -* get_rect - musut return [x, y, width, height] that defines the viewport rect for this `PlotArea` +3. Commit your new screenshots and push them to your branch to get picked up by `git-lfs` -Properties specifically used by subplots in a Figure: +```bash +# add changes +git add examples/desktop/screenshots/ +git add examples/notebooks/screenshots/ -* parent - A parent if relevant, used by individual `Subplots` in `Figure`, and by `Dock` which are "docked" subplots at the edges of a subplot. -* position - if a subplot within a Figure, it is the position of this subplot within the `Figure` +# commit changes +git commit -m "update screenshots" -Other important properties: +# push changes +git push origin my_feature_branch +``` -* graphics - a tuple of weakref proxies to all `Graphics` within this `PlotArea`, users are only given weakref proxies to `Graphic` objects, all `Graphic` objects are stored in a private global dict. -* selectors - a tuple of weakref proxies to all selectors within this `PlotArea` -* legend - a tuple of weakref proxies to all legend graphics within this `PlotArea` -* name - plot areas are allowed to have names that the user can use for their convenience +#### Adding tests -Important methods: +Depending on the type of contribution you are making, new tests might need to be added to the repository. Unit tests for testing underlying functionality such as buffer managers, figure instantiation, and +more can be found in the `/tests` directory. However, we also test all of our desktop examples as well. -* add_graphic - add a `Graphic` to the `PlotArea`, append to the end of the `PlotArea._graphics` list -* insert_graphic - insert a `Graphic` to the `PlotArea`, insert to a specific position of the `PlotArea._graphics` list -* remove_graphic - remove a graphic from the `Scene`, **does not delete it** -* delete_graphic - delete a graphic from the `PlotArea`, performs garbage collection -* clear - deletes all graphics from the `PlotArea` -* center_graphic - center camera w.r.t. a `Graphic` -* center_scene - center camera w.r.t. entire `Scene` -* auto_scale - Auto-scale the camera w.r.t to the `Scene` +If you are adding a new example to the library, you will need to add the following comments to the top of your `.py` file in order to make sure it is both tested and added to the gallery. -In addition, `PlotArea` supports `__getitem__`, so you can do: `plot_area["graphic_name"]` to retrieve a `Graphic` by -name :smile: +```python +# test_example = true +# sphinx_gallery_pygfx_docs = 'screenshot' +``` -You can also check if a `PlotArea` has certain graphics, ex: `"some_image_name" in plot_area`, or `graphic_instance in plot_area` +### Documentation -#### Subplot +Documentation is a crucial part of open-source software and greatly influences the ability to use a codebase. As such, it is imperative that any new changes are +properly documented as outlined below. -This class inherits from `PlotArea` and `GraphicMethodsMixin`. +We use [`sphinx`](https://www.sphinx-doc.org/en/master/) for generating our documentation. In addition to this, we also use the [`sphinx-gallery`](https://sphinx-gallery.github.io/stable/index.html) +extension to build our examples gallery. -`GraphicMethodsMixin` is a simple class that just has all the `add_` methods. It is autogenerated by a utility script like this: +If you would like to build the documentation locally: ```bash -python scripts/generate_add_methods.py -``` +cd docs +# regenerate the api guide +python source/generate_api.py -Each `add_` method basically creates an instance of `Graphic`, adds it to the `Subplot`, and returns a weakref -proxy to the `Graphic`. +# build locally +make html +``` -Subplot has one property that is not in `PlotArea`: +#### Adding documentation -* docks: a `dict` of `PlotAreas` which are located at the "top", "right", "left", and "bottom" edges of a `Subplot`. By default their size is `0`. They are useful for putting things like histogram LUT tools. +All public-facing functions and classes should have complete docstrings, which start with a one-line short summary of the function, +a medium-length description of the function / class and what it does, and a complete description of all arguments and return values. +Docstrings should be comprehensive, providing the information necessary for a user to use the method or property without going through the code. -The key method in `Subplot` is an implementation of `get_rect` that returns the viewport rect for this subplot. +Private functions and classes should have sufficient explanation that other developers know what the function / class does and how to use it, +but do not need to be as extensive. -#### Figure +We follow the [numpydoc](https://numpydoc.readthedocs.io/en/latest/) conventions for docstring structure. -Now that we have understood `PlotArea` and `Subplot` we need a way for the user to create them! +### Contributing Quick Guide -A `Figure` contains a grid of subplot and has methods such as `show()` to output the figure. -`Figure.__init__` basically does a lot of parsing of user arguments to determine how to create -the subplots. All subplots within a `Figure` share the same canvas and use different viewports to create the subplots. +This section is a brief introduction to how to contribute to `fastplotlib`. It is intended for individuals who have prior experience with contributing +to open source software packages. -## Tests in detail +> **_NOTE:_** +> We use [git-lfs](https://git-lfs.com) for storing large files, such as ground-truths for tests, so you will need +> to [install it](https://github.com/git-lfs/git-lfs#installing) before cloning the repo. -Backend tests are in `tests/`, in addition as a plotting library CI pipeline produces things that -"look visually correct". Each example within the `examples` dir is run and an image of the canvas -is taken and compared with a ground-truth screenshot that we have manually inspected. -Ground-truth image are stored using `git-lfs`. +1) Fork and clone the repo -The ground-truth images are in: +2) Install locally with developer dependencies +```bash +# after cloning +cd fastplotlib +# install dev dependencies +pip install -e ".[imgui, tests, docs, notebook]" ``` -examples/desktop/screenshots -examples/notebooks/screenshots -``` - -The tests will produce slightly different imperceptible (to a human) results on different hardware when compared to the -ground-truth. A small RMSE tolerance has been chosen, `0.025` for most examples. If the output image and -ground-truth image are within that tolerance the test will pass. +3) Check out a feature branch from `main` -To run tests: +4) Lint codebase and make sure tests pass ```bash -# tests basic backend functionality -WGPU_FORCE_OFFSCREEN=1 pytest -v -s tests/ +# black format only the source code +black fastplotlib/ + +# run tests +# backend tests +RENDERCANVAS_FORCE_OFFSCREEN=1 pytest tests/ # desktop examples pytest -v examples @@ -224,19 +309,10 @@ pytest -v examples FASTPLOTLIB_NB_TESTS=1 pytest --nbmake examples/notebooks/ ``` -If your contribution modifies a ground-truth test screenshot then replace the ground-truth image along with your PR and -also notify us of this in the PR. Likewise, if your contribution requires a new test or new ground-truth then include -this new image in your PR. +5) Update screenshots if necessary ([see testing](#testing-details)) -You can create/regenerate ground-truths for the examples like this: - -```bash -# desktop examples -REGENERATE_SCREENSHOTS=1 pytest -v examples/ - -# notebook examples -FASTPLOTLIB_NB_TESTS=1 REGENERATE_SCREENSHOTS=1 pytest --nbmake examples/notebooks/image_widget_test.ipynb -``` +6) Push and open a PR (pull request) against the `main` branch -**Please only commit ground-truth images that correspond to your PR** since this will generate ground-truth images for -the entire test suite. +> **Note:** +> The tests labeled "CI / Tests" must pass, but the tests labeled "CI / Tests - pygfx release" do not necessarily need to pass. The difference between these two workflows is "CI / Tests" uses the `main` branch of [`pygfx`](https://github.com/pygfx/pygfx) whereas "CI / Tests - pygfx release" uses the latest release of `pygfx`. +> Since `fastplotlib`, `pygfx`, and `wgpu` are all under rapid development we aim to keep `fastplotlib` up to date with `pygfx@main` until `pygfx` stabilizes. The workflow "CI / Tests - pygfx release" is to inform us if any test failures using the release version of `pygfx` are a significant release blocker for `fastplotlib`. Once you make a PR we will help guide you through any failures with "CI / Tests - pygfx release"! diff --git a/GOVERNANCE.md b/GOVERNANCE.md index 27acb1c45..876757d40 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -45,6 +45,7 @@ The Advisory Committee holds a significant interest in fastplotlib as determined 1. Eric Thomson 1. Andrea Giovannucci 1. John Pearson +1. Almar Klein Responsibilities: @@ -102,6 +103,8 @@ Anyone (absolutely anyone, not just the leadership team members) who feels that ### Process +#### Usual process + 1. Contact the neutral moderator with a description of the conflict, max of 250 words. 2. Neutral moderator must schedule a vote within 15 days. If that is not possible then within the next 45 days. 3. The individual who has invoked the conflict vote can choose to present their case, or they may choose to let the neutral moderator represent them. @@ -109,12 +112,17 @@ Anyone (absolutely anyone, not just the leadership team members) who feels that 4. The maintainers vote on one of the actions from “Enforcement Guidelines”: https://www.contributor-covenant.org/version/2/1/code_of_conduct/. It is advised that the first offense leads to action (1) “Correction”. Repeated or serious offenses from the same individual/organization may lead to escalating levels of actions. Very bad behavior, as determined by the leadership team, can justify a first offense resulting in (3) “Temporary Ban” or (4) “Permanent Ban”. 5. The advisory committee members may advise on the actions, but the ultimate decision is voted on by the maintainers. +#### Bot accounts, LLM accounts, and spam + +Unsolicited bot accounts, inauthentic interaction that is completetely generated by an LLM, and LLM spam are against our Code of Conduct. Bot accounts with fully LLM generated comments, issues, pull requests, discussion posts, or any other unsolicited LLM generated content will be deleted by the maintainers without notice and the account will not be allowed to interact with the fastplotlib organization. + ## Transparency Governance decisions, meeting minutes, and voting outcomes are publicly documented and accessible. We aim for transparency to allow the broader community to understand and trust the governance process. ## Changes to this governance document -### Until February 28, 2025 +**Effective until February 5, 2026** -During early stages of fastplotlib development, changes to the governance document may be made directly through unanimous approval by the original maintainers, Kushal Kolar & Caitlin Lewis. They (Kushal & Caitlin) may also add new members to the advisory committee through unanimous approval. +Moving forward, `fastplotlib` will maintain the governance model as outlined above. The core maintainers (Kushal Kolar & Caitlin Lewis) will revisit in +one year to propose any necessary changes to the governance structure. diff --git a/LICENSE b/LICENSE index eb132f363..33e2266c5 100644 --- a/LICENSE +++ b/LICENSE @@ -186,7 +186,7 @@ same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright 2023 Kushal Kolar + Copyright 2025 Kushal Kolar, Caitlin Lewis Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/MANIFEST.in b/MANIFEST.in deleted file mode 100644 index b8debd28d..000000000 --- a/MANIFEST.in +++ /dev/null @@ -1,4 +0,0 @@ -recursive-include fastplotlib/utils/colormaps/ * -include fastplotlib/VERSION -recursive-include fastplotlib/assets/ * - diff --git a/README.md b/README.md index 9f3f9b236..5109d26aa 100644 --- a/README.md +++ b/README.md @@ -4,26 +4,39 @@ --- -[![CI](https://github.com/kushalkolar/fastplotlib/actions/workflows/ci.yml/badge.svg)](https://github.com/kushalkolar/fastplotlib/actions/workflows/ci.yml) +[![CI](https://github.com/fastplotlib/fastplotlib/actions/workflows/ci.yml/badge.svg)](https://github.com/fastplotlib/fastplotlib/actions/workflows/ci.yml) [![PyPI version](https://badge.fury.io/py/fastplotlib.svg)](https://badge.fury.io/py/fastplotlib) -[![Documentation Status](https://readthedocs.org/projects/fastplotlib/badge/?version=latest)](https://fastplotlib.readthedocs.io/en/latest/?badge=latest) +[![Deploy docs](https://github.com/fastplotlib/fastplotlib/actions/workflows/docs-deploy.yml/badge.svg)](https://fastplotlib.org/ver/dev/) +[![DOI](https://zenodo.org/badge/485481453.svg)](https://zenodo.org/doi/10.5281/zenodo.13365890) -[**Installation**](https://github.com/kushalkolar/fastplotlib#installation) | +[**Installation**](https://github.com/fastplotlib/fastplotlib#installation) | [**GPU Drivers**](https://github.com/kushalkolar/fastplotlib#graphics-drivers) | [**Documentation**](https://github.com/fastplotlib/fastplotlib#documentation) | [**Examples**](https://github.com/kushalkolar/fastplotlib#examples) | [**Contributing**](https://github.com/kushalkolar/fastplotlib#heart-contributing) -Next-gen plotting library built using the [`pygfx`](https://github.com/pygfx/pygfx) rendering engine that can utilize [Vulkan](https://en.wikipedia.org/wiki/Vulkan), [DX12](https://en.wikipedia.org/wiki/DirectX#DirectX_12), or [Metal](https://developer.apple.com/metal/) via WGPU, so it is very fast! `fastplotlib` is an expressive plotting library that enables rapid prototyping for large scale explorative scientific visualization. +Next-gen plotting library built using the [`pygfx`](https://github.com/pygfx/pygfx) rendering engine that utilizes [Vulkan](https://en.wikipedia.org/wiki/Vulkan), [DX12](https://en.wikipedia.org/wiki/DirectX#DirectX_12), or [Metal](https://developer.apple.com/metal/) via WGPU, so it is very fast! `fastplotlib` is an expressive plotting library that enables rapid prototyping for large scale exploratory scientific visualization. -![scipy-fpl](https://github.com/fastplotlib/fastplotlib/assets/9403332/b981a54c-05f9-443f-a8e4-52cd01cd802a) +
+ +
-### SciPy 2023 Talk +> **Note:** +> `fastplotlib` is currently in the **late alpha stage**, but you're welcome to use it or contribute! See our [Roadmap](https://github.com/kushalkolar/fastplotlib/issues/55). Also, see this for a discussion on API stability: https://github.com/fastplotlib/fastplotlib/issues/121 -[![fpl_thumbnail](http://i3.ytimg.com/vi/Q-UJpAqljsU/hqdefault.jpg)](https://www.youtube.com/watch?v=Q-UJpAqljsU) +# What are *some* things I can do with `fastplotlib`? -Note that the API is currently evolving quickly. We recommend using the latest notebooks from the repo but the general -concepts are similar to those from the API shown in the video. +- GPU-accelerated visualization + +- interactive visualization via an intuitive and expressive API + +- rapid prototyping and algorithm design + +- easy exploration and fast rendering of large-scale data + +- design, develop, evaluate, and ship machine learning models + +- create visualizations for real-time acquisition systems for scientific instruments (cameras, etc.) # Supported frameworks @@ -34,45 +47,45 @@ concepts are similar to those from the API shown in the video. :heavy_check_mark: `glfw`\ :heavy_check_mark: `wxPython` -**Notes:**\ -:heavy_check_mark: Non-blocking Qt/PySide output is supported in ipython and notebooks by using [`%gui qt`](https://ipython.readthedocs.io/en/stable/interactive/magics.html#magic-gui). This **must** be called *before* importing `fastplotlib`! -:grey_exclamation: We do not officially support `jupyter notebook` through `jupyter_rfb`, this may change with notebook v7\ -:disappointed: [`jupyter_rfb`](https://github.com/vispy/jupyter_rfb) does not work in collab, see https://github.com/vispy/jupyter_rfb/pull/77 - -> **Note** -> -> `fastplotlib` is currently in the **late alpha stage**, but you're welcome to try it out or contribute! See our [Roadmap](https://github.com/kushalkolar/fastplotlib/issues/55). See this for a discussion on API stability: https://github.com/fastplotlib/fastplotlib/issues/121 +Write your code once and run it anywhere. Whether you are using `Qt`, `glfw`, `jupyter lab`, or doing offscreen rendering, `fastplotlib` works across all major platforms (Linux, Windows, Mac OS X) :smile: See the [FAQ](https://www.fastplotlib.org/ver/dev/user_guide/faq.html) for more details on where and how you can use `fastplotlib`. # Documentation -http://fastplotlib.readthedocs.io/ - -The examples are interactive if you run them locally on your computer. If someone wants to integrate `pyodide` with `pygfx` we would be able to have live interactive examples on the website! +http://www.fastplotlib.org/ver/dev Questions, issues, ideas? You are welcome to post an [issue](https://github.com/fastplotlib/fastplotlib/issues) or post on the [discussion forum](https://github.com/fastplotlib/fastplotlib/discussions)! :smiley: # Installation -### Minimal, use with your own `Qt` or `glfw` applications +To install use pip: + ```bash -pip install fastplotlib -``` +# with imgui and jupyterlab +pip install -U "fastplotlib[notebook,imgui]" -**This does not give you `PyQt`/`PySide` or `glfw`, you will have to install your preferred GUI framework separately**. +# minimal install, install glfw, pyqt6 or pyside6 separately +pip install -U fastplotlib -### Notebook -```bash -pip install "fastplotlib[notebook]" +# with imgui +pip install -U "fastplotlib[imgui]" + +# to use in jupyterlab without imgui +pip install -U "fastplotlib[notebook]" ``` -**Strongly recommended: install `simplejpeg` for much faster notebook visualization, this requires you to first install [libjpeg-turbo](https://libjpeg-turbo.org/)** +We strongly recommend installing ``simplejpeg`` for use in notebooks, you must first install [libjpeg-turbo](https://libjpeg-turbo.org/) + +- If you use ``conda``, you can get ``libjpeg-turbo`` through conda. +- If you are on linux, you can get it through your distro's package manager. +- For Windows and Mac compiled binaries are available on their release page: https://github.com/libjpeg-turbo/libjpeg-turbo/releases + +Once you have ``libjpeg-turbo``: ```bash pip install simplejpeg ``` -> **Note** -> +> **Note:** > `fastplotlib` and `pygfx` are fast evolving projects, the version available through pip might be outdated, you will need to follow the "For developers" instructions below if you want the latest features. You can find the release history here: https://github.com/fastplotlib/fastplotlib/releases ### For developers @@ -84,82 +97,48 @@ git clone https://github.com/fastplotlib/fastplotlib.git cd fastplotlib # install all extras in place -pip install -e ".[notebook,docs,tests]" +pip install -e ".[notebook,docs,tests,imgui]" # install latest pygfx pip install git+https://github.com/pygfx/pygfx.git@main ``` -Se [Contributing](https://github.com/fastplotlib/fastplotlib?tab=readme-ov-file#heart-contributing) for more details on development +See [Contributing](https://github.com/fastplotlib/fastplotlib?tab=readme-ov-file#heart-contributing) for more details on development # Examples -Examples gallery: https://fastplotlib.readthedocs.io/en/latest/_gallery/index.html - -> **Note:** `fastplotlib` and `pygfx` are fast evolving, you will probably require the latest `pygfx` and `fastplotlib` from github to use the examples in the main branch. +Examples gallery: http://fastplotlib.org/ver/dev/_gallery/index.html -`fastplotlib` code is identical across notebook (`jupyter`), and desktop use with `Qt`/`PySide` or `glfw`. +User guide: http://fastplotlib.org/ver/dev/user_guide/guide.html -Even if you do not intend to use notebooks with `fastplotlib`, the `quickstart.ipynb` tutorial notebook is the best way to get familiar with the API: https://github.com/fastplotlib/fastplotlib/tree/main/examples/notebooks/quickstart.ipynb +`fastplotlib` code is identical across notebook (`jupyterlab`), and desktop use with `Qt`/`PySide` or `glfw`. -The specifics for running `fastplotlib` in different GUI frameworks are: -- Running in `glfw` requires a `fastplotlib.run()` call (which is really just a `wgpu` `run()` call) -- With `Qt` you can encapsulate it within a `QApplication`, see `examples/qt` -- Notebooks plots have ipywidget-based toolbars and widgets. There are plans to move toward an identical in-canvas toolbar with UI elements across all supported frameworks 😄 +**Notebooks** -### Embedding in a `Qt` app +The `quickstart.ipynb` tutorial notebook is a great way to get familiar with the API: https://github.com/fastplotlib/fastplotlib/tree/main/examples/notebooks/quickstart.ipynb -See these for examples on embedding within a Qt app. Note that you can also use `fastplotlib` with qt interactively using `%gui qt` in jupyter or ipython. +# GPU drivers and requirements -https://github.com/fastplotlib/fastplotlib/tree/main/examples/qt +Generally if your GPU is from 2017 or later it should be fine. Modern integrated graphics are usually fine for many use cases. The exact requirements will depend on how complex your visualization is and how many objects you need to render. -### Notebook examples +More detailed information on GPUs and drivers is here: http://fastplotlib.org/ver/dev/user_guide/gpu.html -Notebook examples are here, these include examples on selector tools. +For more detailed information, such as use on cloud computing infrastructure, see the WGPU docs: https://wgpu-py.readthedocs.io/en/stable/start.html#cloud-compute -https://github.com/fastplotlib/fastplotlib/tree/main/examples/notebooks +# Contributing :heart: -### Video +We welcome contributions! See the contributing guide: https://github.com/fastplotlib/fastplotlib/blob/main/CONTRIBUTING.md -Our SciPy 2023 talk walks through numerous demos: https://github.com/fastplotlib/fastplotlib#scipy-talk +You can also take a look at our [**Roadmap for 2025**](https://github.com/fastplotlib/fastplotlib/issues/55) and [**Issues**](https://github.com/fastplotlib/fastplotlib/issues) for ideas on how to contribute! -## Graphics drivers +# Developers :brain: -You will need a relatively modern GPU (newer integrated GPUs in CPUs are usually fine). Generally if your GPU is from 2017 or later it should be fine. - -For more detailed information, such as use on cloud computing infrastructure, see: https://wgpu-py.readthedocs.io/en/stable/start.html#platform-requirements - -Some more information on GPUs is here: https://fastplotlib.readthedocs.io/en/latest/user_guide/gpu.html - -### Windows: -Vulkan drivers should be installed by default on Windows 11, but you will need to install your GPU manufacturer's driver package (Nvidia or AMD). If you have an integrated GPU within your CPU, you might still need to install a driver package too, check your CPU manufacturer's info. - -### Linux: -You will generally need a linux distro that is from ~2020 or newer (ex. Ubuntu 18.04 won't work), this is due to the `glibc` requirements of the `wgpu-native` binary. - -Debian based distros: - -```bash -sudo apt install mesa-vulkan-drivers -# for better performance with the remote frame buffer install libjpeg-turbo -sudo apt install libjpeg-turbo -``` - -For other distros install the appropriate vulkan driver package, and optionally the corresponding `libjpeg-turbo` package for better remote-frame-buffer performance in jupyter notebooks. - -#### CPU/software rendering (Lavapipe) - -If you do not have a GPU you can perform limited software rendering using lavapipe. This should get you everything you need for that on Debian or Ubuntu based distros: - -```bash -sudo apt install llvm-dev libturbojpeg* libgl1-mesa-dev libgl1-mesa-glx libglapi-mesa libglx-mesa0 mesa-common-dev mesa-vulkan-drivers -``` +- [**Kushal Kolar**](https://github.com/kushalkolar) -### Mac OSX: -WGPU uses Metal instead of Vulkan on Mac. You will need at least Mac OSX 10.13. The OS should come with Metal pre-installed, so you should be good to go! +- [**Caitlin Lewis**](https://github.com/clewis7) -# :heart: Contributing +- [**Almar Klein**](https://github.com/almarklein) -We welcome contributions! See the contributing guide: https://github.com/kushalkolar/fastplotlib/blob/main/CONTRIBUTING.md +- [**Amol Pasarkar**](https://github.com/apasarkar) -You can also take a look at our [**Roadmap for 2025**](https://github.com/kushalkolar/fastplotlib/issues/55) and [**Issues**](https://github.com/kushalkolar/fastplotlib/issues) for ideas on how to contribute! +A special thanks to all of the `pygfx` developers and the amazing work they have done. diff --git a/apt.txt b/apt.txt deleted file mode 100644 index 42b836e1a..000000000 --- a/apt.txt +++ /dev/null @@ -1,3 +0,0 @@ -libvulkan1 -mesa-vulkan-drivers -neofetch diff --git a/docs/source/_static/guide_animation.webp b/docs/source/_static/guide_animation.webp new file mode 100644 index 000000000..f204fa117 Binary files /dev/null and b/docs/source/_static/guide_animation.webp differ diff --git a/docs/source/_static/guide_click_event.webp b/docs/source/_static/guide_click_event.webp new file mode 100644 index 000000000..1f511396c Binary files /dev/null and b/docs/source/_static/guide_click_event.webp differ diff --git a/docs/source/_static/guide_hello_world.png b/docs/source/_static/guide_hello_world.png new file mode 100644 index 000000000..ccffcbac5 --- /dev/null +++ b/docs/source/_static/guide_hello_world.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97fda350fd73fc33792447114828884563862cae1f89530f242360d72f284ccc +size 106236 diff --git a/docs/source/_static/guide_hello_world_fancy_slicing.png b/docs/source/_static/guide_hello_world_fancy_slicing.png new file mode 100644 index 000000000..c5d0a1441 --- /dev/null +++ b/docs/source/_static/guide_hello_world_fancy_slicing.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:523160dd2a81b6788bef6a57392f194239252ad58cd64ec9e5408040bd7130e4 +size 138165 diff --git a/docs/source/_static/guide_hello_world_simple_slicing.png b/docs/source/_static/guide_hello_world_simple_slicing.png new file mode 100644 index 000000000..6d66bc7c7 --- /dev/null +++ b/docs/source/_static/guide_hello_world_simple_slicing.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd3ee6a1de4ef244969014f0e8e2cb548f8c4ff8b865e4cc08f728412f9189bf +size 101339 diff --git a/docs/source/_static/guide_hello_world_vmax.png b/docs/source/_static/guide_hello_world_vmax.png new file mode 100644 index 000000000..a835c41ac --- /dev/null +++ b/docs/source/_static/guide_hello_world_vmax.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0085ffeddcf765a6902eea71659de40c9034648dee587d33068b7603ea08ad3a +size 93647 diff --git a/docs/source/_static/guide_image_widget.webp b/docs/source/_static/guide_image_widget.webp new file mode 100644 index 000000000..2fc206041 Binary files /dev/null and b/docs/source/_static/guide_image_widget.webp differ diff --git a/docs/source/_static/guide_imgui.png b/docs/source/_static/guide_imgui.png new file mode 100644 index 000000000..6c17e36b3 --- /dev/null +++ b/docs/source/_static/guide_imgui.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:262dfd4e83abba504a3630c74ba873fbe6471fdb69b32f250cd372fa67c4a44c +size 63997 diff --git a/docs/source/_static/guide_ipywidgets.webp b/docs/source/_static/guide_ipywidgets.webp new file mode 100644 index 000000000..9a7963381 Binary files /dev/null and b/docs/source/_static/guide_ipywidgets.webp differ diff --git a/docs/source/_static/guide_linear_selector.webp b/docs/source/_static/guide_linear_selector.webp new file mode 100644 index 000000000..c60ec6c03 Binary files /dev/null and b/docs/source/_static/guide_linear_selector.webp differ diff --git a/docs/source/_static/switcher.json b/docs/source/_static/switcher.json new file mode 100644 index 000000000..9f792b252 --- /dev/null +++ b/docs/source/_static/switcher.json @@ -0,0 +1,22 @@ +[ + { + "name": "release", + "version": "v0.4.0", + "url": "http://www.fastplotlib.org/" + }, + { + "name": "dev/main", + "version": "dev", + "url": "http://www.fastplotlib.org/ver/dev" + }, + { + "name": "v0.3.0", + "version": "v0.3.0", + "url": "http://www.fastplotlib.org/ver/0.3.0" + }, + { + "name": "v0.4.0", + "version": "v0.4.0", + "url": "http://www.fastplotlib.org/ver/0.4.0" + } +] diff --git a/docs/source/_templates/autosummary/class.rst b/docs/source/_templates/autosummary/class.rst index d4fd5208b..3693c0102 100644 --- a/docs/source/_templates/autosummary/class.rst +++ b/docs/source/_templates/autosummary/class.rst @@ -3,3 +3,6 @@ .. currentmodule:: {{ module }} .. autoclass:: {{ objname }} + +.. minigallery:: fastplotlib.{{ objname }} + :add-heading: Examples diff --git a/docs/source/_templates/autosummary/method.rst b/docs/source/_templates/autosummary/method.rst index 306d2aab5..39daedd4b 100644 --- a/docs/source/_templates/autosummary/method.rst +++ b/docs/source/_templates/autosummary/method.rst @@ -3,3 +3,6 @@ .. currentmodule:: {{ module }} .. automethod:: {{ objname }} + +.. minigallery:: fastplotlib.{{ objname }} + :add-heading: Examples diff --git a/docs/source/_templates/autosummary/property.rst b/docs/source/_templates/autosummary/property.rst index c31bebe07..509e46b8a 100644 --- a/docs/source/_templates/autosummary/property.rst +++ b/docs/source/_templates/autosummary/property.rst @@ -3,3 +3,6 @@ .. currentmodule:: {{ module }} .. autoproperty:: {{ objname }} + +.. minigallery:: fastplotlib.{{ objname }} + :add-heading: Examples diff --git a/docs/source/api/fastplotlib.rst b/docs/source/api/fastplotlib.rst new file mode 100644 index 000000000..34dc89049 --- /dev/null +++ b/docs/source/api/fastplotlib.rst @@ -0,0 +1,16 @@ +fastplotlib +*********** + +.. currentmodule:: fastplotlib + +.. autofunction:: fastplotlib.pause_events + +.. autofunction:: fastplotlib.enumerate_adapters + +.. autofunction:: fastplotlib.select_adapter + +.. autofunction:: fastplotlib.print_wgpu_report + +fastplotlib.loop +------------------ +See the rendercanvas docs: https://rendercanvas.readthedocs.io/stable/api.html#rendercanvas.BaseLoop \ No newline at end of file diff --git a/docs/source/api/gpu.rst b/docs/source/api/gpu.rst deleted file mode 100644 index 6f94aff23..000000000 --- a/docs/source/api/gpu.rst +++ /dev/null @@ -1,6 +0,0 @@ -fastplotlib.utils.gpu -********************* - -.. currentmodule:: fastplotlib.utils.gpu -.. automodule:: fastplotlib - :members: diff --git a/docs/source/api/graphic_features/Deleted.rst b/docs/source/api/graphic_features/Deleted.rst index 09131c4a7..ffc704917 100644 --- a/docs/source/api/graphic_features/Deleted.rst +++ b/docs/source/api/graphic_features/Deleted.rst @@ -6,7 +6,7 @@ Deleted ======= Deleted ======= -.. currentmodule:: fastplotlib.graphics._features +.. currentmodule:: fastplotlib.graphics.features Constructor ~~~~~~~~~~~ diff --git a/docs/source/api/graphic_features/FontSize.rst b/docs/source/api/graphic_features/FontSize.rst index 4b8df9826..5e34c6038 100644 --- a/docs/source/api/graphic_features/FontSize.rst +++ b/docs/source/api/graphic_features/FontSize.rst @@ -6,7 +6,7 @@ FontSize ======== FontSize ======== -.. currentmodule:: fastplotlib.graphics._features +.. currentmodule:: fastplotlib.graphics.features Constructor ~~~~~~~~~~~ diff --git a/docs/source/api/graphic_features/GraphicFeatureEvent.rst b/docs/source/api/graphic_features/GraphicFeatureEvent.rst new file mode 100644 index 000000000..233462052 --- /dev/null +++ b/docs/source/api/graphic_features/GraphicFeatureEvent.rst @@ -0,0 +1,38 @@ +.. _api.GraphicFeatureEvent: + +GraphicFeatureEvent +******************* + +=================== +GraphicFeatureEvent +=================== +.. currentmodule:: fastplotlib.graphics.features + +Constructor +~~~~~~~~~~~ +.. autosummary:: + :toctree: GraphicFeatureEvent_api + + GraphicFeatureEvent + +Properties +~~~~~~~~~~ +.. autosummary:: + :toctree: GraphicFeatureEvent_api + + GraphicFeatureEvent.bubbles + GraphicFeatureEvent.cancelled + GraphicFeatureEvent.current_target + GraphicFeatureEvent.root + GraphicFeatureEvent.target + GraphicFeatureEvent.time_stamp + GraphicFeatureEvent.type + +Methods +~~~~~~~ +.. autosummary:: + :toctree: GraphicFeatureEvent_api + + GraphicFeatureEvent.cancel + GraphicFeatureEvent.stop_propagation + diff --git a/docs/source/api/graphic_features/ImageCmap.rst b/docs/source/api/graphic_features/ImageCmap.rst index 23d16a4a2..2c23a3406 100644 --- a/docs/source/api/graphic_features/ImageCmap.rst +++ b/docs/source/api/graphic_features/ImageCmap.rst @@ -6,7 +6,7 @@ ImageCmap ========= ImageCmap ========= -.. currentmodule:: fastplotlib.graphics._features +.. currentmodule:: fastplotlib.graphics.features Constructor ~~~~~~~~~~~ diff --git a/docs/source/api/graphic_features/ImageCmapInterpolation.rst b/docs/source/api/graphic_features/ImageCmapInterpolation.rst index 7e04ec788..0577f2d70 100644 --- a/docs/source/api/graphic_features/ImageCmapInterpolation.rst +++ b/docs/source/api/graphic_features/ImageCmapInterpolation.rst @@ -6,7 +6,7 @@ ImageCmapInterpolation ====================== ImageCmapInterpolation ====================== -.. currentmodule:: fastplotlib.graphics._features +.. currentmodule:: fastplotlib.graphics.features Constructor ~~~~~~~~~~~ diff --git a/docs/source/api/graphic_features/ImageInterpolation.rst b/docs/source/api/graphic_features/ImageInterpolation.rst index 866e76333..ebf69c279 100644 --- a/docs/source/api/graphic_features/ImageInterpolation.rst +++ b/docs/source/api/graphic_features/ImageInterpolation.rst @@ -6,7 +6,7 @@ ImageInterpolation ================== ImageInterpolation ================== -.. currentmodule:: fastplotlib.graphics._features +.. currentmodule:: fastplotlib.graphics.features Constructor ~~~~~~~~~~~ diff --git a/docs/source/api/graphic_features/ImageVmax.rst b/docs/source/api/graphic_features/ImageVmax.rst index b7dfe7e2d..aa8d6526a 100644 --- a/docs/source/api/graphic_features/ImageVmax.rst +++ b/docs/source/api/graphic_features/ImageVmax.rst @@ -6,7 +6,7 @@ ImageVmax ========= ImageVmax ========= -.. currentmodule:: fastplotlib.graphics._features +.. currentmodule:: fastplotlib.graphics.features Constructor ~~~~~~~~~~~ diff --git a/docs/source/api/graphic_features/ImageVmin.rst b/docs/source/api/graphic_features/ImageVmin.rst index 0d4634894..361cc5838 100644 --- a/docs/source/api/graphic_features/ImageVmin.rst +++ b/docs/source/api/graphic_features/ImageVmin.rst @@ -6,7 +6,7 @@ ImageVmin ========= ImageVmin ========= -.. currentmodule:: fastplotlib.graphics._features +.. currentmodule:: fastplotlib.graphics.features Constructor ~~~~~~~~~~~ diff --git a/docs/source/api/graphic_features/LinearRegionSelectionFeature.rst b/docs/source/api/graphic_features/LinearRegionSelectionFeature.rst index b8958c86b..9f06f2682 100644 --- a/docs/source/api/graphic_features/LinearRegionSelectionFeature.rst +++ b/docs/source/api/graphic_features/LinearRegionSelectionFeature.rst @@ -6,7 +6,7 @@ LinearRegionSelectionFeature ============================ LinearRegionSelectionFeature ============================ -.. currentmodule:: fastplotlib.graphics._features +.. currentmodule:: fastplotlib.graphics.features Constructor ~~~~~~~~~~~ diff --git a/docs/source/api/graphic_features/LinearSelectionFeature.rst b/docs/source/api/graphic_features/LinearSelectionFeature.rst index ad7b8645a..b9e71cd7b 100644 --- a/docs/source/api/graphic_features/LinearSelectionFeature.rst +++ b/docs/source/api/graphic_features/LinearSelectionFeature.rst @@ -6,7 +6,7 @@ LinearSelectionFeature ====================== LinearSelectionFeature ====================== -.. currentmodule:: fastplotlib.graphics._features +.. currentmodule:: fastplotlib.graphics.features Constructor ~~~~~~~~~~~ diff --git a/docs/source/api/graphic_features/Name.rst b/docs/source/api/graphic_features/Name.rst index 288fcfc22..f5a5235d8 100644 --- a/docs/source/api/graphic_features/Name.rst +++ b/docs/source/api/graphic_features/Name.rst @@ -6,7 +6,7 @@ Name ==== Name ==== -.. currentmodule:: fastplotlib.graphics._features +.. currentmodule:: fastplotlib.graphics.features Constructor ~~~~~~~~~~~ diff --git a/docs/source/api/graphic_features/Offset.rst b/docs/source/api/graphic_features/Offset.rst index 683aaf763..fdb2af66a 100644 --- a/docs/source/api/graphic_features/Offset.rst +++ b/docs/source/api/graphic_features/Offset.rst @@ -6,7 +6,7 @@ Offset ====== Offset ====== -.. currentmodule:: fastplotlib.graphics._features +.. currentmodule:: fastplotlib.graphics.features Constructor ~~~~~~~~~~~ diff --git a/docs/source/api/graphic_features/PointsSizesFeature.rst b/docs/source/api/graphic_features/PointsSizesFeature.rst index 3dcc4eeb2..f3f78b74b 100644 --- a/docs/source/api/graphic_features/PointsSizesFeature.rst +++ b/docs/source/api/graphic_features/PointsSizesFeature.rst @@ -6,7 +6,7 @@ PointsSizesFeature ================== PointsSizesFeature ================== -.. currentmodule:: fastplotlib.graphics._features +.. currentmodule:: fastplotlib.graphics.features Constructor ~~~~~~~~~~~ diff --git a/docs/source/api/graphic_features/RectangleSelectionFeature.rst b/docs/source/api/graphic_features/RectangleSelectionFeature.rst new file mode 100644 index 000000000..cdfd1ad3f --- /dev/null +++ b/docs/source/api/graphic_features/RectangleSelectionFeature.rst @@ -0,0 +1,35 @@ +.. _api.RectangleSelectionFeature: + +RectangleSelectionFeature +************************* + +========================= +RectangleSelectionFeature +========================= +.. currentmodule:: fastplotlib.graphics.features + +Constructor +~~~~~~~~~~~ +.. autosummary:: + :toctree: RectangleSelectionFeature_api + + RectangleSelectionFeature + +Properties +~~~~~~~~~~ +.. autosummary:: + :toctree: RectangleSelectionFeature_api + + RectangleSelectionFeature.value + +Methods +~~~~~~~ +.. autosummary:: + :toctree: RectangleSelectionFeature_api + + RectangleSelectionFeature.add_event_handler + RectangleSelectionFeature.block_events + RectangleSelectionFeature.clear_event_handlers + RectangleSelectionFeature.remove_event_handler + RectangleSelectionFeature.set_value + diff --git a/docs/source/api/graphic_features/Rotation.rst b/docs/source/api/graphic_features/Rotation.rst index f8963b0fd..b7729c7a4 100644 --- a/docs/source/api/graphic_features/Rotation.rst +++ b/docs/source/api/graphic_features/Rotation.rst @@ -6,7 +6,7 @@ Rotation ======== Rotation ======== -.. currentmodule:: fastplotlib.graphics._features +.. currentmodule:: fastplotlib.graphics.features Constructor ~~~~~~~~~~~ diff --git a/docs/source/api/graphic_features/SizeSpace.rst b/docs/source/api/graphic_features/SizeSpace.rst new file mode 100644 index 000000000..e7c8e30be --- /dev/null +++ b/docs/source/api/graphic_features/SizeSpace.rst @@ -0,0 +1,35 @@ +.. _api.SizeSpace: + +SizeSpace +********* + +========= +SizeSpace +========= +.. currentmodule:: fastplotlib.graphics.features + +Constructor +~~~~~~~~~~~ +.. autosummary:: + :toctree: SizeSpace_api + + SizeSpace + +Properties +~~~~~~~~~~ +.. autosummary:: + :toctree: SizeSpace_api + + SizeSpace.value + +Methods +~~~~~~~ +.. autosummary:: + :toctree: SizeSpace_api + + SizeSpace.add_event_handler + SizeSpace.block_events + SizeSpace.clear_event_handlers + SizeSpace.remove_event_handler + SizeSpace.set_value + diff --git a/docs/source/api/graphic_features/TextData.rst b/docs/source/api/graphic_features/TextData.rst index 1c27b6e48..bf08b08d6 100644 --- a/docs/source/api/graphic_features/TextData.rst +++ b/docs/source/api/graphic_features/TextData.rst @@ -6,7 +6,7 @@ TextData ======== TextData ======== -.. currentmodule:: fastplotlib.graphics._features +.. currentmodule:: fastplotlib.graphics.features Constructor ~~~~~~~~~~~ diff --git a/docs/source/api/graphic_features/TextFaceColor.rst b/docs/source/api/graphic_features/TextFaceColor.rst index 5dae54192..5ab01b04b 100644 --- a/docs/source/api/graphic_features/TextFaceColor.rst +++ b/docs/source/api/graphic_features/TextFaceColor.rst @@ -6,7 +6,7 @@ TextFaceColor ============= TextFaceColor ============= -.. currentmodule:: fastplotlib.graphics._features +.. currentmodule:: fastplotlib.graphics.features Constructor ~~~~~~~~~~~ diff --git a/docs/source/api/graphic_features/TextOutlineColor.rst b/docs/source/api/graphic_features/TextOutlineColor.rst index f7831b0df..571261625 100644 --- a/docs/source/api/graphic_features/TextOutlineColor.rst +++ b/docs/source/api/graphic_features/TextOutlineColor.rst @@ -6,7 +6,7 @@ TextOutlineColor ================ TextOutlineColor ================ -.. currentmodule:: fastplotlib.graphics._features +.. currentmodule:: fastplotlib.graphics.features Constructor ~~~~~~~~~~~ diff --git a/docs/source/api/graphic_features/TextOutlineThickness.rst b/docs/source/api/graphic_features/TextOutlineThickness.rst index 75d485781..450ae54c9 100644 --- a/docs/source/api/graphic_features/TextOutlineThickness.rst +++ b/docs/source/api/graphic_features/TextOutlineThickness.rst @@ -6,7 +6,7 @@ TextOutlineThickness ==================== TextOutlineThickness ==================== -.. currentmodule:: fastplotlib.graphics._features +.. currentmodule:: fastplotlib.graphics.features Constructor ~~~~~~~~~~~ diff --git a/docs/source/api/graphic_features/TextureArray.rst b/docs/source/api/graphic_features/TextureArray.rst index 79707c453..73facc5bf 100644 --- a/docs/source/api/graphic_features/TextureArray.rst +++ b/docs/source/api/graphic_features/TextureArray.rst @@ -6,7 +6,7 @@ TextureArray ============ TextureArray ============ -.. currentmodule:: fastplotlib.graphics._features +.. currentmodule:: fastplotlib.graphics.features Constructor ~~~~~~~~~~~ diff --git a/docs/source/api/graphic_features/Thickness.rst b/docs/source/api/graphic_features/Thickness.rst index 061f96fe8..dc4c5888f 100644 --- a/docs/source/api/graphic_features/Thickness.rst +++ b/docs/source/api/graphic_features/Thickness.rst @@ -6,7 +6,7 @@ Thickness ========= Thickness ========= -.. currentmodule:: fastplotlib.graphics._features +.. currentmodule:: fastplotlib.graphics.features Constructor ~~~~~~~~~~~ diff --git a/docs/source/api/graphic_features/UniformColor.rst b/docs/source/api/graphic_features/UniformColor.rst index 7370589b7..8e9d56eae 100644 --- a/docs/source/api/graphic_features/UniformColor.rst +++ b/docs/source/api/graphic_features/UniformColor.rst @@ -6,7 +6,7 @@ UniformColor ============ UniformColor ============ -.. currentmodule:: fastplotlib.graphics._features +.. currentmodule:: fastplotlib.graphics.features Constructor ~~~~~~~~~~~ diff --git a/docs/source/api/graphic_features/UniformSize.rst b/docs/source/api/graphic_features/UniformSize.rst index e342d6a70..e4727dcb9 100644 --- a/docs/source/api/graphic_features/UniformSize.rst +++ b/docs/source/api/graphic_features/UniformSize.rst @@ -6,7 +6,7 @@ UniformSize =========== UniformSize =========== -.. currentmodule:: fastplotlib.graphics._features +.. currentmodule:: fastplotlib.graphics.features Constructor ~~~~~~~~~~~ diff --git a/docs/source/api/graphic_features/VertexCmap.rst b/docs/source/api/graphic_features/VertexCmap.rst index a3311d6e6..77d96aaf6 100644 --- a/docs/source/api/graphic_features/VertexCmap.rst +++ b/docs/source/api/graphic_features/VertexCmap.rst @@ -6,7 +6,7 @@ VertexCmap ========== VertexCmap ========== -.. currentmodule:: fastplotlib.graphics._features +.. currentmodule:: fastplotlib.graphics.features Constructor ~~~~~~~~~~~ diff --git a/docs/source/api/graphic_features/VertexColors.rst b/docs/source/api/graphic_features/VertexColors.rst index 3c2089a78..d09da7a18 100644 --- a/docs/source/api/graphic_features/VertexColors.rst +++ b/docs/source/api/graphic_features/VertexColors.rst @@ -6,7 +6,7 @@ VertexColors ============ VertexColors ============ -.. currentmodule:: fastplotlib.graphics._features +.. currentmodule:: fastplotlib.graphics.features Constructor ~~~~~~~~~~~ diff --git a/docs/source/api/graphic_features/VertexPositions.rst b/docs/source/api/graphic_features/VertexPositions.rst index 9669ab6d5..d181f07b9 100644 --- a/docs/source/api/graphic_features/VertexPositions.rst +++ b/docs/source/api/graphic_features/VertexPositions.rst @@ -6,7 +6,7 @@ VertexPositions =============== VertexPositions =============== -.. currentmodule:: fastplotlib.graphics._features +.. currentmodule:: fastplotlib.graphics.features Constructor ~~~~~~~~~~~ diff --git a/docs/source/api/graphic_features/Visible.rst b/docs/source/api/graphic_features/Visible.rst index 957b4433a..06bfd2278 100644 --- a/docs/source/api/graphic_features/Visible.rst +++ b/docs/source/api/graphic_features/Visible.rst @@ -6,7 +6,7 @@ Visible ======= Visible ======= -.. currentmodule:: fastplotlib.graphics._features +.. currentmodule:: fastplotlib.graphics.features Constructor ~~~~~~~~~~~ diff --git a/docs/source/api/graphic_features/index.rst b/docs/source/api/graphic_features/index.rst index 87504ea8a..90a58fe8e 100644 --- a/docs/source/api/graphic_features/index.rst +++ b/docs/source/api/graphic_features/index.rst @@ -7,6 +7,7 @@ Graphic Features VertexColors UniformColor UniformSize + SizeSpace Thickness VertexPositions PointsSizesFeature @@ -24,8 +25,10 @@ Graphic Features TextOutlineThickness LinearSelectionFeature LinearRegionSelectionFeature + RectangleSelectionFeature Name Offset Rotation Visible Deleted + GraphicFeatureEvent diff --git a/docs/source/api/graphics/Graphic.rst b/docs/source/api/graphics/Graphic.rst new file mode 100644 index 000000000..cf68888f5 --- /dev/null +++ b/docs/source/api/graphics/Graphic.rst @@ -0,0 +1,45 @@ +.. _api.Graphic: + +Graphic +******* + +======= +Graphic +======= +.. currentmodule:: fastplotlib + +Constructor +~~~~~~~~~~~ +.. autosummary:: + :toctree: Graphic_api + + Graphic + +Properties +~~~~~~~~~~ +.. autosummary:: + :toctree: Graphic_api + + Graphic.axes + Graphic.block_events + Graphic.deleted + Graphic.event_handlers + Graphic.name + Graphic.offset + Graphic.right_click_menu + Graphic.rotation + Graphic.supported_events + Graphic.visible + Graphic.world_object + +Methods +~~~~~~~ +.. autosummary:: + :toctree: Graphic_api + + Graphic.add_axes + Graphic.add_event_handler + Graphic.clear_event_handlers + Graphic.remove_event_handler + Graphic.rotate + diff --git a/docs/source/api/graphics/ImageGraphic.rst b/docs/source/api/graphics/ImageGraphic.rst index a0ae8a5ed..27bda3d32 100644 --- a/docs/source/api/graphics/ImageGraphic.rst +++ b/docs/source/api/graphics/ImageGraphic.rst @@ -20,6 +20,7 @@ Properties .. autosummary:: :toctree: ImageGraphic_api + ImageGraphic.axes ImageGraphic.block_events ImageGraphic.cmap ImageGraphic.cmap_interpolation @@ -29,6 +30,7 @@ Properties ImageGraphic.interpolation ImageGraphic.name ImageGraphic.offset + ImageGraphic.right_click_menu ImageGraphic.rotation ImageGraphic.supported_events ImageGraphic.visible @@ -41,13 +43,13 @@ Methods .. autosummary:: :toctree: ImageGraphic_api + ImageGraphic.add_axes ImageGraphic.add_event_handler ImageGraphic.add_linear_region_selector ImageGraphic.add_linear_selector + ImageGraphic.add_rectangle_selector ImageGraphic.clear_event_handlers ImageGraphic.remove_event_handler ImageGraphic.reset_vmin_vmax ImageGraphic.rotate - ImageGraphic.share_property - ImageGraphic.unshare_property diff --git a/docs/source/api/graphics/LineCollection.rst b/docs/source/api/graphics/LineCollection.rst index c000b7334..12c7b5c95 100644 --- a/docs/source/api/graphics/LineCollection.rst +++ b/docs/source/api/graphics/LineCollection.rst @@ -20,6 +20,7 @@ Properties .. autosummary:: :toctree: LineCollection_api + LineCollection.axes LineCollection.block_events LineCollection.cmap LineCollection.colors @@ -32,6 +33,7 @@ Properties LineCollection.names LineCollection.offset LineCollection.offsets + LineCollection.right_click_menu LineCollection.rotation LineCollection.rotations LineCollection.supported_events @@ -45,14 +47,14 @@ Methods .. autosummary:: :toctree: LineCollection_api + LineCollection.add_axes LineCollection.add_event_handler LineCollection.add_graphic LineCollection.add_linear_region_selector LineCollection.add_linear_selector + LineCollection.add_rectangle_selector LineCollection.clear_event_handlers LineCollection.remove_event_handler LineCollection.remove_graphic LineCollection.rotate - LineCollection.share_property - LineCollection.unshare_property diff --git a/docs/source/api/graphics/LineGraphic.rst b/docs/source/api/graphics/LineGraphic.rst index d260c3214..c6e18b41b 100644 --- a/docs/source/api/graphics/LineGraphic.rst +++ b/docs/source/api/graphics/LineGraphic.rst @@ -20,6 +20,7 @@ Properties .. autosummary:: :toctree: LineGraphic_api + LineGraphic.axes LineGraphic.block_events LineGraphic.cmap LineGraphic.colors @@ -28,7 +29,9 @@ Properties LineGraphic.event_handlers LineGraphic.name LineGraphic.offset + LineGraphic.right_click_menu LineGraphic.rotation + LineGraphic.size_space LineGraphic.supported_events LineGraphic.thickness LineGraphic.visible @@ -39,12 +42,12 @@ Methods .. autosummary:: :toctree: LineGraphic_api + LineGraphic.add_axes LineGraphic.add_event_handler LineGraphic.add_linear_region_selector LineGraphic.add_linear_selector + LineGraphic.add_rectangle_selector LineGraphic.clear_event_handlers LineGraphic.remove_event_handler LineGraphic.rotate - LineGraphic.share_property - LineGraphic.unshare_property diff --git a/docs/source/api/graphics/LineStack.rst b/docs/source/api/graphics/LineStack.rst index 18b35932d..e1deb75ae 100644 --- a/docs/source/api/graphics/LineStack.rst +++ b/docs/source/api/graphics/LineStack.rst @@ -20,6 +20,7 @@ Properties .. autosummary:: :toctree: LineStack_api + LineStack.axes LineStack.block_events LineStack.cmap LineStack.colors @@ -32,6 +33,7 @@ Properties LineStack.names LineStack.offset LineStack.offsets + LineStack.right_click_menu LineStack.rotation LineStack.rotations LineStack.supported_events @@ -45,14 +47,14 @@ Methods .. autosummary:: :toctree: LineStack_api + LineStack.add_axes LineStack.add_event_handler LineStack.add_graphic LineStack.add_linear_region_selector LineStack.add_linear_selector + LineStack.add_rectangle_selector LineStack.clear_event_handlers LineStack.remove_event_handler LineStack.remove_graphic LineStack.rotate - LineStack.share_property - LineStack.unshare_property diff --git a/docs/source/api/graphics/ScatterGraphic.rst b/docs/source/api/graphics/ScatterGraphic.rst index 8f2b17fd6..968f0e091 100644 --- a/docs/source/api/graphics/ScatterGraphic.rst +++ b/docs/source/api/graphics/ScatterGraphic.rst @@ -20,6 +20,7 @@ Properties .. autosummary:: :toctree: ScatterGraphic_api + ScatterGraphic.axes ScatterGraphic.block_events ScatterGraphic.cmap ScatterGraphic.colors @@ -28,7 +29,9 @@ Properties ScatterGraphic.event_handlers ScatterGraphic.name ScatterGraphic.offset + ScatterGraphic.right_click_menu ScatterGraphic.rotation + ScatterGraphic.size_space ScatterGraphic.sizes ScatterGraphic.supported_events ScatterGraphic.visible @@ -39,10 +42,9 @@ Methods .. autosummary:: :toctree: ScatterGraphic_api + ScatterGraphic.add_axes ScatterGraphic.add_event_handler ScatterGraphic.clear_event_handlers ScatterGraphic.remove_event_handler ScatterGraphic.rotate - ScatterGraphic.share_property - ScatterGraphic.unshare_property diff --git a/docs/source/api/graphics/TextGraphic.rst b/docs/source/api/graphics/TextGraphic.rst index a3cd9bbb9..60cd97f40 100644 --- a/docs/source/api/graphics/TextGraphic.rst +++ b/docs/source/api/graphics/TextGraphic.rst @@ -20,6 +20,7 @@ Properties .. autosummary:: :toctree: TextGraphic_api + TextGraphic.axes TextGraphic.block_events TextGraphic.deleted TextGraphic.event_handlers @@ -29,6 +30,7 @@ Properties TextGraphic.offset TextGraphic.outline_color TextGraphic.outline_thickness + TextGraphic.right_click_menu TextGraphic.rotation TextGraphic.supported_events TextGraphic.text @@ -40,10 +42,9 @@ Methods .. autosummary:: :toctree: TextGraphic_api + TextGraphic.add_axes TextGraphic.add_event_handler TextGraphic.clear_event_handlers TextGraphic.remove_event_handler TextGraphic.rotate - TextGraphic.share_property - TextGraphic.unshare_property diff --git a/docs/source/api/graphics/index.rst b/docs/source/api/graphics/index.rst index b64ac53c0..491013dff 100644 --- a/docs/source/api/graphics/index.rst +++ b/docs/source/api/graphics/index.rst @@ -4,9 +4,10 @@ Graphics .. toctree:: :maxdepth: 1 + Graphic LineGraphic - ImageGraphic ScatterGraphic + ImageGraphic TextGraphic LineCollection LineStack diff --git a/docs/source/api/index.rst b/docs/source/api/index.rst new file mode 100644 index 000000000..3a1184e6c --- /dev/null +++ b/docs/source/api/index.rst @@ -0,0 +1,16 @@ +API Reference +************* + +.. toctree:: + :caption: API Reference + :maxdepth: 2 + + layouts/index + graphics/index + graphic_features/index + selectors/index + tools/index + ui/index + widgets/index + fastplotlib + utils diff --git a/docs/source/api/layouts/figure.rst b/docs/source/api/layouts/figure.rst index 817284e18..d191fe8ce 100644 --- a/docs/source/api/layouts/figure.rst +++ b/docs/source/api/layouts/figure.rst @@ -6,7 +6,7 @@ Figure ====== Figure ====== -.. currentmodule:: fastplotlib +.. currentmodule:: fastplotlib.layouts Constructor ~~~~~~~~~~~ @@ -23,11 +23,12 @@ Properties Figure.cameras Figure.canvas Figure.controllers + Figure.layout Figure.names - Figure.output Figure.renderer Figure.shape - Figure.toolbar + Figure.show_tooltips + Figure.tooltip_manager Methods ~~~~~~~ @@ -35,11 +36,14 @@ Methods :toctree: Figure_api Figure.add_animations + Figure.add_subplot Figure.clear Figure.close Figure.export + Figure.export_numpy + Figure.get_pygfx_render_area + Figure.open_popup Figure.remove_animation - Figure.render + Figure.remove_subplot Figure.show - Figure.start_render diff --git a/docs/source/api/layouts/imgui_figure.rst b/docs/source/api/layouts/imgui_figure.rst new file mode 100644 index 000000000..0abfcc067 --- /dev/null +++ b/docs/source/api/layouts/imgui_figure.rst @@ -0,0 +1,53 @@ +.. _api.ImguiFigure: + +ImguiFigure +*********** + +=========== +ImguiFigure +=========== +.. currentmodule:: fastplotlib.layouts + +Constructor +~~~~~~~~~~~ +.. autosummary:: + :toctree: ImguiFigure_api + + ImguiFigure + +Properties +~~~~~~~~~~ +.. autosummary:: + :toctree: ImguiFigure_api + + ImguiFigure.cameras + ImguiFigure.canvas + ImguiFigure.controllers + ImguiFigure.guis + ImguiFigure.imgui_renderer + ImguiFigure.layout + ImguiFigure.names + ImguiFigure.renderer + ImguiFigure.shape + ImguiFigure.show_tooltips + ImguiFigure.tooltip_manager + +Methods +~~~~~~~ +.. autosummary:: + :toctree: ImguiFigure_api + + ImguiFigure.add_animations + ImguiFigure.add_gui + ImguiFigure.add_subplot + ImguiFigure.clear + ImguiFigure.close + ImguiFigure.export + ImguiFigure.export_numpy + ImguiFigure.get_pygfx_render_area + ImguiFigure.open_popup + ImguiFigure.register_popup + ImguiFigure.remove_animation + ImguiFigure.remove_subplot + ImguiFigure.show + diff --git a/docs/source/api/layouts/index.rst b/docs/source/api/layouts/index.rst new file mode 100644 index 000000000..51265fbf0 --- /dev/null +++ b/docs/source/api/layouts/index.rst @@ -0,0 +1,9 @@ +Layouts +******** + +.. toctree:: + :maxdepth: 1 + + imgui_figure + figure + subplot diff --git a/docs/source/api/layouts/subplot.rst b/docs/source/api/layouts/subplot.rst index 61f5da307..e1c55514d 100644 --- a/docs/source/api/layouts/subplot.rst +++ b/docs/source/api/layouts/subplot.rst @@ -20,19 +20,23 @@ Properties .. autosummary:: :toctree: Subplot_api + Subplot.axes + Subplot.background_color Subplot.camera Subplot.canvas Subplot.controller Subplot.docks + Subplot.frame Subplot.graphics Subplot.legends Subplot.name Subplot.objects Subplot.parent - Subplot.position Subplot.renderer Subplot.scene Subplot.selectors + Subplot.title + Subplot.toolbar Subplot.viewport Methods @@ -51,18 +55,11 @@ Methods Subplot.auto_scale Subplot.center_graphic Subplot.center_scene - Subplot.center_title Subplot.clear Subplot.delete_graphic - Subplot.get_rect - Subplot.get_refcounts + Subplot.get_figure Subplot.insert_graphic Subplot.map_screen_to_world Subplot.remove_animation Subplot.remove_graphic - Subplot.render - Subplot.set_axes_visibility - Subplot.set_grid_visibility - Subplot.set_title - Subplot.set_viewport_rect diff --git a/docs/source/api/selectors/LinearRegionSelector.rst b/docs/source/api/selectors/LinearRegionSelector.rst index c9140bc7d..2c23bc82a 100644 --- a/docs/source/api/selectors/LinearRegionSelector.rst +++ b/docs/source/api/selectors/LinearRegionSelector.rst @@ -20,17 +20,22 @@ Properties .. autosummary:: :toctree: LinearRegionSelector_api + LinearRegionSelector.axes LinearRegionSelector.axis LinearRegionSelector.block_events LinearRegionSelector.deleted + LinearRegionSelector.edge_color LinearRegionSelector.event_handlers + LinearRegionSelector.fill_color LinearRegionSelector.limits LinearRegionSelector.name LinearRegionSelector.offset LinearRegionSelector.parent + LinearRegionSelector.right_click_menu LinearRegionSelector.rotation LinearRegionSelector.selection LinearRegionSelector.supported_events + LinearRegionSelector.vertex_color LinearRegionSelector.visible LinearRegionSelector.world_object @@ -39,15 +44,12 @@ Methods .. autosummary:: :toctree: LinearRegionSelector_api + LinearRegionSelector.add_axes LinearRegionSelector.add_event_handler - LinearRegionSelector.add_ipywidget_handler LinearRegionSelector.clear_event_handlers LinearRegionSelector.get_selected_data LinearRegionSelector.get_selected_index LinearRegionSelector.get_selected_indices - LinearRegionSelector.make_ipywidget_slider LinearRegionSelector.remove_event_handler LinearRegionSelector.rotate - LinearRegionSelector.share_property - LinearRegionSelector.unshare_property diff --git a/docs/source/api/selectors/LinearSelector.rst b/docs/source/api/selectors/LinearSelector.rst index fa21f8f15..c7a8e978a 100644 --- a/docs/source/api/selectors/LinearSelector.rst +++ b/docs/source/api/selectors/LinearSelector.rst @@ -20,17 +20,22 @@ Properties .. autosummary:: :toctree: LinearSelector_api + LinearSelector.axes LinearSelector.axis LinearSelector.block_events LinearSelector.deleted + LinearSelector.edge_color LinearSelector.event_handlers + LinearSelector.fill_color LinearSelector.limits LinearSelector.name LinearSelector.offset LinearSelector.parent + LinearSelector.right_click_menu LinearSelector.rotation LinearSelector.selection LinearSelector.supported_events + LinearSelector.vertex_color LinearSelector.visible LinearSelector.world_object @@ -39,15 +44,12 @@ Methods .. autosummary:: :toctree: LinearSelector_api + LinearSelector.add_axes LinearSelector.add_event_handler - LinearSelector.add_ipywidget_handler LinearSelector.clear_event_handlers LinearSelector.get_selected_data LinearSelector.get_selected_index LinearSelector.get_selected_indices - LinearSelector.make_ipywidget_slider LinearSelector.remove_event_handler LinearSelector.rotate - LinearSelector.share_property - LinearSelector.unshare_property diff --git a/docs/source/api/selectors/RectangleSelector.rst b/docs/source/api/selectors/RectangleSelector.rst new file mode 100644 index 000000000..24928c817 --- /dev/null +++ b/docs/source/api/selectors/RectangleSelector.rst @@ -0,0 +1,55 @@ +.. _api.RectangleSelector: + +RectangleSelector +***************** + +================= +RectangleSelector +================= +.. currentmodule:: fastplotlib + +Constructor +~~~~~~~~~~~ +.. autosummary:: + :toctree: RectangleSelector_api + + RectangleSelector + +Properties +~~~~~~~~~~ +.. autosummary:: + :toctree: RectangleSelector_api + + RectangleSelector.axes + RectangleSelector.axis + RectangleSelector.block_events + RectangleSelector.deleted + RectangleSelector.edge_color + RectangleSelector.event_handlers + RectangleSelector.fill_color + RectangleSelector.limits + RectangleSelector.name + RectangleSelector.offset + RectangleSelector.parent + RectangleSelector.right_click_menu + RectangleSelector.rotation + RectangleSelector.selection + RectangleSelector.supported_events + RectangleSelector.vertex_color + RectangleSelector.visible + RectangleSelector.world_object + +Methods +~~~~~~~ +.. autosummary:: + :toctree: RectangleSelector_api + + RectangleSelector.add_axes + RectangleSelector.add_event_handler + RectangleSelector.clear_event_handlers + RectangleSelector.get_selected_data + RectangleSelector.get_selected_index + RectangleSelector.get_selected_indices + RectangleSelector.remove_event_handler + RectangleSelector.rotate + diff --git a/docs/source/api/selectors/index.rst b/docs/source/api/selectors/index.rst index ffa4054db..4a0caf8af 100644 --- a/docs/source/api/selectors/index.rst +++ b/docs/source/api/selectors/index.rst @@ -6,3 +6,4 @@ Selectors LinearSelector LinearRegionSelector + RectangleSelector diff --git a/docs/source/api/tools/HistogramLUTTool.rst b/docs/source/api/tools/HistogramLUTTool.rst new file mode 100644 index 000000000..7c3237490 --- /dev/null +++ b/docs/source/api/tools/HistogramLUTTool.rst @@ -0,0 +1,51 @@ +.. _api.HistogramLUTTool: + +HistogramLUTTool +**************** + +================ +HistogramLUTTool +================ +.. currentmodule:: fastplotlib + +Constructor +~~~~~~~~~~~ +.. autosummary:: + :toctree: HistogramLUTTool_api + + HistogramLUTTool + +Properties +~~~~~~~~~~ +.. autosummary:: + :toctree: HistogramLUTTool_api + + HistogramLUTTool.axes + HistogramLUTTool.block_events + HistogramLUTTool.cmap + HistogramLUTTool.deleted + HistogramLUTTool.event_handlers + HistogramLUTTool.image_graphic + HistogramLUTTool.name + HistogramLUTTool.offset + HistogramLUTTool.right_click_menu + HistogramLUTTool.rotation + HistogramLUTTool.supported_events + HistogramLUTTool.visible + HistogramLUTTool.vmax + HistogramLUTTool.vmin + HistogramLUTTool.world_object + +Methods +~~~~~~~ +.. autosummary:: + :toctree: HistogramLUTTool_api + + HistogramLUTTool.add_axes + HistogramLUTTool.add_event_handler + HistogramLUTTool.clear_event_handlers + HistogramLUTTool.disconnect_image_graphic + HistogramLUTTool.remove_event_handler + HistogramLUTTool.rotate + HistogramLUTTool.set_data + diff --git a/docs/source/api/tools/Tooltip.rst b/docs/source/api/tools/Tooltip.rst new file mode 100644 index 000000000..71607bf20 --- /dev/null +++ b/docs/source/api/tools/Tooltip.rst @@ -0,0 +1,38 @@ +.. _api.Tooltip: + +Tooltip +******* + +======= +Tooltip +======= +.. currentmodule:: fastplotlib + +Constructor +~~~~~~~~~~~ +.. autosummary:: + :toctree: Tooltip_api + + Tooltip + +Properties +~~~~~~~~~~ +.. autosummary:: + :toctree: Tooltip_api + + Tooltip.background_color + Tooltip.font_size + Tooltip.outline_color + Tooltip.padding + Tooltip.text_color + Tooltip.world_object + +Methods +~~~~~~~ +.. autosummary:: + :toctree: Tooltip_api + + Tooltip.register + Tooltip.unregister + Tooltip.unregister_all + diff --git a/docs/source/api/tools/index.rst b/docs/source/api/tools/index.rst new file mode 100644 index 000000000..c2666ed28 --- /dev/null +++ b/docs/source/api/tools/index.rst @@ -0,0 +1,8 @@ +Tools +***** + +.. toctree:: + :maxdepth: 1 + + HistogramLUTTool + Tooltip diff --git a/docs/source/api/ui/BaseGUI.rst b/docs/source/api/ui/BaseGUI.rst new file mode 100644 index 000000000..788e1414a --- /dev/null +++ b/docs/source/api/ui/BaseGUI.rst @@ -0,0 +1,30 @@ +.. _api.BaseGUI: + +BaseGUI +******* + +======= +BaseGUI +======= +.. currentmodule:: fastplotlib.ui + +Constructor +~~~~~~~~~~~ +.. autosummary:: + :toctree: BaseGUI_api + + BaseGUI + +Properties +~~~~~~~~~~ +.. autosummary:: + :toctree: BaseGUI_api + + +Methods +~~~~~~~ +.. autosummary:: + :toctree: BaseGUI_api + + BaseGUI.update + diff --git a/docs/source/api/ui/EdgeWindow.rst b/docs/source/api/ui/EdgeWindow.rst new file mode 100644 index 000000000..5835ab847 --- /dev/null +++ b/docs/source/api/ui/EdgeWindow.rst @@ -0,0 +1,38 @@ +.. _api.EdgeWindow: + +EdgeWindow +********** + +========== +EdgeWindow +========== +.. currentmodule:: fastplotlib.ui + +Constructor +~~~~~~~~~~~ +.. autosummary:: + :toctree: EdgeWindow_api + + EdgeWindow + +Properties +~~~~~~~~~~ +.. autosummary:: + :toctree: EdgeWindow_api + + EdgeWindow.height + EdgeWindow.location + EdgeWindow.size + EdgeWindow.width + EdgeWindow.x + EdgeWindow.y + +Methods +~~~~~~~ +.. autosummary:: + :toctree: EdgeWindow_api + + EdgeWindow.draw_window + EdgeWindow.get_rect + EdgeWindow.update + diff --git a/docs/source/api/ui/Popup.rst b/docs/source/api/ui/Popup.rst new file mode 100644 index 000000000..5e924db94 --- /dev/null +++ b/docs/source/api/ui/Popup.rst @@ -0,0 +1,31 @@ +.. _api.Popup: + +Popup +***** + +===== +Popup +===== +.. currentmodule:: fastplotlib.ui + +Constructor +~~~~~~~~~~~ +.. autosummary:: + :toctree: Popup_api + + Popup + +Properties +~~~~~~~~~~ +.. autosummary:: + :toctree: Popup_api + + +Methods +~~~~~~~ +.. autosummary:: + :toctree: Popup_api + + Popup.open + Popup.update + diff --git a/docs/source/api/ui/Window.rst b/docs/source/api/ui/Window.rst new file mode 100644 index 000000000..63c384261 --- /dev/null +++ b/docs/source/api/ui/Window.rst @@ -0,0 +1,30 @@ +.. _api.Window: + +Window +****** + +====== +Window +====== +.. currentmodule:: fastplotlib.ui + +Constructor +~~~~~~~~~~~ +.. autosummary:: + :toctree: Window_api + + Window + +Properties +~~~~~~~~~~ +.. autosummary:: + :toctree: Window_api + + +Methods +~~~~~~~ +.. autosummary:: + :toctree: Window_api + + Window.update + diff --git a/docs/source/api/ui/index.rst b/docs/source/api/ui/index.rst new file mode 100644 index 000000000..4f31e651a --- /dev/null +++ b/docs/source/api/ui/index.rst @@ -0,0 +1,10 @@ +UI Bases +******** + +.. toctree:: + :maxdepth: 1 + + BaseGUI + Window + EdgeWindow + Popup diff --git a/docs/source/api/utils.rst b/docs/source/api/utils.rst index 6222e22c6..be7b1a049 100644 --- a/docs/source/api/utils.rst +++ b/docs/source/api/utils.rst @@ -4,3 +4,7 @@ fastplotlib.utils .. currentmodule:: fastplotlib.utils .. automodule:: fastplotlib.utils.functions :members: + +.. currentmodule:: fastplotlib.utils +.. automodule:: fastplotlib.utils._plot_helpers + :members: diff --git a/docs/source/api/widgets/ImageWidget.rst b/docs/source/api/widgets/ImageWidget.rst index 3ca384968..fbafd4723 100644 --- a/docs/source/api/widgets/ImageWidget.rst +++ b/docs/source/api/widgets/ImageWidget.rst @@ -30,8 +30,6 @@ Properties ImageWidget.n_scrollable_dims ImageWidget.ndim ImageWidget.slider_dims - ImageWidget.sliders - ImageWidget.widget ImageWidget.window_funcs Methods @@ -39,7 +37,10 @@ Methods .. autosummary:: :toctree: ImageWidget_api + ImageWidget.add_event_handler + ImageWidget.clear_event_handlers ImageWidget.close + ImageWidget.remove_event_handler ImageWidget.reset_vmin_vmax ImageWidget.reset_vmin_vmax_frame ImageWidget.set_data diff --git a/docs/source/conf.py b/docs/source/conf.py index 4d94ec7e7..e4ff72237 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -10,14 +10,18 @@ os.environ["WGPU_FORCE_OFFSCREEN"] = "1" import fastplotlib +import pygfx from pygfx.utils.gallery_scraper import find_examples_for_gallery from pathlib import Path import sys from sphinx_gallery.sorting import ExplicitOrder import imageio.v3 as iio +MAX_TEXTURE_SIZE = 2048 +pygfx.renderers.wgpu.set_wgpu_limits(**{"max-texture-dimension-2d": MAX_TEXTURE_SIZE}) + ROOT_DIR = Path(__file__).parents[1].parents[0] # repo root -EXAMPLES_DIR = Path.joinpath(ROOT_DIR, "examples", "desktop") +EXAMPLES_DIR = Path.joinpath(ROOT_DIR, "examples") sys.path.insert(0, str(ROOT_DIR)) @@ -25,7 +29,7 @@ # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information project = "fastplotlib" -copyright = "2023, Kushal Kolar, Caitlin Lewis" +copyright = "2025, Kushal Kolar, Caitlin Lewis" author = "Kushal Kolar, Caitlin Lewis" release = fastplotlib.__version__ @@ -45,19 +49,30 @@ sphinx_gallery_conf = { "gallery_dirs": "_gallery", + "notebook_extensions": {}, # remove the download notebook button "backreferences_dir": "_gallery/backreferences", "doc_module": ("fastplotlib",), "image_scrapers": ("pygfx",), "remove_config_comments": True, "subsection_order": ExplicitOrder( [ - "../../examples/desktop/image", - "../../examples/desktop/gridplot", - "../../examples/desktop/line", - "../../examples/desktop/line_collection", - "../../examples/desktop/scatter", - "../../examples/desktop/heatmap", - "../../examples/desktop/misc" + "../../examples/image", + "../../examples/heatmap", + "../../examples/image_widget", + "../../examples/gridplot", + "../../examples/window_layouts", + "../../examples/controllers", + "../../examples/line", + "../../examples/line_collection", + "../../examples/scatter", + "../../examples/text", + "../../examples/events", + "../../examples/selection_tools", + "../../examples/machine_learning", + "../../examples/guis", + "../../examples/ipywidgets", + "../../examples/misc", + "../../examples/qt", ] ), "ignore_pattern": r'__init__\.py', @@ -79,12 +94,27 @@ templates_path = ["_templates"] exclude_patterns = [] -napoleon_custom_sections = ["Features"] - # -- Options for HTML output ------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output -html_theme = "furo" +html_theme = "pydata_sphinx_theme" + +html_theme_options = { + "navbar_end": ["theme-switcher", "version-switcher", "navbar-icon-links"], + "show_version_warning_banner": True, + "check_switcher": True, + "switcher": { + "json_url": "http://www.fastplotlib.org/_static/switcher.json", + "version_match": release + }, + "icon_links": [ + { + "name": "Github", + "url": "https://github.com/fastplotlib/fastplotlib", + "icon": "fa-brands fa-github", + } + ] +} html_static_path = ["_static"] html_logo = "_static/logo.png" @@ -99,13 +129,8 @@ intersphinx_mapping = { "python": ("https://docs.python.org/3", None), - "numpy": ("https://numpy.org/doc/stable/", None), - "pygfx": ("https://pygfx.com/latest", None), + "numpy": ("https://numpy.org/doc/stable", None), + "pygfx": ("https://docs.pygfx.org/stable", None), "wgpu": ("https://wgpu-py.readthedocs.io/en/latest", None), -} - -html_theme_options = { - "source_repository": "https://github.com/fastplotlib/fastplotlib", - "source_branch": "main", - "source_directory": "docs/", + # "fastplotlib": ("https://www.fastplotlib.org/", None), } diff --git a/docs/source/developer_notes/graphics.rst b/docs/source/developer_notes/graphics.rst new file mode 100644 index 000000000..71d99854a --- /dev/null +++ b/docs/source/developer_notes/graphics.rst @@ -0,0 +1,76 @@ +Graphics +======== + + +A ``Graphic`` is something that can be added to a ``PlotArea`` (described in detail in the layouts section). All the various +fastplotlib graphics, such as ``ImageGraphic``, ``ScatterGraphic``, etc. inherit from the ``Graphic`` base class in +``fastplotlib/graphics/_base.py``. It has a few properties that mostly wrap ``pygfx`` ``WorldObject`` properties and transforms. + +Inheritance Diagram +------------------- + +.. code-block:: rst + + Graphic + │ + ├─ ImageGraphic + │ + ├─ TextGraphic + │ + ├─ PositionsGraphic + │ │ + │ ├─ LineGraphic + │ │ + │ └─ ScatterGraphic + │ + └─ GraphicCollection + │ + └─ LineCollection + │ + └─ LineStack + +.. + +All graphics can be given a string name for the user's convenience. This allows graphics to be easily accessed from +plots, ex: ``subplot["some_image"]``. + +All graphics contain a ``world_object`` property which is just the ``pygfx.WorldObject`` that this graphic uses. Fastplotlib +keeps a *private* global dictionary of all ``WorldObject`` instances and users are only given a weakref proxy to this world object. +This is due to garbage collection. This may be quite complicated for beginners, for more details see this PR: https://github.com/fastplotlib/fastplotlib/pull/160 . +Furthermore, garbage collection is even more complicated in ipython and jupyter (see https://github.com/fastplotlib/fastplotlib/pull/546 ). +If you are curious or have more questions on garbage collection in ``fastplotlib`` you're welcome to post an issue :D. + +Graphic collections are collections of graphics. For now, we have a ``LineCollection`` which is a collection of ``LineGraphic`` objects. We also have a ``LineStack`` which +inherits from ``LineCollection`` and gives some fixed offset between ``LineGraphic`` objects in the collection. A graphic collection behaves like an array of graphics. + +Graphic Properties +------------------ + +Graphic properties are all evented, and internally we call these "graphic features". They are the various +aspects of a graphic that the user can change. +The "graphic features" subpackage can be found at ``fastplotlib/graphics/_features``. As we can see this +is a private subpackage and never meant to be accessible to users. + +For example let's look at ``LineGraphic`` in ``fastplotlib/graphics/line.py``. Every graphic has a class variable called +``_features`` which is a set of all graphic properties that are evented. It has the following evented properties: +``"data", "colors", "cmap", "thickness"`` in addition to properties common to all graphics, such as ``"name", "offset", "rotation", and "visible"`` + +Now look at the constructor for the ``LineGraphic`` base class ``PositionsGraphic``, it first creates an instance of ``VertexPositions``. +This is a class that manages vertex positions buffer. For the user, it defines the line data, and provides additional useful functionality. +It defines the line, and provides additional useful functionality. +For example, every time that the ``data`` is changed, the new data will be marked for upload to the GPU before the next draw. +In addition, event handlers will be called if any event handlers are registered. + +``VertexColors`` behaves similarly, but it can perform additional parsing that can create the colors buffer from different +forms of user input. For example if a user runs: ``line_graphic.colors = "blue"``, then ``VertexColors.__setitem__()`` will +create a buffer that corresponds to what ``pygfx.Color`` thinks is "blue". Users can also take advantage of fancy indexing, +ex: ``line_graphics.colors[bool_array] = "red"`` 😊 + +``LineGraphic`` also has a ``VertexCmap``, this manages the line ``VertexColors`` instance to parse colormaps, for example: +``line_graphic.cmap = "jet"`` or even ``line_graphic.cmap[50:] = "viridis"``. + +``LineGraphic`` also has a ``thickness`` property which is pretty simple, and ``DeletedFeature`` which is useful if you need +callbacks to indicate that the graphic has been deleted (for example, removing references to a graphic from a legend). + +Other graphics have properties that are relevant to them, for example ``ImageGraphic`` has ``cmap``, ``vmin``, ``vmax``, +properties unique to images. \ No newline at end of file diff --git a/docs/source/developer_notes/index.rst b/docs/source/developer_notes/index.rst new file mode 100644 index 000000000..b0a448981 --- /dev/null +++ b/docs/source/developer_notes/index.rst @@ -0,0 +1,39 @@ +Developer Notes +*************** + +Welcome to the Developer Notes for `fastplotlib`. These notes aim to provide detailed and technical information +about the various modules, classes, and functions that make up this library, as well as guidelines on how to write +code that integrates nicely with our package. They are intended to help current and future developers understand +the design decisions, and functioning of the library. + +**Intended Audience** + +These notes are primarily intended for the following groups: + +- **Current Developers**: The Developer Notes can serve as a comprehensive guide to understanding the library, making it easier to debug, modify and maintain the code. + +- **Future Developers**: These notes can help onboard new developers to the project, providing them with detailed explanations of the codebase and its underlying architecture. + +- **Contributors**: If you wish to contribute to the `fastplotlib` project, the Developer Notes can provide a solid foundation of understanding, helping to ensure that your contributions align with the existing structure and design principles of the library. + +- **Advanced Users**: While the primary focus of these notes is on development, they might also be of interest to advanced users who want a deeper understanding of the library's functionality. + +Please note that these notes assume a certain level of programming knowledge. Familiarity with Python, object-oriented programming, and the NumPy and pygfx libraries would be beneficial when reading these notes. + +**Sections** + +.. toctree:: + :maxdepth: 2 + + graphics + layouts + +**Interact with us** + +If you're considering contributing to the library, first of all, welcome aboard! As a first step, we recommend that you read the `CONTRIBUTING.md `_ guidelines. +These will help you understand how to interact with other contributors and how to submit your changes. + +If you have any questions or need further clarification on any of the topics covered in these notes, please don't hesitate to reach out to us. You can do so via the `discussion `_ forum on GitHub. + +We're looking forward to your contributions and to answering any questions you might have! + diff --git a/docs/source/developer_notes/layouts.rst b/docs/source/developer_notes/layouts.rst new file mode 100644 index 000000000..daf197c44 --- /dev/null +++ b/docs/source/developer_notes/layouts.rst @@ -0,0 +1,84 @@ +Layouts +======= + +PlotArea +-------- + +This is the main base class within layouts. A ``Subplot`` and ``Dock`` are areas within a ``Figure``. +``Subplot`` and ``Dock`` inherit from ``PlotArea``. + +``PlotArea`` has the following key properties that allow it to be a "plot area" that can be used to view graphical objects: + +* scene - instance of ``pygfx.Scene`` +* canvas - instance of ``WgpuCanvas`` +* renderer - instance of ``pygfx.WgpuRenderer`` +* viewport - instance of ``pygfx.Viewport`` +* camera - instance of ``pygfx.PerspectiveCamera``, we always just use ``PerspectiveCamera`` and just set ``camera.fov = 0`` for orthographic projections +* controller - instance of ``pygfx.Controller`` + +If these concepts are unfamiliar to you we recommend learning about how rendering engines work, the pygfx guide +is a great place to start! https://docs.pygfx.org/stable/guide.html + +Here is also a short video that goes through the basic concepts: https://www.youtube.com/watch?v=cvcAjgMUPUA + +Abstract method that must be implemented in subclasses: + +* get_rect - must return [x, y, width, height] that defines the viewport rect for this ``PlotArea`` + +Properties specifically used by subplots in a Figure: + +* parent - A parent if relevant, used by individual ``Subplots`` in ``Figure``, and by ``Dock`` which are "docked" subplots at the edges of a subplot. +* position - if a subplot within a ``Figure``, it is the position of this subplot within the ``Figure`` + +Other important properties: + +* graphics - a tuple of weakref proxies to all ``Graphics`` within this ``PlotArea``, users are only given weakref proxies to ``Graphic`` objects, all ``Graphic`` objects are stored in a private global dict. +* selectors - a tuple of weakref proxies to all selectors within this ``PlotArea`` +* legend - a tuple of weakref proxies to all legend graphics within this ``PlotArea`` +* name - plot areas are allowed to have names that the user can use for their convenience + +Important methods: + +* add_graphic - add a ``Graphic`` to the ``PlotArea``, append to the end of the ``PlotArea._graphics`` list +* insert_graphic - insert a ``Graphic`` to the ``PlotArea``, insert to a specific position of the ``PlotArea._graphics`` list +* remove_graphic - remove a graphic from the ``Scene``, **does not delete it** +* delete_graphic - delete a graphic from the ``PlotArea``, performs garbage collection +* clear - deletes all graphics from the ``PlotArea`` +* center_graphic - center camera w.r.t. a ``Graphic`` +* center_scene - center camera w.r.t. entire ``Scene`` +* auto_scale - Auto-scale the camera w.r.t to the ``Scene`` + +In addition, ``PlotArea`` supports ``__getitem__``, so you can do: ``plot_area["graphic_name"]`` to retrieve a ``Graphic`` by +name. + +You can also check if a ``PlotArea`` has certain graphics, ex: ``"some_image_name" in plot_area``, or ``graphic_instance in plot_area`` + +Subplot +------- + +This class inherits from ``PlotArea`` and ``GraphicMethodsMixin``. + +``GraphicMethodsMixin`` is a simple class that just has all the ``add_`` methods. It is autogenerated by a utility script like this: + +.. code-block:: bash + + python scripts/generate_add_methods.py + +Each ``add_`` method basically creates an instance of ``Graphic``, adds it to the ``Subplot``, and returns the ``Graphic``. + +``Subplot`` has one property that is not in ``PlotArea``: + +* docks: a ``dict`` of ``PlotAreas`` which are located at the "top", "right", "left", and "bottom" edges of a ``Subplot``. + +By default their size is ``0``. They are useful for putting things like histogram LUT tools. + +The key method in ``Subplot`` is an implementation of ``get_rect`` that returns the viewport rect for this subplot. + +Figure +------ + +Now that we have understood ``PlotArea`` and ``Subplot`` we need a way for the user to create them! + +A ``Figure`` contains a grid of subplot and has methods such as ``show()`` to output the figure. +``Figure.__init__`` basically does a lot of parsing of user arguments to determine how to create +the subplots. All subplots within a ``Figure`` share the same canvas and use different viewports to create the subplots. diff --git a/docs/source/generate_api.py b/docs/source/generate_api.py index 0150836ec..0be967a36 100644 --- a/docs/source/generate_api.py +++ b/docs/source/generate_api.py @@ -1,14 +1,18 @@ -from typing import * +from collections import defaultdict import inspect -from pathlib import Path +from io import StringIO import os +from pathlib import Path +from typing import * import fastplotlib -from fastplotlib.layouts._subplot import Subplot +from fastplotlib.layouts import Subplot from fastplotlib import graphics -from fastplotlib.graphics import _features, selectors +from fastplotlib.graphics import features, selectors +from fastplotlib import tools from fastplotlib import widgets from fastplotlib import utils +from fastplotlib import ui current_dir = Path(__file__).parent.resolve() @@ -18,7 +22,10 @@ GRAPHICS_DIR = API_DIR.joinpath("graphics") GRAPHIC_FEATURES_DIR = API_DIR.joinpath("graphic_features") SELECTORS_DIR = API_DIR.joinpath("selectors") +TOOLS_DIR = API_DIR.joinpath("tools") WIDGETS_DIR = API_DIR.joinpath("widgets") +UI_DIR = API_DIR.joinpath("ui") +GUIDE_DIR = current_dir.joinpath("user_guide") doc_sources = [ API_DIR, @@ -26,13 +33,36 @@ GRAPHICS_DIR, GRAPHIC_FEATURES_DIR, SELECTORS_DIR, + TOOLS_DIR, WIDGETS_DIR, + UI_DIR, ] for source_dir in doc_sources: os.makedirs(source_dir, exist_ok=True) +# this way we can just add the entire api dir to gitignore and generate before pushing +with open(API_DIR.joinpath("fastplotlib.rst"), "w") as f: + f.write( + "fastplotlib\n" + "***********\n\n" + ".. currentmodule:: fastplotlib\n\n" + + ".. autofunction:: fastplotlib.pause_events\n\n" + + ".. autofunction:: fastplotlib.enumerate_adapters\n\n" + + ".. autofunction:: fastplotlib.select_adapter\n\n" + + ".. autofunction:: fastplotlib.print_wgpu_report\n\n" + + "fastplotlib.loop\n" + "------------------\n" + "See the rendercanvas docs: https://rendercanvas.readthedocs.io/stable/api.html#rendercanvas.BaseLoop " + ) + + def get_public_members(cls) -> Tuple[List[str], List[str]]: """ Returns (public_methods, public_properties) @@ -105,12 +135,18 @@ def generate_class( return out -def generate_functions_module(module, name: str): +def generate_functions_module(module, name: str, generate_header: bool = True): underline = "*" * len(name) + if generate_header: + header = ( + f"{name}\n" + f"{underline}\n" + f"\n" + ) + else: + header = "\n" out = ( - f"{name}\n" - f"{underline}\n" - f"\n" + f"{header}" f".. currentmodule:: {name}\n" f".. automodule:: {module.__name__}\n" f" :members:\n" @@ -139,15 +175,76 @@ def generate_page( to_write = generate_class(cls, module) f.write(to_write) +####################################################### +# Used for GraphicFeature class event table +# copy-pasted from https://pablofernandez.tech/2019/03/21/turning-a-list-of-dicts-into-a-restructured-text-table/ + +def _generate_header(field_names, column_widths): + with StringIO() as output: + for field_name in field_names: + output.write(f"+-{'-' * column_widths[field_name]}-") + output.write("+\n") + for field_name in field_names: + output.write(f"| {field_name} {' ' * (column_widths[field_name] - len(field_name))}") + output.write("|\n") + for field_name in field_names: + output.write(f"+={'=' * column_widths[field_name]}=") + output.write("+\n") + return output.getvalue() + + +def _generate_row(row, field_names, column_widths): + with StringIO() as output: + for field_name in field_names: + output.write(f"| {row[field_name]}{' ' * (column_widths[field_name] - len(str(row[field_name])))} ") + output.write("|\n") + for field_name in field_names: + output.write(f"+-{'-' * column_widths[field_name]}-") + output.write("+\n") + return output.getvalue() + + +def _get_fields(data): + field_names = [] + column_widths = defaultdict(lambda: 0) + for row in data: + for field_name in row: + if field_name not in field_names: + field_names.append(field_name) + column_widths[field_name] = max(column_widths[field_name], len(field_name), len(str(row[field_name]))) + return field_names, column_widths + + +def dict_to_rst_table(data): + """convert a list of dicts to an RST table""" + field_names, column_widths = _get_fields(data) + with StringIO() as output: + output.write(_generate_header(field_names, column_widths)) + for row in data: + output.write(_generate_row(row, field_names, column_widths)) + + output.write("\n") + + return output.getvalue() + +####################################################### + def main(): generate_page( page_name="Figure", - classes=[fastplotlib.Figure], - modules=["fastplotlib"], + classes=[fastplotlib.layouts._figure.Figure], + modules=["fastplotlib.layouts"], source_path=LAYOUTS_DIR.joinpath("figure.rst"), ) + generate_page( + page_name="ImguiFigure", + classes=[fastplotlib.layouts.ImguiFigure], + modules=["fastplotlib.layouts"], + source_path=LAYOUTS_DIR.joinpath("imgui_figure.rst"), + ) + generate_page( page_name="Subplot", classes=[Subplot], @@ -155,8 +252,23 @@ def main(): source_path=LAYOUTS_DIR.joinpath("subplot.rst"), ) - # the rest of this is a mess and can be refactored later + # layouts classes index file + with open(LAYOUTS_DIR.joinpath("index.rst"), "w") as f: + f.write( + f"Layouts\n" + f"********\n" + f"\n" + f".. toctree::\n" + f" :maxdepth: 1\n" + f"\n" + f" imgui_figure\n" + f" figure\n" + f" subplot\n" + ) + # the rest of this is a mess and can be refactored later + ############################################################################## + # ** Graphic classes ** # graphic_classes = [getattr(graphics, g) for g in graphics.__all__] graphic_class_names = [g.__name__ for g in graphic_classes] @@ -182,8 +294,8 @@ def main(): source_path=GRAPHICS_DIR.joinpath(f"{graphic_cls.__name__}.rst"), ) ############################################################################## - - feature_classes = [getattr(_features, f) for f in _features.__all__] + # ** GraphicFeature classes ** # + feature_classes = [getattr(features, f) for f in features.__all__] feature_class_names = [f.__name__ for f in feature_classes] @@ -203,11 +315,11 @@ def main(): generate_page( page_name=feature_cls.__name__, classes=[feature_cls], - modules=["fastplotlib.graphics._features"], + modules=["fastplotlib.graphics.features"], source_path=GRAPHIC_FEATURES_DIR.joinpath(f"{feature_cls.__name__}.rst"), ) ############################################################################## - + # ** Selector classes ** # selector_classes = [getattr(selectors, s) for s in selectors.__all__] selector_class_names = [s.__name__ for s in selector_classes] @@ -231,8 +343,35 @@ def main(): modules=["fastplotlib"], source_path=SELECTORS_DIR.joinpath(f"{selector_cls.__name__}.rst"), ) + ############################################################################## + # ** Tools classes ** # + tools_classes = [getattr(tools, t) for t in tools.__all__] + + tools_class_names = [t.__name__ for t in tools_classes] + tools_class_names_str = "\n ".join([""] + tools_class_names) + + with open(TOOLS_DIR.joinpath("index.rst"), "w") as f: + f.write( + f"Tools\n" + f"*****\n" + f"\n" + f".. toctree::\n" + f" :maxdepth: 1\n" + f"{tools_class_names_str}\n" + ) + + for tool_cls in tools_classes: + generate_page( + page_name=tool_cls.__name__, + classes=[tool_cls], + modules=["fastplotlib"], + source_path=TOOLS_DIR.joinpath(f"{tool_cls.__name__}.rst"), + ) + + ############################################################################## + # ** Widget classes ** # widget_classes = [getattr(widgets, w) for w in widgets.__all__] widget_class_names = [w.__name__ for w in widget_classes] @@ -257,17 +396,93 @@ def main(): source_path=WIDGETS_DIR.joinpath(f"{widget_cls.__name__}.rst"), ) ############################################################################## + # ** UI classes ** # + ui_classes = [ui.BaseGUI, ui.Window, ui.EdgeWindow, ui.Popup] + + ui_class_names = [cls.__name__ for cls in ui_classes] + + ui_class_names_str = "\n ".join([""] + ui_class_names) + + with open(UI_DIR.joinpath("index.rst"), "w") as f: + f.write( + f"UI Bases\n" + f"********\n" + f"\n" + f".. toctree::\n" + f" :maxdepth: 1\n" + f"{ui_class_names_str}\n" + ) + + for ui_cls in ui_classes: + generate_page( + page_name=ui_cls.__name__, + classes=[ui_cls], + modules=["fastplotlib.ui"], + source_path=UI_DIR.joinpath(f"{ui_cls.__name__}.rst"), + ) + + ############################################################################## utils_str = generate_functions_module(utils.functions, "fastplotlib.utils") + utils_str += generate_functions_module(utils._plot_helpers, "fastplotlib.utils", generate_header=False) with open(API_DIR.joinpath("utils.rst"), "w") as f: f.write(utils_str) - # gpu selection - fpl_functions = generate_functions_module(fastplotlib, "fastplotlib.utils.gpu") + # make API index file + with open(API_DIR.joinpath("index.rst"), "w") as f: + f.write( + "API Reference\n" + "*************\n\n" + ".. toctree::\n" + " :caption: API Reference\n" + " :maxdepth: 2\n\n" + " layouts/index\n" + " graphics/index\n" + " graphic_features/index\n" + " selectors/index\n" + " tools/index\n" + " ui/index\n" + " widgets/index\n" + " fastplotlib\n" + " utils\n" + ) - with open(API_DIR.joinpath("gpu.rst"), "w") as f: - f.write(fpl_functions) + ############################################################################## + # graphic feature event tables + + def write_table(name, feature_cls): + s = f"{name}\n" + s += "^" * len(name) + "\n\n" + + if hasattr(feature_cls, "event_extra_attrs"): + s += "**extra attributes**\n\n" + s += dict_to_rst_table(feature_cls.event_extra_attrs) + + s += "**event info dict**\n\n" + s += dict_to_rst_table(feature_cls.event_info_spec) + + return s + + with open(GUIDE_DIR.joinpath("event_tables.rst"), "w") as f: + f.write(".. _event_tables:\n\n") + f.write("Event Tables\n") + f.write("============\n\n") + + for graphic_cls in [*graphic_classes, *selector_classes]: + if graphic_cls is graphics.Graphic: + # skip Graphic base class + continue + f.write(f"{graphic_cls.__name__}\n") + f.write("-" * len(graphic_cls.__name__) + "\n\n") + for name, type_ in graphic_cls._features.items(): + if isinstance(type_, tuple): + for t in type_: + if t is None: + continue + f.write(write_table(name, t)) + else: + f.write(write_table(name, type_)) if __name__ == "__main__": diff --git a/docs/source/index.rst b/docs/source/index.rst index 6385c2aee..c44f4e3a8 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -2,60 +2,40 @@ Welcome to fastplotlib's documentation! ======================================= .. toctree:: - :caption: User Guide + :caption: Getting started :maxdepth: 2 - GPU Info + user_guide/index + developer_notes/index .. toctree:: - :maxdepth: 1 + :maxdepth: 2 :caption: API - - Figure - Subplot - Graphics - Graphic Features - Selectors - Widgets - Utils - GPU + + api/index .. toctree:: :caption: Gallery - :maxdepth: 1 + :maxdepth: 1 - Gallery <_gallery/index> + _gallery/index Summary ======= -A fast plotting library built using the `pygfx `_ render engine utilizing `Vulkan `_, `DX12 `_, or `Metal `_ via `WGPU `_, so it is very fast! We also aim to be an expressive plotting library that enables rapid prototyping for large scale explorative scientific visualization. `fastplotlib` will run on any framework that ``pygfx`` runs on, this includes ``glfw``, ``Qt`` and ``jupyter lab`` - - -Installation -============ - -For installation please see the instructions on GitHub: - -https://github.com/kushalkolar/fastplotlib#installation - -FAQ -=== - -1. Axes, axis, ticks, labels, legends - -A: They are on the `roadmap `_ and expected by summer 2024 :) - -2. Why the parrot logo? - -A: The logo is a `swift parrot `_, they are the fastest species of parrot and they are colorful like fastplotlib visualizations :D +Next-gen plotting library built using the `pygfx `_ render engine utilizing +`Vulkan `_, `DX12 `_, or +`Metal `_ via `WGPU `_, so it is very fast! +``fastplotlib`` is an expressive plotting library that enables rapid prototyping for large scale exploratory scientific +visualization. ``fastplotlib`` will run on any framework that ``pygfx`` runs on, this includes ``glfw``, ``Qt`` +and ``jupyter lab`` Contributing ============ -Contributions are welcome! See the contributing guide on GitHub: https://github.com/kushalkolar/fastplotlib/blob/master/CONTRIBUTING.md. +Contributions are welcome! See the `contributing guide on GitHub `_ -Also take a look at the `Roadmap 2025 `_ for future plans or ways in which you could contribute. +Also take a look at the `Roadmap 2025 `_ for future plans or ways in which you could contribute. Indices and tables ================== diff --git a/docs/source/user_guide/event_tables.rst b/docs/source/user_guide/event_tables.rst new file mode 100644 index 000000000..1b9b2f7ec --- /dev/null +++ b/docs/source/user_guide/event_tables.rst @@ -0,0 +1,1020 @@ +.. _event_tables: + +Event Tables +============ + +LineGraphic +----------- + +data +^^^^ + +**event info dict** + ++----------+----------------------------------------------+--------------------------------------------------------+ +| dict key | type | description | ++==========+==============================================+========================================================+ +| key | slice, index (int) or numpy-like fancy index | key at which vertex positions data were indexed/sliced | ++----------+----------------------------------------------+--------------------------------------------------------+ +| value | int | float | array-like | new data values for points that were changed | ++----------+----------------------------------------------+--------------------------------------------------------+ + +colors +^^^^^^ + +**event info dict** + ++------------+--------------------------------------+------------------------------------------------------+ +| dict key | type | description | ++============+======================================+======================================================+ +| key | slice, index, numpy-like fancy index | index/slice at which colors were indexed/sliced | ++------------+--------------------------------------+------------------------------------------------------+ +| value | np.ndarray [n_points_changed, RGBA] | new color values for points that were changed | ++------------+--------------------------------------+------------------------------------------------------+ +| user_value | str or array-like | user input value that was parsed into the RGBA array | ++------------+--------------------------------------+------------------------------------------------------+ + +colors +^^^^^^ + +**event info dict** + ++----------+-------------------+-----------------+ +| dict key | type | description | ++==========+===================+=================+ +| value | np.ndarray [RGBA] | new color value | ++----------+-------------------+-----------------+ + +cmap +^^^^ + +**event info dict** + ++----------+-------+--------------------------------+ +| dict key | type | description | ++==========+=======+================================+ +| key | slice | key at cmap colors were sliced | ++----------+-------+--------------------------------+ +| value | str | new cmap to set at given slice | ++----------+-------+--------------------------------+ + +thickness +^^^^^^^^^ + +**event info dict** + ++----------+-------+---------------------+ +| dict key | type | description | ++==========+=======+=====================+ +| value | float | new thickness value | ++----------+-------+---------------------+ + +size_space +^^^^^^^^^^ + +**event info dict** + ++----------+------+------------------------------+ +| dict key | type | description | ++==========+======+==============================+ +| value | str | 'screen' | 'world' | 'model' | ++----------+------+------------------------------+ + +name +^^^^ + +**event info dict** + ++----------+------+--------------------+ +| dict key | type | description | ++==========+======+====================+ +| value | str | user provided name | ++----------+------+--------------------+ + +offset +^^^^^^ + +**event info dict** + ++----------+---------------------------------+----------------------+ +| dict key | type | description | ++==========+=================================+======================+ +| value | np.ndarray[float, float, float] | new offset (x, y, z) | ++----------+---------------------------------+----------------------+ + +rotation +^^^^^^^^ + +**event info dict** + ++----------+----------------------------------------+-------------------------+ +| dict key | type | description | ++==========+========================================+=========================+ +| value | np.ndarray[float, float, float, float] | new rotation quaternion | ++----------+----------------------------------------+-------------------------+ + +visible +^^^^^^^ + +**event info dict** + ++----------+------+---------------------+ +| dict key | type | description | ++==========+======+=====================+ +| value | bool | new visibility bool | ++----------+------+---------------------+ + +deleted +^^^^^^^ + +**event info dict** + ++----------+------+-------------------------------+ +| dict key | type | description | ++==========+======+===============================+ +| value | bool | True when graphic was deleted | ++----------+------+-------------------------------+ + +ScatterGraphic +-------------- + +data +^^^^ + +**event info dict** + ++----------+----------------------------------------------+--------------------------------------------------------+ +| dict key | type | description | ++==========+==============================================+========================================================+ +| key | slice, index (int) or numpy-like fancy index | key at which vertex positions data were indexed/sliced | ++----------+----------------------------------------------+--------------------------------------------------------+ +| value | int | float | array-like | new data values for points that were changed | ++----------+----------------------------------------------+--------------------------------------------------------+ + +sizes +^^^^^ + +**event info dict** + ++----------+----------------------------------------------+----------------------------------------------+ +| dict key | type | description | ++==========+==============================================+==============================================+ +| key | slice, index (int) or numpy-like fancy index | key at which point sizes were indexed/sliced | ++----------+----------------------------------------------+----------------------------------------------+ +| value | int | float | array-like | new size values for points that were changed | ++----------+----------------------------------------------+----------------------------------------------+ + +sizes +^^^^^ + +**event info dict** + ++----------+-------+----------------+ +| dict key | type | description | ++==========+=======+================+ +| value | float | new size value | ++----------+-------+----------------+ + +colors +^^^^^^ + +**event info dict** + ++------------+--------------------------------------+------------------------------------------------------+ +| dict key | type | description | ++============+======================================+======================================================+ +| key | slice, index, numpy-like fancy index | index/slice at which colors were indexed/sliced | ++------------+--------------------------------------+------------------------------------------------------+ +| value | np.ndarray [n_points_changed, RGBA] | new color values for points that were changed | ++------------+--------------------------------------+------------------------------------------------------+ +| user_value | str or array-like | user input value that was parsed into the RGBA array | ++------------+--------------------------------------+------------------------------------------------------+ + +colors +^^^^^^ + +**event info dict** + ++----------+-------------------+-----------------+ +| dict key | type | description | ++==========+===================+=================+ +| value | np.ndarray [RGBA] | new color value | ++----------+-------------------+-----------------+ + +cmap +^^^^ + +**event info dict** + ++----------+-------+--------------------------------+ +| dict key | type | description | ++==========+=======+================================+ +| key | slice | key at cmap colors were sliced | ++----------+-------+--------------------------------+ +| value | str | new cmap to set at given slice | ++----------+-------+--------------------------------+ + +size_space +^^^^^^^^^^ + +**event info dict** + ++----------+------+------------------------------+ +| dict key | type | description | ++==========+======+==============================+ +| value | str | 'screen' | 'world' | 'model' | ++----------+------+------------------------------+ + +name +^^^^ + +**event info dict** + ++----------+------+--------------------+ +| dict key | type | description | ++==========+======+====================+ +| value | str | user provided name | ++----------+------+--------------------+ + +offset +^^^^^^ + +**event info dict** + ++----------+---------------------------------+----------------------+ +| dict key | type | description | ++==========+=================================+======================+ +| value | np.ndarray[float, float, float] | new offset (x, y, z) | ++----------+---------------------------------+----------------------+ + +rotation +^^^^^^^^ + +**event info dict** + ++----------+----------------------------------------+-------------------------+ +| dict key | type | description | ++==========+========================================+=========================+ +| value | np.ndarray[float, float, float, float] | new rotation quaternion | ++----------+----------------------------------------+-------------------------+ + +visible +^^^^^^^ + +**event info dict** + ++----------+------+---------------------+ +| dict key | type | description | ++==========+======+=====================+ +| value | bool | new visibility bool | ++----------+------+---------------------+ + +deleted +^^^^^^^ + +**event info dict** + ++----------+------+-------------------------------+ +| dict key | type | description | ++==========+======+===============================+ +| value | bool | True when graphic was deleted | ++----------+------+-------------------------------+ + +ImageGraphic +------------ + +data +^^^^ + +**event info dict** + ++----------+--------------------------------------+--------------------------------------------------+ +| dict key | type | description | ++==========+======================================+==================================================+ +| key | slice, index, numpy-like fancy index | key at which image data was sliced/fancy indexed | ++----------+--------------------------------------+--------------------------------------------------+ +| value | np.ndarray | float | new data values | ++----------+--------------------------------------+--------------------------------------------------+ + +cmap +^^^^ + +**event info dict** + ++----------+------+---------------+ +| dict key | type | description | ++==========+======+===============+ +| value | str | new cmap name | ++----------+------+---------------+ + +vmin +^^^^ + +**event info dict** + ++----------+-------+----------------+ +| dict key | type | description | ++==========+=======+================+ +| value | float | new vmin value | ++----------+-------+----------------+ + +vmax +^^^^ + +**event info dict** + ++----------+-------+----------------+ +| dict key | type | description | ++==========+=======+================+ +| value | float | new vmax value | ++----------+-------+----------------+ + +interpolation +^^^^^^^^^^^^^ + +**event info dict** + ++----------+------+--------------------------------------------+ +| dict key | type | description | ++==========+======+============================================+ +| value | str | new interpolation method, nearest | linear | ++----------+------+--------------------------------------------+ + +cmap_interpolation +^^^^^^^^^^^^^^^^^^ + +**event info dict** + ++----------+------+------------------------------------------------+ +| dict key | type | description | ++==========+======+================================================+ +| value | str | new cmap interpolatio method, nearest | linear | ++----------+------+------------------------------------------------+ + +name +^^^^ + +**event info dict** + ++----------+------+--------------------+ +| dict key | type | description | ++==========+======+====================+ +| value | str | user provided name | ++----------+------+--------------------+ + +offset +^^^^^^ + +**event info dict** + ++----------+---------------------------------+----------------------+ +| dict key | type | description | ++==========+=================================+======================+ +| value | np.ndarray[float, float, float] | new offset (x, y, z) | ++----------+---------------------------------+----------------------+ + +rotation +^^^^^^^^ + +**event info dict** + ++----------+----------------------------------------+-------------------------+ +| dict key | type | description | ++==========+========================================+=========================+ +| value | np.ndarray[float, float, float, float] | new rotation quaternion | ++----------+----------------------------------------+-------------------------+ + +visible +^^^^^^^ + +**event info dict** + ++----------+------+---------------------+ +| dict key | type | description | ++==========+======+=====================+ +| value | bool | new visibility bool | ++----------+------+---------------------+ + +deleted +^^^^^^^ + +**event info dict** + ++----------+------+-------------------------------+ +| dict key | type | description | ++==========+======+===============================+ +| value | bool | True when graphic was deleted | ++----------+------+-------------------------------+ + +TextGraphic +----------- + +text +^^^^ + +**event info dict** + ++----------+------+---------------+ +| dict key | type | description | ++==========+======+===============+ +| value | str | new text data | ++----------+------+---------------+ + +font_size +^^^^^^^^^ + +**event info dict** + ++----------+-------------+---------------+ +| dict key | type | description | ++==========+=============+===============+ +| value | float | int | new font size | ++----------+-------------+---------------+ + +face_color +^^^^^^^^^^ + +**event info dict** + ++----------+------------------+----------------+ +| dict key | type | description | ++==========+==================+================+ +| value | str | np.ndarray | new text color | ++----------+------------------+----------------+ + +outline_color +^^^^^^^^^^^^^ + +**event info dict** + ++----------+------------------+-------------------+ +| dict key | type | description | ++==========+==================+===================+ +| value | str | np.ndarray | new outline color | ++----------+------------------+-------------------+ + +outline_thickness +^^^^^^^^^^^^^^^^^ + +**event info dict** + ++----------+-------+----------------------------+ +| dict key | type | description | ++==========+=======+============================+ +| value | float | new text outline thickness | ++----------+-------+----------------------------+ + +name +^^^^ + +**event info dict** + ++----------+------+--------------------+ +| dict key | type | description | ++==========+======+====================+ +| value | str | user provided name | ++----------+------+--------------------+ + +offset +^^^^^^ + +**event info dict** + ++----------+---------------------------------+----------------------+ +| dict key | type | description | ++==========+=================================+======================+ +| value | np.ndarray[float, float, float] | new offset (x, y, z) | ++----------+---------------------------------+----------------------+ + +rotation +^^^^^^^^ + +**event info dict** + ++----------+----------------------------------------+-------------------------+ +| dict key | type | description | ++==========+========================================+=========================+ +| value | np.ndarray[float, float, float, float] | new rotation quaternion | ++----------+----------------------------------------+-------------------------+ + +visible +^^^^^^^ + +**event info dict** + ++----------+------+---------------------+ +| dict key | type | description | ++==========+======+=====================+ +| value | bool | new visibility bool | ++----------+------+---------------------+ + +deleted +^^^^^^^ + +**event info dict** + ++----------+------+-------------------------------+ +| dict key | type | description | ++==========+======+===============================+ +| value | bool | True when graphic was deleted | ++----------+------+-------------------------------+ + +LineCollection +-------------- + +data +^^^^ + +**event info dict** + ++----------+----------------------------------------------+--------------------------------------------------------+ +| dict key | type | description | ++==========+==============================================+========================================================+ +| key | slice, index (int) or numpy-like fancy index | key at which vertex positions data were indexed/sliced | ++----------+----------------------------------------------+--------------------------------------------------------+ +| value | int | float | array-like | new data values for points that were changed | ++----------+----------------------------------------------+--------------------------------------------------------+ + +colors +^^^^^^ + +**event info dict** + ++------------+--------------------------------------+------------------------------------------------------+ +| dict key | type | description | ++============+======================================+======================================================+ +| key | slice, index, numpy-like fancy index | index/slice at which colors were indexed/sliced | ++------------+--------------------------------------+------------------------------------------------------+ +| value | np.ndarray [n_points_changed, RGBA] | new color values for points that were changed | ++------------+--------------------------------------+------------------------------------------------------+ +| user_value | str or array-like | user input value that was parsed into the RGBA array | ++------------+--------------------------------------+------------------------------------------------------+ + +colors +^^^^^^ + +**event info dict** + ++----------+-------------------+-----------------+ +| dict key | type | description | ++==========+===================+=================+ +| value | np.ndarray [RGBA] | new color value | ++----------+-------------------+-----------------+ + +cmap +^^^^ + +**event info dict** + ++----------+-------+--------------------------------+ +| dict key | type | description | ++==========+=======+================================+ +| key | slice | key at cmap colors were sliced | ++----------+-------+--------------------------------+ +| value | str | new cmap to set at given slice | ++----------+-------+--------------------------------+ + +thickness +^^^^^^^^^ + +**event info dict** + ++----------+-------+---------------------+ +| dict key | type | description | ++==========+=======+=====================+ +| value | float | new thickness value | ++----------+-------+---------------------+ + +size_space +^^^^^^^^^^ + +**event info dict** + ++----------+------+------------------------------+ +| dict key | type | description | ++==========+======+==============================+ +| value | str | 'screen' | 'world' | 'model' | ++----------+------+------------------------------+ + +name +^^^^ + +**event info dict** + ++----------+------+--------------------+ +| dict key | type | description | ++==========+======+====================+ +| value | str | user provided name | ++----------+------+--------------------+ + +offset +^^^^^^ + +**event info dict** + ++----------+---------------------------------+----------------------+ +| dict key | type | description | ++==========+=================================+======================+ +| value | np.ndarray[float, float, float] | new offset (x, y, z) | ++----------+---------------------------------+----------------------+ + +rotation +^^^^^^^^ + +**event info dict** + ++----------+----------------------------------------+-------------------------+ +| dict key | type | description | ++==========+========================================+=========================+ +| value | np.ndarray[float, float, float, float] | new rotation quaternion | ++----------+----------------------------------------+-------------------------+ + +visible +^^^^^^^ + +**event info dict** + ++----------+------+---------------------+ +| dict key | type | description | ++==========+======+=====================+ +| value | bool | new visibility bool | ++----------+------+---------------------+ + +deleted +^^^^^^^ + +**event info dict** + ++----------+------+-------------------------------+ +| dict key | type | description | ++==========+======+===============================+ +| value | bool | True when graphic was deleted | ++----------+------+-------------------------------+ + +LineStack +--------- + +data +^^^^ + +**event info dict** + ++----------+----------------------------------------------+--------------------------------------------------------+ +| dict key | type | description | ++==========+==============================================+========================================================+ +| key | slice, index (int) or numpy-like fancy index | key at which vertex positions data were indexed/sliced | ++----------+----------------------------------------------+--------------------------------------------------------+ +| value | int | float | array-like | new data values for points that were changed | ++----------+----------------------------------------------+--------------------------------------------------------+ + +colors +^^^^^^ + +**event info dict** + ++------------+--------------------------------------+------------------------------------------------------+ +| dict key | type | description | ++============+======================================+======================================================+ +| key | slice, index, numpy-like fancy index | index/slice at which colors were indexed/sliced | ++------------+--------------------------------------+------------------------------------------------------+ +| value | np.ndarray [n_points_changed, RGBA] | new color values for points that were changed | ++------------+--------------------------------------+------------------------------------------------------+ +| user_value | str or array-like | user input value that was parsed into the RGBA array | ++------------+--------------------------------------+------------------------------------------------------+ + +colors +^^^^^^ + +**event info dict** + ++----------+-------------------+-----------------+ +| dict key | type | description | ++==========+===================+=================+ +| value | np.ndarray [RGBA] | new color value | ++----------+-------------------+-----------------+ + +cmap +^^^^ + +**event info dict** + ++----------+-------+--------------------------------+ +| dict key | type | description | ++==========+=======+================================+ +| key | slice | key at cmap colors were sliced | ++----------+-------+--------------------------------+ +| value | str | new cmap to set at given slice | ++----------+-------+--------------------------------+ + +thickness +^^^^^^^^^ + +**event info dict** + ++----------+-------+---------------------+ +| dict key | type | description | ++==========+=======+=====================+ +| value | float | new thickness value | ++----------+-------+---------------------+ + +size_space +^^^^^^^^^^ + +**event info dict** + ++----------+------+------------------------------+ +| dict key | type | description | ++==========+======+==============================+ +| value | str | 'screen' | 'world' | 'model' | ++----------+------+------------------------------+ + +name +^^^^ + +**event info dict** + ++----------+------+--------------------+ +| dict key | type | description | ++==========+======+====================+ +| value | str | user provided name | ++----------+------+--------------------+ + +offset +^^^^^^ + +**event info dict** + ++----------+---------------------------------+----------------------+ +| dict key | type | description | ++==========+=================================+======================+ +| value | np.ndarray[float, float, float] | new offset (x, y, z) | ++----------+---------------------------------+----------------------+ + +rotation +^^^^^^^^ + +**event info dict** + ++----------+----------------------------------------+-------------------------+ +| dict key | type | description | ++==========+========================================+=========================+ +| value | np.ndarray[float, float, float, float] | new rotation quaternion | ++----------+----------------------------------------+-------------------------+ + +visible +^^^^^^^ + +**event info dict** + ++----------+------+---------------------+ +| dict key | type | description | ++==========+======+=====================+ +| value | bool | new visibility bool | ++----------+------+---------------------+ + +deleted +^^^^^^^ + +**event info dict** + ++----------+------+-------------------------------+ +| dict key | type | description | ++==========+======+===============================+ +| value | bool | True when graphic was deleted | ++----------+------+-------------------------------+ + +LinearSelector +-------------- + +selection +^^^^^^^^^ + +**extra attributes** + ++--------------------+----------+----------------------------------+ +| attribute | type | description | ++====================+==========+==================================+ +| get_selected_index | callable | returns index under the selector | ++--------------------+----------+----------------------------------+ + +**event info dict** + ++----------+-------+-------------------------------+ +| dict key | type | description | ++==========+=======+===============================+ +| value | float | new x or y value of selection | ++----------+-------+-------------------------------+ + +name +^^^^ + +**event info dict** + ++----------+------+--------------------+ +| dict key | type | description | ++==========+======+====================+ +| value | str | user provided name | ++----------+------+--------------------+ + +offset +^^^^^^ + +**event info dict** + ++----------+---------------------------------+----------------------+ +| dict key | type | description | ++==========+=================================+======================+ +| value | np.ndarray[float, float, float] | new offset (x, y, z) | ++----------+---------------------------------+----------------------+ + +rotation +^^^^^^^^ + +**event info dict** + ++----------+----------------------------------------+-------------------------+ +| dict key | type | description | ++==========+========================================+=========================+ +| value | np.ndarray[float, float, float, float] | new rotation quaternion | ++----------+----------------------------------------+-------------------------+ + +visible +^^^^^^^ + +**event info dict** + ++----------+------+---------------------+ +| dict key | type | description | ++==========+======+=====================+ +| value | bool | new visibility bool | ++----------+------+---------------------+ + +deleted +^^^^^^^ + +**event info dict** + ++----------+------+-------------------------------+ +| dict key | type | description | ++==========+======+===============================+ +| value | bool | True when graphic was deleted | ++----------+------+-------------------------------+ + +LinearRegionSelector +-------------------- + +selection +^^^^^^^^^ + +**extra attributes** + ++----------------------+----------+------------------------------------+ +| attribute | type | description | ++======================+==========+====================================+ +| get_selected_indices | callable | returns indices under the selector | ++----------------------+----------+------------------------------------+ +| get_selected_data | callable | returns data under the selector | ++----------------------+----------+------------------------------------+ + +**event info dict** + ++----------+------------+-----------------------------+ +| dict key | type | description | ++==========+============+=============================+ +| value | np.ndarray | new [min, max] of selection | ++----------+------------+-----------------------------+ + +name +^^^^ + +**event info dict** + ++----------+------+--------------------+ +| dict key | type | description | ++==========+======+====================+ +| value | str | user provided name | ++----------+------+--------------------+ + +offset +^^^^^^ + +**event info dict** + ++----------+---------------------------------+----------------------+ +| dict key | type | description | ++==========+=================================+======================+ +| value | np.ndarray[float, float, float] | new offset (x, y, z) | ++----------+---------------------------------+----------------------+ + +rotation +^^^^^^^^ + +**event info dict** + ++----------+----------------------------------------+-------------------------+ +| dict key | type | description | ++==========+========================================+=========================+ +| value | np.ndarray[float, float, float, float] | new rotation quaternion | ++----------+----------------------------------------+-------------------------+ + +visible +^^^^^^^ + +**event info dict** + ++----------+------+---------------------+ +| dict key | type | description | ++==========+======+=====================+ +| value | bool | new visibility bool | ++----------+------+---------------------+ + +deleted +^^^^^^^ + +**event info dict** + ++----------+------+-------------------------------+ +| dict key | type | description | ++==========+======+===============================+ +| value | bool | True when graphic was deleted | ++----------+------+-------------------------------+ + +RectangleSelector +----------------- + +selection +^^^^^^^^^ + +**extra attributes** + ++----------------------+----------+------------------------------------+ +| attribute | type | description | ++======================+==========+====================================+ +| get_selected_indices | callable | returns indices under the selector | ++----------------------+----------+------------------------------------+ +| get_selected_data | callable | returns data under the selector | ++----------------------+----------+------------------------------------+ + +**event info dict** + ++----------+------------+-------------------------------------------+ +| dict key | type | description | ++==========+============+===========================================+ +| value | np.ndarray | new [xmin, xmax, ymin, ymax] of selection | ++----------+------------+-------------------------------------------+ + +name +^^^^ + +**event info dict** + ++----------+------+--------------------+ +| dict key | type | description | ++==========+======+====================+ +| value | str | user provided name | ++----------+------+--------------------+ + +offset +^^^^^^ + +**event info dict** + ++----------+---------------------------------+----------------------+ +| dict key | type | description | ++==========+=================================+======================+ +| value | np.ndarray[float, float, float] | new offset (x, y, z) | ++----------+---------------------------------+----------------------+ + +rotation +^^^^^^^^ + +**event info dict** + ++----------+----------------------------------------+-------------------------+ +| dict key | type | description | ++==========+========================================+=========================+ +| value | np.ndarray[float, float, float, float] | new rotation quaternion | ++----------+----------------------------------------+-------------------------+ + +visible +^^^^^^^ + +**event info dict** + ++----------+------+---------------------+ +| dict key | type | description | ++==========+======+=====================+ +| value | bool | new visibility bool | ++----------+------+---------------------+ + +deleted +^^^^^^^ + +**event info dict** + ++----------+------+-------------------------------+ +| dict key | type | description | ++==========+======+===============================+ +| value | bool | True when graphic was deleted | ++----------+------+-------------------------------+ + diff --git a/docs/source/user_guide/faq.rst b/docs/source/user_guide/faq.rst new file mode 100644 index 000000000..5985efae1 --- /dev/null +++ b/docs/source/user_guide/faq.rst @@ -0,0 +1,136 @@ +FAQ +=== + +What is ``fastplotlib``? +------------------------ + + `fastplotlib` is a scientific plotting library built on top of the `pygfx `_ rendering engine + that leverages new graphics APIs and modern GPU hardware to create fast and interactive visualizations. + + +What can I do with ``fastplotlib``? +----------------------------------- + + `fastplotlib` allows for: + - GPU accelerated visualization + - interactive visualization via an intuitive and expressive API + - rapid prototyping and algorithm design + - easy exploration and fast rendering of large-scale data + - design, develop, evaluate and ship machine learning models + - create visualizations for real-time acquisition systems for scientific instruments (cameras, etc.) + +Do I need a GPU? +---------------- + + Integrated GPUs, such as those found in modern laptops, are sufficient for many use cases. + + For the best performance you will require a dedicated GPU. You can think of it like running a game, a more complex visualization or faster rendering will require a better GPU. + + Limited software rendering using just the CPU is supported on linux using lavapipe, but this is mostly only useful for testing purposes. + +How does ``fastplotlib`` relate to ``matplotlib``? +-------------------------------------------------- + + `fastplotlib` is **not** related to `matplotlib` in any way. + + These are two completely different libraries with their own APIs and use-cases. The `fastplotlib` library is primarily for *interactive* + visualization that runs on the GPU using WGPU. The `fastplotlib` architecture is completely different from `matplotlib`. Using `fastplotlib` + is more akin to using `numpy`. + + To expand on this a bit more, the `pygfx` buffer interface is really unlike anything in`matplotlib` and other libraries which is a major reason + why `fastplotlib` can have an array-like API for plotting. We believe that these design choices make it much easier to learn how to use the library + and provide fine-grained control over your visualizations. See the "How can I learn to use `fastplotlib`?" section below. + +How can I learn to use ``fastplotlib``? +--------------------------------------- + + We want `fastplotlib` to be easy to learn and use. To get started with the library we recommend taking a look at our `guide `_ and + `examples gallery `_. + + In general, if you are familiar with numpy and array notation you will already have a intuitive understanding of interacting + with your data in `fastplotlib`. If you have any questions, please do not hesitate to post an issue or discussion forum post. + +Should I use ``fastplotlib`` for making publication figures? +------------------------------------------------------------ + + While `fastplotlib` figures can be exported to PNG using ``figure.export()``, `fastplotlib` is not intended for creating *static* + publication figures. There are many other libraries that are well-suited for this task. + + The rendering engine pygfx has a starting point for an svg renderer, you may try and expand upon it: https://github.com/pygfx/pygfx/tree/main/pygfx/renderers/svg + +How does ``fastplotlib`` handle data loading? +--------------------------------------------- + + `fastplotlib` is a plotting library and not a data handling or data loading library. These tasks are outside of the scope of + the library. + + In general, if your data is an array-like object, `fastplotlib` should be able to use it. However, if you have any problems using your data objects, + please do not hesitate to post an issue! See this `issue `_ for more details. + +What is the scope of ``fastplotlib``? +------------------------------------- + + While the capabilities are very far-reaching, we would like to emphasize that `fastplotlib` is a general-purpose plotting library focused on scientific visualization. + More specifically, we aim to develop the tools necessary for users to build fast and interactive visualizations for a variety of scientific domains including but not limited to + neuroscience, astronomy, biology, computer vision, signal processing, and more. If you have a particular feature in mind that you feel is missing, please post an issue and we will respond + accordingly letting you know if it fits within the scope of the project. + +What types of PRs are we willing to accept? +------------------------------------------- + + Primarily the features of `fastplotlib` have been developed as they relate to the core-developers research use cases (mostly neuroscience, algorithm development, and machine learning). With that being said, there are many domains in which + we do not have the knowledge to best-implement the tools needed for proper visualization. We welcome all PRs that address these types of missing functionality. We + recommend taking a look at our `Roadmap `_ to get a better idea of what those items might be :D + + Closely related to this, we would love to add more examples to our repo for different types of scientific visualizations. We welcome all PRs that showcase using `fastplotlib` for + your given research domain! :D + + Lastly, documentation is a critical part of open-source software and makes learning/using our tool much easier. We welcome all PRs that add missing or needed documentation of the + codebase. If you find a piece of the codebase that is confusing or does not have proper documentation, please also feel free to post an issue on the repo! + +What frameworks does ``fastplotlib`` support? +--------------------------------------------- + + The short answer is that `fastplotlib` can run on anything that `pygfx` runs on. This includes, + - `jupyter lab` using `jupyter_rfb` + - `PyQt` and `PySide` + - `glfw` + - `wxPython` + + Notes: + - `jupyter_rfb `_ does not work in Google Collab, see https://github.com/vispy/jupyter_rfb/pull/77 + - Non-blocking interactive Qt/PySide output is supported in ipython and notebooks, see the `interactive shells section in the user guide `_ + - We do not officially support `jupyter notebook` through `jupyter_rfb` and strongly recommend using `jupyter lab`. Jupyter Notebook v7 might work, but this has not been extensively tested. + - We only support `jupyterlab` for use in notebooks. This means that we do not support VSCode notebooks or any other python notebook platform. Jupyterlab is the most reliable way to use widget-based libraries in notebooks. + + +How can I use ``fastplotlib`` interactively? +-------------------------------------------- + + There are multiple ways to use fastplotlib interactively. + + 1. Jupyter + + On jupyter lab the jupyter backend (i.e. jupyter_rfb) is normally selected. This works via client-server rendering. + Images generated on the server are streamed to the client (Jupyter) via a jpeg byte stream. Events (such as mouse or keyboard events) + are then streamed in the opposite direction prompting new images to be generated by the server if necessary. + This remote-frame-buffer approach makes the rendering process very fast. `fastplotlib` viusalizations can be displayed + in cell output or on the side using sidecar. + + A Qt backend can also optionally be used as well. If %gui qt is selected before importing `fastplotlib` then this + backend will be used instead. + + Lastly, users can also force using glfw by specifying this as an argument when instantiating a + Figure (i.e. Figure(canvas="gflw"). + + **Note:** Do not mix between gui backends. For example, if you start the notebook using Qt, do not attempt to + force using another backend such as jupyter_rfb later. + + 2. IPython + + Users can select between using a Qt backend or glfw using the same methods as above. + +Why the parrot logo? +-------------------- + + The logo is a `swift parrot `_, they are the fastest species of parrot and they are colorful like fastplotlib visualizations :D diff --git a/docs/source/user_guide/gpu.rst b/docs/source/user_guide/gpu.rst index 1bbc0c030..428c8600b 100644 --- a/docs/source/user_guide/gpu.rst +++ b/docs/source/user_guide/gpu.rst @@ -1,14 +1,14 @@ GPU Info and selection -********************** +====================== FAQ -=== +--- 1. Do I need a GPU? Technically no, you can perform limited software rendering on linux using lavapipe (see drivers link below). However ``fastplotlib`` is intentionally built for realtime rendering using the latest GPU technologies, so we strongly -recommend that you use a GPU. +recommend that you use a GPU. Note that modern integrated graphics is often sufficient for many use-cases. 2. My kernel keeps crashing. @@ -24,18 +24,46 @@ If you aren't able to solve it please post an issue on GitHub. :) - Probably driver issues (see next section). Drivers -======= - -See the README: https://github.com/fastplotlib/fastplotlib?tab=readme-ov-file#graphics-drivers +------- If you notice weird graphic artifacts, things not rendering, or other glitches try updating to the latest stable drivers. +More information is also available on the WGPU docs: https://wgpu-py.readthedocs.io/en/stable/start.html#platform-requirements + +Windows +^^^^^^^ + +Vulkan drivers should be installed by default on Windows 11, but you will need to install your GPU manufacturer's driver package (Nvidia or AMD). If you have an integrated GPU within your CPU, you might still need to install a driver package too, check your CPU manufacturer's info. + +Linux +^^^^^ + +You will generally need a linux distro that is from ~2020 or newer (ex. Ubuntu 18.04 won't work), this is due to the `glibc` requirements of the `wgpu-native` binary. + +Install the drivers directly from your GPU manufacturer's website, after that you may still need to install mesa vulkan drivers: + +Debian based distros:: + + sudo apt install mesa-vulkan-drivers + +For other distros install the corresponding vulkan driver package. + +Cloud compute +~~~~~~~~~~~~~ + +See the WGPU docs: https://wgpu-py.readthedocs.io/en/stable/start.html#cloud-compute + +Mac OSX +^^^^^^^ + +WGPU uses Metal instead of Vulkan on Mac. You will need at least Mac OSX 10.13. The OS should come with Metal pre-installed, so you should be good to go! + GPU Info -======== +-------- View available adapters ------------------------ +^^^^^^^^^^^^^^^^^^^^^^^ You can get a summary of all adapters that are available to ``WGPU`` like this:: @@ -59,7 +87,7 @@ You can get more detailed info on each adapter like this:: import pprint for a in fpl.enumerate_adapters(): - pprint.pprint(a.request_adapter_info()) + pprint.pprint(a.info) General description of the fields: * vendor: GPU manufacturer @@ -71,7 +99,7 @@ General description of the fields: For more information on the fields see: https://gpuweb.github.io/gpuweb/#gpuadapterinfo Adapter currently in use ------------------------- +^^^^^^^^^^^^^^^^^^^^^^^^ If you want to know the adapter that a figure is using you can check the adapter on the renderer:: @@ -85,7 +113,7 @@ If you want to know the adapter that a figure is using you can check the adapter Diagnostic info ---------------- +^^^^^^^^^^^^^^^ After creating a figure you can view WGPU diagnostic info like this:: @@ -207,38 +235,38 @@ Example output:: adapter device - max_bind_groups: 8 8 - max_bind_groups_plus_vertex_buffers: 0 0 - max_bindings_per_bind_group: 1.00K 1.00K - max_buffer_size: 2.14G 2.14G - max_color_attachment_bytes_per_sample: 0 0 - max_color_attachments: 0 0 - max_compute_invocations_per_workgroup: 1.02K 1.02K - max_compute_workgroup_size_x: 1.02K 1.02K - max_compute_workgroup_size_y: 1.02K 1.02K - max_compute_workgroup_size_z: 1.02K 1.02K - max_compute_workgroup_storage_size: 32.7K 32.7K - max_compute_workgroups_per_dimension: 65.5K 65.5K - max_dynamic_storage_buffers_per_pipeline_layout: 8 8 - max_dynamic_uniform_buffers_per_pipeline_layout: 16 16 - max_inter_stage_shader_components: 128 128 - max_inter_stage_shader_variables: 0 0 - max_sampled_textures_per_shader_stage: 8.38M 8.38M - max_samplers_per_shader_stage: 8.38M 8.38M - max_storage_buffer_binding_size: 2.14G 2.14G - max_storage_buffers_per_shader_stage: 8.38M 8.38M - max_storage_textures_per_shader_stage: 8.38M 8.38M - max_texture_array_layers: 2.04K 2.04K - max_texture_dimension1d: 16.3K 16.3K - max_texture_dimension2d: 16.3K 16.3K - max_texture_dimension3d: 2.04K 2.04K - max_uniform_buffer_binding_size: 2.14G 2.14G - max_uniform_buffers_per_shader_stage: 8.38M 8.38M - max_vertex_attributes: 32 32 - max_vertex_buffer_array_stride: 2.04K 2.04K - max_vertex_buffers: 16 16 - min_storage_buffer_offset_alignment: 32 32 - min_uniform_buffer_offset_alignment: 32 32 + max-bind-groups: 8 8 + max-bind-groups-plus-vertex-buffers: 0 0 + max-bindings-per-bind-group: 1.00K 1.00K + max-buffer-size: 2.14G 2.14G + max-color-attachment-bytes-per-sample: 0 0 + max-color-attachments: 0 0 + max-compute-invocations-per-workgroup: 1.02K 1.02K + max-compute-workgroup-size-x: 1.02K 1.02K + max-compute-workgroup-size-y: 1.02K 1.02K + max-compute-workgroup-size-z: 1.02K 1.02K + max-compute-workgroup-storage-size: 32.7K 32.7K + max-compute-workgroups-per-dimension: 65.5K 65.5K + max-dynamic-storage-buffers-per-pipeline-layout: 8 8 + max-dynamic-uniform-buffers-per-pipeline-layout: 16 16 + max-inter-stage-shader-components: 128 128 + max-inter-stage-shader-variables: 0 0 + max-sampled-textures-per-shader-stage: 8.38M 8.38M + max-samplers-per-shader-stage: 8.38M 8.38M + max-storage-buffer-binding-size: 2.14G 2.14G + max-storage-buffers-per-shader-stage: 8.38M 8.38M + max-storage-textures-per-shader-stage: 8.38M 8.38M + max-texture-array-layers: 2.04K 2.04K + max-texture-dimension-1d: 16.3K 16.3K + max-texture-dimension-2d: 16.3K 16.3K + max-texture-dimension-3d: 2.04K 2.04K + max-uniform-buffer-binding-size: 2.14G 2.14G + max-uniform-buffers-per-shader-stage: 8.38M 8.38M + max-vertex-attributes: 32 32 + max-vertex-buffer-array-stride: 2.04K 2.04K + max-vertex-buffers: 16 16 + min-storage-buffer-offset-alignment: 32 32 + min-uniform-buffer-offset-alignment: 32 32 ██ pygfx_caches: @@ -259,7 +287,7 @@ Example output:: Select GPU (adapter) -==================== +-------------------- You can select an adapter by passing one of the ``wgpu.GPUAdapter`` instances returned by ``fpl.enumerate_adapters()`` to ``fpl.select_adapter()``:: @@ -267,7 +295,7 @@ to ``fpl.select_adapter()``:: # get info or summary of all adapters to pick an adapter import pprint for a in fpl.enumerate_adapters(): - pprint.pprint(a.request_adapter_info()) + pprint.pprint(a.info) # example, pick adapter at index 2 chosen_gpu = fpl.enumerate_adapters()[2] @@ -279,7 +307,7 @@ to ``fpl.select_adapter()``:: Note that using this function reduces the portability of your code, because it's highly specific for your current machine/environment. -The order of the adapters returned by ``wgpu.gpu.enumerate_adapters()`` is +The order of the adapters returned by ``fpl.enumerate_adapters()`` is such that Vulkan adapters go first, then Metal, then D3D12, then OpenGL. Within each category, the order as provided by the particular backend is maintained. Note that the same device may be present via multiple backends diff --git a/docs/source/user_guide/guide.rst b/docs/source/user_guide/guide.rst new file mode 100644 index 000000000..4f3dc64cb --- /dev/null +++ b/docs/source/user_guide/guide.rst @@ -0,0 +1,727 @@ +User Guide +========== + +Installation +------------ + +To install use pip: + +.. code-block:: + + # with imgui and jupyterlab + pip install -U "fastplotlib[notebook,imgui]" + + # minimal install, install glfw, pyqt6 or pyside6 separately + pip install -U fastplotlib + + # with imgui + pip install -U "fastplotlib[imgui]" + + # to use in jupyterlab, no imgui + pip install -U "fastplotlib[notebook]" + +We strongly recommend installing ``simplejpeg`` for use in notebooks, you must first install `libjpeg-turbo `_. + +- If you use ``conda``, you can get ``libjpeg-turbo`` through conda. +- If you are on linux you can get it through your distro's package manager. +- For Windows and Mac compiled binaries are available on their release page: https://github.com/libjpeg-turbo/libjpeg-turbo/releases + +Once you have ``libjpeg-turbo``: + +.. code-block:: + + pip install simplejpeg + +What is ``fastplotlib``? +------------------------ + +``fastplotlib`` is a cutting-edge plotting library built using the `pygfx `_ rendering engine. +The lower-level details of the rendering process (i.e. defining a scene, camera, renderer, etc.) are abstracted away, allowing users to focus on their data. +The fundamental goal of ``fastplotlib`` is to provide a high-level, expressive API that promotes large-scale explorative scientific visualization. We want to +make it easy and intuitive to produce interactive visualizations that are as performant and vibrant as a modern video game 😄 + + +``fastplotlib`` basics +---------------------- + +Before giving a detailed overview of the library, here is a minimal example:: + + import fastplotlib as fpl + import imageio.v3 as iio + + # create a `Figure` + fig = fpl.Figure() + + # read data + data = iio.imread("imageio:astronaut.png") + + # add image graphic + image_graphic = fig[0, 0].add_image(data=data) + + # show the plot + fig.show() + + if __name__ == "__main__": + fpl.run() + +.. image:: ../_static/guide_hello_world.png + + +This is just a simple example of how the ``fastplotlib`` API works to create a plot, add some image data to the plot, and then visualize it. +However, we are just scratching the surface of what is possible with ``fastplotlib``. +Next, let's take a look at the building blocks of ``fastplotlib`` and how they can be used to create more complex visualizations. + +Aside from this user guide, the Examples Gallery is the best place to learn specific things in fastplotlib. +If you still need help don't hesitate to post an issue or discussion post! + +Figure +------ + +The starting point for creating any visualization in ``fastplotlib`` is a ``Figure`` object. This can be a single subplot or many subplots. +The ``Figure`` object houses and takes care of the underlying rendering components such as the camera, controller, renderer, and canvas. +Most users won't need to use these directly; however, the ability to directly interact with the rendering engine is still available if +needed. + +By default, if no ``shape`` argument is provided when creating a ``Figure``, there will be a single ``Subplot``. + +If a shape argument is provided, all subplots in a ``Figure`` can be accessed by indexing (i.e. ``fig_object[i ,j]``). A "window layout" +with customizable subplot positions and sizes can also be set by providing a ``rects`` or ``extents`` argument. The Examples Gallery +has a few examples that show how to create a "Window Layout". + +After defining a ``Figure``, we can begin to add ``Graphic`` objects. + +Graphics +-------- + +A ``Graphic`` can be an image, a line, a scatter, a collection of lines, and more. All graphics can also be given a convenient ``name``. This allows graphics +to be easily accessed from figures:: + + # create a `Figure` + fig = fpl.Figure() + + # read data + data = iio.imread("imageio:astronaut.png") + + add image graphic + image_graphic = fig[0, 0].add_image(data=data, name="astronaut") + + # show figure + fig.show() + + # index subplot to get graphic + fig[0, 0]["astronaut"] + + # another way to index graphics in a subplot + fig[0, 0].graphics[0] is fig[0, 0]["astronaut"] # will return `True` + +.. + +See the examples gallery for examples on how to create and interactive with all the various types of graphics. + +Graphics also have mutable properties. Some of these properties, such as the ``data`` or ``colors`` of a line can even be sliced, +allowing for the creation of very powerful visualizations. Event handlers can be added to a graphic to capture changes to +any of these properties. + +(1) Common properties that all graphics have + ++--------------+--------------------------------------------------------------------------------------------------------------+ +| Feature Name | Description | ++==============+==============================================================================================================+ +| name | Graphic name | ++--------------+--------------------------------------------------------------------------------------------------------------+ +| offset | Offset position of the graphic, [x, y, z] | ++--------------+--------------------------------------------------------------------------------------------------------------+ +| rotation | Graphic rotation quaternion | ++--------------+--------------------------------------------------------------------------------------------------------------+ +| visible | Access or change the visibility | ++--------------+--------------------------------------------------------------------------------------------------------------+ +| deleted | Used when a graphic is deleted, triggers events that can be useful to indicate this graphic has been deleted | ++--------------+--------------------------------------------------------------------------------------------------------------+ + +(2) Graphic-Specific properties + + (a) ``ImageGraphic`` + + +------------------------+---------------------------------------------------+ + | Feature Name | Description | + +========================+===================================================+ + | data | Underlying image data | + +------------------------+---------------------------------------------------+ + | vmin | Lower contrast limit of an image | + +------------------------+---------------------------------------------------+ + | vmax | Upper contrast limit of an image | + +------------------------+---------------------------------------------------+ + | cmap | Colormap for a grayscale image, ignored if RGB(A) | + +------------------------+---------------------------------------------------+ + + (b) ``LineGraphic``, ``LineCollection``, ``LineStack`` + + +--------------+--------------------------------+ + | Feature Name | Description | + +==============+================================+ + | data | underlying data of the line(s) | + +--------------+--------------------------------+ + | colors | colors of the line(s) | + +--------------+--------------------------------+ + | cmap | colormap of the line(s) | + +--------------+--------------------------------+ + | thickness | thickness of the line(s) | + +--------------+--------------------------------+ + + (c) ``ScatterGraphic`` + + +--------------+---------------------------------------+ + | Feature Name | Description | + +==============+=======================================+ + | data | underlying data of the scatter points | + +--------------+---------------------------------------+ + | colors | colors of the scatter points | + +--------------+---------------------------------------+ + | cmap | colormap of the scatter points | + +--------------+---------------------------------------+ + | sizes | size of the scatter points | + +--------------+---------------------------------------+ + + (d) ``TextGraphic`` + + +-------------------+---------------------------+ + | Feature Name | Description | + +===================+===========================+ + | text | data of the text | + +-------------------+---------------------------+ + | font_size | size of the text | + +-------------------+---------------------------+ + | face_color | color of the text face | + +-------------------+---------------------------+ + | outline_color | color of the text outline | + +-------------------+---------------------------+ + | outline_thickness | thickness of the text | + +-------------------+---------------------------+ + +Using our example from above: once we add a ``Graphic`` to the figure, we can then begin to change its properties. :: + + image_graphic.vmax = 150 + +.. image:: ../_static/guide_hello_world_vmax.png + +``Graphic`` properties also support numpy-like slicing for getting and setting data. For example :: + + # basic numpy-like slicing, set the top right corner + image_graphic.data[:150, -150:] = 0 + +.. image:: ../_static/guide_hello_world_simple_slicing.png + +Fancy indexing is also supported! :: + + bool_array = np.random.choice([True, False], size=(512, 512), p=[0.1, 0.9]) + image_graphic.data[bool_array] = 254 + +.. image:: ../_static/guide_hello_world_fancy_slicing.png + + +Selectors +--------- + +A primary feature of ``fastplotlib`` is the ability to easily interact with your data. Two extremely helpful tools that can +be used in order to facilitate this process are a ``LinearSelector`` and ``LinearRegionSelector``. + +A ``LinearSelector`` is a horizontal or vertical line slider. This tool allows you to very easily select different points in your +data. Let's look at an example: :: + + import fastplotlib as fpl + import numpy as np + + # generate data + xs = np.linspace(-10, 10, 100) + ys = np.sin(xs) + sine = np.column_stack([xs, ys]) + + fig = fpl.Figure() + + sine_graphic = fig[0, 0].add_line(data=sine, colors="w") + + # add a linear selector the sine wave + selector = sine_graphic.add_linear_selector() + + fig.show(maintain_aspect=False) + +.. image:: ../_static/guide_linear_selector.webp + + +A ``LinearRegionSelector`` is very similar to a ``LinearSelector`` but as opposed to selecting a singular point of +your data, you are able to select an entire region. + +See the examples gallery for more in-depth examples with selector tools. + +Now we have the basics of creating a ``Figure``, adding ``Graphics`` to a ``Figure``, and working with ``Graphic`` properties to dynamically change or alter them. + +Events +------ + +Events can be a multitude of things: canvas events such as mouse or keyboard events, or events related to ``Graphic`` properties. + +There are two ways to add events to a graphic: + +1) Use the method `add_event_handler()` :: + + def event_handler(ev): + pass + + graphic.add_event_handler(event_handler, "event_type") + +.. + + +2) or a decorator :: + + @graphic.add_event_handler("event_type") + def event_handler(ev): + pass + +.. + + +The ``event_handler`` is a user-defined callback function that accepts an event instance as the first and only positional argument. +Information about the structure of event instances are described below. The ``"event_type"`` +is a string that identifies the type of event. + +``graphic.supported_events`` will return a tuple of all ``event_type`` strings that this graphic supports. + +When an event occurs, the user-defined event handler will receive an event object. Depending on the type of event, the +event object will have relevant information that can be used in the callback. See the next section for details. + +Graphic property events +^^^^^^^^^^^^^^^^^^^^^^^ + +All ``Graphic`` events are instances of ``fastplotlib.GraphicFeatureEvent`` and have the following attributes: + + +------------+-------------+-----------------------------------------------+ + | attribute | type | description | + +============+=============+===============================================+ + | type | str | name of the event type | + +------------+-------------+-----------------------------------------------+ + | graphic | Graphic | graphic instance that the event is from | + +------------+-------------+-----------------------------------------------+ + | info | dict | event info dictionary | + +------------+-------------+-----------------------------------------------+ + | target | WorldObject | pygfx rendering engine object for the graphic | + +------------+-------------+-----------------------------------------------+ + | time_stamp | float | time when the event occurred, in ms | + +------------+-------------+-----------------------------------------------+ + +Selectors have one event called ``selection`` which has extra attributes in addition to those listed in the table above. +The selection event section covers these. + +The ``info`` attribute for most graphic property events will have one key, ``"value"``, which is the new value +of the graphic property. Events for graphic properties that represent arrays, such the ``data`` properties for +images, lines, and scatters will contain more entries. Here are a list of all graphic properties that have such +additional entries: + +* ``ImageGraphic`` + * data + +* ``LineGraphic`` + * data, colors, cmap + +* ``ScatterGraphic`` + * data, colors, cmap, sizes + +You can understand an event's attributes by adding a simple event handler:: + + @graphic.add_event_handler("event_type") + def handler(ev): + print(ev.type) + print(ev.graphic) + print(ev.info) + + # trigger the event + graphic.event_type = + + # direct example + @image_graphic.add_event_handler("cmap") + def cmap_changed(ev): + print(ev.type) + print(ev.info) + + image_graphic.cmap = "viridis" + # this will trigger the cmap event and print the following: + # 'cmap' + # {"value": "viridis"} + +.. + +The :ref:`event_tables` provide a description of the event info dicts for all Graphic Feature Events. + +Selection event +~~~~~~~~~~~~~~~ + +The ``selection`` event for selectors has additional attributes, mostly ``callable`` methods, that aid in using the +selector tool, such as getting the indices or data under the selection. The ``info`` dict will contain one entry ``value`` +which is the new selection value. + +The :ref:`event_tables` provide a description of the additional attributes as well as the event info dicts for selector events. + +Canvas Events +^^^^^^^^^^^^^ + +Canvas events can be added to a graphic or to a Figure (see next section). +Here is a description of all canvas events and their attributes. + +The examples gallery provides several examples using pointer and key events. + +Pointer events +~~~~~~~~~~~~~~ + +**List of pointer events:** + +* **pointer_down**: emitted when the user interacts with mouse, + +* **pointer_up**: emitted when the user releases a pointer. + +* **pointer_move**: emitted when the user moves a pointer. + This event is throttled. + +* **click**: emmitted when a mouse button is clicked. + +* **double_click**: emitted on a double-click. + This event looks like a pointer event, but without the touches. + +* **wheel**: emitted when the mouse-wheel is used (scrolling), + or when scrolling/pinching on the touchpad/touchscreen. + + Similar to the JS wheel event, the values of the deltas depend on the + platform and whether the mouse-wheel, trackpad or a touch-gesture is + used. Also, scrolling can be linear or have inertia. As a rule of + thumb, one "wheel action" results in a cumulative ``dy`` of around + 100. Positive values of ``dy`` are associated with scrolling down and + zooming out. Positive values of ``dx`` are associated with scrolling + to the right. (A note for Qt users: the sign of the deltas is (usually) + reversed compared to the QWheelEvent.) + + On MacOS, using the mouse-wheel while holding shift results in horizontal + scrolling. In applications where the scroll dimension does not matter, + it is therefore recommended to use `delta = event['dy'] or event['dx']`. + + * *dx*: the horizontal scroll delta (positive means scroll right). + * *dy*: the vertical scroll delta (positive means scroll down or zoom out). + * *x*: the mouse horizontal position during the scroll. + * *y*: the mouse vertical position during the scroll. + * *buttons*: a tuple of buttons being pressed down. + * *modifiers*: a tuple of modifier keys being pressed down. + * *time_stamp*: a timestamp in seconds. + +All pointer events have the following attributes: + +* *x*: horizontal position of the pointer within the widget. +* *y*: vertical position of the pointer within the widget. +* *button*: the button to which this event applies. See "Mouse buttons" section below for details. +* *buttons*: a tuple of buttons being pressed down (see below) +* *modifiers*: a tuple of modifier keys being pressed down. See section below for details. +* *ntouches*: the number of simultaneous pointers being down. +* *touches*: a dict with int keys (pointer id's), and values that are dicts + that contain "x", "y", and "pressure". +* *time_stamp*: a timestamp in seconds. + +**Mouse buttons:** + +* 0: No button. +* 1: Left button. +* 2: Right button. +* 3: Middle button +* 4-9: etc. + +Key events +~~~~~~~~~~ + +**List of key (keyboard keys) events:** + +* **key_down**: emitted when a key is pressed down. + +* **key_up**: emitted when a key is released. + +Key events have the following attributes: + +* *key*: the key being pressed as a string. See section below for details. +* *modifiers*: a tuple of modifier keys being pressed down. +* *time_stamp*: a timestamp in seconds. + +The key names follow the `browser spec `_. + +* Keys that represent a character are simply denoted as such. For these the case matters: + "a", "A", "z", "Z" "3", "7", "&", " " (space), etc. +* The modifier keys are: + "Shift", "Control", "Alt", "Meta". +* Some example keys that do not represent a character: + "ArrowDown", "ArrowUp", "ArrowLeft", "ArrowRight", "F1", "Backspace", etc. + +Time stamps +~~~~~~~~~~~ + +Since the time origin of ``time_stamp`` values is undefined, +time stamp values only make sense in relation to other time stamps. + +Add canvas event handlers to a Figure +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +You can add event handlers to a ``Figure`` object's renderer. For example, this is useful for defining click events +where you want to map click positions to the nearest graphic object. See the previous section for a description +of all the canvas events. + +Renderer event handlers can be added using a method or a decorator. + +For example: :: + + import fastplotlib as fpl + import numpy as np + + # generate some circles + def make_circle(center, radius: float, n_points: int = 75) -> np.ndarray: + theta = np.linspace(0, 2 * np.pi, n_points) + xs = radius * np.sin(theta) + ys = radius * np.cos(theta) + + return np.column_stack([xs, ys]) + center + + # this makes 5 circles, so we can create 5 cmap values, so it will use these values to set the + # color of the line based by using the cmap as a LUT with the corresponding cmap_value + circles = list() + for x in range(0, 50, 10): + circles.append(make_circle(center=(x, 0), radius=4, n_points=100)) + + # create figure + fig = fpl.Figure() + + # add circles to plot + circles_graphic = fig[0,0].add_line_collection(data=circles, cmap="tab10", thickness=10) + + # get the nearest graphic that is clicked and change the color + @fig.renderer.add_event_handler("click") + def click_event(ev): + # reset colors + circles_graphic.cmap = "tab10" + + # map the click position to world coordinates + xy = fig[0, 0].map_screen_to_world(ev)[:-1] + + # get the nearest graphic to the position + nearest = fpl.utils.get_nearest_graphics(xy, circles_graphic)[0] + + # change the closest graphic color to white + nearest.colors = "w" + + fig.show() + +.. image:: ../_static/guide_click_event.webp + +Integrating with UI libraries +----------------------------- + +After you are comfortable with creating graphics, changing their properties, and creating events, you can easily integrate +``fastplotlib`` with common UI libraries such as ``ipywidgets``, ``Qt``, and ``imgui``. ``wx`` should also work but this +is not thoroughly tested. + +ipywidgets +^^^^^^^^^^ + +The `ipywidgets `_ library is great for rapidly building UIs for prototyping +in jupyter. It is particularly useful for scientific and engineering applications since we can rapidly create a UI to +interact with our ``fastplotlib`` visualization. The main downside is that it only works in jupyter. + +.. image:: ../_static/guide_ipywidgets.webp + +For examples please see the examples gallery. + +Qt +^^ + +Qt is a very popular UI library written in C++, ``PyQt6`` and ``PySide6`` provide python bindings. There are countless +tutorials on how to build a UI using Qt which you can easily find if you google ``PyQt``. You can embed a ``Figure`` as +a Qt widget within a Qt application. + +For examples please see the examples gallery. + +imgui +^^^^^ + +`Imgui `_ is also a very popular library used for building UIs. The difference +between imgui and ipywidgets, Qt, and wx is the imgui UI can be rendered directly on the same canvas as a fastplotlib +``Figure``. This is hugely advantageous, it means that you can write an imgui UI and it will run on any GUI backend, +i.e. it will work in jupyter, Qt, glfw and wx windows! The programming model is different from Qt and ipywidgets, there +are no callbacks, but it is easy to learn if you see a few examples. + +.. image:: ../_static/guide_imgui.png + +We specifically use `imgui-bundle `_ for the python bindings in fastplotlib. +There is large community and many resources out there on building UIs using imgui. + +To install ``fastplotlib`` with ``imgui`` use the ``imgui`` extras option, i.e. ``pip install fastplotlib[imgui]``, or ``pip install imgui_bundle`` if you've already installed fastplotlib. + +Fastplotlib comes built-in with imgui UIs for subplot toolbars and a standard right-click menu with a number of options. +You can also make custom GUIs and embed them within the canvas, see the examples gallery for detailed examples. + +**Some tips:** + +The ``imgui-bundle`` docs as of March 2025 don't have a nice API list (as far as I know), here is how we go about developing UIs with imgui: + +1. Use the ``pyimgui`` API docs to locate the type of UI element we want, for example if we want a ``slider_int``: https://pyimgui.readthedocs.io/en/latest/reference/imgui.core.html#imgui.core.slider_int + +2. Look at the function signature in the ``imgui-bundle`` sources. You can usually access this easily with your IDE: https://github.com/pthom/imgui_bundle/blob/a5e7d46555832c40e9be277d4747eac5a303dbfc/bindings/imgui_bundle/imgui/__init__.pyi#L1693-L1696 + +3. ``pyimgui`` and ``imgui-bundle`` sometimes don't have the same function signature, so we use a combination of the pyimgui docs and +imgui-bundle function signature to understand and implement the UI element. + +ImageWidget +----------- + +Often times, developing UIs for interacting with multi-dimension image data can be tedious and repetitive. +In order to aid with common image and video visualization requirements the ``ImageWidget`` automatically generates sliders +to easily navigate through different dimensions of your data. The image widget supports 2D, 3D and 4D arrays. + +Let's look at an example: :: + + import fastplotlib as fpl + import imageio.v3 as iio + + movie = iio.imread("imageio:cockatoo.mp4") + + iw_movie = ImageWidget( + data=movie, + rgb=True + ) + + iw_movie.show() + +.. image:: ../_static/guide_image_widget.webp + +Animations +---------- + +An animation function is a user-defined function that gets called on every rendering cycle. Let's look at an example: :: + + import fastplotlib as fpl + import numpy as np + + # generate some data + start, stop = 0, 2 * np.pi + increment = (2 * np.pi) / 50 + + # make a simple sine wave + xs = np.linspace(start, stop, 100) + ys = np.sin(xs) + + figure = fpl.Figure(size=(700, 560)) + + # plot the image data + sine = figure[0, 0].add_line(ys, name="sine", colors="r") + + + # increment along the x-axis on each render loop :D + def update_line(subplot): + global increment, start, stop + xs = np.linspace(start + increment, stop + increment, 100) + ys = np.sin(xs) + + start += increment + stop += increment + + # change only the y-axis values of the line + subplot["sine"].data[:, 1] = ys + + + figure[0, 0].add_animations(update_line) + + figure.show(maintain_aspect=False) + +.. image:: ../_static/guide_animation.webp + +Here we are defining a function that updates the data of the ``LineGraphic`` in the plot with new data. When adding an animation function, the +user-defined function will receive a subplot instance as an argument when it is called. + +Spaces +------ + +There are several spaces to consider when using ``fastplotlib``: + +1) World Space + + World space is the 3D space in which graphical objects live. Objects + and the camera can exist anywhere in this space. + +2) Data Space + + Data space is simply the world space plus any offset or rotation that has been applied to an object. + +.. note:: + World space does not always correspond directly to data space, you may have to adjust for any offset or rotation of the ``Graphic``. + +3) Screen Space + + Screen space is the 2D space in which your screen pixels reside. This space is constrained by the screen width and height in pixels. + In the rendering process, the camera is responsible for projecting the world space into screen space. + +.. note:: + When interacting with ``Graphic`` objects, there is a very helpful function for mapping screen space to world space + (``Figure.map_screen_to_world(pos=(x, y))``). This can be particularly useful when working with click events where click + positions are returned in screen space but ``Graphic`` objects that you may want to interact with exist in world + space. + +For more information on the various spaces used by rendering engines please see this `article `_ + +JupyterLab and IPython +---------------------- + +In ``jupyter lab`` you have the option to embed ``Figures`` in regular output cells, on the side with ``sidecar``, +or show figures in separate Qt windows. Note: Once you have selected a display mode, we do not recommend switching to +a different display mode. Restart the kernel to reliably choose a different display mode. By default, fastplotlib +figures will be embedded in the notebook cell's output. + +The `quickstart example notebook `_ +is also a great place to start. + +Notebooks and remote rendering +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +To display the ``Figure`` in the notebook output, the ``fig.show()`` call must be the last line in the code cell. Or +you can use ipython's display call: ``display(fig.show())``. + +To display the figure on the side: ``fig.show(sidecar=True)`` + +You can make use of all `ipywidget layout `_ +options to display multiple figures:: + + from ipywidgets import VBox, HBox + + # stack figures vertically or horizontally + VBox([fig1.show(), fig2.show()]) + +Again the ``VBox([...])`` call must be the last line in the code cell, or you can use ``display(VBox([...]))`` + +You can combine ipywidget layouting just like any other ipywidget:: + + # display a figure on top of two figures laid out horizontally + + VBox([ + fig1.show(), + HBox([fig2.show(), fig3.show()]) + ]) + +Embedded figures will also render if you're using the notebook from a remote computer since rendering is done on the +server side and the client only receives a jpeg stream of rendered frames. This allows you to visualize very large +datasets on remote servers since the rendering is done remotely and you do not transfer any of the raw data to the +client. + +You can create dashboards or webapps with ``fastplotlib`` by running the notebook with +`voila `_. This is great for sharing visualizations of very large datasets +that are too large to share over the internet, and creating fast interactive applications for the analysis of very +large datasets. + +Qt windows in jupyter and IPython +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Qt windows can also be used for displaying fastplotlib figures in an interactive jupyterlab or IPython. You must run +``%gui qt`` **before** importing ``fastplotlib`` (or ``wgpu``). This would typically be done at the very top of your +notebook. + +Note that this only works if you are using jupyterlab or ipython locally, this cannot be used for remote rendering. +You can forward windows (ex: X11 forwarding) but this is much slower than the remote rendering described in the +previous section. diff --git a/docs/source/user_guide/index.rst b/docs/source/user_guide/index.rst new file mode 100644 index 000000000..92f0da98c --- /dev/null +++ b/docs/source/user_guide/index.rst @@ -0,0 +1,11 @@ +User Guide +********** + +.. toctree:: + :caption: User Guide + :maxdepth: 2 + + guide + event_tables + gpu + faq diff --git a/examples/README.rst b/examples/README.rst index 138ec748b..fd8eb8da2 100644 --- a/examples/README.rst +++ b/examples/README.rst @@ -1,2 +1,2 @@ -Examples that use fastplotlib -============================= +Examples Gallery +**************** diff --git a/examples/controllers/README.rst b/examples/controllers/README.rst new file mode 100644 index 000000000..824087ce3 --- /dev/null +++ b/examples/controllers/README.rst @@ -0,0 +1,2 @@ +Controller examples +=================== diff --git a/examples/controllers/specify_integers.py b/examples/controllers/specify_integers.py new file mode 100644 index 000000000..e74b9dd28 --- /dev/null +++ b/examples/controllers/specify_integers.py @@ -0,0 +1,50 @@ +""" +Specify IDs with integers +========================= + +Specify controllers to sync subplots using integer IDs +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'screenshot' + +import numpy as np +import fastplotlib as fpl + + +xs = np.linspace(0, 2 * np.pi, 100) +sine = np.sin(xs) +cosine = np.cos(xs) + +# controller IDs +# one controller is created for each unique ID +# if the IDs are the same, those subplots will be synced +ids = [ + [0, 1], + [2, 0], +] + +figure = fpl.Figure( + shape=(2, 2), + controller_ids=ids, + size=(700, 560), +) + +for subplot, controller_id in zip(figure, np.asarray(ids).ravel()): + subplot.title = f"contr. id: {controller_id}" + +figure[0, 0].add_line(np.column_stack([xs, sine])) + +figure[0, 1].add_line(np.random.rand(100)) +figure[1, 0].add_line(np.random.rand(100)) + +figure[1, 1].add_line(np.column_stack([xs, cosine])) + +figure.show(maintain_aspect=False) + + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/controllers/specify_names.py b/examples/controllers/specify_names.py new file mode 100644 index 000000000..0023651a7 --- /dev/null +++ b/examples/controllers/specify_names.py @@ -0,0 +1,47 @@ +""" +Specify IDs with subplot names +============================== + +Provide a list of tuples where each tuple has subplot names. The same controller will be used for the subplots +indicated by each of these tuples +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'screenshot' + +import numpy as np +import fastplotlib as fpl + + +xs = np.linspace(0, 2 * np.pi, 100) +ys = np.sin(xs) + +# create some subplots names +names = ["subplot_0", "subplot_1", "subplot_2", "subplot_3", "subplot_4", "subplot_5"] + +# list of tuples of subplot names +# subplots within each tuple will use the same controller. +ids = [ + ("subplot_0", "subplot_3"), + ("subplot_1", "subplot_2", "subplot_4"), +] + + +figure = fpl.Figure( + shape=(2, 3), + controller_ids=ids, + names=names, + size=(700, 560), +) + +for subplot in figure: + subplot.add_line(np.column_stack([xs, ys + np.random.normal(scale=0.1, size=100)])) + +figure.show(maintain_aspect=False) + + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/controllers/sync_all.py b/examples/controllers/sync_all.py new file mode 100644 index 000000000..3a1ee0093 --- /dev/null +++ b/examples/controllers/sync_all.py @@ -0,0 +1,30 @@ +""" +Sync subplots +============= + +Use one controller for all subplots. +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'screenshot' + +import numpy as np +import fastplotlib as fpl + + +xs = np.linspace(0, 2 * np.pi, 100) +ys = np.sin(xs) + +figure = fpl.Figure(shape=(2, 2), controller_ids="sync", size=(700, 560)) + +for subplot in figure: + subplot.add_line(np.column_stack([xs, ys + np.random.normal(scale=0.5, size=100)])) + +figure.show(maintain_aspect=False) + + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/data/iris.npy b/examples/data/iris.npy new file mode 100644 index 000000000..052b84bac --- /dev/null +++ b/examples/data/iris.npy @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d225ff4d95359a808b30d2e3e4462dd126f9781a827acb00e832c8a9d4f9cb0 +size 4928 diff --git a/examples/desktop/README.rst b/examples/desktop/README.rst deleted file mode 100644 index e69de29bb..000000000 diff --git a/examples/desktop/data/iris.npy b/examples/desktop/data/iris.npy deleted file mode 100644 index a8c7e5ab0..000000000 Binary files a/examples/desktop/data/iris.npy and /dev/null differ diff --git a/examples/desktop/gridplot/README.rst b/examples/desktop/gridplot/README.rst deleted file mode 100644 index 486e708e7..000000000 --- a/examples/desktop/gridplot/README.rst +++ /dev/null @@ -1,2 +0,0 @@ -GridPlot Examples -================= diff --git a/examples/desktop/gridplot/gridplot_non_square.py b/examples/desktop/gridplot/gridplot_non_square.py deleted file mode 100644 index c8a68cc85..000000000 --- a/examples/desktop/gridplot/gridplot_non_square.py +++ /dev/null @@ -1,35 +0,0 @@ -""" -GridPlot Non-Square Example -=========================== - -Example showing simple 2x2 GridPlot with Standard images from imageio. -""" - -# test_example = true -# sphinx_gallery_pygfx_docs = 'screenshot' - -import fastplotlib as fpl -import imageio.v3 as iio - -figure = fpl.Figure(shape=(2, 2), controller_ids="sync") - -im = iio.imread("imageio:clock.png") -im2 = iio.imread("imageio:astronaut.png") -im3 = iio.imread("imageio:coffee.png") - -figure[0, 0].add_image(data=im) -figure[0, 1].add_image(data=im2) -figure[1, 0].add_image(data=im3) - -figure.show() - -figure.canvas.set_logical_size(700, 560) - -for subplot in figure: - subplot.auto_scale() - -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter -if __name__ == "__main__": - print(__doc__) - fpl.run() diff --git a/examples/desktop/heatmap/heatmap.py b/examples/desktop/heatmap/heatmap.py deleted file mode 100644 index 08b284749..000000000 --- a/examples/desktop/heatmap/heatmap.py +++ /dev/null @@ -1,34 +0,0 @@ -""" -Simple Heatmap -============== -Example showing how to plot a heatmap -""" - -# test_example = true -# sphinx_gallery_pygfx_docs = 'screenshot' - -import fastplotlib as fpl -import numpy as np - -figure = fpl.Figure() - -xs = np.linspace(0, 1_000, 10_000, dtype=np.float32) - -sine = np.sin(np.sqrt(xs)) - -data = np.vstack([sine * i for i in range(20_000)]) - -# plot the image data -img = figure[0, 0].add_image(data=data, name="heatmap") - -figure.show() - -figure.canvas.set_logical_size(700, 560) - -figure[0, 0].auto_scale() - -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter -if __name__ == "__main__": - print(__doc__) - fpl.run() diff --git a/examples/desktop/heatmap/heatmap_cmap.py b/examples/desktop/heatmap/heatmap_cmap.py deleted file mode 100644 index f51981bed..000000000 --- a/examples/desktop/heatmap/heatmap_cmap.py +++ /dev/null @@ -1,37 +0,0 @@ -""" -Heatmap change cmap -=================== -Change the cmap of a heatmap -""" - - -# test_example = false -# sphinx_gallery_pygfx_docs = 'hidden' - -import fastplotlib as fpl -import numpy as np - -figure = fpl.Figure() - -xs = np.linspace(0, 1_000, 10_000, dtype=np.float32) - -sine = np.sin(np.sqrt(xs)) - -data = np.vstack([sine * i for i in range(20_000)]) - -# plot the image data -img = figure[0, 0].add_image(data=data, name="heatmap") - -figure.show() - -figure.canvas.set_logical_size(700, 560) - -figure[0, 0].auto_scale() - -img.cmap = "viridis" - -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter -if __name__ == "__main__": - print(__doc__) - fpl.run() diff --git a/examples/desktop/heatmap/heatmap_data.py b/examples/desktop/heatmap/heatmap_data.py deleted file mode 100644 index 9334ea4d7..000000000 --- a/examples/desktop/heatmap/heatmap_data.py +++ /dev/null @@ -1,38 +0,0 @@ -""" -Heatmap change data -=================== -Change the data of a heatmap -""" - -# test_example = false -# sphinx_gallery_pygfx_docs = 'hidden' - -import fastplotlib as fpl -import numpy as np - -figure = fpl.Figure() - -xs = np.linspace(0, 1_000, 9_000, dtype=np.float32) - -sine = np.sin(np.sqrt(xs)) - -data = np.vstack([sine * i for i in range(9_000)]) - -# plot the image data -img = figure[0, 0].add_image(data=data, name="heatmap") - -figure.show() - -figure.canvas.set_logical_size(700, 560) - -figure[0, 0].auto_scale() -cosine = np.cos(np.sqrt(xs)[:3000]) - -# change first 2,000 rows and 3,000 columns -img.data[:2_000, :3_000] = np.vstack([cosine * i * 4 for i in range(2_000)]) - -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter -if __name__ == "__main__": - print(__doc__) - fpl.run() diff --git a/examples/desktop/heatmap/heatmap_square.py b/examples/desktop/heatmap/heatmap_square.py deleted file mode 100644 index 51e71695a..000000000 --- a/examples/desktop/heatmap/heatmap_square.py +++ /dev/null @@ -1,34 +0,0 @@ -""" -Square Heatmap -============== -square heatmap test -""" - -# test_example = false -# sphinx_gallery_pygfx_docs = 'hidden' - -import fastplotlib as fpl -import numpy as np - - -figure = fpl.Figure() - -xs = np.linspace(0, 1_000, 20_000, dtype=np.float32) - -sine = np.sin(np.sqrt(xs)) - -data = np.vstack([sine * i for i in range(20_000)]) - -# plot the image data -img = figure[0, 0].add_image(data=data, name="heatmap") - -del data # data no longer needed after given to graphic -figure.show() - -figure.canvas.set_logical_size(1500, 1500) - -figure[0, 0].auto_scale() - -if __name__ == "__main__": - print(__doc__) - fpl.run() diff --git a/examples/desktop/heatmap/heatmap_vmin_vmax.py b/examples/desktop/heatmap/heatmap_vmin_vmax.py deleted file mode 100644 index 45c960fd8..000000000 --- a/examples/desktop/heatmap/heatmap_vmin_vmax.py +++ /dev/null @@ -1,37 +0,0 @@ -""" -Heatmap change vmin vmax -======================== -Change the vmin vmax of a heatmap -""" - -# test_example = false -# sphinx_gallery_pygfx_docs = 'hidden' - -import fastplotlib as fpl -import numpy as np - -figure = fpl.Figure() - -xs = np.linspace(0, 1_000, 10_000, dtype=np.float32) - -sine = np.sin(np.sqrt(xs)) - -data = np.vstack([sine * i for i in range(20_000)]) - -# plot the image data -img = figure[0, 0].add_image(data=data, name="heatmap") - -figure.show() - -figure.canvas.set_logical_size(700, 560) - -figure[0, 0].auto_scale() - -img.vmin = -5_000 -img.vmax = 10_000 - -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter -if __name__ == "__main__": - print(__doc__) - fpl.run() diff --git a/examples/desktop/heatmap/heatmap_wide.py b/examples/desktop/heatmap/heatmap_wide.py deleted file mode 100644 index dccf531e2..000000000 --- a/examples/desktop/heatmap/heatmap_wide.py +++ /dev/null @@ -1,33 +0,0 @@ -""" -Wide Heatmap -============ -Wide example -""" - -# test_example = false -# sphinx_gallery_pygfx_docs = 'hidden' - -import fastplotlib as fpl -import numpy as np - - -figure = fpl.Figure() - -xs = np.linspace(0, 1_000, 20_000, dtype=np.float32) - -sine = np.sin(np.sqrt(xs)) - -data = np.vstack([sine * i for i in range(10_000)]) - -# plot the image data -img = figure[0, 0].add_image(data=data, name="heatmap") - -figure.show() - -figure.canvas.set_logical_size(1500, 1500) - -figure[0, 0].auto_scale() - -if __name__ == "__main__": - print(__doc__) - fpl.run() diff --git a/examples/desktop/image/image_widget.py b/examples/desktop/image/image_widget.py deleted file mode 100644 index de1d27de1..000000000 --- a/examples/desktop/image/image_widget.py +++ /dev/null @@ -1,22 +0,0 @@ -""" -Image widget -============ - -Example showing the image widget in action. -When run in a notebook, or with the Qt GUI backend, sliders are also shown. -""" - -# sphinx_gallery_pygfx_docs = 'hidden' - -import fastplotlib as fpl -import imageio.v3 as iio # not a fastplotlib dependency, only used for examples - -a = iio.imread("imageio:camera.png") -iw = fpl.ImageWidget(data=a, cmap="viridis") -iw.show() - -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter -if __name__ == "__main__": - print(__doc__) - fpl.run() diff --git a/examples/desktop/line_collection/line_stack.py b/examples/desktop/line_collection/line_stack.py deleted file mode 100644 index e7f7125e1..000000000 --- a/examples/desktop/line_collection/line_stack.py +++ /dev/null @@ -1,39 +0,0 @@ -""" -Line Stack -========== - -Example showing how to plot a stack of lines -""" - -# test_example = true -# sphinx_gallery_pygfx_docs = 'screenshot' - -import numpy as np -import fastplotlib as fpl - - -xs = np.linspace(0, np.pi * 10, 100) -# sine wave -ys = np.sin(xs) - -data = np.column_stack([xs, ys]) -multi_data = np.stack([data] * 10) - -figure = fpl.Figure() - -line_stack = figure[0, 0].add_line_stack( - multi_data, # shape: (10, 100, 2), i.e. [n_lines, n_points, xy] - cmap="jet", # applied along n_lines - thickness=5, - separation=1, # spacing between lines along the separation axis, default separation along "y" axis -) - -figure.show(maintain_aspect=False) - -figure.canvas.set_logical_size(700, 560) - -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter -if __name__ == "__main__": - print(__doc__) - fpl.run() diff --git a/examples/desktop/misc/simple_event.py b/examples/desktop/misc/simple_event.py deleted file mode 100644 index b6d408862..000000000 --- a/examples/desktop/misc/simple_event.py +++ /dev/null @@ -1,56 +0,0 @@ -""" -Simple Event -============ - -Example showing how to add a simple callback event. -""" - -# test_example = false -# sphinx_gallery_pygfx_docs = 'screenshot' - -import fastplotlib as fpl -import imageio.v3 as iio - -data = iio.imread("imageio:camera.png") - -# Create a figure -figure = fpl.Figure() - -# plot sine wave, use a single color -image_graphic = figure[0,0].add_image(data=data) - -# show the plot -figure.show() - - -# define callback function to print the event data -def callback_func(event_data): - print(event_data.info) - - -# Will print event data when the color changes -image_graphic.add_event_handler(callback_func, "cmap") - -image_graphic.cmap = "viridis" - - -# adding a click event, we can also use decorators to add event handlers -@image_graphic.add_event_handler("click") -def click_event(event_data): - # get the click location in screen coordinates - xy = (event_data.x, event_data.y) - - # map the screen coordinates to world coordinates - xy = figure[0,0].map_screen_to_world(xy)[:-1] - - # print the click location - print(xy) - - -figure.canvas.set_logical_size(700, 560) - -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter -if __name__ == "__main__": - print(__doc__) - fpl.run() diff --git a/examples/desktop/screenshots/gridplot.png b/examples/desktop/screenshots/gridplot.png deleted file mode 100644 index 315958673..000000000 --- a/examples/desktop/screenshots/gridplot.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d43e6972bf76aa2de400616bde4275cd05d3a945475742ec7f63f7658628292b -size 264437 diff --git a/examples/desktop/screenshots/gridplot_non_square.png b/examples/desktop/screenshots/gridplot_non_square.png deleted file mode 100644 index 689585b40..000000000 --- a/examples/desktop/screenshots/gridplot_non_square.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:703285790dc96500a7a376f6e78953c943643f4ecf3102182072c2bd0bf8190c -size 173753 diff --git a/examples/desktop/screenshots/heatmap.png b/examples/desktop/screenshots/heatmap.png deleted file mode 100644 index 0514daf94..000000000 --- a/examples/desktop/screenshots/heatmap.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:03b3ab1fc8aa602eb94beed1f5fa5712452ee802bb3230c4fd066d073bdd4ad2 -size 40100 diff --git a/examples/desktop/screenshots/image_cmap.png b/examples/desktop/screenshots/image_cmap.png deleted file mode 100644 index 91124db6a..000000000 --- a/examples/desktop/screenshots/image_cmap.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f18a55da8cede25dbb77b18e8cf374d158a66b823d029714983218e55ee68249 -size 187688 diff --git a/examples/desktop/screenshots/image_rgb.png b/examples/desktop/screenshots/image_rgb.png deleted file mode 100644 index 8ae39eaad..000000000 --- a/examples/desktop/screenshots/image_rgb.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3851bea9ee908a460750b40a0a5709aff1b28afa6adf11c9ad2ed8239958caa4 -size 216343 diff --git a/examples/desktop/screenshots/image_rgbvminvmax.png b/examples/desktop/screenshots/image_rgbvminvmax.png deleted file mode 100644 index 478ce40fe..000000000 --- a/examples/desktop/screenshots/image_rgbvminvmax.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2ec8ddd362197ba802f8381d5baea226dc30689eee5e5dc744c2da710f0b3482 -size 33860 diff --git a/examples/desktop/screenshots/image_simple.png b/examples/desktop/screenshots/image_simple.png deleted file mode 100644 index c60293498..000000000 --- a/examples/desktop/screenshots/image_simple.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:216791f48cee8ddb9979ecc8b7b7435c0fe22c2734148c25314f1827a5c9ad66 -size 187868 diff --git a/examples/desktop/screenshots/image_small.png b/examples/desktop/screenshots/image_small.png deleted file mode 100644 index cda3a2584..000000000 --- a/examples/desktop/screenshots/image_small.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3f2af0ed16ec82842ad9d45d5a8b6189e77a2f2f8adb21dd82bc1636979cd2c7 -size 2325 diff --git a/examples/desktop/screenshots/image_vminvmax.png b/examples/desktop/screenshots/image_vminvmax.png deleted file mode 100644 index 478ce40fe..000000000 --- a/examples/desktop/screenshots/image_vminvmax.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2ec8ddd362197ba802f8381d5baea226dc30689eee5e5dc744c2da710f0b3482 -size 33860 diff --git a/examples/desktop/screenshots/line.png b/examples/desktop/screenshots/line.png deleted file mode 100644 index 605540225..000000000 --- a/examples/desktop/screenshots/line.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d7f3736d4464cfd942e87d21be1a18d09f5d0d239a7e1c7679e918dcc5c9331c -size 26701 diff --git a/examples/desktop/screenshots/line_cmap.png b/examples/desktop/screenshots/line_cmap.png deleted file mode 100644 index cab91220f..000000000 --- a/examples/desktop/screenshots/line_cmap.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1f154346cffbaa0957a9986d8b7beef417b66ef0cec7dbed3c20780d91425567 -size 29231 diff --git a/examples/desktop/screenshots/line_collection.png b/examples/desktop/screenshots/line_collection.png deleted file mode 100644 index f3fb5052b..000000000 --- a/examples/desktop/screenshots/line_collection.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ca08ce57a1cf57c334add1c41351f3b823f06ad8da463017d0815cf7cfea03b3 -size 91085 diff --git a/examples/desktop/screenshots/line_collection_cmap_values.png b/examples/desktop/screenshots/line_collection_cmap_values.png deleted file mode 100644 index 33af5b917..000000000 --- a/examples/desktop/screenshots/line_collection_cmap_values.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:12ddca084dc83478c6b3d263f11f456f8b81e7a8a291d6b9024dbcecbfb049c0 -size 57107 diff --git a/examples/desktop/screenshots/line_collection_cmap_values_qualitative.png b/examples/desktop/screenshots/line_collection_cmap_values_qualitative.png deleted file mode 100644 index 57f45605b..000000000 --- a/examples/desktop/screenshots/line_collection_cmap_values_qualitative.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:74d5999cdd0b992f73bafb1bd74c318fd9cf058aed232068ab7dcb76d86df556 -size 60881 diff --git a/examples/desktop/screenshots/line_collection_colors.png b/examples/desktop/screenshots/line_collection_colors.png deleted file mode 100644 index 9c27854ed..000000000 --- a/examples/desktop/screenshots/line_collection_colors.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a152331c51ed5440c5faf2a59439d90832521fbb1498d9635ddae088219ca353 -size 46941 diff --git a/examples/desktop/screenshots/line_collection_slicing.png b/examples/desktop/screenshots/line_collection_slicing.png deleted file mode 100644 index 1145e84dc..000000000 --- a/examples/desktop/screenshots/line_collection_slicing.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bdfdc2b2c5799e814ef5a1e32748a2a6d2dd88005f6fa0d9c456b8dadfada5db -size 124609 diff --git a/examples/desktop/screenshots/line_colorslice.png b/examples/desktop/screenshots/line_colorslice.png deleted file mode 100644 index 825ce8e3f..000000000 --- a/examples/desktop/screenshots/line_colorslice.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:de5a56c96a062ed0ec154ae21f3a3a67087e0c8aef6d8e4681c67a016424144a -size 31971 diff --git a/examples/desktop/screenshots/line_dataslice.png b/examples/desktop/screenshots/line_dataslice.png deleted file mode 100644 index 71c3d1918..000000000 --- a/examples/desktop/screenshots/line_dataslice.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e4dece6f721068a1ae37c6830110f97df64ea57c467ef4d7f42b73575d2ee476 -size 43995 diff --git a/examples/desktop/screenshots/line_stack.png b/examples/desktop/screenshots/line_stack.png deleted file mode 100644 index 026b1f61e..000000000 --- a/examples/desktop/screenshots/line_stack.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1384f1030e81fc05b24db040ac47a3bd62663358dcbdd0e77b3d675d5edd4357 -size 86938 diff --git a/examples/desktop/screenshots/scatter_cmap_iris.png b/examples/desktop/screenshots/scatter_cmap_iris.png deleted file mode 100644 index 2a6ae7016..000000000 --- a/examples/desktop/screenshots/scatter_cmap_iris.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b781b387476028a5eaf2083c40d57306afbcbc2a6754dce6fb66cf71ddd689d1 -size 31719 diff --git a/examples/desktop/screenshots/scatter_colorslice_iris.png b/examples/desktop/screenshots/scatter_colorslice_iris.png deleted file mode 100644 index 45c5d940c..000000000 --- a/examples/desktop/screenshots/scatter_colorslice_iris.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:68f93c08d361232c9be2220a68db8659c9c3c81c3cdb4e1a1ce9b366fb28b4f5 -size 13215 diff --git a/examples/desktop/screenshots/scatter_dataslice_iris.png b/examples/desktop/screenshots/scatter_dataslice_iris.png deleted file mode 100644 index 1121d032c..000000000 --- a/examples/desktop/screenshots/scatter_dataslice_iris.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5d662e151062a136a17dac1f8693ba13f41daac05e91e32ee9c7053715f9ee17 -size 14437 diff --git a/examples/desktop/screenshots/scatter_iris.png b/examples/desktop/screenshots/scatter_iris.png deleted file mode 100644 index 7d107d964..000000000 --- a/examples/desktop/screenshots/scatter_iris.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4fc88e52cc4ede6d1453746461da645f8b3df0a3099155caf639768a5ad4424c -size 14148 diff --git a/examples/desktop/screenshots/scatter_size.png b/examples/desktop/screenshots/scatter_size.png deleted file mode 100644 index 66b31cab9..000000000 --- a/examples/desktop/screenshots/scatter_size.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9d1eeb96dc1f52c4d48889a8b00387387cccb7b83d479c1c4b47789b281a1cd5 -size 34222 diff --git a/examples/events/README.rst b/examples/events/README.rst new file mode 100644 index 000000000..8e2deca4b --- /dev/null +++ b/examples/events/README.rst @@ -0,0 +1,4 @@ +Events +====== + +Several examples using events \ No newline at end of file diff --git a/examples/events/cmap_event.py b/examples/events/cmap_event.py new file mode 100644 index 000000000..62913cb29 --- /dev/null +++ b/examples/events/cmap_event.py @@ -0,0 +1,75 @@ +""" +cmap event +========== + +Add a cmap event handler to multiple graphics. When any one graphic changes the cmap, the cmap of all other graphics +is also changed. + +This also shows how bidirectional events are supported. +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'screenshot' + +import numpy as np +import fastplotlib as fpl +import imageio.v3 as iio + +# load images +img1 = iio.imread("imageio:camera.png") +img2 = iio.imread("imageio:moon.png") + +# Create a figure +figure = fpl.Figure( + shape=(2, 2), + size=(700, 560), + names=["camera", "moon", "sine", "cloud"], +) + +# create graphics +figure["camera"].add_image(img1) +figure["moon"].add_image(img2) + +# sine wave +xs = np.linspace(0, 4 * np.pi, 100) +ys = np.sin(xs) + +figure["sine"].add_line(np.column_stack([xs, ys])) + +# make a 2D gaussian cloud +cloud_data = np.random.normal(0, scale=3, size=1000).reshape(500, 2) +figure["cloud"].add_scatter( + cloud_data, + sizes=3, + cmap="plasma", + cmap_transform=np.linalg.norm(cloud_data, axis=1) # cmap transform using distance from origin +) +figure["cloud"].axes.intersection = (0, 0, 0) + +# show the plot +figure.show() + + +# event handler to change the cmap of all graphics when the cmap of any one graphic changes +def cmap_changed(ev: fpl.GraphicFeatureEvent): + # get the new cmap + new_cmap = ev.info["value"] + + # set cmap of the graphics in the other subplots + for subplot in figure: + subplot.graphics[0].cmap = new_cmap + + +for subplot in figure: + # add event handler to the graphic added to each subplot + subplot.graphics[0].add_event_handler(cmap_changed, "cmap") + + +# change the cmap of graphic image, triggers all other graphics to set the cmap +figure["camera"].graphics[0].cmap = "jet" + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/events/drag_points.py b/examples/events/drag_points.py new file mode 100644 index 000000000..752430c7c --- /dev/null +++ b/examples/events/drag_points.py @@ -0,0 +1,99 @@ +""" +Drag points +=========== + +Example where you can drag scatter points on a line. This example also demonstrates how you can use a shared buffer +between two graphics to represent the same data using different graphics. When you update the data of one graphic the +data of the other graphic is also changed simultaneously since they use the same underlying buffer on the GPU. + +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'screenshot' + +import numpy as np +import fastplotlib as fpl +import pygfx + +xs = np.linspace(0, 2 * np.pi, 10) +ys = np.sin(xs) + +data = np.column_stack([xs, ys]) + +figure = fpl.Figure(size=(700, 560)) + +# add a line +line_graphic = figure[0, 0].add_line(data) + +# add a scatter, share the line graphic buffer! +scatter_graphic = figure[0, 0].add_scatter(data=line_graphic.data, sizes=25, colors="r") + +is_moving = False +vertex_index = None + + +@scatter_graphic.add_event_handler("pointer_down") +def start_drag(ev: pygfx.PointerEvent): + global is_moving + global vertex_index + + if ev.button != 1: + return + + is_moving = True + vertex_index = ev.pick_info["vertex_index"] + scatter_graphic.colors[vertex_index] = "cyan" + + +@figure.renderer.add_event_handler("pointer_move") +def move_point(ev): + global is_moving + global vertex_index + + # if not moving, return + if not is_moving: + return + + # disable controller + figure[0, 0].controller.enabled = False + + # map x, y from screen space to world space + pos = figure[0, 0].map_screen_to_world(ev) + + if pos is None: + # end movement + is_moving = False + scatter_graphic.colors[vertex_index] = "r" # reset color + vertex_index = None + return + + # change scatter data + # since we are sharing the buffer, the line data will also change + scatter_graphic.data[vertex_index, :-1] = pos[:-1] + + # re-enable controller + figure[0, 0].controller.enabled = True + + +@figure.renderer.add_event_handler("pointer_up") +def end_drag(ev: pygfx.PointerEvent): + global is_moving + global vertex_index + + # end movement + if is_moving: + # reset color + scatter_graphic.colors[vertex_index] = "r" + + is_moving = False + vertex_index = None + + +figure.show() + + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/events/image_click.py b/examples/events/image_click.py new file mode 100644 index 000000000..729a67586 --- /dev/null +++ b/examples/events/image_click.py @@ -0,0 +1,44 @@ +""" +Image click event +================= + +Example showing how to use a click event on an image. +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'screenshot' + +import fastplotlib as fpl +import pygfx +import imageio.v3 as iio + +data = iio.imread("imageio:camera.png") + +# Create a figure +figure = fpl.Figure(size=(700, 560)) + +# create image graphic +image_graphic = figure[0, 0].add_image(data=data) + +# show the plot +figure.show() + + +# adding a click event, we can also use decorators to add event handlers +@image_graphic.add_event_handler("click") +def click_event(ev: pygfx.PointerEvent): + # get the click location in screen coordinates + xy = (ev.x, ev.y) + + # map the screen coordinates to world coordinates + xy = figure[0, 0].map_screen_to_world(xy)[:-1] + + # print the click location + print(xy) + + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/events/image_data_event.py b/examples/events/image_data_event.py new file mode 100644 index 000000000..f97b1115e --- /dev/null +++ b/examples/events/image_data_event.py @@ -0,0 +1,56 @@ +""" +Image data event +================ + +Example showing how to add an event handler to an ImageGraphic to capture when the data changes. +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'screenshot' + +import fastplotlib as fpl +import imageio.v3 as iio +from scipy.ndimage import gaussian_filter + +rgb_weights = [0.299, 0.587, 0.114] + +# load images, convert to grayscale +img1 = iio.imread("imageio:wikkie.png") @ rgb_weights +img2 = iio.imread("imageio:astronaut.png") @ rgb_weights + +# Create a figure +figure = fpl.Figure( + shape=(1, 2), + size=(700, 560), + names=["image", "gaussian filtered image"] +) + +# create image graphics +image_raw = figure[0, 0].add_image(img1) +image_filt = figure[0, 1].add_image(gaussian_filter(img1, sigma=5)) + +# show the plot +figure.show() + + +# add event handler +@image_raw.add_event_handler("data") +def data_changed(ev: fpl.GraphicFeatureEvent): + # get the new image data + new_img = ev.info["value"] + + # set the filtered image graphic + image_filt.data = gaussian_filter(new_img, sigma=5) + + +# set the data on the first image graphic +# this will trigger the `data_changed()` handler to be called +image_raw.data = img2 + + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() + diff --git a/examples/events/key_events.py b/examples/events/key_events.py new file mode 100644 index 000000000..f8cf2f3df --- /dev/null +++ b/examples/events/key_events.py @@ -0,0 +1,85 @@ +""" +Key Events +========== + +Move an image around using and change some of its properties using keyboard events. + +- Use the arrows keys to move the image by changing its offset + +- Press "v", "g", "p" to change the colormaps (viridis, grey, plasma). + +- Press "r" to rotate the image +18 degrees (pi / 10 radians) +- Press "Shift + R" to rotate the image -18 degrees +- Axis of rotation is the origin + +- Press "-", "=" to decrease/increase the vmin +- Press "_", "+" to decrease/increase the vmax + +We use the ImageWidget here because the histogram LUT tool makes it easy to see the changes in vmin and vmax. +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'screenshot' + +import numpy as np +import fastplotlib as fpl +import pygfx +import imageio.v3 as iio + +data = iio.imread("imageio:camera.png") + +iw = fpl.ImageWidget(data, figure_kwargs={"size": (700, 560)}) + +image = iw.managed_graphics[0] + + +@iw.figure.renderer.add_event_handler("key_down") +def handle_event(ev: pygfx.KeyboardEvent): + match ev.key: + # change the cmap + case "v": + image.cmap = "viridis" + case "g": + image.cmap = "grey" + case "p": + image.cmap = "plasma" + + # keys to change vmin/vmax + case "-": + image.vmin -= 1 + case "=": + image.vmin += 1 + case "_": + image.vmax -= 1 + case "+": + image.vmax += 1 + + # rotate + case "r": + image.rotate(np.pi / 10, axis="z") + case "R": + image.rotate(-np.pi / 10, axis="z") + + # arrow key events to move the image + case "ArrowUp": + image.offset = image.offset + [0, -10, 0] # remember y-axis is flipped for images + case "ArrowDown": + image.offset = image.offset + [0, 10, 0] + case "ArrowLeft": + image.offset = image.offset + [-10, 0, 0] + case "ArrowRight": + image.offset = image.offset + [10, 0, 0] + + +iw.show() + + +figure = iw.figure # ignore, this is just so the docs gallery scraper picks up the figure + + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() + diff --git a/examples/events/line_data_thickness_event.py b/examples/events/line_data_thickness_event.py new file mode 100644 index 000000000..83f9322cb --- /dev/null +++ b/examples/events/line_data_thickness_event.py @@ -0,0 +1,79 @@ +""" +Events line data thickness +========================== + +Simple example of adding event handlers for line data and thickness. +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'screenshot' + +import fastplotlib as fpl +import numpy as np + +figure = fpl.Figure(size=(700, 560)) + +xs = np.linspace(0, 4 * np.pi, 100) +# sine wave +ys = np.sin(xs) +sine = np.column_stack([xs, ys]) + +# cosine wave +ys = np.cos(xs) +cosine = np.column_stack([xs, ys]) + +# create line graphics +sine_graphic = figure[0, 0].add_line(data=sine) +cosine_graphic = figure[0, 0].add_line(data=cosine, offset=(0, 4, 0)) + +# make a list of the line graphics for convenience +lines = [sine_graphic, cosine_graphic] + + +def change_thickness(ev: fpl.GraphicFeatureEvent): + # sets thickness of all the lines + new_value = ev.info["value"] + + for g in lines: + g.thickness = new_value + + +def change_data(ev: fpl.GraphicFeatureEvent): + # sets data of all the lines using the given event and value from the event + + # the user's slice/index + # This can be a single int index, a slice, + # or even a numpy array of int or bool for fancy indexing! + indices = ev.info["key"] + + # the new values to set at the given indices + new_values = ev.info["value"] + + # set the data for all the lines + for g in lines: + g.data[indices] = new_values + + +# add the event handlers to the line graphics +for g in lines: + g.add_event_handler(change_thickness, "thickness") + g.add_event_handler(change_data, "data") + + +figure.show() +figure[0, 0].axes.intersection = (0, 0, 0) + +# set the y-value of the middle 40 points of the sine graphic to 1 +# after the sine_graphic sets its data, the event handlers will be called +# and therefore the cosine graphic will also set its data using the event data +sine_graphic.data[30:70, 1] = np.ones(40) + +# set the thickness of the cosine graphic, this will trigger an event +# that causes the sine graphic's thickness to also be set from this value +cosine_graphic.thickness = 10 + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/events/lines_mouse_nearest.py b/examples/events/lines_mouse_nearest.py new file mode 100644 index 000000000..8d38e9f53 --- /dev/null +++ b/examples/events/lines_mouse_nearest.py @@ -0,0 +1,62 @@ +""" +Highlight nearest circle +======================== + +Shows how to use the "pointer_move" event to get the nearest circle and highlight it. + +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'screenshot' + +from itertools import product +import numpy as np +import fastplotlib as fpl +import pygfx + + +def make_circle(center, radius: float, n_points: int) -> np.ndarray: + theta = np.linspace(0, 2 * np.pi, n_points) + xs = radius * np.cos(theta) + ys = radius * np.sin(theta) + + return np.column_stack([xs, ys]) + center + +spatial_dims = (100, 100) + +circles = list() +for center in product(range(0, spatial_dims[0], 15), range(0, spatial_dims[1], 15)): + circles.append(make_circle(center, 5, n_points=75)) + +pos_xy = np.vstack(circles) + +figure = fpl.Figure(size=(700, 560)) + +line_collection = figure[0, 0].add_line_collection(circles, colors="w", thickness=5) + + +@figure.renderer.add_event_handler("pointer_move") +def highlight_nearest(ev: pygfx.PointerEvent): + line_collection.colors = "w" + + pos = figure[0, 0].map_screen_to_world(ev) + if pos is None: + return + + # get_nearest_graphics() is a helper function + # sorted the passed array or collection of graphics from nearest to furthest from the passed `pos` + nearest = fpl.utils.get_nearest_graphics(pos, line_collection)[0] + + nearest.colors = "r" + + +# remove clutter +figure[0, 0].axes.visible = False + +figure.show() + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/events/paint_image.py b/examples/events/paint_image.py new file mode 100644 index 000000000..46ef43114 --- /dev/null +++ b/examples/events/paint_image.py @@ -0,0 +1,71 @@ +""" +Paint an Image +============== + +Click and drag the mouse to paint in the image +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'screenshot' + +import numpy as np +import fastplotlib as fpl +import pygfx + +figure = fpl.Figure(size=(700, 560)) + +# add a blank image +image = figure[0, 0].add_image(np.zeros((100, 100)), vmin=0, vmax=255) + +painting = False # use to toggle painting state + + +@image.add_event_handler("pointer_down") +def on_pointer_down(ev: pygfx.PointerEvent): + # start painting when mouse button is down + global painting + + # get image element index, (x, y) pos corresponds to array (column, row) + col, row = ev.pick_info["index"] + + # increase value of this image element + image.data[row, col] = np.clip(image.data[row, col] + 50, 0, 255) + + # toggle on painting state + painting = True + + # disable controller until painting stops when mouse button is un-clicked + figure[0, 0].controller.enabled = False + + +@image.add_event_handler("pointer_move") +def on_pointer_move(ev: pygfx.PointerEvent): + # continue painting when mouse pointer is moved + global painting + + if not painting: + return + + # get image element index, (x, y) pos corresponds to array (column, row) + col, row = ev.pick_info["index"] + + image.data[row, col] = np.clip(image.data[row, col] + 50, 0, 255) + + +@figure.renderer.add_event_handler("pointer_up") +def on_pointer_up(ev: pygfx.PointerEvent): + # toggle off painting state + global painting + painting = False + + # re-enable controller + figure[0, 0].controller.enabled = True + + +figure.show() + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/events/scatter_click.py b/examples/events/scatter_click.py new file mode 100644 index 000000000..3bf85558a --- /dev/null +++ b/examples/events/scatter_click.py @@ -0,0 +1,66 @@ +""" +Scatter click +============= + +Add an event handler to click on scatter points and highlight them, i.e. change the color and size of the clicked point. +Fly around the 3D scatter using WASD keys and click on points to highlight them +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'screenshot' + +import numpy as np +import fastplotlib as fpl +import pygfx + +# make a gaussian cloud +data = np.random.normal(loc=0, scale=3, size=1500).reshape(500, 3) + +figure = fpl.Figure(cameras="3d", size=(700, 560)) + +scatter = figure[0, 0].add_scatter( + data, # the gaussian cloud + sizes=10, # some big points that are easy to click + cmap="viridis", + cmap_transform=np.linalg.norm(data, axis=1) # color points using distance from origin +) + +# simple dict to restore the original scatter color and size +# of the previously clicked point upon clicking a new point +old_props = {"index": None, "size": None, "color": None} + + +@scatter.add_event_handler("click") +def highlight_point(ev: pygfx.PointerEvent): + global old_props + + # the index of the point that was just clicked + new_index = ev.pick_info["vertex_index"] + + # restore old point's properties + if old_props["index"] is not None: + old_index = old_props["index"] + if new_index == old_index: + # same point was clicked, ignore + return + scatter.colors[old_index] = old_props["color"] + scatter.sizes[old_index] = old_props["size"] + + # store the current property values of this new point + old_props["index"] = new_index + old_props["color"] = scatter.colors[new_index].copy() # if you do not copy you will just get a view of the array! + old_props["size"] = scatter.sizes[new_index] + + # highlight this new point + scatter.colors[new_index] = "magenta" + scatter.sizes[new_index] = 20 + + +figure.show() + + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/events/scatter_hover.py b/examples/events/scatter_hover.py new file mode 100644 index 000000000..c297223d2 --- /dev/null +++ b/examples/events/scatter_hover.py @@ -0,0 +1,69 @@ +""" +Scatter hover +============= + +Add an event handler to hover on scatter points and highlight them, i.e. change the color and size of the clicked point. +Fly around the 3D scatter using WASD keys and click on points to highlight them. + +There is no "hover" event, you can create a hover effect by using "pointer_move" events. +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'screenshot' + +import numpy as np +import fastplotlib as fpl +import pygfx + +# make a gaussian cloud +data = np.random.normal(loc=0, scale=3, size=1500).reshape(500, 3) + +figure = fpl.Figure(cameras="3d", size=(700, 560)) + +scatter = figure[0, 0].add_scatter( + data, # the gaussian cloud + sizes=10, # some big points that are easy to click + cmap="viridis", + cmap_transform=np.linalg.norm(data, axis=1) # color points using distance from origin +) + +# simple dict to restore the original scatter color and size +# of the previously clicked point upon clicking a new point +old_props = {"index": None, "size": None, "color": None} + + +@scatter.add_event_handler("pointer_move") +def highlight_point(ev: pygfx.PointerEvent): + global old_props + + # the index of the point that was just entered + new_index = ev.pick_info["vertex_index"] + + # if a new point has been entered, but we have not yet had + # a leave event for the previous point, then reset this old point + if old_props["index"] is not None: + old_index = old_props["index"] + if new_index == old_index: + # same point, ignore + return + scatter.colors[old_index] = old_props["color"] + scatter.sizes[old_index] = old_props["size"] + + # store the current property values of this new point + old_props["index"] = new_index + old_props["color"] = scatter.colors[new_index].copy() # if you do not copy you will just get a view of the array! + old_props["size"] = scatter.sizes[new_index] + + # highlight this new point + scatter.colors[new_index] = "magenta" + scatter.sizes[new_index] = 20 + + +figure.show() + + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/events/scatter_hover_transforms.py b/examples/events/scatter_hover_transforms.py new file mode 100644 index 000000000..18e6f3de5 --- /dev/null +++ b/examples/events/scatter_hover_transforms.py @@ -0,0 +1,126 @@ +""" +Scatter data explore scalers +============================ + +Based on the sklearn preprocessing scalers example. Hover points to highlight the corresponding point of the dataset +transformed by the various scalers. + +See: https://scikit-learn.org/stable/auto_examples/preprocessing/plot_all_scaling.html + +This is another example that uses bi-directional events. +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'screenshot' + +from sklearn.datasets import fetch_california_housing +from sklearn.preprocessing import ( + Normalizer, + QuantileTransformer, + PowerTransformer, +) + +import fastplotlib as fpl +import pygfx + +# get the dataset +dataset = fetch_california_housing(n_retries=5, delay=20) +X_full, y = dataset.data, dataset.target +feature_names = dataset.feature_names + +feature_mapping = { + "MedInc": "Median income in block", + "HouseAge": "Median house age in block", + "AveRooms": "Average number of rooms", + "AveBedrms": "Average number of bedrooms", + "Population": "Block population", + "AveOccup": "Average house occupancy", + "Latitude": "House block latitude", + "Longitude": "House block longitude", +} + +# Take only 2 features to make visualization easier +# Feature MedInc has a long tail distribution. +# Feature AveOccup has a few but very large outliers. +features = ["MedInc", "AveOccup"] +features_idx = [feature_names.index(feature) for feature in features] +X = X_full[:, features_idx] + +# list of our scalers and their names as strings +scalers = [PowerTransformer, QuantileTransformer, Normalizer] +names = ["Original Data", *[s.__name__ for s in scalers]] + +# fastplotlib code starts here, make a figure +figure = fpl.Figure( + shape=(2, 2), + names=names, + size=(700, 780), +) + +scatters = list() # list to store our 4 scatter graphics for convenience + +# add a scatter of the original data +s = figure["Original Data"].add_scatter( + data=X, + cmap="viridis", + cmap_transform=y, + sizes=3, +) + +# append to list of scatters +scatters.append(s) + +# add the scaled data as scatter graphics +for scaler in scalers: + name = scaler.__name__ + s = figure[name].add_scatter(scaler().fit_transform(X), cmap="viridis", cmap_transform=y, sizes=3) + scatters.append(s) + + +# simple dict to restore the original scatter color and size +# of the previously clicked point upon clicking a new point +old_props = {"index": None, "size": None, "color": None} + + +def highlight_point(ev: pygfx.PointerEvent): + # event handler to highlight the point when the mouse moves over it + global old_props + + # the index of the point that was just clicked + new_index = ev.pick_info["vertex_index"] + + # restore old point's properties + if old_props["index"] is not None: + old_index = old_props["index"] + if new_index == old_index: + # same point was clicked, ignore + return + for s in scatters: + s.colors[old_index] = old_props["color"] + s.sizes[old_index] = old_props["size"] + + # store the current property values of this new point + old_props["index"] = new_index + # all the scatters have the same colors and size for the corresponding index + # so we can just use the first scatter's original color and size + old_props["color"] = scatters[0].colors[new_index].copy() # if you do not copy you will just get a view of the array! + old_props["size"] = scatters[0].sizes[new_index] + + # highlight this new point + for s in scatters: + s.colors[new_index] = "magenta" + s.sizes[new_index] = 15 + + +# add the event handler to all the scatter graphics +for s in scatters: + s.add_event_handler(highlight_point, "pointer_move") + + +figure.show(maintain_aspect=False) + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/gridplot/README.rst b/examples/gridplot/README.rst new file mode 100644 index 000000000..0a2cc1828 --- /dev/null +++ b/examples/gridplot/README.rst @@ -0,0 +1,2 @@ +Grid layout Examples +==================== diff --git a/examples/desktop/gridplot/gridplot.py b/examples/gridplot/gridplot.py similarity index 55% rename from examples/desktop/gridplot/gridplot.py rename to examples/gridplot/gridplot.py index 044adae80..5edd6a845 100644 --- a/examples/desktop/gridplot/gridplot.py +++ b/examples/gridplot/gridplot.py @@ -1,8 +1,8 @@ """ -GridPlot Simple -=============== +Grid layout Simple +================== -Example showing simple 2x2 GridPlot with Standard images from imageio. +Example showing simple 2x2 grid layout with standard images from imageio. """ # test_example = true @@ -11,7 +11,7 @@ import fastplotlib as fpl import imageio.v3 as iio -figure = fpl.Figure(shape=(2, 2)) +figure = fpl.Figure(shape=(2, 2), size=(700, 560)) im = iio.imread("imageio:clock.png") im2 = iio.imread("imageio:astronaut.png") @@ -25,13 +25,9 @@ figure.show() -figure.canvas.set_logical_size(700, 560) -for subplot in figure: - subplot.auto_scale() - -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide if __name__ == "__main__": print(__doc__) - fpl.run() + fpl.loop.run() diff --git a/examples/gridplot/gridplot_non_square.py b/examples/gridplot/gridplot_non_square.py new file mode 100644 index 000000000..da0bf14c3 --- /dev/null +++ b/examples/gridplot/gridplot_non_square.py @@ -0,0 +1,31 @@ +""" +Grid Layout 2 +============= + +Simple 2x2 grid layout Figure with standard images from imageio, one subplot is left empty +""" + +# test_example = true +# sphinx_gallery_pygfx_docs = 'screenshot' + +import fastplotlib as fpl +import imageio.v3 as iio + +figure = fpl.Figure(shape=(2, 2), size=(700, 560)) + +im = iio.imread("imageio:clock.png") +im2 = iio.imread("imageio:astronaut.png") +im3 = iio.imread("imageio:coffee.png") + +figure[0, 0].add_image(data=im) +figure[0, 1].add_image(data=im2) +figure[1, 0].add_image(data=im3) + +figure.show() + + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/gridplot/gridplot_viewports_check.py b/examples/gridplot/gridplot_viewports_check.py new file mode 100644 index 000000000..45f9d7004 --- /dev/null +++ b/examples/gridplot/gridplot_viewports_check.py @@ -0,0 +1,37 @@ +""" +Grid layout test viewport rects +=============================== + +Test figure to test that viewport rects are positioned correctly +""" + +# test_example = true +# sphinx_gallery_pygfx_docs = 'hidden' + +import fastplotlib as fpl +import numpy as np + + +figure = fpl.Figure( + shape=(2, 3), + size=(700, 560), + names=list(map(str, range(6))) +) + +np.random.seed(0) +a = np.random.rand(6, 10, 10) + +for data, subplot in zip(a, figure): + subplot.add_image(data) + subplot.docks["left"].size = 20 + subplot.docks["right"].size = 30 + subplot.docks["bottom"].size = 40 + +figure.show() + + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/desktop/gridplot/multigraphic_gridplot.py b/examples/gridplot/multigraphic_gridplot.py similarity index 86% rename from examples/desktop/gridplot/multigraphic_gridplot.py rename to examples/gridplot/multigraphic_gridplot.py index edb0aaafd..d89168ec9 100644 --- a/examples/desktop/gridplot/multigraphic_gridplot.py +++ b/examples/gridplot/multigraphic_gridplot.py @@ -1,8 +1,8 @@ """ -Multi-Graphic GridPlot -====================== +Multi-Graphic Grid layout +========================= -Example showing a Figure with multiple subplots and multiple graphic types. +A Figure with multiple subplots and multiple graphic types. """ # test_example = false @@ -14,7 +14,11 @@ from itertools import product # define figure -figure = fpl.Figure(shape=(2, 2), names=[["image-overlay", "circles"], ["line-stack", "scatter"]]) +figure = fpl.Figure( + shape=(2, 2), + names=[["image-overlay", "circles"], ["line-stack", "scatter"]], + size=(700, 560) +) img = iio.imread("imageio:coffee.png") @@ -106,11 +110,9 @@ def make_circle(center, radius: float, n_points: int = 75) -> np.ndarray: figure.show() -figure.canvas.set_logical_size(700, 560) - -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide if __name__ == "__main__": print(__doc__) - fpl.run() + fpl.loop.run() diff --git a/examples/guis/README.rst b/examples/guis/README.rst new file mode 100644 index 000000000..0271f959d --- /dev/null +++ b/examples/guis/README.rst @@ -0,0 +1,2 @@ +ImGUI for within canvas GUIs +============================ diff --git a/examples/guis/image_widget_imgui.py b/examples/guis/image_widget_imgui.py new file mode 100644 index 000000000..759d87a07 --- /dev/null +++ b/examples/guis/image_widget_imgui.py @@ -0,0 +1,82 @@ +""" +ImGUI with ImageWidget +====================== + +Example showing how to write a custom GUI with imgui and use it with ImageWidget +""" + +# test_example = true +# sphinx_gallery_pygfx_docs = 'screenshot' + +# some simple image processing functions +from scipy.ndimage import gaussian_filter +import imageio.v3 as iio + +import fastplotlib as fpl + +# subclass from EdgeWindow to make a custom ImGUI Window to place inside the figure! +from fastplotlib.ui import EdgeWindow +from imgui_bundle import imgui + +a = iio.imread("imageio:camera.png") +iw = fpl.ImageWidget(data=a, cmap="viridis", figure_kwargs={"size": (700, 560)}) +iw.show() + + +# GUI for some basic image processing +class ImageProcessingWindow(EdgeWindow): + def __init__(self, figure, size, location, title): + super().__init__(figure=figure, size=size, location=location, title=title) + + self.sigma = 0.0 + self.order_x, self.order_y = 0, 0 + + def update(self): + # implement the GUI within the update function + # you do not need to call imgui.new_frame(), this is handled by Figure + + # window creation is handled by the base EdgeWindow.draw_window() + # if you want to customize the imgui window, you can override EdgeWindow.draw_window() + + something_changed = False + + # slider for gaussian filter sigma value + changed, value = imgui.slider_float(label="sigma", v=self.sigma, v_min=0.0, v_max=20.0) + if changed: + self.sigma = value + something_changed = True + + # int entries for gaussian filter order + for axis in ["x", "y"]: + changed, value = imgui.input_int(f"order {axis}", v=getattr(self, f"order_{axis}")) + if changed: + if value < 0: + value = 0 + setattr(self, f"order_{axis}", value) + something_changed = True + + if something_changed: + self.process_image() + + # imgui.end() is handled by EdgeWindow.draw_window() + + # do not call imgui.end_frame(), this is handled by Figure + + def process_image(self): + processed = gaussian_filter(a, sigma=self.sigma, order=(self.order_y, self.order_x)) + iw.set_data(processed) + + +gui = ImageProcessingWindow(iw.figure, size=200, location="right", title="Gaussian Filter") + + +iw.figure.add_gui(gui) + +figure = iw.figure + + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/guis/imgui_basic.py b/examples/guis/imgui_basic.py new file mode 100644 index 000000000..26b5603c0 --- /dev/null +++ b/examples/guis/imgui_basic.py @@ -0,0 +1,123 @@ +""" +ImGUI Basics +============ + +Basic examples demonstrating how to use imgui in fastplotlib. + +See the imgui docs for extensive examples on how to create all UI elements: https://pyimgui.readthedocs.io/en/latest/reference/imgui.core.html#imgui.core.begin_combo +""" + +# test_example = true +# sphinx_gallery_pygfx_docs = 'screenshot' + +import numpy as np +import fastplotlib as fpl + +# subclass from EdgeWindow to make a custom ImGUI Window to place inside the figure! +from fastplotlib.ui import EdgeWindow +from imgui_bundle import imgui + +# make some initial data +np.random.seed(0) + +xs = np.linspace(0, np.pi * 10, 100) +ys = np.sin(xs) + np.random.normal(scale=0.0, size=100) +data = np.column_stack([xs, ys]) + + +# make a figure +figure = fpl.Figure(size=(700, 560)) + +# make some scatter points at every 10th point +figure[0, 0].add_scatter(data[::10], colors="cyan", sizes=15, name="sine-scatter", uniform_color=True) + +# place a line above the scatter +figure[0, 0].add_line(data, thickness=3, colors="r", name="sine-wave", uniform_color=True) + + +class ImguiExample(EdgeWindow): + def __init__(self, figure, size, location, title): + super().__init__(figure=figure, size=size, location=location, title=title) + # this UI will modify the line + self._line = self._figure[0, 0]["sine-wave"] + + # set the default values + # wave amplitude + self._amplitude = 1 + + # sigma for gaussian noise + self._sigma = 0.0 + + def update(self): + # the UI will be used to modify the line + self._line = figure[0, 0]["sine-wave"] + + # get the current line RGB values + rgb_color = self._line.colors[:-1] + # make color picker + changed_color, rgb = imgui.color_picker3("color", col=rgb_color) + + # get current line color alpha value + alpha = self._line.colors[-1] + # make float slider + changed_alpha, new_alpha = imgui.slider_float("alpha", v=alpha, v_min=0.0, v_max=1.0) + + # if RGB or alpha changed + if changed_color | changed_alpha: + # set new color along with alpha + self._line.colors = [*rgb, new_alpha] + + # example of a slider, you can also use input_float + changed, amplitude = imgui.slider_float("amplitude", v=self._amplitude, v_max=10, v_min=0.1) + if changed: + # set y values + self._amplitude = amplitude + self._set_data() + + # slider for thickness + changed, thickness = imgui.slider_float("thickness", v=self._line.thickness, v_max=50.0, v_min=2.0) + if changed: + self._line.thickness = thickness + + # slider for gaussian noise + changed, sigma = imgui.slider_float("noise-sigma", v=self._sigma, v_max=1.0, v_min=0.0) + if changed: + self._sigma = sigma + self._set_data() + + # reset button + if imgui.button("reset"): + # reset line properties + self._line.colors = (1, 0, 0, 1) + self._line.thickness = 3 + + # reset the data params + self._amplitude = 1.0 + self._sigma = 0.0 + + # reset the data values for the line + self._set_data() + + def _set_data(self): + self._line.data[:, 1] = (np.sin(xs) * self._amplitude) + np.random.normal(scale=self._sigma, size=100) + + +# make GUI instance +gui = ImguiExample( + figure, # the figure this GUI instance should live inside + size=275, # width or height of the GUI window within the figure + location="right", # the edge to place this window at + title="Imgui Window", # window title +) + +# add it to the figure +figure.add_gui(gui) + +figure.show() + + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/guis/sine_cosine_funcs.py b/examples/guis/sine_cosine_funcs.py new file mode 100644 index 000000000..09a5ec990 --- /dev/null +++ b/examples/guis/sine_cosine_funcs.py @@ -0,0 +1,186 @@ +""" +Sine and Cosine functions +========================= + +Identical to the Unit Circle example but you can change the angular frequencies using a UI + +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'screenshot' + +import glfw +import numpy as np +import fastplotlib as fpl +from fastplotlib.ui import EdgeWindow +from imgui_bundle import imgui + + +# initial frequency coefficients for sine and cosine functions +P = 1 +Q = 1 + + +# helper function to make a circle +def make_circle(center, radius: float, p, q, n_points: int) -> np.ndarray: + theta = np.linspace(0, 2 * np.pi, n_points) + xs = radius * np.cos(theta * p) + ys = radius * np.sin(theta * q) + + return np.column_stack([xs, ys]) + center + + +# we can define this layout using "extents", i.e. min and max ranges on the canvas +# (x_min, x_max, y_min, y_max) +# extents can be defined as fractions as shown here +extents = [ + (0, 0.5, 0, 1), # circle subplot + (0.5, 1, 0, 0.5), # sine subplot + (0.5, 1, 0.5, 1), # cosine subplot +] + +# create a figure with 3 subplots +figure = fpl.Figure( + extents=extents, + names=["circle", "sin", "cos"], + size=(700, 560) +) + +# set more descriptive figure titles +figure["circle"].title = "sin(x*p) over cos(x*q)" +figure["sin"].title = "sin(x * p)" +figure["cos"].title = "cos(x * q)" + +# set the axes to intersect at (0, 0, 0) to better illustrate the unit circle +for subplot in figure: + subplot.axes.intersection = (0, 0, 0) + subplot.toolbar = False # reduce clutter + +figure["sin"].camera.maintain_aspect = False +figure["cos"].camera.maintain_aspect = False + +# create sine and cosine data +xs = np.linspace(0, 2 * np.pi, 360) +sine = np.sin(xs * P) +cosine = np.cos(xs * Q) + +# circle data +circle_data = make_circle(center=(0, 0), p=P, q=Q, radius=1, n_points=360) + +# make the circle line graphic, set the cmap transform using the sine function +circle_graphic = figure["circle"].add_line( + circle_data, thickness=4, cmap="bwr", cmap_transform=sine +) + +# line to show the circle radius +# use it to indicate the current position of the sine and cosine selctors (below) +radius_data = np.array([[0, 0, 0], [*circle_data[0], 0]]) +circle_radius_graphic = figure["circle"].add_line( + radius_data, thickness=6, colors="magenta" +) + +# sine line graphic, cmap transform set from the sine function +sine_graphic = figure["sin"].add_line( + sine, thickness=10, cmap="bwr", cmap_transform=sine +) + +# cosine line graphic, cmap transform set from the sine function +# illustrates the sine function values on the cosine graphic +cosine_graphic = figure["cos"].add_line( + cosine, thickness=10, cmap="bwr", cmap_transform=sine +) + +# add linear selectors to the sine and cosine line graphics +sine_selector = sine_graphic.add_linear_selector() +cosine_selector = cosine_graphic.add_linear_selector() + + +def set_circle_cmap(ev): + # sets the cmap transforms + + cmap_transform = ev.graphic.data[:, 1] # y-val data of the sine or cosine graphic + for g in [sine_graphic, cosine_graphic]: + g.cmap.transform = cmap_transform + + # set circle cmap transform + circle_graphic.cmap.transform = cmap_transform + +# when the sine or cosine graphic is clicked, the cmap_transform +# of the sine, cosine and circle line graphics are all set from +# the y-values of the clicked line +sine_graphic.add_event_handler(set_circle_cmap, "click") +cosine_graphic.add_event_handler(set_circle_cmap, "click") + + +def set_x_val(ev): + # used to sync the two selectors + value = ev.info["value"] + index = ev.get_selected_index() + + sine_selector.selection = value + cosine_selector.selection = value + + circle_radius_graphic.data[1, :-1] = circle_data[index] + +# add same event handler to both graphics +sine_selector.add_event_handler(set_x_val, "selection") +cosine_selector.add_event_handler(set_x_val, "selection") + +# initial selection value +sine_selector.selection = 50 + + +class GUIWindow(EdgeWindow): + def __init__(self, figure, size, location, title): + super().__init__(figure=figure, size=size, location=location, title=title) + + self._p = 1 + self._q = 1 + + def _set_data(self): + global sine_graphic, cosine_graphic, circle_graphic, circle_radius_graphic, circle_data + + # make new data + sine = np.sin(xs * self._p) + cosine = np.cos(xs * self._q) + circle_data = make_circle(center=(0, 0), p=self._p, q=self._q, radius=1, n_points=360) + + + # set the graphics + sine_graphic.data[:, 1] = sine + cosine_graphic.data[:, 1] = cosine + circle_graphic.data[:, :2] = circle_data + circle_radius_graphic.data[1, :-1] = circle_data[sine_selector.get_selected_index()] + + def update(self): + flag_set_data = False + + changed, self._p = imgui.input_int("P", v=self._p, step_fast=2) + if changed: + flag_set_data = True + + changed, self._q = imgui.input_int("Q", v=self._q, step_fast=2) + if changed: + flag_set_data = True + + if flag_set_data: + self._set_data() + + +gui = GUIWindow( + figure=figure, + size=100, + location="right", + title="Freq. coeffs" +) + +figure.add_gui(gui) + +figure.show() + + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/desktop/heatmap/README.rst b/examples/heatmap/README.rst similarity index 100% rename from examples/desktop/heatmap/README.rst rename to examples/heatmap/README.rst diff --git a/examples/heatmap/heatmap.py b/examples/heatmap/heatmap.py new file mode 100644 index 000000000..38c9b51a7 --- /dev/null +++ b/examples/heatmap/heatmap.py @@ -0,0 +1,33 @@ +""" +Heatmap or large arrays +======================= +Example showing how ImageGraphics can be useful for viewing large arrays, these can be in the order of 10^4 x 10^4. +The performance and limitations will depend on your hardware. +""" + +# test_example = true +# sphinx_gallery_pygfx_docs = 'screenshot' + +import fastplotlib as fpl +import numpy as np + + +figure = fpl.Figure(size=(700, 560)) + +xs = np.linspace(0, 2300, 2300, dtype=np.float16) + +sine = np.sin(np.sqrt(xs)) + +data = np.vstack([sine * i for i in range(2_300)]) + +# plot the image data +img = figure[0, 0].add_image(data=data, name="heatmap") +del data + +figure.show() + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/desktop/image/README.rst b/examples/image/README.rst similarity index 100% rename from examples/desktop/image/README.rst rename to examples/image/README.rst diff --git a/examples/desktop/image/image_cmap.py b/examples/image/image_cmap.py similarity index 64% rename from examples/desktop/image/image_cmap.py rename to examples/image/image_cmap.py index c70af7346..f651f438c 100644 --- a/examples/desktop/image/image_cmap.py +++ b/examples/image/image_cmap.py @@ -13,21 +13,17 @@ im = iio.imread("imageio:camera.png") -figure = fpl.Figure() +figure = fpl.Figure(size=(700, 560)) # plot the image data image_graphic = figure[0, 0].add_image(data=im, name="random-image") figure.show() -figure.canvas.set_logical_size(700, 560) - -figure[0, 0].auto_scale() - image_graphic.cmap = "viridis" -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide if __name__ == "__main__": print(__doc__) - fpl.run() + fpl.loop.run() diff --git a/examples/desktop/image/image_rgb.py b/examples/image/image_rgb.py similarity index 61% rename from examples/desktop/image/image_rgb.py rename to examples/image/image_rgb.py index 951142fd7..187dac553 100644 --- a/examples/desktop/image/image_rgb.py +++ b/examples/image/image_rgb.py @@ -13,19 +13,16 @@ im = iio.imread("imageio:astronaut.png") -figure = fpl.Figure() +figure = fpl.Figure(size=(700, 560)) # plot the image data image_graphic = figure[0, 0].add_image(data=im, name="iio astronaut") figure.show() -figure.canvas.set_logical_size(700, 560) -figure[0, 0].auto_scale() - -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide if __name__ == "__main__": print(__doc__) - fpl.run() + fpl.loop.run() diff --git a/examples/desktop/image/image_rgbvminvmax.py b/examples/image/image_rgbvminvmax.py similarity index 65% rename from examples/desktop/image/image_rgbvminvmax.py rename to examples/image/image_rgbvminvmax.py index 25d3904e8..02635f134 100644 --- a/examples/desktop/image/image_rgbvminvmax.py +++ b/examples/image/image_rgbvminvmax.py @@ -13,22 +13,18 @@ im = iio.imread("imageio:astronaut.png") -figure = fpl.Figure() +figure = fpl.Figure(size=(700, 560)) # plot the image data image_graphic = figure[0, 0].add_image(data=im, name="iio astronaut") figure.show() -figure.canvas.set_logical_size(700, 560) - -figure[0, 0].auto_scale() - image_graphic.vmin = 0.5 image_graphic.vmax = 0.75 -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide if __name__ == "__main__": print(__doc__) - fpl.run() + fpl.loop.run() diff --git a/examples/desktop/image/image_simple.py b/examples/image/image_simple.py similarity index 61% rename from examples/desktop/image/image_simple.py rename to examples/image/image_simple.py index dab5188a1..d0910fb82 100644 --- a/examples/desktop/image/image_simple.py +++ b/examples/image/image_simple.py @@ -11,7 +11,7 @@ import fastplotlib as fpl import imageio.v3 as iio -figure = fpl.Figure() +figure = fpl.Figure(size=(700, 560)) data = iio.imread("imageio:camera.png") @@ -20,12 +20,8 @@ figure.show() -figure.canvas.set_logical_size(700, 560) - -figure[0, 0].auto_scale() - -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide if __name__ == "__main__": print(__doc__) - fpl.run() + fpl.loop.run() diff --git a/examples/desktop/image/image_small.py b/examples/image/image_small.py similarity index 55% rename from examples/desktop/image/image_small.py rename to examples/image/image_small.py index 95c263a28..732d61d74 100644 --- a/examples/desktop/image/image_small.py +++ b/examples/image/image_small.py @@ -12,7 +12,7 @@ import fastplotlib as fpl -figure = fpl.Figure() +figure = fpl.Figure(size=(700, 560)) data = np.array( [[0, 1, 2], @@ -22,12 +22,8 @@ figure.show() -figure.canvas.set_logical_size(700, 560) - -figure[0, 0].auto_scale() - -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide if __name__ == "__main__": print(__doc__) - fpl.run() + fpl.loop.run() diff --git a/examples/desktop/image/image_vminvmax.py b/examples/image/image_vminvmax.py similarity index 66% rename from examples/desktop/image/image_vminvmax.py rename to examples/image/image_vminvmax.py index d9e49b18e..e2d1c7743 100644 --- a/examples/desktop/image/image_vminvmax.py +++ b/examples/image/image_vminvmax.py @@ -11,7 +11,7 @@ import fastplotlib as fpl import imageio.v3 as iio -figure = fpl.Figure() +figure = fpl.Figure(size=(700, 560)) data = iio.imread("imageio:astronaut.png") @@ -20,15 +20,11 @@ figure.show() -figure.canvas.set_logical_size(700, 560) - -figure[0, 0].auto_scale() - image_graphic.vmin = 0.5 image_graphic.vmax = 0.75 -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide if __name__ == "__main__": print(__doc__) - fpl.run() + fpl.loop.run() diff --git a/examples/image_widget/README.rst b/examples/image_widget/README.rst new file mode 100644 index 000000000..f445f7390 --- /dev/null +++ b/examples/image_widget/README.rst @@ -0,0 +1,2 @@ +ImageWidget Examples +==================== diff --git a/examples/image_widget/image_widget.py b/examples/image_widget/image_widget.py new file mode 100644 index 000000000..a3c332182 --- /dev/null +++ b/examples/image_widget/image_widget.py @@ -0,0 +1,34 @@ +""" +Image widget +============ + +Example showing the image widget in action. + +Every image in an `ImageWidget` is associated with an interactive Histogram LUT tool and colorbar. Right-click the +colorbar to pick colormaps. +""" + +# test_example = true +# sphinx_gallery_pygfx_docs = 'screenshot' + +import fastplotlib as fpl +import imageio.v3 as iio # not a fastplotlib dependency, only used for examples + +a = iio.imread("imageio:camera.png") +iw = fpl.ImageWidget(data=a, cmap="viridis", figure_kwargs={"size": (700, 560)}) +iw.show() + +# Access ImageGraphics managed by the image widget +iw.figure[0, 0]["image_widget_managed"].data[:50, :50] = 0 +iw.figure[0, 0]["image_widget_managed"].cmap = "gnuplot2" + +# another way to access the image widget managed ImageGraphics +iw.managed_graphics[0].data[450:, 450:] = 255 + +figure = iw.figure + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/image_widget/image_widget_grid.py b/examples/image_widget/image_widget_grid.py new file mode 100644 index 000000000..41e964e95 --- /dev/null +++ b/examples/image_widget/image_widget_grid.py @@ -0,0 +1,41 @@ +""" +Image widget grid +================= + +Example showing how to view multiple images in an ImageWidget +""" + +import fastplotlib as fpl +import imageio.v3 as iio + +# test_example = true +# sphinx_gallery_pygfx_docs = 'screenshot' + +img1 = iio.imread("imageio:camera.png") +img2 = iio.imread("imageio:astronaut.png") +img3 = iio.imread("imageio:chelsea.png") +img4 = iio.imread("imageio:wikkie.png") + +iw = fpl.ImageWidget( + data=[img1, img2, img3, img4], + rgb=[False, True, True, True], # mix of grayscale and RGB images + names=["cameraman", "astronaut", "chelsea", "Almar's cat"], + # ImageWidget will sync controllers by default + # by setting `controller_ids=None` we can have independent controllers for each subplot + # this is useful when the images have different dimensions + figure_kwargs={"size": (700, 560), "controller_ids": None}, +) +iw.show() + +figure = iw.figure + +for subplot in figure: + # sometimes the toolbar adds clutter + subplot.toolbar = False + + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/image_widget/image_widget_single_video.py b/examples/image_widget/image_widget_single_video.py new file mode 100644 index 000000000..86ca642fa --- /dev/null +++ b/examples/image_widget/image_widget_single_video.py @@ -0,0 +1,47 @@ +""" +Image widget Video +================== + +Example showing how to scroll through one or more videos using the ImageWidget +""" + +# test_example = true +# sphinx_gallery_pygfx_docs = 'animate 6s 20fps' + +import fastplotlib as fpl +import imageio.v3 as iio +import numpy as np + + +movie = iio.imread("imageio:cockatoo.mp4") + +# Ignore and do not use the next 2 lines +# for the purposes of docs gallery generation we subsample and only use 15 frames +movie_sub = movie[:15, ::12, ::12].copy() +del movie + +iw = fpl.ImageWidget(movie_sub, rgb=True, figure_kwargs={"size": (700, 560)}) + +# ImageWidget supports setting window functions the `time` "t" or `volume` "z" dimension +# These can also be given as kwargs to `ImageWidget` during instantiation +# to set a window function, give a dict in the form of {dim: (func, window_size)} +iw.window_funcs = {"t": (np.mean, 13)} + +# change the window size +iw.window_funcs["t"].window_size = 33 + +# change the function +iw.window_funcs["t"].func = np.max + +# or reset it +iw.window_funcs = None + +iw.show() + +figure = iw.figure + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/image_widget/image_widget_videos.py b/examples/image_widget/image_widget_videos.py new file mode 100644 index 000000000..399abbcff --- /dev/null +++ b/examples/image_widget/image_widget_videos.py @@ -0,0 +1,43 @@ +""" +Image widget videos side by side +================================ + +Example showing how to scroll through one or more videos using the ImageWidget +""" + +# test_example = true +# sphinx_gallery_pygfx_docs = 'animate 6s 20fps' + +import fastplotlib as fpl +import imageio.v3 as iio +import numpy as np + + +# load the standard cockatoo video +cockatoo = iio.imread("imageio:cockatoo.mp4") + +# Ignore and do not use the next 2 lines +# for the purposes of docs gallery generation we subsample and only use 15 frames +cockatoo_sub = cockatoo[:15, ::12, ::12].copy() +del cockatoo + +# make a random grayscale video, shape is [t, rows, cols] +np.random.seed(0) +random_data = np.random.rand(*cockatoo_sub.shape[:-1]) + +iw = fpl.ImageWidget( + [random_data, cockatoo_sub], + rgb=[False, True], + figure_shape=(2, 1), # 2 rows, 1 column + figure_kwargs={"size": (700, 940)} +) + +iw.show() + +figure = iw.figure + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/image_widget/image_widget_viewports_check.py b/examples/image_widget/image_widget_viewports_check.py new file mode 100644 index 000000000..a4c0aea03 --- /dev/null +++ b/examples/image_widget/image_widget_viewports_check.py @@ -0,0 +1,35 @@ +""" +ImageWidget test viewport rects +=============================== + +Test Figure to test that viewport rects are positioned correctly in an image widget +""" + +# test_example = true +# sphinx_gallery_pygfx_docs = 'hidden' + +import fastplotlib as fpl +import numpy as np + +np.random.seed(0) +a = np.random.rand(6, 15, 10, 10) + +iw = fpl.ImageWidget( + data=[img for img in a], + names=list(map(str, range(6))), + figure_kwargs={"size": (700, 560)}, +) + +for subplot in iw.figure: + subplot.docks["left"].size = 10 + subplot.docks["bottom"].size = 40 + +iw.show() + +figure = iw.figure + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/ipywidgets/README.rst b/examples/ipywidgets/README.rst new file mode 100644 index 000000000..3f6ae9d5f --- /dev/null +++ b/examples/ipywidgets/README.rst @@ -0,0 +1,2 @@ +Using with ipywidgets +===================== diff --git a/examples/ipywidgets/ipywidgets_modify_image.py b/examples/ipywidgets/ipywidgets_modify_image.py new file mode 100644 index 000000000..c0206e945 --- /dev/null +++ b/examples/ipywidgets/ipywidgets_modify_image.py @@ -0,0 +1,69 @@ +""" +ipwidgets modify an ImageGraphic +================================ + +Use ipywidgets to modify some features of an ImageGraphic. Run in jupyterlab. +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'code' + +import fastplotlib as fpl +from scipy.ndimage import gaussian_filter +import imageio.v3 as iio +from ipywidgets import FloatRangeSlider, FloatSlider, Select, VBox + +data = iio.imread("imageio:moon.png") + +iw = fpl.ImageWidget(data, figure_kwargs={"size": (700, 560)}) + +# get the ImageGraphic from the image widget +image = iw.managed_graphics[0] + +min_v, max_v = fpl.utils.quick_min_max(data) + +# slider to adjust vmin, vmax of the image +vmin_vmax_slider = FloatRangeSlider(value=(image.vmin, image.vmax), min=min_v, max=max_v, description="vmin, vmax:") + +# slider to adjust sigma of a gaussian kernel used to filter the image (i.e. gaussian blur) +slider_sigma = FloatSlider(min=0.0, max=10.0, value=0.0, description="σ: ") + +# select box to choose the sample image shown in the ImageWidget +select_image = Select(options=["moon.png", "camera.png", "checkerboard.png"], description="image: ") + + +def update_vmin_vmax(change): + vmin, vmax = change["new"] + + image = iw.managed_graphics[0] + image.vmin, image.vmax = vmin, vmax + + +def update_sigma(change): + sigma = change["new"] + + # set a "frame apply" dict onto the ImageWidget + # this maps {image_index: function} + # the function is applied to the image data at the image index given by the key + iw.frame_apply = {0: lambda image_data: gaussian_filter(image_data, sigma=sigma)} + + +def update_image(change): + filename = change["new"] + data = iio.imread(f"imageio:{filename}") + + iw.set_data(data) + + # set vmin, vmax sliders w.r.t. this new image + image = iw.managed_graphics[0] + vmin_vmax_slider.value = image.vmin, image.vmax + vmin_vmax_slider.min, vmin_vmax_slider.max = fpl.utils.quick_min_max(data) + + +# connect the ipywidgets to the handler functions +vmin_vmax_slider.observe(update_vmin_vmax, "value") +slider_sigma.observe(update_sigma, "value") +select_image.observe(update_image, "value") + +# display in a vbox +VBox([iw.show(), vmin_vmax_slider, slider_sigma, select_image]) diff --git a/examples/ipywidgets/ipywidgets_sliders_line.py b/examples/ipywidgets/ipywidgets_sliders_line.py new file mode 100644 index 000000000..8288e5719 --- /dev/null +++ b/examples/ipywidgets/ipywidgets_sliders_line.py @@ -0,0 +1,91 @@ +""" +ipywidget sliders to modify a sine wave +======================================= + +Example with ipywidgets sliders to change a sine wave and view the frequency spectra. You can run this in jupyterlab +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'code' + +import numpy as np +import fastplotlib as fpl +from ipywidgets import FloatSlider, Checkbox, VBox + + +def generate_data(freq, duration, sampling_rate, ampl, noise_sigma): + # generate a sine wave using given params + xs = np.linspace(0, duration, sampling_rate * duration) + ys = np.sin((2 * np.pi) * freq * xs) * ampl + + noise = np.random.normal(scale=noise_sigma, size=sampling_rate * duration) + + signal = np.column_stack([xs, ys + noise]) + fft_mag = np.abs(np.fft.rfft(signal[:, 1])) + fft_freqs = np.linspace(0, sampling_rate / 2, num=fft_mag.shape[0]) + + return np.column_stack([xs, ys + noise]), np.column_stack([fft_freqs, fft_mag]) + + +signal, fft = generate_data( + freq=1, + duration=10, + sampling_rate=50, + ampl=1, + noise_sigma=0.05 +) + +# create a figure +figure = fpl.Figure(shape=(2, 1), names=["signal", "fft"], size=(700, 560)) + +# line graphic for the signal +signal_line = figure[0, 0].add_line(signal, thickness=1) + +# easier to understand the frequency of the sine wave if the +# axes go through the middle of the sine wave +figure[0, 0].axes.intersection = (0, 0, 0) + +# line graphic for fft +fft_line = figure[1, 0].add_line(fft) + +# do not maintain the aspect ratio of the fft subplot +figure[1, 0].camera.maintain_aspect = False + +# create ipywidget sliders +slider_freq = FloatSlider(min=0.1, max=10, value=1.0, step=0.1, description="freq: ") +slider_ampl = FloatSlider(min=0.0, max=10, value=1.0, step=0.5, description="ampl: ") +slider_noise = FloatSlider(min=0, max=1, value=0.05, step=0.05, description="noise: ") + +# checkbox +checkbox_autoscale = Checkbox(value=False, description="autoscale: ") + + +def update(*args): + # update whenever a slider changes + freq = slider_freq.value + ampl = slider_ampl.value + noise = slider_noise.value + + signal, fft = generate_data( + freq=freq, + duration=10, + sampling_rate=50, + ampl=ampl, + noise_sigma=noise, + ) + + signal_line.data[:, :-1] = signal + fft_line.data[:, :-1] = fft + + if checkbox_autoscale.value: + for subplot in figure: + subplot.auto_scale(maintain_aspect=False) + + +# when any one slider changes, it calls update +for slider in [slider_freq, slider_ampl, slider_noise]: + slider.observe(update, "value") + +# display the fastplotlib figure and ipywidgets in a VBox (vertically stacked) +# figure.show() just returns an ipywidget object +VBox([figure.show(), slider_freq, slider_ampl, slider_noise, checkbox_autoscale]) diff --git a/examples/desktop/line/README.rst b/examples/line/README.rst similarity index 100% rename from examples/desktop/line/README.rst rename to examples/line/README.rst diff --git a/examples/desktop/line/line.py b/examples/line/line.py similarity index 76% rename from examples/desktop/line/line.py rename to examples/line/line.py index cd661da1e..fb8834759 100644 --- a/examples/desktop/line/line.py +++ b/examples/line/line.py @@ -11,7 +11,7 @@ import fastplotlib as fpl import numpy as np -figure = fpl.Figure() +figure = fpl.Figure(size=(700, 560)) xs = np.linspace(-10, 10, 100) # sine wave @@ -36,14 +36,12 @@ colors = ["r"] * 25 + ["purple"] * 25 + ["y"] * 25 + ["b"] * 25 sinc_graphic = figure[0, 0].add_line(data=sinc, thickness=5, colors=colors) +figure[0, 0].axes.grids.xy.visible = True figure.show() -figure.canvas.set_logical_size(700, 560) -figure[0, 0].auto_scale() - -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide if __name__ == "__main__": print(__doc__) - fpl.run() + fpl.loop.run() diff --git a/examples/desktop/line/line_cmap.py b/examples/line/line_cmap.py similarity index 75% rename from examples/desktop/line/line_cmap.py rename to examples/line/line_cmap.py index 5ffea6fef..af24f1c63 100644 --- a/examples/desktop/line/line_cmap.py +++ b/examples/line/line_cmap.py @@ -2,7 +2,7 @@ Line Plot Colormap ================== -Example showing cosine, sine, sinc lines. +Example showing basic colormapping with lines """ # test_example = true @@ -11,7 +11,7 @@ import fastplotlib as fpl import numpy as np -figure = fpl.Figure() +figure = fpl.Figure(size=(700, 560)) xs = np.linspace(-10, 10, 100) # sine wave @@ -41,10 +41,9 @@ figure.show() -figure.canvas.set_logical_size(700, 560) -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide if __name__ == "__main__": print(__doc__) - fpl.run() + fpl.loop.run() diff --git a/examples/line/line_cmap_more.py b/examples/line/line_cmap_more.py new file mode 100644 index 000000000..c7c0d80f4 --- /dev/null +++ b/examples/line/line_cmap_more.py @@ -0,0 +1,56 @@ +""" +Lines more colormapping +======================= + +Example showing more on colormapping with lines +""" + +# test_example = true +# sphinx_gallery_pygfx_docs = 'screenshot' + +import numpy as np +import fastplotlib as fpl + +xs = np.linspace(0, 10 * np.pi, 100) +# sine wave +ys = np.sin(xs) +sine = np.column_stack([xs, ys]) + +# cosine wave +ys = np.cos(xs) +cosine = np.column_stack([xs, ys]) + +figure = fpl.Figure(size=(700, 560)) + +# basic white line +line0 = figure[0, 0].add_line(sine, thickness=10) + +# set colormap along line datapoints, use an offset to place it above the previous line +line1 = figure[0, 0].add_line(sine, thickness=10, cmap="jet", offset=(0, 2, 0)) + +# set colormap by mapping data using a transform +# here we map the color using the y-values of the sine data +# i.e., the color is a function of sine(x) +line2 = figure[0, 0].add_line(sine, thickness=10, cmap="jet", cmap_transform=sine[:, 1], offset=(0, 4, 0)) + +# make a line and change the cmap afterward, here we are using the cosine instead fot the transform +line3 = figure[0, 0].add_line(sine, thickness=10, cmap="jet", cmap_transform=cosine[:, 1], offset=(0, 6, 0)) +# change the cmap +line3.cmap = "bwr" + +# use quantitative colormaps with categorical cmap_transforms +labels = [0] * 25 + [1] * 5 + [2] * 50 + [3] * 20 +line4 = figure[0, 0].add_line(sine, thickness=10, cmap="tab10", cmap_transform=labels, offset=(0, 8, 0)) + +# some text labels +for i in range(5): + figure[0, 0].add_text(f"line{i}", font_size=20, offset=(1, (i * 2) + 1.5, 0)) + +figure.show(maintain_aspect=False) + + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/desktop/line/line_colorslice.py b/examples/line/line_colorslice.py similarity index 87% rename from examples/desktop/line/line_colorslice.py rename to examples/line/line_colorslice.py index 3d18d74b7..2d4c0dcaa 100644 --- a/examples/desktop/line/line_colorslice.py +++ b/examples/line/line_colorslice.py @@ -11,7 +11,7 @@ import fastplotlib as fpl import numpy as np -figure = fpl.Figure() +figure = fpl.Figure(size=(700, 560)) xs = np.linspace(-10, 10, 100) # sine wave @@ -82,12 +82,9 @@ zeros_graphic.cmap[50:75] = "jet" zeros_graphic.cmap[75:] = "viridis" -figure.canvas.set_logical_size(700, 560) -figure[0, 0].auto_scale() - -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide if __name__ == "__main__": print(__doc__) - fpl.run() + fpl.loop.run() diff --git a/examples/desktop/line/line_dataslice.py b/examples/line/line_dataslice.py similarity index 81% rename from examples/desktop/line/line_dataslice.py rename to examples/line/line_dataslice.py index eac765c68..ca0f48518 100644 --- a/examples/desktop/line/line_dataslice.py +++ b/examples/line/line_dataslice.py @@ -11,7 +11,7 @@ import fastplotlib as fpl import numpy as np -figure = fpl.Figure() +figure = fpl.Figure(size=(700, 560)) xs = np.linspace(-10, 10, 100) # sine wave @@ -46,12 +46,9 @@ bool_key = [True, True, True, False, False] * 20 sinc_graphic.data[bool_key, 1] = 7 # y vals to 1 -figure.canvas.set_logical_size(700, 560) -figure[0, 0].auto_scale() - -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide if __name__ == "__main__": print(__doc__) - fpl.run() + fpl.loop.run() diff --git a/examples/desktop/line_collection/README.rst b/examples/line_collection/README.rst similarity index 100% rename from examples/desktop/line_collection/README.rst rename to examples/line_collection/README.rst diff --git a/examples/desktop/line_collection/line_collection.py b/examples/line_collection/line_collection.py similarity index 76% rename from examples/desktop/line_collection/line_collection.py rename to examples/line_collection/line_collection.py index 44b765319..2ddfbe2ed 100644 --- a/examples/desktop/line_collection/line_collection.py +++ b/examples/line_collection/line_collection.py @@ -29,16 +29,18 @@ def make_circle(center, radius: float, n_points: int = 75) -> np.ndarray: pos_xy = np.vstack(circles) -figure = fpl.Figure() +figure = fpl.Figure(size=(700, 560), show_tooltips=True) figure[0, 0].add_line_collection(circles, cmap="jet", thickness=5) +# remove clutter +figure[0, 0].axes.visible = False + figure.show() -figure.canvas.set_logical_size(700, 560) -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide if __name__ == "__main__": print(__doc__) - fpl.run() + fpl.loop.run() diff --git a/examples/desktop/line_collection/line_collection_cmap_values.py b/examples/line_collection/line_collection_cmap_values.py similarity index 83% rename from examples/desktop/line_collection/line_collection_cmap_values.py rename to examples/line_collection/line_collection_cmap_values.py index e94a161ad..59f456893 100644 --- a/examples/desktop/line_collection/line_collection_cmap_values.py +++ b/examples/line_collection/line_collection_cmap_values.py @@ -34,18 +34,20 @@ def make_circle(center, radius: float, n_points: int = 75) -> np.ndarray: # highest values, lowest values, mid-high values, mid values cmap_values = [10] * 4 + [0] * 4 + [7] * 4 + [5] * 4 -figure = fpl.Figure() +figure = fpl.Figure(size=(700, 560)) figure[0, 0].add_line_collection( circles, cmap="bwr", cmap_transform=cmap_values, thickness=10 ) +# remove clutter +figure[0, 0].axes.visible = False + figure.show() -figure.canvas.set_logical_size(700, 560) -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide if __name__ == "__main__": print(__doc__) - fpl.run() + fpl.loop.run() diff --git a/examples/desktop/line_collection/line_collection_cmap_values_qualitative.py b/examples/line_collection/line_collection_cmap_values_qualitative.py similarity index 84% rename from examples/desktop/line_collection/line_collection_cmap_values_qualitative.py rename to examples/line_collection/line_collection_cmap_values_qualitative.py index 5f9ea0000..399f4a93d 100644 --- a/examples/desktop/line_collection/line_collection_cmap_values_qualitative.py +++ b/examples/line_collection/line_collection_cmap_values_qualitative.py @@ -12,6 +12,7 @@ import numpy as np import fastplotlib as fpl + def make_circle(center, radius: float, n_points: int = 75) -> np.ndarray: theta = np.linspace(0, 2 * np.pi, n_points) xs = radius * np.sin(theta) @@ -40,7 +41,7 @@ def make_circle(center, radius: float, n_points: int = 75) -> np.ndarray: 1, 1, 1, 5 ] -figure = fpl.Figure() +figure = fpl.Figure(size=(700, 560)) figure[0, 0].add_line_collection( circles, @@ -49,12 +50,14 @@ def make_circle(center, radius: float, n_points: int = 75) -> np.ndarray: thickness=10 ) +# remove clutter +figure[0, 0].axes.visible = False + figure.show() -figure.canvas.set_logical_size(700, 560) -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide if __name__ == "__main__": print(__doc__) - fpl.run() + fpl.loop.run() diff --git a/examples/desktop/line_collection/line_collection_colors.py b/examples/line_collection/line_collection_colors.py similarity index 81% rename from examples/desktop/line_collection/line_collection_colors.py rename to examples/line_collection/line_collection_colors.py index bf3e818cd..b7b25e853 100644 --- a/examples/desktop/line_collection/line_collection_colors.py +++ b/examples/line_collection/line_collection_colors.py @@ -33,16 +33,18 @@ def make_circle(center, radius: float, n_points: int = 75) -> np.ndarray: # this will produce 16 circles so we will define 16 colors colors = ["blue"] * 4 + ["red"] * 4 + ["yellow"] * 4 + ["w"] * 4 -figure = fpl.Figure() +figure = fpl.Figure(size=(700, 560)) figure[0, 0].add_line_collection(circles, colors=colors, thickness=10) +# remove clutter +figure[0, 0].axes.visible = False + figure.show() -figure.canvas.set_logical_size(700, 560) -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide if __name__ == "__main__": print(__doc__) - fpl.run() + fpl.loop.run() diff --git a/examples/desktop/line_collection/line_collection_slicing.py b/examples/line_collection/line_collection_slicing.py similarity index 83% rename from examples/desktop/line_collection/line_collection_slicing.py rename to examples/line_collection/line_collection_slicing.py index a7525f7ba..f829a53c6 100644 --- a/examples/desktop/line_collection/line_collection_slicing.py +++ b/examples/line_collection/line_collection_slicing.py @@ -20,12 +20,12 @@ multi_data = np.stack([data] * 15) -figure = fpl.Figure() +figure = fpl.Figure(size=(700, 560)) lines = figure[0, 0].add_line_stack( multi_data, thickness=[2, 10, 2, 5, 5, 5, 8, 8, 8, 9, 3, 3, 3, 4, 4], - separation=1, + separation=4, metadatas=list(range(15)), # some metadata names=list("abcdefghijklmno"), # unique name for each line ) @@ -63,8 +63,16 @@ figure.show(maintain_aspect=False) -figure.canvas.set_logical_size(700, 580) +# individual y axis for each line +for line in lines: + line.add_axes() + line.axes.x.visible = False + line.axes.update_using_bbox(line.world_object.get_world_bounding_box()) + +# no y axis in subplot +figure[0, 0].axes.y.visible = False + if __name__ == "__main__": print(__doc__) - fpl.run() + fpl.loop.run() diff --git a/examples/line_collection/line_stack.py b/examples/line_collection/line_stack.py new file mode 100644 index 000000000..829708cb7 --- /dev/null +++ b/examples/line_collection/line_stack.py @@ -0,0 +1,61 @@ +""" +Line Stack +========== + +Example showing how to plot a stack of lines +""" + +# test_example = true +# sphinx_gallery_pygfx_docs = 'screenshot' + +import numpy as np +import fastplotlib as fpl + + +xs = np.linspace(0, np.pi * 10, 100) +# sine wave +ys = np.sin(xs) + +data = np.column_stack([xs, ys]) +multi_data = np.stack([data] * 10) + +figure = fpl.Figure( + size=(700, 560), + show_tooltips=True +) + +line_stack = figure[0, 0].add_line_stack( + multi_data, # shape: (10, 100, 2), i.e. [n_lines, n_points, xy] + cmap="jet", # applied along n_lines + thickness=5, + separation=1, # spacing between lines along the separation axis, default separation along "y" axis +) + + +def tooltip_info(ev): + """A custom function to display the index of the graphic within the collection.""" + index = ev.pick_info["vertex_index"] # index of the line datapoint being hovered + + # get index of the hovered line within the line stack + line_index = np.where(line_stack.graphics == ev.graphic)[0].item() + info = f"line index: {line_index}\n" + + # append data value info + info += "\n".join(f"{dim}: {val}" for dim, val in zip("xyz", ev.graphic.data[index])) + + # return str to display in tooltip + return info + +# register the line stack with the custom tooltip function +figure.tooltip_manager.register( + line_stack, custom_info=tooltip_info +) + +figure.show(maintain_aspect=False) + + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/desktop/line_collection/line_stack_3d.py b/examples/line_collection/line_stack_3d.py similarity index 88% rename from examples/desktop/line_collection/line_stack_3d.py rename to examples/line_collection/line_stack_3d.py index 314a97ff2..b4548c1c6 100644 --- a/examples/desktop/line_collection/line_stack_3d.py +++ b/examples/line_collection/line_stack_3d.py @@ -21,7 +21,10 @@ multi_data = np.stack([data] * 10) # create figure to plot lines and use an orbit controller in 3D -figure = fpl.Figure(cameras="3d", controller_types="orbit") +figure = fpl.Figure(cameras="3d", controller_types="orbit", size=(700, 560)) + +# make grid invisible to remove clutter +figure[0, 0].axes.grids.visible = False line_stack = figure[0, 0].add_line_stack( multi_data, # shape: (10, 100, 2), i.e. [n_lines, n_points, xy] @@ -88,7 +91,7 @@ def animate_colors(subplot): "fov": 50.0, "width": 32, "height": 20, - "zoom": 1, + "zoom": 0.7, "maintain_aspect": True, "depth_range": None, } @@ -97,10 +100,9 @@ def animate_colors(subplot): figure[0, 0].camera.set_state(camera_state) -figure.canvas.set_logical_size(700, 560) -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide if __name__ == "__main__": print(__doc__) - fpl.run() + fpl.loop.run() diff --git a/examples/machine_learning/README.rst b/examples/machine_learning/README.rst new file mode 100644 index 000000000..f6830887e --- /dev/null +++ b/examples/machine_learning/README.rst @@ -0,0 +1,2 @@ +Machine Learning Examples +========================= diff --git a/examples/machine_learning/covariance.py b/examples/machine_learning/covariance.py new file mode 100644 index 000000000..d918cb6b4 --- /dev/null +++ b/examples/machine_learning/covariance.py @@ -0,0 +1,94 @@ +""" +Explore Covariance Matrix +========================= + +Example showing how you can explore a covariance matrix with a selector tool. +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'animate 10s' + + +import fastplotlib as fpl +from sklearn import datasets +from sklearn.preprocessing import StandardScaler + +# load faces dataset +faces = datasets.fetch_olivetti_faces(n_retries=5, delay=20) +data = faces["data"] + +# sort the data so it's easier to understand the covariance matrix +targets = faces["target"] +sort_indices = targets.argsort() +targets_sorted = targets[sort_indices] + +X = data[sort_indices] + +# scale the data w.r.t. mean and standard deviation +X = StandardScaler().fit_transform(X) + +# compute covariance matrix +X = X.T +cov = X @ X.T / X.shape[1] + +# reshaped image for each sample wil be 64 x 64 pixels +img = cov[0].reshape(64, 64) + +# figure kwargs for image widget +# controller_ids = [[0, 1]] so we get independent controllers for each supblot +# the covariance matrix is 4096 x 4096 and the reshaped image ix 64 x 64 +figure_kwargs = {"size": (700, 400), "controller_ids": [[0, 1]]} + +# create image widget +iw = fpl.ImageWidget( + data=[cov, img], # display the covariance matrix and reshaped image of a row + cmap="bwr", # diverging colormap + names=["covariance", "row image"], + figure_kwargs=figure_kwargs, +) + +# graphic that corresponds to image widget data array 0 +# 0 is the covariance matrix, 1 is the reshaped image of a row from the covariance matrix + +# add a linear selector to select y axis values so we can select rows of the cov matrix +selector_cov = iw.managed_graphics[0].add_linear_selector(axis="y") + +# if you are exploring other types of matrices which are not-symmetric +# you can also add a column selector by setting axis="x" + +# set vmin vmax +for g in iw.managed_graphics: + g.vmin, g.vmax = -1, 1 + + +# event handler when the covariance matrix row changes +@selector_cov.add_event_handler("selection") +def update_img(ev): + # get the row index + ix = ev.get_selected_index() + + # get the image the corresponds to this row + img = cov[ix].reshape(64, 64) + + # change the reshaped image graphic data + iw.managed_graphics[1].data = img + + +figure = iw.figure # not required, just for the docs gallery to pick it up + + +# move the selector programmatically, this is mainly for the docs gallery +# for real use you can interact with the selector with your mouse +def animate(): + selector_cov.selection += 1 + + +iw.figure.add_animations(animate) + +iw.show() + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/machine_learning/kmeans.py b/examples/machine_learning/kmeans.py new file mode 100644 index 000000000..f571882ce --- /dev/null +++ b/examples/machine_learning/kmeans.py @@ -0,0 +1,125 @@ +""" +K-Means Clustering of MNIST Dataset +=================================== + +Example showing how you can perform K-Means clustering on the MNIST dataset. + +Use WASD keys on your keyboard to fly through the data in PCA space. +Use the mouse pointer to select points. +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'screenshot' + +import fastplotlib as fpl +import numpy as np +from sklearn.datasets import load_digits +from sklearn.cluster import KMeans +from sklearn.decomposition import PCA + +# load the data +mnist = load_digits() + +# get the data and labels +data = mnist['data'] # (1797, 64) +labels = mnist['target'] # (1797,) + +# visualize the first 5 digits +# NOTE: this is just to give a sense of the dataset if you are unfamiliar, +# the more interesting visualization is below :D +fig_data = fpl.Figure(shape=(1, 5), size=(900, 300)) + +# iterate through each subplot +for i, subplot in enumerate(fig_data): + # reshape each image to (8, 8) + subplot.add_image(data[i].reshape(8, 8), cmap="gray", interpolation="linear") + # add the label as a title + subplot.title = f"Label: {labels[i]}" + # turn off the axes and toolbar + subplot.axes.visible = False + subplot.toolbar = False + +fig_data.show() + +# project the data from 64 dimensions down to the number of unique digits +n_digits = len(np.unique(labels)) # 10 + +reduced_data = PCA(n_components=n_digits).fit_transform(data) # (1797, 10) + +# performs K-Means clustering, take the best of 4 runs +kmeans = KMeans(n_clusters=n_digits, n_init=4) +# fit the lower-dimension data +kmeans.fit(reduced_data) + +# get the centroids (center of the clusters) +centroids = kmeans.cluster_centers_ + +# plot the kmeans result and corresponding original image +figure = fpl.Figure( + shape=(1, 2), + size=(700, 560), + cameras=["3d", "2d"], + controller_types=["fly", "panzoom"] +) + +# set the axes to False in the image subplot +figure[0, 1].axes.visible = False + +figure[0, 0].title = "k-means clustering of PCA-reduced data" +figure[0, 1].title = "handwritten digit" + +# plot the centroids +figure[0, 0].add_scatter( + data=np.vstack([centroids[:, 0], centroids[:, 1], centroids[:, 2]]).T, + colors="white", + sizes=15 +) +# plot the down-projected data +digit_scatter = figure[0,0].add_scatter( + data=np.vstack([reduced_data[:, 0], reduced_data[:, 1], reduced_data[:, 2]]).T, + sizes=5, + cmap="tab10", # use a qualitative cmap + cmap_transform=kmeans.labels_, # color by the predicted cluster +) + +# initial index +ix = 0 + +# plot the initial image +digit_img = figure[0, 1].add_image( + data=data[ix].reshape(8,8), + cmap="gray", + name="digit", + interpolation="linear" +) + +# change the color and size of the initial selected data point +digit_scatter.colors[ix] = "magenta" +digit_scatter.sizes[ix] = 10 + + +# define event handler to update the selected data point +@digit_scatter.add_event_handler("pointer_enter") +def update(ev): + # reset colors and sizes + digit_scatter.cmap = "tab10" + digit_scatter.sizes = 5 + + # update with new seleciton + ix = ev.pick_info["vertex_index"] + + digit_scatter.colors[ix] = "magenta" + digit_scatter.sizes[ix] = 10 + + # update digit fig + figure[0, 1]["digit"].data = data[ix].reshape(8, 8) + + +figure.show() + + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() \ No newline at end of file diff --git a/examples/misc/garbage_collection.py b/examples/misc-dev/garbage_collection.py similarity index 100% rename from examples/misc/garbage_collection.py rename to examples/misc-dev/garbage_collection.py diff --git a/examples/misc/selector_performance.ipynb b/examples/misc-dev/selector_performance.ipynb similarity index 100% rename from examples/misc/selector_performance.ipynb rename to examples/misc-dev/selector_performance.ipynb diff --git a/examples/desktop/misc/README.rst b/examples/misc/README.rst similarity index 100% rename from examples/desktop/misc/README.rst rename to examples/misc/README.rst diff --git a/examples/desktop/misc/cycle_animation.py b/examples/misc/cycle_animation.py similarity index 84% rename from examples/desktop/misc/cycle_animation.py rename to examples/misc/cycle_animation.py index bb402a1f7..833321453 100644 --- a/examples/desktop/misc/cycle_animation.py +++ b/examples/misc/cycle_animation.py @@ -34,7 +34,7 @@ colors = ["yellow"] * n_points + ["cyan"] * n_points + ["magenta"] * n_points # create plot -figure = fpl.Figure() +figure = fpl.Figure(size=(700, 560)) subplot_scatter = figure[0, 0] # use an alpha value since this will be a lot of points scatter_graphic = subplot_scatter.add_scatter(data=cloud, sizes=3, colors=colors, alpha=0.6) @@ -53,10 +53,9 @@ def cycle_colors(subplot): figure.show() -subplot_scatter.canvas.set_logical_size(700, 560) -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide if __name__ == "__main__": print(__doc__) - fpl.run() \ No newline at end of file + fpl.loop.run() diff --git a/examples/desktop/misc/em_wave_animation.py b/examples/misc/em_wave_animation.py similarity index 77% rename from examples/desktop/misc/em_wave_animation.py rename to examples/misc/em_wave_animation.py index 50ab27ed6..f2b9f8de5 100644 --- a/examples/desktop/misc/em_wave_animation.py +++ b/examples/misc/em_wave_animation.py @@ -6,7 +6,7 @@ """ # test_example = false -# sphinx_gallery_pygfx_docs = 'animate' +# sphinx_gallery_pygfx_docs = 'animate 8s' import fastplotlib as fpl import numpy as np @@ -14,7 +14,7 @@ figure = fpl.Figure( cameras="3d", controller_types="orbit", - size=(700, 400) + size=(700, 560) ) start, stop = 0, 4 * np.pi @@ -47,10 +47,6 @@ # it is the z-offset for where to place the *graphic*, by default with Orthographic cameras (i.e. 2D views) # it will increment by 1 for each line in the collection, we want to disable this so set z_position=0 -# axes are a WIP, just draw a white line along z for now -z_axis = np.array([[0, 0, 0], [0, 0, stop]]) -figure[0, 0].add_line(z_axis, colors="w", thickness=1) - # just a pre-saved camera state state = { 'position': np.array([-8.0 , 6.0, -2.0]), @@ -68,13 +64,15 @@ figure[0, 0].camera.set_state(state) +# make all grids except xz plane invisible to remove clutter +figure[0, 0].axes.grids.xz.visible = True + figure.show() figure[0, 0].camera.zoom = 1.5 increment = np.pi * 4 / 100 -figure.canvas.set_logical_size(700, 560) # moves the wave one step along the z-axis def tick(subplot): @@ -84,22 +82,34 @@ def tick(subplot): # just change the x-axis vals for the electric field subplot["e"].data[:, 0] = new_data + subplot["e"].data[:, 2] = new_zs # and y-axis vals for magnetic field subplot["m"].data[:, 1] = new_data + subplot["m"].data[:, 2] = new_zs # update the vector lines - for i, (value, z) in enumerate(zip(new_data[::10], zs[::10])): + for i, (value, z) in enumerate(zip(new_data[::10], new_zs[::10])): subplot["e-vec"].graphics[i].data = np.array([[0, 0, z], [value, 0, z]]) subplot["m-vec"].graphics[i].data = np.array([[0, 0, z], [0, value, z]]) + # update axes and center scene + subplot.axes.z.start_value = start + subplot.axes.z.update(subplot.camera, subplot.viewport.logical_size) + subplot.center_scene() + start += increment stop += increment +figure[0, 0].axes.x.visible = False +figure[0, 0].axes.y.visible = False +figure[0, 0].axes.auto_grid = False + figure[0, 0].add_animations(tick) +print(figure[0, 0]._fpl_graphics_scene.children) -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide if __name__ == "__main__": print(__doc__) - fpl.run() \ No newline at end of file + fpl.loop.run() diff --git a/examples/desktop/misc/image_animation.py b/examples/misc/image_animation.py similarity index 74% rename from examples/desktop/misc/image_animation.py rename to examples/misc/image_animation.py index df84f3c5a..1f7ff6109 100644 --- a/examples/desktop/misc/image_animation.py +++ b/examples/misc/image_animation.py @@ -13,7 +13,7 @@ data = np.random.rand(512, 512) -figure = fpl.Figure() +figure = fpl.Figure(size=(700, 560)) # plot the image data image_graphic = figure[0, 0].add_image(data=data, name="random-image") @@ -29,10 +29,9 @@ def update_data(figure_instance): figure.show() -figure.canvas.set_logical_size(700, 560) -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide if __name__ == "__main__": print(__doc__) - fpl.run() + fpl.loop.run() diff --git a/examples/misc/large_img.py b/examples/misc/large_img.py deleted file mode 100644 index 021bbd6f6..000000000 --- a/examples/misc/large_img.py +++ /dev/null @@ -1,35 +0,0 @@ -from fastplotlib import Plot, run -import numpy as np - -temporal = np.load("./array_10-000x108-000.npy") - -from PIL import Image - -Image.MAX_IMAGE_PIXELS = None - -img = Image.open("/home/kushal/Downloads/gigahour_stitched_0042_bbs.png") - -a = np.array(img) - -r = np.random.randint(0, 50, a.size, dtype=np.uint8).reshape(a.shape) - -plot = Plot(renderer_kwargs={"show_fps": True}) -plot.add_heatmap(r) -# plot.camera.scale.y = 0.2 -plot.show() - -r = np.random.randint(0, 50, a.size, dtype=np.uint8).reshape(a.shape) -r2 = np.random.randint(0, 50, a.size, dtype=np.uint8).reshape(a.shape) -r3 = np.random.randint(0, 50, a.size, dtype=np.uint8).reshape(a.shape) - -rs = [r, r2, r3] -i = 0 - -def update_frame(p): - global i - p.graphics[0].data[:] = rs[i % 3] - i +=1 - -plot.add_animations(update_frame) - -run() diff --git a/examples/desktop/misc/line3d_animation.py b/examples/misc/line3d_animation.py similarity index 73% rename from examples/desktop/misc/line3d_animation.py rename to examples/misc/line3d_animation.py index 27d22c78a..c1d903e02 100644 --- a/examples/desktop/misc/line3d_animation.py +++ b/examples/misc/line3d_animation.py @@ -6,7 +6,7 @@ """ # test_example = false -# sphinx_gallery_pygfx_docs = 'animate 5s' +# sphinx_gallery_pygfx_docs = 'animate 8s' import numpy as np import fastplotlib as fpl @@ -21,7 +21,7 @@ # make data 3d, with shape [, 3] spiral = np.dstack([xs, ys, zs])[0] -figure = fpl.Figure(cameras="3d") +figure = fpl.Figure(cameras="3d", size=(700, 560)) line_graphic = figure[0,0].add_line(data=spiral, thickness=3, cmap='jet') @@ -46,14 +46,16 @@ def move_marker(): # add `move_marker` to the animations figure.add_animations(move_marker) -figure.show() +# remove clutter +figure[0, 0].axes.grids.xy.visible = True +figure[0, 0].axes.grids.xz.visible = True + -figure.canvas.set_logical_size(700, 560) +figure.show() -figure[0,0].auto_scale(maintain_aspect=False) -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide if __name__ == "__main__": print(__doc__) - fpl.run() + fpl.loop.run() diff --git a/examples/desktop/misc/line_animation.py b/examples/misc/line_animation.py similarity index 74% rename from examples/desktop/misc/line_animation.py rename to examples/misc/line_animation.py index 50faad5c7..86448a78b 100644 --- a/examples/desktop/misc/line_animation.py +++ b/examples/misc/line_animation.py @@ -19,7 +19,7 @@ xs = np.linspace(start, stop, 100) ys = np.sin(xs) -figure = fpl.Figure() +figure = fpl.Figure(size=(700, 560)) # plot the image data sine = figure[0, 0].add_line(ys, name="sine", colors="r") @@ -40,14 +40,11 @@ def update_line(subplot): figure[0, 0].add_animations(update_line) -figure.show() +figure.show(maintain_aspect=False) -figure.canvas.set_logical_size(700, 560) -figure[0,0].auto_scale(maintain_aspect=False) - -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide if __name__ == "__main__": print(__doc__) - fpl.run() \ No newline at end of file + fpl.loop.run() diff --git a/examples/misc/lorenz_animation.py b/examples/misc/lorenz_animation.py new file mode 100644 index 000000000..20aee5d83 --- /dev/null +++ b/examples/misc/lorenz_animation.py @@ -0,0 +1,93 @@ +""" +Lorenz System Animation +======================= + +Example of the Lorenz attractor. +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'animate 10s' + +import fastplotlib as fpl +import numpy as np + + +# generate data +def lorenz(xyz, *, s=10, r=28, b=2.667): + """ + Parameters + ---------- + xyz : array-like, shape (3,) + Point of interest in three-dimensional space. + s, r, b : float + Parameters defining the Lorenz attractor. + + Returns + ------- + xyz_dot : array, shape (3,) + Values of the Lorenz attractor's partial derivatives at *xyz*. + """ + x, y, z = xyz + x_dot = s * (y - x) + y_dot = r * x - y - x * z + z_dot = x * y - b * z + return np.array([x_dot, y_dot, z_dot]) + + +dt = 0.01 +num_steps = 3_000 + +lorenz_data = np.empty((5, num_steps + 1, 3)) + +for i in range(5): + xyzs = np.empty((num_steps + 1, 3)) # Need one more for the initial values + xyzs[0] = (0., (i * 0.3) + 1, 1.05) # Set initial values + # Step through "time", calculating the partial derivatives at the current point + # and using them to estimate the next point + for j in range(num_steps): + xyzs[j + 1] = xyzs[j] + lorenz(xyzs[j]) * dt + + lorenz_data[i] = xyzs + +figure = fpl.Figure( + cameras="3d", + controller_types="fly", + size=(700, 560) +) + +lorenz_line = figure[0, 0].add_line_collection(data=lorenz_data, thickness=.1, cmap="tab10") + +scatter_markers = list() + +for graphic in lorenz_line: + marker = figure[0, 0].add_scatter(graphic.data.value[0], sizes=16, colors=graphic.colors[0]) + scatter_markers.append(marker) + +# initialize time +time = 0 + + +def animate(subplot): + global time + + time += 2 + + if time >= xyzs.shape[0]: + time = 0 + + for scatter, g in zip(scatter_markers, lorenz_line): + scatter.data = g.data.value[time] + + +figure[0, 0].add_animations(animate) + +figure.show() + +# set initial camera position to make animation in gallery render better +figure[0, 0].camera.world.z = 80 + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/desktop/misc/multiplot_animation.py b/examples/misc/multiplot_animation.py similarity index 69% rename from examples/desktop/misc/multiplot_animation.py rename to examples/misc/multiplot_animation.py index a712ce9ef..789ce744e 100644 --- a/examples/desktop/misc/multiplot_animation.py +++ b/examples/misc/multiplot_animation.py @@ -2,7 +2,7 @@ Multi-Subplot Image Update ========================== -Example showing updating a single plot with new random 512x512 data. +Multiple subplots with an image that updates with new data on every render. """ # test_example = false @@ -12,7 +12,7 @@ import numpy as np # Figure of shape 2 x 3 with all controllers synced -figure = fpl.Figure(shape=(2, 3), controller_ids="sync") +figure = fpl.Figure(shape=(2, 3), controller_ids="sync", size=(700, 560)) # Make a random image graphic for each subplot for subplot in figure: @@ -27,7 +27,7 @@ figure[1,1]["rand-img"].cmap = "spring" # Define a function to update the image graphics with new data -# add_animations will pass the gridplot to the animation function +# add_animations will pass the figure to the animation function def update_data(f): for subplot in f: new_data = np.random.rand(512, 512) @@ -37,13 +37,12 @@ def update_data(f): # add the animation function figure.add_animations(update_data) -# show the gridplot +# show the figure figure.show() -figure.canvas.set_logical_size(700, 560) -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide if __name__ == "__main__": print(__doc__) - fpl.run() \ No newline at end of file + fpl.loop.run() diff --git a/examples/desktop/misc/scatter_animation.py b/examples/misc/scatter_animation.py similarity index 83% rename from examples/desktop/misc/scatter_animation.py rename to examples/misc/scatter_animation.py index aa1495dd9..ee8d2a10a 100644 --- a/examples/desktop/misc/scatter_animation.py +++ b/examples/misc/scatter_animation.py @@ -34,7 +34,7 @@ colors = ["yellow"] * n_points + ["cyan"] * n_points + ["magenta"] * n_points # create plot -figure = fpl.Figure() +figure = fpl.Figure(size=(700, 560)) subplot_scatter = figure[0, 0] # use an alpha value since this will be a lot of points scatter_graphic = subplot_scatter.add_scatter(data=cloud, sizes=3, colors=colors, alpha=0.6) @@ -50,10 +50,9 @@ def update_points(subplot): figure.show() -subplot_scatter.canvas.set_logical_size(700, 560) -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide if __name__ == "__main__": print(__doc__) - fpl.run() \ No newline at end of file + fpl.loop.run() diff --git a/examples/misc/scatter_sizes_animation.py b/examples/misc/scatter_sizes_animation.py new file mode 100644 index 000000000..53a616a68 --- /dev/null +++ b/examples/misc/scatter_sizes_animation.py @@ -0,0 +1,47 @@ +""" +Scatter sizes animation +======================= + +Animate scatter sizes +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'animate 6s' + +import numpy as np +import fastplotlib as fpl + +xs = np.linspace(0, 10 * np.pi, 1_000) +# sine wave +ys = np.sin(xs) +data = np.column_stack([xs, ys]) + +sizes = np.abs(ys) * 5 + +figure = fpl.Figure(size=(700, 560)) + +figure[0, 0].add_scatter(data, sizes=sizes, name="sine") + + +i = 0 +def update_sizes(subplot): + global i + + xs = np.linspace(0.1 * i, (10 * np.pi) + (0.1 * i), 1_000) + sizes = np.abs(np.sin(xs)) * 5 + + subplot["sine"].sizes = sizes + + i += 1 + + +figure[0, 0].add_animations(update_sizes) + +figure.show(maintain_aspect=False) + + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/misc/tooltips.py b/examples/misc/tooltips.py new file mode 100644 index 000000000..cad3d807c --- /dev/null +++ b/examples/misc/tooltips.py @@ -0,0 +1,54 @@ +""" +Tooltips +======== + +Show tooltips on all graphics +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'screenshot' + +import numpy as np +import imageio.v3 as iio +import fastplotlib as fpl + + +# get some data +scatter_data = np.random.rand(1_000, 3) + +xs = np.linspace(0, 2 * np.pi, 100) +ys = np.sin(xs) + +gray = iio.imread("imageio:camera.png") +rgb = iio.imread("imageio:astronaut.png") + +# create a figure +figure = fpl.Figure( + cameras=["3d", "2d", "2d", "2d"], + controller_types=["orbit", "panzoom", "panzoom", "panzoom"], + size=(700, 560), + shape=(2, 2), + show_tooltips=True, # tooltip will display data value info for all graphics +) + +# create graphics +scatter = figure[0, 0].add_scatter(scatter_data, sizes=3, colors="r") +line = figure[0, 1].add_line(np.column_stack([xs, ys])) +image = figure[1, 0].add_image(gray) +image_rgb = figure[1, 1].add_image(rgb) + + +figure.show() + +# to hide tooltips for all graphics in an existing Figure +# figure.show_tooltips = False + +# to show tooltips for all graphics in an existing Figure +# figure.show_tooltips = True + + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/misc/tooltips_custom.py b/examples/misc/tooltips_custom.py new file mode 100644 index 000000000..a62190906 --- /dev/null +++ b/examples/misc/tooltips_custom.py @@ -0,0 +1,54 @@ +""" +Tooltips Customization +====================== + +Customize the information displayed in a tooltip. This example uses the Iris dataset and sets the tooltip to display +the species and cluster label of the point that is being hovered by the mouse pointer. +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'screenshot' + + +import fastplotlib as fpl +from sklearn.cluster import AgglomerativeClustering +from sklearn import datasets + + +figure = fpl.Figure(size=(700, 560)) + +dataset = datasets.load_iris() +data = dataset["data"] + +agg = AgglomerativeClustering(n_clusters=3) +agg.fit_predict(data) + +scatter_graphic = figure[0, 0].add_scatter( + data=data[:, :-1], # use only xy data + sizes=15, + cmap="Set1", + cmap_transform=agg.labels_ # use the labels as a transform to map colors from the colormap +) + + +def tooltip_info(ev) -> str: + # get index of the scatter point that is being hovered + index = ev.pick_info["vertex_index"] + + # get the species name + target = dataset["target"][index] + cluster = agg.labels_[index] + info = f"species: {dataset['target_names'][target]}\ncluster: {cluster}" + + # return this string to display it in the tooltip + return info + + +figure.tooltip_manager.register(scatter_graphic, custom_info=tooltip_info) + +figure.show() + + +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/notebooks/heatmap.ipynb b/examples/notebooks/heatmap.ipynb deleted file mode 100644 index 7de3af2a0..000000000 --- a/examples/notebooks/heatmap.ipynb +++ /dev/null @@ -1,106 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "d8c90f4b-b635-4027-b7d5-080d77bd40a3", - "metadata": {}, - "source": [ - "# Looking at very large arrays" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "49b2498d-56ae-4559-9282-c8484f3e6b6d", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "import numpy as np\n", - "import fastplotlib as fpl" - ] - }, - { - "cell_type": "markdown", - "id": "908f93f8-68c3-4a36-8f40-e0aab560955d", - "metadata": {}, - "source": [ - "## Generate some sine and cosine data" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "40718465-abf6-4727-8bd7-4acdd59843d5", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "xs = np.linspace(0, 1_000, 20_000)\n", - "\n", - "sine = np.sin(np.sqrt(xs))\n", - "\n", - "data = np.vstack([sine * i for i in range(10_000)])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "02b072eb-2909-40c8-8739-950f07efbbc2", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "data.shape" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "84deb31b-5464-4cce-a938-694371011021", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "fig = fpl.Figure()\n", - "\n", - "fig[0, 0].add_image(data, cmap=\"viridis\")\n", - "\n", - "fig.show(maintain_aspect=False)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "df3f8994-0f5b-4578-a36d-4cd9bf0733c0", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.3" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/examples/notebooks/image_widget_test.ipynb b/examples/notebooks/image_widget_test.ipynb index 321f7b84f..2c05db6b0 100644 --- a/examples/notebooks/image_widget_test.ipynb +++ b/examples/notebooks/image_widget_test.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "07019035-83f2-4753-9e7c-628ae439b441", "metadata": { "tags": [] @@ -18,14 +18,12 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "10b8ab40-944d-472c-9b7e-cae8a129e7ce", "metadata": {}, "outputs": [], "source": [ - "from nb_test_utils import plot_test, notebook_finished\n", - "import nb_test_utils\n", - "nb_test_utils.TOLERANCE = 0.035" + "from nb_test_utils import plot_test, notebook_finished" ] }, { @@ -155,26 +153,33 @@ "outputs": [], "source": [ "# testing cell ignore\n", - "assert iw_movie.sliders[\"t\"].max == gray_movie.shape[0] - 1\n", - "assert iw_movie.sliders[\"t\"].min == 0\n", + "assert iw_movie._dims_max_bounds[\"t\"] == gray_movie.shape[0]\n", + "\n", "plot_test(\"image-widget-movie-single-0\", iw_movie.figure)\n", - "iw_movie.sliders[\"t\"].value = 50\n", + "\n", + "iw_movie.current_index = {\"t\": 50}\n", "plot_test(\"image-widget-movie-single-50\", iw_movie.figure)\n", - "iw_movie.sliders[\"t\"].value = 279\n", + "\n", + "iw_movie.current_index = {\"t\": 279}\n", "plot_test(\"image-widget-movie-single-279\", iw_movie.figure)\n", - "iw_movie.sliders[\"t\"].value = 0\n", + "\n", + "iw_movie.current_index = {\"t\": 0}\n", "plot_test(\"image-widget-movie-single-0-reset\", iw_movie.figure)\n", - "iw_movie.sliders[\"t\"].value = 50\n", + "\n", + "iw_movie.current_index = {\"t\": 50}\n", "iw_movie.window_funcs = {\"t\": (np.mean, 13)}\n", - "# testing cell ignore\n", + "\n", "plot_test(\"image-widget-movie-single-50-window-mean-13\", iw_movie.figure)\n", "iw_movie.window_funcs[\"t\"].window_size = 33\n", + "\n", "plot_test(\"image-widget-movie-single-50-window-mean-33\", iw_movie.figure)\n", "iw_movie.window_funcs[\"t\"].func = np.max\n", + "\n", "plot_test(\"image-widget-movie-single-50-window-max-33\", iw_movie.figure)\n", "iw_movie.window_funcs = None\n", + "\n", "plot_test(\"image-widget-movie-single-50-window-reset\", iw_movie.figure)\n", - "iw_movie.sliders[\"t\"].value = 0" + "iw_movie.current_index = {\"t\": 0}" ] }, { @@ -307,24 +312,31 @@ "outputs": [], "source": [ "# testing cell ignore\n", - "assert iw_zfish.sliders[\"t\"].max == zfish_data.shape[0] - 1\n", - "assert iw_zfish.sliders[\"t\"].min == 0\n", + "assert iw_zfish._dims_max_bounds[\"t\"] == zfish_data.shape[0]\n", + "\n", "plot_test(\"image-widget-zfish-grid-init-mean-window-5\", iw_zfish.figure)\n", - "iw_zfish.sliders[\"t\"].value = 50\n", + "\n", + "iw_zfish.current_index = {\"t\": 50}\n", "plot_test(\"image-widget-zfish-grid-frame-50-mean-window-5\", iw_zfish.figure)\n", + "\n", "iw_zfish.window_funcs[\"t\"].window_size = 13\n", "plot_test(\"image-widget-zfish-grid-frame-50-mean-window-13\", iw_zfish.figure)\n", + "\n", "iw_zfish.window_funcs = None\n", "plot_test(\"image-widget-zfish-grid-frame-50\", iw_zfish.figure)\n", - "iw_zfish.sliders[\"t\"].value = 99\n", + "\n", + "iw_zfish.current_index = {\"t\": 99}\n", "plot_test(\"image-widget-zfish-grid-frame-99\", iw_zfish.figure)\n", - "iw_zfish.sliders[\"t\"].value = 50\n", + "\n", + "iw_zfish.current_index = {\"t\": 50}\n", "iw_zfish.window_funcs = {\"t\": (np.max, 13)}\n", "plot_test(\"image-widget-zfish-grid-frame-50-max-window-13\", iw_zfish.figure)\n", + "\n", "iw_zfish.window_funcs = None\n", "iw_zfish.frame_apply = lambda frame: gaussian_filter(frame.astype(np.float32), sigma=3)\n", "iw_zfish.reset_vmin_vmax()\n", "plot_test(\"image-widget-zfish-grid-frame-50-frame-apply-gaussian\", iw_zfish.figure)\n", + "\n", "iw_zfish.frame_apply = None\n", "iw_zfish.reset_vmin_vmax()\n", "plot_test(\"image-widget-zfish-grid-frame-50-frame-apply-reset\", iw_zfish.figure)" @@ -407,24 +419,31 @@ "outputs": [], "source": [ "# same tests as with the figure\n", - "assert iw_z.sliders[\"t\"].max == zfish_data.shape[0] - 1\n", - "assert iw_z.sliders[\"t\"].min == 0\n", + "assert iw_z._dims_max_bounds[\"t\"] == zfish_data.shape[0]\n", + "\n", "plot_test(\"image-widget-zfish-init-mean-window-5\", iw_z.figure)\n", - "iw_z.sliders[\"t\"].value = 50\n", + "\n", + "iw_z.current_index = {\"t\": 50}\n", "plot_test(\"image-widget-zfish-frame-50-mean-window-5\", iw_z.figure)\n", + "\n", "iw_z.window_funcs[\"t\"].window_size = 13\n", "plot_test(\"image-widget-zfish-frame-50-mean-window-13\", iw_z.figure)\n", + "\n", "iw_z.window_funcs = None\n", "plot_test(\"image-widget-zfish-frame-50\", iw_z.figure)\n", - "iw_z.sliders[\"t\"].value = 99\n", + "\n", + "iw_z.current_index = {\"t\": 99}\n", "plot_test(\"image-widget-zfish-frame-99\", iw_z.figure)\n", - "iw_z.sliders[\"t\"].value = 50\n", + "\n", + "iw_z.current_index = {\"t\": 50}\n", "iw_z.window_funcs = {\"t\": (np.max, 13)}\n", "plot_test(\"image-widget-zfish-frame-50-max-window-13\", iw_z.figure)\n", + "\n", "iw_z.window_funcs = None\n", "iw_z.frame_apply = lambda frame: gaussian_filter(frame.astype(np.float32), sigma=3)\n", "iw_z.reset_vmin_vmax()\n", "plot_test(\"image-widget-zfish-frame-50-frame-apply-gaussian\", iw_z.figure)\n", + "\n", "iw_z.frame_apply = None\n", "iw_z.reset_vmin_vmax()\n", "plot_test(\"image-widget-zfish-frame-50-frame-apply-reset\", iw_z.figure)" @@ -450,7 +469,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": null, "id": "ed783360-992d-40f8-bb6f-152a59edff43", "metadata": {}, "outputs": [], @@ -465,7 +484,7 @@ " rgb=[False, True],\n", " histogram_widget=True,\n", " cmap=\"gnuplot2\", \n", - " figure_kwargs = {\"controller_ids\": None},\n", + " figure_kwargs={\"controller_ids\": None, \"size\": (900, 400)},\n", ")\n", "\n", "iw_mixed_shapes.show()" @@ -473,21 +492,21 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "id": "274c67b4-aa07-4fcf-a094-1b1e70d0378a", "metadata": {}, "outputs": [], "source": [ - "iw_mixed_shapes.sliders[\"t\"].value = 50\n", + "iw_mixed_shapes.current_index = {\"t\": 50}\n", "plot_test(\"image-widget-zfish-mixed-rgb-cockatoo-frame-50\", iw_mixed_shapes.figure)\n", "\n", - "#Set the data, changing the first array and also the size of the \"T\" slider\n", + "# Set the data, changing the first array and also the size of the \"T\" slider\n", "iw_mixed_shapes.set_data([zfish_frame_2, movie[:200, :, :, :]], reset_indices=True)\n", "plot_test(\"image-widget-zfish-mixed-rgb-cockatoo-set-data\", iw_mixed_shapes.figure)\n", "\n", - "#Check how a window function might work on the RGB data\n", + "# Check how a window function might work on the RGB data\n", "iw_mixed_shapes.window_funcs = {\"t\": (np.mean, 4)}\n", - "iw_mixed_shapes.sliders[\"t\"].value = 20\n", + "iw_mixed_shapes.current_index = {\"t\": 20}\n", "plot_test(\"image-widget-zfish-mixed-rgb-cockatoo-windowrgb\", iw_mixed_shapes.figure)" ] }, @@ -518,7 +537,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.8" + "version": "3.11.3" } }, "nbformat": 4, diff --git a/examples/notebooks/linear_region_selector.ipynb b/examples/notebooks/linear_region_selector.ipynb deleted file mode 100644 index 74b304a35..000000000 --- a/examples/notebooks/linear_region_selector.ipynb +++ /dev/null @@ -1,182 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "1db50ec4-8754-4421-9f5e-6ba8ca6b81e3", - "metadata": {}, - "source": [ - "# `LinearRegionSelector` with single lines" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b7bbfeb4-1ad0-47db-9a82-3d3f642a1f63", - "metadata": {}, - "outputs": [], - "source": [ - "import fastplotlib as fpl\n", - "import numpy as np\n", - "# from ipywidgets import IntRangeSlider, FloatRangeSlider, VBox\n", - "\n", - "fig = fpl.Figure((2, 2))\n", - "\n", - "# preallocated size for zoomed data\n", - "zoomed_prealloc = 1_000\n", - "\n", - "# data to plot\n", - "xs = np.linspace(0, 10* np.pi, 1_000)\n", - "sine = np.sin(xs)\n", - "sine += 100\n", - "\n", - "# make sine along x axis\n", - "sine_graphic_x = fig[0, 0].add_line(np.column_stack([xs, sine]), offset=(10, 0, 0))\n", - "\n", - "# just something that looks different for line along y-axis\n", - "sine_y = sine\n", - "sine_y[sine_y > 0] = 0\n", - "\n", - "# sine along y axis\n", - "sine_graphic_y = fig[0, 1].add_line(np.column_stack([sine_y, xs]))\n", - "\n", - "# offset the position of the graphic to demonstrate `get_selected_data()` later\n", - "sine_graphic_y.position_x = 50\n", - "sine_graphic_y.position_y = 50\n", - "\n", - "# add linear selectors\n", - "ls_x = sine_graphic_x.add_linear_region_selector() # default axis is \"x\"\n", - "ls_y = sine_graphic_y.add_linear_region_selector(axis=\"y\")\n", - "\n", - "# preallocate array for storing zoomed in data\n", - "zoomed_init = np.column_stack([np.arange(zoomed_prealloc), np.zeros(zoomed_prealloc)])\n", - "\n", - "# make line graphics for displaying zoomed data\n", - "zoomed_x = fig[1, 0].add_line(zoomed_init)\n", - "zoomed_y = fig[1, 1].add_line(zoomed_init)\n", - "\n", - "\n", - "def interpolate(subdata: np.ndarray, axis: int):\n", - " \"\"\"1D interpolation to display within the preallocated data array\"\"\"\n", - " x = np.arange(0, zoomed_prealloc)\n", - " xp = np.linspace(0, zoomed_prealloc, subdata.shape[0])\n", - " \n", - " # interpolate to preallocated size\n", - " return np.interp(x, xp, fp=subdata[:, axis]) # use the y-values\n", - "\n", - "@ls_x.add_event_handler(\"selection\")\n", - "def set_zoom_x(ev):\n", - " \"\"\"sets zoomed x selector data\"\"\"\n", - " # get the selected data\n", - " selected_data = ev.get_selected_data()\n", - " if selected_data.size == 0:\n", - " # no data selected\n", - " zoomed_x.data[:, 1] = 0\n", - "\n", - " # set the y-values\n", - " zoomed_x.data[:, 1] = interpolate(selected_data, axis=1)\n", - " fig[1, 0].auto_scale()\n", - "\n", - "\n", - "def set_zoom_y(ev):\n", - " \"\"\"sets zoomed x selector data\"\"\"\n", - " # get the selected data\n", - " selected_data = ev.get_selected_data()\n", - " if selected_data.size == 0:\n", - " # no data selected\n", - " zoomed_y.data[:, 0] = 0\n", - "\n", - " # set the x-values\n", - " zoomed_y.data[:, 0] = -interpolate(selected_data, axis=1)\n", - " fig[1, 1].auto_scale()\n", - "\n", - "\n", - "fig.show(maintain_aspect=False)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a9583d2e-ec52-405c-a875-f3fec5e3aa16", - "metadata": {}, - "outputs": [], - "source": [ - "# data to plot\n", - "xs = np.linspace(0, 100, 1_000)\n", - "sine = np.sin(xs) * 20\n", - "cosine = np.cos(xs) * 20\n", - "\n", - "fig_stack = fpl.Figure((5, 1))\n", - "\n", - "# sines and cosines\n", - "sines = [sine] * 2\n", - "cosines = [cosine] * 2\n", - "\n", - "# make line stack\n", - "line_stack = fig_stack[0, 0].add_line_stack(sines + cosines, separation=50)\n", - "\n", - "# make selector\n", - "selector = line_stack.add_linear_region_selector()\n", - "\n", - "# populate subplots with preallocated graphics\n", - "for i, subplot in enumerate(fig_stack):\n", - " if i == 0:\n", - " # skip the first one\n", - " continue\n", - " # make line graphics for displaying zoomed data\n", - " subplot.add_line(zoomed_init, name=\"zoomed\")\n", - "\n", - "\n", - "@selector.add_event_handler(\"selection\")\n", - "def update_zoomed_subplots(ev):\n", - " \"\"\"update the zoomed subplots\"\"\"\n", - " zoomed_data = ev.get_selected_data()\n", - " \n", - " for i in range(len(zoomed_data)):\n", - " # interpolate y-vals\n", - " data = interpolate(zoomed_data[i], axis=1)\n", - " fig_stack[i + 1, 0][\"zoomed\"].data[:, 1] = data\n", - " fig_stack[i + 1, 0].auto_scale()\n", - "\n", - "\n", - "fig_stack.show()" - ] - }, - { - "cell_type": "markdown", - "id": "0fa051b5-d6bc-4e4e-8f12-44f638a00c88", - "metadata": {}, - "source": [ - "# Large line stack with selector" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cbcd6309-fb47-4941-9fd1-2b091feb3ae7", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.3" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/examples/notebooks/linear_selector.ipynb b/examples/notebooks/linear_selector.ipynb deleted file mode 100644 index bac8df182..000000000 --- a/examples/notebooks/linear_selector.ipynb +++ /dev/null @@ -1,150 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "a06e1fd9-47df-42a3-a76c-19e23d7b89fd", - "metadata": {}, - "source": [ - "## `LinearSelector`, draggable selector that can also be linked to an ipywidget slider" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "eb95ba19-14b5-4bf4-93d9-05182fa500cb", - "metadata": {}, - "outputs": [], - "source": [ - "import fastplotlib as fpl\n", - "\n", - "import numpy as np\n", - "from ipywidgets import VBox, IntSlider, FloatSlider\n", - "\n", - "fig = fpl.Figure()\n", - "\n", - "# data to plot\n", - "xs = np.linspace(0, 100, 1000)\n", - "sine = np.sin(xs) * 20\n", - "\n", - "# make sine along x axis\n", - "sine_graphic = fig[0, 0].add_line(np.column_stack([xs, sine]).astype(np.float32))\n", - "\n", - "# make some selectors\n", - "selector = sine_graphic.add_linear_selector()\n", - "selector2 = sine_graphic.add_linear_selector(20)\n", - "selector3 = sine_graphic.add_linear_selector(40)\n", - "\n", - "# one of the selectors will change the line colors when it moves\n", - "@selector.add_event_handler(\"selection\")\n", - "def set_color_at_index(ev):\n", - " # changes the color at the index where the slider is\n", - " ix = ev.get_selected_index()\n", - " g = ev.graphic.parent\n", - " g.colors[ix] = \"green\"\n", - "\n", - "# fastplotlib LineSelector can make an ipywidget slider and return it :D \n", - "ipywidget_slider = selector.make_ipywidget_slider()\n", - "ipywidget_slider.description = \"slider1\"\n", - "\n", - "# or you can make your own ipywidget sliders and connect them to the linear selector\n", - "ipywidget_slider2 = IntSlider(min=0, max=100, description=\"slider2\")\n", - "ipywidget_slider3 = FloatSlider(min=0, max=100, description=\"slider3\")\n", - "\n", - "selector2.add_ipywidget_handler(ipywidget_slider2, step=5)\n", - "selector3.add_ipywidget_handler(ipywidget_slider3, step=0.1)\n", - "\n", - "fig[0, 0].auto_scale()\n", - "VBox([fig.show(), ipywidget_slider, ipywidget_slider2, ipywidget_slider3])" - ] - }, - { - "cell_type": "markdown", - "id": "d83caca6-e9b6-45df-b93c-0dfe0498d20e", - "metadata": {}, - "source": [ - "Double click the first selctor, and then use `Shift` + Right/Left Arrow Key to move it!" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7ab9f141-f92f-4c4c-808b-97dafd64ca25", - "metadata": {}, - "outputs": [], - "source": [ - "# this controls the step-size of arrow key movements\n", - "selector.step = 0.1" - ] - }, - { - "cell_type": "markdown", - "id": "3b0f448f-bbe4-4b87-98e3-093f561c216c", - "metadata": { - "jp-MarkdownHeadingCollapsed": true - }, - "source": [ - "### Drag linear selectors with the mouse, hold \"Shift\" to synchronize movement of all the selectors" - ] - }, - { - "cell_type": "markdown", - "id": "c6f041b7-8779-46f1-8454-13cec66f53fd", - "metadata": {}, - "source": [ - "## Also works for line collections" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e36da217-f82a-4dfa-9556-1f4a2c7c4f1c", - "metadata": {}, - "outputs": [], - "source": [ - "sines = [sine] * 10\n", - "\n", - "fig = fpl.Figure()\n", - "\n", - "sine_stack = fig[0, 0].add_line_stack(sines)\n", - "\n", - "colors = \"y\", \"blue\", \"red\", \"green\"\n", - "\n", - "selectors = list()\n", - "for i, c in enumerate(colors):\n", - " sel = sine_stack.add_linear_selector(i * 100, color=c, name=str(i))\n", - " selectors.append(sel)\n", - "\n", - "fig.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "71ae4fca-f644-4d4f-8f32-f9d069bbc2f1", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.3" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/examples/notebooks/lineplot.ipynb b/examples/notebooks/lineplot.ipynb deleted file mode 100644 index 85ebb60f5..000000000 --- a/examples/notebooks/lineplot.ipynb +++ /dev/null @@ -1,129 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "386184a4-bd03-4467-a539-2696c3c5a573", - "metadata": { - "tags": [] - }, - "source": [ - "# A more complex example combing different graphics, subplots and multiple perspectives" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9c974494-712e-4981-bae2-a3ee176a6b20", - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "import fastplotlib as fpl" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c3d8f967-f60f-4f0b-b6ba-21b1251b4856", - "metadata": {}, - "outputs": [], - "source": [ - "# create data in the shape of a spiral\n", - "phi = np.linspace(0, 30, 200)\n", - "\n", - "xs = phi * np.cos(phi)\n", - "ys = phi * np.sin(phi)\n", - "zs = phi\n", - "\n", - "# make data 3d, with shape [, 3]\n", - "spiral = np.dstack([xs, ys, zs])[0]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "78cffe56-1147-4255-82c1-53cec6bc986a", - "metadata": {}, - "outputs": [], - "source": [ - "# figure with 2 rows and 2 columns\n", - "shape = (2, 2)\n", - "\n", - "# pan-zoom controllers for each subplot\n", - "# subplots are synced if they have the\n", - "# same controller ID\n", - "# in this example the first view has its own controller\n", - "# and the last 3 views are synced\n", - "controller_ids = [\n", - " [0, 1], # id each controller with an integer\n", - " [1, 1]\n", - "]\n", - "\n", - "# create the figure\n", - "fig = fpl.Figure(\n", - " shape=shape,\n", - " cameras='3d', # 3D view for all subplots within the figure\n", - " controller_ids=controller_ids\n", - ")\n", - "\n", - "for i, subplot in enumerate(fig):\n", - " # create and add the LineGraphic\n", - " line_graphic = subplot.add_line(data=spiral, thickness=3, cmap='jet')\n", - " \n", - " # make axes visible\n", - " subplot.set_axes_visibility(True)\n", - " subplot.set_grid_visibility(True)\n", - " \n", - " marker = subplot.add_scatter(data=spiral[0], sizes=10, name=\"marker\")\n", - " \n", - "marker_index = 0\n", - "\n", - "# a function to move the ball along the spiral\n", - "def move_marker():\n", - " global marker_index\n", - " \n", - " marker_index += 1\n", - " \n", - " if marker_index == spiral.shape[0]:\n", - " marker_index = 0\n", - " \n", - " for subplot in fig:\n", - " subplot[\"marker\"].data = spiral[marker_index]\n", - " \n", - "# add `move_marker` to the animations\n", - "fig.add_animations(move_marker)\n", - "\n", - "fig.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e388eb93-7a9b-4ae4-91fc-cf32947f63a9", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.3" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/examples/notebooks/lines_cmap.ipynb b/examples/notebooks/lines_cmap.ipynb deleted file mode 100644 index 3ceb25326..000000000 --- a/examples/notebooks/lines_cmap.ipynb +++ /dev/null @@ -1,306 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "b169210c-b148-4701-91d2-87f8be2c90da", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "import numpy as np\n", - "import fastplotlib as fpl" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5d2ef4aa-0e4c-4694-ae2e-05da1153a413", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# this is only for testing, you do not need this to use fastplotlib\n", - "from nb_test_utils import plot_test, notebook_finished" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a6615d45-6a6e-4a1e-a998-18f7cc52f6b9", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# linspace, create 100 evenly spaced x values from -10 to 10\n", - "xs = np.linspace(-10, 10, 100)\n", - "# sine wave\n", - "ys = np.sin(xs)\n", - "sine = np.column_stack([xs, ys])\n", - "\n", - "# cosine wave\n", - "ys = np.cos(xs)\n", - "cosine = np.column_stack([xs, ys])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "52a91e8a-25b7-4121-a06f-623d7412b558", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "fig = fpl.Figure()\n", - "\n", - "fig[0, 0].add_line(sine, thickness=10)\n", - "\n", - "fig.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "727282c3-aadf-420f-a88e-9dd4d4e91263", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "plot_test(\"lines-cmap-white\", fig)" - ] - }, - { - "cell_type": "markdown", - "id": "889b1858-ed64-4d6b-96ad-3883fbe4d38e", - "metadata": {}, - "source": [ - "# Fancy indexing of line colormaps" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "13185547-07bc-4771-ac6d-83314622bf30", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "fig[0, 0].graphics[0].cmap = \"jet\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3c9b0bc8-b176-425c-8036-63dc55ab7466", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# for testing, ignore\n", - "plot_test(\"lines-cmap-jet\", fig)" - ] - }, - { - "cell_type": "markdown", - "id": "13c1c034-2b3b-4568-b979-7c0bbea698ae", - "metadata": {}, - "source": [ - "map colors from sine data values by setting the cmap transform" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ee9ec4d7-d9a2-417c-92bd-b01a9a019801", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "fig[0, 0].graphics[0].cmap.transform = sine[:, 1]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6b19d2d4-90e7-40ed-afb9-13abe5474ace", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# for testing, ignore\n", - "plot_test(\"lines-cmap-jet-values\", fig)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ebf9f494-782d-4529-9ef6-a2a4032f097d", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# set transform from cosine\n", - "fig[0, 0].graphics[0].cmap.transform = cosine[:, 1]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0a6c4739-fa61-4532-865e-21107eab76f9", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# for testing, ignore\n", - "plot_test(\"lines-cmap-jet-values-cosine\", fig)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5ddc95cf-b3be-4212-b525-1c628dc1e091", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# change cmap\n", - "fig[0, 0].graphics[0].cmap = \"viridis\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "45acfd2f-09f5-418c-bca5-3e574348b7d5", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# for testing, ignore\n", - "plot_test(\"lines-cmap-viridis\", fig)" - ] - }, - { - "cell_type": "markdown", - "id": "1f52bfdc-8151-4bab-973c-1bac36011802", - "metadata": {}, - "source": [ - "use cmap transform to map for a qualitative transform" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7712d313-16cd-49e5-89ca-91364412f194", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "cmap_transform = [0] * 25 + [1] * 5 + [2] * 50 + [3] * 20" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c8c13c03-56f0-48c3-b44e-65545a3bc3bc", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "fig[0, 0].graphics[0].cmap.transform = cmap_transform" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7548407f-05ed-4c47-93cc-131c61f8e242", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# for testing, ignore\n", - "plot_test(\"lines-cmap-viridis-values\", fig)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f64d036d-8a9e-4799-b77f-e78afa441fec", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "fig[0, 0].graphics[0].cmap = \"tab10\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c290c642-ba5f-4a46-9a17-c434cb39de26", - "metadata": {}, - "outputs": [], - "source": [ - "# for testing, ignore\n", - "plot_test(\"lines-cmap-tab-10\", fig)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c4b9e735-72e9-4f0e-aa3e-43db57e65c99", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# for testing, ignore\n", - "notebook_finished()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f6735cc0-910c-4854-ac50-8ee553a6475e", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.3" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/examples/notebooks/nb_test_utils.py b/examples/notebooks/nb_test_utils.py index 791640fe2..9d99e3be3 100644 --- a/examples/notebooks/nb_test_utils.py +++ b/examples/notebooks/nb_test_utils.py @@ -16,7 +16,7 @@ os.makedirs(SCREENSHOTS_DIR, exist_ok=True) os.makedirs(DIFFS_DIR, exist_ok=True) -TOLERANCE = 0.025 +TOLERANCE = 0.1 # store all the failures to allow the nb to proceed to test other examples FAILURES = list() @@ -94,6 +94,26 @@ def plot_test(name, fig: fpl.Figure): if not TESTING: return + # otherwise the first render is wrong + if fpl.IMGUI: + # there doesn't seem to be a resize event for the manual offscreen canvas + fig.imgui_renderer._backend.io.display_size = fig.canvas.get_logical_size() + # run this once so any edge widgets set their sizes and therefore the subplots get the correct rect + # hacky but it works for now + fig.imgui_renderer.render() + + fig._fpl_reset_layout() + # render each subplot + for subplot in fig: + subplot.viewport.render(subplot.scene, subplot.camera) + + # flush pygfx renderer + fig.renderer.flush() + + if fpl.IMGUI: + # render imgui + fig.imgui_renderer.render() + snapshot = fig.canvas.snapshot() rgb_img = rgba_to_rgb(snapshot.data) @@ -105,11 +125,21 @@ def plot_test(name, fig: fpl.Figure): def regenerate_screenshot(name, data): - iio.imwrite(SCREENSHOTS_DIR.joinpath(f"nb-{name}.png"), data) + if fpl.IMGUI: + prefix = "" + else: + prefix = "no-imgui-" + + iio.imwrite(SCREENSHOTS_DIR.joinpath(f"{prefix}nb-{name}.png"), data) def assert_screenshot_equal(name, data): - ground_truth = iio.imread(SCREENSHOTS_DIR.joinpath(f"nb-{name}.png")) + if fpl.IMGUI: + prefix = "" + else: + prefix = "no-imgui-" + + ground_truth = iio.imread(SCREENSHOTS_DIR.joinpath(f"{prefix}nb-{name}.png")) img = normalize_image(data) ref_img = normalize_image(ground_truth) @@ -140,9 +170,14 @@ def get_diffs_rgba(slicer): diffs_rgba = diffs_rgba.astype("u1") return diffs_rgba[..., slicer] + if fpl.IMGUI: + prefix = "" + else: + prefix = "no-imgui-" + # split into an rgb and an alpha diff diffs = { - DIFFS_DIR.joinpath(f"nb-diff-{name}-rgb.png"): slice(0, 3), + DIFFS_DIR.joinpath(f"{prefix}nb-diff-{name}-rgb.png"): slice(0, 3), } for path, slicer in diffs.items(): diff --git a/examples/notebooks/quickstart.ipynb b/examples/notebooks/quickstart.ipynb index 09317110d..0d8fc3c31 100644 --- a/examples/notebooks/quickstart.ipynb +++ b/examples/notebooks/quickstart.ipynb @@ -463,7 +463,7 @@ "id": "5694dca1-1041-4e09-a1da-85b293c5af47", "metadata": {}, "source": [ - "### RGB images are also supported\n", + "### RGB(A) images are supported\n", "\n", "`cmap` arguments are ignored for rgb images, but vmin vmax still works" ] @@ -538,7 +538,7 @@ "source": [ "### Image updates\n", "\n", - "This examples show how you can define animation functions that run on every render cycle." + "This example shows how you can define animation functions that run on every render cycle." ] }, { @@ -620,7 +620,7 @@ "id": "f226c9c2-8d0e-41ab-9ab9-1ae31fd91de5", "metadata": {}, "source": [ - "#### Keeping a reference to the Graphic instance, as shown above `image_graphic_instance`, is useful if you're creating something where you need flexibility in the naming of the graphics" + "#### Keeping a reference to the Graphic instance, as shown above `image_graphic_instance`, is useful if you're creating something where it is convenient to keep your own reference to a `Graphic`" ] }, { @@ -628,7 +628,7 @@ "id": "d11fabb7-7c76-4e94-893d-80ed9ee3be3d", "metadata": {}, "source": [ - "### You can also use `ipywidgets.VBox` and `HBox` to stack plots. See the `subplot` notebooks for more automated subplotting" + "### You can also use `ipywidgets.VBox` and `HBox` to stack plots." ] }, { @@ -664,7 +664,7 @@ "\n", "## 2D line plots\n", "\n", - "This example plots a sine wave, cosine wave, and ricker wavelet and demonstrates how **Graphic Features** can be modified by slicing!" + "This example plots a sine wave, cosine wave, and ricker wavelet and demonstrates how **Graphic Properties** can be modified by slicing!" ] }, { @@ -755,7 +755,7 @@ "\n", "Set `maintain_aspect = False` on a camera, and then use the right mouse button and move the mouse to stretch and squeeze the view!\n", "\n", - "You can also click the **`1:1`** button to toggle this, or use `subplot.camera.maintain_aspect`" + "You can also click the **`⛶`** button to toggle this, or use `subplot.camera.maintain_aspect`" ] }, { @@ -763,7 +763,7 @@ "id": "1651e965-f750-47ac-bf53-c23dae84cc98", "metadata": {}, "source": [ - "### reset the plot area" + "### reset the plot area camera" ] }, { @@ -783,7 +783,9 @@ "id": "dcd68796-c190-4c3f-8519-d73b98ff6367", "metadata": {}, "source": [ - "## Graphic features support slicing! :D " + "## Graphic properties support slicing! :D\n", + "\n", + "Data, colors, and cmaps can often be sliced just like arrays to set or get values!" ] }, { @@ -811,7 +813,7 @@ "id": "c9689887-cdf3-4a4d-948f-7efdb09bde4e", "metadata": {}, "source": [ - "## You can capture changes to a graphic feature as events" + "## Graphic properties are _evented_, so you can capture when they change" ] }, { @@ -1551,7 +1553,7 @@ " subplot.add_image(data, name=\"rand-img\")\n", "\n", "# Define a function to update the image graphics with new data\n", - "# add_animations will pass the gridplot to the animation function\n", + "# add_animations will pass the figure to the animation function\n", "def update_data(f):\n", " for subplot in f:\n", " new_data = np.random.rand(512, 512)\n", @@ -1561,7 +1563,7 @@ "# add the animation function\n", "figure_grid.add_animations(update_data)\n", "\n", - "# show the gridplot\n", + "# show the figure\n", "figure_grid.show()" ] }, @@ -1575,7 +1577,7 @@ } }, "source": [ - "### Slicing GridPlot" + "### Slicing a grid layout to get subplots" ] }, { @@ -1605,7 +1607,7 @@ } }, "source": [ - "You can get the graphics within a subplot, just like with simple `Plot`" + "You can get the graphics within a subplot" ] }, { @@ -1661,7 +1663,7 @@ } }, "source": [ - "more slicing with `GridPlot`" + "more slicing with a `Figure` that has a grid layout" ] }, { @@ -1695,22 +1697,6 @@ "figure_grid[\"top-right-plot\"]" ] }, - { - "cell_type": "code", - "execution_count": null, - "id": "cb7566a5", - "metadata": { - "collapsed": false, - "jupyter": { - "outputs_hidden": false - } - }, - "outputs": [], - "source": [ - "# view its position\n", - "figure_grid[\"top-right-plot\"].position" - ] - }, { "cell_type": "code", "execution_count": null, @@ -1723,7 +1709,7 @@ }, "outputs": [], "source": [ - "# these are really the same\n", + "# these are the same\n", "figure_grid[\"top-right-plot\"] is figure_grid[0, 2]" ] }, @@ -1765,7 +1751,7 @@ } }, "source": [ - "## Figure subplot customization" + "## Figure subplot customization in a grid layout" ] }, { @@ -1792,13 +1778,13 @@ "]\n", "\n", "\n", - "# you can give string names for each subplot within the gridplot\n", + "# you can give string names for each subplot within the figure\n", "names = [\n", " [\"subplot0\", \"subplot1\", \"subplot2\"],\n", " [\"subplot3\", \"subplot4\", \"subplot5\"]\n", "]\n", "\n", - "# Create the grid plot\n", + "# Create the figure\n", "figure_grid = fpl.Figure(\n", " shape=shape,\n", " controller_ids=controller_ids,\n", @@ -1835,7 +1821,7 @@ } }, "source": [ - "Indexing the gridplot to access subplots" + "Slicing/indexing the figure to get subplots" ] }, { @@ -1850,7 +1836,7 @@ }, "outputs": [], "source": [ - "# can access subplot by name\n", + "# get subplot by name\n", "figure_grid[\"subplot0\"]" ] }, @@ -1866,7 +1852,7 @@ }, "outputs": [], "source": [ - "# can access subplot by index\n", + "# or get subplot by index\n", "figure_grid[0, 0]" ] }, @@ -1880,7 +1866,7 @@ } }, "source": [ - "**subplots also support indexing!**\n", + "**from before, remember subplots themselves also support slicing to get graphics within them!**\n", "\n", "this can be used to get graphics if they are named" ] @@ -1901,6 +1887,17 @@ "figure_grid[\"subplot0\"][\"rand-image\"]" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "87905450bdc0ec0a", + "metadata": {}, + "outputs": [], + "source": [ + "# or by their numerical index\n", + "figure_grid[\"subplot0\"].graphics[0]" + ] + }, { "cell_type": "code", "execution_count": null, @@ -1927,7 +1924,7 @@ } }, "source": [ - "positional indexing also works event if subplots have string names" + "positional indexing also works even if subplots have string names" ] }, { diff --git a/examples/notebooks/scatter.ipynb b/examples/notebooks/scatter.ipynb deleted file mode 100644 index b78521064..000000000 --- a/examples/notebooks/scatter.ipynb +++ /dev/null @@ -1,193 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "eb204b20-160a-48ef-8ac6-54d263e497e4", - "metadata": { - "tags": [] - }, - "source": [ - "# Scatter plots in a `GridPlot` layout with a mix of 2d an 3d cameras" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9b3041ad-d94e-4b2a-af4d-63bcd19bf6c2", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "import numpy as np\n", - "import fastplotlib as fpl" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "51f1d76a-f815-460f-a884-097fe3ea81ac", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# create a random distribution of 10,000 xyz coordinates\n", - "n_points = 10_000\n", - "\n", - "# if you have a good GPU go for 1.2 million points :D \n", - "# this is multiplied by 3\n", - "#n_points = 400_000\n", - "dims = (n_points, 3)\n", - "\n", - "offset = 15\n", - "\n", - "normal = np.random.normal(size=dims, scale=5)\n", - "cloud = np.vstack(\n", - " [\n", - " normal - offset,\n", - " normal,\n", - " normal + offset,\n", - " ]\n", - ")\n", - "\n", - "colors = [\"yellow\"] * n_points + [\"cyan\"] * n_points + [\"magenta\"] * n_points" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "922990b6-24e9-4fa0-977b-6577f9752d84", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# figure with 2 rows and 2 columns\n", - "shape = (2, 2)\n", - "\n", - "# define the camera\n", - "# a mix of 2d and 3d\n", - "cameras = [\n", - " ['2d', '3d'], \n", - " ['3d', '2d']\n", - "]\n", - "\n", - "# pan-zoom controllers for each subplot\n", - "# subplots are synced if they have the\n", - "# same controller ID\n", - "# you can only sync controllers that use the same camera type\n", - "# i.e. you cannot sync between 2d and 3d subplots\n", - "controller_ids = [\n", - " [0, 1],\n", - " [1, 0]\n", - "]\n", - "\n", - "# create the figure\n", - "fig = fpl.Figure(\n", - " shape=shape,\n", - " cameras=cameras,\n", - " controller_ids=controller_ids\n", - ")\n", - "\n", - "for subplot in fig:\n", - " subplot.add_scatter(data=cloud, colors=colors, alpha=0.7, sizes=5)\n", - " \n", - " subplot.set_axes_visibility(True)\n", - " subplot.set_grid_visibility(True)\n", - "\n", - "\n", - "fig.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7b912961-f72e-46ef-889f-c03234831059", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "fig[0, 1].graphics[0].colors[n_points:int(n_points * 1.5)] = \"r\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c6085806-c001-4632-ab79-420b4692693a", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "fig[0, 1].graphics[0].colors[:n_points:10] = \"blue\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6f416825-df31-4e5d-b66b-07f23b48e7db", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "fig[0, 1].graphics[0].colors[n_points:] = \"green\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c0fd611e-73e5-49e6-a25c-9d5b64afa5f4", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "fig[0, 1].graphics[0].colors[n_points:, -1] = 0" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cd390542-3a44-4973-8172-89e5583433bc", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "fig[0, 1].graphics[0].data[:n_points] = fig[0, 1].graphics[0].data[n_points * 2:]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a18e7a17-c2af-4674-a499-bf5f3b27c8ca", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.3" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/examples/notebooks/scatter_sizes_animation.ipynb b/examples/notebooks/scatter_sizes_animation.ipynb deleted file mode 100644 index 0cd301fb1..000000000 --- a/examples/notebooks/scatter_sizes_animation.ipynb +++ /dev/null @@ -1,61 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from time import time\n", - "\n", - "import numpy as np\n", - "import fastplotlib as fpl\n", - "\n", - "fig = fpl.Figure()\n", - "\n", - "points = np.array([[-1,0,1],[-1,0,1]], dtype=np.float32).swapaxes(0,1)\n", - "size_delta_scales = np.array([10, 40, 100], dtype=np.float32)\n", - "min_sizes = 6\n", - "\n", - "\n", - "def update_positions(subplot):\n", - " g = subplot.graphics[0]\n", - " g.data[:, :-1] += np.sin(((time() / 4))*np.pi)\n", - "\n", - "\n", - "def update_sizes(subplot):\n", - " sin_sample = np.abs(np.sin((time() / 1)*np.pi))\n", - " size_delta = sin_sample * size_delta_scales\n", - " subplot.graphics[0].sizes = size_delta\n", - "\n", - "\n", - "scatter = fig[0, 0].add_scatter(points, colors=[\"red\", \"green\", \"blue\"], sizes=12)\n", - "fig[0, 0].add_animations(update_positions, update_sizes)\n", - "\n", - "fig[0, 0].camera.width = 12\n", - "fig.show(autoscale=False)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.3" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/examples/notebooks/scatter_sizes_grid.ipynb b/examples/notebooks/scatter_sizes_grid.ipynb deleted file mode 100644 index 21985f189..000000000 --- a/examples/notebooks/scatter_sizes_grid.ipynb +++ /dev/null @@ -1,82 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "Scatter Plot\n", - "============\n", - "Example showing point size change for scatter plot.\n", - "\"\"\"\n", - "\n", - "# test_example = true\n", - "import numpy as np\n", - "import fastplotlib as fpl\n", - "\n", - "# figure with 2 rows and 3 columns\n", - "shape = (2, 1)\n", - "\n", - "# you can give string names for each subplot\n", - "names = [\n", - " [\"scalar_size\"],\n", - " [\"array_size\"]\n", - "]\n", - "\n", - "# Create the figure\n", - "fig = fpl.Figure(\n", - " shape=shape,\n", - " names=names,\n", - " size=(1000, 1000)\n", - ")\n", - "\n", - "# get y_values using sin function\n", - "angles = np.arange(0, 20*np.pi+0.001, np.pi / 20)\n", - "y_values = 30*np.sin(angles) # 1 thousand points\n", - "x_values = np.array([x for x in range(len(y_values))], dtype=np.float32)\n", - "\n", - "data = np.column_stack([x_values, y_values])\n", - "\n", - "fig[\"scalar_size\"].add_scatter(data=data, sizes=5, colors=\"blue\") # add a set of scalar sizes\n", - "\n", - "non_scalar_sizes = np.abs((y_values / np.pi)) # ensure minimum size of 5\n", - "fig[\"array_size\"].add_scatter(data=data, sizes=non_scalar_sizes, colors=\"red\")\n", - "\n", - "for subplot in fig:\n", - " subplot.auto_scale(maintain_aspect=True)\n", - "\n", - "fig.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.3" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/examples/notebooks/screenshots/nb-astronaut.png b/examples/notebooks/screenshots/nb-astronaut.png index 9c28b6cfa..2370c5988 100644 --- a/examples/notebooks/screenshots/nb-astronaut.png +++ b/examples/notebooks/screenshots/nb-astronaut.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:afb405dfcd90d9165b4be8c2b79a82b45964debb119d25851835b8a6e2f18785 -size 111986 +oid sha256:0a6e8bb3c72f1be6915e8e78c9a4f269419cfb4faded16e39b5cb11d70bec247 +size 64185 diff --git a/examples/notebooks/screenshots/nb-astronaut_RGB.png b/examples/notebooks/screenshots/nb-astronaut_RGB.png index 1939c12d7..2a7eac585 100644 --- a/examples/notebooks/screenshots/nb-astronaut_RGB.png +++ b/examples/notebooks/screenshots/nb-astronaut_RGB.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2f86ef886266279ace4672904860bdaeee49dd23498998c8f68ae0b36cecc529 -size 110588 +oid sha256:9f9f32e86018f87057435f7121b02bbe98823444babb330645bab618e1d586b7 +size 63838 diff --git a/examples/notebooks/screenshots/nb-camera.png b/examples/notebooks/screenshots/nb-camera.png index cfdf2673e..bfe226ca4 100644 --- a/examples/notebooks/screenshots/nb-camera.png +++ b/examples/notebooks/screenshots/nb-camera.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:124e52fdb8c200be3295f79331f25a51d423d159a7f8cde1863daa00e54c0894 -size 77665 +oid sha256:2964d0150b38f990a7b804e9057f99505e8c99bb04538a13137989d540704593 +size 47456 diff --git a/examples/notebooks/screenshots/nb-image-widget-movie-set_data.png b/examples/notebooks/screenshots/nb-image-widget-movie-set_data.png index e49ad3c38..2578ad028 100644 --- a/examples/notebooks/screenshots/nb-image-widget-movie-set_data.png +++ b/examples/notebooks/screenshots/nb-image-widget-movie-set_data.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5acd7eeccbf47af45aa8306befb040f9b53d21f1727e7366b536d73261b407ce -size 43494 +oid sha256:78e7e99fafc15cc6edf53cfb2e5b679623ad14e0d594e0ad615088e623be22e1 +size 60988 diff --git a/examples/notebooks/screenshots/nb-image-widget-movie-single-0-reset.png b/examples/notebooks/screenshots/nb-image-widget-movie-single-0-reset.png index dfcb98736..0129cb423 100644 --- a/examples/notebooks/screenshots/nb-image-widget-movie-single-0-reset.png +++ b/examples/notebooks/screenshots/nb-image-widget-movie-single-0-reset.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9ca702fffc4eebea5ba31b77062b60f848c2e5d689568d16b39a62561a0b8b73 -size 134201 +oid sha256:d3f5a721456b5a54e819fc987b8fa1f61d638f578339a7332ad46a22e7aa8fc0 +size 112674 diff --git a/examples/notebooks/screenshots/nb-image-widget-movie-single-0.png b/examples/notebooks/screenshots/nb-image-widget-movie-single-0.png index dfcb98736..0129cb423 100644 --- a/examples/notebooks/screenshots/nb-image-widget-movie-single-0.png +++ b/examples/notebooks/screenshots/nb-image-widget-movie-single-0.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9ca702fffc4eebea5ba31b77062b60f848c2e5d689568d16b39a62561a0b8b73 -size 134201 +oid sha256:d3f5a721456b5a54e819fc987b8fa1f61d638f578339a7332ad46a22e7aa8fc0 +size 112674 diff --git a/examples/notebooks/screenshots/nb-image-widget-movie-single-279.png b/examples/notebooks/screenshots/nb-image-widget-movie-single-279.png index 787e2757e..4908c8b59 100644 --- a/examples/notebooks/screenshots/nb-image-widget-movie-single-279.png +++ b/examples/notebooks/screenshots/nb-image-widget-movie-single-279.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:73bdd6a91ab679dcf237626bc7d3edd267d402ea8de2b6e2c3db7bba9b9418ac -size 169211 +oid sha256:4511a28e728af412f5006bb456f133aea1fdc9c1922c3174f127c79d9878401d +size 133635 diff --git a/examples/notebooks/screenshots/nb-image-widget-movie-single-50-window-max-33.png b/examples/notebooks/screenshots/nb-image-widget-movie-single-50-window-max-33.png index ca2357ddd..cfdc3c8a9 100644 --- a/examples/notebooks/screenshots/nb-image-widget-movie-single-50-window-max-33.png +++ b/examples/notebooks/screenshots/nb-image-widget-movie-single-50-window-max-33.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:afb9c5bfbfbc2ce800d613f779021b0a93d098f415d89157f994cc9b1632361b -size 149454 +oid sha256:c6910106cd799a4327a6650edbc956ddb9b6a489760b86b279c593575ae805b8 +size 120114 diff --git a/examples/notebooks/screenshots/nb-image-widget-movie-single-50-window-mean-13.png b/examples/notebooks/screenshots/nb-image-widget-movie-single-50-window-mean-13.png index ac3f4cb61..92513cf5b 100644 --- a/examples/notebooks/screenshots/nb-image-widget-movie-single-50-window-mean-13.png +++ b/examples/notebooks/screenshots/nb-image-widget-movie-single-50-window-mean-13.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c3c07d75cd4673e411d814c1dab1e62d6543b26c89f208eed15ccb941bbe3ab2 -size 124795 +oid sha256:8233dfc429a7fefe96f0fdb89eb2c57188b7963c16db5d1d08f7faefb45d8cb7 +size 105755 diff --git a/examples/notebooks/screenshots/nb-image-widget-movie-single-50-window-mean-33.png b/examples/notebooks/screenshots/nb-image-widget-movie-single-50-window-mean-33.png index 3a77efced..8bce59baf 100644 --- a/examples/notebooks/screenshots/nb-image-widget-movie-single-50-window-mean-33.png +++ b/examples/notebooks/screenshots/nb-image-widget-movie-single-50-window-mean-33.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5f39d68bbc2c7d52cc13609ff60274dbfe49bea4d4a03cfbf1d1c15cf7fb8e8c -size 114013 +oid sha256:a4af684cdaec8f98081862eb8a377cd419efec64cdf08b662a456276b78f1fb5 +size 98091 diff --git a/examples/notebooks/screenshots/nb-image-widget-movie-single-50-window-reset.png b/examples/notebooks/screenshots/nb-image-widget-movie-single-50-window-reset.png index e34f9deb3..61c3c4f6c 100644 --- a/examples/notebooks/screenshots/nb-image-widget-movie-single-50-window-reset.png +++ b/examples/notebooks/screenshots/nb-image-widget-movie-single-50-window-reset.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2825af49b1964fb76dcf2ccd494bb61623df4d5fffad7be30cf389b9b7e6d4bf -size 146186 +oid sha256:133dfe6b0028dda6248df1afde1288c57625be99b25c8224673597de4d4f70fc +size 118588 diff --git a/examples/notebooks/screenshots/nb-image-widget-movie-single-50.png b/examples/notebooks/screenshots/nb-image-widget-movie-single-50.png index e34f9deb3..61c3c4f6c 100644 --- a/examples/notebooks/screenshots/nb-image-widget-movie-single-50.png +++ b/examples/notebooks/screenshots/nb-image-widget-movie-single-50.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2825af49b1964fb76dcf2ccd494bb61623df4d5fffad7be30cf389b9b7e6d4bf -size 146186 +oid sha256:133dfe6b0028dda6248df1afde1288c57625be99b25c8224673597de4d4f70fc +size 118588 diff --git a/examples/notebooks/screenshots/nb-image-widget-single-gnuplot2.png b/examples/notebooks/screenshots/nb-image-widget-single-gnuplot2.png index 4cd3248a0..e8c02adfe 100644 --- a/examples/notebooks/screenshots/nb-image-widget-single-gnuplot2.png +++ b/examples/notebooks/screenshots/nb-image-widget-single-gnuplot2.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:aff55757a29cac06c1c158599681e8c10e27fd772425c6b3137a06d5d604f95e -size 435106 +oid sha256:8c8562f8e1178cf21af98af635006c64010f3c5fc615533d1df8c49479232843 +size 217693 diff --git a/examples/notebooks/screenshots/nb-image-widget-single.png b/examples/notebooks/screenshots/nb-image-widget-single.png index dd37a74db..8de4099fb 100644 --- a/examples/notebooks/screenshots/nb-image-widget-single.png +++ b/examples/notebooks/screenshots/nb-image-widget-single.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1e70812decf8d1c591b1d97c24346159255e8b5cba5722f9c4d67c5b5aa92a8a -size 403368 +oid sha256:5c9bae3c9c5521a4054288be7ae548204fc7b0eafbc3e99cb6b649e0be797169 +size 207176 diff --git a/examples/notebooks/screenshots/nb-image-widget-zfish-frame-50-frame-apply-gaussian.png b/examples/notebooks/screenshots/nb-image-widget-zfish-frame-50-frame-apply-gaussian.png index 9be76e5bd..29fe20f44 100644 --- a/examples/notebooks/screenshots/nb-image-widget-zfish-frame-50-frame-apply-gaussian.png +++ b/examples/notebooks/screenshots/nb-image-widget-zfish-frame-50-frame-apply-gaussian.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8d6b97c351f51ee8b0429e7001ba16cb3862c9cfc4f4e0f0227524b8c20d5906 -size 157300 +oid sha256:87a3947d6c59c7f67acca25911e0ab93ddc9231a8c3060d2fffe3c53f39055f2 +size 62263 diff --git a/examples/notebooks/screenshots/nb-image-widget-zfish-frame-50-frame-apply-reset.png b/examples/notebooks/screenshots/nb-image-widget-zfish-frame-50-frame-apply-reset.png index c877ac887..c7944f591 100644 --- a/examples/notebooks/screenshots/nb-image-widget-zfish-frame-50-frame-apply-reset.png +++ b/examples/notebooks/screenshots/nb-image-widget-zfish-frame-50-frame-apply-reset.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d74649c5ca7b0401a8e42ffe9b73cebeebdce80953c4790f44a99bfe6624902b -size 71618 +oid sha256:b57c65974362d258ec7be8de391c41d7909ed260b92411f4b0ed8ed03b886a29 +size 73040 diff --git a/examples/notebooks/screenshots/nb-image-widget-zfish-frame-50-max-window-13.png b/examples/notebooks/screenshots/nb-image-widget-zfish-frame-50-max-window-13.png index 7613ae2a9..eb9c9059d 100644 --- a/examples/notebooks/screenshots/nb-image-widget-zfish-frame-50-max-window-13.png +++ b/examples/notebooks/screenshots/nb-image-widget-zfish-frame-50-max-window-13.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e9c99c189dbfffbc3fa24fb6f48015518a2e1c3e681191abb45cf4e29185dcff -size 196855 +oid sha256:008381b267ae26e8693ae51e7a4fabc464288ec8aa911ff3a1deb37543cc4fbe +size 115543 diff --git a/examples/notebooks/screenshots/nb-image-widget-zfish-frame-50-mean-window-13.png b/examples/notebooks/screenshots/nb-image-widget-zfish-frame-50-mean-window-13.png index e803cdc68..8b887f5fd 100644 --- a/examples/notebooks/screenshots/nb-image-widget-zfish-frame-50-mean-window-13.png +++ b/examples/notebooks/screenshots/nb-image-widget-zfish-frame-50-mean-window-13.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:916800ae449d12e875f14be3d13a75db85339524dbd594f9963074b9fc5316ae -size 177769 +oid sha256:fedfec781724d4731f8cc34ffc39388d14dc60dad4a9fae9ff56625edf11f87a +size 94178 diff --git a/examples/notebooks/screenshots/nb-image-widget-zfish-frame-50-mean-window-5.png b/examples/notebooks/screenshots/nb-image-widget-zfish-frame-50-mean-window-5.png index 5b5ef1009..ef3aa7a92 100644 --- a/examples/notebooks/screenshots/nb-image-widget-zfish-frame-50-mean-window-5.png +++ b/examples/notebooks/screenshots/nb-image-widget-zfish-frame-50-mean-window-5.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3006a07bfbf6276967ca55809788f61a1852db9851f959cc1db00016a9b3747f -size 140019 +oid sha256:08e8379187754fa14f360ed54f2ed8cf61b3df71a8b6f2e95ff1ed27aa435d60 +size 90105 diff --git a/examples/notebooks/screenshots/nb-image-widget-zfish-frame-50.png b/examples/notebooks/screenshots/nb-image-widget-zfish-frame-50.png index 4e8803a7b..c7944f591 100644 --- a/examples/notebooks/screenshots/nb-image-widget-zfish-frame-50.png +++ b/examples/notebooks/screenshots/nb-image-widget-zfish-frame-50.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3e55ffde023955d00804a7272a4e963b4d2a74b74fb401962d32c1a29d76bc24 -size 80880 +oid sha256:b57c65974362d258ec7be8de391c41d7909ed260b92411f4b0ed8ed03b886a29 +size 73040 diff --git a/examples/notebooks/screenshots/nb-image-widget-zfish-frame-99.png b/examples/notebooks/screenshots/nb-image-widget-zfish-frame-99.png index 061195a98..0d19a35ce 100644 --- a/examples/notebooks/screenshots/nb-image-widget-zfish-frame-99.png +++ b/examples/notebooks/screenshots/nb-image-widget-zfish-frame-99.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:405495c384aa52d6e3c8a65237876682f4be62967dce1b6af526e4d069fa44d3 -size 62621 +oid sha256:848e89e38b9b5ef97d6bb4b301c0ae10cc29f438518721663ae52fa42f492408 +size 65267 diff --git a/examples/notebooks/screenshots/nb-image-widget-zfish-grid-frame-50-frame-apply-gaussian.png b/examples/notebooks/screenshots/nb-image-widget-zfish-grid-frame-50-frame-apply-gaussian.png index 0da3abb21..96a3b12c8 100644 --- a/examples/notebooks/screenshots/nb-image-widget-zfish-grid-frame-50-frame-apply-gaussian.png +++ b/examples/notebooks/screenshots/nb-image-widget-zfish-grid-frame-50-frame-apply-gaussian.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7b30ef1dca9711bd72eb28f0035552f93e143a683f818c3f2aec8df4323306e4 -size 178459 +oid sha256:17cd05ae14cacdef6aa1eca3544246b814ef21762a33f6e785f6d621ea30ff96 +size 80570 diff --git a/examples/notebooks/screenshots/nb-image-widget-zfish-grid-frame-50-frame-apply-reset.png b/examples/notebooks/screenshots/nb-image-widget-zfish-grid-frame-50-frame-apply-reset.png index 21ea17c27..1df19c904 100644 --- a/examples/notebooks/screenshots/nb-image-widget-zfish-grid-frame-50-frame-apply-reset.png +++ b/examples/notebooks/screenshots/nb-image-widget-zfish-grid-frame-50-frame-apply-reset.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b3e8fc84f5ea2d5a93bc02e19965781fbe9ec697b660430a5203cb1c91803974 -size 142748 +oid sha256:a673fa1ffa6f746ab9f462b4d592492ec02bfdd3fb53bdf1f71fb9427f8d6d23 +size 105798 diff --git a/examples/notebooks/screenshots/nb-image-widget-zfish-grid-frame-50-max-window-13.png b/examples/notebooks/screenshots/nb-image-widget-zfish-grid-frame-50-max-window-13.png index ece0fee5f..43230f8be 100644 --- a/examples/notebooks/screenshots/nb-image-widget-zfish-grid-frame-50-max-window-13.png +++ b/examples/notebooks/screenshots/nb-image-widget-zfish-grid-frame-50-max-window-13.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7b01f2385991f4941f35d1b913fe54c72cbe42c62522ab181ddb2466b2f2be8d -size 372324 +oid sha256:446d54cea3d54b0fd92b70abcc090cfee30b19454dce118d9875fbeb8b40b4a8 +size 141294 diff --git a/examples/notebooks/screenshots/nb-image-widget-zfish-grid-frame-50-mean-window-13.png b/examples/notebooks/screenshots/nb-image-widget-zfish-grid-frame-50-mean-window-13.png index 93dd3b254..0841a8e08 100644 --- a/examples/notebooks/screenshots/nb-image-widget-zfish-grid-frame-50-mean-window-13.png +++ b/examples/notebooks/screenshots/nb-image-widget-zfish-grid-frame-50-mean-window-13.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4bac6aedfebab2bf97497dbecd17f59b36cb78b27dcdb1547c6d78f902d5f89b -size 213579 +oid sha256:99d3706d5574a1236264f556eb3ce6d71e81b65bd8dcce1c1415e5f139316c23 +size 107894 diff --git a/examples/notebooks/screenshots/nb-image-widget-zfish-grid-frame-50-mean-window-5.png b/examples/notebooks/screenshots/nb-image-widget-zfish-grid-frame-50-mean-window-5.png index b6392f095..28bab9f02 100644 --- a/examples/notebooks/screenshots/nb-image-widget-zfish-grid-frame-50-mean-window-5.png +++ b/examples/notebooks/screenshots/nb-image-widget-zfish-grid-frame-50-mean-window-5.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5458f9488a19207c7d4f8a971de06a028dfb22e4a2847c3a0b1e1f45c41109f0 -size 200566 +oid sha256:ffa17fc1b71c5146cae88493ed40c606dd0a99f3e10f3827ac349d5a5d6f6108 +size 112702 diff --git a/examples/notebooks/screenshots/nb-image-widget-zfish-grid-frame-50.png b/examples/notebooks/screenshots/nb-image-widget-zfish-grid-frame-50.png index 8165824cb..1df19c904 100644 --- a/examples/notebooks/screenshots/nb-image-widget-zfish-grid-frame-50.png +++ b/examples/notebooks/screenshots/nb-image-widget-zfish-grid-frame-50.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8588b720e7d970a0c5d0b9e43c68ee0695d7ced8c51797d50143b0737d3ae2c1 -size 160340 +oid sha256:a673fa1ffa6f746ab9f462b4d592492ec02bfdd3fb53bdf1f71fb9427f8d6d23 +size 105798 diff --git a/examples/notebooks/screenshots/nb-image-widget-zfish-grid-frame-99.png b/examples/notebooks/screenshots/nb-image-widget-zfish-grid-frame-99.png index f46e58b4f..06ed02628 100644 --- a/examples/notebooks/screenshots/nb-image-widget-zfish-grid-frame-99.png +++ b/examples/notebooks/screenshots/nb-image-widget-zfish-grid-frame-99.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b86bc324f13ca3a958d0db80251874478e0191b0c30c301f3022913e7b1f62d5 -size 147084 +oid sha256:4d3e88eee05bc68dd17918197602fb5c0a959ad74a4f592aea4514e570d29232 +size 103431 diff --git a/examples/notebooks/screenshots/nb-image-widget-zfish-grid-init-mean-window-5.png b/examples/notebooks/screenshots/nb-image-widget-zfish-grid-init-mean-window-5.png index 8e3e7e2de..61702a6d9 100644 --- a/examples/notebooks/screenshots/nb-image-widget-zfish-grid-init-mean-window-5.png +++ b/examples/notebooks/screenshots/nb-image-widget-zfish-grid-init-mean-window-5.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9993fe8f8d3e6d6e48d863b251fdd7b37926ba7b97b2d70683cbc3ab45910c99 -size 184668 +oid sha256:272156c4261bba40eba92f953a0f5078ad8ff2aa80f06a53f73a3572eb537dd5 +size 111155 diff --git a/examples/notebooks/screenshots/nb-image-widget-zfish-grid-set_data-reset-indices-false.png b/examples/notebooks/screenshots/nb-image-widget-zfish-grid-set_data-reset-indices-false.png index aae5c9066..412822a40 100644 --- a/examples/notebooks/screenshots/nb-image-widget-zfish-grid-set_data-reset-indices-false.png +++ b/examples/notebooks/screenshots/nb-image-widget-zfish-grid-set_data-reset-indices-false.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f4cdb28c8aa72b1cd968f4f78f3c2413d2338b6a2b5c200df02ecdd2bce1568b -size 126337 +oid sha256:8203f859fe54e2b59a143a9a569c2854640b1501b9ab4f8512520bbf73dae3c6 +size 105658 diff --git a/examples/notebooks/screenshots/nb-image-widget-zfish-grid-set_data-reset-indices-true.png b/examples/notebooks/screenshots/nb-image-widget-zfish-grid-set_data-reset-indices-true.png index 346495cfc..234924487 100644 --- a/examples/notebooks/screenshots/nb-image-widget-zfish-grid-set_data-reset-indices-true.png +++ b/examples/notebooks/screenshots/nb-image-widget-zfish-grid-set_data-reset-indices-true.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:19000f2cc6d78e2cc18dd5213778e595ee6710ca3fcd71cb4cbe6286b42b1e8b -size 130255 +oid sha256:8ca187ba67e7928c8f96b1f9a0a18bec65f81352701e60c33d47aaadb2756d5c +size 106446 diff --git a/examples/notebooks/screenshots/nb-image-widget-zfish-init-mean-window-5.png b/examples/notebooks/screenshots/nb-image-widget-zfish-init-mean-window-5.png index 2298f904e..870945ce7 100644 --- a/examples/notebooks/screenshots/nb-image-widget-zfish-init-mean-window-5.png +++ b/examples/notebooks/screenshots/nb-image-widget-zfish-init-mean-window-5.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4a141cd3e0d3647accb18c55d84026d16ca2280611b80682737a61151dd9c377 -size 99397 +oid sha256:f42367c833a23d3fe10c6fb0d754338c12a30288d9769ad3f8b1159505abf8ff +size 78796 diff --git a/examples/notebooks/screenshots/nb-image-widget-zfish-mixed-rgb-cockatoo-frame-50.png b/examples/notebooks/screenshots/nb-image-widget-zfish-mixed-rgb-cockatoo-frame-50.png index 58f4fd87e..7880fc1d8 100644 --- a/examples/notebooks/screenshots/nb-image-widget-zfish-mixed-rgb-cockatoo-frame-50.png +++ b/examples/notebooks/screenshots/nb-image-widget-zfish-mixed-rgb-cockatoo-frame-50.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cbd3cb8399c32cc611a86bb482782bfe55393ec73f2c2a3f4eb0d4e8af2442d6 -size 58842 +oid sha256:cb99cd81a18fa2f8986c5f00071c45dc778c8aa177f4b02dca6bc5fab122b054 +size 114825 diff --git a/examples/notebooks/screenshots/nb-image-widget-zfish-mixed-rgb-cockatoo-set-data.png b/examples/notebooks/screenshots/nb-image-widget-zfish-mixed-rgb-cockatoo-set-data.png index 0eff22834..82f3d0a9b 100644 --- a/examples/notebooks/screenshots/nb-image-widget-zfish-mixed-rgb-cockatoo-set-data.png +++ b/examples/notebooks/screenshots/nb-image-widget-zfish-mixed-rgb-cockatoo-set-data.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e6e201ecce9db938796d1fc710a154ae8bc49e0a7e1f51d9af586f29f4ee63de -size 57116 +oid sha256:31b2b92b9d983950b58b90a09f16199740e35a0737fc1b18904f507ea322d8f2 +size 111118 diff --git a/examples/notebooks/screenshots/nb-image-widget-zfish-mixed-rgb-cockatoo-windowrgb.png b/examples/notebooks/screenshots/nb-image-widget-zfish-mixed-rgb-cockatoo-windowrgb.png index 03a1fc30c..1446c8941 100644 --- a/examples/notebooks/screenshots/nb-image-widget-zfish-mixed-rgb-cockatoo-windowrgb.png +++ b/examples/notebooks/screenshots/nb-image-widget-zfish-mixed-rgb-cockatoo-windowrgb.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:608c9a0b1466886652299887a4f0f16a77dfb400fc46200a453df25c5a0e7016 -size 55903 +oid sha256:0fb724e005c6e081ae3bf235e155f3f526c3480facac7479d9b9452aae81baf0 +size 111437 diff --git a/examples/notebooks/screenshots/nb-lines-3d.png b/examples/notebooks/screenshots/nb-lines-3d.png index d1e46a618..fb84ef21a 100644 --- a/examples/notebooks/screenshots/nb-lines-3d.png +++ b/examples/notebooks/screenshots/nb-lines-3d.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:91f74b1ad6d4eeb08da8a33bfccfc0e9e80d48fc33b2a783cb94890f3c603a94 -size 14131 +oid sha256:c70c01b3ade199864df227a44fb28a53626df3beecee722a7b782c9a9f4658d8 +size 19907 diff --git a/examples/notebooks/screenshots/nb-lines-cmap-jet-values-cosine.png b/examples/notebooks/screenshots/nb-lines-cmap-jet-values-cosine.png deleted file mode 100644 index db1a0e658..000000000 --- a/examples/notebooks/screenshots/nb-lines-cmap-jet-values-cosine.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:58af931da3307204f2699b2ac04d8546b93aa0b4d3c058ab6d181656fd79fae8 -size 11674 diff --git a/examples/notebooks/screenshots/nb-lines-cmap-jet-values.png b/examples/notebooks/screenshots/nb-lines-cmap-jet-values.png deleted file mode 100644 index 9bb734365..000000000 --- a/examples/notebooks/screenshots/nb-lines-cmap-jet-values.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9949949767455061caa08b96dfdf0948d511d604d39ded4a028a9a50deca9797 -size 12990 diff --git a/examples/notebooks/screenshots/nb-lines-cmap-jet.png b/examples/notebooks/screenshots/nb-lines-cmap-jet.png deleted file mode 100644 index 10f9252f3..000000000 --- a/examples/notebooks/screenshots/nb-lines-cmap-jet.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c04746bb9c6e168644981e808b83b878d5d72e2101f441979765c74bb36c087a -size 10979 diff --git a/examples/notebooks/screenshots/nb-lines-cmap-tab-10.png b/examples/notebooks/screenshots/nb-lines-cmap-tab-10.png deleted file mode 100644 index a769ff769..000000000 --- a/examples/notebooks/screenshots/nb-lines-cmap-tab-10.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:704cddf180de18dfc02cccced26dc57a7d8bff3938ceaf5ca9b6db7ccaed5928 -size 9582 diff --git a/examples/notebooks/screenshots/nb-lines-cmap-viridis-values.png b/examples/notebooks/screenshots/nb-lines-cmap-viridis-values.png deleted file mode 100644 index 861efcef5..000000000 --- a/examples/notebooks/screenshots/nb-lines-cmap-viridis-values.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:67310ed0deb418bf0d6d10e1184e902f928f0e914518b91c23e948f3bb9e7b25 -size 9850 diff --git a/examples/notebooks/screenshots/nb-lines-cmap-viridis.png b/examples/notebooks/screenshots/nb-lines-cmap-viridis.png deleted file mode 100644 index 2d71b4428..000000000 --- a/examples/notebooks/screenshots/nb-lines-cmap-viridis.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6295649505902ac1f37ae6453e278dbbcdacb64426f1c51e27e16ef38650f8a8 -size 13725 diff --git a/examples/notebooks/screenshots/nb-lines-cmap-white.png b/examples/notebooks/screenshots/nb-lines-cmap-white.png deleted file mode 100644 index b450a8ea4..000000000 --- a/examples/notebooks/screenshots/nb-lines-cmap-white.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a1abc26476bbabf31094bd70929afc918e4064a1996d7742adb716ed6e9c2617 -size 7532 diff --git a/examples/notebooks/screenshots/nb-lines-colors.png b/examples/notebooks/screenshots/nb-lines-colors.png index 88fef4e39..ab221d83f 100644 --- a/examples/notebooks/screenshots/nb-lines-colors.png +++ b/examples/notebooks/screenshots/nb-lines-colors.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bbbb1b63c69ef4061f0b64fc2360e0c613ee4732d581929657068f55141d6fd9 -size 27274 +oid sha256:3b238b085eddb664ff56bd265423d85b35fc70769ebec050b27fefa8fe6380de +size 35055 diff --git a/examples/notebooks/screenshots/nb-lines-data.png b/examples/notebooks/screenshots/nb-lines-data.png index b8c5bf582..44b142f55 100644 --- a/examples/notebooks/screenshots/nb-lines-data.png +++ b/examples/notebooks/screenshots/nb-lines-data.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6f677a3c0a1b2fb57771af6118d45d23b1d86f88d3431ca06ef89b79a48dad06 -size 38880 +oid sha256:4df736ec3ea90478930a77437949977f8e30f7d9272f65ef9f4908f2103dd11e +size 40679 diff --git a/examples/notebooks/screenshots/nb-lines-underlay.png b/examples/notebooks/screenshots/nb-lines-underlay.png index 93edd81d6..f4a5b4e76 100644 --- a/examples/notebooks/screenshots/nb-lines-underlay.png +++ b/examples/notebooks/screenshots/nb-lines-underlay.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:35e0ea48cac0242e79da491629bda9fccedb94814e8d3d1188323c7d9668e513 -size 49940 +oid sha256:3a8b59386015b4c1eaa85c33c7b041d566ac1ac76fbba829075e9a3af021bedf +size 46228 diff --git a/examples/notebooks/screenshots/nb-lines.png b/examples/notebooks/screenshots/nb-lines.png index e28486bf4..8c86b48d0 100644 --- a/examples/notebooks/screenshots/nb-lines.png +++ b/examples/notebooks/screenshots/nb-lines.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:17ee8c3de59b9e80d66c30d61287a38ac06ee996833f32648506a6bf1ebb0da8 -size 23317 +oid sha256:823558e877830b816cc87df0776a92d5316d98a4f40e475cbf997b597c5eb8de +size 30338 diff --git a/examples/notebooks/screenshots/no-imgui-nb-astronaut.png b/examples/notebooks/screenshots/no-imgui-nb-astronaut.png new file mode 100644 index 000000000..9f9e2013a --- /dev/null +++ b/examples/notebooks/screenshots/no-imgui-nb-astronaut.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4758a94e6c066d95569515c0bff8e4c9ec383c65c5928a827550c142214df085 +size 72372 diff --git a/examples/notebooks/screenshots/no-imgui-nb-astronaut_RGB.png b/examples/notebooks/screenshots/no-imgui-nb-astronaut_RGB.png new file mode 100644 index 000000000..23d1bd906 --- /dev/null +++ b/examples/notebooks/screenshots/no-imgui-nb-astronaut_RGB.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fb3c72edc6f41d6f77e44bc68e7f5277525d2548d369925827c14d855dc33bbd +size 71588 diff --git a/examples/notebooks/screenshots/no-imgui-nb-camera.png b/examples/notebooks/screenshots/no-imgui-nb-camera.png new file mode 100644 index 000000000..22c70a760 --- /dev/null +++ b/examples/notebooks/screenshots/no-imgui-nb-camera.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6de3880cc22a8f6cdb77305e4d5be520fe92fd54a9a107bdbddf1e6f72c19262 +size 52157 diff --git a/examples/notebooks/screenshots/no-imgui-nb-lines-3d.png b/examples/notebooks/screenshots/no-imgui-nb-lines-3d.png new file mode 100644 index 000000000..1a5a7b548 --- /dev/null +++ b/examples/notebooks/screenshots/no-imgui-nb-lines-3d.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0e63c918aac713af2015cb85289c9451be181400834b0f60bcbb50564551f08 +size 20546 diff --git a/examples/notebooks/screenshots/no-imgui-nb-lines-colors.png b/examples/notebooks/screenshots/no-imgui-nb-lines-colors.png new file mode 100644 index 000000000..cdce4bf46 --- /dev/null +++ b/examples/notebooks/screenshots/no-imgui-nb-lines-colors.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2bd481f558907ac1af97bd7ee08d58951bada758cc32467c73483fa66e4602f8 +size 36206 diff --git a/examples/notebooks/screenshots/no-imgui-nb-lines-data.png b/examples/notebooks/screenshots/no-imgui-nb-lines-data.png new file mode 100644 index 000000000..8923be766 --- /dev/null +++ b/examples/notebooks/screenshots/no-imgui-nb-lines-data.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea39e2651408431ad5e49af378828a41b7b377f7f0098adc8ce2c7b5e10d0234 +size 43681 diff --git a/examples/notebooks/screenshots/no-imgui-nb-lines-underlay.png b/examples/notebooks/screenshots/no-imgui-nb-lines-underlay.png new file mode 100644 index 000000000..b6b4cf340 --- /dev/null +++ b/examples/notebooks/screenshots/no-imgui-nb-lines-underlay.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a8d4aba2411598ecae1b7f202fbb1a1fa7416a814b7b4c5fdd1e0e584cdb06a +size 49343 diff --git a/examples/notebooks/screenshots/no-imgui-nb-lines.png b/examples/notebooks/screenshots/no-imgui-nb-lines.png new file mode 100644 index 000000000..5d03421a4 --- /dev/null +++ b/examples/notebooks/screenshots/no-imgui-nb-lines.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2fdaf79703c475521184ab9dc948d3e817160b0162e9d88fcb20207225d0233 +size 31153 diff --git a/examples/notebooks/subplots.ipynb b/examples/notebooks/subplots.ipynb deleted file mode 100644 index c9774029f..000000000 --- a/examples/notebooks/subplots.ipynb +++ /dev/null @@ -1,218 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "3cfc2d9f-6a09-42f4-a47c-3ba51f1a1801", - "metadata": {}, - "source": [ - "### More in-depth on subplots with a Figure" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a635b3b3-33fa-48f0-b1cc-bf83b1e883ab", - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "import fastplotlib as fpl" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8de931e2-bdb3-44a3-9538-e0b3965779af", - "metadata": {}, - "outputs": [], - "source": [ - "# grid with 2 rows and 3 columns\n", - "shape = (2, 3)\n", - "\n", - "# pan-zoom controllers for each subplot\n", - "# subplots are synced if they have the\n", - "# same controller ID\n", - "controller_ids = [\n", - " [0, -3, 1], # id each controller with an integer\n", - " [2, 2, -3]\n", - "]\n", - "\n", - "# another way to set controller_ids\n", - "controller_ids = [\n", - " [\"subplot0\", \"subplot4\"],\n", - " [\"subplot1\", \"subplot2\", \"subplot5\"],\n", - "]\n", - "\n", - "\n", - "# you can give string names for each subplot within the figure\n", - "names = [\n", - " [\"subplot0\", \"subplot1\", \"subplot2\"],\n", - " [\"subplot3\", \"subplot4\", \"subplot5\"]\n", - "]\n", - "\n", - "# Create the figure\n", - "fig = fpl.Figure(\n", - " shape=shape,\n", - " controller_ids=controller_ids,\n", - " names=names,\n", - ")\n", - "\n", - "\n", - "# Make a random image graphic for each subplot\n", - "for subplot in fig:\n", - " data = np.random.rand(512, 512)\n", - " # create and add an ImageGraphic\n", - " subplot.add_image(data=data, name=\"rand-image\")\n", - " \n", - "\n", - "# Define a function to update the image graphics \n", - "# with new randomly generated data\n", - "def set_random_frame(gp):\n", - " for subplot in gp:\n", - " new_data = np.random.rand(512, 512)\n", - " subplot[\"rand-image\"].data = new_data\n", - "\n", - "# add the animation\n", - "fig.add_animations(set_random_frame)\n", - "fig.show()" - ] - }, - { - "cell_type": "markdown", - "id": "2867bcd6-7691-4073-91d9-9c33e8fdb896", - "metadata": {}, - "source": [ - "### Accessing subplots" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2a6f7eb5-776e-42a6-b6c2-c26009a26795", - "metadata": { - "is_executing": true - }, - "outputs": [], - "source": [ - "# by name\n", - "fig[\"subplot0\"]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "45e83bca-5a44-48ce-874f-9ae9ca444233", - "metadata": {}, - "outputs": [], - "source": [ - "# by index\n", - "fig[0, 0]" - ] - }, - { - "cell_type": "markdown", - "id": "3272b8b3-3063-47a4-94c8-15ceeeaecc69", - "metadata": {}, - "source": [ - "## getting graphics within subplots!\n", - "this can be used to get graphics if they are named" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c8cf9bfd-e0cc-4173-b64e-a9f2c87bb2c6", - "metadata": {}, - "outputs": [], - "source": [ - "# can access graphic directly via name\n", - "fig[\"subplot0\"][\"rand-image\"]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1cfd1d45-8a60-4fc1-b873-46caa966fe6f", - "metadata": {}, - "outputs": [], - "source": [ - "fig[\"subplot0\"][\"rand-image\"].vmin = 0.6\n", - "fig[\"subplot0\"][\"rand-image\"].vmax = 0.8" - ] - }, - { - "cell_type": "markdown", - "id": "39c8a5acbad7980b", - "metadata": { - "collapsed": false, - "jupyter": { - "outputs_hidden": false - } - }, - "source": [ - "If they are not named use .graphics" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d27af25002237db5", - "metadata": { - "collapsed": false, - "is_executing": true, - "jupyter": { - "outputs_hidden": false - } - }, - "outputs": [], - "source": [ - "fig[\"subplot0\"].graphics" - ] - }, - { - "cell_type": "markdown", - "id": "2299a8ae23e39c37", - "metadata": { - "collapsed": false, - "jupyter": { - "outputs_hidden": false - } - }, - "source": [ - "### positional indexing also works" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2fafe992-4783-40f2-b044-26a2835dd50a", - "metadata": {}, - "outputs": [], - "source": [ - "fig[1, 0][\"rand-image\"].vim = 0.1\n", - "fig[1, 0][\"rand-image\"].vmax = 0.3" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.3" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/examples/notebooks/subplots_simple.ipynb b/examples/notebooks/subplots_simple.ipynb deleted file mode 100644 index 9ff4e4284..000000000 --- a/examples/notebooks/subplots_simple.ipynb +++ /dev/null @@ -1,259 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "0e42f03b-9cdf-484f-b158-78b07fdf524d", - "metadata": {}, - "source": [ - "## This notebook shows how you can use more of the `fastplotlib` API to create `Graphic` objects and add them to subplots" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5171a06e-1bdc-4908-9726-3c1fd45dbb9d", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-26T04:01:19.120171Z", - "start_time": "2023-11-26T04:01:18.618087Z" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "import numpy as np\n", - "import fastplotlib as fpl" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "86a2488f-ae1c-4b98-a7c0-18eae8013af1", - "metadata": { - "ExecuteTime": { - "end_time": "2023-11-26T04:01:19.467264Z", - "start_time": "2023-11-26T04:01:19.121813Z" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# Figure of shape 2 x 3 with all controllers synced\n", - "fig = fpl.Figure(shape=(2, 3), controller_ids=\"sync\")\n", - "\n", - "# Make a random image graphic for each subplot\n", - "for subplot in fig:\n", - " # create image data\n", - " data = np.random.rand(512, 512)\n", - " # add an image to the subplot\n", - " subplot.add_image(data, name=\"rand-img\")\n", - "\n", - "# Define a function to update the image graphics with new data\n", - "# add_animations will pass the figure to the animation function\n", - "def update_data(f):\n", - " for sp in f:\n", - " new_data = np.random.rand(512, 512)\n", - " # index the image graphic by name and set the data\n", - " sp[\"rand-img\"].data = new_data\n", - " \n", - "# add the animation function\n", - "fig.add_animations(update_data)\n", - "\n", - "# show the figure\n", - "fig.show()" - ] - }, - { - "cell_type": "markdown", - "id": "e7801781-c3e9-490f-ab12-1cd2f480d3e9", - "metadata": {}, - "source": [ - "## Accessing subplots within `Figure`" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "52163bc7-2c77-4699-b7b0-e455a0ed7584", - "metadata": {}, - "outputs": [], - "source": [ - "fig" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "17c6bc4a-5340-49f1-8597-f54528cfe915", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# positional indexing\n", - "# row 0 and col 0\n", - "fig[0, 0]" - ] - }, - { - "cell_type": "markdown", - "id": "276dfede-e9bc-4488-b9e6-3ca5cf91e4dc", - "metadata": {}, - "source": [ - "### You can get the graphics within a subplot" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "34130f12-9ef6-43b0-b929-931de8b7da25", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "fig[0, 1].graphics" - ] - }, - { - "cell_type": "markdown", - "id": "bf33f3e7-ab16-46b1-9126-f0a1ecc07541", - "metadata": {}, - "source": [ - "### and change their properties" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ef8a29a6-b19c-4e6b-a2ba-fb4823c01451", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "fig[0, 1].graphics[0].vmax = 0.5" - ] - }, - { - "cell_type": "markdown", - "id": "00506fa1-2dc0-4435-96a0-e50667d3174f", - "metadata": {}, - "source": [ - "### more indexing" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d6c2fa4b-c634-4dcf-8b61-f1986f7c4918", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# you can give subplots human-readable string names\n", - "fig[0, 2].name = \"top-right-plot\"" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2f6b549c-3165-496d-98aa-45b96c3de674", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "fig[\"top-right-plot\"]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "be436e04-33a6-4597-8e6a-17e1e5225419", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# view its position\n", - "fig[\"top-right-plot\"].position" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6699cda6-af86-4258-87f5-1832f989a564", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "# these are really the same\n", - "fig[\"top-right-plot\"] is fig[0, 2]" - ] - }, - { - "cell_type": "markdown", - "id": "aac2f6bf-a641-4c86-a3d2-2cb7906ba914", - "metadata": {}, - "source": [ - "Indexing with subplot name and graphic name" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "545b627b-d794-459a-a75a-3fde44f0ea95", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "fig[\"top-right-plot\"][\"rand-img\"].vmin = 0.5" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "36432d5b-b76c-4a2a-a32c-097faf5ab269", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "fig.close()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b507b723-1371-44e7-aa6d-6aeb3196b27d", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.3" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/examples/notebooks/test_gc.ipynb b/examples/notebooks/test_gc.ipynb index 57d7bb576..df08e7a2d 100644 --- a/examples/notebooks/test_gc.ipynb +++ b/examples/notebooks/test_gc.ipynb @@ -7,6 +7,7 @@ "metadata": {}, "outputs": [], "source": [ + "import weakref\n", "import fastplotlib as fpl\n", "import numpy as np\n", "import pytest" @@ -23,7 +24,7 @@ " for i in range(len(plot_objects)):\n", " with pytest.raises(ReferenceError) as failure:\n", " plot_objects[i]\n", - " pytest.fail(f\"GC failed for object: {objects[i]}\")" + " pytest.fail(f\"GC failed for object: {plot_objects[i]} of type: {plot_objects[i].__class__.__name__}\")" ] }, { @@ -49,7 +50,15 @@ "\n", "line_collection_data = [points_data[:, 1].copy() for i in range(10)]\n", "\n", - "img_data = np.random.rand(2_000, 2_000)" + "img_data = np.random.rand(1_000, 1_000)" + ] + }, + { + "cell_type": "markdown", + "id": "2a8a92e1-70bc-41b5-9ad8-b86dab6e74eb", + "metadata": {}, + "source": [ + "# Make references to each graphic" ] }, { @@ -76,110 +85,144 @@ "linear_region_sel_img = image.add_linear_region_selector(name=\"image_linear_region_sel\")" ] }, + { + "cell_type": "markdown", + "id": "d691c3c6-0d82-4aa8-90e9-165efffda369", + "metadata": {}, + "source": [ + "# Add event handlers" + ] + }, { "cell_type": "code", "execution_count": null, - "id": "bb2083c1-f6b7-417c-86b8-9980819917db", + "id": "64198fd0-edd4-4ba1-8082-a65d57b83881", "metadata": {}, "outputs": [], "source": [ "def feature_changed_handler(ev):\n", - " pass\n", - "\n", - "\n", + " pass" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4a86c37b-41ce-4b50-af43-ef61d36b7d81", + "metadata": {}, + "outputs": [], + "source": [ "objects = list()\n", + "weakrefs = list() # used to make sure the real objs are garbage collected\n", "for subplot in fig:\n", - " objects += subplot.objects\n", - "\n", + " for obj in subplot.objects:\n", + " objects.append(obj)\n", + " weakrefs.append(weakref.proxy(obj))\n", "\n", "for g in objects:\n", " for feature in g._features:\n", - " # if isinstance(g, fpl.LineCollection):?\n", - " # continue # skip collections for now\n", - " \n", - " g.add_event_handler(feature_changed_handler, feature)\n", - "\n", - "fig.show()" + " g.add_event_handler(feature_changed_handler, feature)" + ] + }, + { + "cell_type": "markdown", + "id": "ecd09bc8-f051-4ffd-93d3-63c262064bb4", + "metadata": {}, + "source": [ + "# Show figure" ] }, { "cell_type": "code", "execution_count": null, - "id": "ba9fffeb-45bd-4a0c-a941-e7c7e68f2e55", + "id": "11cf43c0-94fa-4e75-a85d-04a3f5c97729", "metadata": {}, "outputs": [], "source": [ - "fig.clear()" + "fig.show()" + ] + }, + { + "cell_type": "markdown", + "id": "ad58698e-1a21-466d-b640-78500cfcb229", + "metadata": {}, + "source": [ + "# Clear fig and user-created objects list" ] }, { "cell_type": "code", "execution_count": null, - "id": "e33bf32d-b13a-474b-92ca-1d1e1c7b820b", + "id": "5849b8b3-8765-4e37-868f-6be0d127bdee", "metadata": {}, "outputs": [], "source": [ - "test_references(objects)" + "fig.clear()" ] }, { "cell_type": "code", "execution_count": null, - "id": "8078a7d2-9bc6-48a1-896c-7e169c5bbdcf", + "id": "8ea2206b-2522-40c2-beba-c3a377990219", "metadata": {}, "outputs": [], "source": [ - "movies = [np.random.rand(100, 100, 100) for i in range(6)]\n", - "\n", - "iw = fpl.ImageWidget(movies)\n", - "\n", - "# add some events onto all the image graphics\n", - "for g in iw.managed_graphics:\n", - " for f in g._features:\n", - " g.add_event_handler(feature_changed_handler, f)\n", - "\n", - "iw.show()" + "objects.clear()" ] }, { "cell_type": "markdown", - "id": "189bcd7a-40a2-4e84-abcf-c334e50f5544", + "id": "a7686046-65b6-4eb4-832a-7ca72c7f9bad", "metadata": {}, "source": [ - "# Test that setting new data with different dims clears old ImageGraphics" + "# test gc" ] }, { "cell_type": "code", "execution_count": null, - "id": "38557b63-997f-433a-b744-e562e30be6ae", + "id": "e33bf32d-b13a-474b-92ca-1d1e1c7b820b", "metadata": {}, "outputs": [], "source": [ - "old_graphics = iw.managed_graphics\n", - "\n", - "new_movies = [np.random.rand(100, 200, 200) for i in range(6)]\n", - "\n", - "iw.set_data(new_movies)" + "test_references(weakrefs)" ] }, { - "cell_type": "code", - "execution_count": null, - "id": "59e3c193-5672-4a66-bdca-12f1dd675d32", + "cell_type": "markdown", + "id": "4f927111-61c5-468e-8c90-b7b5338606ba", "metadata": {}, - "outputs": [], "source": [ - "test_references(old_graphics)" + "# test for ImageWidget" ] }, { "cell_type": "code", "execution_count": null, - "id": "712bb6ea-7244-4e03-8dfa-9419daa34915", + "id": "8078a7d2-9bc6-48a1-896c-7e169c5bbdcf", "metadata": {}, "outputs": [], - "source": [] + "source": [ + "if fpl.IMGUI:\n", + " # do image widget tests only if imgui is installed\n", + " movies = [np.random.rand(100, 100, 100) for i in range(6)]\n", + " \n", + " iw = fpl.ImageWidget(movies)\n", + " \n", + " # add some events onto all the image graphics\n", + " for g in iw.managed_graphics:\n", + " for f in g._features:\n", + " g.add_event_handler(feature_changed_handler, f)\n", + " \n", + " iw.show()\n", + " \n", + " old_graphics = [weakref.proxy(g) for g in iw.managed_graphics]\n", + " \n", + " # Test that setting new data with different dims clears old ImageGraphics\n", + " new_movies = [np.random.rand(100, 200, 200) for i in range(6)]\n", + " \n", + " iw.set_data(new_movies)\n", + " test_references(old_graphics)" + ] } ], "metadata": { diff --git a/examples/qt/README.rst b/examples/qt/README.rst new file mode 100644 index 000000000..5ff5471d5 --- /dev/null +++ b/examples/qt/README.rst @@ -0,0 +1,2 @@ +Qt Examples +=========== diff --git a/examples/qt/embed.py b/examples/qt/embed.py index a3b156021..ba20c5084 100644 --- a/examples/qt/embed.py +++ b/examples/qt/embed.py @@ -1,6 +1,15 @@ """ -Use a simple Plot to display a video frame that can be updated using a QSlider +Embed within a Qt Window +======================== + +When using the Qt canvas, `Figure.show()` just returns a QWidget that behaves like any other Qt widget. So you can +embed it and do other things that you can do with ordinary QWidgets. This example use a simple Plot to display a video +frame that can be updated using a QSlider. """ + +# test_example = false +# sphinx_gallery_pygfx_docs = 'code' + from PyQt6 import QtWidgets, QtCore import fastplotlib as fpl import imageio.v3 as iio @@ -51,4 +60,7 @@ def update_frame(ix): main_window.show() # execute Qt app -fpl.run() +fpl.loop.run() + +# You can also use Qt interactively/in a non-blocking manner in notebooks and ipython +# by using %gui qt and NOT calling `fpl.loop.run()`, see the user guide for more details diff --git a/examples/qt/imagewidget.py b/examples/qt/imagewidget.py index f82d082a0..8a5b8937c 100644 --- a/examples/qt/imagewidget.py +++ b/examples/qt/imagewidget.py @@ -1,6 +1,13 @@ """ -Use ImageWidget to display one or multiple image sequences +ImageWidget as QtWidget +======================= + +This example opens multiple windows to show multiple ImageWidgets. """ + +# test_example = false +# sphinx_gallery_pygfx_docs = 'code' + import numpy as np from PyQt6 import QtWidgets import fastplotlib as fpl @@ -11,22 +18,25 @@ # fastplotlib and wgpu will auto-detect if Qt is imported and then use the Qt canvas iw = fpl.ImageWidget(images) -iw.show() -iw.widget.resize(800, 800) +widget = iw.show() +widget.resize(800, 800) # another image widget with multiple images -images_list = [np.random.rand(100, 512, 512) for i in range(9)] +images_list = [np.random.rand(100, 512, 512) for i in range(4)] iw_mult = fpl.ImageWidget( images_list, cmap="viridis" ) -iw_mult.show() -iw_mult.widget.resize(800, 800) +widget_multi = iw_mult.show() +widget_multi.resize(800, 800) # image widget with rgb data rgb_video = iio.imread("imageio:cockatoo.mp4") -iw_rgb = fpl.ImageWidget(rgb_video, rgb=[True]) +iw_rgb = fpl.ImageWidget(rgb_video, rgb=[True], figure_kwargs={"size": (800, 500)}) iw_rgb.show() -fpl.run() +fpl.loop.run() + +# You can also use Qt interactively/in a non-blocking manner in notebooks and ipython +# by using %gui qt and NOT calling `fpl.loop.run()`, see the user guide for more details diff --git a/examples/qt/minimal.py b/examples/qt/minimal.py index 0d9009ba7..0424df403 100644 --- a/examples/qt/minimal.py +++ b/examples/qt/minimal.py @@ -1,6 +1,15 @@ """ -Minimal PyQt example that displays an image. Press "r" key to autoscale +Minimal Qt +========== + +Minimal PyQt example that displays an image. + +`Figure.show()` returns a QWidget that you can use in a Qt app just like any other QWidget! """ + +# test_example = false +# sphinx_gallery_pygfx_docs = 'code' + # import Qt or PySide from PyQt6 import QtWidgets import fastplotlib as fpl @@ -9,16 +18,19 @@ img = iio.imread("imageio:astronaut.png") # fastplotlib and wgpu will auto-detect if Qt is imported and then use the Qt canvas and Qt output context -fig = fpl.Figure() +figure = fpl.Figure() -fig[0, 0].add_image(img) +figure[0, 0].add_image(img) # must call fig.show() to start rendering loop and show the QWidget containing the fastplotlib figure -qwidget = fig.show() +qwidget = figure.show() # set QWidget initial size from image width and height qwidget.resize(*img.shape[:2]) # execute Qt app # if this is part of a larger Qt QApplication, you can also call app.exec() where app is the QApplication instance -fpl.run() +fpl.loop.run() + +# You can also use Qt interactively/in a non-blocking manner in notebooks and ipython +# by using %gui qt and NOT calling `fpl.run()`, see the user guide for more details diff --git a/examples/desktop/scatter/README.rst b/examples/scatter/README.rst similarity index 100% rename from examples/desktop/scatter/README.rst rename to examples/scatter/README.rst diff --git a/examples/desktop/scatter/scatter.py b/examples/scatter/scatter.py similarity index 68% rename from examples/desktop/scatter/scatter.py rename to examples/scatter/scatter.py index 05dd7a99b..838199ecb 100644 --- a/examples/desktop/scatter/scatter.py +++ b/examples/scatter/scatter.py @@ -11,7 +11,7 @@ import fastplotlib as fpl import numpy as np -figure = fpl.Figure() +figure = fpl.Figure(size=(700, 560)) # create a random distribution of 10,000 xyz coordinates n_points = 5_000 @@ -35,20 +35,14 @@ # color each of them separately colors = ["yellow"] * n_points + ["cyan"] * n_points + ["magenta"] * n_points -# create plot -figure = fpl.Figure() - # use an alpha value since this will be a lot of points -figure[0,0].add_scatter(data=cloud, sizes=3, colors=colors, alpha=0.6) +figure[0, 0].add_scatter(data=cloud, sizes=3, colors=colors, alpha=0.6) figure.show() -figure.canvas.set_logical_size(700, 560) - -figure[0, 0].auto_scale() -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide if __name__ == "__main__": print(__doc__) - fpl.run() + fpl.loop.run() diff --git a/examples/desktop/scatter/scatter_cmap.py b/examples/scatter/scatter_cmap.py similarity index 68% rename from examples/desktop/scatter/scatter_cmap.py rename to examples/scatter/scatter_cmap.py index 0adf72509..3c7bd0e21 100644 --- a/examples/desktop/scatter/scatter_cmap.py +++ b/examples/scatter/scatter_cmap.py @@ -11,7 +11,7 @@ import fastplotlib as fpl import numpy as np -figure = fpl.Figure() +figure = fpl.Figure(size=(700, 560)) # create a random distribution of 10,000 xyz coordinates n_points = 5_000 @@ -36,18 +36,15 @@ colors = ["yellow"] * n_points + ["cyan"] * n_points + ["magenta"] * n_points # use an alpha value since this will be a lot of points -figure[0,0].add_scatter(data=cloud, sizes=3, colors=colors, alpha=0.6) +figure[0, 0].add_scatter(data=cloud, sizes=3, colors=colors, alpha=0.6) figure.show() -figure[0,0].graphics[0].cmap = "viridis" +figure[0, 0].graphics[0].cmap = "viridis" -figure.canvas.set_logical_size(700, 560) -figure[0, 0].auto_scale() - -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide if __name__ == "__main__": print(__doc__) - fpl.run() + fpl.loop.run() diff --git a/examples/desktop/scatter/scatter_cmap_iris.py b/examples/scatter/scatter_cmap_iris.py similarity index 87% rename from examples/desktop/scatter/scatter_cmap_iris.py rename to examples/scatter/scatter_cmap_iris.py index 700f5c136..139554dae 100644 --- a/examples/desktop/scatter/scatter_cmap_iris.py +++ b/examples/scatter/scatter_cmap_iris.py @@ -13,7 +13,7 @@ from sklearn import datasets -figure = fpl.Figure() +figure = fpl.Figure(size=(700, 560)) data = datasets.load_iris()["data"] @@ -30,13 +30,9 @@ figure.show() -figure.canvas.set_logical_size(700, 560) - -figure[0, 0].auto_scale() - scatter_graphic.cmap = "tab10" if __name__ == "__main__": print(__doc__) - fpl.run() + fpl.loop.run() diff --git a/examples/desktop/scatter/scatter_colorslice.py b/examples/scatter/scatter_colorslice.py similarity index 72% rename from examples/desktop/scatter/scatter_colorslice.py rename to examples/scatter/scatter_colorslice.py index 3d3a3fa26..a3cacee55 100644 --- a/examples/desktop/scatter/scatter_colorslice.py +++ b/examples/scatter/scatter_colorslice.py @@ -11,7 +11,7 @@ import fastplotlib as fpl import numpy as np -figure = fpl.Figure() +figure = fpl.Figure(size=(700, 560)) # create a random distribution of 10,000 xyz coordinates n_points = 5_000 @@ -35,26 +35,19 @@ # color each of them separately colors = ["yellow"] * n_points + ["cyan"] * n_points + ["magenta"] * n_points -# create plot -figure = fpl.Figure() - # use an alpha value since this will be a lot of points -figure[0,0].add_scatter(data=cloud, sizes=3, colors=colors, alpha=0.6) +figure[0, 0].add_scatter(data=cloud, sizes=3, colors=colors, alpha=0.6) figure.show() -figure.canvas.set_logical_size(700, 560) - scatter_graphic = figure[0, 0].graphics[0] -figure[0, 0].auto_scale() - scatter_graphic.colors[0:75] = "red" scatter_graphic.colors[75:150] = "white" scatter_graphic.colors[::2] = "blue" -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide if __name__ == "__main__": print(__doc__) - fpl.run() + fpl.loop.run() diff --git a/examples/desktop/scatter/scatter_colorslice_iris.py b/examples/scatter/scatter_colorslice_iris.py similarity index 87% rename from examples/desktop/scatter/scatter_colorslice_iris.py rename to examples/scatter/scatter_colorslice_iris.py index a1e6d5318..725374ef7 100644 --- a/examples/desktop/scatter/scatter_colorslice_iris.py +++ b/examples/scatter/scatter_colorslice_iris.py @@ -12,7 +12,7 @@ from sklearn import datasets -figure = fpl.Figure() +figure = fpl.Figure(size=(700, 560)) data = datasets.load_iris()["data"] @@ -28,10 +28,6 @@ figure.show() -figure.canvas.set_logical_size(700, 560) - -figure[0, 0].auto_scale() - scatter_graphic.colors[0:75] = "red" scatter_graphic.colors[75:150] = "white" scatter_graphic.colors[::2] = "blue" @@ -39,4 +35,4 @@ if __name__ == "__main__": print(__doc__) - fpl.run() + fpl.loop.run() diff --git a/examples/desktop/scatter/scatter_dataslice.py b/examples/scatter/scatter_dataslice.py similarity index 74% rename from examples/desktop/scatter/scatter_dataslice.py rename to examples/scatter/scatter_dataslice.py index af2fffebd..7a30d6f70 100644 --- a/examples/desktop/scatter/scatter_dataslice.py +++ b/examples/scatter/scatter_dataslice.py @@ -12,7 +12,7 @@ import numpy as np -figure = fpl.Figure() +figure = fpl.Figure(size=(700, 560)) # create a gaussian cloud of 5_000 points n_points = 1_000 @@ -23,24 +23,17 @@ gaussian_cloud = np.random.multivariate_normal(mean, covariance, n_points) gaussian_cloud2 = np.random.multivariate_normal(mean, covariance, n_points) -# create plot -figure = fpl.Figure() - # use an alpha value since this will be a lot of points scatter1 = figure[0,0].add_scatter(data=gaussian_cloud, sizes=3) scatter2 = figure[0,0].add_scatter(data=gaussian_cloud2, colors="r", sizes=3) figure.show() -figure.canvas.set_logical_size(700, 560) - -figure[0, 0].auto_scale() - scatter1.data[:500] = np.array([0 , 0, 0]) scatter2.data[500:] = np.array([0 , 0, 0]) -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide if __name__ == "__main__": print(__doc__) - fpl.run() + fpl.loop.run() diff --git a/examples/desktop/scatter/scatter_dataslice_iris.py b/examples/scatter/scatter_dataslice_iris.py similarity index 89% rename from examples/desktop/scatter/scatter_dataslice_iris.py rename to examples/scatter/scatter_dataslice_iris.py index 0d47c6efd..cc688eeb4 100644 --- a/examples/desktop/scatter/scatter_dataslice_iris.py +++ b/examples/scatter/scatter_dataslice_iris.py @@ -13,7 +13,7 @@ from sklearn import datasets -figure = fpl.Figure() +figure = fpl.Figure(size=(700, 560)) data = datasets.load_iris()["data"] @@ -24,10 +24,6 @@ figure.show() -figure.canvas.set_logical_size(700, 560) - -figure[0, 0].auto_scale() - scatter_graphic.data[0] = np.array([[5, 3, 1.5]]) scatter_graphic.data[1] = np.array([[4.3, 3.2, 1.3]]) scatter_graphic.data[2] = np.array([[5.2, 2.7, 1.7]]) @@ -38,4 +34,4 @@ if __name__ == "__main__": print(__doc__) - fpl.run() + fpl.loop.run() diff --git a/examples/desktop/scatter/scatter_iris.py b/examples/scatter/scatter_iris.py similarity index 70% rename from examples/desktop/scatter/scatter_iris.py rename to examples/scatter/scatter_iris.py index c16a4b135..94c8acca1 100644 --- a/examples/desktop/scatter/scatter_iris.py +++ b/examples/scatter/scatter_iris.py @@ -13,7 +13,7 @@ from pathlib import Path import sys -figure = fpl.Figure() +figure = fpl.Figure(size=(700, 560)) current_file = Path(sys.argv[0]).resolve() @@ -27,12 +27,9 @@ figure.show() -figure.canvas.set_logical_size(700, 560) -figure[0, 0].auto_scale() - -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide if __name__ == "__main__": print(__doc__) - fpl.run() \ No newline at end of file + fpl.loop.run() diff --git a/examples/desktop/scatter/scatter_size.py b/examples/scatter/scatter_size.py similarity index 64% rename from examples/desktop/scatter/scatter_size.py rename to examples/scatter/scatter_size.py index bd4e2db2b..30d3e6ea3 100644 --- a/examples/desktop/scatter/scatter_size.py +++ b/examples/scatter/scatter_size.py @@ -2,7 +2,10 @@ Scatter Plot Size ================= -Example showing point size change for scatter plot. +Example that shows how to set scatter sizes in two different ways. + +One subplot uses a single scaler value for every point, and another subplot uses an array that defines the size for +each individual scatter point. """ # test_example = true @@ -14,11 +17,11 @@ # figure with 2 rows and 3 columns shape = (2, 1) -# you can give string names for each subplot within the gridplot +# you can give string names for each subplot within the figure names = [["scalar_size"], ["array_size"]] -# Create the grid plot -figure = fpl.Figure(shape=shape, names=names, size=(1000, 1000)) +# Create the figure +figure = fpl.Figure(shape=shape, names=names, size=(700, 560)) # get y_values using sin function angles = np.arange(0, 20 * np.pi + 0.001, np.pi / 20) @@ -39,10 +42,9 @@ figure.show() -figure.canvas.set_logical_size(700, 560) -# NOTE: `if __name__ == "__main__"` is NOT how to use fastplotlib interactively -# please see our docs for using fastplotlib interactively in ipython and jupyter +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide if __name__ == "__main__": print(__doc__) - fpl.run() + fpl.loop.run() diff --git a/examples/scatter/spinning_spiral.py b/examples/scatter/spinning_spiral.py new file mode 100644 index 000000000..80e893301 --- /dev/null +++ b/examples/scatter/spinning_spiral.py @@ -0,0 +1,86 @@ +""" +Spinning spiral scatter +======================= + +Example of a spinning spiral scatter. + +This example with 1 million points runs at 125 fps on an AMD RX 570. +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'animate 15s' + +import numpy as np +import fastplotlib as fpl + +# number of points +n = 100_000 + +# create data in the shape of a spiral +phi = np.linspace(0, 30, n) + +xs = phi * np.cos(phi) + np.random.normal(scale=1.5, size=n) +ys = np.random.normal(scale=1, size=n) +zs = phi * np.sin(phi) + np.random.normal(scale=1.5, size=n) + +data = np.column_stack([xs, ys, zs]) + +# generate some random sizes for the points +sizes = np.abs(np.random.normal(loc=0, scale=1, size=n)) + +figure = fpl.Figure( + cameras="3d", + size=(700, 560), + canvas_kwargs={"max_fps": 500, "vsync": False} +) + +spiral = figure[0, 0].add_scatter(data, cmap="viridis_r", alpha=0.5, sizes=sizes) + +# pre-generate normally distributed data to jitter the points before each render +jitter = np.random.normal(scale=0.001, size=n * 3).reshape((n, 3)) + + +def update(): + # rotate around y axis + spiral.rotate(0.005, axis="y") + + # add small jitter + spiral.data[:] += jitter + # shift array to provide a random-sampling effect + # without re-running a random generator on each iteration + # generating 1 million normally distributed points takes ~50ms even with SFC64 + jitter[1000:] = jitter[:-1000] + jitter[:1000] = jitter[-1000:] + + +figure.add_animations(update) +figure.show() + +# pre-saved camera state +camera_state = { + 'position': np.array([-0.13046005, 20.09142224, 29.03347696]), + 'rotation': np.array([-0.44485092, 0.05335406, 0.11586037, 0.88647469]), + 'scale': np.array([1., 1., 1.]), + 'reference_up': np.array([0., 1., 0.]), + 'fov': 50.0, + 'width': 62.725074768066406, + 'height': 8.856056690216064, + 'zoom': 0.75, + 'maintain_aspect': True, + 'depth_range': None +} + +figure[0, 0].camera.set_state(camera_state) +figure[0, 0].axes.visible = False + + +if fpl.IMGUI: + # show fps with imgui overlay + figure.imgui_show_fps = True + + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/screenshots/extent_frac_layout.png b/examples/screenshots/extent_frac_layout.png new file mode 100644 index 000000000..7fe6d3d37 --- /dev/null +++ b/examples/screenshots/extent_frac_layout.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5991b755432318310cfc2b4826bd9639cc234883aa06f1895817f710714cb58f +size 156297 diff --git a/examples/screenshots/extent_layout.png b/examples/screenshots/extent_layout.png new file mode 100644 index 000000000..dec391ac2 --- /dev/null +++ b/examples/screenshots/extent_layout.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0cf23f845932023789e0823a105910e9f701d0f03c04e3c18488f0da62420921 +size 123409 diff --git a/examples/screenshots/gridplot.png b/examples/screenshots/gridplot.png new file mode 100644 index 000000000..08e6d6b78 --- /dev/null +++ b/examples/screenshots/gridplot.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f424ec68dbc0761566cd147f3bf5b8f15e4126c3b30b2ff47b6fb48f04d512a +size 252269 diff --git a/examples/screenshots/gridplot_non_square.png b/examples/screenshots/gridplot_non_square.png new file mode 100644 index 000000000..781de8749 --- /dev/null +++ b/examples/screenshots/gridplot_non_square.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ac9ee6fd1118a06a1f0de4eee73e7b6bee188c533da872c5cbaf7119114414f +size 194385 diff --git a/examples/screenshots/gridplot_viewports_check.png b/examples/screenshots/gridplot_viewports_check.png new file mode 100644 index 000000000..b1faf9b69 --- /dev/null +++ b/examples/screenshots/gridplot_viewports_check.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:67dd50d61a0caaf563d95110f99fa24c567ddd778a697715247d697a1b5bb1ac +size 46667 diff --git a/examples/screenshots/heatmap.png b/examples/screenshots/heatmap.png new file mode 100644 index 000000000..defcca301 --- /dev/null +++ b/examples/screenshots/heatmap.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0789d249cb4cfad21c9f1629721ade26ed734e05b1b13c3a5871793f6271362b +size 91831 diff --git a/examples/screenshots/image_cmap.png b/examples/screenshots/image_cmap.png new file mode 100644 index 000000000..0301d2ed4 --- /dev/null +++ b/examples/screenshots/image_cmap.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2bbb79716fecce08479fbe7977565daccadf4688c8a99e155db297ecce4c484 +size 199979 diff --git a/examples/screenshots/image_rgb.png b/examples/screenshots/image_rgb.png new file mode 100644 index 000000000..11129ceaa --- /dev/null +++ b/examples/screenshots/image_rgb.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23024936931651cdf4761f2cafcd8002bb12ab86e9efb13ddc99a9bf659c3935 +size 226879 diff --git a/examples/screenshots/image_rgbvminvmax.png b/examples/screenshots/image_rgbvminvmax.png new file mode 100644 index 000000000..afe4de6f7 --- /dev/null +++ b/examples/screenshots/image_rgbvminvmax.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2fb9cd6d32813df6a9e3bf183f73cb69fdb61d290d7f2a4cc223ab34301351a1 +size 50231 diff --git a/examples/screenshots/image_simple.png b/examples/screenshots/image_simple.png new file mode 100644 index 000000000..702a1ac5c --- /dev/null +++ b/examples/screenshots/image_simple.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3eb6f03364226e9f1aae72f6414ad05b0239a15c2a0fbcd71d3718fee477e2c +size 199468 diff --git a/examples/screenshots/image_small.png b/examples/screenshots/image_small.png new file mode 100644 index 000000000..d17cb7ab2 --- /dev/null +++ b/examples/screenshots/image_small.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2dcfc7b8a964db9a950bf4d3217fb171d081251b107977f9acd612fcd5fb0be1 +size 14453 diff --git a/examples/screenshots/image_vminvmax.png b/examples/screenshots/image_vminvmax.png new file mode 100644 index 000000000..afe4de6f7 --- /dev/null +++ b/examples/screenshots/image_vminvmax.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2fb9cd6d32813df6a9e3bf183f73cb69fdb61d290d7f2a4cc223ab34301351a1 +size 50231 diff --git a/examples/screenshots/image_widget.png b/examples/screenshots/image_widget.png new file mode 100644 index 000000000..23d34ae50 --- /dev/null +++ b/examples/screenshots/image_widget.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:220ebb5286b48426f9457b62d6e7f9fe61b5a62b8874c7e010e07e146ae205a5 +size 184633 diff --git a/examples/screenshots/image_widget_grid.png b/examples/screenshots/image_widget_grid.png new file mode 100644 index 000000000..a6ccd144a --- /dev/null +++ b/examples/screenshots/image_widget_grid.png @@ -0,0 +1,4 @@ +version https://git-lfs.github.com/spec/v1 + +oid sha256:430cd0ee5c05221c42073345480acbeee672c299311f239dc0790a9495d0d758 +size 248046 diff --git a/examples/screenshots/image_widget_imgui.png b/examples/screenshots/image_widget_imgui.png new file mode 100644 index 000000000..cb165cc86 --- /dev/null +++ b/examples/screenshots/image_widget_imgui.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7522a35768d013a257e3cf3b00cce626b023b169484e035f46c635efc553b0bf +size 165747 diff --git a/examples/screenshots/image_widget_single_video.png b/examples/screenshots/image_widget_single_video.png new file mode 100644 index 000000000..aa757a950 --- /dev/null +++ b/examples/screenshots/image_widget_single_video.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f0843f4693460ae985c1f33d84936fbcc943d0405e0893186cbee7a5765dbc0 +size 90283 diff --git a/examples/screenshots/image_widget_videos.png b/examples/screenshots/image_widget_videos.png new file mode 100644 index 000000000..2e289ae3c --- /dev/null +++ b/examples/screenshots/image_widget_videos.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eec22392f85db1fd375d7ffa995a2719cf86821fe3fe85913f4ab66084eccbf9 +size 290587 diff --git a/examples/screenshots/image_widget_viewports_check.png b/examples/screenshots/image_widget_viewports_check.png new file mode 100644 index 000000000..662432e59 --- /dev/null +++ b/examples/screenshots/image_widget_viewports_check.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1c4449f7e97375aa9d7fe1d00364945fc86b568303022157621de21a20d1d13e +size 93914 diff --git a/examples/screenshots/imgui_basic.png b/examples/screenshots/imgui_basic.png new file mode 100644 index 000000000..1ff9952a9 --- /dev/null +++ b/examples/screenshots/imgui_basic.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09cc7b0680e53ae1a2689b63f9b0ed641535fcffc99443cd455cc8d9b6923229 +size 36218 diff --git a/examples/screenshots/line.png b/examples/screenshots/line.png new file mode 100644 index 000000000..02603b692 --- /dev/null +++ b/examples/screenshots/line.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9bfaa54bde0967463413ecd2defa8ca18169d534163cc8b297879900e812fee8 +size 167012 diff --git a/examples/screenshots/line_cmap.png b/examples/screenshots/line_cmap.png new file mode 100644 index 000000000..1ecc930e4 --- /dev/null +++ b/examples/screenshots/line_cmap.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0503c008f8869dcf83793c21b15169a93558988c1a5c4edfd2aa93c549d25e1 +size 49343 diff --git a/examples/screenshots/line_cmap_more.png b/examples/screenshots/line_cmap_more.png new file mode 100644 index 000000000..4bf597e8b --- /dev/null +++ b/examples/screenshots/line_cmap_more.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ab4d759dd679a2959c0fda724e7b7a1b7593d6f67ce797f08a5292dd0eb74fb1 +size 125023 diff --git a/examples/screenshots/line_collection.png b/examples/screenshots/line_collection.png new file mode 100644 index 000000000..382132770 --- /dev/null +++ b/examples/screenshots/line_collection.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3b6b973a52f7088536a4f437be2a7f6ebb2787756f9170145a945c53e90093c +size 98950 diff --git a/examples/screenshots/line_collection_cmap_values.png b/examples/screenshots/line_collection_cmap_values.png new file mode 100644 index 000000000..c00bffdb6 --- /dev/null +++ b/examples/screenshots/line_collection_cmap_values.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:45bb6652f477ab0165bf59e504c1935e5781bceea9a891fcfa9975dec92eef4b +size 64720 diff --git a/examples/screenshots/line_collection_cmap_values_qualitative.png b/examples/screenshots/line_collection_cmap_values_qualitative.png new file mode 100644 index 000000000..662d3254d --- /dev/null +++ b/examples/screenshots/line_collection_cmap_values_qualitative.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e5b5cb45e78ae24d72f3cb84e482fac7bf0a98cd9b9b934444d2e67c9910d57 +size 66565 diff --git a/examples/screenshots/line_collection_colors.png b/examples/screenshots/line_collection_colors.png new file mode 100644 index 000000000..3b90e5b4c --- /dev/null +++ b/examples/screenshots/line_collection_colors.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4edf84af27535e4a30b48906ab3cacaeb38d073290828df3c5707620e222b4d3 +size 58635 diff --git a/examples/screenshots/line_collection_slicing.png b/examples/screenshots/line_collection_slicing.png new file mode 100644 index 000000000..e0537a261 --- /dev/null +++ b/examples/screenshots/line_collection_slicing.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66933c1fa349ebb4dd69b9bf396acb8f0aeeabbf17a3b7054d1f1e038a6e04be +size 129484 diff --git a/examples/screenshots/line_colorslice.png b/examples/screenshots/line_colorslice.png new file mode 100644 index 000000000..f3374e221 --- /dev/null +++ b/examples/screenshots/line_colorslice.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d654aa666ac1f4cfbf228fc4c5fbd2f68eed841c7cc6265637d5b836b918314c +size 57989 diff --git a/examples/screenshots/line_dataslice.png b/examples/screenshots/line_dataslice.png new file mode 100644 index 000000000..6ecf63b26 --- /dev/null +++ b/examples/screenshots/line_dataslice.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a9b93af2028eb0186dd75d74c079d5effdb284a8677e6eec1a7fd2c8de4c8498 +size 70489 diff --git a/examples/screenshots/line_stack.png b/examples/screenshots/line_stack.png new file mode 100644 index 000000000..9a9ad4fd6 --- /dev/null +++ b/examples/screenshots/line_stack.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b6c2d1ee4c49ff5b193b5105b2794c6b5bd7a089a8a2c6fa03e09e02352aa65 +size 121462 diff --git a/examples/screenshots/linear_region_selectors_match_offsets.png b/examples/screenshots/linear_region_selectors_match_offsets.png new file mode 100644 index 000000000..e6fab4c4d --- /dev/null +++ b/examples/screenshots/linear_region_selectors_match_offsets.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2eac8ffeb8cd35a0c65d51b0952defea61928abb53c865e681fa72af4ac4347 +size 95750 diff --git a/examples/screenshots/linear_selector.png b/examples/screenshots/linear_selector.png new file mode 100644 index 000000000..8571d664b --- /dev/null +++ b/examples/screenshots/linear_selector.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:62ded18658bc5cb41129d27eb21f47f029cf7c75bb6388b5d72af6fe9c5cada9 +size 130919 diff --git a/examples/screenshots/no-imgui-extent_frac_layout.png b/examples/screenshots/no-imgui-extent_frac_layout.png new file mode 100644 index 000000000..4dc3b2aa6 --- /dev/null +++ b/examples/screenshots/no-imgui-extent_frac_layout.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5923e8b9f687f97d488b282b35f16234898ed1038b0737b7b57fb9cbd72ebf34 +size 157321 diff --git a/examples/screenshots/no-imgui-extent_layout.png b/examples/screenshots/no-imgui-extent_layout.png new file mode 100644 index 000000000..16d1ff446 --- /dev/null +++ b/examples/screenshots/no-imgui-extent_layout.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2ffe0a8d625322cc22d2abdde80a3f179f01552dde974bbbd49f9e371ab39aa +size 138936 diff --git a/examples/screenshots/no-imgui-gridplot.png b/examples/screenshots/no-imgui-gridplot.png new file mode 100644 index 000000000..7f870cf76 --- /dev/null +++ b/examples/screenshots/no-imgui-gridplot.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b31f2002053b5934ae78393214e67717d10bd567e590212eaff4062440657acd +size 292558 diff --git a/examples/screenshots/no-imgui-gridplot_non_square.png b/examples/screenshots/no-imgui-gridplot_non_square.png new file mode 100644 index 000000000..e08d64805 --- /dev/null +++ b/examples/screenshots/no-imgui-gridplot_non_square.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9ef00db82a3559b4d7c77b68838f5876f98a2b9e80ef9ecb257f32c62161b5e +size 216512 diff --git a/examples/screenshots/no-imgui-gridplot_viewports_check.png b/examples/screenshots/no-imgui-gridplot_viewports_check.png new file mode 100644 index 000000000..2a8c0dc6f --- /dev/null +++ b/examples/screenshots/no-imgui-gridplot_viewports_check.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6818a7c8bdb29567bb09cfe00acaa6872a046d4d35a87ef2be7afa06c2a8a089 +size 44869 diff --git a/examples/screenshots/no-imgui-heatmap.png b/examples/screenshots/no-imgui-heatmap.png new file mode 100644 index 000000000..e91d06c4f --- /dev/null +++ b/examples/screenshots/no-imgui-heatmap.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:875c15e74e7ea2eaa6b00ddbdd80b4775ecb1fe0002a5122371d49f975369cce +size 95553 diff --git a/examples/screenshots/no-imgui-image_cmap.png b/examples/screenshots/no-imgui-image_cmap.png new file mode 100644 index 000000000..2d42899fc --- /dev/null +++ b/examples/screenshots/no-imgui-image_cmap.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b43bd64ceec8c5c1287a2df57abf7bd148955d6ba97a425b32ae53bad03a051 +size 216050 diff --git a/examples/screenshots/no-imgui-image_rgb.png b/examples/screenshots/no-imgui-image_rgb.png new file mode 100644 index 000000000..6be5205ac --- /dev/null +++ b/examples/screenshots/no-imgui-image_rgb.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42516cd0719d5b33ec32523dd2efe7874398bac6d0aecb5163ff1cb5c105135f +size 244717 diff --git a/examples/screenshots/no-imgui-image_rgbvminvmax.png b/examples/screenshots/no-imgui-image_rgbvminvmax.png new file mode 100644 index 000000000..48d8fff95 --- /dev/null +++ b/examples/screenshots/no-imgui-image_rgbvminvmax.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f8a99a9172ae5edf98f0d189455fad2074a99f2280c9352675bab8d4c0e3491 +size 50751 diff --git a/examples/screenshots/no-imgui-image_simple.png b/examples/screenshots/no-imgui-image_simple.png new file mode 100644 index 000000000..1e4487757 --- /dev/null +++ b/examples/screenshots/no-imgui-image_simple.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cfa6469803f44a682c9ce7337ae265a8d60749070991e6f3a723eb37c5a9a23 +size 215410 diff --git a/examples/screenshots/no-imgui-image_small.png b/examples/screenshots/no-imgui-image_small.png new file mode 100644 index 000000000..3613a8139 --- /dev/null +++ b/examples/screenshots/no-imgui-image_small.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:17ccf0014c7ba7054440e3daf8d4e2a397e9013d1aea804c40dc7302dad4171e +size 13327 diff --git a/examples/screenshots/no-imgui-image_vminvmax.png b/examples/screenshots/no-imgui-image_vminvmax.png new file mode 100644 index 000000000..48d8fff95 --- /dev/null +++ b/examples/screenshots/no-imgui-image_vminvmax.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f8a99a9172ae5edf98f0d189455fad2074a99f2280c9352675bab8d4c0e3491 +size 50751 diff --git a/examples/screenshots/no-imgui-line.png b/examples/screenshots/no-imgui-line.png new file mode 100644 index 000000000..cdc24e382 --- /dev/null +++ b/examples/screenshots/no-imgui-line.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3952cf9b0c9d008a885dc4abb3aeaaed6fd94a5db05ba83c6f4c4c76fe6e925 +size 171519 diff --git a/examples/screenshots/no-imgui-line_cmap.png b/examples/screenshots/no-imgui-line_cmap.png new file mode 100644 index 000000000..4f2bbba43 --- /dev/null +++ b/examples/screenshots/no-imgui-line_cmap.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3c9ac8d2b8157ffd575e5ad2b2bb23b684b52403c2f4f021c52d100cfb28a83 +size 49048 diff --git a/examples/screenshots/no-imgui-line_cmap_more.png b/examples/screenshots/no-imgui-line_cmap_more.png new file mode 100644 index 000000000..8125be49f --- /dev/null +++ b/examples/screenshots/no-imgui-line_cmap_more.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ddd88200aa824d4e05ba3f94fdb4216a1e7c7137b202cd8fb47997453dfd5a6 +size 126830 diff --git a/examples/screenshots/no-imgui-line_collection.png b/examples/screenshots/no-imgui-line_collection.png new file mode 100644 index 000000000..a31cf55fe --- /dev/null +++ b/examples/screenshots/no-imgui-line_collection.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d807f770c118e668c6bda1919856d7804f716a2bf95a5ae060345df1cd2b3c7 +size 102703 diff --git a/examples/screenshots/no-imgui-line_collection_cmap_values.png b/examples/screenshots/no-imgui-line_collection_cmap_values.png new file mode 100644 index 000000000..c909c766f --- /dev/null +++ b/examples/screenshots/no-imgui-line_collection_cmap_values.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e8612de5c3ee252ce9c8cc8afd5bd6075d5e242e8a93cd025e28ec82526120f +size 64698 diff --git a/examples/screenshots/no-imgui-line_collection_cmap_values_qualitative.png b/examples/screenshots/no-imgui-line_collection_cmap_values_qualitative.png new file mode 100644 index 000000000..61d5a21d0 --- /dev/null +++ b/examples/screenshots/no-imgui-line_collection_cmap_values_qualitative.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7847cd4399ce5b43bda9985eb72467ad292744aaeb9e8d210dd6c86c4eb1a090 +size 67959 diff --git a/examples/screenshots/no-imgui-line_collection_colors.png b/examples/screenshots/no-imgui-line_collection_colors.png new file mode 100644 index 000000000..567bb4d06 --- /dev/null +++ b/examples/screenshots/no-imgui-line_collection_colors.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15216a0900bcaef492e5d9e3380db9f28d7b7e4bd11b26eb87ce956666dcd2b1 +size 58414 diff --git a/examples/screenshots/no-imgui-line_collection_slicing.png b/examples/screenshots/no-imgui-line_collection_slicing.png new file mode 100644 index 000000000..c9bc6d931 --- /dev/null +++ b/examples/screenshots/no-imgui-line_collection_slicing.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e8d3d7813580be188766c2d0200bcbff28122758d36d0faa846b0bb4dceac654 +size 130453 diff --git a/examples/screenshots/no-imgui-line_colorslice.png b/examples/screenshots/no-imgui-line_colorslice.png new file mode 100644 index 000000000..fe54de5d6 --- /dev/null +++ b/examples/screenshots/no-imgui-line_colorslice.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be429bf910979cf4c9483b8ae1f7aa877fde64fb6ec8a4cf32be143f282c9103 +size 57353 diff --git a/examples/screenshots/no-imgui-line_dataslice.png b/examples/screenshots/no-imgui-line_dataslice.png new file mode 100644 index 000000000..649a9df59 --- /dev/null +++ b/examples/screenshots/no-imgui-line_dataslice.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf873f1479cec065f0062ce58ce78ddfbd5673654aacf0ecdbd559747ae741cb +size 69381 diff --git a/examples/screenshots/no-imgui-line_stack.png b/examples/screenshots/no-imgui-line_stack.png new file mode 100644 index 000000000..3ef24e73a --- /dev/null +++ b/examples/screenshots/no-imgui-line_stack.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b9d02719e7051c2a0e848cc828f21be52ac108c6f9be16795d1150a1e215371 +size 123674 diff --git a/examples/screenshots/no-imgui-linear_region_selectors_match_offsets.png b/examples/screenshots/no-imgui-linear_region_selectors_match_offsets.png new file mode 100644 index 000000000..d82efa849 --- /dev/null +++ b/examples/screenshots/no-imgui-linear_region_selectors_match_offsets.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b22ee4506bc532344cfcbd5daa0c4e90d9a831d59f1d916bd28534786947771 +size 97036 diff --git a/examples/screenshots/no-imgui-linear_selector.png b/examples/screenshots/no-imgui-linear_selector.png new file mode 100644 index 000000000..4416cb4d5 --- /dev/null +++ b/examples/screenshots/no-imgui-linear_selector.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f1a323dec6d50d1c701632aadbd17d87ee3b3b42171046ca9b1284f93576a3b +size 131922 diff --git a/examples/screenshots/no-imgui-rect_frac_layout.png b/examples/screenshots/no-imgui-rect_frac_layout.png new file mode 100644 index 000000000..4dc3b2aa6 --- /dev/null +++ b/examples/screenshots/no-imgui-rect_frac_layout.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5923e8b9f687f97d488b282b35f16234898ed1038b0737b7b57fb9cbd72ebf34 +size 157321 diff --git a/examples/screenshots/no-imgui-rect_layout.png b/examples/screenshots/no-imgui-rect_layout.png new file mode 100644 index 000000000..16d1ff446 --- /dev/null +++ b/examples/screenshots/no-imgui-rect_layout.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2ffe0a8d625322cc22d2abdde80a3f179f01552dde974bbbd49f9e371ab39aa +size 138936 diff --git a/examples/screenshots/no-imgui-scatter_cmap_iris.png b/examples/screenshots/no-imgui-scatter_cmap_iris.png new file mode 100644 index 000000000..0d1f8dbb0 --- /dev/null +++ b/examples/screenshots/no-imgui-scatter_cmap_iris.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7e197c84911cf7711d09653d6c54d7a756fbe4fe80daa84f0cf1a1d516217423 +size 60341 diff --git a/examples/screenshots/no-imgui-scatter_colorslice_iris.png b/examples/screenshots/no-imgui-scatter_colorslice_iris.png new file mode 100644 index 000000000..84447c70f --- /dev/null +++ b/examples/screenshots/no-imgui-scatter_colorslice_iris.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:780b680de7d3a22d2cb73a6829cad1e1066163e084b8daa9e8362f2543ba62eb +size 36881 diff --git a/examples/screenshots/no-imgui-scatter_dataslice_iris.png b/examples/screenshots/no-imgui-scatter_dataslice_iris.png new file mode 100644 index 000000000..a19d66270 --- /dev/null +++ b/examples/screenshots/no-imgui-scatter_dataslice_iris.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b4f6635f48e047944c923ac46a9bd5b77e736f26421978ff74cd37a9677c622 +size 39457 diff --git a/examples/screenshots/no-imgui-scatter_iris.png b/examples/screenshots/no-imgui-scatter_iris.png new file mode 100644 index 000000000..631672504 --- /dev/null +++ b/examples/screenshots/no-imgui-scatter_iris.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80cc8c1ed5276b0b8cbd5aeb3151182a73984829f889195b57442a58c3124a43 +size 38488 diff --git a/examples/screenshots/no-imgui-scatter_size.png b/examples/screenshots/no-imgui-scatter_size.png new file mode 100644 index 000000000..241e38ad5 --- /dev/null +++ b/examples/screenshots/no-imgui-scatter_size.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71f3db93ea28e773c708093319985fb0fe04fae9a8a78d4f4f764f0417979b72 +size 68596 diff --git a/examples/screenshots/rect_frac_layout.png b/examples/screenshots/rect_frac_layout.png new file mode 100644 index 000000000..7fe6d3d37 --- /dev/null +++ b/examples/screenshots/rect_frac_layout.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5991b755432318310cfc2b4826bd9639cc234883aa06f1895817f710714cb58f +size 156297 diff --git a/examples/screenshots/rect_layout.png b/examples/screenshots/rect_layout.png new file mode 100644 index 000000000..dec391ac2 --- /dev/null +++ b/examples/screenshots/rect_layout.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0cf23f845932023789e0823a105910e9f701d0f03c04e3c18488f0da62420921 +size 123409 diff --git a/examples/screenshots/scatter_cmap_iris.png b/examples/screenshots/scatter_cmap_iris.png new file mode 100644 index 000000000..c069d6b11 --- /dev/null +++ b/examples/screenshots/scatter_cmap_iris.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fad40cf8004e31f7d30f4bb552ee1c7f79a499d3bad310c0eac83396f0aabd62 +size 61193 diff --git a/examples/screenshots/scatter_colorslice_iris.png b/examples/screenshots/scatter_colorslice_iris.png new file mode 100644 index 000000000..58c2b61fe --- /dev/null +++ b/examples/screenshots/scatter_colorslice_iris.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:427587ef9a73bf9c3ea6e739b61d5af7380a5488c454a9d3653019b40d569292 +size 37589 diff --git a/examples/screenshots/scatter_dataslice_iris.png b/examples/screenshots/scatter_dataslice_iris.png new file mode 100644 index 000000000..ab61f0405 --- /dev/null +++ b/examples/screenshots/scatter_dataslice_iris.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3dd9ad854f41386d353ca0dae689a263eff942817727e328690427e2e62e2f3 +size 40112 diff --git a/examples/screenshots/scatter_iris.png b/examples/screenshots/scatter_iris.png new file mode 100644 index 000000000..01bd5cacd --- /dev/null +++ b/examples/screenshots/scatter_iris.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7978b93f7eac8176c54ed0e39178424d9cb6474c73e9013d5164d3e88d54c95 +size 39147 diff --git a/examples/screenshots/scatter_size.png b/examples/screenshots/scatter_size.png new file mode 100644 index 000000000..2f6c045f3 --- /dev/null +++ b/examples/screenshots/scatter_size.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb05b8378d94e16094738850dca6328caf7477c641bf474b9deae426344bc7a4 +size 70898 diff --git a/examples/selection_tools/README.rst b/examples/selection_tools/README.rst new file mode 100644 index 000000000..e0376d728 --- /dev/null +++ b/examples/selection_tools/README.rst @@ -0,0 +1,2 @@ +Selection Tools +=============== diff --git a/examples/selection_tools/fft.py b/examples/selection_tools/fft.py new file mode 100644 index 000000000..46ab8f89f --- /dev/null +++ b/examples/selection_tools/fft.py @@ -0,0 +1,101 @@ +""" +Explore fourier transform of images +=================================== +Example showing how to use a `RectangleSelector` to interactively reconstruct +an image using portions of it fourier transform +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'screenshot' + +import numpy as np +import fastplotlib as fpl +import imageio.v3 as iio + +image = iio.imread("imageio:camera.png") + +# compute discrete fourier transform of image +img_fft = np.fft.fftshift(np.fft.fft2(image)) + +# image to just visualize absolute magnitudes +log_abs_img_fft = np.log(np.abs(img_fft + 1)) + +# placeholders for displaying fft and inverse fft of selections +zeros = np.zeros(image.shape) + +# create an ImageWidget to display all the images +iw = fpl.ImageWidget( + data=[image, log_abs_img_fft, zeros, zeros, zeros, zeros], + names=["image", "DFT", "selected", "FFT of selected", "not-selected", "IFFT of not-selected"], + figure_shape=(3, 2), # so we can see image and fft side by side + figure_kwargs={"size": (700, 1024)}, + histogram_widget=False, +) + +# we don't need the toolbars here, unclutter the figure +for subplot in iw.figure: + subplot.toolbar = False + +# viridis cmap for the fft images +iw.cmap = "viridis" + +# gray for the non-fft images +iw.managed_graphics[0].cmap = "gray" +iw.managed_graphics[3].cmap = "gray" +iw.managed_graphics[-1].cmap = "gray" + +# set contrast limits based on the full DFT for the DFT-selection images +iw.figure["selected"].graphics[0].vmin, iw.figure["selected"].graphics[0].vmax = log_abs_img_fft.min(), log_abs_img_fft.max() +iw.figure["not-selected"].graphics[0].vmin, iw.figure["not-selected"].graphics[0].vmax = log_abs_img_fft.min(), log_abs_img_fft.max() + +iw.show() + +# create a rectangle selector +rs = iw.managed_graphics[1].add_rectangle_selector(edge_color="w", edge_thickness=2.0) + + +@rs.add_event_handler("selection") +def update_images(ev): + """ + Updates the images when the selection changes + """ + + # get the bbox of the selection + row_ixs, col_ixs = ev.get_selected_indices() + row_slice = slice(row_ixs[0], row_ixs[-1] + 1) + col_slice = slice(col_ixs[0], col_ixs[-1] + 1) + + # fft of the selection + selected_fft = np.zeros(image.shape, dtype=np.complex64) + selected_fft[row_slice, col_slice] = img_fft[row_slice, col_slice] + + # update image graphic with the current fft selection + iw.managed_graphics[2].data = np.log(np.abs(selected_fft + 1)) + + # inverse fft to reconstruct image using only the selection + iw.managed_graphics[3].data = np.fft.ifft2(np.fft.fftshift(selected_fft)) + iw.managed_graphics[3].reset_vmin_vmax() + + # fft of the region outside the selection + unselected_fft = img_fft.copy() + unselected_fft[row_slice, col_slice] = 0 + + # update image graphic with unselected fft area + iw.managed_graphics[4].data = np.log(np.abs(unselected_fft + 1)) + + # inverse fft to reconstruct image using only the unselected part of the fft + iw.managed_graphics[5].data = np.fft.ifft2(np.fft.fftshift(unselected_fft)) + iw.managed_graphics[5].reset_vmin_vmax() + + +# set initial selection to the center +rs.selection = (225, 285, 225, 285) + + +figure = iw.figure + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/selection_tools/linear_region_line_collection.py b/examples/selection_tools/linear_region_line_collection.py new file mode 100644 index 000000000..05084df0f --- /dev/null +++ b/examples/selection_tools/linear_region_line_collection.py @@ -0,0 +1,84 @@ +""" +LinearRegionSelectors with LineCollection +========================================= + +Example showing how to use a `LinearRegionSelector` with a `LineCollection` +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'screenshot' + + +import fastplotlib as fpl +import numpy as np + +# data to plot +xs = np.linspace(0, 10 * np.pi, 1_000) +sine = np.column_stack([xs, np.sin(xs)]) +cosine = np.column_stack([xs, np.cos(xs)]) + +figure = fpl.Figure((5, 1), size=(700, 1000)) + +# preallocated size for zoomed data +zoomed_prealloc = 1_000 + +# sines and cosines +data = [sine, cosine, sine, cosine] + +# make line stack +line_stack = figure[0, 0].add_line_stack(data, separation=2) + +# make selector +selector = line_stack.add_linear_region_selector() + +# preallocate array for storing zoomed in data +zoomed_init = np.column_stack([np.arange(zoomed_prealloc), np.zeros(zoomed_prealloc)]) + +# populate zoomed view subplots with graphics using preallocated buffer sizes +for i, subplot in enumerate(figure): + if i == 0: + # skip the first one + continue + # make line graphics for displaying zoomed data + subplot.add_line(zoomed_init, name="zoomed") + + +def interpolate(subdata: np.ndarray, axis: int): + """1D interpolation to display within the preallocated data array""" + x = np.arange(0, zoomed_prealloc) + xp = np.linspace(0, zoomed_prealloc, subdata.shape[0]) + + # interpolate to preallocated size + return np.interp(x, xp, fp=subdata[:, axis]) # use the y-values + + +@selector.add_event_handler("selection") +def update_zoomed_subplots(ev): + """update the zoomed subplots""" + zoomed_data = ev.get_selected_data() + + for i in range(len(zoomed_data)): + # interpolate y-vals + if zoomed_data[i].size == 0: + figure[i + 1, 0]["zoomed"].data[:, 1] = 0 + else: + data = interpolate(zoomed_data[i], axis=1) + figure[i + 1, 0]["zoomed"].data[:, 1] = data + figure[i + 1, 0].auto_scale() + + +# set initial selection so zoomed plots update +selector.selection = (0, 4 * np.pi) + +# hide toolbars to reduce clutter +for subplot in figure: + subplot.toolbar = False + +figure.show(maintain_aspect=False) + + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/selection_tools/linear_region_selector.py b/examples/selection_tools/linear_region_selector.py new file mode 100644 index 000000000..5c6d6e01b --- /dev/null +++ b/examples/selection_tools/linear_region_selector.py @@ -0,0 +1,114 @@ +""" +LinearRegionSelectors +===================== + +Example showing how to use a `LinearRegionSelector` with lines. We demonstrate two use cases, a horizontal +LinearRegionSelector which selects along the x-axis and a vertical selector which moves along the y-axis. + +In general, a horizontal selector on the x-axis is useful if you are displaying data where y = f(x). +Conversely, a vertical selector that selectors along the y-axis is useful for +displaying data where x = f(y). (ex: vertical histograms) +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'screenshot' + +import fastplotlib as fpl +import numpy as np + +# names for out subplots +names = [ + ["y = sine(x)", "x = sine(y), sine(y) > 0 = 0"], + ["zoomed sine(x)", "zoomed sine(y)"] +] + +# 2 rows, 2 columns +figure = fpl.Figure( + (2, 2), + size=(700, 560), + names=names, +) + +# preallocated number of datapoints for zoomed data +zoomed_prealloc = 5_000 + +# data to plot +xs = np.linspace(0, 200 * np.pi, 10_000) +ys = np.sin(xs) + np.random.normal(scale=0.2, size=10000) + +# make sine along x axis +sine_graphic_x = figure[0, 0].add_line(np.column_stack([xs, ys]), thickness=1) + +# x = sine(y), sine(y) > 0 = 0 +sine_y = ys +sine_y[sine_y > 0] = 0 + +# sine along y axis +sine_graphic_y = figure[0, 1].add_line(np.column_stack([ys, xs])) + +# offset the position of the graphic to demonstrate `get_selected_data()` later +sine_graphic_y.position_x = 50 +sine_graphic_y.position_y = 50 + +# add linear selectors +selector_x = sine_graphic_x.add_linear_region_selector((0, 100)) # default axis is "x" +selector_y = sine_graphic_y.add_linear_region_selector(axis="y") + +# preallocate array for storing zoomed in data +zoomed_init = np.column_stack([np.arange(zoomed_prealloc), np.zeros(zoomed_prealloc)]) + +# make line graphics for displaying zoomed data +zoomed_x = figure[1, 0].add_line(zoomed_init) +zoomed_y = figure[1, 1].add_line(zoomed_init) + + +def interpolate(subdata: np.ndarray, axis: int): + """1D interpolation to display within the preallocated data array""" + x = np.arange(0, zoomed_prealloc) + xp = np.linspace(0, zoomed_prealloc, subdata.shape[0]) + + # interpolate to preallocated size + return np.interp(x, xp, fp=subdata[:, axis]) # use the y-values + + +@selector_x.add_event_handler("selection") +def set_zoom_x(ev): + """sets zoomed x selector data""" + # get the selected data + selected_data = ev.get_selected_data() + if selected_data.size == 0: + # no data selected + zoomed_x.data[:, 1] = 0 + else: + # interpolate the y-values since y = f(x) + zoomed_x.data[:, 1] = interpolate(selected_data, axis=1) + figure[1, 0].auto_scale() + + +def set_zoom_y(ev): + """sets zoomed x selector data""" + # get the selected data + selected_data = ev.get_selected_data() + if selected_data.size == 0: + # no data selected + zoomed_y.data[:, 1] = 0 + else: + # interpolate the x values since this x = f(y) + zoomed_y.data[:, 1] = -interpolate(selected_data, axis=0) + figure[1, 1].auto_scale() + + +# you can also add event handlers without a decorator +selector_y.add_event_handler(set_zoom_y, "selection") + +# set initial selection +selector_x.selection = (0, 150) +selector_y.selection = (0, 150) + +figure.show(maintain_aspect=False) + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/selection_tools/linear_region_selectors_match_offsets.py b/examples/selection_tools/linear_region_selectors_match_offsets.py new file mode 100644 index 000000000..7ac9cc486 --- /dev/null +++ b/examples/selection_tools/linear_region_selectors_match_offsets.py @@ -0,0 +1,109 @@ +""" +LinearRegionSelectors match offsets +=================================== + +Identical to linear region selector but with offsets for testing purposes +""" + +# test_example = true +# sphinx_gallery_pygfx_docs = 'hidden' + +import fastplotlib as fpl +import numpy as np + +# names for out subplots +names = [ + ["y = sine(x)", "x = sine(y), sine(y) > 0 = 0"], + ["zoomed sine(x)", "zoomed sine(y)"] +] + +# 2 rows, 2 columns +figure = fpl.Figure( + (2, 2), + size=(700, 560), + names=names, +) + +# preallocated size for zoomed data +zoomed_prealloc = 1_000 + +# data to plot +xs = np.linspace(0, 10 * np.pi, 1_000) +ys = np.sin(xs) # y = sine(x) + +# make sine along x axis +sine_graphic_x = figure[0, 0].add_line(np.column_stack([xs, ys]), offset=(10, 10, 0)) + +# x = sine(y), sine(y) > 0 = 0 +sine_y = ys +sine_y[sine_y > 0] = 0 + +# sine along y axis +sine_graphic_y = figure[0, 1].add_line(np.column_stack([ys, xs]), offset=(10, 10, 0)) + +# offset the position of the graphic to demonstrate `get_selected_data()` later +sine_graphic_y.position_x = 50 +sine_graphic_y.position_y = 50 + +# add linear selectors +selector_x = sine_graphic_x.add_linear_region_selector() # default axis is "x" +selector_y = sine_graphic_y.add_linear_region_selector(axis="y") + +# preallocate array for storing zoomed in data +zoomed_init = np.column_stack([np.arange(zoomed_prealloc), np.zeros(zoomed_prealloc)]) + +# make line graphics for displaying zoomed data +zoomed_x = figure[1, 0].add_line(zoomed_init) +zoomed_y = figure[1, 1].add_line(zoomed_init) + + +def interpolate(subdata: np.ndarray, axis: int): + """1D interpolation to display within the preallocated data array""" + x = np.arange(0, zoomed_prealloc) + xp = np.linspace(0, zoomed_prealloc, subdata.shape[0]) + + # interpolate to preallocated size + return np.interp(x, xp, fp=subdata[:, axis]) # use the y-values + + +@selector_x.add_event_handler("selection") +def set_zoom_x(ev): + """sets zoomed x selector data""" + # get the selected data + selected_data = ev.get_selected_data() + if selected_data.size == 0: + # no data selected + zoomed_x.data[:, 1] = 0 + else: + # interpolate the y-values since y = f(x) + zoomed_x.data[:, 1] = interpolate(selected_data, axis=1) + figure[1, 0].auto_scale() + + +def set_zoom_y(ev): + """sets zoomed x selector data""" + # get the selected data + selected_data = ev.get_selected_data() + if selected_data.size == 0: + # no data selected + zoomed_y.data[:, 1] = 0 + else: + # interpolate the x values since this x = f(y) + zoomed_y.data[:, 1] = -interpolate(selected_data, axis=0) + figure[1, 1].auto_scale() + + +# you can also add event handlers without a decorator +selector_y.add_event_handler(set_zoom_y, "selection") + +# set initial selection +selector_x.selection = selector_y.selection = (0, 4 * np.pi) + + +figure.show(maintain_aspect=False) + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/selection_tools/linear_selector.py b/examples/selection_tools/linear_selector.py new file mode 100644 index 000000000..65fd8f1b1 --- /dev/null +++ b/examples/selection_tools/linear_selector.py @@ -0,0 +1,122 @@ +""" +Linear Selectors +================ + +Example showing how to use a `LinearSelector` with lines and line collections. +""" + +# test_example = true +# sphinx_gallery_pygfx_docs = 'screenshot' + +import fastplotlib as fpl +import numpy as np + + +# create some data +xs = np.linspace(0, 10 * np.pi, 100) +sine = np.column_stack([xs, np.sin(xs)]) +cosine = np.column_stack([xs, np.cos(xs)]) + +# a varying sine-cosine quilted pattern +image_xs, image_ys = np.meshgrid(xs, xs) +multiplier = np.linspace(0, 10, 100) +image_data = multiplier * np.sin(image_xs) + multiplier * np.cos(image_ys) + +# create a figure +figure = fpl.Figure( + shape=(1, 2), + size=(700, 560) +) + +# line of a single sine wave from 0 - 10π +line = figure[0, 0].add_line(sine, cmap="jet") + +# add a linear selector to the line +line_selector = line.add_linear_selector() + +line_selector_text = (f"x value: {line_selector.selection / np.pi:.2f}π\n" + f"y value: {line.data[0, 1]:.2f}\n" + f"index: {line_selector.get_selected_index()}") + +# a label that will change to display line data based on the linear selector +line_selection_label = figure[0, 0].add_text( + line_selector_text, + offset=(0., 1.75, 0.), + anchor="middle-left", + font_size=32, + face_color=line.colors[0], + outline_color="w", + outline_thickness=0.1, +) + + +# add an event handler using a decorator, selectors are just like other graphics +# you can also use the .add_event_handler() method directly instead of a decorator +# see the line collection example below for a non-decorator example +@line_selector.add_event_handler("selection") +def line_selector_changed(ev): + selection = ev.info["value"] + index = ev.get_selected_index() + + # set text to display selection data + line_selection_label.text = \ + (f"x value: {selection / np.pi:.2f}π\n" + f"y value: {line.data[index, 1]:.2f}\n" + f"index: {index}") + + # set text color based on line color at selection index + line_selection_label.face_color = line.colors[index] + + +# line stack, sine and cosine wave +line_stack = figure[0, 1].add_line_stack([sine, cosine], colors=["magenta", "cyan"], separation=1) +line_stack_selector = line_stack.add_linear_selector() + +line_stack_selector_text = (f"x value: {line_stack_selector.selection / np.pi:.2f}π\n" + f"index: {line_selector.get_selected_index()}\n" + f"sine y value: {line_stack[0].data[0, 1]:.2f}\n" + f"cosine y value: {line_stack[1].data[0, 1]:.2f}\n") + +# a label that will change to display line_stack data based on the linear selector +line_stack_selector_label = figure[0, 1].add_text( + line_stack_selector_text, + offset=(0., 7.0, 0.), + anchor="middle-left", + font_size=24, + face_color="w", +) + + +def line_stack_selector_changed(ev): + selection = ev.info["value"] + + # a linear selectors one a line collection returns a + # list of selected indices for each graphic in the collection + index = ev.get_selected_index()[0] + + # set text to display selection data + line_stack_selector_label.text = \ + (f"x value: {selection / np.pi:.2f}π\n" + f"index: {index}\n" + f"sine y value: {line_stack[0].data[index, 1]:.2f}\n" + f"cosine y value: {line_stack[1].data[index, 1]:.2f}\n") + + +# add an event handler, you can also use a decorator +line_stack_selector.add_event_handler(line_stack_selector_changed, "selection") + +# some axes and camera zoom settings +for subplot in [figure[0, 0], figure[0, 1]]: + subplot.axes.grids.xy.visible = True + subplot.axes.auto_grid = False + subplot.axes.grids.xy.major_step = (np.pi, 1) + subplot.axes.grids.xy.minor_step = (0, 0) + + +figure.show(maintain_aspect=False) + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/selection_tools/linear_selector_image.py b/examples/selection_tools/linear_selector_image.py new file mode 100644 index 000000000..04844b568 --- /dev/null +++ b/examples/selection_tools/linear_selector_image.py @@ -0,0 +1,73 @@ +""" +Linear Selectors Image +====================== + +Example showing how to use a `LinearSelector` to selector rows or columns of an image. The subplot on the right +displays the data for the selector row and column. +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'screenshot' + +import fastplotlib as fpl +from imageio import v3 as iio + +image_data = iio.imread("imageio:coins.png") + +figure = fpl.Figure( + (1, 3), + size=(700, 300), + names=[["image", "selected row data", "selected column data"]] +) + +# create an image +image = figure[0, 0].add_image(image_data) + +# add a row selector +image_row_selector = image.add_linear_selector(axis="y") + +# add column selector +image_col_selector = image.add_linear_selector() + +# make a line to indicate row data +line_image_row = figure[0, 1].add_line(image.data[0]) + +# make a line to indicate column data +line_image_col = figure[0, 2].add_line(image.data[:, 0]) + + +# callbacks to change the line data in subplot [0, 1] +# to display selected row and selected column data +def image_row_selector_changed(ev): + ix = ev.get_selected_index() + new_data = image.data[ix] + # set y values of line with the row data + line_image_row.data[:, 1] = new_data + + +def image_col_selector_changed(ev): + ix = ev.get_selected_index() + new_data = image.data[:, ix] + # set y values of line with the column data + line_image_col.data[:, 1] = new_data + + +# add event handlers, you can also use a decorator +image_row_selector.add_event_handler(image_row_selector_changed, "selection") +image_col_selector.add_event_handler(image_col_selector_changed, "selection") + +# programmatically set the selection or drag it with your mouse pointer +image_row_selector.selection = 200 +image_col_selector.selection = 180 + +figure.show() + +for subplot in figure: + subplot.camera.zoom = 0.5 + + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/selection_tools/rectangle_selector.py b/examples/selection_tools/rectangle_selector.py new file mode 100644 index 000000000..d0fd33aa9 --- /dev/null +++ b/examples/selection_tools/rectangle_selector.py @@ -0,0 +1,66 @@ +""" +Rectangle Selectors +=================== + +Example showing how to use a `RectangleSelector` with line collections +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'screenshot' + +import numpy as np +import fastplotlib as fpl +from itertools import product + +# create a figure +figure = fpl.Figure( + size=(700, 560) +) + + +# generate some data +def make_circle(center, radius: float, n_points: int = 75) -> np.ndarray: + theta = np.linspace(0, 2 * np.pi, n_points) + xs = radius * np.sin(theta) + ys = radius * np.cos(theta) + + return np.column_stack([xs, ys]) + center + + +spatial_dims = (50, 50) + +circles = list() +for center in product(range(0, spatial_dims[0], 9), range(0, spatial_dims[1], 9)): + circles.append(make_circle(center, 3, n_points=75)) + +pos_xy = np.vstack(circles) + +# add image +line_collection = figure[0, 0].add_line_collection(circles, cmap="jet", thickness=5) + +# add rectangle selector to image graphic +rectangle_selector = line_collection.add_rectangle_selector() + + +# add event handler to highlight selected indices +@rectangle_selector.add_event_handler("selection") +def color_indices(ev): + line_collection.cmap = "jet" + ixs = ev.get_selected_indices() + + # iterate through each of the selected indices, if the array size > 0 that mean it's under the selection + selected_line_ixs = [i for i in range(len(ixs)) if ixs[i].size > 0] + line_collection[selected_line_ixs].colors = "w" + + +# manually move selector to make a nice gallery image :D +rectangle_selector.selection = (15, 30, 15, 30) + + +figure.show() + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/selection_tools/rectangle_selector_zoom.py b/examples/selection_tools/rectangle_selector_zoom.py new file mode 100644 index 000000000..61e38ffc9 --- /dev/null +++ b/examples/selection_tools/rectangle_selector_zoom.py @@ -0,0 +1,53 @@ +""" +Rectangle Selectors Images +========================== + +Example showing how to use a `RectangleSelector` with images +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'screenshot' + +import imageio.v3 as iio +import fastplotlib as fpl + +# create a figure +figure = fpl.Figure( + shape=(2, 1), + size=(700, 560) +) + +# add image +image_graphic = figure[0, 0].add_image(data=iio.imread("imageio:camera.png")) + +# add rectangle selector to image graphic +rectangle_selector = image_graphic.add_rectangle_selector() + +# add a zoomed plot of the selected data +zoom_ig = figure[1, 0].add_image(rectangle_selector.get_selected_data()) + + +# add event handler to update the data of the zoomed image as the selection changes +@rectangle_selector.add_event_handler("selection") +def update_data(ev): + # get the new data + new_data = ev.get_selected_data() + + # remove the old zoomed image graphic + global zoom_ig + + figure[1, 0].remove_graphic(zoom_ig) + + # add new zoomed image of new data + zoom_ig = figure[1, 0].add_image(data=new_data) + + # autoscale the plot + figure[1, 0].auto_scale() + +figure.show() + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/selection_tools/unit_circle.py b/examples/selection_tools/unit_circle.py new file mode 100644 index 000000000..b068d1bc7 --- /dev/null +++ b/examples/selection_tools/unit_circle.py @@ -0,0 +1,142 @@ +""" +Unit circle +=========== + +Example with linear selectors on a sine and cosine function that demonstrates the unit circle. + +This shows how fastplotlib supports bidirectional events, drag the linear selector on the sine +or cosine function and they will both move together. + +Click on the sine or cosine function to set the colormap transform to illustrate the sine or +cosine function output values on the unit circle. +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'screenshot' + + +import numpy as np +import fastplotlib as fpl + + +# helper function to make a cirlce +def make_circle(center, radius: float, n_points: int) -> np.ndarray: + theta = np.linspace(0, 2 * np.pi, n_points) + xs = radius * np.cos(theta) + ys = radius * np.sin(theta) + + return np.column_stack([xs, ys]) + center + + +# We will have 3 subplots in a layout like this: +""" +|========|========| +| | | +| | sine | +| | | +| circle |========| +| | | +| | cosine | +| | | +|========|========| +""" + +# we can define this layout using "extents", i.e. min and max ranges on the canvas +# (x_min, x_max, y_min, y_max) +# extents can be defined as fractions as shown here +extents = [ + (0, 0.5, 0, 1), # circle subplot + (0.5, 1, 0, 0.5), # sine subplot + (0.5, 1, 0.5, 1), # cosine subplot +] + +# create a figure with 3 subplots +figure = fpl.Figure( + extents=extents, + names=["unit circle", "sin(x)", "cos(x)"], + size=(700, 560) +) + +# set the axes to intersect at (0, 0, 0) to better illustrate the unit circle +for subplot in figure: + subplot.axes.intersection = (0, 0, 0) + subplot.toolbar = False # reduce clutter + +figure["sin(x)"].camera.maintain_aspect = False +figure["cos(x)"].camera.maintain_aspect = False + +# create sine and cosine data +xs = np.linspace(0, 2 * np.pi, 360) +sine = np.sin(xs) +cosine = np.cos(xs) + +# circle data +circle_data = make_circle(center=(0, 0), radius=1, n_points=360) + +# make the circle line graphic, set the cmap transform using the sine function +circle_graphic = figure["unit circle"].add_line( + circle_data, thickness=4, cmap="bwr", cmap_transform=sine +) + +# line to show the circle radius +# use it to indicate the current position of the sine and cosine selctors (below) +radius_data = np.array([[0, 0, 0], [*circle_data[0], 0]]) +circle_radius = figure["unit circle"].add_line( + radius_data, thickness=6, colors="magenta" +) + +# sine line graphic, cmap transform set from the sine function +sine_graphic = figure["sin(x)"].add_line( + sine, thickness=10, cmap="bwr", cmap_transform=sine +) + +# cosine line graphic, cmap transform set from the sine function +# illustrates the sine function values on the cosine graphic +cosine_graphic = figure["cos(x)"].add_line( + cosine, thickness=10, cmap="bwr", cmap_transform=sine +) + +# add linear selectors to the sine and cosine line graphics +sine_selector = sine_graphic.add_linear_selector() +cosine_selector = cosine_graphic.add_linear_selector() + + +def set_circle_cmap(ev): + # sets the cmap transforms + + cmap_transform = ev.graphic.data[:, 1] # y-val data of the sine or cosine graphic + for g in [sine_graphic, cosine_graphic]: + g.cmap.transform = cmap_transform + + # set circle cmap transform + circle_graphic.cmap.transform = cmap_transform + +# when the sine or cosine graphic is clicked, the cmap_transform +# of the sine, cosine and circle line graphics are all set from +# the y-values of the clicked line +sine_graphic.add_event_handler(set_circle_cmap, "click") +cosine_graphic.add_event_handler(set_circle_cmap, "click") + + +def set_x_val(ev): + # used to sync the two selectors + value = ev.info["value"] + index = ev.get_selected_index() + + sine_selector.selection = value + cosine_selector.selection = value + + circle_radius.data[1, :-1] = circle_data[index] + +# add same event handler to both graphics +sine_selector.add_event_handler(set_x_val, "selection") +cosine_selector.add_event_handler(set_x_val, "selection") + +figure.show() + + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/tests/test_examples.py b/examples/tests/test_examples.py index c08df9005..7fbd32e2f 100644 --- a/examples/tests/test_examples.py +++ b/examples/tests/test_examples.py @@ -2,13 +2,18 @@ Test that examples run without error. """ +import sys import importlib import runpy import pytest import os import numpy as np import imageio.v3 as iio +import pygfx +import fastplotlib as fpl +MAX_TEXTURE_SIZE = 2048 +pygfx.renderers.wgpu.set_wgpu_limits(**{"max-texture-dimension-2d": MAX_TEXTURE_SIZE}) from .testutils import ( ROOT, @@ -31,9 +36,21 @@ examples_to_test = find_examples(query="# test_example = true") +def check_skip_imgui(module): + # skip any imgui or ImageWidget tests + with open(module, "r") as f: + contents = f.read() + if "ImageWidget" in contents: + pytest.skip("skipping ImageWidget tests since they require imgui") + elif "imgui" in contents or "imgui_bundle" in contents: + pytest.skip("skipping tests that require imgui") + + @pytest.mark.parametrize("module", examples_to_run, ids=lambda x: x.stem) def test_examples_run(module, force_offscreen): """Run every example marked to see if they run without error.""" + if not fpl.IMGUI: + check_skip_imgui(module) runpy.run_path(module, run_name="__main__") @@ -41,11 +58,11 @@ def test_examples_run(module, force_offscreen): @pytest.fixture def force_offscreen(): """Force the offscreen canvas to be selected by the auto gui module.""" - os.environ["WGPU_FORCE_OFFSCREEN"] = "true" + os.environ["RENDERCANVAS_FORCE_OFFSCREEN"] = "true" try: yield finally: - del os.environ["WGPU_FORCE_OFFSCREEN"] + del os.environ["RENDERCANVAS_FORCE_OFFSCREEN"] def test_that_we_are_on_lavapipe(): @@ -54,19 +71,49 @@ def test_that_we_are_on_lavapipe(): assert is_lavapipe +def import_from_path(module_name, filename): + spec = importlib.util.spec_from_file_location(module_name, filename) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) + + # With this approach the module is not added to sys.modules, which + # is great, because that way the gc can simply clean up when we lose + # the reference to the module + assert module.__name__ == module_name + assert module_name not in sys.modules + + return module + + @pytest.mark.parametrize("module", examples_to_test, ids=lambda x: x.stem) def test_example_screenshots(module, force_offscreen): """Make sure that every example marked outputs the expected.""" - # (relative) module name from project root - module_name = ( - module.relative_to(ROOT / "examples") - .with_suffix("") - .as_posix() - .replace("/", ".") - ) + + if not fpl.IMGUI: + # skip any imgui or ImageWidget tests + check_skip_imgui(module) # import the example module - example = importlib.import_module(module_name) + example = import_from_path(module.stem, module) + + if fpl.IMGUI: + # there doesn't seem to be a resize event for the manual offscreen canvas + example.figure.imgui_renderer._backend.io.display_size = example.figure.canvas.get_logical_size() + # run this once so any edge widgets set their sizes and therefore the subplots get the correct rect + # hacky but it works for now + example.figure.imgui_renderer.render() + + example.figure._fpl_reset_layout() + # render each subplot + for subplot in example.figure: + subplot.viewport.render(subplot.scene, subplot.camera) + + # flush pygfx renderer + example.figure.renderer.flush() + + if fpl.IMGUI: + # render imgui + example.figure.imgui_renderer.render() # render a frame img = np.asarray(example.figure.renderer.target.draw()) @@ -78,7 +125,13 @@ def test_example_screenshots(module, force_offscreen): if not os.path.exists(screenshots_dir): os.mkdir(screenshots_dir) - screenshot_path = screenshots_dir / f"{module.stem}.png" + # test screenshots for both imgui and non-gui installs + if not fpl.IMGUI: + prefix = "no-imgui-" + else: + prefix = "" + + screenshot_path = screenshots_dir / f"{prefix}{module.stem}.png" black = np.zeros(img.shape).astype(np.uint8) black[:, :, -1] = 255 @@ -104,7 +157,7 @@ def test_example_screenshots(module, force_offscreen): rgb = normalize_image(rgb) ref_img = normalize_image(ref_img) - similar, rmse = image_similarity(rgb, ref_img, threshold=0.025) + similar, rmse = image_similarity(rgb, ref_img, threshold=0.05) update_diffs(module.stem, similar, rgb, ref_img) assert similar, ( diff --git a/examples/tests/testutils.py b/examples/tests/testutils.py index 22747ce08..4c23b3481 100644 --- a/examples/tests/testutils.py +++ b/examples/tests/testutils.py @@ -11,19 +11,24 @@ ROOT = Path(__file__).parents[2] # repo root -examples_dir = ROOT / "examples" / "desktop" +examples_dir = ROOT / "examples" screenshots_dir = examples_dir / "screenshots" diffs_dir = examples_dir / "diffs" # examples live in themed sub-folders example_globs = [ "image/*.py", + "image_widget/*.py", "heatmap/*.py", "scatter/*.py", "line/*.py", "line_collection/*.py", "gridplot/*.py", - "misc/*.py" + "window_layouts/*.py", + "events/*.py", + "selection_tools/*.py", + "misc/*.py", + "guis/*.py", ] @@ -31,7 +36,7 @@ def get_wgpu_backend(): """ Query the configured wgpu backend driver. """ - code = "import wgpu.utils; info = wgpu.utils.get_default_device().adapter.request_adapter_info(); print(info['adapter_type'], info['backend_type'])" + code = "import wgpu.utils; info = wgpu.utils.get_default_device().adapter.info; print(info['adapter_type'], info['backend_type'])" result = subprocess.run( [ sys.executable, diff --git a/examples/text/README.rst b/examples/text/README.rst new file mode 100644 index 000000000..01466a39f --- /dev/null +++ b/examples/text/README.rst @@ -0,0 +1,2 @@ +Text Examples +============= diff --git a/examples/text/moving_label.py b/examples/text/moving_label.py new file mode 100644 index 000000000..7ba7d85df --- /dev/null +++ b/examples/text/moving_label.py @@ -0,0 +1,84 @@ +""" +Moving TextGraphic label +======================== + +A TextGraphic that labels a point on a line and another TextGraphic that moves along the line on every draw. +""" + +# test_example = false +# sphinx_gallery_pygfx_docs = 'animate 10s' + +import numpy as np +import fastplotlib as fpl + +# create a sinc wave +xs = np.linspace(-2 * np.pi, 2 * np.pi, 200) +ys = np.sinc(xs) + +data = np.column_stack([xs, ys]) + +# create a figure +figure = fpl.Figure(size=(700, 450)) + +# sinc wave +line = figure[0, 0].add_line(data, thickness=2) + +# position for the text label on the peak +pos = (0, max(ys), 0) + +# create label for the peak +text_peak = figure[0, 0].add_text( + f"peak ", + font_size=20, + anchor="bottom-right", + offset=pos +) + +# add a point on the peak +point_peak = figure[0, 0].add_scatter(np.asarray([pos]), sizes=10, colors="r") + +# create a text that will move along the line +text_moving = figure[0, 0].add_text( + f"({xs[0]:.2f}, {ys[0]:.2f}) ", + font_size=16, + outline_color="k", + outline_thickness=1, + anchor="top-center", + offset=(*data[0], 0) +) +# a point that will move on the line +point_moving = figure[0, 0].add_scatter(np.asarray([data[0]]), sizes=10, colors="magenta") + + +index = 0 +def update(): + # moves the text and point before every draw + global index + # get the new position + new_pos = (*data[index], 0) + + # move the text and point to the new position + text_moving.offset = new_pos + point_moving.data[0] = new_pos + + # set the text to the new position + text_moving.text = f"({new_pos[0]:.2f}, {new_pos[1]:.2f})" + + # increment index + index += 1 + if index == data.shape[0]: + index = 0 + + +# add update as an animation functions +figure.add_animations(update) + +figure[0, 0].axes.visible = False +figure.show(maintain_aspect=False) + + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/window_layouts/README.rst b/examples/window_layouts/README.rst new file mode 100644 index 000000000..23684627b --- /dev/null +++ b/examples/window_layouts/README.rst @@ -0,0 +1,2 @@ +Window Layout Examples +====================== diff --git a/examples/window_layouts/extent_frac_layout.py b/examples/window_layouts/extent_frac_layout.py new file mode 100644 index 000000000..d90270c22 --- /dev/null +++ b/examples/window_layouts/extent_frac_layout.py @@ -0,0 +1,74 @@ +""" +Fractional Extent Layout +======================== + +Create subplots using extents given as fractions of the canvas. +This example plots two images and their histograms in separate subplots + +""" + +# test_example = true +# sphinx_gallery_pygfx_docs = 'screenshot' + +import numpy as np +import imageio.v3 as iio +import fastplotlib as fpl + +# load images +img1 = iio.imread("imageio:astronaut.png") +img2 = iio.imread("imageio:wikkie.png") + +# calculate histograms +hist_1, edges_1 = np.histogram(img1) +centers_1 = edges_1[:-1] + np.diff(edges_1) / 2 + +hist_2, edges_2 = np.histogram(img2) +centers_2 = edges_2[:-1] + np.diff(edges_2) / 2 + +# figure size in pixels +size = (700, 560) + +# extent is (xmin, xmax, ymin, ymax) +# here it is defined as fractions of the canvas +extents = [ + (0, 0.3, 0, 0.5), # for image1 + (0, 0.3, 0.5, 1), # for image2 + (0.3, 1, 0, 0.5), # for image1 histogram + (0.3, 1, 0.5, 1), # for image2 histogram +] + +# create a figure using the rects and size +# also give each subplot a name +figure = fpl.Figure( + extents=extents, + names=["astronaut image", "wikkie image", "astronaut histogram", "wikkie histogram"], + size=size +) + +# add image to the corresponding subplots +figure["astronaut image"].add_image(img1) +figure["wikkie image"].add_image(img2) + +# add histogram to the corresponding subplots +figure["astronaut histogram"].add_line(np.column_stack([centers_1, hist_1])) +figure["wikkie histogram"].add_line(np.column_stack([centers_2, hist_2])) + + +for subplot in figure: + if "image" in subplot.name: + # remove axes from image subplots to reduce clutter + subplot.axes.visible = False + continue + + # don't maintain aspect ratio for the histogram subplots + subplot.camera.maintain_aspect = False + + +figure.show() + + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/window_layouts/extent_layout.py b/examples/window_layouts/extent_layout.py new file mode 100644 index 000000000..341a2f970 --- /dev/null +++ b/examples/window_layouts/extent_layout.py @@ -0,0 +1,74 @@ +""" +Extent Layout +============= + +Create subplots using given extents in absolute pixels. +This example plots two images and their histograms in separate subplots + +""" + +# test_example = true +# sphinx_gallery_pygfx_docs = 'screenshot' + +import numpy as np +import imageio.v3 as iio +import fastplotlib as fpl + +# load images +img1 = iio.imread("imageio:astronaut.png") +img2 = iio.imread("imageio:wikkie.png") + +# calculate histograms +hist_1, edges_1 = np.histogram(img1) +centers_1 = edges_1[:-1] + np.diff(edges_1) / 2 + +hist_2, edges_2 = np.histogram(img2) +centers_2 = edges_2[:-1] + np.diff(edges_2) / 2 + +# figure size in pixels +size = (640, 480) + +# extent is (xmin, xmax, ymin, ymax) +# here it is defined in absolute pixels +extents = [ + (0, 200, 0, 240), # for image1 + (0, 200, 240, 480), # for image2 + (200, 640, 0, 240), # for image1 histogram + (200, 640, 240, 480), # for image2 histogram +] + +# create a figure using the rects and size +# also give each subplot a name +figure = fpl.Figure( + extents=extents, + names=["astronaut image", "wikkie image", "astronaut histogram", "wikkie histogram"], + size=size +) + +# add image to the corresponding subplots +figure["astronaut image"].add_image(img1) +figure["wikkie image"].add_image(img2) + +# add histogram to the corresponding subplots +figure["astronaut histogram"].add_line(np.column_stack([centers_1, hist_1])) +figure["wikkie histogram"].add_line(np.column_stack([centers_2, hist_2])) + + +for subplot in figure: + if "image" in subplot.name: + # remove axes from image subplots to reduce clutter + subplot.axes.visible = False + continue + + # don't maintain aspect ratio for the histogram subplots + subplot.camera.maintain_aspect = False + + +figure.show() + + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/window_layouts/rect_frac_layout.py b/examples/window_layouts/rect_frac_layout.py new file mode 100644 index 000000000..070488487 --- /dev/null +++ b/examples/window_layouts/rect_frac_layout.py @@ -0,0 +1,74 @@ +""" +Rect Fractional Layout +====================== + +Create subplots using rects given as fractions of the canvas. +This example plots two images and their histograms in separate subplots + +""" + +# test_example = true +# sphinx_gallery_pygfx_docs = 'screenshot' + +import numpy as np +import imageio.v3 as iio +import fastplotlib as fpl + +# load images +img1 = iio.imread("imageio:astronaut.png") +img2 = iio.imread("imageio:wikkie.png") + +# calculate histograms +hist_1, edges_1 = np.histogram(img1) +centers_1 = edges_1[:-1] + np.diff(edges_1) / 2 + +hist_2, edges_2 = np.histogram(img2) +centers_2 = edges_2[:-1] + np.diff(edges_2) / 2 + +# figure size in pixels +size = (700, 560) + +# rect is (x, y, width, height) +# here it is defined as fractions of the canvas +rects = [ + (0, 0, 0.3, 0.5), # for image1 + (0, 0.5, 0.3, 0.5), # for image2 + (0.3, 0, 0.7, 0.5), # for image1 histogram + (0.3, 0.5, 0.7, 0.5), # for image2 histogram +] + +# create a figure using the rects and size +# also give each subplot a name +figure = fpl.Figure( + rects=rects, + names=["astronaut image", "wikkie image", "astronaut histogram", "wikkie histogram"], + size=size +) + +# add image to the corresponding subplots +figure["astronaut image"].add_image(img1) +figure["wikkie image"].add_image(img2) + +# add histogram to the corresponding subplots +figure["astronaut histogram"].add_line(np.column_stack([centers_1, hist_1])) +figure["wikkie histogram"].add_line(np.column_stack([centers_2, hist_2])) + + +for subplot in figure: + if "image" in subplot.name: + # remove axes from image subplots to reduce clutter + subplot.axes.visible = False + continue + + # don't maintain aspect ratio for the histogram subplots + subplot.camera.maintain_aspect = False + + +figure.show() + + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/examples/window_layouts/rect_layout.py b/examples/window_layouts/rect_layout.py new file mode 100644 index 000000000..c9fa23a0e --- /dev/null +++ b/examples/window_layouts/rect_layout.py @@ -0,0 +1,74 @@ +""" +Rect Layout +=========== + +Create subplots using given rects in absolute pixels. +This example plots two images and their histograms in separate subplots + +""" + +# test_example = true +# sphinx_gallery_pygfx_docs = 'screenshot' + +import numpy as np +import imageio.v3 as iio +import fastplotlib as fpl + +# load images +img1 = iio.imread("imageio:astronaut.png") +img2 = iio.imread("imageio:wikkie.png") + +# calculate histograms +hist_1, edges_1 = np.histogram(img1) +centers_1 = edges_1[:-1] + np.diff(edges_1) / 2 + +hist_2, edges_2 = np.histogram(img2) +centers_2 = edges_2[:-1] + np.diff(edges_2) / 2 + +# figure size in pixels +size = (640, 480) + +# a rect is (x, y, width, height) +# here it is defined in absolute pixels +rects = [ + (0, 0, 200, 240), # for image1 + (0, 240, 200, 240), # for image2 + (200, 0, 440, 240), # for image1 histogram + (200, 240, 440, 240), # for image2 histogram +] + +# create a figure using the rects and size +# also give each subplot a name +figure = fpl.Figure( + rects=rects, + names=["astronaut image", "wikkie image", "astronaut histogram", "wikkie histogram"], + size=size +) + +# add image to the corresponding subplots +figure["astronaut image"].add_image(img1) +figure["wikkie image"].add_image(img2) + +# add histogram to the corresponding subplots +figure["astronaut histogram"].add_line(np.column_stack([centers_1, hist_1])) +figure["wikkie histogram"].add_line(np.column_stack([centers_2, hist_2])) + + +for subplot in figure: + if "image" in subplot.name: + # remove axes from image subplots to reduce clutter + subplot.axes.visible = False + continue + + # don't maintain aspect ratio for the histogram subplots + subplot.camera.maintain_aspect = False + + +figure.show() + + +# NOTE: fpl.loop.run() should not be used for interactive sessions +# See the "JupyterLab and IPython" section in the user guide +if __name__ == "__main__": + print(__doc__) + fpl.loop.run() diff --git a/fastplotlib/VERSION b/fastplotlib/VERSION deleted file mode 100644 index 0ea3a944b..000000000 --- a/fastplotlib/VERSION +++ /dev/null @@ -1 +0,0 @@ -0.2.0 diff --git a/fastplotlib/__init__.py b/fastplotlib/__init__.py index 8b46dcc0b..6dab91605 100644 --- a/fastplotlib/__init__.py +++ b/fastplotlib/__init__.py @@ -1,20 +1,32 @@ from pathlib import Path -from .utils.gui import run # noqa +from ._version import __version__, version_info + +# this must be the first import for auto-canvas detection +from .utils import loop # noqa from .graphics import * +from .graphics.features import GraphicFeatureEvent from .graphics.selectors import * +from .graphics.utils import pause_events from .legends import * -from .layouts import Figure +from .tools import * + +from .layouts import IMGUI + +if IMGUI: + # default to imgui figure if imgui_bundle is installed + from .layouts import ImguiFigure as Figure +else: + from .layouts import Figure from .widgets import ImageWidget from .utils import config, enumerate_adapters, select_adapter, print_wgpu_report -with open(Path(__file__).parent.joinpath("VERSION"), "r") as f: - __version__ = f.read().split("\n")[0] - if len(enumerate_adapters()) < 1: - raise IndexError( + from warnings import warn + + warn( f"WGPU could not enumerate any adapters, fastplotlib will not work.\n" f"This is caused by one of the following:\n" f"1. You do not have a hardware GPU installed and you do not have " @@ -25,5 +37,6 @@ f"common in cloud computing environments.\n" f"These two links can help you troubleshoot:\n" f"https://wgpu-py.readthedocs.io/en/stable/start.html#platform-requirements\n" - f"https://fastplotlib.readthedocs.io/en/latest/user_guide/gpu.html\n" + f"https://fastplotlib.readthedocs.io/en/latest/user_guide/gpu.html\n", + RuntimeWarning, ) diff --git a/fastplotlib/_version.py b/fastplotlib/_version.py new file mode 100644 index 000000000..ddeeb3d84 --- /dev/null +++ b/fastplotlib/_version.py @@ -0,0 +1,113 @@ +""" +Versioning: we use a hard-coded version number, because it's simple and always +works. For dev installs we add extra version info from Git. +""" + +import logging +import subprocess +from pathlib import Path + + +# This is the reference version number, to be bumped before each release. +# The build system detects this definition when building a distribution. +__version__ = "0.5.0" + +# Allow using nearly the same code in different projects +project_name = "fastplotlib" + + +logger = logging.getLogger(project_name.lower()) + +# Get whether this is a repo. If so, repo_dir is the path, otherwise repo_dir is None. +repo_dir = Path(__file__).parents[1] +repo_dir = repo_dir if repo_dir.joinpath(".git").is_dir() else None + + +def get_version(): + """Get the version string.""" + if repo_dir: + return get_extended_version() + else: + return __version__ + + +def get_extended_version(): + """Get an extended version string with information from git.""" + + release, post, labels = get_version_info_from_git() + + # Sample first 3 parts of __version__ + base_release = ".".join(__version__.split(".")[:3]) + + # Check release + if not release: + release = base_release + elif release != base_release: + logger.warning( + f"{project_name} version from git ({release}) and __version__ ({base_release}) don't match." + ) + + # Build the total version + version = release + if post and post != "0": + version += f".post{post}" + if labels: + version += "+" + ".".join(labels) + + return version + + +def get_version_info_from_git(): + """Get (release, post, labels) from Git. + + With `release` the version number from the latest tag, `post` the + number of commits since that tag, and `labels` a tuple with the + git-hash and optionally a dirty flag. + """ + + # Call out to Git + command = [ + "git", + "describe", + "--long", + "--always", + "--tags", + "--dirty", + "--first-parent", + ] + try: + p = subprocess.run(command, cwd=repo_dir, capture_output=True) + except Exception as e: + logger.warning(f"Could not get {project_name} version: {e}") + p = None + + # Parse the result into parts + if p is None: + parts = (None, None, "unknown") + else: + output = p.stdout.decode(errors="ignore") + if p.returncode: + stderr = p.stderr.decode(errors="ignore") + logger.warning( + f"Could not get {project_name} version.\n\nstdout: " + + output + + "\n\nstderr: " + + stderr + ) + parts = (None, None, "unknown") + else: + parts = output.strip().lstrip("v").split("-") + if len(parts) <= 2: + # No tags (and thus also no post). Only git hash and maybe 'dirty' + parts = (None, None, *parts) + + # Return unpacked parts + release, post, *labels = parts + return release, post, labels + + +__version__ = get_version() + +version_info = tuple( + int(i) if i.isnumeric() else i for i in __version__.split("+")[0].split(".") +) diff --git a/fastplotlib/graphics/__init__.py b/fastplotlib/graphics/__init__.py index ff96baa4c..b458a8c48 100644 --- a/fastplotlib/graphics/__init__.py +++ b/fastplotlib/graphics/__init__.py @@ -1,3 +1,4 @@ +from ._base import Graphic from .line import LineGraphic from .scatter import ScatterGraphic from .image import ImageGraphic @@ -6,9 +7,10 @@ __all__ = [ + "Graphic", "LineGraphic", - "ImageGraphic", "ScatterGraphic", + "ImageGraphic", "TextGraphic", "LineCollection", "LineStack", diff --git a/fastplotlib/graphics/_axes.py b/fastplotlib/graphics/_axes.py new file mode 100644 index 000000000..10774fc2a --- /dev/null +++ b/fastplotlib/graphics/_axes.py @@ -0,0 +1,554 @@ +import numpy as np + +import pygfx +from pylinalg import quat_from_vecs, vec_transform_quat + + +GRID_PLANES = ["xy", "xz", "yz"] + +CANONICAL_BAIS = np.array([[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]]) + + +# very thin subclass that just adds GridMaterial properties to this world object for easier user control +class Grid(pygfx.Grid): + @property + def major_step(self) -> tuple[float, float]: + """The step distance between the major grid lines.""" + return self.material.major_step + + @major_step.setter + def major_step(self, step: tuple[float, float]): + self.material.major_step = step + + @property + def minor_step(self) -> tuple[float, float]: + """The step distance between the minor grid lines.""" + return self.material.minor_step + + @minor_step.setter + def minor_step(self, step: tuple[float, float]): + self.material.minor_step = step + + @property + def axis_thickness(self) -> float: + """The thickness of the axis lines.""" + return self.material.axis_thickness + + @axis_thickness.setter + def axis_thickness(self, thickness: float): + self.material.axis_thickness = thickness + + @property + def major_thickness(self) -> float: + """The thickness of the major grid lines.""" + return self.material.major_thickness + + @major_thickness.setter + def major_thickness(self, thickness: float): + self.material.major_thickness = thickness + + @property + def minor_thickness(self) -> float: + """The thickness of the minor grid lines.""" + return self.material.minor_thickness + + @minor_thickness.setter + def minor_thickness(self, thickness: float): + self.material.minor_thickness = thickness + + @property + def thickness_space(self) -> str: + """The coordinate space in which the thicknesses are expressed. + + See :obj:`pygfx.utils.enums.CoordSpace`: + """ + return self.material.thickness_space + + @thickness_space.setter + def thickness_space(self, value: str): + self.material.thickness_space = value + + @property + def axis_color(self) -> str: + """The color of the axis lines.""" + return self.material.axis_color + + @axis_color.setter + def axis_color(self, color: str): + self.material.axis_color = color + + @property + def major_color(self) -> str: + """The color of the major grid lines.""" + return self.material.major_color + + @major_color.setter + def major_color(self, color: str): + self.material.major_color = color + + @property + def minor_color(self) -> str: + """The color of the minor grid lines.""" + return self.material.minor_color + + @minor_color.setter + def minor_color(self, color: str): + self.material.minor_color = color + + @property + def infinite(self) -> bool: + """Whether the grid is infinite. + + If not infinite, the grid is 1x1 in world space, scaled, rotated, and + positioned with the object's transform. + + (Infinite grids are not actually infinite. Rather they move along with + the camera, and are sized based on the distance between the camera and + the grid.) + """ + return self.material.infinite + + @infinite.setter + def infinite(self, value: str): + self.material.infinite = value + + +class Grids(pygfx.Group): + """Just a class to make accessing the grids easier""" + + def __init__(self, *, xy, xz, yz): + super().__init__() + + self._xy = xy + self._xz = xz + self._yz = yz + + self.add(xy, xz, yz) + + @property + def xy(self) -> Grid: + """xy grid""" + return self._xy + + @property + def xz(self) -> Grid: + """xz grid""" + return self._xz + + @property + def yz(self) -> Grid: + """yz grid""" + return self._yz + + +class Axes: + def __init__( + self, + plot_area, + intersection: tuple[int, int, int] | None = None, + x_kwargs: dict = None, + y_kwargs: dict = None, + z_kwargs: dict = None, + grids: bool = True, + grid_kwargs: dict = None, + auto_grid: bool = True, + offset: np.ndarray = np.array([0.0, 0.0, 0.0]), + basis: np.ndarray = np.array( + [[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]] + ), + ): + self._plot_area = plot_area + + if x_kwargs is None: + x_kwargs = dict() + + if y_kwargs is None: + y_kwargs = dict() + + if z_kwargs is None: + z_kwargs = dict() + + x_kwargs = { + "tick_side": "right", + **x_kwargs, + } + + y_kwargs = {"tick_side": "left", **y_kwargs} + + z_kwargs = { + "tick_side": "left", + **z_kwargs, + } + + # create ruler for each dim + self._x = pygfx.Ruler(**x_kwargs) + self._y = pygfx.Ruler(**y_kwargs) + self._z = pygfx.Ruler(**z_kwargs) + + self._offset = offset + + # *MUST* instantiate some start and end positions for the rulers else kernel crashes immediately + # probably a WGPU rust panic + self.x.start_pos = 0, 0, 0 + self.x.end_pos = 100, 0, 0 + self.x.start_value = self.x.start_pos[0] - offset[0] + statsx = self.x.update( + self._plot_area.camera, self._plot_area.viewport.logical_size + ) + + self.y.start_pos = 0, 0, 0 + self.y.end_pos = 0, 100, 0 + self.y.start_value = self.y.start_pos[1] - offset[1] + statsy = self.y.update( + self._plot_area.camera, self._plot_area.viewport.logical_size + ) + + self.z.start_pos = 0, 0, 0 + self.z.end_pos = 0, 0, 100 + self.z.start_value = self.z.start_pos[1] - offset[2] + self.z.update(self._plot_area.camera, self._plot_area.viewport.logical_size) + + # world object for the rulers + grids + self._world_object = pygfx.Group() + + # add rulers + self.world_object.add( + self.x, + self.y, + self.z, + ) + + # set z ruler invisible for orthographic projections for now + if self._plot_area.camera.fov == 0: + # TODO: allow any orientation in the future even for orthographic projections + self.z.visible = False + + if grid_kwargs is None: + grid_kwargs = dict() + + grid_kwargs = { + "major_step": 10, + "minor_step": 1, + "thickness_space": "screen", + "major_thickness": 2, + "minor_thickness": 0.5, + "infinite": True, + **grid_kwargs, + } + + if grids: + _grids = dict() + for plane in GRID_PLANES: + grid = Grid( + geometry=None, + material=pygfx.GridMaterial(**grid_kwargs), + orientation=plane, + visible=False, + ) + + _grids[plane] = grid + + self._grids = Grids(**_grids) + self.world_object.add(self._grids) + + if self._plot_area.camera.fov == 0: + # orthographic projection, place grids far away + self._grids.local.z = -1000 + + major_step_x, major_step_y = statsx["tick_step"], statsy["tick_step"] + + self.grids.xy.material.major_step = major_step_x, major_step_y + self.grids.xy.material.minor_step = 0.2 * major_step_x, 0.2 * major_step_y + + else: + self._grids = False + + self._intersection = intersection + self._auto_grid = auto_grid + + self._basis = None + self.basis = basis + + @property + def world_object(self) -> pygfx.WorldObject: + return self._world_object + + @property + def basis(self) -> np.ndarray: + """get or set the basis, shape is [3, 3]""" + return self._basis + + @basis.setter + def basis(self, basis: np.ndarray): + if basis.shape != (3, 3): + raise ValueError + + # apply quaternion to each of x, y, z rulers + for dim, cbasis, new_basis in zip(["x", "y", "z"], CANONICAL_BAIS, basis): + ruler: pygfx.Ruler = getattr(self, dim) + ruler.local.rotation = quat_from_vecs(cbasis, new_basis) + + @property + def offset(self) -> np.ndarray: + """offset of the axes""" + return self._offset + + @offset.setter + def offset(self, value: np.ndarray): + self._offset = value + + @property + def x(self) -> pygfx.Ruler: + """x axis ruler""" + return self._x + + @property + def y(self) -> pygfx.Ruler: + """y axis ruler""" + return self._y + + @property + def z(self) -> pygfx.Ruler: + """z axis ruler""" + return self._z + + @property + def grids(self) -> Grids | bool: + """grids for each plane: xy, xz, yz""" + return self._grids + + @property + def colors(self) -> tuple[pygfx.Color]: + return tuple(getattr(self, dim).line.material.color for dim in ["x", "y", "z"]) + + @colors.setter + def colors(self, colors: tuple[pygfx.Color | str]): + """get or set the colors for the x, y, and z rulers""" + if len(colors) != 3: + raise ValueError + + for dim, color in zip(["x", "y", "z"], colors): + getattr(self, dim).line.material.color = color + + @property + def auto_grid(self) -> bool: + """auto adjust the grid on each render cycle""" + return self._auto_grid + + @auto_grid.setter + def auto_grid(self, value: bool): + self._auto_grid = value + + @property + def visible(self) -> bool: + """set visibility of all axes elements, rulers and grids""" + return self._world_object.visible + + @visible.setter + def visible(self, value: bool): + self._world_object.visible = value + + @property + def intersection(self) -> tuple[float, float, float] | None: + return self._intersection + + @intersection.setter + def intersection(self, intersection: tuple[float, float, float] | None): + """ + intersection point of [x, y, z] rulers. + Set (0, 0, 0) for origin + Set to `None` to follow when panning through the scene with orthographic projection + """ + if intersection is None: + self._intersection = None + return + + if len(intersection) != 3: + raise ValueError( + "intersection must be a float of 3 elements for [x, y, z] or `None`" + ) + + self._intersection = tuple(float(v) for v in intersection) + + def update_using_bbox(self, bbox): + """ + Update the w.r.t. the given bbox + + Parameters + ---------- + bbox: np.ndarray + array of shape [2, 3], [[xmin, ymin, zmin], [xmax, ymax, zmax]] + + """ + + # flip axes if camera scale is flipped + if self._plot_area.camera.local.scale_x < 0: + bbox[0, 0], bbox[1, 0] = bbox[1, 0], bbox[0, 0] + + if self._plot_area.camera.local.scale_y < 0: + bbox[0, 1], bbox[1, 1] = bbox[1, 1], bbox[0, 1] + + if self._plot_area.camera.local.scale_z < 0: + bbox[0, 2], bbox[1, 2] = bbox[1, 2], bbox[0, 2] + + if self.intersection is None: + intersection = (0, 0, 0) + else: + intersection = self.intersection + + self.update(bbox, intersection) + + def update_using_camera(self): + """ + Update the axes w.r.t the current camera state + + For orthographic projections of the xy plane, it will calculate the inverse projection + of the screen space onto world space to determine the current range of the world space + to set the rulers and ticks + + For perspective projections it will just use the bbox of the scene to set the rulers + + """ + + if not self.visible: + return + + if self._plot_area.camera.fov == 0: + xpos, ypos, width, height = self._plot_area.viewport.rect + # orthographic projection, get ranges using inverse + + # get range of screen space by getting the corners + xmin, xmax = xpos, xpos + width + ymin, ymax = ypos + height, ypos + + # apply quaternion to account for rotation of axes + # xmin, _, _ = vec_transform_quat( + # [xmin, ypos + height / 2, 0], + # self.x.local.rotation + # ) + # + # xmax, _, _ = vec_transform_quat( + # [xmax, ypos + height / 2, 0], + # self.x.local.rotation, + # ) + # + # _, ymin, _ = vec_transform_quat( + # [xpos + width / 2, ymin, 0], + # self.y.local.rotation + # ) + # + # _, ymax, _ = vec_transform_quat( + # [xpos + width / 2, ymax, 0], + # self.y.local.rotation + # ) + + min_vals = self._plot_area.map_screen_to_world((xmin, ymin)) + max_vals = self._plot_area.map_screen_to_world((xmax, ymax)) + + if min_vals is None or max_vals is None: + return + + world_xmin, world_ymin, _ = min_vals + world_xmax, world_ymax, _ = max_vals + + world_zmin, world_zmax = 0, 0 + + bbox = np.array( + [ + [world_xmin, world_ymin, world_zmin], + [world_xmax, world_ymax, world_zmax], + ] + ) + + else: + # set ruler start and end positions based on scene bbox + bbox = self._plot_area._fpl_graphics_scene.get_world_bounding_box() + + if self.intersection is None: + if self._plot_area.camera.fov == 0: + # place the ruler close to the left and bottom edges of the viewport + # TODO: determine this for perspective projections + xscreen_10, yscreen_10 = xpos + (width * 0.1), ypos + (height * 0.9) + intersection = self._plot_area.map_screen_to_world( + (xscreen_10, yscreen_10) + ) + else: + # force origin since None is not supported for Persepctive projections + self._intersection = (0, 0, 0) + intersection = self._intersection + + else: + # axes intersect at the origin + intersection = self.intersection + + self.update(bbox, intersection) + + def update(self, bbox, intersection): + """ + Update the axes using the given bbox and ruler intersection point + + Parameters + ---------- + bbox: np.ndarray + array of shape [2, 3], [[xmin, ymin, zmin], [xmax, ymax, zmax]] + + intersection: float, float, float + intersection point of the x, y, z ruler + + """ + + world_xmin, world_ymin, world_zmin = bbox[0] + world_xmax, world_ymax, world_zmax = bbox[1] + world_x_10, world_y_10, world_z_10 = intersection + + # swap min and max for each dimension if necessary + if self._plot_area.camera.local.scale_y < 0: + world_ymin, world_ymax = world_ymax, world_ymin + self.y.tick_side = "right" # swap tick side + self.x.tick_side = "right" + else: + self.y.tick_side = "left" + self.x.tick_side = "right" + + if self._plot_area.camera.local.scale_x < 0: + world_xmin, world_xmax = world_xmax, world_xmin + self.x.tick_side = "left" + + self.x.start_pos = world_xmin, world_y_10, world_z_10 + self.x.end_pos = world_xmax, world_y_10, world_z_10 + + self.x.start_value = self.x.start_pos[0] - self.offset[0] + statsx = self.x.update( + self._plot_area.camera, self._plot_area.viewport.logical_size + ) + + self.y.start_pos = world_x_10, world_ymin, world_z_10 + self.y.end_pos = world_x_10, world_ymax, world_z_10 + + self.y.start_value = self.y.start_pos[1] - self.offset[1] + statsy = self.y.update( + self._plot_area.camera, self._plot_area.viewport.logical_size + ) + + if self._plot_area.camera.fov != 0: + self.z.start_pos = world_x_10, world_y_10, world_zmin + self.z.end_pos = world_x_10, world_y_10, world_zmax + + self.z.start_value = self.z.start_pos[2] - self.offset[2] + statsz = self.z.update( + self._plot_area.camera, self._plot_area.viewport.logical_size + ) + major_step_z = statsz["tick_step"] + + if self.grids: + if self.auto_grid: + major_step_x, major_step_y = statsx["tick_step"], statsy["tick_step"] + self.grids.xy.major_step = major_step_x, major_step_y + self.grids.xy.minor_step = 0.2 * major_step_x, 0.2 * major_step_y + + if self._plot_area.camera.fov != 0: + self.grids.xz.major_step = major_step_x, major_step_z + self.grids.xz.minor_step = 0.2 * major_step_x, 0.2 * major_step_z + + self.grids.yz.material.major_step = major_step_y, major_step_z + self.grids.yz.minor_step = 0.2 * major_step_y, 0.2 * major_step_z diff --git a/fastplotlib/graphics/_base.py b/fastplotlib/graphics/_base.py index cab941894..bc3486696 100644 --- a/fastplotlib/graphics/_base.py +++ b/fastplotlib/graphics/_base.py @@ -7,9 +7,16 @@ import pylinalg as la from wgpu.gui.base import log_exception +try: + from imgui_bundle import imgui +except ImportError: + IMGUI = False +else: + IMGUI = True + import pygfx -from ._features import ( +from .features import ( BufferManager, Deleted, Name, @@ -17,6 +24,7 @@ Rotation, Visible, ) +from ._axes import Axes HexStr: TypeAlias = str @@ -42,7 +50,7 @@ class Graphic: - _features = {} + _features: dict[str, type] = dict() def __init_subclass__(cls, **kwargs): # set the type of the graphic in lower case like "image", "line_collection", etc. @@ -55,12 +63,12 @@ def __init_subclass__(cls, **kwargs): # set of all features cls._features = { - *cls._features, - "name", - "offset", - "rotation", - "visible", - "deleted", + **cls._features, + "name": Name, + "offset": Offset, + "rotation": Rotation, + "visible": Visible, + "deleted": Deleted, } super().__init_subclass__(**kwargs) @@ -114,10 +122,14 @@ def __init__( self._visible = Visible(visible) self._block_events = False + self._axes: Axes = None + + self._right_click_menu = None + @property def supported_events(self) -> tuple[str]: """events supported by this graphic""" - return (*tuple(self._features), *PYGFX_EVENTS) + return (*tuple(self._features.keys()), *PYGFX_EVENTS) @property def name(self) -> str | None: @@ -177,7 +189,7 @@ def block_events(self, value: bool): def world_object(self) -> pygfx.WorldObject: """Associated pygfx WorldObject. Always returns a proxy, real object cannot be accessed directly.""" # We use weakref to simplify garbage collection - return weakref.proxy(WORLD_OBJECTS[self._fpl_address]) + return weakref.proxy(WORLD_OBJECTS[hex(id(self))]) def _set_world_object(self, wo: pygfx.WorldObject): WORLD_OBJECTS[self._fpl_address] = wo @@ -192,12 +204,6 @@ def _set_world_object(self, wo: pygfx.WorldObject): if not all(self.world_object.world.rotation == self.rotation): self.rotation = self.rotation - def unshare_property(self, feature: str): - raise NotImplementedError - - def share_property(self, feature: BufferManager): - raise NotImplementedError - @property def event_handlers(self) -> list[tuple[str, callable, ...]]: """ @@ -208,22 +214,18 @@ def event_handlers(self) -> list[tuple[str, callable, ...]]: def add_event_handler(self, *args): """ - Register an event handler. + Register an event handler. Can also be used as a decorator. Parameters ---------- callback: callable, the first argument Event handler, must accept a single event argument - *types: list of strings - A list of event types, ex: "click", "data", "colors", "pointer_down" - - For the available renderer event types, see - https://jupyter-rfb.readthedocs.io/en/stable/events.html - All feature support events, i.e. ``graphic.features`` will give a set of - all features that are evented + *types: strings + event types, ex: "click", "data", "colors", "pointer_down" - Can also be used as a decorator. + ``supported_events`` will return a tuple of all event type strings that this graphic supports. + See the user guide in the documentation for more information on events. Example ------- @@ -265,7 +267,7 @@ def decorator(_callback): # add to our record self._event_handlers[t].add(_callback) - if t in self._features: + if t in self._features.keys(): # fpl feature event feature = getattr(self, f"_{t}") feature.add_event_handler(_callback_wrapper) @@ -300,21 +302,38 @@ def _handle_event(self, callback, event: pygfx.Event): # for feature events event._target = self.world_object - if isinstance(event, pygfx.PointerEvent): - # map from screen to world space and data space - world_xy = self._plot_area.map_screen_to_world(event) - - # subtract offset to map to data - data_xy = world_xy - self.offset - - # append attributes - event.x_world, event.y_world = world_xy[:2] - event.x_data, event.y_data = data_xy[:2] - with log_exception(f"Error during handling {event.type} event"): callback(event) def remove_event_handler(self, callback, *types): + """ + remove a registered event handler + + Parameters + ---------- + callback: callable + event handler that has been added + + *types: strings + event types that were registered with the given callback + + Example + ------- + + .. code-block:: py + + # define event handler + def my_handler(event): + print(event) + + # add event handler + graphic.add_event_handler(my_handler, "pointer_up", "pointer_down") + + # remove event handler + graphic.remove_event_handler(my_handler, "pointer_up", "pointer_down") + + """ + # remove from our record first for t in types: for wrapper_map in self._event_handler_wrappers[t]: @@ -331,8 +350,6 @@ def remove_event_handler(self, callback, *types): self._event_handlers[t].remove(callback) # remove callback wrapper from world object if pygfx event if t in PYGFX_EVENTS: - print("pygfx event") - print(wrapper) self.world_object.remove_event_handler(wrapper, t) else: feature = getattr(self, f"_{t}") @@ -342,30 +359,29 @@ def _fpl_add_plot_area_hook(self, plot_area): self._plot_area = plot_area def __repr__(self): - rval = f"{self.__class__.__name__} @ {hex(id(self))}" + rval = f"{self.__class__.__name__}" if self.name is not None: return f"'{self.name}': {rval}" else: return rval - def __eq__(self, other): - # This is necessary because we use Graphics as weakref proxies - if not isinstance(other, Graphic): - raise TypeError("`==` operator is only valid between two Graphics") - - if self._fpl_address == other._fpl_address: - return True - - return False - - def _fpl_cleanup(self): + def _fpl_prepare_del(self): """ Cleans up the graphic in preparation for __del__(), such as removing event handlers from plot renderer, feature event handlers, etc. Optionally implemented in subclasses """ - # remove event handlers + # remove axes if added to this graphic + if self._axes is not None: + self._plot_area.scene.remove(self._axes) + self._plot_area.remove_animation(self._update_axes) + self._axes.world_object.clear() + + # signal that a deletion has been requested + self.deleted = True + + # clear event handlers self.clear_event_handlers() # clear any attached event handlers and animation functions @@ -394,13 +410,10 @@ def _fpl_cleanup(self): self.world_object._event_handlers.clear() - for n in self._features: - fea = getattr(self, f"_{n}") - fea.clear_event_handlers() - def __del__(self): - self.deleted = True - del WORLD_OBJECTS[self._fpl_address] + # remove world object if created + # world object does not exist if an exception was raised during __init__ which is why this check exists + WORLD_OBJECTS.pop(hex(id(self)), None) def rotate(self, alpha: float, axis: Literal["x", "y", "z"] = "y"): """Rotate the Graphic with respect to the world. @@ -423,3 +436,39 @@ def rotate(self, alpha: float, axis: Literal["x", "y", "z"] = "y"): f"`axis` must be either `x`, `y`, or `z`. `{axis}` provided instead!" ) self.rotation = la.quat_mul(rot, self.rotation) + + @property + def axes(self) -> Axes: + return self._axes + + def add_axes(self): + """Add axes onto this Graphic""" + if self._axes is not None: + raise AttributeError("Axes already added onto this graphic") + + self._axes = Axes(self._plot_area, offset=self.offset, grids=False) + self._axes.world_object.local.rotation = self.world_object.local.rotation + + self._plot_area.scene.add(self.axes.world_object) + self._axes.update_using_bbox(self.world_object.get_world_bounding_box()) + + @property + def right_click_menu(self): + return self._right_click_menu + + @right_click_menu.setter + def right_click_menu(self, menu): + if not IMGUI: + raise ImportError( + "imgui is required to set right-click menus:\n" + "pip install imgui_bundle" + ) + + self._right_click_menu = menu + menu.owner = self + + def _fpl_request_right_click_menu(self): + pass + + def _fpl_close_right_click_menu(self): + pass diff --git a/fastplotlib/graphics/_collection_base.py b/fastplotlib/graphics/_collection_base.py index 2805c684d..36f83ec7a 100644 --- a/fastplotlib/graphics/_collection_base.py +++ b/fastplotlib/graphics/_collection_base.py @@ -1,12 +1,9 @@ +from contextlib import suppress from typing import Any -import weakref import numpy as np -from ._base import HexStr, Graphic - -# Dict that holds all collection graphics in one python instance -COLLECTION_GRAPHICS: dict[HexStr, Graphic] = dict() +from ._base import Graphic class CollectionProperties: @@ -193,25 +190,17 @@ def __init__(self, name: str = None, metadata: Any = None, **kwargs): super().__init__(name=name, metadata=metadata, **kwargs) # list of mem locations of the graphics - self._graphics: list[str] = list() + self._graphics: list[Graphic] = list() self._graphics_changed: bool = True - self._graphics_array: np.ndarray[Graphic] = None self._iter = None @property def graphics(self) -> np.ndarray[Graphic]: - """The Graphics within this collection. Always returns a proxy to the Graphics.""" - if self._graphics_changed: - proxies = [ - weakref.proxy(COLLECTION_GRAPHICS[addr]) for addr in self._graphics - ] - self._graphics_array = np.array(proxies) - self._graphics_array.flags["WRITEABLE"] = False - self._graphics_changed = False + """The Graphics within this collection.""" - return self._graphics_array + return np.asarray(self._graphics) def add_graphic(self, graphic: Graphic): """ @@ -231,10 +220,7 @@ def add_graphic(self, graphic: Graphic): f"you are trying to add a {graphic.__class__.__name__}." ) - addr = graphic._fpl_address - COLLECTION_GRAPHICS[addr] = graphic - - self._graphics.append(addr) + self._graphics.append(graphic) self.world_object.add(graphic.world_object) @@ -254,7 +240,7 @@ def remove_graphic(self, graphic: Graphic): """ - self._graphics.remove(graphic._fpl_address) + self._graphics.remove(graphic) self.world_object.remove(graphic.world_object) @@ -313,7 +299,7 @@ def _fpl_add_plot_area_hook(self, plot_area): for g in self: g._fpl_add_plot_area_hook(plot_area) - def _fpl_cleanup(self): + def _fpl_prepare_del(self): """ Cleans up the graphic in preparation for __del__(), such as removing event handlers from plot renderer, feature event handlers, etc. @@ -324,20 +310,21 @@ def _fpl_cleanup(self): self.world_object._event_handlers.clear() for g in self: - g._fpl_cleanup() + g._fpl_prepare_del() def __getitem__(self, key) -> CollectionIndexer: if np.issubdtype(type(key), np.integer): - addr = self._graphics[key] - return weakref.proxy(COLLECTION_GRAPHICS[addr]) + return self.graphics[key] return self._indexer(selection=self.graphics[key], features=self._features) def __del__(self): + # detach children self.world_object.clear() - for addr in self._graphics: - del COLLECTION_GRAPHICS[addr] + for g in self.graphics: + g._fpl_prepare_del() + del g super().__del__() @@ -350,9 +337,8 @@ def __iter__(self): def __next__(self) -> Graphic: index = next(self._iter) - addr = self._graphics[index] - return weakref.proxy(COLLECTION_GRAPHICS[addr]) + return self._graphics[index] def __repr__(self): rval = super().__repr__() diff --git a/fastplotlib/graphics/_features/_selection_features.py b/fastplotlib/graphics/_features/_selection_features.py deleted file mode 100644 index 71ba53425..000000000 --- a/fastplotlib/graphics/_features/_selection_features.py +++ /dev/null @@ -1,192 +0,0 @@ -from typing import Sequence - -import numpy as np - -from ...utils import mesh_masks -from ._base import GraphicFeature, FeatureEvent - - -class LinearSelectionFeature(GraphicFeature): - """ - **additional event attributes:** - - +--------------------+----------+------------------------------------+ - | attribute | type | description | - +====================+==========+====================================+ - | get_selected_index | callable | returns indices under the selector | - +--------------------+----------+------------------------------------+ - - **info dict:** - - +----------+------------+-------------------------------+ - | dict key | value type | value description | - +==========+============+===============================+ - | value | np.ndarray | new x or y value of selection | - +----------+------------+-------------------------------+ - - """ - - def __init__(self, axis: str, value: float, limits: tuple[float, float]): - """ - - Parameters - ---------- - axis: "x" | "y" - axis the selector is restricted to - - value: float - position of the slider in world space, NOT data space - limits: (float, float) - min, max limits of the selector - - """ - - super().__init__() - - self._axis = axis - self._limits = limits - self._value = value - - @property - def value(self) -> float: - """ - selection, data x or y value - """ - return self._value - - def set_value(self, selector, value: float): - # clip value between limits - value = np.clip(value, self._limits[0], self._limits[1]) - - # set position - if self._axis == "x": - dim = 0 - elif self._axis == "y": - dim = 1 - - for edge in selector._edges: - edge.geometry.positions.data[:, dim] = value - edge.geometry.positions.update_range() - - self._value = value - - event = FeatureEvent("selection", {"value": value}) - event.get_selected_index = selector.get_selected_index - - self._call_event_handlers(event) - - -class LinearRegionSelectionFeature(GraphicFeature): - """ - **additional event attributes:** - - +----------------------+----------+------------------------------------+ - | attribute | type | description | - +======================+==========+====================================+ - | get_selected_indices | callable | returns indices under the selector | - +----------------------+----------+------------------------------------+ - | get_selected_data | callable | returns data under the selector | - +----------------------+----------+------------------------------------+ - - **info dict:** - - +----------+------------+-----------------------------+ - | dict key | value type | value description | - +==========+============+=============================+ - | value | np.ndarray | new [min, max] of selection | - +----------+------------+-----------------------------+ - - """ - - def __init__(self, value: tuple[int, int], axis: str, limits: tuple[float, float]): - super().__init__() - - self._axis = axis - self._limits = limits - self._value = tuple(int(v) for v in value) - - @property - def value(self) -> np.ndarray[float]: - """ - (min, max) of the selection, in data space - """ - return self._value - - @property - def axis(self) -> str: - """one of "x" | "y" """ - return self._axis - - def set_value(self, selector, value: Sequence[float]): - """ - Set start, stop range of selector - - Parameters - ---------- - selector: LinearRegionSelector - - value: (float, float) - (min, max) values in data space - - """ - if not len(value) == 2: - raise TypeError( - "selection must be a array, tuple, list, or sequence in the form of `(min, max)`, " - "where `min` and `max` are numeric values." - ) - - # convert to array, clip values if they are beyond the limits - value = np.asarray(value, dtype=np.float32).clip(*self._limits) - - # make sure `selector width >= 2`, left edge must not move past right edge! - # or bottom edge must not move past top edge! - if not (value[1] - value[0]) >= 0: - return - - if self.axis == "x": - # change left x position of the fill mesh - selector.fill.geometry.positions.data[mesh_masks.x_left] = value[0] - - # change right x position of the fill mesh - selector.fill.geometry.positions.data[mesh_masks.x_right] = value[1] - - # change x position of the left edge line - selector.edges[0].geometry.positions.data[:, 0] = value[0] - - # change x position of the right edge line - selector.edges[1].geometry.positions.data[:, 0] = value[1] - - elif self.axis == "y": - # change bottom y position of the fill mesh - selector.fill.geometry.positions.data[mesh_masks.y_bottom] = value[0] - - # change top position of the fill mesh - selector.fill.geometry.positions.data[mesh_masks.y_top] = value[1] - - # change y position of the bottom edge line - selector.edges[0].geometry.positions.data[:, 1] = value[0] - - # change y position of the top edge line - selector.edges[1].geometry.positions.data[:, 1] = value[1] - - self._value = value - - # send changes to GPU - selector.fill.geometry.positions.update_range() - - selector.edges[0].geometry.positions.update_range() - selector.edges[1].geometry.positions.update_range() - - # send event - if len(self._event_handlers) < 1: - return - - event = FeatureEvent("selection", {"value": self.value}) - - event.get_selected_indices = selector.get_selected_indices - event.get_selected_data = selector.get_selected_data - - self._call_event_handlers(event) - # TODO: user's selector event handlers can call event.graphic.get_selected_indices() to get the data index, - # and event.graphic.get_selected_data() to get the data under the selection - # this is probably a good idea so that the data isn't sliced until it's actually necessary diff --git a/fastplotlib/graphics/_positions_base.py b/fastplotlib/graphics/_positions_base.py index 3727087cc..4a4f5a797 100644 --- a/fastplotlib/graphics/_positions_base.py +++ b/fastplotlib/graphics/_positions_base.py @@ -4,12 +4,13 @@ import pygfx from ._base import Graphic -from ._features import ( +from .features import ( VertexPositions, VertexColors, UniformColor, VertexCmap, PointsSizesFeature, + SizeSpace, ) @@ -18,7 +19,7 @@ class PositionsGraphic(Graphic): @property def data(self) -> VertexPositions: - """Get or set the vertex positions data""" + """Get or set the graphic's data""" return self._data @data.setter @@ -27,7 +28,7 @@ def data(self, value): @property def colors(self) -> VertexColors | pygfx.Color: - """Get or set the colors data""" + """Get or set the colors""" if isinstance(self._colors, VertexColors): return self._colors @@ -44,7 +45,11 @@ def colors(self, value: str | np.ndarray | tuple[float] | list[float] | list[str @property def cmap(self) -> VertexCmap: - """Control the cmap, cmap transform, or cmap alpha""" + """ + Control the cmap, cmap transform, or cmap alpha + + For supported colormaps see the ``cmap`` library catalogue: https://cmap-docs.readthedocs.io/en/stable/catalog/ + """ return self._cmap @cmap.setter @@ -54,6 +59,19 @@ def cmap(self, name: str): self._cmap[:] = name + @property + def size_space(self): + """ + The coordinate space in which the size is expressed ('screen', 'world', 'model') + + See https://docs.pygfx.org/stable/_autosummary/utils/utils/enums/pygfx.utils.enums.CoordSpace.html#pygfx.utils.enums.CoordSpace for available options. + """ + return self._size_space.value + + @size_space.setter + def size_space(self, value: str): + self._size_space.set_value(self, value) + def __init__( self, data: Any, @@ -63,6 +81,7 @@ def __init__( cmap: str | VertexCmap = None, cmap_transform: np.ndarray = None, isolated_buffer: bool = True, + size_space: str = "screen", *args, **kwargs, ): @@ -132,54 +151,5 @@ def __init__( self._colors, cmap_name=None, transform=None, alpha=alpha ) + self._size_space = SizeSpace(size_space) super().__init__(*args, **kwargs) - - def unshare_property(self, property: str): - """unshare a shared property. Experimental and untested!""" - if not isinstance(property, str): - raise TypeError - - f = getattr(self, property) - if f.shared == 0: - raise BufferError("Cannot detach an independent buffer") - - if property == "colors" and isinstance(property, VertexColors): - self._colors._buffer = pygfx.Buffer(self._colors.value.copy()) - self.world_object.geometry.colors = self._colors.buffer - self._colors._shared -= 1 - - elif property == "data": - self._data._buffer = pygfx.Buffer(self._data.value.copy()) - self.world_object.geometry.positions = self._data.buffer - self._data._shared -= 1 - - elif property == "sizes": - self._sizes._buffer = pygfx.Buffer(self._sizes.value.copy()) - self.world_object.geometry.positions = self._sizes.buffer - self._sizes._shared -= 1 - - def share_property( - self, property: VertexPositions | VertexColors | PointsSizesFeature - ): - """share a property from another graphic. Experimental and untested!""" - if isinstance(property, VertexPositions): - # TODO: check if this causes a memory leak - self._data._shared -= 1 - - self._data = property - self._data._shared += 1 - self.world_object.geometry.positions = self._data.buffer - - elif isinstance(property, VertexColors): - self._colors._shared -= 1 - - self._colors = property - self._colors._shared += 1 - self.world_object.geometry.colors = self._colors.buffer - - elif isinstance(property, PointsSizesFeature): - self._sizes._shared -= 1 - - self._sizes = property - self._sizes._shared += 1 - self.world_object.geometry.sizes = self._sizes.buffer diff --git a/fastplotlib/graphics/_features/__init__.py b/fastplotlib/graphics/features/__init__.py similarity index 81% rename from fastplotlib/graphics/_features/__init__.py rename to fastplotlib/graphics/features/__init__.py index e36de089e..18bcf5187 100644 --- a/fastplotlib/graphics/_features/__init__.py +++ b/fastplotlib/graphics/features/__init__.py @@ -2,6 +2,7 @@ VertexColors, UniformColor, UniformSize, + SizeSpace, Thickness, VertexPositions, PointsSizesFeature, @@ -14,12 +15,11 @@ ImageVmax, ImageInterpolation, ImageCmapInterpolation, - WGPU_MAX_TEXTURE_SIZE, ) from ._base import ( GraphicFeature, BufferManager, - FeatureEvent, + GraphicFeatureEvent, to_gpu_supported_dtype, ) @@ -31,7 +31,11 @@ TextOutlineThickness, ) -from ._selection_features import LinearSelectionFeature, LinearRegionSelectionFeature +from ._selection_features import ( + LinearSelectionFeature, + LinearRegionSelectionFeature, + RectangleSelectionFeature, +) from ._common import Name, Offset, Rotation, Visible, Deleted @@ -39,6 +43,7 @@ "VertexColors", "UniformColor", "UniformSize", + "SizeSpace", "Thickness", "VertexPositions", "PointsSizesFeature", @@ -56,9 +61,11 @@ "TextOutlineThickness", "LinearSelectionFeature", "LinearRegionSelectionFeature", + "RectangleSelectionFeature", "Name", "Offset", "Rotation", "Visible", "Deleted", + "GraphicFeatureEvent", ] diff --git a/fastplotlib/graphics/_features/_base.py b/fastplotlib/graphics/features/_base.py similarity index 86% rename from fastplotlib/graphics/_features/_base.py rename to fastplotlib/graphics/features/_base.py index a57f8a453..d32904ae5 100644 --- a/fastplotlib/graphics/_features/_base.py +++ b/fastplotlib/graphics/features/_base.py @@ -1,5 +1,5 @@ from warnings import warn -from typing import Any, Literal +from typing import Literal import numpy as np from numpy.typing import NDArray @@ -9,9 +9,6 @@ import pygfx -WGPU_MAX_TEXTURE_SIZE = 8192 - - def to_gpu_supported_dtype(array): """ convert input array to float32 numpy array @@ -26,7 +23,7 @@ def to_gpu_supported_dtype(array): return np.asarray(array).astype(np.float32) -class FeatureEvent(pygfx.Event): +class GraphicFeatureEvent(pygfx.Event): """ **All event instances have the following attributes** @@ -37,11 +34,11 @@ class FeatureEvent(pygfx.Event): +------------+-------------+-----------------------------------------------+ | graphic | Graphic | graphic instance that the event is from | +------------+-------------+-----------------------------------------------+ - | info | dict | event info dictionary (see below) | + | info | dict | event info dictionary | +------------+-------------+-----------------------------------------------+ | target | WorldObject | pygfx rendering engine object for the graphic | +------------+-------------+-----------------------------------------------+ - | time_stamp | float | time when the event occured, in ms | + | time_stamp | float | time when the event occurred, in ms | +------------+-------------+-----------------------------------------------+ """ @@ -56,8 +53,11 @@ def __init__(self, **kwargs): self._event_handlers = list() self._block_events = False + # used by @block_reentrance decorator to block re-entrance into set_value functions + self._reentrant_block: bool = False + @property - def value(self) -> Any: + def value(self): """Graphic Feature value, must be implemented in subclass""" raise NotImplemented @@ -120,7 +120,7 @@ def clear_event_handlers(self): """Clear all event handlers""" self._event_handlers.clear() - def _call_event_handlers(self, event_data: FeatureEvent): + def _call_event_handlers(self, event_data: GraphicFeatureEvent): if self._block_events: return @@ -310,7 +310,7 @@ def _emit_event(self, type: str, key, value): "key": key, "value": value, } - event = FeatureEvent(type, info=event_info) + event = GraphicFeatureEvent(type, info=event_info) self._call_event_handlers(event) @@ -319,3 +319,33 @@ def __len__(self): def __repr__(self): return f"{self.__class__.__name__} buffer data:\n" f"{self.value.__repr__()}" + + +def block_reentrance(set_value): + # decorator to block re-entrant set_value methods + # useful when creating complex, circular, bidirectional event graphs + def set_value_wrapper(self: GraphicFeature, graphic_or_key, value): + """ + wraps GraphicFeature.set_value + + self: GraphicFeature instance + + graphic_or_key: graphic, or key if a BufferManager + + value: the value passed to set_value() + """ + # set_value is already in the middle of an execution, block re-entrance + if self._reentrant_block: + return + try: + # block re-execution of set_value until it has *fully* finished executing + self._reentrant_block = True + set_value(self, graphic_or_key, value) + except Exception as exc: + # raise original exception + raise exc # set_value has raised. The line above and the lines 2+ steps below are probably more relevant! + finally: + # set_value has finished executing, now allow future executions + self._reentrant_block = False + + return set_value_wrapper diff --git a/fastplotlib/graphics/_features/_common.py b/fastplotlib/graphics/features/_common.py similarity index 51% rename from fastplotlib/graphics/_features/_common.py rename to fastplotlib/graphics/features/_common.py index fe32a485f..71e979f77 100644 --- a/fastplotlib/graphics/_features/_common.py +++ b/fastplotlib/graphics/features/_common.py @@ -1,12 +1,17 @@ import numpy as np -from ._base import GraphicFeature, FeatureEvent +from ._base import GraphicFeature, GraphicFeatureEvent, block_reentrance class Name(GraphicFeature): - """Graphic name""" + property_name = "name" + event_info_spec = [ + {"dict key": "value", "type": "str", "description": "user provided name"}, + ] def __init__(self, value: str): + """Graphic name""" + self._value = value super().__init__() @@ -14,6 +19,7 @@ def __init__(self, value: str): def value(self) -> str: return self._value + @block_reentrance def set_value(self, graphic, value: str): if not isinstance(value, str): raise TypeError("`Graphic` name must be of type ") @@ -23,17 +29,29 @@ def set_value(self, graphic, value: str): self._value = value - event = FeatureEvent(type="name", info={"value": value}) + event = GraphicFeatureEvent(type="name", info={"value": value}) self._call_event_handlers(event) class Offset(GraphicFeature): - """Offset position of the graphic, [x, y, z]""" + property_name = "offset" + event_info_spec = [ + { + "dict key": "value", + "type": "np.ndarray[float, float, float]", + "description": "new offset (x, y, z)", + }, + ] def __init__(self, value: np.ndarray | list | tuple): + """Offset position of the graphic, [x, y, z]""" + self._validate(value) - self._value = np.array(value) - self._value.flags.writeable = False + # initialize zeros array + self._value = np.zeros(3) + + # set values + self._value[:] = value super().__init__() def _validate(self, value): @@ -44,24 +62,41 @@ def _validate(self, value): def value(self) -> np.ndarray: return self._value + @block_reentrance def set_value(self, graphic, value: np.ndarray | list | tuple): self._validate(value) + value = np.asarray(value) graphic.world_object.world.position = value - self._value = graphic.world_object.world.position.copy() - self._value.flags.writeable = False - event = FeatureEvent(type="offset", info={"value": value}) + # sometimes there are transforms so get the final position value like this + value = graphic.world_object.world.position.copy() + + # set value of existing feature value array + self._value[:] = value + + event = GraphicFeatureEvent(type="offset", info={"value": value}) self._call_event_handlers(event) class Rotation(GraphicFeature): - """Graphic rotation quaternion""" + property_name = "offset" + event_info_spec = [ + { + "dict key": "value", + "type": "np.ndarray[float, float, float, float]", + "description": "new rotation quaternion", + }, + ] def __init__(self, value: np.ndarray | list | tuple): + """Graphic rotation quaternion""" + self._validate(value) - self._value = np.array(value) - self._value.flags.writeable = False + # create zeros array + self._value = np.zeros(4) + + self._value[:] = value super().__init__() def _validate(self, value): @@ -74,20 +109,32 @@ def _validate(self, value): def value(self) -> np.ndarray: return self._value + @block_reentrance def set_value(self, graphic, value: np.ndarray | list | tuple): self._validate(value) + value = np.asarray(value) graphic.world_object.world.rotation = value - self._value = graphic.world_object.world.rotation.copy() - self._value.flags.writeable = False - event = FeatureEvent(type="rotation", info={"value": value}) + # get the actual final quaternion value, pygfx adjusts to make sure || q ||_2 == 1 + # i.e. pygfx checks to make sure norm 1 and other transforms + value = graphic.world_object.world.rotation.copy() + + # set value of existing feature value array + self._value[:] = value + + event = GraphicFeatureEvent(type="rotation", info={"value": value}) self._call_event_handlers(event) class Visible(GraphicFeature): """Access or change the visibility.""" + property_name = "offset" + event_info_spec = [ + {"dict key": "value", "type": "bool", "description": "new visibility bool"}, + ] + def __init__(self, value: bool): self._value = value super().__init__() @@ -96,11 +143,12 @@ def __init__(self, value: bool): def value(self) -> bool: return self._value + @block_reentrance def set_value(self, graphic, value: bool): graphic.world_object.visible = value self._value = value - event = FeatureEvent(type="visible", info={"value": value}) + event = GraphicFeatureEvent(type="visible", info={"value": value}) self._call_event_handlers(event) @@ -109,6 +157,15 @@ class Deleted(GraphicFeature): Used when a graphic is deleted, triggers events that can be useful to indicate this graphic has been deleted """ + property_name = "deleted" + event_info_spec = [ + { + "dict key": "value", + "type": "bool", + "description": "True when graphic was deleted", + }, + ] + def __init__(self, value: bool): self._value = value super().__init__() @@ -117,7 +174,8 @@ def __init__(self, value: bool): def value(self) -> bool: return self._value + @block_reentrance def set_value(self, graphic, value: bool): self._value = value - event = FeatureEvent(type="deleted", info={"value": value}) + event = GraphicFeatureEvent(type="deleted", info={"value": value}) self._call_event_handlers(event) diff --git a/fastplotlib/graphics/_features/_image.py b/fastplotlib/graphics/features/_image.py similarity index 70% rename from fastplotlib/graphics/_features/_image.py rename to fastplotlib/graphics/features/_image.py index 2d93745bf..c47a26e6a 100644 --- a/fastplotlib/graphics/_features/_image.py +++ b/fastplotlib/graphics/features/_image.py @@ -5,7 +5,7 @@ import numpy as np import pygfx -from ._base import GraphicFeature, FeatureEvent, WGPU_MAX_TEXTURE_SIZE +from ._base import GraphicFeature, GraphicFeatureEvent, block_reentrance from ...utils import ( make_colors, @@ -15,11 +15,27 @@ # manages an array of 8192x8192 Textures representing chunks of an image class TextureArray(GraphicFeature): + event_info_spec = [ + { + "dict key": "key", + "type": "slice, index, numpy-like fancy index", + "description": "key at which image data was sliced/fancy indexed", + }, + { + "dict key": "value", + "type": "np.ndarray | float", + "description": "new data values", + }, + ] + def __init__(self, data, isolated_buffer: bool = True): super().__init__() data = self._fix_data(data) + shared = pygfx.renderers.wgpu.get_shared() + self._texture_limit_2d = shared.device.limits["max-texture-dimension-2d"] + if isolated_buffer: # useful if data is read-only, example: memmaps self._value = np.zeros(data.shape, dtype=data.dtype) @@ -31,13 +47,13 @@ def __init__(self, data, isolated_buffer: bool = True): # data start indices for each Texture self._row_indices = np.arange( 0, - ceil(self.value.shape[0] / WGPU_MAX_TEXTURE_SIZE) * WGPU_MAX_TEXTURE_SIZE, - WGPU_MAX_TEXTURE_SIZE, + ceil(self.value.shape[0] / self._texture_limit_2d) * self._texture_limit_2d, + self._texture_limit_2d, ) self._col_indices = np.arange( 0, - ceil(self.value.shape[1] / WGPU_MAX_TEXTURE_SIZE) * WGPU_MAX_TEXTURE_SIZE, - WGPU_MAX_TEXTURE_SIZE, + ceil(self.value.shape[1] / self._texture_limit_2d) * self._texture_limit_2d, + self._texture_limit_2d, ) # buffer will be an array of textures @@ -91,7 +107,7 @@ def _fix_data(self, data): if data.ndim not in (2, 3): raise ValueError( "image data must be 2D with or without an RGB(A) dimension, i.e. " - "it must be of shape [x, y], [x, y, 3] or [x, y, 4]" + "it must be of shape [rows, cols], [rows, cols, 3] or [rows, cols, 4]" ) # let's just cast to float32 always @@ -118,8 +134,8 @@ def __next__(self) -> tuple[pygfx.Texture, tuple[int, int], tuple[slice, slice]] chunk_index = (chunk_row, chunk_col) # stop indices of big data array for this chunk - row_stop = min(self.value.shape[0], data_row_start + WGPU_MAX_TEXTURE_SIZE) - col_stop = min(self.value.shape[1], data_col_start + WGPU_MAX_TEXTURE_SIZE) + row_stop = min(self.value.shape[0], data_row_start + self._texture_limit_2d) + col_stop = min(self.value.shape[1], data_col_start + self._texture_limit_2d) # row and column slices that slice the data for this chunk from the big data array data_slice = (slice(data_row_start, row_stop), slice(data_col_start, col_stop)) @@ -132,13 +148,14 @@ def __next__(self) -> tuple[pygfx.Texture, tuple[int, int], tuple[slice, slice]] def __getitem__(self, item): return self.value[item] + @block_reentrance def __setitem__(self, key, value): self.value[key] = value for texture in self.buffer.ravel(): texture.update_range((0, 0, 0), texture.size) - event = FeatureEvent("data", info={"key": key, "value": value}) + event = GraphicFeatureEvent("data", info={"key": key, "value": value}) self._call_event_handlers(event) def __len__(self): @@ -148,6 +165,14 @@ def __len__(self): class ImageVmin(GraphicFeature): """lower contrast limit""" + event_info_spec = [ + { + "dict key": "value", + "type": "float", + "description": "new vmin value", + }, + ] + def __init__(self, value: float): self._value = value super().__init__() @@ -156,18 +181,27 @@ def __init__(self, value: float): def value(self) -> float: return self._value + @block_reentrance def set_value(self, graphic, value: float): vmax = graphic._material.clim[1] graphic._material.clim = (value, vmax) self._value = value - event = FeatureEvent(type="vmin", info={"value": value}) + event = GraphicFeatureEvent(type="vmin", info={"value": value}) self._call_event_handlers(event) class ImageVmax(GraphicFeature): """upper contrast limit""" + event_info_spec = [ + { + "dict key": "value", + "type": "float", + "description": "new vmax value", + }, + ] + def __init__(self, value: float): self._value = value super().__init__() @@ -176,18 +210,27 @@ def __init__(self, value: float): def value(self) -> float: return self._value + @block_reentrance def set_value(self, graphic, value: float): vmin = graphic._material.clim[0] graphic._material.clim = (vmin, value) self._value = value - event = FeatureEvent(type="vmax", info={"value": value}) + event = GraphicFeatureEvent(type="vmax", info={"value": value}) self._call_event_handlers(event) class ImageCmap(GraphicFeature): """colormap for texture""" + event_info_spec = [ + { + "dict key": "value", + "type": "str", + "description": "new cmap name", + }, + ] + def __init__(self, value: str): self._value = value self.texture = get_cmap_texture(value) @@ -197,19 +240,28 @@ def __init__(self, value: str): def value(self) -> str: return self._value + @block_reentrance def set_value(self, graphic, value: str): new_colors = make_colors(256, value) - graphic._material.map.data[:] = new_colors - graphic._material.map.update_range((0, 0, 0), size=(256, 1, 1)) + graphic._material.map.texture.data[:] = new_colors + graphic._material.map.texture.update_range((0, 0, 0), size=(256, 1, 1)) self._value = value - event = FeatureEvent(type="cmap", info={"value": value}) + event = GraphicFeatureEvent(type="cmap", info={"value": value}) self._call_event_handlers(event) class ImageInterpolation(GraphicFeature): """Image interpolation method""" + event_info_spec = [ + { + "dict key": "value", + "type": "str", + "description": "new interpolation method, nearest | linear", + }, + ] + def __init__(self, value: str): self._validate(value) self._value = value @@ -223,19 +275,28 @@ def _validate(self, value): def value(self) -> str: return self._value + @block_reentrance def set_value(self, graphic, value: str): self._validate(value) graphic._material.interpolation = value self._value = value - event = FeatureEvent(type="interpolation", info={"value": value}) + event = GraphicFeatureEvent(type="interpolation", info={"value": value}) self._call_event_handlers(event) class ImageCmapInterpolation(GraphicFeature): """Image cmap interpolation method""" + event_info_spec = [ + { + "dict key": "value", + "type": "str", + "description": "new cmap interpolatio method, nearest | linear", + }, + ] + def __init__(self, value: str): self._validate(value) self._value = value @@ -251,12 +312,14 @@ def _validate(self, value): def value(self) -> str: return self._value + @block_reentrance def set_value(self, graphic, value: str): self._validate(value) # common material for all image tiles - graphic._material.map_interpolation = value + graphic._material.map.min_filter = value + graphic._material.map.mag_filter = value self._value = value - event = FeatureEvent(type="cmap_interpolation", info={"value": value}) + event = GraphicFeatureEvent(type="cmap_interpolation", info={"value": value}) self._call_event_handlers(event) diff --git a/fastplotlib/graphics/_features/_positions_graphics.py b/fastplotlib/graphics/features/_positions_graphics.py similarity index 74% rename from fastplotlib/graphics/_features/_positions_graphics.py rename to fastplotlib/graphics/features/_positions_graphics.py index ee7927a36..868701079 100644 --- a/fastplotlib/graphics/_features/_positions_graphics.py +++ b/fastplotlib/graphics/features/_positions_graphics.py @@ -1,4 +1,4 @@ -from typing import Any, List +from typing import Any import numpy as np import pygfx @@ -9,27 +9,32 @@ from ._base import ( GraphicFeature, BufferManager, - FeatureEvent, + GraphicFeatureEvent, to_gpu_supported_dtype, + block_reentrance, ) from .utils import parse_colors class VertexColors(BufferManager): - """ - - **info dict** - +------------+-----------------------------------------------------------+----------------------------------------------------------------------------------+ - | dict key | value type | value description | - +============+===========================================================+==================================================================================+ - | key | int | slice | np.ndarray[int | bool] | tuple[slice, ...] | key at which colors were indexed/sliced | - +------------+-----------------------------------------------------------+----------------------------------------------------------------------------------+ - | value | np.ndarray | new color values for points that were changed, shape is [n_points_changed, RGBA] | - +------------+-----------------------------------------------------------+----------------------------------------------------------------------------------+ - | user_value | str | np.ndarray | tuple[float] | list[float] | list[str] | user input value that was parsed into the RGBA array | - +------------+-----------------------------------------------------------+----------------------------------------------------------------------------------+ - - """ + property_name = "colors" + event_info_spec = [ + { + "dict key": "key", + "type": "slice, index, numpy-like fancy index", + "description": "index/slice at which colors were indexed/sliced", + }, + { + "dict key": "value", + "type": "np.ndarray [n_points_changed, RGBA]", + "description": "new color values for points that were changed", + }, + { + "dict key": "user_value", + "type": "str or array-like", + "description": "user input value that was parsed into the RGBA array", + }, + ] def __init__( self, @@ -58,6 +63,7 @@ def __init__( super().__init__(data=data, isolated_buffer=isolated_buffer) + @block_reentrance def __setitem__( self, key: int | slice | np.ndarray[int | bool] | tuple[slice, ...], @@ -135,18 +141,28 @@ def __setitem__( "user_value": user_value, } - event = FeatureEvent("colors", info=event_info) + event = GraphicFeatureEvent("colors", info=event_info) self._call_event_handlers(event) def __len__(self): return len(self.buffer.data) -# Manages uniform color for line or scatter material class UniformColor(GraphicFeature): + property_name = "colors" + event_info_spec = [ + { + "dict key": "value", + "type": "np.ndarray [RGBA]", + "description": "new color value", + }, + ] + def __init__( self, value: str | np.ndarray | tuple | list | pygfx.Color, alpha: float = 1.0 ): + """Manages uniform color for line or scatter material""" + v = (*tuple(pygfx.Color(value))[:-1], alpha) # apply alpha self._value = pygfx.Color(v) super().__init__() @@ -155,18 +171,25 @@ def __init__( def value(self) -> pygfx.Color: return self._value + @block_reentrance def set_value(self, graphic, value: str | np.ndarray | tuple | list | pygfx.Color): value = pygfx.Color(value) graphic.world_object.material.color = value self._value = value - event = FeatureEvent(type="colors", info={"value": value}) + event = GraphicFeatureEvent(type="colors", info={"value": value}) self._call_event_handlers(event) -# manages uniform size for scatter material class UniformSize(GraphicFeature): + property_name = "sizes" + event_info_spec = [ + {"dict key": "value", "type": "float", "description": "new size value"}, + ] + def __init__(self, value: int | float): + """Manages uniform size for scatter material""" + self._value = float(value) super().__init__() @@ -174,25 +197,67 @@ def __init__(self, value: int | float): def value(self) -> float: return self._value + @block_reentrance def set_value(self, graphic, value: float | int): - graphic.world_object.material.size = float(value) + value = float(value) + graphic.world_object.material.size = value self._value = value - event = FeatureEvent(type="sizes", info={"value": value}) + event = GraphicFeatureEvent(type="sizes", info={"value": value}) self._call_event_handlers(event) -class VertexPositions(BufferManager): - """ - +----------+----------------------------------------------------------+------------------------------------------------------------------------------------------+ - | dict key | value type | value description | - +==========+==========================================================+==========================================================================================+ - | key | int | slice | np.ndarray[int | bool] | tuple[slice, ...] | key at which vertex positions data were indexed/sliced | - +----------+----------------------------------------------------------+------------------------------------------------------------------------------------------+ - | value | np.ndarray | float | list[float] | new data values for points that were changed, shape depends on the indices that were set | - +----------+----------------------------------------------------------+------------------------------------------------------------------------------------------+ +class SizeSpace(GraphicFeature): + property_name = "size_space" + event_info_spec = [ + { + "dict key": "value", + "type": "str", + "description": "'screen' | 'world' | 'model'", + }, + ] - """ + def __init__(self, value: str): + """Manages the coordinate space for scatter/line graphic""" + + self._value = value + super().__init__() + + @property + def value(self) -> str: + return self._value + + @block_reentrance + def set_value(self, graphic, value: str): + if value not in ["screen", "world", "model"]: + raise ValueError( + f"`size_space` must be one of: {['screen', 'world', 'model']}" + ) + + if "Line" in graphic.world_object.material.__class__.__name__: + graphic.world_object.material.thickness_space = value + else: + graphic.world_object.material.size_space = value + self._value = value + + event = GraphicFeatureEvent(type="size_space", info={"value": value}) + self._call_event_handlers(event) + + +class VertexPositions(BufferManager): + property_name = "data" + event_info_spec = [ + { + "dict key": "key", + "type": "slice, index (int) or numpy-like fancy index", + "description": "key at which vertex positions data were indexed/sliced", + }, + { + "dict key": "value", + "type": "int | float | array-like", + "description": "new data values for points that were changed", + }, + ] def __init__(self, data: Any, isolated_buffer: bool = True): """ @@ -222,6 +287,7 @@ def _fix_data(self, data): return to_gpu_supported_dtype(data) + @block_reentrance def __setitem__( self, key: int | slice | np.ndarray[int | bool] | tuple[slice, ...], @@ -241,15 +307,19 @@ def __len__(self): class PointsSizesFeature(BufferManager): - """ - +----------+-------------------------------------------------------------------+----------------------------------------------+ - | dict key | value type | value description | - +==========+===================================================================+==============================================+ - | key | int | slice | np.ndarray[int | bool] | list[int | bool] | key at which point sizes indexed/sliced | - +----------+-------------------------------------------------------------------+----------------------------------------------+ - | value | int | float | np.ndarray | list[int | float] | tuple[int | float] | new size values for points that were changed | - +----------+-------------------------------------------------------------------+----------------------------------------------+ - """ + property_name = "sizes" + event_info_spec = [ + { + "dict key": "key", + "type": "slice, index (int) or numpy-like fancy index", + "description": "key at which point sizes were indexed/sliced", + }, + { + "dict key": "value", + "type": "int | float | array-like", + "description": "new size values for points that were changed", + }, + ] def __init__( self, @@ -297,6 +367,7 @@ def _fix_sizes( return sizes + @block_reentrance def __setitem__( self, key: int | slice | np.ndarray[int | bool] | list[int | bool], @@ -313,7 +384,10 @@ def __len__(self): class Thickness(GraphicFeature): - """line thickness""" + property_name = "thickness" + event_info_spec = [ + {"dict key": "value", "type": "float", "description": "new thickness value"}, + ] def __init__(self, value: float): self._value = value @@ -323,19 +397,30 @@ def __init__(self, value: float): def value(self) -> float: return self._value + @block_reentrance def set_value(self, graphic, value: float): + value = float(value) graphic.world_object.material.thickness = value self._value = value - event = FeatureEvent(type="thickness", info={"value": value}) + event = GraphicFeatureEvent(type="thickness", info={"value": value}) self._call_event_handlers(event) class VertexCmap(BufferManager): - """ - Sliceable colormap feature, manages a VertexColors instance and - provides a way to set colormaps with arbitrary transforms - """ + property_name = "cmap" + event_info_spec = [ + { + "dict key": "key", + "type": "slice", + "description": "key at cmap colors were sliced", + }, + { + "dict key": "value", + "type": "str", + "description": "new cmap to set at given slice", + }, + ] def __init__( self, @@ -344,6 +429,11 @@ def __init__( transform: np.ndarray | None, alpha: float = 1.0, ): + """ + Sliceable colormap feature, manages a VertexColors instance and + provides a way to set colormaps with arbitrary transforms + """ + super().__init__(data=vertex_colors.buffer) self._vertex_colors = vertex_colors @@ -371,16 +461,17 @@ def __init__( # set vertex colors from cmap self._vertex_colors[:] = colors + @block_reentrance def __setitem__(self, key: slice, cmap_name): if not isinstance(key, slice): raise TypeError( "fancy indexing not supported for VertexCmap, only slices " - "of a continuous are supported for apply a cmap" + "of a continuous range are supported for applying a cmap" ) if key.step is not None: raise TypeError( "step sized indexing not currently supported for setting VertexCmap, " - "slices must be a continuous region" + "slices must be a continuous range" ) # parse slice diff --git a/fastplotlib/graphics/features/_selection_features.py b/fastplotlib/graphics/features/_selection_features.py new file mode 100644 index 000000000..233353401 --- /dev/null +++ b/fastplotlib/graphics/features/_selection_features.py @@ -0,0 +1,342 @@ +from typing import Sequence + +import numpy as np + +from ...utils import mesh_masks +from ._base import GraphicFeature, GraphicFeatureEvent, block_reentrance + + +class LinearSelectionFeature(GraphicFeature): + event_info_spec = [ + { + "dict key": "value", + "type": "float", + "description": "new x or y value of selection", + }, + ] + + event_extra_attrs = [ + { + "attribute": "get_selected_index", + "type": "callable", + "description": "returns index under the selector", + } + ] + + def __init__(self, axis: str, value: float, limits: tuple[float, float]): + """ + + Parameters + ---------- + axis: "x" | "y" + axis the selector is restricted to + + value: float + position of the slider in world space, NOT data space + limits: (float, float) + min, max limits of the selector + + """ + + super().__init__() + + self._axis = axis + self._limits = limits + self._value = value + + @property + def value(self) -> np.float32: + """ + selection, data x or y value + """ + return self._value + + @block_reentrance + def set_value(self, selector, value: float): + # clip value between limits + value = np.clip(value, self._limits[0], self._limits[1], dtype=np.float32) + + # set position + if self._axis == "x": + dim = 0 + elif self._axis == "y": + dim = 1 + + for edge in selector._edges: + edge.geometry.positions.data[:, dim] = value + edge.geometry.positions.update_range() + + self._value = value + + event = GraphicFeatureEvent("selection", {"value": value}) + event.get_selected_index = selector.get_selected_index + + self._call_event_handlers(event) + + +class LinearRegionSelectionFeature(GraphicFeature): + event_info_spec = [ + { + "dict key": "value", + "type": "np.ndarray", + "description": "new [min, max] of selection", + }, + ] + + event_extra_attrs = [ + { + "attribute": "get_selected_indices", + "type": "callable", + "description": "returns indices under the selector", + }, + { + "attribute": "get_selected_data", + "type": "callable", + "description": "returns data under the selector", + }, + ] + + def __init__(self, value: tuple[int, int], axis: str, limits: tuple[float, float]): + super().__init__() + + self._axis = axis + self._limits = limits + self._value = tuple(int(v) for v in value) + + @property + def value(self) -> np.ndarray[float]: + """ + (min, max) of the selection, in data space + """ + return self._value + + @property + def axis(self) -> str: + """one of "x" | "y" """ + return self._axis + + @block_reentrance + def set_value(self, selector, value: Sequence[float]): + """ + Set start, stop range of selector + + Parameters + ---------- + selector: LinearRegionSelector + + value: (float, float) + (min, max) values in data space + + """ + if not len(value) == 2: + raise TypeError( + "selection must be a array, tuple, list, or sequence in the form of `(min, max)`, " + "where `min` and `max` are numeric values." + ) + + # convert to array, clip values if they are beyond the limits + value = np.asarray(value, dtype=np.float32).clip(*self._limits) + + # make sure `selector width >= 2`, left edge must not move past right edge! + # or bottom edge must not move past top edge! + if not (value[1] - value[0]) >= 0: + return + + if self.axis == "x": + # change left x position of the fill mesh + selector.fill.geometry.positions.data[mesh_masks.x_left] = value[0] + + # change right x position of the fill mesh + selector.fill.geometry.positions.data[mesh_masks.x_right] = value[1] + + # change x position of the left edge line + selector.edges[0].geometry.positions.data[:, 0] = value[0] + + # change x position of the right edge line + selector.edges[1].geometry.positions.data[:, 0] = value[1] + + elif self.axis == "y": + # change bottom y position of the fill mesh + selector.fill.geometry.positions.data[mesh_masks.y_bottom] = value[0] + + # change top position of the fill mesh + selector.fill.geometry.positions.data[mesh_masks.y_top] = value[1] + + # change y position of the bottom edge line + selector.edges[0].geometry.positions.data[:, 1] = value[0] + + # change y position of the top edge line + selector.edges[1].geometry.positions.data[:, 1] = value[1] + + self._value = value + + # send changes to GPU + selector.fill.geometry.positions.update_range() + + selector.edges[0].geometry.positions.update_range() + selector.edges[1].geometry.positions.update_range() + + # send event + if len(self._event_handlers) < 1: + return + + event = GraphicFeatureEvent("selection", {"value": self.value}) + + event.get_selected_indices = selector.get_selected_indices + event.get_selected_data = selector.get_selected_data + + self._call_event_handlers(event) + # TODO: user's selector event handlers can call event.graphic.get_selected_indices() to get the data index, + # and event.graphic.get_selected_data() to get the data under the selection + # this is probably a good idea so that the data isn't sliced until it's actually necessary + + +class RectangleSelectionFeature(GraphicFeature): + event_info_spec = [ + { + "dict key": "value", + "type": "np.ndarray", + "description": "new [xmin, xmax, ymin, ymax] of selection", + }, + ] + + event_extra_attrs = [ + { + "attribute": "get_selected_indices", + "type": "callable", + "description": "returns indices under the selector", + }, + { + "attribute": "get_selected_data", + "type": "callable", + "description": "returns data under the selector", + }, + ] + + def __init__( + self, + value: tuple[float, float, float, float], + limits: tuple[float, float, float, float], + ): + super().__init__() + + self._limits = limits + self._value = tuple(int(v) for v in value) + + @property + def value(self) -> np.ndarray[float]: + """ + (xmin, xmax, ymin, ymax) of the selection, in data space + """ + return self._value + + @block_reentrance + def set_value(self, selector, value: Sequence[float]): + """ + Set the selection of the rectangle selector. + + Parameters + ---------- + selector: RectangleSelector + + value: (float, float, float, float) + new values (xmin, xmax, ymin, ymax) of the selection + """ + if not len(value) == 4: + raise TypeError( + "Selection must be an array, tuple, list, or sequence in the form of `(xmin, xmax, ymin, ymax)`, " + "where `xmin`, `xmax`, `ymin`, `ymax` are numeric values." + ) + + # convert to array + value = np.asarray(value, dtype=np.float32) + + # clip values if they are beyond the limits + value[:2] = value[:2].clip(self._limits[0], self._limits[1]) + # clip y + value[2:] = value[2:].clip(self._limits[2], self._limits[3]) + + xmin, xmax, ymin, ymax = value + + # make sure `selector width >= 2` and selector height >=2 , left edge must not move past right edge! + # or bottom edge must not move past top edge! + if not (xmax - xmin) >= 0 or not (ymax - ymin) >= 0: + return + + # change fill mesh + # change left x position of the fill mesh + selector.fill.geometry.positions.data[mesh_masks.x_left] = xmin + + # change right x position of the fill mesh + selector.fill.geometry.positions.data[mesh_masks.x_right] = xmax + + # change bottom y position of the fill mesh + selector.fill.geometry.positions.data[mesh_masks.y_bottom] = ymin + + # change top position of the fill mesh + selector.fill.geometry.positions.data[mesh_masks.y_top] = ymax + + # change the edge lines + + # each edge line is defined by two end points which are stored in the + # geometry.positions + # [x0, y0, z0] + # [x1, y1, z0] + + # left line + z = selector.edges[0].geometry.positions.data[:, -1][0] + selector.edges[0].geometry.positions.data[:] = np.array( + [[xmin, ymin, z], [xmin, ymax, z]] + ) + + # right line + selector.edges[1].geometry.positions.data[:] = np.array( + [[xmax, ymin, z], [xmax, ymax, z]] + ) + + # bottom line + selector.edges[2].geometry.positions.data[:] = np.array( + [[xmin, ymin, z], [xmax, ymin, z]] + ) + + # top line + selector.edges[3].geometry.positions.data[:] = np.array( + [[xmin, ymax, z], [xmax, ymax, z]] + ) + + # change the vertex positions + + # bottom left + selector.vertices[0].geometry.positions.data[:] = np.array([[xmin, ymin, 1]]) + + # bottom right + selector.vertices[1].geometry.positions.data[:] = np.array([[xmax, ymin, 1]]) + + # top left + selector.vertices[2].geometry.positions.data[:] = np.array([[xmin, ymax, 1]]) + + # top right + selector.vertices[3].geometry.positions.data[:] = np.array([[xmax, ymax, 1]]) + + self._value = value + + # send changes to GPU + selector.fill.geometry.positions.update_range() + + for edge in selector.edges: + edge.geometry.positions.update_range() + + for vertex in selector.vertices: + vertex.geometry.positions.update_range() + + # send event + if len(self._event_handlers) < 1: + return + + event = GraphicFeatureEvent("selection", {"value": self.value}) + + event.get_selected_indices = selector.get_selected_indices + event.get_selected_data = selector.get_selected_data + + # calls any events + self._call_event_handlers(event) diff --git a/fastplotlib/graphics/_features/_text.py b/fastplotlib/graphics/features/_text.py similarity index 58% rename from fastplotlib/graphics/_features/_text.py rename to fastplotlib/graphics/features/_text.py index baa2734d5..d8e5e95e8 100644 --- a/fastplotlib/graphics/_features/_text.py +++ b/fastplotlib/graphics/features/_text.py @@ -2,10 +2,18 @@ import pygfx -from ._base import GraphicFeature, FeatureEvent +from ._base import GraphicFeature, GraphicFeatureEvent, block_reentrance class TextData(GraphicFeature): + event_info_spec = [ + { + "dict key": "value", + "type": "str", + "description": "new text data", + }, + ] + def __init__(self, value: str): self._value = value super().__init__() @@ -14,15 +22,24 @@ def __init__(self, value: str): def value(self) -> str: return self._value + @block_reentrance def set_value(self, graphic, value: str): - graphic.world_object.geometry.set_text(value) + graphic.world_object.set_text(value) self._value = value - event = FeatureEvent(type="text", info={"value": value}) + event = GraphicFeatureEvent(type="text", info={"value": value}) self._call_event_handlers(event) class FontSize(GraphicFeature): + event_info_spec = [ + { + "dict key": "value", + "type": "float | int", + "description": "new font size", + }, + ] + def __init__(self, value: float | int): self._value = value super().__init__() @@ -31,15 +48,24 @@ def __init__(self, value: float | int): def value(self) -> float | int: return self._value + @block_reentrance def set_value(self, graphic, value: float | int): - graphic.world_object.geometry.font_size = value - self._value = graphic.world_object.geometry.font_size + graphic.world_object.font_size = value + self._value = graphic.world_object.font_size - event = FeatureEvent(type="font_size", info={"value": value}) + event = GraphicFeatureEvent(type="font_size", info={"value": value}) self._call_event_handlers(event) class TextFaceColor(GraphicFeature): + event_info_spec = [ + { + "dict key": "value", + "type": "str | np.ndarray", + "description": "new text color", + }, + ] + def __init__(self, value: str | np.ndarray | list[float] | tuple[float]): self._value = pygfx.Color(value) super().__init__() @@ -48,16 +74,25 @@ def __init__(self, value: str | np.ndarray | list[float] | tuple[float]): def value(self) -> pygfx.Color: return self._value + @block_reentrance def set_value(self, graphic, value: str | np.ndarray | list[float] | tuple[float]): value = pygfx.Color(value) graphic.world_object.material.color = value self._value = graphic.world_object.material.color - event = FeatureEvent(type="face_color", info={"value": value}) + event = GraphicFeatureEvent(type="face_color", info={"value": value}) self._call_event_handlers(event) class TextOutlineColor(GraphicFeature): + event_info_spec = [ + { + "dict key": "value", + "type": "str | np.ndarray", + "description": "new outline color", + }, + ] + def __init__(self, value: str | np.ndarray | list[float] | tuple[float]): self._value = pygfx.Color(value) super().__init__() @@ -66,16 +101,25 @@ def __init__(self, value: str | np.ndarray | list[float] | tuple[float]): def value(self) -> pygfx.Color: return self._value + @block_reentrance def set_value(self, graphic, value: str | np.ndarray | list[float] | tuple[float]): value = pygfx.Color(value) graphic.world_object.material.outline_color = value self._value = graphic.world_object.material.outline_color - event = FeatureEvent(type="outline_color", info={"value": value}) + event = GraphicFeatureEvent(type="outline_color", info={"value": value}) self._call_event_handlers(event) class TextOutlineThickness(GraphicFeature): + event_info_spec = [ + { + "dict key": "value", + "type": "float", + "description": "new text outline thickness", + }, + ] + def __init__(self, value: float): self._value = value super().__init__() @@ -84,9 +128,10 @@ def __init__(self, value: float): def value(self) -> float: return self._value + @block_reentrance def set_value(self, graphic, value: float): graphic.world_object.material.outline_thickness = value self._value = graphic.world_object.material.outline_thickness - event = FeatureEvent(type="outline_thickness", info={"value": value}) + event = GraphicFeatureEvent(type="outline_thickness", info={"value": value}) self._call_event_handlers(event) diff --git a/fastplotlib/graphics/_features/utils.py b/fastplotlib/graphics/features/utils.py similarity index 100% rename from fastplotlib/graphics/_features/utils.py rename to fastplotlib/graphics/features/utils.py diff --git a/fastplotlib/graphics/image.py b/fastplotlib/graphics/image.py index 5805804c7..957607fe1 100644 --- a/fastplotlib/graphics/image.py +++ b/fastplotlib/graphics/image.py @@ -1,12 +1,12 @@ +import math from typing import * -import weakref import pygfx from ..utils import quick_min_max from ._base import Graphic -from .selectors import LinearSelector, LinearRegionSelector -from ._features import ( +from .selectors import LinearSelector, LinearRegionSelector, RectangleSelector +from .features import ( TextureArray, ImageCmap, ImageVmin, @@ -71,7 +71,14 @@ def chunk_index(self) -> tuple[int, int]: class ImageGraphic(Graphic): - _features = {"data", "cmap", "vmin", "vmax", "interpolation", "cmap_interpolation"} + _features = { + "data": TextureArray, + "cmap": ImageCmap, + "vmin": ImageVmin, + "vmax": ImageVmax, + "interpolation": ImageInterpolation, + "cmap_interpolation": ImageCmapInterpolation, + } def __init__( self, @@ -91,7 +98,7 @@ def __init__( ---------- data: array-like array-like, usually numpy.ndarray, must support ``memoryview()`` - | shape must be ``[x_dim, y_dim]`` + | shape must be ``[n_rows, n_cols]``, ``[n_rows, n_cols, 3]`` for RGB or ``[n_rows, n_cols, 4]`` for RGBA vmin: int, optional minimum value for color scaling, calculated from data if not provided @@ -100,7 +107,8 @@ def __init__( maximum value for color scaling, calculated from data if not provided cmap: str, optional, default "plasma" - colormap to use to display the data + colormap to use to display the data. For supported colormaps see the + ``cmap`` library catalogue: https://cmap-docs.readthedocs.io/en/stable/catalog/ interpolation: str, optional, default "nearest" interpolation filter, one of "nearest" or "linear" @@ -111,10 +119,11 @@ def __init__( isolated_buffer: bool, default True If True, initialize a buffer with the same shape as the input data and then set the data, useful if the data arrays are ready-only such as memmaps. - If False, the input array is itself used as the buffer. + If False, the input array is itself used as the buffer - useful if the + array is large. kwargs: - additional keyword arguments passed to Graphic + additional keyword arguments passed to :class:`.Graphic` """ @@ -132,27 +141,28 @@ def __init__( self._vmin = ImageVmin(vmin) self._vmax = ImageVmax(vmax) - # set cmap to None for RGB images - if self._data.value.ndim == 3: + self._interpolation = ImageInterpolation(interpolation) + + # set map to None for RGB images + if self._data.value.ndim > 2: self._cmap = None + _map = None else: + # use TextureMap for grayscale images self._cmap = ImageCmap(cmap) + self._cmap_interpolation = ImageCmapInterpolation(cmap_interpolation) - self._interpolation = ImageInterpolation(interpolation) - self._cmap_interpolation = ImageCmapInterpolation(cmap_interpolation) - - # use cmap if not RGB - if self._data.value.ndim == 2: - _map = self._cmap.texture - else: - _map = None + _map = pygfx.TextureMap( + self._cmap.texture, + filter=self._cmap_interpolation.value, + wrap="clamp-to-edge", + ) # one common material is used for every Texture chunk self._material = pygfx.ImageBasicMaterial( clim=(vmin, vmax), map=_map, interpolation=self._interpolation.value, - map_interpolation=self._cmap_interpolation.value, pick_write=True, ) @@ -192,15 +202,19 @@ def data(self, data): @property def cmap(self) -> str: - """colormap name""" - if self.data.value.ndim == 3: - raise AttributeError("RGB images do not have a colormap property") + """ + Get or set the colormap + + For supported colormaps see the ``cmap`` library catalogue: https://cmap-docs.readthedocs.io/en/stable/catalog/ + """ + if self.data.value.ndim > 2: + raise AttributeError("RGB(A) images do not have a colormap property") return self._cmap.value @cmap.setter def cmap(self, name: str): - if self.data.value.ndim == 3: - raise AttributeError("RGB images do not have a colormap property") + if self.data.value.ndim > 2: + raise AttributeError("RGB(A) images do not have a colormap property") self._cmap.set_value(self, name) @property @@ -223,7 +237,7 @@ def vmax(self, value: float): @property def interpolation(self) -> str: - """image data interpolation method""" + """Data interpolation method""" return self._interpolation.value @interpolation.setter @@ -241,12 +255,7 @@ def cmap_interpolation(self, value: str): def reset_vmin_vmax(self): """ - Reset the vmin, vmax by estimating it from the data - - Returns - ------- - None - + Reset the vmin, vmax by estimating it from the data by subsampling. """ vmin, vmax = quick_min_max(self._data.value) @@ -254,19 +263,19 @@ def reset_vmin_vmax(self): self.vmax = vmax def add_linear_selector( - self, selection: int = None, axis: str = "x", padding: float = None, **kwargs + self, selection: int = None, axis: str = "x", **kwargs ) -> LinearSelector: """ Adds a :class:`.LinearSelector`. + Selectors are just ``Graphic`` objects, so you can manage, remove, or delete them + from a plot area just like any other ``Graphic``. + Parameters ---------- selection: int, optional initial position of the selector - padding: float, optional - pad the length of the selector - kwargs: passed to :class:`.LinearSelector` @@ -277,22 +286,12 @@ def add_linear_selector( """ if axis == "x": - size = self._data.value.shape[0] - center = size / 2 limits = (0, self._data.value.shape[1]) elif axis == "y": - size = self._data.value.shape[1] - center = size / 2 limits = (0, self._data.value.shape[0]) else: raise ValueError("`axis` must be one of 'x' | 'y'") - # default padding is 25% the height or width of the image - if padding is None: - size *= 1.25 - else: - size += padding - if selection is None: selection = limits[0] @@ -304,10 +303,8 @@ def add_linear_selector( selector = LinearSelector( selection=selection, limits=limits, - size=size, - center=center, axis=axis, - parent=weakref.proxy(self), + parent=self, **kwargs, ) @@ -316,7 +313,7 @@ def add_linear_selector( # place selector above this graphic selector.offset = selector.offset + (0.0, 0.0, self.offset[-1] + 1) - return weakref.proxy(selector) + return selector def add_linear_region_selector( self, @@ -327,8 +324,10 @@ def add_linear_region_selector( **kwargs, ) -> LinearRegionSelector: """ - Add a :class:`.LinearRegionSelector`. Selectors are just ``Graphic`` objects, so you can manage, - remove, or delete them from a plot area just like any other ``Graphic``. + Add a :class:`.LinearRegionSelector`. + + Selectors are just ``Graphic`` objects, so you can manage, remove, or delete them + from a plot area just like any other ``Graphic``. Parameters ---------- @@ -347,7 +346,6 @@ def add_linear_region_selector( Returns ------- LinearRegionSelector - linear selection graphic """ @@ -384,7 +382,52 @@ def add_linear_region_selector( center=center, axis=axis, fill_color=fill_color, - parent=weakref.proxy(self), + parent=self, + **kwargs, + ) + + self._plot_area.add_graphic(selector, center=False) + + # place above this graphic + selector.offset = selector.offset + (0.0, 0.0, self.offset[-1] + 1) + + return selector + + def add_rectangle_selector( + self, + selection: tuple[float, float, float, float] = None, + fill_color=(0, 0, 0.35, 0.2), + **kwargs, + ) -> RectangleSelector: + """ + Add a :class:`.RectangleSelector`. + + Selectors are just ``Graphic`` objects, so you can manage, remove, or delete them + from a plot area just like any other ``Graphic``. + + Parameters + ---------- + selection: (float, float, float, float), optional + initial (xmin, xmax, ymin, ymax) of the selection + + """ + # default selection is 25% of the diagonal + if selection is None: + diagonal = math.sqrt( + self._data.value.shape[0] ** 2 + self._data.value.shape[1] ** 2 + ) + + selection = (0, int(diagonal / 4), 0, int(diagonal / 4)) + + # min/max limits are image shape + # rows are ys, columns are xs + limits = (0, self._data.value.shape[1], 0, self._data.value.shape[0]) + + selector = RectangleSelector( + selection=selection, + limits=limits, + fill_color=fill_color, + parent=self, **kwargs, ) @@ -393,4 +436,4 @@ def add_linear_region_selector( # place above this graphic selector.offset = selector.offset + (0.0, 0.0, self.offset[-1] + 1) - return weakref.proxy(selector) + return selector diff --git a/fastplotlib/graphics/line.py b/fastplotlib/graphics/line.py index d0a8cc336..4cdc7f413 100644 --- a/fastplotlib/graphics/line.py +++ b/fastplotlib/graphics/line.py @@ -1,28 +1,42 @@ from typing import * -import weakref import numpy as np import pygfx from ._positions_base import PositionsGraphic -from .selectors import LinearRegionSelector, LinearSelector -from ._features import Thickness +from .selectors import LinearRegionSelector, LinearSelector, RectangleSelector +from .features import ( + Thickness, + VertexPositions, + VertexColors, + UniformColor, + VertexCmap, + SizeSpace, +) +from ..utils import quick_min_max class LineGraphic(PositionsGraphic): - _features = {"data", "colors", "cmap", "thickness"} + _features = { + "data": VertexPositions, + "colors": (VertexColors, UniformColor), + "cmap": (VertexCmap, None), # none if UniformColor + "thickness": Thickness, + "size_space": SizeSpace, + } def __init__( self, data: Any, thickness: float = 2.0, - colors: str | np.ndarray | Iterable = "w", + colors: str | np.ndarray | Sequence = "w", uniform_color: bool = False, alpha: float = 1.0, cmap: str = None, - cmap_transform: np.ndarray | Iterable = None, + cmap_transform: np.ndarray | Sequence = None, isolated_buffer: bool = True, + size_space: str = "screen", **kwargs, ): """ @@ -31,14 +45,17 @@ def __init__( Parameters ---------- data: array-like - Line data to plot, 2D must be of shape [n_points, 2], 3D must be of shape [n_points, 3] + Line data to plot. Can provide 1D, 2D, or a 3D data. + | If passing a 1D array, it is used to set the y-values and the x-values are generated as an integer range + from [0, data.size] + | 2D data must be of shape [n_points, 2]. 3D data must be of shape [n_points, 3] thickness: float, optional, default 2.0 thickness of the line colors: str, array, or iterable, default "w" specify colors as a single human-readable string, a single RGBA array, - or an iterable of strings or RGBA arrays + or a Sequence (array, tuple, or list) of strings or RGBA arrays uniform_color: bool, default ``False`` if True, uses a uniform buffer for the line color, @@ -48,14 +65,18 @@ def __init__( alpha value for the colors cmap: str, optional - apply a colormap to the line instead of assigning colors manually, this - overrides any argument passed to "colors" + Apply a colormap to the line instead of assigning colors manually, this + overrides any argument passed to "colors". For supported colormaps see the + ``cmap`` library catalogue: https://cmap-docs.readthedocs.io/en/stable/catalog/ cmap_transform: 1D array-like of numerical values, optional if provided, these values are used to map the colors from the cmap + size_space: str, default "screen" + coordinate space in which the thickness is expressed ("screen", "world", "model") + **kwargs - passed to Graphic + passed to :class:`.Graphic` """ @@ -67,6 +88,7 @@ def __init__( cmap=cmap, cmap_transform=cmap_transform, isolated_buffer=isolated_buffer, + size_space=size_space, **kwargs, ) @@ -84,10 +106,14 @@ def __init__( color_mode="uniform", color=self.colors, pick_write=True, + thickness_space=self.size_space, ) else: material = MaterialCls( - thickness=self.thickness, color_mode="vertex", pick_write=True + thickness=self.thickness, + color_mode="vertex", + pick_write=True, + thickness_space=self.size_space, ) geometry = pygfx.Geometry( positions=self._data.buffer, colors=self._colors.buffer @@ -99,7 +125,7 @@ def __init__( @property def thickness(self) -> float: - """line thickness""" + """Get or set the line thickness""" return self._thickness.value @thickness.setter @@ -107,24 +133,22 @@ def thickness(self, value: float): self._thickness.set_value(self, value) def add_linear_selector( - self, selection: float = None, padding: float = 0.0, axis: str = "x", **kwargs + self, selection: float = None, axis: str = "x", **kwargs ) -> LinearSelector: """ - Adds a linear selector. + Adds a :class:`.LinearSelector`. + + Selectors are just ``Graphic`` objects, so you can manage, remove, or delete them from a + plot area just like any other ``Graphic``. - Parameters - ---------- Parameters ---------- selection: float, optional - selected point on the linear selector, computed from data if not provided + selected point on the linear selector, by default the first datapoint on the line. axis: str, default "x" axis that the selector resides on - padding: float, default 0.0 - Extra padding to extend the linear selector along the orthogonal axis to make it easier to interact with. - kwargs passed to :class:`.LinearSelector` @@ -135,7 +159,7 @@ def add_linear_selector( """ bounds_init, limits, size, center = self._get_linear_selector_init_args( - axis, padding + axis, padding=0 ) if selection is None: @@ -144,10 +168,8 @@ def add_linear_selector( selector = LinearSelector( selection=selection, limits=limits, - size=size, - center=center, axis=axis, - parent=weakref.proxy(self), + parent=self, **kwargs, ) @@ -156,7 +178,7 @@ def add_linear_selector( # place selector above this graphic selector.offset = selector.offset + (0.0, 0.0, self.offset[-1] + 1) - return weakref.proxy(selector) + return selector def add_linear_region_selector( self, @@ -166,8 +188,10 @@ def add_linear_region_selector( **kwargs, ) -> LinearRegionSelector: """ - Add a :class:`.LinearRegionSelector`. Selectors are just ``Graphic`` objects, so you can manage, - remove, or delete them from a plot area just like any other ``Graphic``. + Add a :class:`.LinearRegionSelector`. + + Selectors are just ``Graphic`` objects, so you can manage, remove, or delete them from a + plot area just like any other ``Graphic``. Parameters ---------- @@ -204,7 +228,7 @@ def add_linear_region_selector( size=size, center=center, axis=axis, - parent=weakref.proxy(self), + parent=self, **kwargs, ) @@ -215,7 +239,54 @@ def add_linear_region_selector( # PlotArea manages this for garbage collection etc. just like all other Graphics # so we should only work with a proxy on the user-end - return weakref.proxy(selector) + return selector + + def add_rectangle_selector( + self, + selection: tuple[float, float, float, float] = None, + **kwargs, + ) -> RectangleSelector: + """ + Add a :class:`.RectangleSelector`. + + Selectors are just ``Graphic`` objects, so you can manage, remove, or delete them from a + plot area just like any other ``Graphic``. + + Parameters + ---------- + selection: (float, float, float, float), optional + initial (xmin, xmax, ymin, ymax) of the selection + """ + # computes args to create selectors + n_datapoints = self.data.value.shape[0] + value_25p = int(n_datapoints / 4) + + # remove any nans + data = self.data.value[~np.any(np.isnan(self.data.value), axis=1)] + + x_axis_vals = data[:, 0] + y_axis_vals = data[:, 1] + + ymin = np.floor(y_axis_vals.min()).astype(int) + ymax = np.ceil(y_axis_vals.max()).astype(int) + + # default selection is 25% of the image + if selection is None: + selection = (x_axis_vals[0], x_axis_vals[value_25p], ymin, ymax) + + # min/max limits + limits = (x_axis_vals[0], x_axis_vals[-1], ymin * 1.5, ymax * 1.5) + + selector = RectangleSelector( + selection=selection, + limits=limits, + parent=self, + **kwargs, + ) + + self._plot_area.add_graphic(selector, center=False) + + return selector # TODO: this method is a bit of a mess, can refactor later def _get_linear_selector_init_args( @@ -245,6 +316,6 @@ def _get_linear_selector_init_args( size = int(np.ptp(magn_vals) * 1.5 + padding) # center of selector along the other axis - center = np.nanmean(magn_vals) + center = sum(quick_min_max(magn_vals)) / 2 return bounds_init, limits, size, center diff --git a/fastplotlib/graphics/line_collection.py b/fastplotlib/graphics/line_collection.py index 01faa9164..de4139679 100644 --- a/fastplotlib/graphics/line_collection.py +++ b/fastplotlib/graphics/line_collection.py @@ -1,5 +1,4 @@ from typing import * -import weakref import numpy as np @@ -8,7 +7,7 @@ from ..utils import parse_cmap_values from ._collection_base import CollectionIndexer, GraphicCollection, CollectionFeature from .line import LineGraphic -from .selectors import LinearRegionSelector, LinearSelector +from .selectors import LinearRegionSelector, LinearSelector, RectangleSelector class _LineCollectionProperties: @@ -375,10 +374,8 @@ def add_linear_selector( selector = LinearSelector( selection=selection, limits=limits, - size=size, - center=center, axis=axis, - parent=weakref.proxy(self), + parent=self, **kwargs, ) @@ -387,7 +384,7 @@ def add_linear_selector( # place selector above this graphic selector.offset = selector.offset + (0.0, 0.0, self.offset[-1] + 1) - return weakref.proxy(selector) + return selector def add_linear_region_selector( self, @@ -435,7 +432,7 @@ def add_linear_region_selector( size=size, center=center, axis=axis, - parent=weakref.proxy(self), + parent=self, **kwargs, ) @@ -446,7 +443,48 @@ def add_linear_region_selector( # PlotArea manages this for garbage collection etc. just like all other Graphics # so we should only work with a proxy on the user-end - return weakref.proxy(selector) + return selector + + def add_rectangle_selector( + self, + selection: tuple[float, float, float, float] = None, + **kwargs, + ) -> RectangleSelector: + """ + Add a :class:`.RectangleSelector`. Selectors are just ``Graphic`` objects, so you can manage, + remove, or delete them from a plot area just like any other ``Graphic``. + + Parameters + ---------- + selection: (float, float, float, float), optional + initial (xmin, xmax, ymin, ymax) of the selection + """ + bbox = self.world_object.get_world_bounding_box() + + xdata = np.array(self.data[:, 0]) + xmin, xmax = (np.nanmin(xdata), np.nanmax(xdata)) + value_25px = (xmax - xmin) / 4 + + ydata = np.array(self.data[:, 1]) + ymin = np.floor(ydata.min()).astype(int) + + ymax = np.ptp(bbox[:, 1]) + + if selection is None: + selection = (xmin, value_25px, ymin, ymax) + + limits = (xmin, xmax, ymin - (ymax * 1.5 - ymax), ymax * 1.5) + + selector = RectangleSelector( + selection=selection, + limits=limits, + parent=self, + **kwargs, + ) + + self._plot_area.add_graphic(selector, center=False) + + return selector def _get_linear_selector_init_args(self, axis, padding): # use bbox to get size and center diff --git a/fastplotlib/graphics/scatter.py b/fastplotlib/graphics/scatter.py index 39d815c95..b31022f5b 100644 --- a/fastplotlib/graphics/scatter.py +++ b/fastplotlib/graphics/scatter.py @@ -4,11 +4,25 @@ import pygfx from ._positions_base import PositionsGraphic -from ._features import PointsSizesFeature, UniformSize +from .features import ( + PointsSizesFeature, + UniformSize, + SizeSpace, + VertexPositions, + VertexColors, + UniformColor, + VertexCmap, +) class ScatterGraphic(PositionsGraphic): - _features = {"data", "sizes", "colors", "cmap"} + _features = { + "data": VertexPositions, + "sizes": (PointsSizesFeature, UniformSize), + "colors": (VertexColors, UniformColor), + "cmap": (VertexCmap, None), + "size_space": SizeSpace, + } def __init__( self, @@ -19,8 +33,9 @@ def __init__( cmap: str = None, cmap_transform: np.ndarray = None, isolated_buffer: bool = True, - sizes: float | np.ndarray | Iterable[float] = 1, + sizes: float | np.ndarray | Sequence[float] = 1, uniform_size: bool = False, + size_space: str = "screen", **kwargs, ): """ @@ -29,39 +44,44 @@ def __init__( Parameters ---------- data: array-like - Scatter data to plot, 2D must be of shape [n_points, 2], 3D must be of shape [n_points, 3] + Scatter data to plot, Can provide 2D, or a 3D data. 2D data must be of shape [n_points, 2]. + 3D data must be of shape [n_points, 3] - colors: str, array, or iterable, default "w" - specify colors as a single human readable string, a single RGBA array, - or an iterable of strings or RGBA arrays + colors: str, array, tuple, list, Sequence, default "w" + specify colors as a single human-readable string, a single RGBA array, + or a Sequence (array, tuple, or list) of strings or RGBA arrays uniform_color: bool, default False - if True, uses a uniform buffer for the scatter point colors, - basically saves GPU VRAM when the entire line has a single color + if True, uses a uniform buffer for the scatter point colors. Useful if you need to + save GPU VRAM when all points have the same color. alpha: float, optional, default 1.0 alpha value for the colors cmap: str, optional apply a colormap to the scatter instead of assigning colors manually, this - overrides any argument passed to "colors" + overrides any argument passed to "colors". For supported colormaps see the + ``cmap`` library catalogue: https://cmap-docs.readthedocs.io/en/stable/catalog/ cmap_transform: 1D array-like or list of numerical values, optional if provided, these values are used to map the colors from the cmap isolated_buffer: bool, default True whether the buffers should be isolated from the user input array. - Generally always ``True``, ``False`` is for rare advanced use. + Generally always ``True``, ``False`` is for rare advanced use if you have large arrays. sizes: float or iterable of float, optional, default 1.0 - size of the scatter points + sizes of the scatter points uniform_size: bool, default False - if True, uses a uniform buffer for the scatter point sizes, - basically saves GPU VRAM when all scatter points are the same size + if True, uses a uniform buffer for the scatter point sizes. Useful if you need to + save GPU VRAM when all points have the same size. + + size_space: str, default "screen" + coordinate space in which the size is expressed ("screen", "world", "model") kwargs - passed to Graphic + passed to :class:`.Graphic` """ @@ -73,6 +93,7 @@ def __init__( cmap=cmap, cmap_transform=cmap_transform, isolated_buffer=isolated_buffer, + size_space=size_space, **kwargs, ) @@ -80,6 +101,7 @@ def __init__( geo_kwargs = {"positions": self._data.buffer} material_kwargs = {"pick_write": True} + self._size_space = SizeSpace(size_space) if uniform_color: material_kwargs["color_mode"] = "uniform" @@ -97,6 +119,7 @@ def __init__( self._sizes = PointsSizesFeature(sizes, n_datapoints=n_datapoints) geo_kwargs["sizes"] = self.sizes.buffer + material_kwargs["size_space"] = self.size_space world_object = pygfx.Points( pygfx.Geometry(**geo_kwargs), material=pygfx.PointsMaterial(**material_kwargs), diff --git a/fastplotlib/graphics/selectors/__init__.py b/fastplotlib/graphics/selectors/__init__.py index 4f28f571c..9133192e9 100644 --- a/fastplotlib/graphics/selectors/__init__.py +++ b/fastplotlib/graphics/selectors/__init__.py @@ -1,6 +1,7 @@ from ._linear import LinearSelector from ._linear_region import LinearRegionSelector from ._polygon import PolygonSelector +from ._rectangle import RectangleSelector -__all__ = ["LinearSelector", "LinearRegionSelector"] +__all__ = ["LinearSelector", "LinearRegionSelector", "RectangleSelector"] diff --git a/fastplotlib/graphics/selectors/_base_selector.py b/fastplotlib/graphics/selectors/_base_selector.py index 0fc48058d..5cef0c6b0 100644 --- a/fastplotlib/graphics/selectors/_base_selector.py +++ b/fastplotlib/graphics/selectors/_base_selector.py @@ -1,9 +1,9 @@ from typing import * from dataclasses import dataclass from functools import partial -import weakref import numpy as np +import pygfx from pygfx import WorldObject, Line, Mesh, Points @@ -16,12 +16,17 @@ class MoveInfo: stores move info for a WorldObject """ - # last position for an edge, fill, or vertex in world coordinates - # can be None, such as key events - last_position: Union[np.ndarray, None] + # The initial selection. Differs per type of selector + start_selection: Any + + # The initial world position of the cursor + start_position: np.ndarray | None + + # Delta position in world coordinates + delta: np.ndarray # WorldObject or "key" event - source: Union[WorldObject, str] + source: WorldObject | str # key bindings used to move the selector @@ -35,12 +40,74 @@ class MoveInfo: # Selector base class class BaseSelector(Graphic): - _features = {"selection"} - @property def axis(self) -> str: return self._axis + @property + def fill_color(self) -> pygfx.Color: + """Returns the fill color of the selector, ``None`` if selector has no fill.""" + return self._fill_color + + @fill_color.setter + def fill_color(self, color: str | Sequence[float]): + """ + Set the fill color of the selector. + + Parameters + ---------- + color : str | Sequence[float] + String or sequence of floats that gets converted into a ``pygfx.Color`` object. + """ + color = pygfx.Color(color) + for fill in self._fill: + fill.material.color = color + self._original_colors[fill] = color + self._fill_color = color + + @property + def vertex_color(self) -> pygfx.Color: + """Returns the vertex color of the selector, ``None`` if selector has no vertices.""" + return self._vertex_color + + @vertex_color.setter + def vertex_color(self, color: str | Sequence[float]): + """ + Set the vertex color of the selector. + + Parameters + ---------- + color : str | Sequence[float] + String or sequence of floats that gets converted into a ``pygfx.Color`` object. + """ + color = pygfx.Color(color) + for vertex in self._vertices: + vertex.material.color = color + vertex.material.edge_color = color + self._original_colors[vertex] = color + self._vertex_color = color + + @property + def edge_color(self) -> pygfx.Color: + """Returns the edge color of the selector""" + return self._edge_color + + @edge_color.setter + def edge_color(self, color: str | Sequence[float]): + """ + Set the edge color of the selector. + + Parameters + ---------- + color : str | Sequence[float] + String or sequence of floats that gets converted into a ``pygfx.Color`` object. + """ + color = pygfx.Color(color) + for edge in self._edges: + edge.material.color = color + self._original_colors[edge] = color + self._edge_color = color + def __init__( self, edges: Tuple[Line, ...] = None, @@ -69,18 +136,23 @@ def __init__( self._edges + self._fill + self._vertices ) + for wo in self._world_objects: + wo.material.pick_write = True + self._hover_responsive: Tuple[WorldObject, ...] = hover_responsive + # Original color of object that we change the colors of + self._original_colors = {} + + # Colors as they are changed by the hover events, so they can be restored after a move action + self._hover_colors = {} + if hover_responsive is not None: - self._original_colors = dict() for wo in self._hover_responsive: self._original_colors[wo] = wo.material.color self._axis = axis - # current delta in world coordinates - self.delta: np.ndarray = None - self.arrow_keys_modifier = arrow_keys_modifier # if not False, moves the slider on every render cycle self._key_move_value = False @@ -208,9 +280,14 @@ def _move_start(self, event_source: WorldObject, ev): pygfx ``Event`` """ - last_position = self._plot_area.map_screen_to_world(ev) + position = self._plot_area.map_screen_to_world(ev) - self._move_info = MoveInfo(last_position=last_position, source=event_source) + self._move_info = MoveInfo( + start_selection=None, + start_position=position, + delta=np.zeros_like(position), + source=event_source, + ) self._moving = True self._initial_controller_state = self._plot_area.controller.enabled @@ -233,33 +310,31 @@ def _move(self, ev): # disable controller during moves self._plot_area.controller.enabled = False - # get pointer current world position - world_pos = self._plot_area.map_screen_to_world(ev) + # get pointer current world position, in 'mouse capute mode' + world_pos = self._plot_area.map_screen_to_world(ev, allow_outside=True) - # outside this viewport - if world_pos is None: - return - - # compute the delta - self.delta = world_pos - self._move_info.last_position + # update the delta + self._move_info.delta = world_pos - self._move_info.start_position self._pygfx_event = ev - self._move_graphic(self.delta) - - # update last position - self._move_info.last_position = world_pos + self._move_graphic(self._move_info) # restore the initial controller state # if it was disabled, keep it disabled self._plot_area.controller.enabled = self._initial_controller_state - def _move_graphic(self, delta: np.ndarray): + def _move_graphic(self, move_info: MoveInfo): raise NotImplementedError("Must be implemented in subclass") def _move_end(self, ev): self._move_info = None self._moving = False + # Reset hover state + for wo, color in self._hover_colors.items(): + wo.material.color = color + self._hover_colors.clear() + # restore the initial controller state # if it was disabled, keep it disabled if self._initial_controller_state is not None: @@ -269,36 +344,56 @@ def _move_to_pointer(self, ev): """ Calculates delta just using current world object position and calls self._move_graphic(). """ - current_position: np.ndarray = self.offset - - # middle mouse button clicks + # check for middle mouse button click if ev.button != 3: return + if self.axis == "x": + offset = self.offset[0] + elif self.axis == "y": + offset = self.offset[1] + + if self.selection.size > 1: + # linear region selectors + # TODO: get center for rectangle and polygon selectors + center = self.selection.mean(axis=0) + + else: + # linear selectors + center = self.selection + + current_pos_world: np.ndarray = center + offset + world_pos = self._plot_area.map_screen_to_world(ev) # outside this viewport if world_pos is None: return - self.delta = world_pos - current_position + delta = world_pos - current_pos_world self._pygfx_event = ev # use fill by default as the source, such as in region selectors if len(self._fill) > 0: - self._move_info = MoveInfo( - last_position=current_position, source=self._fill[0] + move_info = MoveInfo( + start_selection=None, + start_position=None, + delta=delta, + source=self._fill[0], ) # else use an edge, such as for linear selector else: - self._move_info = MoveInfo( - last_position=current_position, source=self._edges[0] + move_info = MoveInfo( + start_position=None, + start_selection=None, + delta=delta, + source=self._edges[0], ) - self._move_graphic(self.delta) - self._move_info = None + self._move_graphic(move_info) def _pointer_enter(self, ev): + if self._hover_responsive is None: return @@ -309,17 +404,23 @@ def _pointer_enter(self, ev): if wo in self._edges: self._edge_hovered = True - wo.material.color = "magenta" + if self._moving: + self._hover_colors[wo] = "magenta" + else: + wo.material.color = "magenta" def _pointer_leave(self, ev): if self._hover_responsive is None: return + self._edge_hovered = False + # reset colors for wo in self._hover_responsive: - wo.material.color = self._original_colors[wo] - - self._edge_hovered = False + if self._moving: + self._hover_colors[wo] = self._original_colors[wo] + else: + wo.material.color = self._original_colors[wo] def _toggle_arrow_key_moveable(self, ev): self.arrow_key_events_enabled = not self.arrow_key_events_enabled @@ -332,15 +433,23 @@ def _key_hold(self): # set event source # use fill by default as the source if len(self._fill) > 0: - self._move_info = MoveInfo(last_position=None, source=self._fill[0]) + move_info = MoveInfo( + start_selection=None, + start_position=None, + delta=delta, + source=self._fill[0], + ) # else use an edge else: - self._move_info = MoveInfo(last_position=None, source=self._edges[0]) + move_info = MoveInfo( + start_selection=None, + start_position=None, + delta=delta, + source=self._edges[0], + ) # move the graphic - self._move_graphic(delta=delta) - - self._move_info = None + self._move_graphic(move_info) def _key_down(self, ev): # key bind modifier must be set and must be used for the event @@ -362,12 +471,10 @@ def _key_up(self, ev): if ev.key in key_bind_direction.keys(): self._key_move_value = False - self._move_info = None - - def _fpl_cleanup(self): + def _fpl_prepare_del(self): if hasattr(self, "_pfunc_fill"): self._plot_area.renderer.remove_event_handler( self._pfunc_fill, "pointer_down" ) del self._pfunc_fill - super()._fpl_cleanup() + super()._fpl_prepare_del() diff --git a/fastplotlib/graphics/selectors/_linear.py b/fastplotlib/graphics/selectors/_linear.py index 22ba96a28..64a673768 100644 --- a/fastplotlib/graphics/selectors/_linear.py +++ b/fastplotlib/graphics/selectors/_linear.py @@ -1,23 +1,19 @@ -from typing import * import math from numbers import Real +from typing import Sequence import numpy as np import pygfx -from ...utils.gui import IS_JUPYTER from .._base import Graphic from .._collection_base import GraphicCollection -from .._features._selection_features import LinearSelectionFeature -from ._base_selector import BaseSelector - - -if IS_JUPYTER: - # If using the jupyter backend, user has jupyter_rfb, and thus also ipywidgets - import ipywidgets +from ..features._selection_features import LinearSelectionFeature +from ._base_selector import BaseSelector, MoveInfo class LinearSelector(BaseSelector): + _features = {"selection": LinearSelectionFeature} + @property def parent(self) -> Graphic: return self._parent @@ -39,11 +35,11 @@ def selection(self, value: int): self._selection.set_value(self, value) @property - def limits(self) -> Tuple[float, float]: + def limits(self) -> tuple[float, float]: return self._limits @limits.setter - def limits(self, values: Tuple[float, float]): + def limits(self, values: tuple[float, float]): # check that `values` is an iterable of two real numbers # using `Real` here allows it to work with builtin `int` and `float` types, and numpy scaler types if len(values) != 2 or not all(map(lambda v: isinstance(v, Real), values)): @@ -53,90 +49,103 @@ def limits(self, values: Tuple[float, float]): ) # if values are close to zero things get weird so round them self.selection._limits = self._limits + @property + def edge_color(self) -> pygfx.Color: + """Returns the color of the linear selector.""" + return self._edge_color + + @edge_color.setter + def edge_color(self, color: str | Sequence[float]): + """ + Set the color of the linear selector. + + Parameters + ---------- + color : str | Sequence[float] + String or sequence of floats that gets converted into a ``pygfx.Color`` object. + """ + color = pygfx.Color(color) + # only want to change inner line color + self._edges[0].material.color = color + self._original_colors[self._edges[0]] = color + self._edge_color = color + # TODO: make `selection` arg in graphics data space not world space def __init__( self, selection: float, limits: Sequence[float], - size: float, - center: float, axis: str = "x", parent: Graphic = None, - color: str | tuple = "w", + edge_color: str | Sequence[float] | np.ndarray = "w", thickness: float = 2.5, arrow_keys_modifier: str = "Shift", name: str = None, ): """ - Create a horizontal or vertical line slider that is synced to an ipywidget IntSlider + Create a horizontal or vertical line that can be used to select a value along an axis. Parameters ---------- selection: int - initial x or y selected position for the slider, in world space + initial x or y selected position for the selector, in data space limits: (int, int) - (min, max) limits along the x or y axis for the selector, in world space + (min, max) limits along the x or y-axis for the selector, in data space axis: str, default "x" - "x" | "y", the axis which the slider can move along - - center: float - center offset of the selector on the orthogonal axis, by default the data mean + "x" | "y", the axis along which the selector can move parent: Graphic - parent graphic for this LineSelector + parent graphic for this LinearSelector arrow_keys_modifier: str modifier key that must be pressed to initiate movement using arrow keys, must be one of: - "Control", "Shift", "Alt" or ``None``. Double click on the selector first to enable the + "Control", "Shift", "Alt" or ``None``. Double-click the selector first to enable the arrow key movements, or set the attribute ``arrow_key_events_enabled = True`` thickness: float, default 2.5 - thickness of the slider + thickness of the selector - color: Any, default "w" - selection to set the color of the slider + edge_color: str | tuple | np.ndarray, default "w" + color of the selector name: str, optional - name of line slider + name of linear selector """ + self._fill_color = None + self._edge_color = pygfx.Color(edge_color) + self._vertex_color = None + if len(limits) != 2: raise ValueError("limits must be a tuple of 2 integers, i.e. (int, int)") self._limits = np.asarray(limits) - end_points = [-size / 2, size / 2] - if axis == "x": - xs = np.array([selection, selection]) - ys = np.array(end_points) - zs = np.zeros(2) + xs = np.array([selection, selection], dtype=np.float32) + ys = np.array([0, 1], dtype=np.float32) + zs = np.zeros(2, dtype=np.float32) - line_data = np.column_stack([xs, ys, zs]) elif axis == "y": - xs = np.array(end_points) - ys = np.array([selection, selection]) - zs = np.zeros(2) + xs = np.array([0, 1], dtype=np.float32) + ys = np.array([selection, selection], dtype=np.float32) + zs = np.zeros(2, dtype=np.float32) - line_data = np.column_stack([xs, ys, zs]) else: - raise ValueError("`axis` must be one of 'x' or 'y'") + raise ValueError("`axis` must be one of 'x' | 'y'") - line_data = line_data.astype(np.float32) + line_data = np.column_stack([xs, ys, zs]) - if thickness < 1.1: - material = pygfx.LineThinMaterial - else: - material = pygfx.LineMaterial + material = pygfx.LineInfiniteSegmentMaterial self.colors_outer = pygfx.Color([0.3, 0.3, 0.3, 1.0]) line_inner = pygfx.Line( # self.data.feature_data because data is a Buffer geometry=pygfx.Geometry(positions=line_data), - material=material(thickness=thickness, color=color, pick_write=True), + material=material(thickness=thickness, color=edge_color, pick_write=True), ) self.line_outer = pygfx.Line( @@ -153,16 +162,10 @@ def __init__( world_object.add(self.line_outer) world_object.add(line_inner) - self._move_info: dict = None - - self._block_ipywidget_call = False - - self._handled_widgets = list() - if axis == "x": - offset = (parent.offset[0], center, 0) + offset = (parent.offset[0], 0, 0) elif axis == "y": - offset = (center, parent.offset[1], 0) + offset = (0, parent.offset[1], 0) # init base selector BaseSelector.__init__( @@ -187,149 +190,22 @@ def __init__( else: self._selection.set_value(self, selection) - # update any ipywidgets - self.add_event_handler(self._update_ipywidgets, "selection") - - def _setup_ipywidget_slider(self, widget): - # setup an ipywidget slider with bidirectional callbacks to this LinearSelector - value = self.selection - - if isinstance(widget, ipywidgets.IntSlider): - value = int(value) - - widget.value = value - - # user changes widget -> linear selection changes - widget.observe(self._ipywidget_callback, "value") - - self._handled_widgets.append(widget) - - def _update_ipywidgets(self, ev): - # update the ipywidget sliders when LinearSelector value changes - self._block_ipywidget_call = True # prevent infinite recursion - - value = ev.info["value"] - # update all the handled slider widgets - for widget in self._handled_widgets: - if isinstance(widget, ipywidgets.IntSlider): - widget.value = int(value) - else: - widget.value = value - - self._block_ipywidget_call = False - - def _ipywidget_callback(self, change): - # update the LinearSelector when the ipywidget value changes - if self._block_ipywidget_call or self._moving: - return - - self.selection = change["new"] - - def _fpl_add_plot_area_hook(self, plot_area): - super()._fpl_add_plot_area_hook(plot_area=plot_area) - - # resize the slider widgets when the canvas is resized - self._plot_area.renderer.add_event_handler(self._set_slider_layout, "resize") - - def _set_slider_layout(self, *args): - w, h = self._plot_area.renderer.logical_size - - for widget in self._handled_widgets: - widget.layout = ipywidgets.Layout(width=f"{w}px") - - def make_ipywidget_slider(self, kind: str = "IntSlider", **kwargs): - """ - Makes and returns an ipywidget slider that is associated to this LinearSelector - - Parameters - ---------- - kind: str - "IntSlider", "FloatSlider" or "FloatLogSlider" - - kwargs - passed to the ipywidget slider constructor - - Returns - ------- - ipywidgets.Intslider or ipywidgets.FloatSlider - + def get_selected_index(self, graphic: Graphic = None) -> int | list[int]: """ + Data index the selector is currently at w.r.t. the Graphic data. - if not IS_JUPYTER: - raise ImportError( - "Must installed `ipywidgets` to use `make_ipywidget_slider()`" - ) - - if kind not in ["IntSlider", "FloatSlider", "FloatLogSlider"]: - raise TypeError( - f"`kind` must be one of: 'IntSlider', 'FloatSlider' or 'FloatLogSlider'\n" - f"You have passed: '{kind}'" - ) - - cls = getattr(ipywidgets, kind) - - value = self.selection - if "Int" in kind: - value = int(self.selection) - - slider = cls( - min=self.limits[0], - max=self.limits[1], - value=value, - **kwargs, - ) - self.add_ipywidget_handler(slider) - - return slider - - def add_ipywidget_handler(self, widget, step: Union[int, float] = None): - """ - Bidirectionally connect events with a ipywidget slider - - Parameters - ---------- - widget: ipywidgets.IntSlider, ipywidgets.FloatSlider, or ipywidgets.FloatLogSlider - ipywidget slider to connect to - - step: int or float, default ``None`` - step size, if ``None`` 100 steps are created - - """ - - if not isinstance( - widget, - (ipywidgets.IntSlider, ipywidgets.FloatSlider, ipywidgets.FloatLogSlider), - ): - raise TypeError( - f"`widget` must be one of: ipywidgets.IntSlider, ipywidgets.FloatSlider, or ipywidgets.FloatLogSlider\n" - f"You have passed a: <{type(widget)}" - ) - - if step is None: - step = (self.limits[1] - self.limits[0]) / 100 - - if isinstance(widget, ipywidgets.IntSlider): - step = int(step) - - widget.step = step - - self._setup_ipywidget_slider(widget) - - def get_selected_index(self, graphic: Graphic = None) -> Union[int, List[int]]: - """ - Data index the slider is currently at w.r.t. the Graphic data. With LineGraphic data, the geometry x or y - position is not always the data position, for example if plotting data using np.linspace. Use this to get - the data index of the slider. + With LineGraphic data, the geometry x or y position is not always the data position, for example if plotting + data using np.linspace. Use this to get the data index of the selector. Parameters ---------- graphic: Graphic, optional - Graphic to get the selected data index from. Default is the parent graphic associated to the slider. + Graphic to get the selected data index from. Default is the parent graphic associated to the selector. Returns ------- int or List[int] - data index the slider is currently at, list of ``int`` if a Collection + data index the selector is currently at, list of ``int`` if a Collection """ source = self._get_source(graphic) @@ -354,10 +230,10 @@ def _get_selected_index(self, graphic): "Line" in graphic.__class__.__name__ or "Scatter" in graphic.__class__.__name__ ): - # we want to find the index of the data closest to the slider position + # we want to find the index of the data closest to the selector position find_value = self.selection - # get closest data index to the world space position of the slider + # get closest data index to the world space position of the selector idx = np.searchsorted(data, find_value, side="left") if idx > 0 and ( @@ -372,9 +248,18 @@ def _get_selected_index(self, graphic): if "Image" in graphic.__class__.__name__: # indices map directly to grid geometry for image data buffer index = self.selection - return round(index) + shape = graphic.data[:].shape + + if self.axis == "x": + # assume selecting columns + upper_bound = shape[1] - 1 + elif self.axis == "y": + # assume selecting rows + upper_bound = shape[0] - 1 - def _move_graphic(self, delta: np.ndarray): + return min(round(index), upper_bound) + + def _move_graphic(self, move_info: MoveInfo): """ Moves the graphic @@ -385,13 +270,9 @@ def _move_graphic(self, delta: np.ndarray): """ - if self.axis == "x": - self.selection = self.selection + delta[0] - else: - self.selection = self.selection + delta[1] - - def _fpl_cleanup(self): - for widget in self._handled_widgets: - widget.unobserve(self._ipywidget_callback, "value") + # If this the first move in this drag, store initial selection + if move_info.start_selection is None: + move_info.start_selection = self.selection - super()._fpl_cleanup() + delta = move_info.delta[0] if self.axis == "x" else move_info.delta[1] + self.selection = move_info.start_selection + delta diff --git a/fastplotlib/graphics/selectors/_linear_region.py b/fastplotlib/graphics/selectors/_linear_region.py index ecc67b885..e93e2a147 100644 --- a/fastplotlib/graphics/selectors/_linear_region.py +++ b/fastplotlib/graphics/selectors/_linear_region.py @@ -1,57 +1,49 @@ -from typing import * from numbers import Real +from typing import Sequence import numpy as np import pygfx -from ...utils.gui import IS_JUPYTER from .._base import Graphic from .._collection_base import GraphicCollection -from .._features._selection_features import LinearRegionSelectionFeature -from ._base_selector import BaseSelector - - -if IS_JUPYTER: - # If using the jupyter backend, user has jupyter_rfb, and thus also ipywidgets - import ipywidgets +from ..features._selection_features import LinearRegionSelectionFeature +from ._base_selector import BaseSelector, MoveInfo class LinearRegionSelector(BaseSelector): + _features = {"selection": LinearRegionSelectionFeature} + @property def parent(self) -> Graphic | None: """graphic that the selector is associated with""" return self._parent @property - def selection(self) -> Sequence[float] | List[Sequence[float]]: + def selection(self) -> np.ndarray[float]: """ - (min, max) of data value along selector's axis + (min, max) of selector along selector's axis """ # TODO: This probably does not account for rotation since world.position # does not account for rotation, we can do this later return self._selection.value.copy() - # TODO: if no parent graphic is set, this just returns world positions + # TODO: if no parent graphic is set, this just returns values in world space # but should we change it? - # return self._selection.value @selection.setter def selection(self, selection: Sequence[float]): - # set (xmin, xmax), or (ymin, ymax) of the selector in data space + # set (min, max) of the selector in data space graphic = self._parent - if isinstance(graphic, GraphicCollection): - pass - self._selection.set_value(self, selection) @property - def limits(self) -> Tuple[float, float]: + def limits(self) -> tuple[float, float]: return self._limits @limits.setter - def limits(self, values: Tuple[float, float]): + def limits(self, values: tuple[float, float]): # check that `values` is an iterable of two real numbers # using `Real` here allows it to work with builtin `int` and `float` types, and numpy scaler types if len(values) != 2 or not all(map(lambda v: isinstance(v, Real), values)): @@ -70,8 +62,8 @@ def __init__( axis: str = "x", parent: Graphic = None, resizable: bool = True, - fill_color=(0, 0, 0.35), - edge_color=(0.8, 0.6, 0), + fill_color: str | Sequence[float] = (0, 0, 0.35), + edge_color: str | Sequence[float] = (0.8, 0.6, 0), edge_thickness: float = 8, arrow_keys_modifier: str = "Shift", name: str = None, @@ -82,7 +74,7 @@ def __init__( Assumes that the data under the selector is a function of the axis on which the selector moves along. Example: if the selector is along the x-axis, then there must be only one y-value for each - x-value, otherwise functions such as ``get_selected_data()`` do not make sense. + x-value, otherwise methods such as ``get_selected_data()`` do not make sense. Parameters ---------- @@ -93,19 +85,19 @@ def __init__( (min limit, max limit) within which the selector can move size: int - height or width of the selector + usually the data range, height or width of the selector center: float - center offset of the selector on the orthogonal axis, by default the data mean + usually the data mean, center offset of the selector on the orthogonal axis axis: str, default "x" - "x" | "y", axis the selected can move on + "x" | "y", axis along which the selector can move - parent: Graphic, default ``None`` - associate this selector with a parent Graphic from which to fetch data or indices + parent: ``Graphic`` instance, default ``None`` + associate this selector with a parent ``Graphic`` from which to fetch data or indices resizable: bool - if ``True``, the edges can be dragged to resize the width of the linear selection + if ``True``, the edges can be dragged to change the range of the selection fill_color: str, array, or tuple fill color for the selector, passed to pygfx.Color @@ -120,10 +112,13 @@ def __init__( modifier key that must be pressed to initiate movement using arrow keys, must be one of: "Control", "Shift", "Alt" or ``None`` - name: str - name for this selector graphic + name: str, optional + name of this selector graphic """ + self._edge_color = pygfx.Color(edge_color) + self._fill_color = pygfx.Color(fill_color) + self._vertex_color = None # lots of very close to zero values etc. so round them, otherwise things get weird if not len(selection) == 2: @@ -144,13 +139,17 @@ def __init__( if axis == "x": mesh = pygfx.Mesh( pygfx.box_geometry(1, size, 1), - pygfx.MeshBasicMaterial(color=pygfx.Color(fill_color), pick_write=True), + pygfx.MeshBasicMaterial( + color=pygfx.Color(self.fill_color), pick_write=True + ), ) elif axis == "y": mesh = pygfx.Mesh( pygfx.box_geometry(size, 1, 1), - pygfx.MeshBasicMaterial(color=pygfx.Color(fill_color), pick_write=True), + pygfx.MeshBasicMaterial( + color=pygfx.Color(self.fill_color), pick_write=True + ), ) else: raise ValueError("`axis` must be one of 'x' or 'y'") @@ -189,7 +188,7 @@ def __init__( positions=init_line_data.copy() ), # copy so the line buffer is isolated pygfx.LineMaterial( - thickness=edge_thickness, color=edge_color, pick_write=True + thickness=edge_thickness, color=self.edge_color, pick_write=True ), ) line1 = pygfx.Line( @@ -197,23 +196,23 @@ def __init__( positions=init_line_data.copy() ), # copy so the line buffer is isolated pygfx.LineMaterial( - thickness=edge_thickness, color=edge_color, pick_write=True + thickness=edge_thickness, color=self.edge_color, pick_write=True ), ) - self.edges: Tuple[pygfx.Line, pygfx.Line] = (line0, line1) + self.edges: tuple[pygfx.Line, pygfx.Line] = (line0, line1) # add the edge lines for edge in self.edges: edge.world.z = -0.5 group.add(edge) - # TODO: if parent offset changes, we should set the selector offset too + # TODO: if parent offset changes, we should set the selector offset too, use offset evented property # TODO: add check if parent is `None`, will throw error otherwise if axis == "x": - offset = (parent.offset[0], center, 0) + offset = (parent.offset[0], center + parent.offset[1], 0) elif axis == "y": - offset = (center, parent.offset[1], 0) + offset = (center + parent.offset[1], parent.offset[1], 0) # set the initial bounds of the selector # compensate for any offset from the parent graphic @@ -222,8 +221,6 @@ def __init__( selection, axis=axis, limits=self._limits ) - self._handled_widgets = list() - self._block_ipywidget_call = False self._pygfx_event = None BaseSelector.__init__( @@ -244,7 +241,7 @@ def __init__( def get_selected_data( self, graphic: Graphic = None - ) -> Union[np.ndarray, List[np.ndarray]]: + ) -> np.ndarray | list[np.ndarray]: """ Get the ``Graphic`` data bounded by the current selection. Returns a view of the data array. @@ -277,7 +274,7 @@ def get_selected_data( # this will return a list of views of the arrays, therefore no copy operations occur # it's fine and fast even as a list of views because there is no re-allocating of memory # this is fast even for slicing a 10,000 x 5,000 LineStack - data_selections: List[np.ndarray] = list() + data_selections: list[np.ndarray] = list() for i, g in enumerate(source.graphics): if ixs[i].size == 0: @@ -291,7 +288,7 @@ def get_selected_data( # slices n_datapoints dim data_selections.append(g.data[s]) - return source.data[s] + return data_selections else: if ixs.size == 0: # empty selection @@ -317,7 +314,7 @@ def get_selected_data( def get_selected_indices( self, graphic: Graphic = None - ) -> Union[np.ndarray, List[np.ndarray]]: + ) -> np.ndarray | list[np.ndarray]: """ Returns the indices of the ``Graphic`` data bounded by the current selection. @@ -371,162 +368,40 @@ def get_selected_indices( # indices map directly to grid geometry for image data buffer return np.arange(*bounds, dtype=int) - def make_ipywidget_slider(self, kind: str = "IntRangeSlider", **kwargs): - """ - Makes and returns an ipywidget slider that is associated to this LinearSelector - - Parameters - ---------- - kind: str - "IntRangeSlider" or "FloatRangeSlider" - - kwargs - passed to the ipywidget slider constructor - - Returns - ------- - ipywidgets.Intslider or ipywidgets.FloatSlider - - """ - - if not IS_JUPYTER: - raise ImportError( - "Must installed `ipywidgets` to use `make_ipywidget_slider()`" - ) - - if kind not in ["IntRangeSlider", "FloatRangeSlider"]: - raise TypeError( - f"`kind` must be one of: 'IntRangeSlider', or 'FloatRangeSlider'\n" - f"You have passed: '{kind}'" - ) - - cls = getattr(ipywidgets, kind) - - value = self.selection - if "Int" in kind: - value = tuple(map(int, self.selection)) + def _move_graphic(self, move_info: MoveInfo): - slider = cls( - min=self.limits[0], - max=self.limits[1], - value=value, - **kwargs, - ) - self.add_ipywidget_handler(slider) - - return slider - - def add_ipywidget_handler(self, widget, step: Union[int, float] = None): - """ - Bidirectionally connect events with a ipywidget slider - - Parameters - ---------- - widget: ipywidgets.IntRangeSlider or ipywidgets.FloatRangeSlider - ipywidget slider to connect to + # If this the first move in this drag, store initial selection + if move_info.start_selection is None: + move_info.start_selection = self.selection - step: int or float, default ``None`` - step size, if ``None`` 100 steps are created - - """ - if not isinstance( - widget, (ipywidgets.IntRangeSlider, ipywidgets.FloatRangeSlider) - ): - raise TypeError( - f"`widget` must be one of: ipywidgets.IntRangeSlider or ipywidgets.FloatRangeSlider\n" - f"You have passed a: <{type(widget)}" - ) - - if step is None: - step = (self.limits[1] - self.limits[0]) / 100 - - if isinstance(widget, ipywidgets.IntSlider): - step = int(step) - - widget.step = step - - self._setup_ipywidget_slider(widget) - - def _setup_ipywidget_slider(self, widget): - # setup an ipywidget slider with bidirectional callbacks to this LinearSelector - value = self.selection - - if isinstance(widget, ipywidgets.IntSlider): - value = tuple(map(int, value)) - - widget.value = value - - # user changes widget -> linear selection changes - widget.observe(self._ipywidget_callback, "value") - - # user changes linear selection -> widget changes - self.add_event_handler(self._update_ipywidgets, "selection") - - self._plot_area.renderer.add_event_handler(self._set_slider_layout, "resize") - - self._handled_widgets.append(widget) - - def _update_ipywidgets(self, ev): - # update the ipywidget sliders when LinearSelector value changes - self._block_ipywidget_call = True # prevent infinite recursion - - value = ev.pick_info["new_data"] - # update all the handled slider widgets - for widget in self._handled_widgets: - if isinstance(widget, ipywidgets.IntSlider): - widget.value = tuple(map(int, value)) - else: - widget.value = value - - self._block_ipywidget_call = False - - def _ipywidget_callback(self, change): - # update the LinearSelector if the ipywidget value changes - if self._block_ipywidget_call or self._moving: - return - - self.selection = change["new"] - - def _set_slider_layout(self, *args): - w, h = self._plot_area.renderer.logical_size - - for widget in self._handled_widgets: - widget.layout = ipywidgets.Layout(width=f"{w}px") - - def _move_graphic(self, delta: np.ndarray): # add delta to current min, max to get new positions - if self.axis == "x": - # add x value - new_min, new_max = self.selection + delta[0] + delta = move_info.delta[0] if self.axis == "x" else move_info.delta[1] - elif self.axis == "y": - # add y value - new_min, new_max = self.selection + delta[1] + # Get original selection + cur_min, cur_max = move_info.start_selection # move entire selector if event source was fill - if self._move_info.source == self.fill: - # prevent weird shrinkage of selector if one edge is already at the limit - if self.selection[0] == self.limits[0] and new_min < self.limits[0]: - # self._move_end(None) # TODO: cancel further movement to prevent weird asynchronization with pointer - return - if self.selection[1] == self.limits[1] and new_max > self.limits[1]: - # self._move_end(None) - return - - # move entire selector - self._selection.set_value(self, (new_min, new_max)) + if move_info.source == self.fill: + # Limit the delta to avoid weird resizine behavior + min_delta = self.limits[0] - cur_min + max_delta = self.limits[1] - cur_max + delta = np.clip(delta, min_delta, max_delta) + # Update both bounds with equal amount + self._selection.set_value(self, (cur_min + delta, cur_max + delta)) return - # if selector is not resizable return + # if selector not resizable return if not self._resizable: return # if event source was an edge and selector is resizable, # move the edge that caused the event - if self._move_info.source == self.edges[0]: + if move_info.source == self.edges[0]: # change only left or bottom bound - self._selection.set_value(self, (new_min, self._selection.value[1])) + new_min = min(cur_min + delta, cur_max) + self._selection.set_value(self, (new_min, cur_max)) - elif self._move_info.source == self.edges[1]: + elif move_info.source == self.edges[1]: # change only right or top bound - self._selection.set_value(self, (self.selection[0], new_max)) + new_max = max(cur_max + delta, cur_min) + self._selection.set_value(self, (cur_min, new_max)) diff --git a/fastplotlib/graphics/selectors/_polygon.py b/fastplotlib/graphics/selectors/_polygon.py index a4ecd440c..22e42e63e 100644 --- a/fastplotlib/graphics/selectors/_polygon.py +++ b/fastplotlib/graphics/selectors/_polygon.py @@ -62,11 +62,16 @@ def _add_segment(self, ev): """After click event, adds a new line segment""" self._current_mode = "add" - last_position = self._plot_area.map_screen_to_world(ev) - self._move_info = MoveInfo(last_position=last_position, source=None) + position = self._plot_area.map_screen_to_world(ev) + self._move_info = MoveInfo( + start_selection=None, + start_position=position, + delta=np.zeros_like(position), + source=None, + ) # line with same position for start and end until mouse moves - data = np.array([last_position, last_position]) + data = np.array([position, position]) new_line = pygfx.Line( geometry=pygfx.Geometry(positions=data.astype(np.float32)), diff --git a/fastplotlib/graphics/selectors/_rectangle.py b/fastplotlib/graphics/selectors/_rectangle.py new file mode 100644 index 000000000..db7691e07 --- /dev/null +++ b/fastplotlib/graphics/selectors/_rectangle.py @@ -0,0 +1,536 @@ +import warnings +from numbers import Real +from typing import * +import numpy as np + +import pygfx +from .._collection_base import GraphicCollection + +from .._base import Graphic +from ..features import RectangleSelectionFeature +from ._base_selector import BaseSelector, MoveInfo + + +class RectangleSelector(BaseSelector): + _features = {"selection": RectangleSelectionFeature} + + @property + def parent(self) -> Graphic | None: + """Graphic that selector is associated with.""" + return self._parent + + @property + def selection(self) -> np.ndarray[float]: + """ + (xmin, xmax, ymin, ymax) of the rectangle selection + """ + return self._selection.value.copy() + + @selection.setter + def selection(self, selection: Sequence[float]): + # set (xmin, xmax, ymin, ymax) of the selector in data space + graphic = self._parent + + if isinstance(graphic, GraphicCollection): + pass + + self._selection.set_value(self, selection) + + @property + def limits(self) -> Tuple[float, float, float, float]: + """Return the limits of the selector.""" + return self._limits + + @limits.setter + def limits(self, values: Tuple[float, float, float, float]): + if len(values) != 4 or not all(map(lambda v: isinstance(v, Real), values)): + raise TypeError("limits must be an iterable of two numeric values") + self._limits = tuple( + map(round, values) + ) # if values are close to zero things get weird so round them + self._selection._limits = self._limits + + def __init__( + self, + selection: Sequence[float], + limits: Sequence[float], + parent: Graphic = None, + resizable: bool = True, + fill_color=(0, 0, 0.35), + edge_color=(0.8, 0.6, 0), + edge_thickness: float = 8, + vertex_color=(0.7, 0.4, 0), + vertex_size: float = 8, + arrow_keys_modifier: str = "Shift", + name: str = None, + ): + """ + Create a RectangleSelector graphic which can be used to select a rectangular region of data. + Allows sub-selecting data from a ``Graphic`` or from multiple Graphics. + + Parameters + ---------- + selection: (float, float, float, float) + the initial selection of the rectangle, ``(x_min, x_max, y_min, y_max)`` + + limits: (float, float, float, float) + limits of the selector, ``(x_min, x_max, y_min, y_max)`` + + parent: Graphic, default ``None`` + associate this selector with a parent Graphic + + resizable: bool, default ``True`` + if ``True``, the edges can be dragged to resize the selection + + fill_color: str, array, or tuple + fill color for the selector as a str or RGBA array + + edge_color: str, array, or tuple + edge color for the selector as a str or RGBA array + + edge_thickness: float, default 8 + edge thickness + + vertex_color: str, array, or tuple + vertex color for the selector as a str or RGBA array + + arrow_keys_modifier: str + modifier key that must be pressed to initiate movement using arrow keys, must be one of: + "Control", "Shift", "Alt" or ``None`` + + name: str + name for this selector graphic + """ + + if not len(selection) == 4 or not len(limits) == 4: + raise ValueError() + + # lots of very close to zero values etc. so round them + selection = tuple(map(round, selection)) + limits = tuple(map(round, limits)) + + self._parent = parent + self._limits = np.asarray(limits) + self._resizable = resizable + + selection = np.asarray(selection) + + # world object for this will be a group + # basic mesh for the fill area of the selector + # line for each edge of the selector + group = pygfx.Group() + + xmin, xmax, ymin, ymax = selection + + self._fill_color = pygfx.Color(fill_color) + self._edge_color = pygfx.Color(edge_color) + self._vertex_color = pygfx.Color(vertex_color) + + width = xmax - xmin + height = ymax - ymin + + if width < 0 or height < 0: + raise ValueError() + + self.fill = pygfx.Mesh( + pygfx.box_geometry(width, height, 1), + pygfx.MeshBasicMaterial( + color=pygfx.Color(self.fill_color), pick_write=True + ), + ) + + self.fill.world.position = (0, 0, -2) + + group.add(self.fill) + + # position data for the left edge line + left_line_data = np.array( + [ + [xmin, ymin, 0], + [xmin, ymax, 0], + ] + ).astype(np.float32) + + left_line = pygfx.Line( + pygfx.Geometry(positions=left_line_data.copy()), + pygfx.LineMaterial(thickness=edge_thickness, color=self.edge_color), + ) + + # position data for the right edge line + right_line_data = np.array( + [ + [xmax, ymin, 0], + [xmax, ymax, 0], + ] + ).astype(np.float32) + + right_line = pygfx.Line( + pygfx.Geometry(positions=right_line_data.copy()), + pygfx.LineMaterial(thickness=edge_thickness, color=self.edge_color), + ) + + # position data for the left edge line + bottom_line_data = np.array( + [ + [xmin, ymax, 0], + [xmax, ymax, 0], + ] + ).astype(np.float32) + + bottom_line = pygfx.Line( + pygfx.Geometry(positions=bottom_line_data.copy()), + pygfx.LineMaterial(thickness=edge_thickness, color=self.edge_color), + ) + + # position data for the right edge line + top_line_data = np.array( + [ + [xmin, ymin, 0], + [xmax, ymin, 0], + ] + ).astype(np.float32) + + top_line = pygfx.Line( + pygfx.Geometry(positions=top_line_data.copy()), + pygfx.LineMaterial(thickness=edge_thickness, color=self.edge_color), + ) + + self.edges: Tuple[pygfx.Line, pygfx.Line, pygfx.Line, pygfx.Line] = ( + left_line, + right_line, + bottom_line, + top_line, + ) # left line, right line, bottom line, top line + + # add the edge lines + for edge in self.edges: + edge.world.z = -0.5 + group.add(edge) + + # vertices + top_left_vertex_data = (xmin, ymax, 1) + top_right_vertex_data = (xmax, ymax, 1) + bottom_left_vertex_data = (xmin, ymin, 1) + bottom_right_vertex_data = (xmax, ymin, 1) + + top_left_vertex = pygfx.Points( + pygfx.Geometry(positions=[top_left_vertex_data], sizes=[vertex_size]), + pygfx.PointsMarkerMaterial( + marker="square", + size=vertex_size, + color=self.vertex_color, + size_mode="vertex", + edge_color=self.vertex_color, + ), + ) + + top_right_vertex = pygfx.Points( + pygfx.Geometry(positions=[top_right_vertex_data], sizes=[vertex_size]), + pygfx.PointsMarkerMaterial( + marker="square", + size=vertex_size, + color=self.vertex_color, + size_mode="vertex", + edge_color=self.vertex_color, + ), + ) + + bottom_left_vertex = pygfx.Points( + pygfx.Geometry(positions=[bottom_left_vertex_data], sizes=[vertex_size]), + pygfx.PointsMarkerMaterial( + marker="square", + size=vertex_size, + color=self.vertex_color, + size_mode="vertex", + edge_color=self.vertex_color, + ), + ) + + bottom_right_vertex = pygfx.Points( + pygfx.Geometry(positions=[bottom_right_vertex_data], sizes=[vertex_size]), + pygfx.PointsMarkerMaterial( + marker="square", + size=vertex_size, + color=self.vertex_color, + size_mode="vertex", + edge_color=self.vertex_color, + ), + ) + + self.vertices: Tuple[pygfx.Points, pygfx.Points, pygfx.Points, pygfx.Points] = ( + bottom_left_vertex, + bottom_right_vertex, + top_left_vertex, + top_right_vertex, + ) + + for vertex in self.vertices: + vertex.world.z = -0.25 + group.add(vertex) + + self._selection = RectangleSelectionFeature(selection, limits=self._limits) + + # include parent offset + if parent is not None: + offset = (parent.offset[0], parent.offset[1], 0) + else: + offset = (0, 0, 0) + + BaseSelector.__init__( + self, + edges=self.edges, + fill=(self.fill,), + vertices=self.vertices, + hover_responsive=(*self.edges, *self.vertices), + arrow_keys_modifier=arrow_keys_modifier, + parent=parent, + name=name, + offset=offset, + ) + + self._set_world_object(group) + + self.selection = selection + + def get_selected_data( + self, graphic: Graphic = None, mode: str = "full" + ) -> Union[np.ndarray, List[np.ndarray]]: + """ + Get the ``Graphic`` data bounded by the current selection. + Returns a view of the data array. + + If the ``Graphic`` is a collection, such as a ``LineStack``, it returns a list of views of the full array. + Can be performed on the ``parent`` Graphic or on another graphic by passing to the ``graphic`` arg. + + Parameters + ---------- + graphic: Graphic, optional, default ``None`` + if provided, returns the data selection from this graphic instead of the graphic set as ``parent`` + mode: str, default 'full' + One of 'full', 'partial', or 'ignore'. Indicates how selected data should be returned based on the + selectors position over the graphic. Only used for ``LineGraphic``, ``LineCollection``, and ``LineStack`` + | If 'full', will return all data bounded by the x and y limits of the selector even if partial indices + along one axis are not fully covered by the selector. + | If 'partial' will return only the data that is bounded by the selector, missing indices not bounded by the + selector will be set to NaNs + | If 'ignore', will only return data for graphics that have indices completely bounded by the selector + + Returns + ------- + np.ndarray or List[np.ndarray] + view or list of views of the full array, returns empty array if selection is empty + """ + source = self._get_source(graphic) + ixs = self.get_selected_indices(source) + + # do not need to check for mode for images, because the selector is bounded by the image shape + # will always be `full` + if "Image" in source.__class__.__name__: + row_ixs, col_ixs = ixs + row_slice = slice(row_ixs[0], row_ixs[-1] + 1) + col_slice = slice(col_ixs[0], col_ixs[-1] + 1) + + return source.data[row_slice, col_slice] + + if mode not in ["full", "partial", "ignore"]: + raise ValueError( + f"`mode` must be one of 'full', 'partial', or 'ignore', you have passed {mode}" + ) + if "Line" in source.__class__.__name__: + + if isinstance(source, GraphicCollection): + data_selections: List[np.ndarray] = list() + + for i, g in enumerate(source.graphics): + # want to keep same length as the original line collection + if ixs[i].size == 0: + data_selections.append( + np.array([], dtype=np.float32).reshape(0, 3) + ) + else: + # s gives entire slice of data along the x + s = slice( + ixs[i][0], ixs[i][-1] + 1 + ) # add 1 because these are direct indices + # slices n_datapoints dim + + # calculate missing ixs using set difference + # then calculate shift + missing_ixs = ( + np.setdiff1d(np.arange(ixs[i][0], ixs[i][-1] + 1), ixs[i]) + - ixs[i][0] + ) + + match mode: + # take all ixs, ignore missing + case "full": + data_selections.append(g.data[s]) + # set missing ixs data to NaNs + case "partial": + if len(missing_ixs) > 0: + data = g.data[s].copy() + data[missing_ixs] = np.nan + data_selections.append(data) + else: + data_selections.append(g.data[s]) + # ignore lines that do not have full ixs to start + case "ignore": + if len(missing_ixs) > 0: + data_selections.append( + np.array([], dtype=np.float32).reshape(0, 3) + ) + else: + data_selections.append(g.data[s]) + return data_selections + else: # for lines + if ixs.size == 0: + # empty selection + return np.array([], dtype=np.float32).reshape(0, 3) + + s = slice( + ixs[0], ixs[-1] + 1 + ) # add 1 to end because these are direct indices + # slices n_datapoints dim + # slice with min, max is faster than using all the indices + + # get missing ixs + missing_ixs = np.setdiff1d(np.arange(ixs[0], ixs[-1] + 1), ixs) - ixs[0] + + match mode: + # return all, do not care about missing + case "full": + return source.data[s] + # set missing to NaNs + case "partial": + if len(missing_ixs) > 0: + data = source.data[s].copy() + data[missing_ixs] = np.nan + return data + else: + return source.data[s] + # missing means nothing will be returned even if selector is partially over data + # warn the user and return empty + case "ignore": + if len(missing_ixs) > 0: + warnings.warn( + "You have selected 'ignore' mode. Selected graphic has incomplete indices. " + "Move the selector or change the mode to one of `partial` or `full`." + ) + return np.array([], dtype=np.float32) + else: + return source.data[s] + + def get_selected_indices( + self, graphic: Graphic = None + ) -> np.ndarray | tuple[np.ndarray]: + """ + Returns the indices of the ``Graphic`` data bounded by the current selection. + + These are the data indices which correspond to the data under the selector. + + Parameters + ---------- + graphic: Graphic, default ``None`` + If provided, returns the selection indices from this graphic instrad of the graphic set as ``parent`` + + Returns + ------- + Union[np.ndarray, List[np.ndarray]] + data indicies of the selection + | tuple of [row_indices, col_indices] if the graphic is an image + | list of indices along the x-dimension for each line if graphic is a line collection + | array of indices along the x-dimension if graphic is a line + """ + # get indices from source + source = self._get_source(graphic) + + # selector (xmin, xmax, ymin, ymax) values + xmin, xmax, ymin, ymax = self.selection + + # image data does not need to check for mode because the selector is always bounded + # to the image + if "Image" in source.__class__.__name__: + col_ixs = np.arange(xmin, xmax, dtype=int) + row_ixs = np.arange(ymin, ymax, dtype=int) + return row_ixs, col_ixs + + if "Line" in source.__class__.__name__: + if isinstance(source, GraphicCollection): + ixs = list() + for g in source.graphics: + data = g.data.value + g_ixs = np.where( + (data[:, 0] >= xmin - g.offset[0]) + & (data[:, 0] <= xmax - g.offset[0]) + & (data[:, 1] >= ymin - g.offset[1]) + & (data[:, 1] <= ymax - g.offset[1]) + )[0] + ixs.append(g_ixs) + else: + # map only this graphic + data = source.data.value + ixs = np.where( + (data[:, 0] >= xmin) + & (data[:, 0] <= xmax) + & (data[:, 1] >= ymin) + & (data[:, 1] <= ymax) + )[0] + + return ixs + + def _move_graphic(self, move_info: MoveInfo): + + # If this the first move in this drag, store initial selection + if move_info.start_selection is None: + move_info.start_selection = self.selection + + # add delta to current min, max to get new positions + deltax, deltay = move_info.delta[0], move_info.delta[1] + + # Get original selection + xmin, xmax, ymin, ymax = move_info.start_selection + + # move entire selector if source is fill + if move_info.source == self.fill: + # Limit the delta to avoid weird resizine behavior + min_deltax = self.limits[0] - xmin + max_deltax = self.limits[1] - xmax + min_deltay = self.limits[2] - ymin + max_deltay = self.limits[3] - ymax + deltax = np.clip(deltax, min_deltax, max_deltax) + deltay = np.clip(deltay, min_deltay, max_deltay) + # Update all bounds with equal amount + self._selection.set_value( + self, (xmin + deltax, xmax + deltax, ymin + deltay, ymax + deltay) + ) + return + + # if selector not resizable return + if not self._resizable: + return + + xmin_new = min(xmin + deltax, xmax) + xmax_new = max(xmax + deltax, xmin) + ymin_new = min(ymin + deltay, ymax) + ymax_new = max(ymax + deltay, ymin) + + if move_info.source == self.vertices[0]: # bottom left + self._selection.set_value(self, (xmin_new, xmax, ymin_new, ymax)) + if move_info.source == self.vertices[1]: # bottom right + self._selection.set_value(self, (xmin, xmax_new, ymin_new, ymax)) + if move_info.source == self.vertices[2]: # top left + self._selection.set_value(self, (xmin_new, xmax, ymin, ymax_new)) + if move_info.source == self.vertices[3]: # top right + self._selection.set_value(self, (xmin, xmax_new, ymin, ymax_new)) + # if event source was an edge and selector is resizable, move the edge that caused the event + if move_info.source == self.edges[0]: + self._selection.set_value(self, (xmin_new, xmax, ymin, ymax)) + if move_info.source == self.edges[1]: + self._selection.set_value(self, (xmin, xmax_new, ymin, ymax)) + if move_info.source == self.edges[2]: + self._selection.set_value(self, (xmin, xmax, ymin_new, ymax)) + if move_info.source == self.edges[3]: + self._selection.set_value(self, (xmin, xmax, ymin, ymax_new)) + + def _move_to_pointer(self, ev): + pass diff --git a/fastplotlib/graphics/selectors/_rectangle_region.py b/fastplotlib/graphics/selectors/_rectangle_region.py deleted file mode 100644 index bc2cad5b1..000000000 --- a/fastplotlib/graphics/selectors/_rectangle_region.py +++ /dev/null @@ -1,355 +0,0 @@ -from typing import * -import numpy as np - -import pygfx - -from ...utils import mesh_masks -from .._base import Graphic -from .._features import GraphicFeature -from ._base_selector import BaseSelector - - -class RectangleBoundsFeature(GraphicFeature): - """ - Feature for a linearly bounding region - - **event pick info** - - +--------------------+-------------------------------+--------------------------------------------------------------------------------------+ - | key | type | description | - +====================+===============================+======================================================================================+ - | "selected_indices" | ``numpy.ndarray`` or ``None`` | selected graphic data indices | - | "selected_data" | ``numpy.ndarray`` or ``None`` | selected graphic data | - | "new_data" | ``(float, float)`` | current bounds in world coordinates, NOT necessarily the same as "selected_indices". | - +--------------------+-------------------------------+--------------------------------------------------------------------------------------+ - - """ - - def __init__( - self, parent, bounds: Tuple[int, int], axis: str, limits: Tuple[int, int] - ): - super().__init__(parent, data=bounds) - - self._axis = axis - self.limits = limits - - self._set(bounds) - - @property - def axis(self) -> str: - """one of "x" | "y" """ - return self._axis - - def _set(self, value: Tuple[float, float, float, float]): - """ - - Parameters - ---------- - value: Tuple[float] - new values: (xmin, xmax, ymin, ymax) - - Returns - ------- - - """ - xmin, xmax, ymin, ymax = value - - # TODO: make sure new values do not exceed limits - - # change fill mesh - # change left x position of the fill mesh - self._parent.fill.geometry.positions.data[mesh_masks.x_left] = xmin - - # change right x position of the fill mesh - self._parent.fill.geometry.positions.data[mesh_masks.x_right] = xmax - - # change bottom y position of the fill mesh - self._parent.fill.geometry.positions.data[mesh_masks.y_bottom] = ymin - - # change top position of the fill mesh - self._parent.fill.geometry.positions.data[mesh_masks.y_top] = ymax - - # change the edge lines - - # each edge line is defined by two end points which are stored in the - # geometry.positions - # [x0, y0, z0] - # [x1, y1, z0] - - # left line - z = self._parent.edges[0].geometry.positions.data[:, -1][0] - self._parent.edges[0].geometry.positions.data[:] = np.array( - [[xmin, ymin, z], [xmin, ymax, z]] - ) - - # right line - self._parent.edges[1].geometry.positions.data[:] = np.array( - [[xmax, ymin, z], [xmax, ymax, z]] - ) - - # bottom line - self._parent.edges[2].geometry.positions.data[:] = np.array( - [[xmin, ymin, z], [xmax, ymin, z]] - ) - - # top line - self._parent.edges[3].geometry.positions.data[:] = np.array( - [[xmin, ymax, z], [xmax, ymax, z]] - ) - - self._data = value # (value[0], value[1]) - - # send changes to GPU - self._parent.fill.geometry.positions.update_range() - - for edge in self._parent.edges: - edge.geometry.positions.update_range() - - # calls any events - self._feature_changed(key=None, new_data=value) - - # TODO: feature_changed - def _feature_changed(self, key: Union[int, slice, Tuple[slice]], new_data: Any): - return - # if len(self._event_handlers) < 1: - # return - # - # if self._parent.parent is not None: - # selected_ixs = self._parent.get_selected_indices() - # selected_data = self._parent.get_selected_data() - # else: - # selected_ixs = None - # selected_data = None - # - # pick_info = { - # "index": None, - # "collection-index": self._collection_index, - # "world_object": self._parent.world_object, - # "new_data": new_data, - # "selected_indices": selected_ixs, - # "selected_data": selected_data - # "graphic", - # "delta", - # "pygfx_event" - # } - # - # event_data = FeatureEvent(type="bounds", pick_info=pick_info) - # - # self._call_event_handlers(event_data) - - -class RectangleRegionSelector(Graphic, BaseSelector): - feature_events = "bounds" - - def __init__( - self, - bounds: Tuple[int, int, int, int], - limits: Tuple[int, int], - origin: Tuple[int, int], - axis: str = "x", - parent: Graphic = None, - resizable: bool = True, - fill_color=(0, 0, 0.35), - edge_color=(0.8, 0.8, 0), - arrow_keys_modifier: str = "Shift", - name: str = None, - ): - """ - Create a LinearRegionSelector graphic which can be moved only along either the x-axis or y-axis. - Allows sub-selecting data from a ``Graphic`` or from multiple Graphics. - - bounds[0], limits[0], and position[0] must be identical - - Parameters - ---------- - bounds: (int, int, int, int) - the initial bounds of the rectangle, ``(x_min, x_max, y_min, y_max)`` - - limits: (int, int, int, int) - limits of the selector, ``(x_min, x_max, y_min, y_max)`` - - origin: (int, int) - initial position of the selector - - axis: str, default ``None`` - Restrict the selector to the "x" or "y" axis. - If the selector is restricted to an axis you cannot change the bounds along the other axis. For example, - if you set ``axis="x"``, then the ``y_min``, ``y_max`` values of the bounds will stay constant. - - parent: Graphic, default ``None`` - associate this selector with a parent Graphic - - resizable: bool - if ``True``, the edges can be dragged to resize the selection - - fill_color: str, array, or tuple - fill color for the selector, passed to pygfx.Color - - edge_color: str, array, or tuple - edge color for the selector, passed to pygfx.Color - - name: str - name for this selector graphic - """ - - # lots of very close to zero values etc. so round them - bounds = tuple(map(round, bounds)) - limits = tuple(map(round, limits)) - origin = tuple(map(round, origin)) - - Graphic.__init__(self, name=name) - - self.parent = parent - - # world object for this will be a group - # basic mesh for the fill area of the selector - # line for each edge of the selector - group = pygfx.Group() - self._set_world_object(group) - - xmin, xmax, ymin, ymax = bounds - - width = xmax - xmin - height = ymax - ymin - - self.fill = pygfx.Mesh( - pygfx.box_geometry(width, height, 1), - pygfx.MeshBasicMaterial(color=pygfx.Color(fill_color), pick_write=True), - ) - - self.fill.position.set(*origin, -2) - self.world_object.add(self.fill) - - # position data for the left edge line - left_line_data = np.array( - [ - [origin[0], (-height / 2) + origin[1], 0.5], - [origin[0], (height / 2) + origin[1], 0.5], - ] - ).astype(np.float32) - - left_line = pygfx.Line( - pygfx.Geometry(positions=left_line_data), - pygfx.LineMaterial(thickness=3, color=edge_color), - ) - - # position data for the right edge line - right_line_data = np.array( - [ - [bounds[1], (-height / 2) + origin[1], 0.5], - [bounds[1], (height / 2) + origin[1], 0.5], - ] - ).astype(np.float32) - - right_line = pygfx.Line( - pygfx.Geometry(positions=right_line_data), - pygfx.LineMaterial(thickness=3, color=edge_color), - ) - - # position data for the left edge line - bottom_line_data = np.array( - [ - [(-width / 2) + origin[0], origin[1], 0.5], - [(width / 2) + origin[0], origin[1], 0.5], - ] - ).astype(np.float32) - - bottom_line = pygfx.Line( - pygfx.Geometry(positions=bottom_line_data), - pygfx.LineMaterial(thickness=3, color=edge_color), - ) - - # position data for the right edge line - top_line_data = np.array( - [ - [(-width / 2) + origin[0], bounds[1], 0.5], - [(width / 2) + origin[0], bounds[1], 0.5], - ] - ).astype(np.float32) - - top_line = pygfx.Line( - pygfx.Geometry(positions=top_line_data), - pygfx.LineMaterial(thickness=3, color=edge_color), - ) - - self.edges: Tuple[pygfx.Line, ...] = ( - left_line, - right_line, - bottom_line, - top_line, - ) # left line, right line, bottom line, top line - - # add the edge lines - for edge in self.edges: - edge.position.set(*origin, -1) - self.world_object.add(edge) - - self._resizable = resizable - self._bounds = RectangleBoundsFeature(self, bounds, axis=axis, limits=limits) - - BaseSelector.__init__( - self, - edges=self.edges, - fill=(self.fill,), - hover_responsive=self.edges, - arrow_keys_modifier=arrow_keys_modifier, - axis=axis, - ) - - @property - def bounds(self) -> RectangleBoundsFeature: - """ - (xmin, xmax, ymin, ymax) The current bounds of the selection in world space. - - These bounds will NOT necessarily correspond to the indices of the data that are under the selection. - Use ``get_selected_indices()` which maps from world space to data indices. - """ - return self._bounds - - def _move_graphic(self, delta): - # new left bound position - xmin_new = Vector3(self.bounds()[0]).add(delta).x - - # new right bound position - xmax_new = Vector3(self.bounds()[1]).add(delta).x - - # new bottom bound position - ymin_new = Vector3(0, self.bounds()[2]).add(delta).y - - # new top bound position - ymax_new = Vector3(0, self.bounds()[3]).add(delta).y - - # move entire selector if source was fill - if self._move_info.source == self.fill: - # set the new bounds - self.bounds = (xmin_new, xmax_new, ymin_new, ymax_new) - return - - # if selector is not resizable do nothing - if not self._resizable: - return - - # if resizable, move edges - - xmin, xmax, ymin, ymax = self.bounds() - - # change only left bound - if self._move_info.source == self.edges[0]: - xmin = xmin_new - - # change only right bound - elif self._move_info.source == self.edges[1]: - xmax = xmax_new - - # change only bottom bound - elif self._move_info.source == self.edges[2]: - ymin = ymin_new - - # change only top bound - elif self._move_info.source == self.edges[3]: - ymax = ymax_new - else: - return - - # set the new bounds - self.bounds = (xmin, xmax, ymin, ymax) diff --git a/fastplotlib/graphics/text.py b/fastplotlib/graphics/text.py index fcee6129b..fd0e9d702 100644 --- a/fastplotlib/graphics/text.py +++ b/fastplotlib/graphics/text.py @@ -2,7 +2,7 @@ import numpy as np from ._base import Graphic -from ._features import ( +from .features import ( TextData, FontSize, TextFaceColor, @@ -13,11 +13,11 @@ class TextGraphic(Graphic): _features = { - "text", - "font_size", - "face_color", - "outline_color", - "outline_thickness", + "text": TextData, + "font_size": FontSize, + "face_color": TextFaceColor, + "outline_color": TextOutlineColor, + "outline_thickness": TextOutlineThickness, } def __init__( @@ -43,10 +43,10 @@ def __init__( font_size: float | int, default 10 font size - face_color: str or array, default "w" + face_color: str, array, list, tuple, default "w" str or RGBA array to set the color of the text - outline_color: str or array, default "w" + outline_color: str, array, list, tuple, default "w" str or RGBA array to set the outline color of the text outline_thickness: float, default 0 @@ -66,7 +66,7 @@ def __init__( * Horizontal values: "left", "center", "right" **kwargs - passed to Graphic + passed to :class:`.Graphic` """ @@ -79,13 +79,11 @@ def __init__( self._outline_thickness = TextOutlineThickness(outline_thickness) world_object = pygfx.Text( - pygfx.TextGeometry( - text=self.text, - font_size=self.font_size, - screen_space=screen_space, - anchor=anchor, - ), - pygfx.TextMaterial( + text=self.text, + font_size=self.font_size, + screen_space=screen_space, + anchor=anchor, + material=pygfx.TextMaterial( color=self.face_color, outline_color=self.outline_color, outline_thickness=self.outline_thickness, @@ -97,9 +95,14 @@ def __init__( self.offset = offset + @property + def world_object(self) -> pygfx.Text: + """Text world object""" + return super(TextGraphic, self).world_object + @property def text(self) -> str: - """the text displayed""" + """Get or set the text""" return self._text.value @text.setter @@ -108,7 +111,7 @@ def text(self, text: str): @property def font_size(self) -> float | int: - """ "text font size""" + """Get or set the font size""" return self._font_size.value @font_size.setter @@ -117,7 +120,7 @@ def font_size(self, size: float | int): @property def face_color(self) -> pygfx.Color: - """text face color""" + """Get or set the face color""" return self._face_color.value @face_color.setter @@ -126,7 +129,7 @@ def face_color(self, color: str | np.ndarray | list[float] | tuple[float]): @property def outline_thickness(self) -> float: - """text outline thickness""" + """Get or set the outline thickness""" return self._outline_thickness.value @outline_thickness.setter @@ -135,7 +138,7 @@ def outline_thickness(self, thickness: float): @property def outline_color(self) -> pygfx.Color: - """text outline color""" + """Get or set the outline color""" return self._outline_color.value @outline_color.setter diff --git a/fastplotlib/graphics/utils.py b/fastplotlib/graphics/utils.py new file mode 100644 index 000000000..6be5aefc4 --- /dev/null +++ b/fastplotlib/graphics/utils.py @@ -0,0 +1,37 @@ +from contextlib import contextmanager + +from ._base import Graphic + + +@contextmanager +def pause_events(*graphics: Graphic): + """ + Context manager for pausing Graphic events. + + Examples + -------- + + .. code-block:: + + # pass in any number of graphics + with fpl.pause_events(graphic1, graphic2, graphic3): + # enter context manager + # all events are blocked from graphic1, graphic2, graphic3 + + # context manager exited, event states restored. + + """ + if not all([isinstance(g, Graphic) for g in graphics]): + raise TypeError( + f"`pause_events` only takes Graphic instances as arguments, " + f"you have passed the following types:\n{[type(g) for g in graphics]}" + ) + + original_vals = [g.block_events for g in graphics] + + for g in graphics: + g.block_events = True + yield + + for g, value in zip(graphics, original_vals): + g.block_events = value diff --git a/fastplotlib/layouts/__init__.py b/fastplotlib/layouts/__init__.py index 60111cabc..23839586c 100644 --- a/fastplotlib/layouts/__init__.py +++ b/fastplotlib/layouts/__init__.py @@ -1,3 +1,10 @@ from ._figure import Figure +from ._subplot import Subplot +from ._utils import IMGUI -__all__ = ["Figure"] +if IMGUI: + from ._imgui_figure import ImguiFigure + + __all__ = ["Figure", "ImguiFigure"] +else: + __all__ = ["Figure"] diff --git a/fastplotlib/layouts/_engine.py b/fastplotlib/layouts/_engine.py new file mode 100644 index 000000000..bf73d5f0d --- /dev/null +++ b/fastplotlib/layouts/_engine.py @@ -0,0 +1,390 @@ +from functools import partial + +import numpy as np +import pygfx + +from ._subplot import Subplot +from ._rect import RectManager + + +class ScreenSpaceCamera(pygfx.Camera): + """ + Same as pygfx.ScreenCoordsCamera but y-axis is inverted. + + So top left corner is (0, 0). This is easier to manage because we + often resize using the bottom right corner. + + """ + + def _update_projection_matrix(self): + width, height = self._view_size + sx, sy, sz = 2 / width, 2 / height, 1 + dx, dy, dz = -1, 1, 0 # pygfx is -1, -1, 0 + m = sx, 0, 0, dx, 0, sy, 0, dy, 0, 0, sz, dz, 0, 0, 0, 1 + proj_matrix = np.array(m, dtype=float).reshape(4, 4) + proj_matrix.flags.writeable = False + return proj_matrix + + +class BaseLayout: + def __init__( + self, + renderer: pygfx.WgpuRenderer, + subplots: np.ndarray[Subplot], + canvas_rect: tuple[float, float], + moveable: bool, + resizeable: bool, + ): + """ + Base layout engine, subclass to create a usable layout engine. + """ + self._renderer = renderer + self._subplots: np.ndarray[Subplot] = subplots.ravel() + self._canvas_rect = canvas_rect + + self._last_pointer_pos: np.ndarray[np.float64, np.float64] = np.array( + [np.nan, np.nan] + ) + + # the current user action, move or resize + self._active_action: str | None = None + # subplot that is currently in action, i.e. currently being moved or resized + self._active_subplot: Subplot | None = None + # subplot that is in focus, i.e. being hovered by the pointer + self._subplot_focus: Subplot | None = None + + for subplot in self._subplots: + # highlight plane when pointer enters it + subplot.frame.plane.add_event_handler( + partial(self._highlight_plane, subplot), "pointer_enter" + ) + + if resizeable: + # highlight/unhighlight resize handler when pointer enters/leaves + subplot.frame.resize_handle.add_event_handler( + partial(self._highlight_resize_handler, subplot), "pointer_enter" + ) + subplot.frame.resize_handle.add_event_handler( + partial(self._unhighlight_resize_handler, subplot), "pointer_leave" + ) + + def _inside_render_rect(self, subplot: Subplot, pos: tuple[int, int]) -> bool: + """whether the pos is within the render area, used for filtering out pointer events""" + rect = subplot.frame.get_render_rect() + + x0, y0 = rect[:2] + + x1 = x0 + rect[2] + y1 = y0 + rect[3] + + if (x0 < pos[0] < x1) and (y0 < pos[1] < y1): + return True + + return False + + def canvas_resized(self, canvas_rect: tuple): + """ + called by figure when canvas is resized + + Parameters + ---------- + canvas_rect: (x, y, w, h) + the rect that pygfx can render to, excludes any areas used by imgui. + + """ + + self._canvas_rect = canvas_rect + for subplot in self._subplots: + subplot.frame.canvas_resized(canvas_rect) + + def _highlight_resize_handler(self, subplot: Subplot, ev): + if self._active_action == "resize": + return + + ev.target.material.color = subplot.frame.resize_handle_color.highlight + + def _unhighlight_resize_handler(self, subplot: Subplot, ev): + if self._active_action == "resize": + return + + ev.target.material.color = subplot.frame.resize_handle_color.idle + + def _highlight_plane(self, subplot: Subplot, ev): + if self._active_action is not None: + return + + # reset color of previous focus + if self._subplot_focus is not None: + self._subplot_focus.frame.plane.material.color = ( + subplot.frame.plane_color.idle + ) + + self._subplot_focus = subplot + ev.target.material.color = subplot.frame.plane_color.highlight + + def __len__(self): + return len(self._subplots) + + +class WindowLayout(BaseLayout): + def __init__( + self, + renderer, + subplots: np.ndarray[Subplot], + canvas_rect: tuple, + moveable=True, + resizeable=True, + ): + """ + Flexible layout engine that allows freely moving and resizing subplots. + Subplots are not allowed to overlap. + + We use a screenspace camera to perform an underlay render pass to draw the + subplot frames, there is no depth rendering so we do not allow overlaps. + + """ + + super().__init__(renderer, subplots, canvas_rect, moveable, resizeable) + + self._last_pointer_pos: np.ndarray[np.float64, np.float64] = np.array( + [np.nan, np.nan] + ) + + for subplot in self._subplots: + if moveable: + # start a move action + subplot.frame.plane.add_event_handler( + partial(self._action_start, subplot, "move"), "pointer_down" + ) + # start a resize action + subplot.frame.resize_handle.add_event_handler( + partial(self._action_start, subplot, "resize"), "pointer_down" + ) + + if moveable or resizeable: + # when pointer moves, do an iteration of move or resize action + self._renderer.add_event_handler(self._action_iter, "pointer_move") + + # end the action when pointer button goes up + self._renderer.add_event_handler(self._action_end, "pointer_up") + + def _new_extent_from_delta(self, delta: tuple[int, int]) -> np.ndarray: + delta_x, delta_y = delta + if self._active_action == "resize": + # subtract only from x1, y1 + new_extent = self._active_subplot.frame.extent - np.asarray( + [0, delta_x, 0, delta_y] + ) + else: + # moving + new_extent = self._active_subplot.frame.extent - np.asarray( + [delta_x, delta_x, delta_y, delta_y] + ) + + x0, x1, y0, y1 = new_extent + w = x1 - x0 + h = y1 - y0 + + # make sure width and height are valid + # min width, height is 50px + if w <= 50: # width > 0 + new_extent[:2] = self._active_subplot.frame.extent[:2] + + if h <= 50: # height > 0 + new_extent[2:] = self._active_subplot.frame.extent[2:] + + # ignore movement if this would cause an overlap + for subplot in self._subplots: + if subplot is self._active_subplot: + continue + + if subplot.frame.rect_manager.overlaps(new_extent): + # we have an overlap, need to ignore one or more deltas + # ignore x + if not subplot.frame.rect_manager.is_left_of( + x0 + ) or not subplot.frame.rect_manager.is_right_of(x1): + new_extent[:2] = self._active_subplot.frame.extent[:2] + + # ignore y + if not subplot.frame.rect_manager.is_above( + y0 + ) or not subplot.frame.rect_manager.is_below(y1): + new_extent[2:] = self._active_subplot.frame.extent[2:] + + # make sure all vals are non-negative + if (new_extent[:2] < 0).any(): + # ignore delta_x + new_extent[:2] = self._active_subplot.frame.extent[:2] + + if (new_extent[2:] < 0).any(): + # ignore delta_y + new_extent[2:] = self._active_subplot.frame.extent[2:] + + # canvas extent + cx0, cy0, cw, ch = self._canvas_rect + + # check if new x-range is beyond canvas x-max + if (new_extent[:2] > cx0 + cw).any(): + new_extent[:2] = self._active_subplot.frame.extent[:2] + + # check if new y-range is beyond canvas y-max + if (new_extent[2:] > cy0 + ch).any(): + new_extent[2:] = self._active_subplot.frame.extent[2:] + + return new_extent + + def _action_start(self, subplot: Subplot, action: str, ev): + if self._inside_render_rect(subplot, pos=(ev.x, ev.y)): + return + + if ev.button == 1: # left mouse button + self._active_action = action + if action == "resize": + subplot.frame.resize_handle.material.color = ( + subplot.frame.resize_handle_color.action + ) + elif action == "move": + subplot.frame.plane.material.color = subplot.frame.plane_color.action + else: + raise ValueError + + self._active_subplot = subplot + self._last_pointer_pos[:] = ev.x, ev.y + + def _action_iter(self, ev): + if self._active_action is None: + return + + delta_x, delta_y = self._last_pointer_pos - (ev.x, ev.y) + new_extent = self._new_extent_from_delta((delta_x, delta_y)) + self._active_subplot.frame.extent = new_extent + self._last_pointer_pos[:] = ev.x, ev.y + + def _action_end(self, ev): + self._active_action = None + if self._active_subplot is not None: + self._active_subplot.frame.resize_handle.material.color = ( + self._active_subplot.frame.resize_handle_color.idle + ) + self._active_subplot.frame.plane.material.color = ( + self._active_subplot.frame.plane_color.idle + ) + self._active_subplot = None + + self._last_pointer_pos[:] = np.nan + + def set_rect(self, subplot: Subplot, rect: tuple | list | np.ndarray): + """ + Set the rect of a Subplot + + Parameters + ---------- + subplot: Subplot + the subplot to set the rect of + + rect: (x, y, w, h) + as absolute pixels or fractional. + If width & height <= 1 the rect is assumed to be fractional. + Conversely, if width & height > 1 the rect is assumed to be in absolute pixels. + width & height must be > 0. Negative values are not allowed. + + """ + + new_rect = RectManager(*rect, self._canvas_rect) + extent = new_rect.extent + # check for overlaps + for s in self._subplots: + if s is subplot: + continue + + if s.frame.rect_manager.overlaps(extent): + raise ValueError(f"Given rect: {rect} overlaps with another subplot.") + + def set_extent(self, subplot: Subplot, extent: tuple | list | np.ndarray): + """ + Set the extent of a Subplot + + Parameters + ---------- + subplot: Subplot + the subplot to set the extent of + + extent: (xmin, xmax, ymin, ymax) + as absolute pixels or fractional. + If xmax & ymax <= 1 the extent is assumed to be fractional. + Conversely, if xmax & ymax > 1 the extent is assumed to be in absolute pixels. + Negative values are not allowed. xmax - xmin & ymax - ymin must be > 0. + + """ + + new_rect = RectManager.from_extent(extent, self._canvas_rect) + extent = new_rect.extent + # check for overlaps + for s in self._subplots: + if s is subplot: + continue + + if s.frame.rect_manager.overlaps(extent): + raise ValueError( + f"Given extent: {extent} overlaps with another subplot." + ) + + +class GridLayout(WindowLayout): + def __init__( + self, + renderer, + subplots: np.ndarray[Subplot], + canvas_rect: tuple[float, float, float, float], + shape: tuple[int, int], + ): + """ + Grid layout engine that auto-sets Frame and Subplot rects such that they maintain + a fixed grid layout. Does not allow freely moving or resizing subplots. + + """ + + super().__init__( + renderer, subplots, canvas_rect, moveable=False, resizeable=False + ) + + # {Subplot: (row_ix, col_ix)}, dict mapping subplots to their row and col index in the grid layout + self._subplot_grid_position: dict[Subplot, tuple[int, int]] + self._shape = shape + + @property + def shape(self) -> tuple[int, int]: + return self._shape + + def set_rect(self, subplot, rect: np.ndarray | list | tuple): + raise NotImplementedError( + "set_rect() not implemented for GridLayout which is an auto layout manager" + ) + + def set_extent(self, subplot, extent: np.ndarray | list | tuple): + raise NotImplementedError( + "set_extent() not implemented for GridLayout which is an auto layout manager" + ) + + def add_row(self): + raise NotImplementedError("Not yet implemented") + + def add_column(self): + raise NotImplementedError("Not yet implemented") + + def remove_row(self): + raise NotImplementedError("Not yet implemented") + + def remove_column(self): + raise NotImplementedError("Not yet implemented") + + def add_subplot(self): + raise NotImplementedError( + "Not implemented for GridLayout which is an auto layout manager" + ) + + def remove_subplot(self, subplot): + raise NotImplementedError( + "Not implemented for GridLayout which is an auto layout manager" + ) diff --git a/fastplotlib/layouts/_figure.py b/fastplotlib/layouts/_figure.py index d330c6928..bfd97000b 100644 --- a/fastplotlib/layouts/_figure.py +++ b/fastplotlib/layouts/_figure.py @@ -1,8 +1,6 @@ import os from itertools import product, chain -from multiprocessing import Queue from pathlib import Path -from time import time import numpy as np from typing import Literal, Iterable @@ -11,19 +9,27 @@ import pygfx -from wgpu.gui import WgpuCanvasBase +from rendercanvas import BaseRenderCanvas -from ._video_writer import VideoWriterAV -from ._utils import make_canvas_and_renderer, create_controller, create_camera +from ._utils import ( + make_canvas_and_renderer, + create_controller, + create_camera, + get_extents_from_grid, +) from ._utils import controller_types as valid_controller_types from ._subplot import Subplot +from ._engine import GridLayout, WindowLayout, ScreenSpaceCamera from .. import ImageGraphic +from ..tools import Tooltip class Figure: def __init__( self, shape: tuple[int, int] = (1, 1), + rects: list[tuple | np.ndarray] = None, + extents: list[tuple | np.ndarray] = None, cameras: ( Literal["2d", "3d"] | Iterable[Iterable[Literal["2d", "3d"]]] @@ -41,20 +47,39 @@ def __init__( | Iterable[Iterable[str]] ) = None, controllers: pygfx.Controller | Iterable[Iterable[pygfx.Controller]] = None, - canvas: str | WgpuCanvasBase | pygfx.Texture = None, + canvas: str | BaseRenderCanvas | pygfx.Texture = None, renderer: pygfx.WgpuRenderer = None, + canvas_kwargs: dict = None, size: tuple[int, int] = (500, 300), names: list | np.ndarray = None, + show_tooltips: bool = False, ): """ - A grid of subplots. + Create a Figure containing Subplots. Parameters ---------- - shape: (int, int), default (1, 1) - (n_rows, n_cols) - - cameras: "2d", "3", list of "2d" | "3d", Iterable of camera instances, or Iterable of "2d" | "3d", optional + shape: tuple[int, int], default (1, 1) + shape [n_rows, n_cols] that defines a grid of subplots + + rects: list of tuples or arrays + list of rects (x, y, width, height) that define the subplots. + rects can be defined in absolute pixels or as a fraction of the canvas. + If width & height <= 1 the rect is assumed to be fractional. + Conversely, if width & height > 1 the rect is assumed to be in absolute pixels. + width & height must be > 0. Negative values are not allowed. + + extents: list of tuples or arrays + list of extents (xmin, xmax, ymin, ymax) that define the subplots. + extents can be defined in absolute pixels or as a fraction of the canvas. + If xmax & ymax <= 1 the extent is assumed to be fractional. + Conversely, if xmax & ymax > 1 the extent is assumed to be in absolute pixels. + Negative values are not allowed. xmax - xmin & ymax - ymin must be > 0. + + If both ``rects`` and ``extents`` are provided, then ``rects`` takes precedence over ``extents``, i.e. + ``extents`` is ignored when ``rects`` are also provided. + + cameras: "2d", "3d", list of "2d" | "3d", Iterable of camera instances, or Iterable of "2d" | "3d", optional | if str, one of ``"2d"`` or ``"3d"`` indicating 2D or 3D cameras for all subplots | Iterable/list/array of ``2d`` and/or ``3d`` that specifies the camera type for each subplot | Iterable/list/array of pygfx.PerspectiveCamera instances @@ -69,7 +94,6 @@ def __init__( controller_ids: str, list of int, np.ndarray of int, or list with sublists of subplot str names, optional | If `None` a unique controller is created for each subplot | If "sync" all the subplots use the same controller - | If array/list it must be reshapeable to ``grid_shape``. This allows custom assignment of controllers @@ -80,60 +104,138 @@ def __init__( | this syncs subplot_a, subplot_b and subplot_e together; syncs subplot_c and subplot_d together controllers: pygfx.Controller | list[pygfx.Controller] | np.ndarray[pygfx.Controller], optional - directly provide pygfx.Controller instances(s). Useful if you want to use a controller from an existing - plot/subplot. Other controller kwargs, i.e. ``controller_types`` and ``controller_ids`` are ignored if - ``controllers`` are provided. + Directly provide pygfx.Controller instances(s). Useful if you want to use a ``Controller`` from an existing + subplot or a ``Controller`` you have already instantiated. Also useful if you want to provide a custom + ``Controller`` subclass. Other controller kwargs, i.e. ``controller_types`` and ``controller_ids`` + are ignored if `controllers` are provided. - canvas: WgpuCanvas, optional - Canvas for drawing + canvas: str, BaseRenderCanvas, pygfx.Texture + Canvas to draw the figure onto, usually auto-selected based on running environment. renderer: pygfx.Renderer, optional pygfx renderer instance + canvas_kwargs: dict, optional + kwargs to pass to the canvas + size: (int, int), optional - starting size of canvas, default (500, 300) + starting size of canvas in absolute pixels, default (500, 300) names: list or array of str, optional subplot names + + show_tooltips: bool, default False + show tooltips on graphics + """ - self._shape = shape + if rects is not None: + if not all(isinstance(v, (np.ndarray, tuple, list)) for v in rects): + raise TypeError( + f"rects must a list of arrays, tuples, or lists of rects (x, y, w, h), you have passed: {rects}" + ) + n_subplots = len(rects) + layout_mode = "rect" + extents = [None] * n_subplots + + elif extents is not None: + if not all(isinstance(v, (np.ndarray, tuple, list)) for v in extents): + raise TypeError( + f"extents must a list of arrays, tuples, or lists of extents (xmin, xmax, ymin, ymax), " + f"you have passed: {extents}" + ) + n_subplots = len(extents) + layout_mode = "extent" + rects = [None] * n_subplots + + else: + if not all(isinstance(v, (int, np.integer)) for v in shape): + raise TypeError( + f"shape argument must be a tuple[n_rows, n_cols], you have passed: {shape}" + ) + n_subplots = shape[0] * shape[1] + layout_mode = "grid" + + # create fractional extents from the grid + extents = get_extents_from_grid(shape) + # empty rects + rects = [None] * n_subplots if names is not None: - if len(list(chain(*names))) != len(self): + # user has specified subplot names + subplot_names = np.asarray(names).flatten() + # make an array without nones for sanity checks + subplot_names_without_nones = subplot_names[subplot_names != np.array(None)] + + # make sure all names are unique + if ( + subplot_names_without_nones.size + != np.unique(subplot_names_without_nones).size + ): + raise ValueError( + f"subplot `names` must be unique, you have provided: {names}" + ) + + # check that there are enough subplots given the number of names + if subplot_names.size > n_subplots: raise ValueError( - "must provide same number of subplot `names` as specified by Figure `shape`" + f"must provide same number or fewer subplot `names` than number of supblots specified by shape, " + f"extents, or rects." + f"You have specified {n_subplots} subplots, but {subplot_names.size} subplot names." ) - subplot_names = np.asarray(names).reshape(self.shape) + if subplot_names.size < n_subplots: + # pad the subplot names with nones + subplot_names = np.concatenate( + [ + subplot_names, + np.asarray([None] * (n_subplots - subplot_names.size)), + ] + ) + else: + # no user specified subplot names + if layout_mode == "grid": + # make names that show the [row index, col index] + subplot_names = np.asarray( + list(map(str, product(range(shape[0]), range(shape[1])))) + ) + else: + subplot_names = None + + if canvas_kwargs is not None: + if size not in canvas_kwargs.keys(): + canvas_kwargs["size"] = size else: - subplot_names = None + canvas_kwargs = {"size": size, "max_fps": 60.0, "vsync": True} - canvas, renderer = make_canvas_and_renderer(canvas, renderer) + canvas, renderer = make_canvas_and_renderer( + canvas, renderer, canvas_kwargs=canvas_kwargs + ) + + canvas.add_event_handler(self._fpl_reset_layout, "resize") if isinstance(cameras, str): # create the array representing the views for each subplot in the grid - cameras = np.array([cameras] * len(self)).reshape(self.shape) + cameras = np.array([cameras] * n_subplots) - # list -> array if necessary - cameras = np.asarray(cameras).reshape(self.shape) + # list/tuple -> array if necessary + cameras = np.asarray(cameras).flatten() - if cameras.shape != self.shape: - raise ValueError("Number of cameras does not match the number of subplots") + if cameras.size != n_subplots: + raise ValueError( + f"Number of cameras: {cameras.size} does not match the number of specified subplots: {n_subplots}" + ) # create the cameras - subplot_cameras = np.empty(self.shape, dtype=object) - for i, j in product(range(self.shape[0]), range(self.shape[1])): - subplot_cameras[i, j] = create_camera(camera_type=cameras[i, j]) + subplot_cameras = np.empty(n_subplots, dtype=object) + for index in range(n_subplots): + subplot_cameras[index] = create_camera(camera_type=cameras[index]) # if controller instances have been specified for each subplot if controllers is not None: - # one controller for all subplots if isinstance(controllers, pygfx.Controller): - controllers = [controllers] * len(self) - # subplot_controllers[:] = controllers - # # subplot_controllers = np.asarray([controllers] * len(self), dtype=object) + controllers = [controllers] * n_subplots # individual controller instance specified for each subplot else: @@ -146,40 +248,37 @@ def __init__( pass else: raise TypeError( - "controllers argument must be a single pygfx.Controller instance, or a Iterable of " - "pygfx.Controller instances" + f"controllers argument must be a single pygfx.Controller instance, or a Iterable of " + f"pygfx.Controller instances. You have passed: {controllers}" ) - try: - controllers = np.asarray(controllers).reshape(shape) - except ValueError: + subplot_controllers: np.ndarray[pygfx.Controller] = np.asarray( + controllers + ).flatten() + if not subplot_controllers.size == n_subplots: raise ValueError( f"number of controllers passed must be the same as the number of subplots specified " - f"by shape: {self.shape}. You have passed: <{controllers.size}> controllers" + f"by shape, extents, or rects: {n_subplots}. You have passed: {subplot_controllers.size} controllers" ) from None - subplot_controllers: np.ndarray[pygfx.Controller] = np.empty( - self.shape, dtype=object - ) + for index in range(n_subplots): + subplot_controllers[index].add_camera(subplot_cameras[index]) - for i, j in product(range(self.shape[0]), range(self.shape[1])): - subplot_controllers[i, j] = controllers[i, j] - subplot_controllers[i, j].add_camera(subplot_cameras[i, j]) - - # parse controller_ids and controller_types to make desired controller for each supblot + # parse controller_ids and controller_types to make desired controller for each subplot else: if controller_ids is None: # individual controller for each subplot - controller_ids = np.arange(len(self)).reshape(self.shape) + controller_ids = np.arange(n_subplots) elif isinstance(controller_ids, str): if controller_ids == "sync": - # this will eventually make one controller for all subplots - controller_ids = np.zeros(self.shape, dtype=int) + # this will end up creating one controller to control the camera of every subplot + controller_ids = np.zeros(n_subplots, dtype=int) else: raise ValueError( f"`controller_ids` must be one of 'sync', an array/list of subplot names, or an array/list of " - f"integer ids. See the docstring for more details." + f"integer ids. You have passed: {controller_ids}.\n" + f"See the docstring for more details." ) # list controller_ids @@ -196,29 +295,36 @@ def __init__( # make sure each controller_id str is a subplot name if not all([n in subplot_names for n in ids_flat]): raise KeyError( - f"all `controller_ids` strings must be one of the subplot names" + f"all `controller_ids` strings must be one of the subplot names. You have passed " + f"the following `controller_ids`:\n{controller_ids}\n\n" + f"and the following subplot names:\n{subplot_names}" ) if len(ids_flat) > len(set(ids_flat)): raise ValueError( - "id strings must not appear twice in `controller_ids`" + f"id strings must not appear twice in `controller_ids`: \n{controller_ids}" ) # initialize controller_ids array - ids_init = np.arange(len(self)).reshape(self.shape) + ids_init = np.arange(n_subplots) # set id based on subplot position for each synced sublist - for i, sublist in enumerate(controller_ids): + for row_ix, sublist in enumerate(controller_ids): for name in sublist: ids_init[subplot_names == name] = -( - i + 1 - ) # use negative numbers because why not + row_ix + 1 + ) # use negative numbers to avoid collision with positive numbers from np.arange controller_ids = ids_init # integer ids elif all([isinstance(item, (int, np.integer)) for item in ids_flat]): - controller_ids = np.asarray(controller_ids).reshape(self.shape) + controller_ids = np.asarray(controller_ids).flatten() + if controller_ids.max() < 0: + raise ValueError( + f"if passing an integer array of `controller_ids`, " + f"all the integers must be positive:{controller_ids}" + ) else: raise TypeError( @@ -226,25 +332,28 @@ def __init__( f"you have passed: {controller_ids}" ) - if controller_ids.shape != self.shape: + if controller_ids.size != n_subplots: raise ValueError( - "Number of controller_ids does not match the number of subplots" + f"Number of controller_ids: {controller_ids.size} " + f"does not match the number of subplots: {n_subplots}" ) if controller_types is None: # `create_controller()` will auto-determine controller for each subplot based on defaults - controller_types = np.array(["default"] * len(self)).reshape(self.shape) + controller_types = np.array(["default"] * n_subplots) # valid controller types if isinstance(controller_types, str): - controller_types = [[controller_types]] + controller_types = np.array([controller_types] * n_subplots) - types_flat = list(chain(*controller_types)) + controller_types: np.ndarray[pygfx.Controller] = np.asarray( + controller_types + ).flatten() # str controller_type or pygfx instances valid_str = list(valid_controller_types.keys()) + ["default"] # make sure each controller type is valid - for controller_type in types_flat: + for controller_type in controller_types: if controller_type is None: continue @@ -254,12 +363,8 @@ def __init__( f"Valid `controller_types` arguments are:\n {valid_str}" ) - controller_types: np.ndarray[pygfx.Controller] = np.asarray( - controller_types - ).reshape(self.shape) - # make the real controllers for each subplot - subplot_controllers = np.empty(shape=self.shape, dtype=object) + subplot_controllers = np.empty(shape=n_subplots, dtype=object) for cid in np.unique(controller_ids): cont_type = controller_types[controller_ids == cid] if np.unique(cont_type).size > 1: @@ -290,135 +395,201 @@ def __init__( self._canvas = canvas self._renderer = renderer - nrows, ncols = self.shape + if layout_mode == "grid": + n_rows, n_cols = shape + grid_index_iterator = list(product(range(n_rows), range(n_cols))) + self._subplots: np.ndarray[Subplot] = np.empty(shape=shape, dtype=object) + resizeable = False - self._subplots: np.ndarray[Subplot] = np.ndarray( - shape=(nrows, ncols), dtype=object - ) + else: + self._subplots: np.ndarray[Subplot] = np.empty( + shape=n_subplots, dtype=object + ) + resizeable = True - for i, j in self._get_iterator(): - position = (i, j) - camera = subplot_cameras[i, j] - controller = subplot_controllers[i, j] + for i in range(n_subplots): + camera = subplot_cameras[i] + controller = subplot_controllers[i] if subplot_names is not None: - name = subplot_names[i, j] + name = subplot_names[i] else: name = None - self._subplots[i, j] = Subplot( + subplot = Subplot( parent=self, - position=position, - parent_dims=(nrows, ncols), camera=camera, controller=controller, canvas=canvas, renderer=renderer, name=name, + rect=rects[i], + extent=extents[i], # figure created extents for grid layout + resizeable=resizeable, + ) + + if layout_mode == "grid": + row_ix, col_ix = grid_index_iterator[i] + self._subplots[row_ix, col_ix] = subplot + else: + self._subplots[i] = subplot + + if layout_mode == "grid": + self._layout = GridLayout( + self.renderer, + subplots=self._subplots, + canvas_rect=self.get_pygfx_render_area(), + shape=shape, + ) + + elif layout_mode == "rect" or layout_mode == "extent": + self._layout = WindowLayout( + self.renderer, + subplots=self._subplots, + canvas_rect=self.get_pygfx_render_area(), ) + # underlay render pass + self._underlay_camera = ScreenSpaceCamera() + self._underlay_scene = pygfx.Scene() + + for subplot in self._subplots.ravel(): + self._underlay_scene.add(subplot.frame._world_object) + + # overlay render pass + self._overlay_camera = ScreenSpaceCamera() + self._overlay_scene = pygfx.Scene() + + # tooltip in overlay render pass + self._tooltip_manager = Tooltip() + self._overlay_scene.add(self._tooltip_manager.world_object) + + self._show_tooltips = show_tooltips + self._animate_funcs_pre: list[callable] = list() self._animate_funcs_post: list[callable] = list() self._current_iter = None - self._starting_size = size + self._sidecar = None self._output = None - if self.canvas.__class__.__name__ == "JupyterWgpuCanvas": - self.recorder = FigureRecorder(self) - else: - self.recorder = None + self._pause_render = False @property - def toolbar(self): - """ipywidget or QToolbar instance""" - return self._output.toolbar + def shape(self) -> list[tuple[int, int, int, int]] | tuple[int, int]: + """Only for grid layouts of subplots: [n_rows, n_cols]""" + if isinstance(self.layout, GridLayout): + return self.layout.shape @property - def output(self): - """ipywidget or QWidget that contains this plot""" - return self._output - - @property - def shape(self) -> tuple[int, int]: - """[n_rows, n_cols]""" - return self._shape + def layout(self) -> WindowLayout | GridLayout: + """ + Layout engine + """ + return self._layout @property - def canvas(self) -> WgpuCanvasBase: - """The canvas associated to this Figure""" + def canvas(self) -> BaseRenderCanvas: + """The canvas this Figure is drawn onto""" return self._canvas @property def renderer(self) -> pygfx.WgpuRenderer: - """The renderer associated to this Figure""" + """The renderer that renders this Figure""" return self._renderer @property def controllers(self) -> np.ndarray[pygfx.Controller]: """controllers, read-only array, access individual subplots to change a controller""" - controllers = np.asarray( - [subplot.controller for subplot in self], dtype=object - ).reshape(self.shape) + controllers = np.asarray([subplot.controller for subplot in self], dtype=object) + + if isinstance(self.layout, GridLayout): + controllers = controllers.reshape(self.shape) + controllers.flags.writeable = False return controllers @property def cameras(self) -> np.ndarray[pygfx.Camera]: """cameras, read-only array, access individual subplots to change a camera""" - cameras = np.asarray( - [subplot.camera for subplot in self], dtype=object - ).reshape(self.shape) + cameras = np.asarray([subplot.camera for subplot in self], dtype=object) + + if isinstance(self.layout, GridLayout): + cameras = cameras.reshape(self.shape) + cameras.flags.writeable = False return cameras @property def names(self) -> np.ndarray[str]: """subplot names, read-only array, access individual subplots to change a name""" - names = np.asarray([subplot.name for subplot in self]).reshape(self.shape) + names = np.asarray([subplot.name for subplot in self]) + + if isinstance(self.layout, GridLayout): + names = names.reshape(self.shape) + names.flags.writeable = False return names - def __getitem__(self, index: tuple[int, int] | str) -> Subplot: - if isinstance(index, str): - for subplot in self._subplots.ravel(): - if subplot.name == index: - return subplot - raise IndexError(f"no subplot with given name: {index}") - else: - return self._subplots[index[0], index[1]] + @property + def tooltip_manager(self) -> Tooltip: + """manage tooltips""" + return self._tooltip_manager + + @property + def show_tooltips(self) -> bool: + """show/hide tooltips for all graphics""" + return self._show_tooltips + + @show_tooltips.setter + def show_tooltips(self, val: bool): + self._show_tooltips = val + + if val: + # register all graphics + for subplot in self: + for graphic in subplot.graphics: + self._tooltip_manager.register(graphic) + + elif not val: + self._tooltip_manager.unregister_all() + + def _render(self, draw=True): + # draw the underlay planes + self.renderer.render(self._underlay_scene, self._underlay_camera, flush=False) - def render(self): # call the animation functions before render self._call_animate_functions(self._animate_funcs_pre) - for subplot in self: - subplot.render() + subplot._render() + + # overlay render pass + self.renderer.render(self._overlay_scene, self._overlay_camera, flush=False) self.renderer.flush() - self.canvas.request_draw() # call post-render animate functions self._call_animate_functions(self._animate_funcs_post) - def start_render(self): + if draw: + # needs to be here else events don't get processed + self.canvas.request_draw() + + def _start_render(self): """start render cycle""" - self.canvas.request_draw(self.render) - self.canvas.set_logical_size(*self._starting_size) + self.canvas.request_draw(self._render) def show( self, autoscale: bool = True, maintain_aspect: bool = None, - toolbar: bool = True, sidecar: bool = False, sidecar_kwargs: dict = None, - add_widgets: list = None, ): """ - Begins the rendering event loop and shows the plot in the desired output context (jupyter, qt or glfw). + Begins the rendering event loop and shows the Figure, returns the canvas Parameters ---------- @@ -428,39 +599,29 @@ def show( maintain_aspect: bool, default ``True`` maintain aspect ratio - toolbar: bool, default ``True`` - show toolbar - sidecar: bool, default ``True`` - display plot in a ``jupyterlab-sidecar``, only for jupyter output context + display plot in a ``jupyterlab-sidecar``, only in jupyter sidecar_kwargs: dict, default ``None`` kwargs for sidecar instance to display plot i.e. title, layout - add_widgets: list of widgets - a list of ipywidgets or QWidget that are vertically stacked below the plot - Returns ------- - OutputContext - In jupyter, it will display the plot in the output cell or sidecar - - In Qt, it will display the Plot, toolbar, etc. as stacked widget, use `Plot.widget` to access it. + BaseRenderCanvas + In Qt or GLFW, the canvas window containing the Figure will be shown. + In jupyter, it will display the plot in the output cell or sidecar. """ - # show was already called, return existing output context - if self._output is not None: + # show was already called, return canvas + if self._output: return self._output - self.start_render() + self._start_render() if sidecar_kwargs is None: sidecar_kwargs = dict() - if add_widgets is None: - add_widgets = list() - # flip y-axis if ImageGraphics are present for subplot in self: for g in subplot.graphics: @@ -474,37 +635,50 @@ def show( _maintain_aspect = subplot.camera.maintain_aspect else: _maintain_aspect = maintain_aspect - subplot.auto_scale(maintain_aspect=_maintain_aspect, zoom=0.95) - - # return the appropriate OutputContext based on the current canvas - if self.canvas.__class__.__name__ == "JupyterWgpuCanvas": - from .output.jupyter_output import ( - JupyterOutputContext, - ) # noqa - inline import - - self._output = JupyterOutputContext( - frame=self, - make_toolbar=toolbar, - use_sidecar=sidecar, - sidecar_kwargs=sidecar_kwargs, - add_widgets=add_widgets, - ) + subplot.auto_scale(maintain_aspect=maintain_aspect) + + # parse based on canvas type + if self.canvas.__class__.__name__ == "JupyterRenderCanvas": + if sidecar: + from sidecar import Sidecar + from IPython.display import display + + self._sidecar = Sidecar(**sidecar_kwargs) + self._output = self.canvas + with self._sidecar: + return display(self.canvas) + self._output = self.canvas + return self._output - elif self.canvas.__class__.__name__ == "QWgpuCanvas": - from .output.qt_output import QOutputContext # noqa - inline import + elif self.canvas.__class__.__name__ == "QRenderCanvas": + self._output = self.canvas + self._output.show() + return self.canvas - self._output = QOutputContext( - frame=self, make_toolbar=toolbar, add_widgets=add_widgets - ) + elif self.canvas.__class__.__name__ == "OffscreenRenderCanvas": + # for test and docs gallery screenshots + self._fpl_reset_layout() + for subplot in self: + subplot.axes.update_using_camera() + + # render call is blocking only on github actions for some reason, + # but not for rtd build, this is a workaround + # for CI tests, the render call works if it's in test_examples + # but it is necessary for the gallery images too so that's why this check is here + if "RTD_BUILD" in os.environ.keys(): + if os.environ["RTD_BUILD"] == "1": + self._render() - else: # assume GLFW, the output context is just the canvas + else: # assume GLFW self._output = self.canvas - # return the output context, this call is required for jupyter but not for Qt + # return the canvas return self._output def close(self): - self.output.close() + self._output.close() + if self._sidecar: + self._sidecar.close() def _call_animate_functions(self, funcs: list[callable]): for fn in funcs: @@ -580,9 +754,40 @@ def clear(self): for subplot in self: subplot.clear() + def export_numpy(self, rgb: bool = False) -> np.ndarray: + """ + Export a snapshot of the Figure as numpy array. + + Parameters + ---------- + rgb: bool, default ``False`` + if True, use alpha blending to return an RGB image. + if False, returns an RGBA array + + Returns + ------- + np.ndarray + [n_rows, n_cols, 3] for RGB or [n_rows, n_cols, 4] for RGBA + """ + snapshot = self.renderer.snapshot() + + if rgb: + bg = np.zeros(snapshot.shape).astype(np.uint8) + bg[:, :, -1] = 255 + + img_alpha = snapshot[..., -1] / 255 + + rgb = snapshot[..., :-1] * img_alpha[..., None] + bg[..., :-1] * np.ones( + img_alpha.shape + )[..., None] * (1 - img_alpha[..., None]) + + return rgb.astype(np.uint8) + + return snapshot + def export(self, uri: str | Path | bytes, **kwargs): """ - Use ``imageio`` for writing the current Figure to a file, or return a byte string. + Use ``imageio`` to export the current Figure to a file, or return a byte string. Must have ``imageio`` installed. Parameters @@ -605,205 +810,132 @@ def export(self, uri: str | Path | bytes, **kwargs): "conda install -c conda-forge imageio\n" ) else: - snapshot = self.renderer.snapshot() - remove_alpha = True - # image formats that support alpha channel: # https://en.wikipedia.org/wiki/Alpha_compositing#Image_formats_supporting_alpha_channels alpha_support = [".png", ".exr", ".tiff", ".tif", ".gif", ".jxl", ".svg"] - if isinstance(uri, str): - if any([uri.endswith(ext) for ext in alpha_support]): - remove_alpha = False + uri = Path(uri) - elif isinstance(uri, Path): - if uri.suffix in alpha_support: - remove_alpha = False + if uri.suffix in alpha_support: + rgb = False + else: + rgb = True - if remove_alpha: - # remove alpha channel if it's not supported - snapshot = snapshot[..., :-1].shape + snapshot = self.export_numpy(rgb=rgb) return iio.imwrite(uri, snapshot, **kwargs) - def _get_iterator(self): - return product(range(self.shape[0]), range(self.shape[1])) - - def __iter__(self): - self._current_iter = self._get_iterator() - return self - - def __next__(self) -> Subplot: - pos = self._current_iter.__next__() - return self._subplots[pos] - - def __len__(self): - """number of subplots""" - return self.shape[0] * self.shape[1] - - def __str__(self): - return f"{self.__class__.__name__} @ {hex(id(self))}" - - def __repr__(self): - newline = "\n\t" - - return ( - f"fastplotlib.{self.__class__.__name__} @ {hex(id(self))}\n" - f" Subplots:\n" - f"\t{newline.join(subplot.__str__() for subplot in self)}" - f"\n" - ) - + def open_popup(self, *args, **kwargs): + warn("popups only supported by ImguiFigure") -class FigureRecorder: - def __init__(self, figure: Figure): - self._figure = figure - self._video_writer: VideoWriterAV = None - self._video_writer_queue = Queue() - self._record_fps = 25 - self._record_timer = 0 - self._record_start_time = 0 + def _fpl_reset_layout(self, *ev): + """set the viewport rects for all subplots, *ev argument is not used, exists because of renderer resize event""" + self.layout.canvas_resized(self.get_pygfx_render_area()) - def _record(self): + def get_pygfx_render_area(self, *args) -> tuple[float, float, float, float]: """ - Sends frame to VideoWriter through video writer queue - """ - # current time - t = time() - - # put frame in queue only if enough time as passed according to the desired framerate - # otherwise it tries to record EVERY frame on every rendering cycle, which just blocks the rendering - if t - self._record_timer < (1 / self._record_fps): - return - - # reset timer - self._record_timer = t + Get rect for the portion of the canvas that the pygfx renderer draws to, + i.e. non-imgui, part of canvas - if self._video_writer is not None: - ss = self._figure.canvas.snapshot() - # exclude alpha channel - self._video_writer_queue.put(ss.data[..., :-1]) + Returns + ------- + tuple[float, float, float, float] + x_pos, y_pos, width, height - def start( - self, - path: str | Path, - fps: int = 25, - codec: str = "mpeg4", - pixel_format: str = "yuv420p", - options: dict = None, - ): """ - Start a recording, experimental. Call ``record_end()`` to end a recording. - Note: playback duration does not exactly match recording duration. - - Requires PyAV: https://github.com/PyAV-Org/PyAV - **Do not resize canvas during a recording, the width and height must remain constant!** + width, height = self.canvas.get_logical_size() - Parameters - ---------- - path: str or Path - path to save the recording + return 0, 0, width, height - fps: int, default ``25`` - framerate, do not use > 25 within jupyter + def add_subplot( + self, + rect=None, + extent=None, + camera: str | pygfx.PerspectiveCamera = "2d", + controller: str | pygfx.Controller = None, + name: str = None, + ) -> Subplot: + if isinstance(self.layout, GridLayout): + raise NotImplementedError( + "`add_subplot()` is not implemented for Figures using a GridLayout" + ) - codec: str, default "mpeg4" - codec to use, see ``ffmpeg`` list: https://www.ffmpeg.org/ffmpeg-codecs.html . - In general, ``"mpeg4"`` should work on most systems. ``"libx264"`` is a - better option if you have it installed. + raise NotImplementedError("Not yet implemented") + + camera = create_camera(camera) + controller = create_controller(controller, camera) + + subplot = Subplot( + parent=self, + camera=camera, + controller=controller, + canvas=self.canvas, + renderer=self.renderer, + name=name, + rect=rect, + extent=extent, # figure created extents for grid layout + resizeable=True, + ) - pixel_format: str, default "yuv420p" - pixel format + return subplot - options: dict, optional - Codec options. For example, if using ``"mpeg4"`` you can use ``{"q:v": "20"}`` to set the quality between - 1-31, where "1" is highest and "31" is lowest. If using ``"libx264"``` you can use ``{"crf": "30"}`` where - the "crf" value is between "0" (highest quality) and "50" (lowest quality). See ``ffmpeg`` docs for more - info on codec options + def remove_subplot(self, subplot: Subplot): + raise NotImplementedError("Not yet implemented") - Examples - -------- + if isinstance(self.layout, GridLayout): + raise NotImplementedError( + "`remove_subplot()` is not implemented for Figures using a GridLayout" + ) - With ``"mpeg4"`` + if subplot not in self._subplots.tolist(): + raise KeyError(f"given subplot: {subplot} not found in the layout.") - .. code-block:: python + subplot.clear() + self._underlay_scene.remove(subplot.frame._world_object) + subplot.frame._world_object.clear() + self.layout._subplots = None + subplots = self._subplots.tolist() + subplots.remove(subplot) + self.layout.remove_subplot(subplot) + del subplot - # start recording video - figure.recorder.start("./video.mp4", options={"q:v": "20"} + self._subplots = np.asarray(subplots) + self.layout._subplots = self._subplots.ravel() - # do stuff like interacting with the plot, change things, etc. + def __getitem__(self, index: str | int | tuple[int, int]) -> Subplot: + if isinstance(index, str): + for subplot in self._subplots.ravel(): + if subplot.name == index: + return subplot + raise IndexError(f"no subplot with given name: {index}") - # end recording - figure.recorder.stop() + if isinstance(self.layout, GridLayout): + return self._subplots[index[0], index[1]] - With ``"libx264"`` + return self._subplots[index] - .. code-block:: python + def __iter__(self): + self._current_iter = iter(range(len(self))) + return self - # start recording video - figure.recorder.start("./vid_x264.mp4", codec="libx264", options={"crf": "25"}) + def __next__(self) -> Subplot: + pos = self._current_iter.__next__() + return self._subplots.ravel()[pos] - # do stuff like interacting with the plot, change things, etc. + def __len__(self): + """number of subplots""" + return len(self._layout) - # end recording - figure.recorder.stop() + def __str__(self): + return f"{self.__class__.__name__}" - """ + def __repr__(self): + newline = "\n\t" - if Path(path).exists(): - raise FileExistsError(f"File already exists at given path: {path}") - - # queue for sending frames to VideoWriterAV process - self._video_writer_queue = Queue() - - # snapshot to get canvas width height - ss = self._figure.canvas.snapshot() - - # writer process - self._video_writer = VideoWriterAV( - path=str(path), - queue=self._video_writer_queue, - fps=int(fps), - width=ss.width, - height=ss.height, - codec=codec, - pixel_format=pixel_format, - options=options, + return ( + f"fastplotlib.{self.__class__.__name__}" + f" Subplots:\n" + f"\t{newline.join(subplot.__str__() for subplot in self)}" + f"\n" ) - - # start writer process - self._video_writer.start() - - # 1.3 seems to work well to reduce that difference between playback time and recording time - # will properly investigate later - self._record_fps = fps * 1.3 - self._record_start_time = time() - - # record timer used to maintain desired framerate - self._record_timer = time() - - self._figure.add_animations(self._record) - - def stop(self) -> float: - """ - End a current recording. Returns the real duration of the recording - - Returns - ------- - float - recording duration - """ - - # tell video writer that recording has finished - self._video_writer_queue.put(None) - - # wait for writer to finish - self._video_writer.join(timeout=5) - - self._video_writer = None - - # so self._record() is no longer called on every render cycle - self._figure.remove_animation(self._record) - - return time() - self._record_start_time diff --git a/fastplotlib/layouts/_frame.py b/fastplotlib/layouts/_frame.py new file mode 100644 index 000000000..cd2a1cbc2 --- /dev/null +++ b/fastplotlib/layouts/_frame.py @@ -0,0 +1,371 @@ +import numpy as np +import pygfx + +from ._rect import RectManager +from ._utils import IMGUI_TOOLBAR_HEIGHT +from ..utils.types import SelectorColorStates +from ..graphics import TextGraphic + + +""" +Each Subplot is framed by a 2D plane mesh, a rectangle. +The rectangles are viewed using the UnderlayCamera where (0, 0) is the top left corner. +We can control the bbox of this rectangle by changing the x and y boundaries of the rectangle. + +Note how the y values of the plane mesh are negative, this is because of the UnderlayCamera. +We always just keep the positive y value, and make it negative only when setting the plane mesh. + +Illustration: + +(0, 0) --------------------------------------------------- +---------------------------------------------------------- +---------------------------------------------------------- +--------------(x0, -y0) --------------- (x1, -y0) -------- +------------------------|||||||||||||||------------------- +------------------------|||||||||||||||------------------- +------------------------|||||||||||||||------------------- +------------------------|||rectangle|||------------------- +------------------------|||||||||||||||------------------- +------------------------|||||||||||||||------------------- +------------------------|||||||||||||||------------------- +--------------(x0, -y1) --------------- (x1, -y1)--------- +---------------------------------------------------------- +------------------------------------------- (canvas_width, canvas_height) + +""" + + +# wgsl shader snippet for SDF function that defines the resize handler, a lower right triangle. +sdf_wgsl_resize_handle = """ +// hardcode square root of 2 +let m_sqrt_2 = 1.4142135; + +// given a distance from an origin point, this defines the hypotenuse of a lower right triangle +let distance = (-coord.x + coord.y) / m_sqrt_2; + +// return distance for this position +return distance * size; +""" + + +class MeshMasks: + """Used set the x0, x1, y0, y1 positions of the plane mesh""" + + x0 = np.array( + [ + [False, False, False], + [True, False, False], + [False, False, False], + [True, False, False], + ] + ) + + x1 = np.array( + [ + [True, False, False], + [False, False, False], + [True, False, False], + [False, False, False], + ] + ) + + y0 = np.array( + [ + [False, True, False], + [False, True, False], + [False, False, False], + [False, False, False], + ] + ) + + y1 = np.array( + [ + [False, False, False], + [False, False, False], + [False, True, False], + [False, True, False], + ] + ) + + +masks = MeshMasks + + +class Frame: + # resize handle color states + resize_handle_color = SelectorColorStates( + idle=(0.6, 0.6, 0.6, 1), # gray + highlight=(1, 1, 1, 1), # white + action=(1, 0, 1, 1), # magenta + ) + + # plane color states + plane_color = SelectorColorStates( + idle=(0.1, 0.1, 0.1), # dark grey + highlight=(0.2, 0.2, 0.2), # less dark grey + action=(0.1, 0.1, 0.2), # dark gray-blue + ) + + def __init__( + self, + viewport, + rect, + extent, + resizeable, + title, + docks, + toolbar_visible, + canvas_rect, + ): + """ + Manages the plane mesh, resize handle point, and subplot title. + It also sets the viewport rects for the subplot rect and the rects of the docks. + + Note: This is a backend class not meant to be user-facing. + + Parameters + ---------- + viewport: pygfx.Viewport + Subplot viewport + + rect: tuple | np.ndarray + rect of this subplot + + extent: tuple | np.ndarray + extent of this subplot + + resizeable: bool + if the Frame is resizeable or not + + title: str + subplot title + + docks: dict[str, PlotArea] + subplot dock + + toolbar_visible: bool + toolbar visibility + + canvas_rect: tuple + figure canvas rect, the render area excluding any areas taken by imgui edge windows + + """ + + self.viewport = viewport + self.docks = docks + self._toolbar_visible = toolbar_visible + + # create rect manager to handle all the backend rect calculations + if rect is not None: + self._rect_manager = RectManager(*rect, canvas_rect) + elif extent is not None: + self._rect_manager = RectManager.from_extent(extent, canvas_rect) + else: + raise ValueError("Must provide `rect` or `extent`") + + wobjects = list() + + # make title graphic + if title is None: + title_text = "" + else: + title_text = title + self._title_graphic = TextGraphic(title_text, font_size=16, face_color="white") + wobjects.append(self._title_graphic.world_object) + + # init mesh of size 1 to graphically represent rect + geometry = pygfx.plane_geometry(1, 1) + material = pygfx.MeshBasicMaterial(color=self.plane_color.idle, pick_write=True) + self._plane = pygfx.Mesh(geometry, material) + wobjects.append(self._plane) + + # otherwise text isn't visible + self._plane.world.z = 0.5 + + # create resize handler at point (x1, y1) + x1, y1 = self.extent[[1, 3]] + self._resize_handle = pygfx.Points( + # note negative y since y is inverted in UnderlayCamera + # subtract 7 so that the bottom right corner of the triangle is at the center + pygfx.Geometry(positions=[[x1 - 7, -y1 + 7, 0]]), + pygfx.PointsMarkerMaterial( + color=self.resize_handle_color.idle, + marker="custom", + custom_sdf=sdf_wgsl_resize_handle, + size=12, + size_space="screen", + pick_write=True, + ), + ) + + if not resizeable: + # set all color states to transparent if Frame isn't resizeable + c = (0, 0, 0, 0) + self._resize_handle.material.color = c + self._resize_handle.material.edge_width = 0 + self.resize_handle_color = SelectorColorStates(c, c, c) + + wobjects.append(self._resize_handle) + + self._world_object = pygfx.Group() + self._world_object.add(*wobjects) + + self._reset() + self.reset_viewport() + + @property + def rect_manager(self) -> RectManager: + return self._rect_manager + + @property + def extent(self) -> np.ndarray: + """extent, (xmin, xmax, ymin, ymax)""" + # not actually stored, computed when needed + return self._rect_manager.extent + + @extent.setter + def extent(self, extent): + self._rect_manager.extent = extent + self._reset() + self.reset_viewport() + + @property + def rect(self) -> np.ndarray[int]: + """rect in absolute screen space, (x, y, w, h)""" + return self._rect_manager.rect + + @rect.setter + def rect(self, rect: np.ndarray): + self._rect_manager.rect = rect + self._reset() + self.reset_viewport() + + def reset_viewport(self): + """reset the viewport rect for the subplot and docks""" + + # get rect of the render area + x, y, w, h = self.get_render_rect() + + # dock sizes + s_left = self.docks["left"].size + s_top = self.docks["top"].size + s_right = self.docks["right"].size + s_bottom = self.docks["bottom"].size + + # top and bottom have same width + # subtract left and right dock sizes + w_top_bottom = w - s_left - s_right + # top and bottom have same x pos + x_top_bottom = x + s_left + + # set dock rects + self.docks["left"].viewport.rect = x, y, s_left, h + self.docks["top"].viewport.rect = x_top_bottom, y, w_top_bottom, s_top + self.docks["bottom"].viewport.rect = ( + x_top_bottom, + y + h - s_bottom, + w_top_bottom, + s_bottom, + ) + self.docks["right"].viewport.rect = x + w - s_right, y, s_right, h + + # calc subplot rect by adjusting for dock sizes + x += s_left + y += s_top + w -= s_left + s_right + h -= s_top + s_bottom + + # set subplot rect + self.viewport.rect = x, y, w, h + + def get_render_rect(self) -> tuple[float, float, float, float]: + """ + Get the actual render area of the subplot, including the docks. + + Excludes area taken by the subplot title and toolbar. Also adds a small amount of spacing around the subplot. + """ + # the rect of the entire Frame + x, y, w, h = self.rect + + x += 1 # add 1 so a 1 pixel edge is visible + w -= 2 # subtract 2, so we get a 1 pixel edge on both sides + + # add 4 pixels above and below title for better spacing + y = y + 4 + self._title_graphic.font_size + 4 + + # spacing on the bottom if imgui toolbar is visible + if self.toolbar_visible: + toolbar_space = IMGUI_TOOLBAR_HEIGHT + resize_handle_space = 0 + else: + toolbar_space = 0 + # need some space for resize handler if imgui toolbar isn't present + resize_handle_space = 13 + + # adjust for the 4 pixels from the line above + # also give space for resize handler if imgui toolbar is not present + h = ( + h + - 4 + - self._title_graphic.font_size + - toolbar_space + - 4 + - resize_handle_space + ) + + return x, y, w, h + + def _reset(self): + """reset the plane mesh using the current rect state""" + + x0, x1, y0, y1 = self._rect_manager.extent + w = self._rect_manager.w + + self._plane.geometry.positions.data[masks.x0] = x0 + self._plane.geometry.positions.data[masks.x1] = x1 + + # negative y because UnderlayCamera y is inverted + self._plane.geometry.positions.data[masks.y0] = -y0 + self._plane.geometry.positions.data[masks.y1] = -y1 + + self._plane.geometry.positions.update_full() + + # note negative y since y is inverted in UnderlayCamera + # subtract 7 so that the bottom right corner of the triangle is at the center + self._resize_handle.geometry.positions.data[0] = [x1 - 7, -y1 + 7, 0] + self._resize_handle.geometry.positions.update_full() + + # set subplot title position + x = x0 + (w / 2) + y = y0 + (self._title_graphic.font_size / 2) + self._title_graphic.world_object.world.x = x + self._title_graphic.world_object.world.y = -y - 4 # add 4 pixels for spacing + + @property + def toolbar_visible(self) -> bool: + return self._toolbar_visible + + @toolbar_visible.setter + def toolbar_visible(self, visible: bool): + self._toolbar_visible = visible + self.reset_viewport() + + @property + def title_graphic(self) -> TextGraphic: + return self._title_graphic + + @property + def plane(self) -> pygfx.Mesh: + """the plane mesh""" + return self._plane + + @property + def resize_handle(self) -> pygfx.Points: + """resize handler point""" + return self._resize_handle + + def canvas_resized(self, canvas_rect): + """called by layout is resized""" + self._rect_manager.canvas_resized(canvas_rect) + self._reset() + self.reset_viewport() diff --git a/fastplotlib/layouts/_graphic_methods_mixin.py b/fastplotlib/layouts/_graphic_methods_mixin.py index 387549ade..cb9cd04c0 100644 --- a/fastplotlib/layouts/_graphic_methods_mixin.py +++ b/fastplotlib/layouts/_graphic_methods_mixin.py @@ -3,16 +3,12 @@ from typing import * import numpy -import weakref from ..graphics import * from ..graphics._base import Graphic class GraphicMethodsMixin: - def __init__(self): - pass - def _create_graphic(self, graphic_class, *args, **kwargs) -> Graphic: if "center" in kwargs.keys(): center = kwargs.pop("center") @@ -25,8 +21,7 @@ def _create_graphic(self, graphic_class, *args, **kwargs) -> Graphic: graphic = graphic_class(*args, **kwargs) self.add_graphic(graphic, center=center) - # only return a proxy to the real graphic - return weakref.proxy(graphic) + return graphic def add_image( self, @@ -37,7 +32,7 @@ def add_image( interpolation: str = "nearest", cmap_interpolation: str = "linear", isolated_buffer: bool = True, - **kwargs + **kwargs, ) -> ImageGraphic: """ @@ -47,7 +42,7 @@ def add_image( ---------- data: array-like array-like, usually numpy.ndarray, must support ``memoryview()`` - | shape must be ``[x_dim, y_dim]`` + | shape must be ``[n_rows, n_cols]``, ``[n_rows, n_cols, 3]`` for RGB or ``[n_rows, n_cols, 4]`` for RGBA vmin: int, optional minimum value for color scaling, calculated from data if not provided @@ -56,7 +51,8 @@ def add_image( maximum value for color scaling, calculated from data if not provided cmap: str, optional, default "plasma" - colormap to use to display the data + colormap to use to display the data. For supported colormaps see the + ``cmap`` library catalogue: https://cmap-docs.readthedocs.io/en/stable/catalog/ interpolation: str, optional, default "nearest" interpolation filter, one of "nearest" or "linear" @@ -67,10 +63,11 @@ def add_image( isolated_buffer: bool, default True If True, initialize a buffer with the same shape as the input data and then set the data, useful if the data arrays are ready-only such as memmaps. - If False, the input array is itself used as the buffer. + If False, the input array is itself used as the buffer - useful if the + array is large. kwargs: - additional keyword arguments passed to Graphic + additional keyword arguments passed to :class:`.Graphic` """ @@ -83,7 +80,7 @@ def add_image( interpolation, cmap_interpolation, isolated_buffer, - **kwargs + **kwargs, ) def add_line_collection( @@ -101,7 +98,7 @@ def add_line_collection( metadatas: Union[Sequence[Any], numpy.ndarray] = None, isolated_buffer: bool = True, kwargs_lines: list[dict] = None, - **kwargs + **kwargs, ) -> LineCollection: """ @@ -174,20 +171,21 @@ def add_line_collection( metadatas, isolated_buffer, kwargs_lines, - **kwargs + **kwargs, ) def add_line( self, data: Any, thickness: float = 2.0, - colors: Union[str, numpy.ndarray, Iterable] = "w", + colors: Union[str, numpy.ndarray, Sequence] = "w", uniform_color: bool = False, alpha: float = 1.0, cmap: str = None, - cmap_transform: Union[numpy.ndarray, Iterable] = None, + cmap_transform: Union[numpy.ndarray, Sequence] = None, isolated_buffer: bool = True, - **kwargs + size_space: str = "screen", + **kwargs, ) -> LineGraphic: """ @@ -196,14 +194,17 @@ def add_line( Parameters ---------- data: array-like - Line data to plot, 2D must be of shape [n_points, 2], 3D must be of shape [n_points, 3] + Line data to plot. Can provide 1D, 2D, or a 3D data. + | If passing a 1D array, it is used to set the y-values and the x-values are generated as an integer range + from [0, data.size] + | 2D data must be of shape [n_points, 2]. 3D data must be of shape [n_points, 3] thickness: float, optional, default 2.0 thickness of the line colors: str, array, or iterable, default "w" specify colors as a single human-readable string, a single RGBA array, - or an iterable of strings or RGBA arrays + or a Sequence (array, tuple, or list) of strings or RGBA arrays uniform_color: bool, default ``False`` if True, uses a uniform buffer for the line color, @@ -213,14 +214,18 @@ def add_line( alpha value for the colors cmap: str, optional - apply a colormap to the line instead of assigning colors manually, this - overrides any argument passed to "colors" + Apply a colormap to the line instead of assigning colors manually, this + overrides any argument passed to "colors". For supported colormaps see the + ``cmap`` library catalogue: https://cmap-docs.readthedocs.io/en/stable/catalog/ cmap_transform: 1D array-like of numerical values, optional if provided, these values are used to map the colors from the cmap + size_space: str, default "screen" + coordinate space in which the thickness is expressed ("screen", "world", "model") + **kwargs - passed to Graphic + passed to :class:`.Graphic` """ @@ -234,7 +239,8 @@ def add_line( cmap, cmap_transform, isolated_buffer, - **kwargs + size_space, + **kwargs, ) def add_line_stack( @@ -253,7 +259,7 @@ def add_line_stack( separation: float = 10.0, separation_axis: str = "y", kwargs_lines: list[dict] = None, - **kwargs + **kwargs, ) -> LineStack: """ @@ -334,7 +340,7 @@ def add_line_stack( separation, separation_axis, kwargs_lines, - **kwargs + **kwargs, ) def add_scatter( @@ -346,9 +352,10 @@ def add_scatter( cmap: str = None, cmap_transform: numpy.ndarray = None, isolated_buffer: bool = True, - sizes: Union[float, numpy.ndarray, Iterable[float]] = 1, + sizes: Union[float, numpy.ndarray, Sequence[float]] = 1, uniform_size: bool = False, - **kwargs + size_space: str = "screen", + **kwargs, ) -> ScatterGraphic: """ @@ -357,39 +364,44 @@ def add_scatter( Parameters ---------- data: array-like - Scatter data to plot, 2D must be of shape [n_points, 2], 3D must be of shape [n_points, 3] + Scatter data to plot, Can provide 2D, or a 3D data. 2D data must be of shape [n_points, 2]. + 3D data must be of shape [n_points, 3] - colors: str, array, or iterable, default "w" - specify colors as a single human readable string, a single RGBA array, - or an iterable of strings or RGBA arrays + colors: str, array, tuple, list, Sequence, default "w" + specify colors as a single human-readable string, a single RGBA array, + or a Sequence (array, tuple, or list) of strings or RGBA arrays uniform_color: bool, default False - if True, uses a uniform buffer for the scatter point colors, - basically saves GPU VRAM when the entire line has a single color + if True, uses a uniform buffer for the scatter point colors. Useful if you need to + save GPU VRAM when all points have the same color. alpha: float, optional, default 1.0 alpha value for the colors cmap: str, optional apply a colormap to the scatter instead of assigning colors manually, this - overrides any argument passed to "colors" + overrides any argument passed to "colors". For supported colormaps see the + ``cmap`` library catalogue: https://cmap-docs.readthedocs.io/en/stable/catalog/ cmap_transform: 1D array-like or list of numerical values, optional if provided, these values are used to map the colors from the cmap isolated_buffer: bool, default True whether the buffers should be isolated from the user input array. - Generally always ``True``, ``False`` is for rare advanced use. + Generally always ``True``, ``False`` is for rare advanced use if you have large arrays. sizes: float or iterable of float, optional, default 1.0 - size of the scatter points + sizes of the scatter points uniform_size: bool, default False - if True, uses a uniform buffer for the scatter point sizes, - basically saves GPU VRAM when all scatter points are the same size + if True, uses a uniform buffer for the scatter point sizes. Useful if you need to + save GPU VRAM when all points have the same size. + + size_space: str, default "screen" + coordinate space in which the size is expressed ("screen", "world", "model") kwargs - passed to Graphic + passed to :class:`.Graphic` """ @@ -404,7 +416,8 @@ def add_scatter( isolated_buffer, sizes, uniform_size, - **kwargs + size_space, + **kwargs, ) def add_text( @@ -417,7 +430,7 @@ def add_text( screen_space: bool = True, offset: tuple[float] = (0, 0, 0), anchor: str = "middle-center", - **kwargs + **kwargs, ) -> TextGraphic: """ @@ -431,10 +444,10 @@ def add_text( font_size: float | int, default 10 font size - face_color: str or array, default "w" + face_color: str, array, list, tuple, default "w" str or RGBA array to set the color of the text - outline_color: str or array, default "w" + outline_color: str, array, list, tuple, default "w" str or RGBA array to set the outline color of the text outline_thickness: float, default 0 @@ -454,7 +467,7 @@ def add_text( * Horizontal values: "left", "center", "right" **kwargs - passed to Graphic + passed to :class:`.Graphic` """ @@ -468,5 +481,5 @@ def add_text( screen_space, offset, anchor, - **kwargs + **kwargs, ) diff --git a/fastplotlib/layouts/_imgui_figure.py b/fastplotlib/layouts/_imgui_figure.py new file mode 100644 index 000000000..c54890239 --- /dev/null +++ b/fastplotlib/layouts/_imgui_figure.py @@ -0,0 +1,237 @@ +from pathlib import Path +from typing import Literal, Iterable + +import numpy as np + +import imgui_bundle +from imgui_bundle import imgui, icons_fontawesome_6 as fa + +from wgpu.utils.imgui import ImguiRenderer, Stats +from rendercanvas import BaseRenderCanvas + +import pygfx + +from ._figure import Figure +from ..ui import EdgeWindow, SubplotToolbar, StandardRightClickMenu, Popup, GUI_EDGES +from ..ui import ColormapPicker + + +class ImguiFigure(Figure): + def __init__( + self, + shape: tuple[int, int] = (1, 1), + rects: list[tuple | np.ndarray] = None, + extents: list[tuple | np.ndarray] = None, + cameras: ( + Literal["2d", "3d"] + | Iterable[Iterable[Literal["2d", "3d"]]] + | pygfx.PerspectiveCamera + | Iterable[Iterable[pygfx.PerspectiveCamera]] + ) = "2d", + controller_types: ( + Iterable[Iterable[Literal["panzoom", "fly", "trackball", "orbit"]]] + | Iterable[Literal["panzoom", "fly", "trackball", "orbit"]] + ) = None, + controller_ids: ( + Literal["sync"] + | Iterable[int] + | Iterable[Iterable[int]] + | Iterable[Iterable[str]] + ) = None, + controllers: pygfx.Controller | Iterable[Iterable[pygfx.Controller]] = None, + canvas: str | BaseRenderCanvas | pygfx.Texture = None, + renderer: pygfx.WgpuRenderer = None, + canvas_kwargs: dict = None, + size: tuple[int, int] = (500, 300), + names: list | np.ndarray = None, + show_tooltips: bool = False, + ): + self._guis: dict[str, EdgeWindow] = {k: None for k in GUI_EDGES} + + super().__init__( + shape=shape, + rects=rects, + extents=extents, + cameras=cameras, + controller_types=controller_types, + controller_ids=controller_ids, + controllers=controllers, + canvas=canvas, + renderer=renderer, + canvas_kwargs=canvas_kwargs, + size=size, + names=names, + show_tooltips=show_tooltips, + ) + + self._imgui_renderer = ImguiRenderer(self.renderer.device, self.canvas) + + fronts_path = str( + Path(imgui_bundle.__file__).parent.joinpath( + "assets", "fonts", "Font_Awesome_6_Free-Solid-900.otf" + ) + ) + + io = imgui.get_io() + + self._fa_icons = io.fonts.add_font_from_file_ttf( + fronts_path, 16, glyph_ranges_as_int_list=[fa.ICON_MIN_FA, fa.ICON_MAX_FA] + ) + + io.fonts.build() + self.imgui_renderer.backend.create_fonts_texture() + + self.imgui_renderer.set_gui(self._draw_imgui) + + self._subplot_toolbars: np.ndarray[SubplotToolbar] = np.empty( + shape=self._subplots.size, dtype=object + ) + + for i, subplot in enumerate(self._subplots.ravel()): + toolbar = SubplotToolbar(subplot=subplot, fa_icons=self._fa_icons) + self._subplot_toolbars[i] = toolbar + + self._right_click_menu = StandardRightClickMenu( + figure=self, fa_icons=self._fa_icons + ) + + self._popups: dict[str, Popup] = {} + + self.imgui_show_fps = False + self._stats = Stats(self.renderer.device, self.canvas) + + self.register_popup(ColormapPicker) + + @property + def guis(self) -> dict[str, EdgeWindow]: + """GUI windows added to the Figure""" + return self._guis + + @property + def imgui_renderer(self) -> ImguiRenderer: + """imgui renderer""" + return self._imgui_renderer + + def _render(self, draw=False): + if self.imgui_show_fps: + with self._stats: + super()._render(draw) + else: + super()._render(draw) + + self.imgui_renderer.render() + + # needs to be here else events don't get processed + self.canvas.request_draw() + + def _draw_imgui(self) -> imgui.ImDrawData: + imgui.new_frame() + + for subplot, toolbar in zip( + self._subplots.ravel(), self._subplot_toolbars.ravel() + ): + if not subplot.toolbar: + # if subplot.toolbar is False + continue + toolbar.update() + + for gui in self.guis.values(): + if gui is not None: + gui.draw_window() + + for popup in self._popups.values(): + popup.update() + + self._right_click_menu.update() + + imgui.end_frame() + + imgui.render() + + return imgui.get_draw_data() + + def add_gui(self, gui: EdgeWindow): + """ + Add a GUI to the Figure. GUIs can be added to the left or bottom edge. + + Parameters + ---------- + gui: EdgeWindow + A GUI EdgeWindow instance + + """ + if not isinstance(gui, EdgeWindow): + raise TypeError( + f"GUI must be of type: {EdgeWindow} you have passed a {type(gui)}" + ) + + location = gui.location + + if location not in GUI_EDGES: + raise ValueError( + f"GUI does not have a valid location, valid locations are: {GUI_EDGES}, you have passed: {location}" + ) + + if self.guis[location] is not None: + raise ValueError(f"GUI already exists in the desired location: {location}") + + self.guis[location] = gui + + self._fpl_reset_layout() + + def get_pygfx_render_area(self, *args) -> tuple[int, int, int, int]: + """ + Get rect for the portion of the canvas that the pygfx renderer draws to, + i.e. non-imgui, part of canvas + + Returns + ------- + tuple[int, int, int, int] + x_pos, y_pos, width, height + + """ + + width, height = self.canvas.get_logical_size() + + for edge in ["right"]: + if self.guis[edge]: + width -= self._guis[edge].size + + for edge in ["bottom"]: + if self.guis[edge]: + height -= self._guis[edge].size + + return 0, 0, max(1, width), max(1, height) + + def register_popup(self, popup: Popup.__class__): + """ + Register a popup class. Note that this takes the class, not an instance + + Parameters + ---------- + popup: Popup subclass + + """ + self._popups[popup.name] = popup(self) + + def open_popup(self, name: str, pos: tuple[int, int], **kwargs): + """ + Open a registered popup + + Parameters + ---------- + name: str + The registered name of the popup + + pos: int, int + x_pos, y_pos for the popup + + kwargs + any additional kwargs to pass to the Popup's open() method + + """ + + if self._popups[name].is_open: + return + + self._popups[name].open(pos, **kwargs) diff --git a/fastplotlib/layouts/_plot_area.py b/fastplotlib/layouts/_plot_area.py index d8e0adebc..2542fc215 100644 --- a/fastplotlib/layouts/_plot_area.py +++ b/fastplotlib/layouts/_plot_area.py @@ -1,104 +1,38 @@ from inspect import getfullargspec -from sys import getrefcount -from typing import TypeAlias, Literal, Union -import weakref +from typing import Literal, Union from warnings import warn import numpy as np import pygfx from pylinalg import vec_transform, vec_unproject -from wgpu.gui import WgpuCanvasBase +from rendercanvas import BaseRenderCanvas from ._utils import create_controller from ..graphics._base import Graphic -from ..graphics._collection_base import GraphicCollection from ..graphics.selectors._base_selector import BaseSelector +from ._graphic_methods_mixin import GraphicMethodsMixin from ..legends import Legend -HexStr: TypeAlias = str +try: + get_ipython() +except NameError: + IS_IPYTHON = False + IPYTHON = None +else: + IS_IPYTHON = True + IPYTHON = get_ipython() -class References: - """ - This is the only place where the real graphic objects are stored. Everywhere else gets a proxy. - """ - - _graphics: dict[HexStr, Graphic] = dict() - _selectors: dict[HexStr, BaseSelector] = dict() - _legends: dict[HexStr, Legend] = dict() - - def add(self, graphic: Graphic | BaseSelector | Legend): - """Adds the real graphic to the dict""" - addr = graphic._fpl_address - - if isinstance(graphic, BaseSelector): - self._selectors[addr] = graphic - - elif isinstance(graphic, Legend): - self._legends[addr] = graphic - - elif isinstance(graphic, Graphic): - self._graphics[addr] = graphic - - else: - raise TypeError("Can only add Graphic, Selector or Legend types") - - def remove(self, address): - if address in self._graphics.keys(): - del self._graphics[address] - elif address in self._selectors.keys(): - del self._selectors[address] - elif address in self._legends.keys(): - del self._legends[address] - else: - raise KeyError(f"graphic with address not found: {address}") - - def get_proxies(self, refs: list[HexStr]) -> tuple[weakref.proxy]: - proxies = list() - for key in refs: - if key in self._graphics.keys(): - proxies.append(weakref.proxy(self._graphics[key])) - - elif key in self._selectors.keys(): - proxies.append(weakref.proxy(self._selectors[key])) - - elif key in self._legends.keys(): - proxies.append(weakref.proxy(self._legends[key])) - - else: - raise KeyError(f"graphic object with address not found: {key}") - - return tuple(proxies) - - def get_refcounts(self) -> dict[HexStr:int]: - counts = dict() - - for item in (self._graphics, self._selectors, self._legends): - for k in item.keys(): - counts[(k, item[k].name, item[k].__class__.__name__)] = getrefcount( - item[k] - ) - - return counts - - -REFERENCES = References() - - -class PlotArea: - def get_refcounts(self): - return REFERENCES.get_refcounts() - +class PlotArea(GraphicMethodsMixin): def __init__( self, parent: Union["PlotArea", "Figure"], - position: tuple[int, int] | str, camera: pygfx.PerspectiveCamera, controller: pygfx.Controller, scene: pygfx.Scene, - canvas: WgpuCanvasBase, + canvas: BaseRenderCanvas, renderer: pygfx.WgpuRenderer, name: str = None, ): @@ -124,7 +58,7 @@ def __init__( scene: pygfx.Scene represents the root of a scene graph, will be viewed by the given ``camera`` - canvas: WgpuCanvas + canvas: BaseRenderCanvas provides surface on which a scene will be rendered renderer: pygfx.WgpuRenderer @@ -136,7 +70,6 @@ def __init__( """ self._parent = parent - self._position = position self._scene = scene self._canvas = canvas @@ -154,25 +87,46 @@ def __init__( self._animate_funcs_pre: list[callable] = list() self._animate_funcs_post: list[callable] = list() - self.renderer.add_event_handler(self.set_viewport_rect, "resize") - - # list of hex id strings for all graphics managed by this PlotArea - # the real Graphic instances are managed by REFERENCES - self._graphics: list[HexStr] = list() + # list of all graphics managed by this PlotArea + self._graphics: list[Graphic] = list() # selectors are in their own list so they can be excluded from scene bbox calculations - # managed similar to GRAPHICS for garbage collection etc. - self._selectors: list[HexStr] = list() + self._selectors: list[BaseSelector] = list() # legends, managed just like other graphics as explained above - self._legends: list[HexStr] = list() + self._legends: list[Legend] = list() + + # keep all graphics in a separate group, makes bbox calculations etc. easier + # this is the "real scene" excluding axes, selection tools etc. + self._fpl_graphics_scene = pygfx.Group() + self.scene.add(self._fpl_graphics_scene) self._name = name # need to think about how to deal with children better self.children = list() - self.set_viewport_rect() + self._background_material = pygfx.BackgroundMaterial( + (0.0, 0.0, 0.0, 1.0), + (0.0, 0.0, 0.0, 1.0), + (0.0, 0.0, 0.0, 1.0), + (0.0, 0.0, 0.0, 1.0), + ) + self._background = pygfx.Background(None, self._background_material) + self.scene.add(self._background) + + def get_figure(self, obj=None): + """Get Figure instance that contains this plot area""" + if obj is None: + obj = self + + if obj.parent.__class__.__name__.endswith("Figure"): + return obj.parent + else: + if obj.parent is None: + raise RecursionError + + return self.get_figure(obj=obj.parent) # several read-only properties @property @@ -180,18 +134,13 @@ def parent(self): """A parent if relevant""" return self._parent - @property - def position(self) -> tuple[int, int] | str: - """Position of this plot area within a larger layout (such as a Figure) if relevant""" - return self._position - @property def scene(self) -> pygfx.Scene: """The Scene where Graphics lie in this plot area""" return self._scene @property - def canvas(self) -> WgpuCanvasBase: + def canvas(self) -> BaseRenderCanvas: """Canvas associated to the plot area""" return self._canvas @@ -266,7 +215,7 @@ def controller(self, new_controller: str | pygfx.Controller): # TODO: monkeypatch until we figure out a better # pygfx plans on refactoring viewports anyways if self.parent is not None: - if self.parent.__class__.__name__ == "Figure": + if self.parent.__class__.__name__.endswith("Figure"): for subplot in self.parent: if subplot.camera in cameras_list: new_controller.register_events(subplot.viewport) @@ -276,18 +225,18 @@ def controller(self, new_controller: str | pygfx.Controller): @property def graphics(self) -> tuple[Graphic, ...]: - """Graphics in the plot area. Always returns a proxy to the Graphic instances.""" - return REFERENCES.get_proxies(self._graphics) + """Graphics in the plot area.""" + return tuple(self._graphics) @property def selectors(self) -> tuple[BaseSelector, ...]: - """Selectors in the plot area. Always returns a proxy to the Graphic instances.""" - return REFERENCES.get_proxies(self._selectors) + """Selectors in the plot area.""" + return tuple(self._selectors) @property def legends(self) -> tuple[Legend, ...]: """Legends in the plot area.""" - return REFERENCES.get_proxies(self._legends) + return tuple(self._legends) @property def objects(self) -> tuple[Graphic | BaseSelector | Legend, ...]: @@ -308,22 +257,24 @@ def name(self, name: str): raise TypeError("PlotArea `name` must be of type ") self._name = name - def get_rect(self) -> tuple[float, float, float, float]: - """ - Returns the viewport rect to define the rectangle - occupied by the viewport w.r.t. the Canvas. - - If this is a subplot within a Figure, it returns the rectangle - for only this subplot w.r.t. the parent canvas. - - Must return: [x_pos, y_pos, width_viewport, height_viewport] + @property + def background_color(self) -> tuple[pygfx.Color, ...]: + """background colors, (top left, top right, bottom right, bottom left)""" + return ( + self._background_material.color_top_left, + self._background_material.color_top_right, + self._background_material.color_bottom_right, + self._background_material.color_bottom_left, + ) - """ - raise NotImplementedError("Must be implemented in subclass") + @background_color.setter + def background_color(self, colors: str | tuple[float]): + """1, 2, or 4 colors, each color must be acceptable by pygfx.Color""" + self._background_material.set_colors(*colors) def map_screen_to_world( - self, pos: tuple[float, float] | pygfx.PointerEvent - ) -> np.ndarray: + self, pos: tuple[float, float] | pygfx.PointerEvent, allow_outside: bool = False + ) -> np.ndarray | None: """ Map screen position to world position @@ -336,7 +287,7 @@ def map_screen_to_world( if isinstance(pos, pygfx.PointerEvent): pos = pos.x, pos.y - if not self.viewport.is_inside(*pos): + if not allow_outside and not self.viewport.is_inside(*pos): return None vs = self.viewport.logical_size @@ -357,17 +308,14 @@ def map_screen_to_world( # default z is zero for now return np.array([*pos_world[:2], 0]) - def set_viewport_rect(self, *args): - self.viewport.rect = self.get_rect() - - def render(self): + def _render(self): self._call_animate_functions(self._animate_funcs_pre) # does not flush, flush must be implemented in user-facing Plot objects self.viewport.render(self.scene, self.camera) for child in self.children: - child.render() + child._render() self._call_animate_functions(self._animate_funcs_post) @@ -462,7 +410,7 @@ def add_graphic(self, graphic: Graphic, center: bool = True): if graphic in self: # graphic is already in this plot but was removed from the scene, add it back - self.scene.add(graphic.world_object) + self._fpl_graphics_scene.add(graphic.world_object) return self._add_or_insert_graphic(graphic=graphic, center=center, action="add") @@ -531,39 +479,35 @@ def _add_or_insert_graphic( if graphic.name is not None: # skip for those that have no name self._check_graphic_name_exists(graphic.name) - addr = graphic._fpl_address - if isinstance(graphic, BaseSelector): - addr_list = self._selectors + obj_list = self._selectors + self.scene.add(graphic.world_object) elif isinstance(graphic, Legend): - addr_list = self._legends + obj_list = self._legends + self.scene.add(graphic.world_object) elif isinstance(graphic, Graphic): - addr_list = self._graphics + obj_list = self._graphics + self._fpl_graphics_scene.add(graphic.world_object) + + # add to tooltip registry + if self.get_figure().show_tooltips: + self.get_figure().tooltip_manager.register(graphic) else: raise TypeError("graphic must be of type Graphic | BaseSelector | Legend") if action == "insert": - addr_list.insert(index, addr) + obj_list.insert(index, graphic) elif action == "add": - addr_list.append(addr) + obj_list.append(graphic) else: raise ValueError("valid actions are 'insert' | 'add'") - REFERENCES.add(graphic) - - # now that it's in the dict, just use the weakref - graphic = weakref.proxy(graphic) - - # add world object to scene - self.scene.add(graphic.world_object) - if center: self.center_graphic(graphic) - # if we don't use the weakref above, then the object lingers if a plot hook is used! graphic._fpl_add_plot_area_hook(self) def _check_graphic_name_exists(self, name): @@ -573,7 +517,7 @@ def _check_graphic_name_exists(self, name): f"All graphics within a subplot or plot area must have a unique name." ) - def center_graphic(self, graphic: Graphic, zoom: float = 1.35): + def center_graphic(self, graphic: Graphic, zoom: float = 1.0): """ Center the camera w.r.t. the passed graphic @@ -582,7 +526,7 @@ def center_graphic(self, graphic: Graphic, zoom: float = 1.35): graphic: Graphic The graphic instance to center on - zoom: float, default 1.3 + zoom: float zoom the camera after centering """ @@ -593,23 +537,24 @@ def center_graphic(self, graphic: Graphic, zoom: float = 1.35): # probably because camera.show_object uses bounding sphere self.camera.zoom = zoom - def center_scene(self, *, zoom: float = 1.35): + def center_scene(self, *, zoom: float = 1.0): """ Auto-center the scene, does not scale. Parameters ---------- - zoom: float, default 1.3 + zoom: float apply a zoom after centering the scene """ - if not len(self.scene.children) > 0: + + if not len(self._fpl_graphics_scene.children) > 0: return # scale all cameras associated with this controller # else it looks wonky for camera in self.controller.cameras: - camera.show_object(self.scene) + camera.show_object(self._fpl_graphics_scene) # camera.show_object can cause the camera width and height to increase so apply a zoom to compensate # probably because camera.show_object uses bounding sphere @@ -619,7 +564,7 @@ def auto_scale( self, *, # since this is often used as an event handler, don't want to coerce maintain_aspect = True maintain_aspect: None | bool = None, - zoom: float = 0.8, + zoom: float = 0.75, ): """ Auto-scale the camera w.r.t to the scene @@ -630,16 +575,13 @@ def auto_scale( Maintain the camera aspect ratio for all dimensions. If ``None``, the aspect is left unchanged. if ``False`` the camera is scaled to the bounding box of the current scene. - zoom: float, default 0.8 - zoom value for the camera after auto-scaling, if zoom = 1.0 then the graphics - in the scene will fill the entire canvas. + zoom: float + zoom value for the camera after auto-scaling + """ - if not len(self.scene.children) > 0: + + if not len(self._fpl_graphics_scene.children) > 0: return - # hacky workaround for now until we decide if we want to put selectors in their own scene - # remove all selectors from a scene to calculate scene bbox - for selector in self.selectors: - self.scene.remove(selector.world_object) self.center_scene() @@ -650,8 +592,10 @@ def auto_scale( for camera in self.controller.cameras: camera.maintain_aspect = maintain_aspect - if len(self.scene.children) > 0: - width, height, depth = np.ptp(self.scene.get_world_bounding_box(), axis=0) + if len(self._fpl_graphics_scene.children) > 0: + width, height, depth = np.ptp( + self._fpl_graphics_scene.get_world_bounding_box(), axis=0 + ) else: width, height, depth = (1, 1, 1) @@ -661,9 +605,6 @@ def auto_scale( if height < 0.01: height = 1 - for selector in self.selectors: - self.scene.add(selector.world_object) - # scale all cameras associated with this controller else it looks wonky for camera in self.controller.cameras: camera.width = width @@ -684,7 +625,11 @@ def remove_graphic(self, graphic: Graphic): """ - self.scene.remove(graphic.world_object) + if isinstance(graphic, (BaseSelector, Legend)): + self.scene.remove(graphic.world_object) + + elif isinstance(graphic, Graphic): + self._fpl_graphics_scene.remove(graphic.world_object) def delete_graphic(self, graphic: Graphic): """ @@ -696,29 +641,38 @@ def delete_graphic(self, graphic: Graphic): The graphic to delete """ - # TODO: proper gc of selectors, RAM is freed for regular graphics but not selectors - # TODO: references to selectors must be lingering somewhere - # TODO: update March 2024, I think selectors are gc properly, should check - # get memory address - address = graphic._fpl_address - if graphic not in self: raise KeyError(f"Graphic not found in plot area: {graphic}") - # check which type it is - for l in [self._graphics, self._selectors, self._legends]: - if address in l: - l.remove(address) - break + if isinstance(graphic, BaseSelector): + self._selectors.remove(graphic) + + elif isinstance(graphic, Legend): + self._legends.remove(graphic) + + elif isinstance(graphic, Graphic): + self._graphics.remove(graphic) # remove from scene if necessary if graphic.world_object in self.scene.children: self.scene.remove(graphic.world_object) - # cleanup - graphic._fpl_cleanup() + elif graphic.world_object in self._fpl_graphics_scene.children: + self._fpl_graphics_scene.remove(graphic.world_object) - REFERENCES.remove(address) + # cleanup + graphic._fpl_prepare_del() + + if IS_IPYTHON: + # remove any references that ipython might have made + # check both namespaces + for namespace in [IPYTHON.user_ns, IPYTHON.user_ns_hidden]: + # find the reference + for ref, obj in namespace.items(): + if graphic is obj: + # we found the reference, remove from ipython + IPYTHON.del_var(ref) + break def clear(self): """ @@ -760,7 +714,7 @@ def __str__(self): else: name = self.name - return f"{name}: {self.__class__.__name__} @ {hex(id(self))}" + return f"{name}: {self.__class__.__name__}" def __repr__(self): newline = "\n\t" diff --git a/fastplotlib/layouts/_rect.py b/fastplotlib/layouts/_rect.py new file mode 100644 index 000000000..aa84ee8a2 --- /dev/null +++ b/fastplotlib/layouts/_rect.py @@ -0,0 +1,239 @@ +import numpy as np + + +class RectManager: + """ + Backend management of a rect. Allows converting between rects and extents, also works with fractional inputs. + """ + + def __init__(self, x: float, y: float, w: float, h: float, canvas_rect: tuple): + # initialize rect state arrays + # used to store internal state of the rect in both fractional screen space and absolute screen space + # the purpose of storing the fractional rect is that it remains constant when the canvas resizes + self._rect_frac = np.zeros(4, dtype=np.float64) + self._rect_screen_space = np.zeros(4, dtype=np.float64) + self._canvas_rect = np.asarray(canvas_rect) + + self._set((x, y, w, h)) + + def _set(self, rect): + """ + Using the passed rect which is either absolute screen space or fractional, + set the internal fractional and absolute screen space rects + """ + rect = np.asarray(rect) + for val, name in zip(rect, ["x-position", "y-position", "width", "height"]): + if val < 0: + raise ValueError( + f"Invalid rect value < 0: {rect}\n All values must be non-negative." + ) + + if (rect[2:] <= 1).all(): # fractional bbox + self._set_from_fract(rect) + + elif (rect[2:] > 1).all(): # bbox in already in screen coords coordinates + self._set_from_screen_space(rect) + + else: + raise ValueError(f"Invalid rect: {rect}") + + def _set_from_fract(self, rect): + """set rect from fractional representation""" + _, _, cw, ch = self._canvas_rect + mult = np.array([cw, ch, cw, ch]) + + # check that widths, heights are valid: + if rect[0] + rect[2] > 1: + raise ValueError( + f"invalid fractional rect: {rect}\n x + width > 1: {rect[0]} + {rect[2]} > 1" + ) + if rect[1] + rect[3] > 1: + raise ValueError( + f"invalid fractional rect: {rect}\n y + height > 1: {rect[1]} + {rect[3]} > 1" + ) + + # assign values to the arrays, don't just change the reference + self._rect_frac[:] = rect + self._rect_screen_space[:] = self._rect_frac * mult + + def _set_from_screen_space(self, rect): + """set rect from screen space representation""" + _, _, cw, ch = self._canvas_rect + mult = np.array([cw, ch, cw, ch]) + # for screen coords allow (x, y) = 1 or 0, but w, h must be > 1 + # check that widths, heights are valid + if rect[0] + rect[2] > cw: + raise ValueError( + f"invalid rect: {rect}\n x + width > canvas width: {rect[0]} + {rect[2]} > {cw}" + ) + if rect[1] + rect[3] > ch: + raise ValueError( + f"invalid rect: {rect}\n y + height > canvas height: {rect[1]} + {rect[3]} >{ch}" + ) + + self._rect_frac[:] = rect / mult + self._rect_screen_space[:] = rect + + @property + def x(self) -> np.float64: + """x position""" + return self._rect_screen_space[0] + + @property + def y(self) -> np.float64: + """y position""" + return self._rect_screen_space[1] + + @property + def w(self) -> np.float64: + """width""" + return self._rect_screen_space[2] + + @property + def h(self) -> np.float64: + """height""" + return self._rect_screen_space[3] + + @property + def rect(self) -> np.ndarray: + """rect, (x, y, w, h)""" + return self._rect_screen_space + + @rect.setter + def rect(self, rect: np.ndarray | tuple): + self._set(rect) + + def canvas_resized(self, canvas_rect: tuple): + # called by Frame when canvas is resized + self._canvas_rect[:] = canvas_rect + # set new rect using existing rect_frac since this remains constant regardless of resize + self._set(self._rect_frac) + + @property + def x0(self) -> np.float64: + """x0 position""" + return self.x + + @property + def x1(self) -> np.float64: + """x1 position""" + return self.x + self.w + + @property + def y0(self) -> np.float64: + """y0 position""" + return self.y + + @property + def y1(self) -> np.float64: + """y1 position""" + return self.y + self.h + + @classmethod + def from_extent(cls, extent, canvas_rect): + """create a RectManager from an extent""" + rect = cls.extent_to_rect(extent, canvas_rect) + return cls(*rect, canvas_rect) + + @property + def extent(self) -> np.ndarray: + """extent, (xmin, xmax, ymin, ymax)""" + # not actually stored, computed when needed + return np.asarray([self.x0, self.x1, self.y0, self.y1]) + + @extent.setter + def extent(self, extent): + rect = RectManager.extent_to_rect(extent, canvas_rect=self._canvas_rect) + + self._set(rect) + + @staticmethod + def extent_to_rect(extent, canvas_rect): + """convert an extent to a rect""" + RectManager.validate_extent(extent, canvas_rect) + x0, x1, y0, y1 = extent + + # width and height + w = x1 - x0 + h = y1 - y0 + + return x0, y0, w, h + + @staticmethod + def validate_extent(extent: np.ndarray | tuple, canvas_rect: tuple): + extent = np.asarray(extent) + cx0, cy0, cw, ch = canvas_rect + + # make sure extent is valid + if (extent < 0).any(): + raise ValueError(f"extent must be non-negative, you have passed: {extent}") + + if extent[1] <= 1 or extent[3] <= 1: # if x1 <= 1, or y1 <= 1 + # if fractional rect, convert to full + if not (extent <= 1).all(): # if x1 and y1 <= 1, then all vals must be <= 1 + raise ValueError( + f"if passing a fractional extent, all values must be fractional, you have passed: {extent}" + ) + extent *= np.asarray([cw, cw, ch, ch]) + + x0, x1, y0, y1 = extent + + # width and height + w = x1 - x0 + h = y1 - y0 + + # check if x1 - x0 <= 0 + if w <= 0: + raise ValueError(f"extent x-range must be non-negative: {extent}") + + # check if y1 - y0 <= 0 + if h <= 0: + raise ValueError(f"extent y-range must be non-negative: {extent}") + + # calc canvas extent + cx1 = cx0 + cw + cy1 = cy0 + ch + canvas_extent = np.asarray([cx0, cx1, cy0, cy1]) + + if x0 < cx0 or x1 < cx0 or x0 > cx1 or x1 > cx1: + raise ValueError( + f"extent: {extent} x-range is beyond the bounds of the canvas: {canvas_extent}" + ) + if y0 < cy0 or y1 < cy0 or y0 > cy1 or y1 > cy1: + raise ValueError( + f"extent: {extent} y-range is beyond the bounds of the canvas: {canvas_extent}" + ) + + def is_above(self, y0, dist: int = 1) -> bool: + # our bottom < other top within given distance + return self.y1 < y0 + dist + + def is_below(self, y1, dist: int = 1) -> bool: + # our top > other bottom + return self.y0 > y1 - dist + + def is_left_of(self, x0, dist: int = 1) -> bool: + # our right_edge < other left_edge + # self.x1 < other.x0 + return self.x1 < x0 + dist + + def is_right_of(self, x1, dist: int = 1) -> bool: + # self.x0 > other.x1 + return self.x0 > x1 - dist + + def overlaps(self, extent: np.ndarray) -> bool: + """returns whether this rect overlaps with the given extent""" + x0, x1, y0, y1 = extent + return not any( + [ + self.is_above(y0), + self.is_below(y1), + self.is_left_of(x0), + self.is_right_of(x1), + ] + ) + + def __repr__(self): + s = f"{self._rect_frac}\n{self.rect}" + + return s diff --git a/fastplotlib/layouts/_subplot.py b/fastplotlib/layouts/_subplot.py index 059307e6b..73f669fe5 100644 --- a/fastplotlib/layouts/_subplot.py +++ b/fastplotlib/layouts/_subplot.py @@ -3,34 +3,30 @@ import numpy as np import pygfx - -from wgpu.gui import WgpuCanvasBase +from rendercanvas import BaseRenderCanvas from ..graphics import TextGraphic -from ._utils import make_canvas_and_renderer, create_camera, create_controller +from ._utils import create_camera, create_controller from ._plot_area import PlotArea -from ._graphic_methods_mixin import GraphicMethodsMixin +from ._frame import Frame +from ..graphics._axes import Axes -class Subplot(PlotArea, GraphicMethodsMixin): +class Subplot(PlotArea): def __init__( self, - parent: Union["Figure", None] = None, - position: tuple[int, int] = None, - parent_dims: tuple[int, int] = None, - camera: Literal["2d", "3d"] | pygfx.PerspectiveCamera = "2d", - controller: ( - Literal["panzoom", "fly", "trackball", "orbit"] | pygfx.Controller - ) = None, - canvas: ( - Literal["glfw", "jupyter", "qt", "wx"] | WgpuCanvasBase | pygfx.Texture - ) = None, + parent: Union["Figure"], + camera: Literal["2d", "3d"] | pygfx.PerspectiveCamera, + controller: pygfx.Controller | str, + canvas: BaseRenderCanvas | pygfx.Texture, + rect: np.ndarray = None, + extent: np.ndarray = None, + resizeable: bool = True, renderer: pygfx.WgpuRenderer = None, name: str = None, ): """ - General plot object is found within a ``Figure``. Each ``Figure`` instance will have [n rows, n columns] - of subplots. + Subplot class. .. important:: ``Subplot`` is not meant to be constructed directly, it only exists as part of a ``Figure`` @@ -40,12 +36,6 @@ def __init__( parent: 'Figure' | None parent Figure instance - position: (int, int), optional - corresponds to the [row, column] position of the subplot within a ``Figure`` - - parent_dims: (int, int), optional - dimensions of the parent ``Figure`` - camera: str or pygfx.PerspectiveCamera, default '2d' indicates the FOV for the camera, '2d' sets ``fov = 0``, '3d' sets ``fov = 50``. ``fov`` can be changed at any time. @@ -55,12 +45,10 @@ def __init__( | if ``str``, must be one of: `"panzoom", "fly", "trackball", or "orbit"`. | also accepts a pygfx.Controller instance - canvas: one of "jupyter", "glfw", "qt", "ex, a WgpuCanvas, or a pygfx.Texture, optional - Provides surface on which a scene will be rendered. Can optionally provide a WgpuCanvas instance or a str - to force the PlotArea to use a specific canvas from one of the following options: "jupyter", "glfw", "qt". - Can also provide a pygfx Texture to render to. + canvas: BaseRenderCanvas, or a pygfx.Texture + Provides surface on which a scene will be rendered. - renderer: WgpuRenderer, optional + renderer: WgpuRenderer object used to render scenes using wgpu name: str, optional @@ -68,37 +56,19 @@ def __init__( """ - super(GraphicMethodsMixin, self).__init__() - - canvas, renderer = make_canvas_and_renderer(canvas, renderer) - - if position is None: - position = (0, 0) - - if parent_dims is None: - parent_dims = (1, 1) - - self.nrows, self.ncols = parent_dims - camera = create_camera(camera) controller = create_controller(controller_type=controller, camera=camera) self._docks = dict() - self.spacing = 2 - - self._axes: pygfx.AxesHelper = pygfx.AxesHelper(size=100) - for arrow in self._axes.children: - self._axes.remove(arrow) - - self._grid: pygfx.GridHelper = pygfx.GridHelper(size=100, thickness=1) - - self._title_graphic: TextGraphic = None + if "Imgui" in parent.__class__.__name__: + toolbar_visible = True + else: + toolbar_visible = False - super(Subplot, self).__init__( + super().__init__( parent=parent, - position=position, camera=camera, controller=controller, scene=pygfx.Scene(), @@ -108,22 +78,48 @@ def __init__( ) for pos in ["left", "top", "right", "bottom"]: - dv = Dock(self, pos, size=0) + dv = Dock(self, size=0) dv.name = pos self.docks[pos] = dv self.children.append(dv) - if self.name is not None: - self.set_title(self.name) + self._axes = Axes(self) + self.scene.add(self.axes.world_object) + + self._frame = Frame( + viewport=self.viewport, + rect=rect, + extent=extent, + resizeable=resizeable, + title=name, + docks=self.docks, + toolbar_visible=toolbar_visible, + canvas_rect=parent.get_pygfx_render_area(), + ) + + @property + def axes(self) -> Axes: + """Axes object""" + return self._axes @property def name(self) -> str: + """Subplot name""" return self._name @name.setter def name(self, name: str): + if name is None: + self._name = None + return + + for subplot in self.get_figure(self): + if (subplot is self) or (subplot is None): + continue + if subplot.name == name: + raise ValueError("subplot names must be unique") + self._name = name - self.set_title(name) @property def docks(self) -> dict: @@ -140,87 +136,46 @@ def docks(self) -> dict: """ return self._docks - def set_title(self, text: str): - """Sets the plot title, stored as a ``TextGraphic`` in the "top" dock area""" - if text is None: - return - - text = str(text) - if self._title_graphic is not None: - self._title_graphic.text = text - else: - tg = TextGraphic(text=text, font_size=18) - self._title_graphic = tg - - self.docks["top"].size = 35 - self.docks["top"].add_graphic(tg) - - self.center_title() - - def center_title(self): - """Centers name of subplot.""" - if self._title_graphic is None: - raise AttributeError("No title graphic is set") - - self._title_graphic.world_object.position = (0, 0, 0) - self.docks["top"].center_graphic(self._title_graphic, zoom=1.5) - self._title_graphic.world_object.position_y = -3.5 - - def get_rect(self): - """Returns the bounding box that defines the Subplot within the canvas.""" - row_ix, col_ix = self.position - width_canvas, height_canvas = self.renderer.logical_size - - x_pos = ( - (width_canvas / self.ncols) + ((col_ix - 1) * (width_canvas / self.ncols)) - ) + self.spacing - y_pos = ( - (height_canvas / self.nrows) + ((row_ix - 1) * (height_canvas / self.nrows)) - ) + self.spacing - width_subplot = (width_canvas / self.ncols) - self.spacing - height_subplot = (height_canvas / self.nrows) - self.spacing + @property + def toolbar(self) -> bool: + """show/hide toolbar""" + return self.frame.toolbar_visible - rect = np.array([x_pos, y_pos, width_subplot, height_subplot]) + @toolbar.setter + def toolbar(self, visible: bool): + self.frame.toolbar_visible = visible + self.frame.reset_viewport() - for dv in self.docks.values(): - rect = rect + dv.get_parent_rect_adjust() + def _render(self): + self.axes.update_using_camera() + super()._render() - return rect + @property + def title(self) -> TextGraphic: + """subplot title""" + return self._frame.title_graphic - def set_axes_visibility(self, visible: bool): - """Toggles axes visibility.""" - if visible: - self.scene.add(self._axes) - else: - self.scene.remove(self._axes) + @title.setter + def title(self, text: str): + text = str(text) + self.title.text = text - def set_grid_visibility(self, visible: bool): - """Toggles grid visibility.""" - if visible: - self.scene.add(self._grid) - else: - self.scene.remove(self._grid) + @property + def frame(self) -> Frame: + """Frame that the subplot lives in""" + return self._frame class Dock(PlotArea): - _valid_positions = ["right", "left", "top", "bottom"] - def __init__( self, parent: Subplot, - position: str, size: int, ): - if position not in self._valid_positions: - raise ValueError( - f"the `position` of an AnchoredViewport must be one of: {self._valid_positions}" - ) - self._size = size super().__init__( parent=parent, - position=position, camera=pygfx.OrthographicCamera(), controller=pygfx.PanZoomController(), scene=pygfx.Scene(), @@ -236,121 +191,10 @@ def size(self) -> int: @size.setter def size(self, s: int): self._size = s - self.parent.set_viewport_rect() - self.set_viewport_rect() + self.get_figure()._fpl_reset_layout() - def get_rect(self, *args): - if self.size == 0: - self.viewport.rect = None - return - - row_ix_parent, col_ix_parent = self.parent.position - width_canvas, height_canvas = self.parent.renderer.logical_size - - spacing = 2 # spacing in pixels - - if self.position == "right": - x_pos = ( - (width_canvas / self.parent.ncols) - + ((col_ix_parent - 1) * (width_canvas / self.parent.ncols)) - + (width_canvas / self.parent.ncols) - - self.size - ) - y_pos = ( - (height_canvas / self.parent.nrows) - + ((row_ix_parent - 1) * (height_canvas / self.parent.nrows)) - ) + spacing - width_viewport = self.size - height_viewport = (height_canvas / self.parent.nrows) - spacing - - elif self.position == "left": - x_pos = (width_canvas / self.parent.ncols) + ( - (col_ix_parent - 1) * (width_canvas / self.parent.ncols) - ) - y_pos = ( - (height_canvas / self.parent.nrows) - + ((row_ix_parent - 1) * (height_canvas / self.parent.nrows)) - ) + spacing - width_viewport = self.size - height_viewport = (height_canvas / self.parent.nrows) - spacing - - elif self.position == "top": - x_pos = ( - (width_canvas / self.parent.ncols) - + ((col_ix_parent - 1) * (width_canvas / self.parent.ncols)) - + spacing - ) - y_pos = ( - (height_canvas / self.parent.nrows) - + ((row_ix_parent - 1) * (height_canvas / self.parent.nrows)) - ) + spacing - width_viewport = (width_canvas / self.parent.ncols) - spacing - height_viewport = self.size - - elif self.position == "bottom": - x_pos = ( - (width_canvas / self.parent.ncols) - + ((col_ix_parent - 1) * (width_canvas / self.parent.ncols)) - + spacing - ) - y_pos = ( - ( - (height_canvas / self.parent.nrows) - + ((row_ix_parent - 1) * (height_canvas / self.parent.nrows)) - ) - + (height_canvas / self.parent.nrows) - - self.size - ) - width_viewport = (width_canvas / self.parent.ncols) - spacing - height_viewport = self.size - else: - raise ValueError("invalid position") - - return [x_pos, y_pos, width_viewport, height_viewport] - - def get_parent_rect_adjust(self): - if self.position == "right": - return np.array( - [ - 0, # parent subplot x-position is same - 0, - -self.size, # width of parent subplot is `self.size` smaller - 0, - ] - ) - - elif self.position == "left": - return np.array( - [ - self.size, # `self.size` added to parent subplot x-position - 0, - -self.size, # width of parent subplot is `self.size` smaller - 0, - ] - ) - - elif self.position == "top": - return np.array( - [ - 0, - self.size, # `self.size` added to parent subplot y-position - 0, - -self.size, # height of parent subplot is `self.size` smaller - ] - ) - - elif self.position == "bottom": - return np.array( - [ - 0, - 0, # parent subplot y-position is same, - 0, - -self.size, # height of parent subplot is `self.size` smaller - ] - ) - - def render(self): + def _render(self): if self.size == 0: return - super().render() + super()._render() diff --git a/fastplotlib/layouts/_utils.py b/fastplotlib/layouts/_utils.py index 85c35532c..98a6268f1 100644 --- a/fastplotlib/layouts/_utils.py +++ b/fastplotlib/layouts/_utils.py @@ -1,14 +1,29 @@ import importlib +from itertools import product + +import numpy as np import pygfx from pygfx import WgpuRenderer, Texture, Renderer -from wgpu.gui import WgpuCanvasBase -from ..utils import gui +from ..utils.gui import BaseRenderCanvas, RenderCanvas + +try: + import imgui_bundle +except ImportError: + IMGUI = False +else: + IMGUI = True + + +# number of pixels taken by the imgui toolbar when present +IMGUI_TOOLBAR_HEIGHT = 39 def make_canvas_and_renderer( - canvas: str | WgpuCanvasBase | Texture | None, renderer: Renderer | None + canvas: str | BaseRenderCanvas | Texture | None, + renderer: Renderer | None, + canvas_kwargs: dict, ): """ Parses arguments and returns the appropriate canvas and renderer instances @@ -16,14 +31,16 @@ def make_canvas_and_renderer( """ if canvas is None: - canvas = gui.WgpuCanvas(max_fps=60) + canvas = RenderCanvas(**canvas_kwargs) elif isinstance(canvas, str): - m = importlib.import_module("wgpu.gui." + canvas) - canvas = m.WgpuCanvas(max_fps=60) - elif not isinstance(canvas, (WgpuCanvasBase, Texture)): + import rendercanvas + + m = importlib.import_module("rendercanvas." + canvas) + canvas = m.RenderCanvas(**canvas_kwargs) + elif not isinstance(canvas, (BaseRenderCanvas, Texture)): raise TypeError( - f"canvas option must either be a valid WgpuCanvas implementation, a pygfx Texture" - f" or a str with the wgpu gui backend name." + f"canvas option must either be a valid BaseRenderCanvas implementation, a pygfx Texture" + f" or a str with the gui backend name, valid str are: 'qt', 'glfw', 'jupyter', 'wx', and 'offscreen'" ) if renderer is None: @@ -89,3 +106,20 @@ def create_controller( ) return controller_types[controller_type](camera) + + +def get_extents_from_grid( + shape: tuple[int, int], +) -> list[tuple[float, float, float, float]]: + """create fractional extents from a given grid shape""" + x_min = np.arange(0, 1, (1 / shape[1])) + x_max = x_min + 1 / shape[1] + y_min = np.arange(0, 1, (1 / shape[0])) + y_max = y_min + 1 / shape[0] + + extents = list() + for row_ix, col_ix in product(range(shape[0]), range(shape[1])): + extent = x_min[col_ix], x_max[col_ix], y_min[row_ix], y_max[row_ix] + extents.append(extent) + + return extents diff --git a/fastplotlib/layouts/_video_writer.py b/fastplotlib/layouts/_video_writer.py deleted file mode 100644 index b7e111b50..000000000 --- a/fastplotlib/layouts/_video_writer.py +++ /dev/null @@ -1,82 +0,0 @@ -from pathlib import Path -from multiprocessing import Queue, Process - - -def _get_av(): - try: - import av - except ImportError: - raise ModuleNotFoundError( - "Recording to video file requires `av`:\n" - "https://github.com/PyAV-Org/PyAV" - ) from None - else: - return av - - -class VideoWriterAV(Process): - """Video writer, uses PyAV in an external process to write frames to disk""" - - def __init__( - self, - path: Path | str, - queue: Queue, - fps: int, - width: int, - height: int, - codec: str, - pixel_format: str, - options: dict = None, - ): - super().__init__() - self.queue = queue - - av = _get_av() - self.container = av.open(path, mode="w") - - self.stream = self.container.add_stream(codec, rate=fps, options=options) - - # in case libx264, trim last rows and/or column - # because libx264 doesn't like non-even number width or height - if width % 2 != 0: - width -= 1 - if height % 2 != 0: - height -= 1 - - self.stream.width = width - self.stream.height = height - - self.stream.pix_fmt = pixel_format - - def run(self): - av = _get_av() - while True: - if self.queue.empty(): # no frame to write - continue - - frame = self.queue.get() - - # recording has ended - if frame is None: - self.container.close() - break - - frame = av.VideoFrame.from_ndarray( - frame[ - : self.stream.height, : self.stream.width - ], # trim if necessary because of x264 - format="rgb24", - ) - - for packet in self.stream.encode(frame): - self.container.mux(packet) - - # I don't exactly know what this does, copied from pyav example - for packet in self.stream.encode(): - self.container.mux(packet) - - # close file - self.container.close() - - # close process, release resources - self.close() diff --git a/fastplotlib/layouts/output/__init__.py b/fastplotlib/layouts/output/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/fastplotlib/layouts/output/_ipywidget_toolbar.py b/fastplotlib/layouts/output/_ipywidget_toolbar.py deleted file mode 100644 index 787c8d442..000000000 --- a/fastplotlib/layouts/output/_ipywidget_toolbar.py +++ /dev/null @@ -1,202 +0,0 @@ -import traceback -from datetime import datetime -from itertools import product -from math import copysign -from pathlib import Path - -from ipywidgets.widgets import ( - HBox, - ToggleButton, - Dropdown, - Layout, - Button, - Image, -) - -from ...graphics.selectors import PolygonSelector -from ._toolbar import ToolBar -from ...utils import config - - -class IpywidgetToolBar(HBox, ToolBar): - """Basic toolbar using ipywidgets""" - - def __init__(self, figure): - ToolBar.__init__(self, figure) - - self._auto_scale_button = Button( - value=False, - disabled=False, - icon="expand-arrows-alt", - layout=Layout(width="auto"), - tooltip="auto-scale scene", - ) - self._center_scene_button = Button( - value=False, - disabled=False, - icon="align-center", - layout=Layout(width="auto"), - tooltip="auto-center scene", - ) - self._panzoom_controller_button = ToggleButton( - value=True, - disabled=False, - icon="hand-pointer", - layout=Layout(width="auto"), - tooltip="panzoom controller", - ) - self._maintain_aspect_button = ToggleButton( - value=True, - disabled=False, - description="1:1", - layout=Layout(width="auto"), - tooltip="maintain aspect", - ) - self._maintain_aspect_button.style.font_weight = "bold" - - self._y_direction_button = Button( - value=False, - disabled=False, - icon="arrow-up", - layout=Layout(width="auto"), - tooltip="y-axis direction", - ) - - self._record_button = ToggleButton( - value=False, - disabled=False, - icon="video", - layout=Layout(width="auto"), - tooltip="record", - ) - - self._add_polygon_button = Button( - value=False, - disabled=False, - icon="draw-polygon", - layout=Layout(width="auto"), - tooltip="add PolygonSelector", - ) - - widgets = [ - self._auto_scale_button, - self._center_scene_button, - self._panzoom_controller_button, - self._maintain_aspect_button, - self._y_direction_button, - self._add_polygon_button, - self._record_button, - ] - - if config.party_parrot: - gif_path = Path(__file__).parent.parent.parent.joinpath("assets", "egg.gif") - with open(gif_path, "rb") as f: - gif = f.read() - - image = Image( - value=gif, - format="png", - width=35, - height=25, - ) - widgets.append(image) - - positions = list( - product(range(self.figure.shape[0]), range(self.figure.shape[1])) - ) - values = list() - for pos in positions: - if self.figure[pos].name is not None: - values.append(self.figure[pos].name) - else: - values.append(str(pos)) - - self._dropdown = Dropdown( - options=values, - disabled=False, - description="Subplots:", - layout=Layout(width="200px"), - ) - - self.figure.renderer.add_event_handler(self.update_current_subplot, "click") - - widgets.append(self._dropdown) - - self._panzoom_controller_button.observe(self.panzoom_handler, "value") - self._auto_scale_button.on_click(self.auto_scale_handler) - self._center_scene_button.on_click(self.center_scene_handler) - self._maintain_aspect_button.observe(self.maintain_aspect_handler, "value") - self._y_direction_button.on_click(self.y_direction_handler) - self._add_polygon_button.on_click(self.add_polygon) - self._record_button.observe(self.record_plot, "value") - - # set initial values for some buttons - self._maintain_aspect_button.value = self.current_subplot.camera.maintain_aspect - - if copysign(1, self.current_subplot.camera.local.scale_y) == -1: - self._y_direction_button.icon = "arrow-down" - else: - self._y_direction_button.icon = "arrow-up" - - super().__init__(widgets) - - def _get_subplot_dropdown_value(self) -> str: - return self._dropdown.value - - def auto_scale_handler(self, obj): - self.current_subplot.auto_scale( - maintain_aspect=self.current_subplot.camera.maintain_aspect - ) - - def center_scene_handler(self, obj): - self.current_subplot.center_scene() - - def panzoom_handler(self, obj): - self.current_subplot.controller.enabled = self._panzoom_controller_button.value - - def maintain_aspect_handler(self, obj): - for camera in self.current_subplot.controller.cameras: - camera.maintain_aspect = self._maintain_aspect_button.value - - def y_direction_handler(self, obj): - # flip every camera under the same controller - for camera in self.current_subplot.controller.cameras: - camera.local.scale_y *= -1 - - if copysign(1, self.current_subplot.camera.local.scale_y) == -1: - self._y_direction_button.icon = "arrow-down" - else: - self._y_direction_button.icon = "arrow-up" - - def update_current_subplot(self, ev): - for subplot in self.figure: - pos = subplot.map_screen_to_world((ev.x, ev.y)) - if pos is not None: - # update self.dropdown - if subplot.name is None: - self._dropdown.value = str(subplot.position) - else: - self._dropdown.value = subplot.name - self._panzoom_controller_button.value = subplot.controller.enabled - self._maintain_aspect_button.value = subplot.camera.maintain_aspect - - if copysign(1, subplot.camera.local.scale_y) == -1: - self._y_direction_button.icon = "arrow-down" - else: - self._y_direction_button.icon = "arrow-up" - - def record_plot(self, obj): - if self._record_button.value: - try: - self.figure.recorder.start( - f"./{datetime.now().isoformat(timespec='seconds').replace(':', '_')}.mp4" - ) - except Exception: - traceback.print_exc() - self._record_button.value = False - else: - self.figure.recorder.stop() - - def add_polygon(self, obj): - ps = PolygonSelector(edge_width=3, edge_color="magenta") - self.current_subplot.add_graphic(ps, center=False) diff --git a/fastplotlib/layouts/output/_qt_toolbar.py b/fastplotlib/layouts/output/_qt_toolbar.py deleted file mode 100644 index 4334f1369..000000000 --- a/fastplotlib/layouts/output/_qt_toolbar.py +++ /dev/null @@ -1,125 +0,0 @@ -from datetime import datetime -from math import copysign -import traceback - -from ...utils.gui import QtWidgets -from ...graphics.selectors import PolygonSelector -from ._toolbar import ToolBar -from ._qtoolbar_template import Ui_QToolbar - - -class QToolbar( - ToolBar, QtWidgets.QWidget -): # inheritance order MUST be Toolbar first, QWidget second! Else breaks - """Toolbar for Qt context""" - - def __init__(self, output_context, figure): - QtWidgets.QWidget.__init__(self, parent=output_context) - ToolBar.__init__(self, figure) - - # initialize UI - self.ui = Ui_QToolbar() - self.ui.setupUi(self) - - # connect button events - self.ui.auto_scale_button.clicked.connect(self.auto_scale_handler) - self.ui.center_button.clicked.connect(self.center_scene_handler) - self.ui.panzoom_button.toggled.connect(self.panzoom_handler) - self.ui.maintain_aspect_button.toggled.connect(self.maintain_aspect_handler) - self.ui.y_direction_button.clicked.connect(self.y_direction_handler) - - # subplot labels update when a user click on subplots - subplot = self.figure[0, 0] - # set label from first subplot name - if subplot.name is not None: - name = subplot.name - else: - name = str(subplot.position) - - # here we will just use a simple label, not a dropdown like ipywidgets - # the dropdown implementation is tedious with Qt - self.ui.current_subplot = QtWidgets.QLabel(parent=self) - self.ui.current_subplot.setText(name) - self.ui.horizontalLayout.addWidget(self.ui.current_subplot) - - # update the subplot label when a subplot is clicked into - self.figure.renderer.add_event_handler(self.update_current_subplot, "click") - - self.setMaximumHeight(35) - - # set the initial values for buttons - self.ui.maintain_aspect_button.setChecked( - self.current_subplot.camera.maintain_aspect - ) - self.ui.panzoom_button.setChecked(self.current_subplot.controller.enabled) - - if copysign(1, self.current_subplot.camera.local.scale_y) == -1: - self.ui.y_direction_button.setText("v") - else: - self.ui.y_direction_button.setText("^") - - def update_current_subplot(self, ev): - """update the text label for the current subplot""" - for subplot in self.figure: - pos = subplot.map_screen_to_world((ev.x, ev.y)) - if pos is not None: - if subplot.name is not None: - name = subplot.name - else: - name = str(subplot.position) - self.ui.current_subplot.setText(name) - - # set buttons w.r.t. current subplot - self.ui.panzoom_button.setChecked(subplot.controller.enabled) - self.ui.maintain_aspect_button.setChecked( - subplot.camera.maintain_aspect - ) - - if copysign(1, subplot.camera.local.scale_y) == -1: - self.ui.y_direction_button.setText("v") - else: - self.ui.y_direction_button.setText("^") - - def _get_subplot_dropdown_value(self) -> str: - return self.ui.current_subplot.text() - - def auto_scale_handler(self, *args): - self.current_subplot.auto_scale( - maintain_aspect=self.current_subplot.camera.maintain_aspect - ) - - def center_scene_handler(self, *args): - self.current_subplot.center_scene() - - def panzoom_handler(self, value: bool): - self.current_subplot.controller.enabled = value - - def maintain_aspect_handler(self, value: bool): - for camera in self.current_subplot.controller.cameras: - camera.maintain_aspect = value - - def y_direction_handler(self, *args): - # flip every camera under the same controller - for camera in self.current_subplot.controller.cameras: - camera.local.scale_y *= -1 - - if copysign(1, self.current_subplot.camera.local.scale_y) == -1: - self.ui.y_direction_button.setText("v") - else: - self.ui.y_direction_button.setText("^") - - def record_handler(self, ev): - if self.ui.record_button.isChecked(): - try: - self.figure.record_start( - f"./{datetime.now().isoformat(timespec='seconds').replace(':', '_')}.mp4" - ) - except Exception: - traceback.print_exc() - self.ui.record_button.setChecked(False) - else: - self.figure.record_stop() - - def add_polygon(self, *args): - ps = PolygonSelector(edge_width=3, edge_color="mageneta") - self.current_subplot.add_graphic(ps, center=False) diff --git a/fastplotlib/layouts/output/_qtoolbar_template.py b/fastplotlib/layouts/output/_qtoolbar_template.py deleted file mode 100644 index d2311c595..000000000 --- a/fastplotlib/layouts/output/_qtoolbar_template.py +++ /dev/null @@ -1,61 +0,0 @@ -# Form implementation generated from reading ui file 'qtoolbar.ui' -# -# Created by: PyQt6 UI code generator 6.5.3 -# -# WARNING: Any manual changes made to this file will be lost when pyuic6 is -# run again. Do not edit this file unless you know what you are doing. - -from ...utils.gui import QtGui, QtCore, QtWidgets - - -class Ui_QToolbar(object): - def setupUi(self, QToolbar): - QToolbar.setObjectName("QToolbar") - QToolbar.resize(638, 48) - self.horizontalLayout_2 = QtWidgets.QHBoxLayout(QToolbar) - self.horizontalLayout_2.setObjectName("horizontalLayout_2") - self.horizontalLayout = QtWidgets.QHBoxLayout() - self.horizontalLayout.setObjectName("horizontalLayout") - self.auto_scale_button = QtWidgets.QPushButton(parent=QToolbar) - self.auto_scale_button.setObjectName("auto_scale_button") - self.horizontalLayout.addWidget(self.auto_scale_button) - self.center_button = QtWidgets.QPushButton(parent=QToolbar) - self.center_button.setObjectName("center_button") - self.horizontalLayout.addWidget(self.center_button) - self.panzoom_button = QtWidgets.QPushButton(parent=QToolbar) - self.panzoom_button.setCheckable(True) - self.panzoom_button.setObjectName("panzoom_button") - self.horizontalLayout.addWidget(self.panzoom_button) - self.maintain_aspect_button = QtWidgets.QPushButton(parent=QToolbar) - font = QtGui.QFont() - font.setBold(True) - font.setWeight(QtGui.QFont.Weight.Bold) - self.maintain_aspect_button.setFont(font) - self.maintain_aspect_button.setCheckable(True) - self.maintain_aspect_button.setObjectName("maintain_aspect_button") - self.horizontalLayout.addWidget(self.maintain_aspect_button) - self.y_direction_button = QtWidgets.QPushButton(parent=QToolbar) - self.y_direction_button.setObjectName("y_direction_button") - self.horizontalLayout.addWidget(self.y_direction_button) - self.add_polygon_button = QtWidgets.QPushButton(parent=QToolbar) - self.add_polygon_button.setObjectName("add_polygon_button") - self.horizontalLayout.addWidget(self.add_polygon_button) - self.record_button = QtWidgets.QPushButton(parent=QToolbar) - self.record_button.setCheckable(True) - self.record_button.setObjectName("record_button") - self.horizontalLayout.addWidget(self.record_button) - self.horizontalLayout_2.addLayout(self.horizontalLayout) - - self.retranslateUi(QToolbar) - QtCore.QMetaObject.connectSlotsByName(QToolbar) - - def retranslateUi(self, QToolbar): - _translate = QtCore.QCoreApplication.translate - QToolbar.setWindowTitle(_translate("QToolbar", "Form")) - self.auto_scale_button.setText(_translate("QToolbar", "autoscale")) - self.center_button.setText(_translate("QToolbar", "center")) - self.panzoom_button.setText(_translate("QToolbar", "panzoom")) - self.maintain_aspect_button.setText(_translate("QToolbar", "1:1")) - self.y_direction_button.setText(_translate("QToolbar", "^")) - self.add_polygon_button.setText(_translate("QToolbar", "polygon")) - self.record_button.setText(_translate("QToolbar", "record")) diff --git a/fastplotlib/layouts/output/_toolbar.py b/fastplotlib/layouts/output/_toolbar.py deleted file mode 100644 index 5edd201fa..000000000 --- a/fastplotlib/layouts/output/_toolbar.py +++ /dev/null @@ -1,45 +0,0 @@ -from .._subplot import Subplot - - -class ToolBar: - def __init__(self, figure): - self.figure = figure - - def _get_subplot_dropdown_value(self) -> str: - raise NotImplemented - - @property - def current_subplot(self) -> Subplot: - """Returns current subplot""" - if hasattr(self.figure, "_subplots"): - # parses dropdown or label value as plot name or position - current = self._get_subplot_dropdown_value() - if current[0] == "(": - # str representation of int tuple to tuple of int - current = tuple(int(i) for i in current.strip("()").split(",")) - return self.figure[current] - else: - return self.figure[current] - else: - return self.figure - - def panzoom_handler(self, ev): - raise NotImplemented - - def maintain_aspect_handler(self, ev): - raise NotImplemented - - def y_direction_handler(self, ev): - raise NotImplemented - - def auto_scale_handler(self, ev): - raise NotImplemented - - def center_scene_handler(self, ev): - raise NotImplemented - - def record_handler(self, ev): - raise NotImplemented - - def add_polygon(self, ev): - raise NotImplemented diff --git a/fastplotlib/layouts/output/jupyter_output.py b/fastplotlib/layouts/output/jupyter_output.py deleted file mode 100644 index 9ebf0941d..000000000 --- a/fastplotlib/layouts/output/jupyter_output.py +++ /dev/null @@ -1,83 +0,0 @@ -from ipywidgets import VBox, Widget -from sidecar import Sidecar -from IPython.display import display - -from ._ipywidget_toolbar import IpywidgetToolBar - - -class JupyterOutputContext(VBox): - """ - Output context to display plots in jupyter. Inherits from ipywidgets.VBox - - Basically vstacks plot canvas, toolbar, and other widgets. Uses sidecar if desired. - """ - - def __init__( - self, - frame, - make_toolbar: bool, - use_sidecar: bool, - sidecar_kwargs: dict, - add_widgets: list[Widget], - ): - """ - - Parameters - ---------- - frame: - Plot frame for which to generate the output context - - sidecar_kwargs: dict - optional kwargs passed to Sidecar - - add_widgets: List[Widget] - list of ipywidgets to stack below the plot and toolbar - """ - self.frame = frame - self.toolbar = None - self.sidecar = None - - # verify they are all valid ipywidgets - if False in [isinstance(w, Widget) for w in add_widgets]: - raise TypeError( - f"add_widgets must be list of ipywidgets, you have passed:\n{add_widgets}" - ) - - self.use_sidecar = use_sidecar - - if not make_toolbar: # just stack canvas and the additional widgets, if any - self.output = (frame.canvas, *add_widgets) - - if make_toolbar: # make toolbar and stack canvas, toolbar, add_widgets - self.toolbar = IpywidgetToolBar(frame) - self.output = (frame.canvas, self.toolbar, *add_widgets) - - if use_sidecar: # instantiate sidecar if desired - self.sidecar = Sidecar(**sidecar_kwargs) - - # stack all of these in the VBox - super().__init__(self.output) - - def _repr_mimebundle_(self, *args, **kwargs): - """ - This is what jupyter hook into when this output context instance is returned at the end of a cell. - """ - if self.use_sidecar: - with self.sidecar: - # TODO: prints all the child widgets in the cell output, will figure out later, sidecar output works - return display(VBox(self.output)) - else: - # just display VBox contents in cell output - return super()._repr_mimebundle_(*args, **kwargs) - - def close(self): - """Closes the output context, cleanup all the stuff""" - self.frame.canvas.close() - - if self.toolbar is not None: - self.toolbar.close() - - if self.sidecar is not None: - self.sidecar.close() - - super().close() # ipywidget VBox cleanup diff --git a/fastplotlib/layouts/output/qt_output.py b/fastplotlib/layouts/output/qt_output.py deleted file mode 100644 index 20aaef2d1..000000000 --- a/fastplotlib/layouts/output/qt_output.py +++ /dev/null @@ -1,57 +0,0 @@ -from ...utils.gui import QtWidgets -from ._qt_toolbar import QToolbar - - -class QOutputContext(QtWidgets.QWidget): - """ - Output context to display plots in Qt apps. Inherits from QtWidgets.QWidget - - Basically vstacks plot canvas, toolbar, and other widgets. - """ - - def __init__( - self, - frame, - make_toolbar, - add_widgets, - ): - """ - - Parameters - ---------- - frame: - Plot frame for which to generate the output context - - add_widgets: List[Widget] - list of QWidget to stack below the plot and toolbar - """ - # no parent, user can use Plot.widget.setParent(parent) if necessary to embed into other widgets - QtWidgets.QWidget.__init__(self, parent=None) - self.frame = frame - self.toolbar = None - - # vertical layout used to stack plot canvas, toolbar, and add_widgets - self.vlayout = QtWidgets.QVBoxLayout(self) - - # add canvas to layout - self.vlayout.addWidget(self.frame.canvas) - - if make_toolbar: # make toolbar and add to layout - self.toolbar = QToolbar(output_context=self, figure=frame) - self.vlayout.addWidget(self.toolbar) - - for w in add_widgets: # add any additional widgets to layout - w.setParent(self) - self.vlayout.addWidget(w) - - self.setLayout(self.vlayout) - - self.resize(*self.frame._starting_size) - - self.show() - - def close(self): - """Cleanup and close the output context""" - self.frame.canvas.close() - self.toolbar.close() - super().close() # QWidget cleanup diff --git a/fastplotlib/layouts/output/qtoolbar.ui b/fastplotlib/layouts/output/qtoolbar.ui deleted file mode 100644 index 6c9aadae8..000000000 --- a/fastplotlib/layouts/output/qtoolbar.ui +++ /dev/null @@ -1,89 +0,0 @@ - - - QToolbar - - - - 0 - 0 - 638 - 48 - - - - Form - - - - - - - - autoscale - - - - - - - center - - - - - - - panzoom - - - true - - - - - - - - 75 - true - - - - 1:1 - - - true - - - - - - - ^ - - - - - - - polygon - - - - - - - record - - - true - - - - - - - - - - diff --git a/fastplotlib/legends/legend.py b/fastplotlib/legends/legend.py index 8ab3ddedb..69a556109 100644 --- a/fastplotlib/legends/legend.py +++ b/fastplotlib/legends/legend.py @@ -5,8 +5,8 @@ import numpy as np import pygfx -from ..graphics._base import Graphic -from ..graphics._features._base import FeatureEvent +from ..graphics import Graphic +from ..graphics.features import GraphicFeatureEvent from ..graphics import LineGraphic, ScatterGraphic, ImageGraphic from ..utils import mesh_masks @@ -56,10 +56,10 @@ def __init__( ) # for now only support lines with a single color - if np.unique(graphic.colors(), axis=0).shape[0] > 1: + if np.unique(graphic.colors.value, axis=0).shape[0] > 1: raise ValueError("Use colorbars for multi-colored lines, not legends") - color = pygfx.Color(np.unique(graphic.colors(), axis=0).ravel()) + color = pygfx.Color(np.unique(graphic.colors.value, axis=0).ravel()) self._parent = parent @@ -116,8 +116,8 @@ def label(self, text: str): self._parent._check_label_unique(text) self._label_world_object.geometry.set_text(text) - def _update_color(self, ev: FeatureEvent): - new_color = ev.pick_info["new_data"] + def _update_color(self, ev: GraphicFeatureEvent): + new_color = ev.info["value"] if np.unique(new_color, axis=0).shape[0] > 1: raise ValueError( "LegendError: LineGraphic colors no longer appropriate for legend" @@ -126,8 +126,8 @@ def _update_color(self, ev: FeatureEvent): self._color = new_color[0] self._line_world_object.material.color = pygfx.Color(self._color) - def _highlight_graphic(self, graphic, ev): - graphic_color = pygfx.Color(np.unique(graphic.colors(), axis=0).ravel()) + def _highlight_graphic(self, graphic: Graphic, ev): + graphic_color = pygfx.Color(np.unique(graphic.colors.value, axis=0).ravel()) if graphic_color == self._parent.highlight_color: graphic.colors = self._color @@ -270,7 +270,7 @@ def add_graphic(self, graphic: Graphic, label: str = None): self._graphics.append(graphic) self._items[graphic._fpl_address] = legend_item - graphic.deleted.add_event_handler(partial(self.remove_graphic, graphic)) + graphic.add_event_handler(partial(self.remove_graphic, graphic), "deleted") self._col_counter = new_col_ix self._row_counter = new_row_ix diff --git a/fastplotlib/tools/__init__.py b/fastplotlib/tools/__init__.py new file mode 100644 index 000000000..df129a369 --- /dev/null +++ b/fastplotlib/tools/__init__.py @@ -0,0 +1,7 @@ +from ._histogram_lut import HistogramLUTTool +from ._tooltip import Tooltip + +__all__ = [ + "HistogramLUTTool", + "Tooltip", +] diff --git a/fastplotlib/widgets/histogram_lut.py b/fastplotlib/tools/_histogram_lut.py similarity index 56% rename from fastplotlib/widgets/histogram_lut.py rename to fastplotlib/tools/_histogram_lut.py index 02c21aa38..aeb8dd996 100644 --- a/fastplotlib/widgets/histogram_lut.py +++ b/fastplotlib/tools/_histogram_lut.py @@ -1,16 +1,31 @@ +from math import ceil import weakref import numpy as np -from pygfx import Group +import pygfx +from ..utils import subsample_array from ..graphics import LineGraphic, ImageGraphic, TextGraphic +from ..graphics.utils import pause_events from ..graphics._base import Graphic from ..graphics.selectors import LinearRegionSelector +def _get_image_graphic_events(image_graphic: ImageGraphic) -> list[str]: + """Small helper function to return the relevant events for an ImageGraphic""" + events = ["vmin", "vmax"] + + if not image_graphic.data.value.ndim > 2: + events.append("cmap") + + # if RGB(A), do not add cmap + + return events + + # TODO: This is a widget, we can think about a BaseWidget class later if necessary -class HistogramLUT(Graphic): +class HistogramLUTTool(Graphic): def __init__( self, data: np.ndarray, @@ -25,9 +40,10 @@ def __init__( ---------- data image_graphic - nbins - flank_divisor: float, default 5.0 - set `np.inf` for no flanks + nbins: int, defaut 100. + Total number of bins used in the histogram + flank_divisor: float, default 5.0. + Fraction of empty histogram bins on the tails of the distribution set `np.inf` for no flanks kwargs """ super().__init__(**kwargs) @@ -46,7 +62,7 @@ def __init__( self._histogram_line = LineGraphic(line_data) - bounds = (edges[0], edges[-1]) + bounds = (edges[0] * self._scale_factor, edges[-1] * self._scale_factor) limits = (edges_flanked[0], edges_flanked[-1]) size = 120 # since it's scaled to 100 origin = (hist_scaled.max() / 2, 0) @@ -63,8 +79,8 @@ def __init__( # there will be a small difference with the histogram edges so this makes them both line up exactly self._linear_region_selector.selection = ( - self._image_graphic.vmin, - self._image_graphic.vmax, + self._image_graphic.vmin * self._scale_factor, + self._image_graphic.vmax * self._scale_factor, ) self._vmin = self.image_graphic.vmin @@ -94,7 +110,7 @@ def __init__( self._text_vmax.world_object.material.pick_write = False - widget_wo = Group() + widget_wo = pygfx.Group() widget_wo.add( self._histogram_line.world_object, self._linear_region_selector.world_object, @@ -114,7 +130,47 @@ def __init__( self._linear_region_handler, "selection" ) - self.image_graphic.add_event_handler(self._image_cmap_handler, "vmin", "vmax") + ig_events = _get_image_graphic_events(self.image_graphic) + + self.image_graphic.add_event_handler(self._image_cmap_handler, *ig_events) + + # colorbar for grayscale images + if self.image_graphic.data.value.ndim != 3: + self._colorbar: ImageGraphic = self._make_colorbar(edges_flanked) + self._colorbar.add_event_handler(self._open_cmap_picker, "click") + + self.world_object.add(self._colorbar.world_object) + else: + self._colorbar = None + self._cmap = None + + def _make_colorbar(self, edges_flanked) -> ImageGraphic: + # use the histogram edge values as data for an + # image with 2 columns, this will be our colorbar! + colorbar_data = np.column_stack( + [ + np.linspace( + edges_flanked[0], edges_flanked[-1], ceil(np.ptp(edges_flanked)) + ) + ] + * 2 + ).astype(np.float32) + + colorbar_data /= self._scale_factor + + cbar = ImageGraphic( + data=colorbar_data, + vmin=self.vmin, + vmax=self.vmax, + cmap=self.image_graphic.cmap, + interpolation="linear", + offset=(-55, edges_flanked[0], -1), + ) + + cbar.world_object.world.scale_x = 20 + self._cmap = self.image_graphic.cmap + + return cbar def _get_vmin_vmax_str(self) -> tuple[str, str]: if self.vmin < 0.001 or self.vmin > 99_999: @@ -135,35 +191,19 @@ def _fpl_add_plot_area_hook(self, plot_area): self._histogram_line._fpl_add_plot_area_hook(plot_area) self._plot_area.auto_scale() + self._plot_area.controller.enabled = True def _calculate_histogram(self, data): - if data.ndim > 2: - # subsample to max of 500 x 100 x 100, - # np.histogram takes ~30ms with this size on a 8 core Ryzen laptop - # dim0 is usually time, allow max of 500 timepoints - ss0 = max(1, int(data.shape[0] / 500)) # max to prevent step = 0 - # allow max of 100 for x and y if ndim > 2 - ss1 = max(1, int(data.shape[1] / 100)) - ss2 = max(1, int(data.shape[2] / 100)) - - data_ss = data[::ss0, ::ss1, ::ss2] - - hist, edges = np.histogram(data_ss, bins=self._nbins) - - else: - # allow max of 1000 x 1000 - # this takes ~4ms on a 8 core Ryzen laptop - ss0 = max(1, int(data.shape[0] / 1_000)) - ss1 = max(1, int(data.shape[1] / 1_000)) - - data_ss = data[::ss0, ::ss1] - hist, edges = np.histogram(data_ss, bins=self._nbins) + # get a subsampled view of this array + data_ss = subsample_array(data, max_size=int(1e6)) # 1e6 is default + hist, edges = np.histogram(data_ss, bins=self._nbins) # used if data ptp <= 10 because event things get weird - # with tiny world objects due to floating point error + # with tiny world objects due to floating point error # so if ptp <= 10, scale up by a factor - self._scale_factor: int = max(1, 100 * int(10 / np.ptp(data_ss))) + data_interval = edges[-1] - edges[0] + self._scale_factor: int = max(1, 100 * int(10 / data_interval)) edges = edges * self._scale_factor @@ -178,7 +218,6 @@ def _calculate_histogram(self, data): ) edges_flanked = np.concatenate((flank_left, edges, flank_right)) - np.unique(np.diff(edges_flanked)) hist_flanked = np.concatenate( (np.zeros(flank_nbins), hist, np.zeros(flank_nbins)) @@ -186,7 +225,10 @@ def _calculate_histogram(self, data): # scale 0-100 to make it easier to see # float32 data can produce unnecessarily high values - hist_scaled = hist_flanked / (hist_flanked.max() / 100) + hist_scale_value = hist_flanked.max() + if np.allclose(hist_scale_value, 0): + hist_scale_value = 1 + hist_scaled = hist_flanked / (hist_scale_value / 100) if edges_flanked.size > hist_scaled.size: # we don't care about accuracy here so if it's off by 1-2 bins that's fine @@ -205,27 +247,39 @@ def _linear_region_handler(self, ev): def _image_cmap_handler(self, ev): setattr(self, ev.type, ev.info["value"]) + @property + def cmap(self) -> str: + return self._cmap + + @cmap.setter + def cmap(self, name: str): + if self._colorbar is None: + return + + with pause_events(self.image_graphic): + self.image_graphic.cmap = name + + self._cmap = name + self._colorbar.cmap = name + @property def vmin(self) -> float: return self._vmin @vmin.setter def vmin(self, value: float): - self.image_graphic.block_events = True - self._linear_region_selector.block_events = True - - # must use world coordinate values directly from selection() - # otherwise the linear region bounds jump to the closest bin edges - self._linear_region_selector.selection = ( - value * self._scale_factor, - self._linear_region_selector.selection[1], - ) - self.image_graphic.vmin = value - - self.image_graphic.block_events = False - self._linear_region_selector.block_events = False + with pause_events(self.image_graphic, self._linear_region_selector): + # must use world coordinate values directly from selection() + # otherwise the linear region bounds jump to the closest bin edges + self._linear_region_selector.selection = ( + value * self._scale_factor, + self._linear_region_selector.selection[1], + ) + self.image_graphic.vmin = value self._vmin = value + if self._colorbar is not None: + self._colorbar.vmin = value vmin_str, vmax_str = self._get_vmin_vmax_str() self._text_vmin.offset = (-120, self._linear_region_selector.selection[0], 0) @@ -237,22 +291,19 @@ def vmax(self) -> float: @vmax.setter def vmax(self, value: float): - self.image_graphic.block_events = True - self._linear_region_selector.block_events = True - - # must use world coordinate values directly from selection() - # otherwise the linear region bounds jump to the closest bin edges - self._linear_region_selector.selection = ( - self._linear_region_selector.selection[0], - value * self._scale_factor, - ) - - self.image_graphic.vmax = value + with pause_events(self.image_graphic, self._linear_region_selector): + # must use world coordinate values directly from selection() + # otherwise the linear region bounds jump to the closest bin edges + self._linear_region_selector.selection = ( + self._linear_region_selector.selection[0], + value * self._scale_factor, + ) - self.image_graphic.block_events = False - self._linear_region_selector.block_events = False + self.image_graphic.vmax = value self._vmax = value + if self._colorbar is not None: + self._colorbar.vmax = value vmin_str, vmax_str = self._get_vmin_vmax_str() self._text_vmax.offset = (-120, self._linear_region_selector.selection[1], 0) @@ -275,15 +326,25 @@ def set_data(self, data, reset_vmin_vmax: bool = True): self._linear_region_selector.limits = limits self._linear_region_selector.selection = bounds else: - # don't change the current selection - self.image_graphic.block_events = True - self._linear_region_selector.block_events = True - self._linear_region_selector.limits = limits - self.image_graphic.block_events = False - self._linear_region_selector.block_events = False + with pause_events(self.image_graphic, self._linear_region_selector): + # don't change the current selection + self._linear_region_selector.limits = limits self._data = weakref.proxy(data) + if self._colorbar is not None: + self._colorbar.clear_event_handlers() + self.world_object.remove(self._colorbar.world_object) + + if self.image_graphic.data.value.ndim != 3: + self._colorbar: ImageGraphic = self._make_colorbar(edges_flanked) + self._colorbar.add_event_handler(self._open_cmap_picker, "click") + + self.world_object.add(self._colorbar.world_object) + else: + self._colorbar = None + self._cmap = None + # reset plotarea dims self._plot_area.auto_scale() @@ -295,24 +356,39 @@ def image_graphic(self) -> ImageGraphic: def image_graphic(self, graphic): if not isinstance(graphic, ImageGraphic): raise TypeError( - f"HistogramLUT can only use ImageGraphic types, you have passed: {type(graphic)}" + f"HistogramLUTTool can only use ImageGraphic types, you have passed: {type(graphic)}" ) if self._image_graphic is not None: # cleanup events from current image graphic - self._image_graphic.remove_event_handler(self._image_cmap_handler) + ig_events = _get_image_graphic_events(self._image_graphic) + self._image_graphic.remove_event_handler( + self._image_cmap_handler, *ig_events + ) self._image_graphic = graphic - self.image_graphic.add_event_handler(self._image_cmap_handler) + ig_events = _get_image_graphic_events(self._image_graphic) + + self.image_graphic.add_event_handler(self._image_cmap_handler, *ig_events) def disconnect_image_graphic(self): - self._image_graphic.remove_event_handler(self._image_cmap_handler) + ig_events = _get_image_graphic_events(self._image_graphic) + self._image_graphic.remove_event_handler(self._image_cmap_handler, *ig_events) del self._image_graphic # self._image_graphic = None - def _fpl_cleanup(self): - self._linear_region_selector._fpl_cleanup() - self._histogram_line._fpl_cleanup() + def _open_cmap_picker(self, ev): + # check if right click + if ev.button != 2: + return + + pos = ev.x, ev.y + + self._plot_area.get_figure().open_popup("colormap-picker", pos, lut_tool=self) + + def _fpl_prepare_del(self): + self._linear_region_selector._fpl_prepare_del() + self._histogram_line._fpl_prepare_del() del self._histogram_line del self._linear_region_selector diff --git a/fastplotlib/tools/_tooltip.py b/fastplotlib/tools/_tooltip.py new file mode 100644 index 000000000..2fbdfcec2 --- /dev/null +++ b/fastplotlib/tools/_tooltip.py @@ -0,0 +1,297 @@ +from functools import partial + +import numpy as np +import pygfx + +from ..graphics import LineGraphic, ImageGraphic, ScatterGraphic, Graphic +from ..graphics.features import GraphicFeatureEvent + + +class MeshMasks: + """Used set the x0, x1, y0, y1 positions of the plane mesh""" + + x0 = np.array( + [ + [False, False, False], + [True, False, False], + [False, False, False], + [True, False, False], + ] + ) + + x1 = np.array( + [ + [True, False, False], + [False, False, False], + [True, False, False], + [False, False, False], + ] + ) + + y0 = np.array( + [ + [False, True, False], + [False, True, False], + [False, False, False], + [False, False, False], + ] + ) + + y1 = np.array( + [ + [False, False, False], + [False, False, False], + [False, True, False], + [False, True, False], + ] + ) + + +masks = MeshMasks + + +class Tooltip: + def __init__(self): + # text object + self._text = pygfx.Text( + text="", + font_size=12, + screen_space=False, + anchor="bottom-left", + material=pygfx.TextMaterial( + color="w", + outline_color="w", + outline_thickness=0.0, + pick_write=False, + ), + ) + + # plane for the background of the text object + geometry = pygfx.plane_geometry(1, 1) + material = pygfx.MeshBasicMaterial(color=(0.1, 0.1, 0.3, 0.95)) + self._plane = pygfx.Mesh(geometry, material) + # else text not visible + self._plane.world.z = 0.5 + + # line to outline the plane mesh + self._line = pygfx.Line( + geometry=pygfx.Geometry( + positions=np.array( + [ + [0, 0, 0], + [0, 0, 0], + [0, 0, 0], + [0, 0, 0], + [0, 0, 0], + ], + dtype=np.float32, + ) + ), + material=pygfx.LineThinMaterial(thickness=1.0, color=(0.8, 0.8, 1.0, 1.0)), + ) + + self._world_object = pygfx.Group() + self._world_object.add(self._plane, self._text, self._line) + + # padded to bbox so the background box behind the text extends a bit further + # making the text easier to read + self._padding = np.array([[5, 5, 0], [-5, -5, 0]], dtype=np.float32) + + self._registered_graphics = dict() + + @property + def world_object(self) -> pygfx.Group: + return self._world_object + + @property + def font_size(self): + """Get or set font size""" + return self._text.font_size + + @font_size.setter + def font_size(self, size: float): + self._text.font_size = size + + @property + def text_color(self): + """Get or set text color using a str or RGB(A) array""" + return self._text.material.color + + @text_color.setter + def text_color(self, color: str | tuple | list | np.ndarray): + self._text.material.color = color + + @property + def background_color(self): + """Get or set background color using a str or RGB(A) array""" + return self._plane.material.color + + @background_color.setter + def background_color(self, color: str | tuple | list | np.ndarray): + self._plane.material.color = color + + @property + def outline_color(self): + """Get or set outline color using a str or RGB(A) array""" + return self._line.material.color + + @outline_color.setter + def outline_color(self, color: str | tuple | list | np.ndarray): + self._line.material.color = color + + @property + def padding(self) -> np.ndarray: + """ + Get or set the background padding in number of pixels. + The padding defines the number of pixels around the tooltip text that the background is extended by. + """ + + return self.padding[0, :2].copy() + + @padding.setter + def padding(self, padding_xy: tuple[float, float]): + self._padding[0, :2] = padding_xy + self._padding[1, :2] = -np.asarray(padding_xy) + + def _set_position(self, pos: tuple[float, float]): + """ + Set the position of the tooltip + + Parameters + ---------- + pos: [float, float] + position in screen space + + """ + # need to flip due to inverted y + x, y = pos[0], pos[1] + + # put the tooltip slightly to the top right of the cursor positoin + x += 8 + y -= 8 + + self._text.world.position = (x, -y, 0) + + bbox = self._text.get_world_bounding_box() - self._padding + [[x0, y0, _], [x1, y1, _]] = bbox + + self._plane.geometry.positions.data[masks.x0] = x0 + self._plane.geometry.positions.data[masks.x1] = x1 + self._plane.geometry.positions.data[masks.y0] = y0 + self._plane.geometry.positions.data[masks.y1] = y1 + + self._plane.geometry.positions.update_range() + + # line points + pts = [[x0, y0], [x0, y1], [x1, y1], [x1, y0], [x0, y0]] + + self._line.geometry.positions.data[:, :2] = pts + self._line.geometry.positions.update_range() + + def _event_handler(self, custom_tooltip: callable, ev: pygfx.PointerEvent): + """Handles the tooltip appear event, determines the text to be set in the tooltip""" + if custom_tooltip is not None: + info = custom_tooltip(ev) + + elif isinstance(ev.graphic, ImageGraphic): + col, row = ev.pick_info["index"] + if ev.graphic.data.value.ndim == 2: + info = str(ev.graphic.data[row, col]) + else: + info = "\n".join( + f"{channel}: {val}" + for channel, val in zip("rgba", ev.graphic.data[row, col]) + ) + + elif isinstance(ev.graphic, (LineGraphic, ScatterGraphic)): + index = ev.pick_info["vertex_index"] + info = "\n".join( + f"{dim}: {val}" for dim, val in zip("xyz", ev.graphic.data[index]) + ) + else: + raise TypeError("Unsupported graphic") + + # make the tooltip object visible + self.world_object.visible = True + + # set the text and top left position of the tooltip + self._text.set_text(info) + self._set_position((ev.x, ev.y)) + + def _clear(self, ev): + self._text.set_text("") + self.world_object.visible = False + + def register( + self, + graphic: Graphic, + appear_event: str = "pointer_move", + disappear_event: str = "pointer_leave", + custom_info: callable = None, + ): + """ + Register a Graphic to display tooltips. + + **Note:** if the passed graphic is already registered then it first unregistered + and then re-registered using the given arguments. + + Parameters + ---------- + graphic: Graphic + Graphic to register + + appear_event: str, default "pointer_move" + the pointer that triggers the tooltip to appear. Usually one of "pointer_move" | "click" | "double_click" + + disappear_event: str, default "pointer_leave" + the event that triggers the tooltip to disappear, does not have to be a pointer event. + + custom_info: callable, default None + a custom function that takes the pointer event defined as the `appear_event` and returns the text + to display in the tooltip + + """ + if graphic in list(self._registered_graphics.keys()): + # unregister first and then re-register + self.unregister(graphic) + + pfunc = partial(self._event_handler, custom_info) + graphic.add_event_handler(pfunc, appear_event) + graphic.add_event_handler(self._clear, disappear_event) + + self._registered_graphics[graphic] = (pfunc, appear_event, disappear_event) + + # automatically unregister when graphic is deleted + graphic.add_event_handler(self.unregister, "deleted") + + def unregister(self, graphic: Graphic): + """ + Unregister a Graphic to no longer display tooltips for this graphic. + + **Note:** if the passed graphic is not registered then it is just ignored without raising any exception. + + Parameters + ---------- + graphic: Graphic + Graphic to unregister + + """ + + if isinstance(graphic, GraphicFeatureEvent): + # this happens when the deleted event is triggered + graphic = graphic.graphic + + if graphic not in self._registered_graphics: + return + + # get pfunc and event names + pfunc, appear_event, disappear_event = self._registered_graphics.pop(graphic) + + # remove handlers from graphic + graphic.remove_event_handler(pfunc, appear_event) + graphic.remove_event_handler(self._clear, disappear_event) + + def unregister_all(self): + """unregister all graphics""" + for graphic in self._registered_graphics.keys(): + self.unregister(graphic) diff --git a/fastplotlib/ui/__init__.py b/fastplotlib/ui/__init__.py new file mode 100644 index 000000000..a1e57a9c5 --- /dev/null +++ b/fastplotlib/ui/__init__.py @@ -0,0 +1,3 @@ +from ._base import BaseGUI, Window, EdgeWindow, Popup, GUI_EDGES +from ._subplot_toolbar import SubplotToolbar +from .right_click_menus import StandardRightClickMenu, ColormapPicker diff --git a/fastplotlib/ui/_base.py b/fastplotlib/ui/_base.py new file mode 100644 index 000000000..e31dd8d4a --- /dev/null +++ b/fastplotlib/ui/_base.py @@ -0,0 +1,240 @@ +from typing import Literal +import numpy as np + +from imgui_bundle import imgui + +from ..layouts._figure import Figure + + +GUI_EDGES = ["right", "bottom"] + + +class BaseGUI: + """ + Base class for all ImGUI based GUIs, windows and popups + + The main purpose of this base is for setting a unique ID between multiple figs with identical UI elements + + This ID can be pushed in subclasses within the `update()` method + """ + + ID_COUNTER: int = 0 + + def __init__(self): + BaseGUI.ID_COUNTER += 1 + self._id_counter = BaseGUI.ID_COUNTER + + def update(self): + """must be implemented in subclass""" + raise NotImplementedError + + +class Window(BaseGUI): + """Base class for imgui windows drawn within Figures""" + + pass + + +class EdgeWindow(Window): + def __init__( + self, + figure: Figure, + size: int, + location: Literal["bottom", "right"], + title: str, + window_flags: int = imgui.WindowFlags_.no_collapse + | imgui.WindowFlags_.no_resize, + *args, + **kwargs, + ): + """ + A base class for imgui windows displayed at the bottom or top edge of a Figure + + Parameters + ---------- + figure: Figure + Figure instance that this window will be placed in + + size: int + width or height of the window, depending on its location + + location: str, "bottom" | "right" + location of the window + + title: str + window title + + window_flags: int + window flag enum, valid flags are: + + .. code-block:: py + + imgui.WindowFlags_.no_title_bar + imgui.WindowFlags_.no_resize + imgui.WindowFlags_.no_move + imgui.WindowFlags_.no_scrollbar + imgui.WindowFlags_.no_scroll_with_mouse + imgui.WindowFlags_.no_collapse + imgui.WindowFlags_.always_auto_resize + imgui.WindowFlags_.no_background + imgui.WindowFlags_.no_saved_settings + imgui.WindowFlags_.no_mouse_inputs + imgui.WindowFlags_.menu_bar + imgui.WindowFlags_.horizontal_scrollbar + imgui.WindowFlags_.no_focus_on_appearing + imgui.WindowFlags_.no_bring_to_front_on_focus + imgui.WindowFlags_.always_vertical_scrollbar + imgui.WindowFlags_.always_horizontal_scrollbar + imgui.WindowFlags_.no_nav_inputs + imgui.WindowFlags_.no_nav_focus + imgui.WindowFlags_.unsaved_document + imgui.WindowFlags_.no_docking + imgui.WindowFlags_.no_nav + imgui.WindowFlags_.no_decoration + imgui.WindowFlags_.no_inputs + + *args + additional args for the GUI + + **kwargs + additional kwargs for teh GUI + """ + super().__init__() + + if location not in GUI_EDGES: + f"GUI does not have a valid location, valid locations are: {GUI_EDGES}, you have passed: {location}" + + self._figure = figure + self._size = size + self._location = location + self._title = title + self._window_flags = window_flags + self._fa_icons = self._figure._fa_icons + + self._x, self._y, self._width, self._height = self.get_rect() + + self._figure.canvas.add_event_handler(self._set_rect, "resize") + + @property + def size(self) -> int | None: + """width or height of the edge window""" + return self._size + + @size.setter + def size(self, value): + if not isinstance(value, int): + raise TypeError + self._size = value + + @property + def location(self) -> str: + """location of the window""" + return self._location + + @property + def x(self) -> int: + """canvas x position of the window""" + return self._x + + @property + def y(self) -> int: + """canvas y position of the window""" + return self._y + + @property + def width(self) -> int: + """with the window""" + return self._width + + @property + def height(self) -> int: + """height of the window""" + return self._height + + def _set_rect(self, *args): + self._x, self._y, self._width, self._height = self.get_rect() + + def get_rect(self) -> tuple[int, int, int, int]: + """ + Compute the rect that defines the area this GUI is drawn to + + Returns + ------- + int, int, int, int + x_pos, y_pos, width, height + + """ + + width_canvas, height_canvas = self._figure.canvas.get_logical_size() + + match self._location: + case "bottom": + x_pos = 0 + y_pos = height_canvas - self.size + width, height = (width_canvas, self.size) + + case "right": + x_pos, y_pos = (width_canvas - self.size, 0) + width, height = (self.size, height_canvas) + + if self._figure.guis["bottom"] is not None: + height -= self._figure.guis["bottom"].size + + return x_pos, y_pos, width, height + + def draw_window(self): + """helps simplify using imgui by managing window creation & position, and pushing/popping the ID""" + # window position & size + x, y, w, h = self.get_rect() + imgui.set_next_window_size((self.width, self.height)) + imgui.set_next_window_pos((self.x, self.y)) + # imgui.set_next_window_pos((x, y)) + # imgui.set_next_window_size((w, h)) + flags = self._window_flags + + # begin window + imgui.begin(self._title, p_open=None, flags=flags) + + # push ID to prevent conflict between multiple figs with same UI + imgui.push_id(self._id_counter) + + # draw stuff from subclass into window + self.update() + + # pop ID + imgui.pop_id() + + # end the window + imgui.end() + + def update(self): + """Implement your GUI here and it will be drawn within the window. See the GUI examples""" + raise NotImplementedError + + +class Popup(BaseGUI): + def __init__(self, figure: Figure, *args, **kwargs): + """ + Base class for creating ImGUI popups within Figures + + Parameters + ---------- + figure: Figure + Figure instance + *args + any args to pass to subclass constructor + + **kwargs + any kwargs to pass to subclass constructor + """ + + super().__init__() + + self._figure = figure + self._fa_icons = self._figure._fa_icons + + self.is_open = False + + def open(self, pos: tuple[int, int], *args, **kwargs): + """implement in subclass""" + raise NotImplementedError diff --git a/fastplotlib/ui/_subplot_toolbar.py b/fastplotlib/ui/_subplot_toolbar.py new file mode 100644 index 000000000..a06e81b90 --- /dev/null +++ b/fastplotlib/ui/_subplot_toolbar.py @@ -0,0 +1,78 @@ +from imgui_bundle import imgui, icons_fontawesome_6 as fa, imgui_ctx + +from ..layouts._subplot import Subplot +from ._base import Window +from ..layouts._utils import IMGUI_TOOLBAR_HEIGHT + + +class SubplotToolbar(Window): + def __init__(self, subplot: Subplot, fa_icons: imgui.ImFont): + """ + Subplot toolbar shown below all subplots + """ + super().__init__() + + self._subplot = subplot + self._fa_icons = fa_icons + + def update(self): + # get subplot rect + x, y, width, height = self._subplot.frame.rect + + # place the toolbar window below the subplot + pos = (x + 1, y + height - IMGUI_TOOLBAR_HEIGHT) + + imgui.set_next_window_size((width - 18, 0)) + imgui.set_next_window_pos(pos) + flags = ( + imgui.WindowFlags_.no_collapse + | imgui.WindowFlags_.no_title_bar + | imgui.WindowFlags_.no_background + ) + + imgui.begin(f"Toolbar-{hex(id(self._subplot))}", p_open=None, flags=flags) + + # icons for buttons + imgui.push_font(self._fa_icons) + + # push ID to prevent conflict between multiple figs with same UI + imgui.push_id(self._id_counter) + with imgui_ctx.begin_horizontal(f"toolbar-{hex(id(self._subplot))}"): + # autoscale button + if imgui.button(fa.ICON_FA_MAXIMIZE): + self._subplot.auto_scale() + imgui.pop_font() + if imgui.is_item_hovered(0): + imgui.set_tooltip("autoscale scene") + + # center scene + imgui.push_font(self._fa_icons) + if imgui.button(fa.ICON_FA_ALIGN_CENTER): + self._subplot.center_scene() + imgui.pop_font() + if imgui.is_item_hovered(0): + imgui.set_tooltip("center scene") + + imgui.push_font(self._fa_icons) + # checkbox controller + _, self._subplot.controller.enabled = imgui.checkbox( + fa.ICON_FA_COMPUTER_MOUSE, self._subplot.controller.enabled + ) + imgui.pop_font() + if imgui.is_item_hovered(0): + imgui.set_tooltip("enable/disable controller") + + imgui.push_font(self._fa_icons) + # checkbox maintain_apsect + _, self._subplot.camera.maintain_aspect = imgui.checkbox( + fa.ICON_FA_EXPAND, self._subplot.camera.maintain_aspect + ) + imgui.pop_font() + if imgui.is_item_hovered(0): + imgui.set_tooltip("maintain aspect") + + # pop id when all UI has been written to window + imgui.pop_id() + + # end window + imgui.end() diff --git a/fastplotlib/ui/right_click_menus/__init__.py b/fastplotlib/ui/right_click_menus/__init__.py new file mode 100644 index 000000000..6ccc50646 --- /dev/null +++ b/fastplotlib/ui/right_click_menus/__init__.py @@ -0,0 +1,2 @@ +from ._colormap_picker import ColormapPicker +from ._standard_menu import StandardRightClickMenu diff --git a/fastplotlib/ui/right_click_menus/_colormap_picker.py b/fastplotlib/ui/right_click_menus/_colormap_picker.py new file mode 100644 index 000000000..3c48bd4d8 --- /dev/null +++ b/fastplotlib/ui/right_click_menus/_colormap_picker.py @@ -0,0 +1,175 @@ +import ctypes + +import numpy as np +import cmap + +import wgpu +from imgui_bundle import imgui +from wgpu import GPUTexture + +from .. import Popup +from ...utils.functions import ( + COLORMAP_NAMES, + SEQUENTIAL_CMAPS, + CYCLIC_CMAPS, + DIVERGING_CMAPS, + MISC_CMAPS, +) + +all_cmaps = [*SEQUENTIAL_CMAPS, *CYCLIC_CMAPS, *DIVERGING_CMAPS, *MISC_CMAPS] + + +class ColormapPicker(Popup): + """Colormap picker menu popup tool""" + + # name used to trigger this popup after it has been registered with a Figure + name = "colormap-picker" + + def __init__(self, figure): + super().__init__(figure=figure, fa_icons=None) + + self.renderer = self._figure.renderer + self.imgui_renderer = self._figure.imgui_renderer + + # maps str cmap names -> int texture IDs + self._texture_ids: dict[str, int] = {} + self._textures = list() + + # make all colormaps and upload representative texture for each cmap to the GPU + for name in all_cmaps: + # get data that represents cmap + colormap = cmap.Colormap(name) + data = colormap(np.linspace(0, 1)) * 255 + + # needs to be 2D to create a texture + data = np.vstack([[data]] * 2).astype(np.uint8) + + # upload the texture to the GPU, get the texture ID and texture + self._texture_ids[name], texture = self._create_texture_and_upload(data) + self._textures.append(texture) + + # used to set the states of the UI + self._lut_tool = None + self._pos: tuple[int, int] = -1, -1 + self._open_new: bool = False + + self.is_open = False + + self._popup_state = "never-opened" + + self._texture_height = None + + def _create_texture_and_upload(self, data: np.ndarray) -> tuple[int, GPUTexture]: + """crates a GPUTexture from the 2D data and uploads it""" + + # create a GPUTexture + texture = self.renderer.device.create_texture( + size=(data.shape[1], data.shape[0], 4), + usage=wgpu.TextureUsage.COPY_DST | wgpu.TextureUsage.TEXTURE_BINDING, + dimension=wgpu.TextureDimension.d2, + format=wgpu.TextureFormat.rgba8unorm, + mip_level_count=1, + sample_count=1, + ) + + # upload to the GPU + self.renderer.device.queue.write_texture( + {"texture": texture, "mip_level": 0, "origin": (0, 0, 0)}, + data, + {"offset": 0, "bytes_per_row": data.shape[1] * 4}, + (data.shape[1], data.shape[0], 1), + ) + + # get a view + texture_view = texture.create_view() + + # get the id so that imgui can display it + id_texture = ctypes.c_int32(id(texture_view)).value + # add texture view to the backend so that it can be retrieved for rendering + self.imgui_renderer.backend._texture_views[id_texture] = texture_view + + return id_texture, texture + + def open(self, pos: tuple[int, int], lut_tool): + """ + Request that the popup be opened on the next render cycle + + Parameters + ---------- + pos: int, int + (x, y) position + + lut_tool: HistogramLUTTool + instance of the LUT tool + + Returns + ------- + + """ + self._lut_tool = lut_tool + + self._pos = pos + + self._open_new = True + + def close(self): + """cleanup after popup has closed""" + self._lut_tool = None + self._open_new = False + self._pos = -1, -1 + + self.is_open = False + + def _add_cmap_menu_item(self, cmap_name: str): + texture_id = self._texture_ids[cmap_name] + imgui.image( + texture_id, image_size=(50, self._texture_height), border_col=(1, 1, 1, 1) + ) + + imgui.same_line() + + clicked, selected = imgui.selectable( + label=cmap_name, + p_selected=cmap_name == self._lut_tool.cmap, + ) + + if clicked and selected: + self._lut_tool.cmap = cmap_name + + def update(self): + if self._open_new: + # new popup has been triggered by a LUT tool + self._open_new = False + + imgui.set_next_window_pos(self._pos) + imgui.open_popup("cmap-picker") + + if imgui.begin_popup("cmap-picker"): + self.is_open = True + + # make the cmap image height the same as the text height + self._texture_height = ( + self.imgui_renderer.backend.io.font_global_scale + * imgui.get_font().font_size + ) - 2 + + if imgui.menu_item("Reset vmin-vmax", "", False)[0]: + self._lut_tool.image_graphic.reset_vmin_vmax() + + # add all the cmap options + for cmap_type in COLORMAP_NAMES.keys(): + if cmap_type == "qualitative": + continue + + imgui.separator() + imgui.text(cmap_type.capitalize()) + + for cmap_name in COLORMAP_NAMES[cmap_type]: + self._add_cmap_menu_item(cmap_name) + + imgui.end_popup() + + else: + # popup went from open to closed + if self.is_open == True: + self.close() diff --git a/fastplotlib/ui/right_click_menus/_standard_menu.py b/fastplotlib/ui/right_click_menus/_standard_menu.py new file mode 100644 index 000000000..4bb59c51d --- /dev/null +++ b/fastplotlib/ui/right_click_menus/_standard_menu.py @@ -0,0 +1,200 @@ +from imgui_bundle import imgui + +from ...layouts._utils import controller_types +from ...layouts._plot_area import PlotArea +from ...ui import Popup + + +def flip_axis(subplot: PlotArea, axis: str, flip: bool): + camera = subplot.camera + axis_attr = f"scale_{axis}" + scale = getattr(camera.local, axis_attr) + + if flip and scale > 0: + # flip is checked and axis is not already flipped + setattr(camera.local, axis_attr, scale * -1) + + elif not flip and scale < 0: + # flip not checked and axis is flipped + setattr(camera.local, axis_attr, scale * -1) + + +class StandardRightClickMenu(Popup): + """Right click menu that is shown on subplots""" + + def __init__(self, figure, fa_icons): + super().__init__(figure=figure, fa_icons=fa_icons) + + self._last_right_click_pos = None + self._mouse_down: bool = False + + # whether the right click menu is currently open or not + self.is_open: bool = False + + def get_subplot(self) -> PlotArea | bool | None: + """get the subplot that a click occurred in""" + if self._last_right_click_pos is None: + return False + + for subplot in self._figure: + if subplot.viewport.is_inside(*self._last_right_click_pos): + return subplot + + # not inside a subplot + return False + + def cleanup(self): + """called when the popup disappears""" + self.is_open = False + + def update(self): + if imgui.is_mouse_down(1) and not self._mouse_down: + # mouse button was pressed down, store this position + self._mouse_down = True + self._last_right_click_pos = imgui.get_mouse_pos() + + if imgui.is_mouse_released(1) and self._mouse_down: + self._mouse_down = False + + # open popup only if mouse was not moved between mouse_down and mouse_up events + if self._last_right_click_pos == imgui.get_mouse_pos(): + if self.get_subplot() is not False: # must explicitly check for False + # open only if right click was inside a subplot + imgui.open_popup(f"right-click-menu") + + # TODO: call this just once when going from open -> closed state + if not imgui.is_popup_open("right-click-menu"): + self.cleanup() + + if imgui.begin_popup(f"right-click-menu"): + if self.get_subplot() is False: # must explicitly check for False + # for some reason it will still trigger at certain locations + # despite open_popup() only being called when an actual + # subplot is returned + imgui.end_popup() + imgui.close_current_popup() + self.cleanup() + return + + name = self.get_subplot().name + + if name is not None: + # text label at the top of the menu + imgui.text(f"subplot: {name}") + imgui.separator() + + _, show_fps = imgui.menu_item( + "Show fps", "", self.get_subplot().get_figure().imgui_show_fps + ) + self.get_subplot().get_figure().imgui_show_fps = show_fps + + # autoscale, center, maintain aspect + if imgui.menu_item(f"Autoscale", "", False)[0]: + self.get_subplot().auto_scale() + + if imgui.menu_item(f"Center", "", False)[0]: + self.get_subplot().center_scene() + + _, maintain_aspect = imgui.menu_item( + "Maintain Aspect", "", self.get_subplot().camera.maintain_aspect + ) + self.get_subplot().camera.maintain_aspect = maintain_aspect + + imgui.separator() + + # toggles to flip axes cameras + for axis in ["x", "y", "z"]: + scale = getattr(self.get_subplot().camera.local, f"scale_{axis}") + changed, flip = imgui.menu_item( + f"Flip {axis} axis", "", bool(scale < 0) + ) + + if changed: + flip_axis(self.get_subplot(), axis, flip) + + imgui.separator() + + # toggles to show/hide the grid + for plane in ["xy", "xz", "yz"]: + grid = getattr(self.get_subplot().axes.grids, plane) + visible = grid.visible + changed, new_visible = imgui.menu_item(f"Grid {plane}", "", visible) + + if changed: + grid.visible = new_visible + + imgui.separator() + + # camera FOV + changed, fov = imgui.slider_float( + "FOV", v=self.get_subplot().camera.fov, v_min=0.0, v_max=180.0 + ) + + imgui.separator() + + if changed: + # FOV between 0 and 1 is numerically unstable + if 0 < fov < 1: + fov = 1 + + # need to update FOV via controller, if FOV is directly set + # on the camera the controller will immediately set it back + self.get_subplot().controller.update_fov( + fov - self.get_subplot().camera.fov, + animate=False, + ) + + imgui.separator() + + # controller options + if imgui.begin_menu("Controller"): + _, enabled = imgui.menu_item( + "Enabled", "", self.get_subplot().controller.enabled + ) + + self.get_subplot().controller.enabled = enabled + + changed, damping = imgui.slider_float( + "Damping", + v=self.get_subplot().controller.damping, + v_min=0.0, + v_max=10.0, + ) + + if changed: + self.get_subplot().controller.damping = damping + + imgui.separator() + imgui.text("Controller type:") + # switching between different controllers + for name, controller_type_iter in controller_types.items(): + current_type = type(self.get_subplot().controller) + + clicked, _ = imgui.menu_item( + label=name, + shortcut="", + p_selected=current_type is controller_type_iter, + ) + + if clicked and (current_type is not controller_type_iter): + # menu item was clicked and the desired controller isn't the current one + self.get_subplot().controller = name + + imgui.end_menu() + + # renderer blend modes + if imgui.begin_menu("Blend mode"): + for blend_mode in sorted( + self.get_subplot().renderer._blenders_available.keys() + ): + clicked, _ = imgui.menu_item( + label=blend_mode, + shortcut="", + p_selected=self.get_subplot().renderer.blend_mode == blend_mode, + ) + + if clicked: + self.get_subplot().renderer.blend_mode = blend_mode + imgui.end_menu() + + imgui.end_popup() diff --git a/fastplotlib/utils/__init__.py b/fastplotlib/utils/__init__.py index 3ae83fb6b..dce4d96f9 100644 --- a/fastplotlib/utils/__init__.py +++ b/fastplotlib/utils/__init__.py @@ -1,6 +1,7 @@ from dataclasses import dataclass - +# this MUST be imported as early as possible in fpl.__init__ before any other wgpu stuff +from .gui import loop from .functions import * from .gpu import enumerate_adapters, select_adapter, print_wgpu_report from ._plot_helpers import * diff --git a/fastplotlib/utils/_plot_helpers.py b/fastplotlib/utils/_plot_helpers.py index ac0ff2cda..12afe1cb2 100644 --- a/fastplotlib/utils/_plot_helpers.py +++ b/fastplotlib/utils/_plot_helpers.py @@ -6,13 +6,14 @@ from ..graphics._collection_base import GraphicCollection -def get_nearest_graphics( +def get_nearest_graphics_indices( pos: tuple[float, float] | tuple[float, float, float], graphics: Sequence[Graphic] | GraphicCollection, -) -> np.ndarray[Graphic]: +) -> np.ndarray[int]: """ - Returns the nearest ``graphics`` to the passed position ``pos`` in world space. - Uses the distance between ``pos`` and the center of the bounding sphere for each graphic. + Returns indices of the nearest ``graphics`` to the passed position ``pos`` in world space + in order of closest to furtherst. Uses the distance between ``pos`` and the center of the + bounding sphere for each graphic. Parameters ---------- @@ -25,21 +26,22 @@ def get_nearest_graphics( Returns ------- - tuple[Graphic] - nearest graphics to ``pos`` in order + ndarray[int] + indices of the nearest nearest graphics to ``pos`` in order """ - if isinstance(graphics, GraphicCollection): graphics = graphics.graphics if not all(isinstance(g, Graphic) for g in graphics): raise TypeError("all elements of `graphics` must be Graphic objects") - pos = np.asarray(pos) + pos = np.asarray(pos).ravel() - if pos.shape != (2,) or not pos.shape != (3,): - raise TypeError + if pos.shape != (2,) and pos.shape != (3,): + raise TypeError( + f"pos.shape must be (2,) or (3,), the shape of pos you have passed is: {pos.shape}" + ) # get centers centers = np.empty(shape=(len(graphics), len(pos))) @@ -50,4 +52,31 @@ def get_nearest_graphics( distances = np.linalg.norm(centers[:, : len(pos)] - pos, ord=2, axis=1) sort_indices = np.argsort(distances) + return sort_indices + + +def get_nearest_graphics( + pos: tuple[float, float] | tuple[float, float, float], + graphics: Sequence[Graphic] | GraphicCollection, +) -> np.ndarray[Graphic]: + """ + Returns the nearest ``graphics`` to the passed position ``pos`` in world space. + Uses the distance between ``pos`` and the center of the bounding sphere for each graphic. + + Parameters + ---------- + pos: (x, y) | (x, y, z) + position in world space, z-axis is ignored when calculating L2 norms if ``pos`` is 2D + + graphics: Sequence, i.e. array, list, tuple, etc. of Graphic | GraphicCollection + the graphics from which to return a sorted array of graphics in order of closest + to furthest graphic + + Returns + ------- + ndarray[Graphic] + nearest graphics to ``pos`` in order + + """ + sort_indices = get_nearest_graphics_indices(pos, graphics) return np.asarray(graphics)[sort_indices] diff --git a/fastplotlib/utils/colormaps/Accent b/fastplotlib/utils/colormaps/Accent deleted file mode 100644 index 3bc12ed62..000000000 --- a/fastplotlib/utils/colormaps/Accent +++ /dev/null @@ -1,8 +0,0 @@ -4.980392158031463623e-01 7.882353067398071289e-01 4.980392158031463623e-01 1.000000000000000000e+00 -7.450980544090270996e-01 6.823529601097106934e-01 8.313725590705871582e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.529411911964416504e-01 5.254902243614196777e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 6.000000238418579102e-01 1.000000000000000000e+00 -2.196078449487686157e-01 4.235294163227081299e-01 6.901960968971252441e-01 1.000000000000000000e+00 -9.411764740943908691e-01 7.843137718737125397e-03 4.980392158031463623e-01 1.000000000000000000e+00 -7.490196228027343750e-01 3.568627536296844482e-01 9.019608050584793091e-02 1.000000000000000000e+00 -4.000000059604644775e-01 4.000000059604644775e-01 4.000000059604644775e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/Blues b/fastplotlib/utils/colormaps/Blues deleted file mode 100644 index e1684d87a..000000000 --- a/fastplotlib/utils/colormaps/Blues +++ /dev/null @@ -1,256 +0,0 @@ -9.686274528503417969e-01 9.843137264251708984e-01 1.000000000000000000e+00 1.000000000000000000e+00 -9.655517339706420898e-01 9.823452234268188477e-01 9.990157485008239746e-01 1.000000000000000000e+00 -9.624759554862976074e-01 9.803767800331115723e-01 9.980314970016479492e-01 1.000000000000000000e+00 -9.594002366065979004e-01 9.784082770347595215e-01 9.970473051071166992e-01 1.000000000000000000e+00 -9.563245177268981934e-01 9.764398336410522461e-01 9.960630536079406738e-01 1.000000000000000000e+00 -9.532487392425537109e-01 9.744713306427001953e-01 9.950788021087646484e-01 1.000000000000000000e+00 -9.501730203628540039e-01 9.725028872489929199e-01 9.940945506095886230e-01 1.000000000000000000e+00 -9.470972418785095215e-01 9.705343842506408691e-01 9.931103587150573730e-01 1.000000000000000000e+00 -9.440215229988098145e-01 9.685659408569335938e-01 9.921261072158813477e-01 1.000000000000000000e+00 -9.409458041191101074e-01 9.665974378585815430e-01 9.911418557167053223e-01 1.000000000000000000e+00 -9.378700256347656250e-01 9.646289944648742676e-01 9.901576042175292969e-01 1.000000000000000000e+00 -9.347943067550659180e-01 9.626604914665222168e-01 9.891734123229980469e-01 1.000000000000000000e+00 -9.317185878753662109e-01 9.606920480728149414e-01 9.881891608238220215e-01 1.000000000000000000e+00 -9.286428093910217285e-01 9.587235450744628906e-01 9.872049093246459961e-01 1.000000000000000000e+00 -9.255670905113220215e-01 9.567551016807556152e-01 9.862206578254699707e-01 1.000000000000000000e+00 -9.224913716316223145e-01 9.547865986824035645e-01 9.852364659309387207e-01 1.000000000000000000e+00 -9.194155931472778320e-01 9.528181552886962891e-01 9.842522144317626953e-01 1.000000000000000000e+00 -9.163398742675781250e-01 9.508496522903442383e-01 9.832679629325866699e-01 1.000000000000000000e+00 -9.132641553878784180e-01 9.488812088966369629e-01 9.822837114334106445e-01 1.000000000000000000e+00 -9.101883769035339355e-01 9.469127058982849121e-01 9.812995195388793945e-01 1.000000000000000000e+00 -9.071126580238342285e-01 9.449442625045776367e-01 9.803152680397033691e-01 1.000000000000000000e+00 -9.040368795394897461e-01 9.429757595062255859e-01 9.793310165405273438e-01 1.000000000000000000e+00 -9.009611606597900391e-01 9.410073161125183105e-01 9.783467650413513184e-01 1.000000000000000000e+00 -8.978854417800903320e-01 9.390388131141662598e-01 9.773625731468200684e-01 1.000000000000000000e+00 -8.948096632957458496e-01 9.370703697204589844e-01 9.763783216476440430e-01 1.000000000000000000e+00 -8.917339444160461426e-01 9.351018667221069336e-01 9.753940701484680176e-01 1.000000000000000000e+00 -8.886582255363464355e-01 9.331334233283996582e-01 9.744098186492919922e-01 1.000000000000000000e+00 -8.855824470520019531e-01 9.311649203300476074e-01 9.734256267547607422e-01 1.000000000000000000e+00 -8.825067281723022461e-01 9.291964769363403320e-01 9.724413752555847168e-01 1.000000000000000000e+00 -8.794310092926025391e-01 9.272279739379882812e-01 9.714571237564086914e-01 1.000000000000000000e+00 -8.763552308082580566e-01 9.252595305442810059e-01 9.704728722572326660e-01 1.000000000000000000e+00 -8.732795119285583496e-01 9.232910275459289551e-01 9.694886803627014160e-01 1.000000000000000000e+00 -8.702191710472106934e-01 9.213225841522216797e-01 9.685044288635253906e-01 1.000000000000000000e+00 -8.672664165496826172e-01 9.193540811538696289e-01 9.675201773643493652e-01 1.000000000000000000e+00 -8.643137216567993164e-01 9.173856377601623535e-01 9.665359258651733398e-01 1.000000000000000000e+00 -8.613610267639160156e-01 9.154171347618103027e-01 9.655517339706420898e-01 1.000000000000000000e+00 -8.584083318710327148e-01 9.134486913681030273e-01 9.645674824714660645e-01 1.000000000000000000e+00 -8.554555773735046387e-01 9.114801883697509766e-01 9.635832309722900391e-01 1.000000000000000000e+00 -8.525028824806213379e-01 9.095117449760437012e-01 9.625989794731140137e-01 1.000000000000000000e+00 -8.495501875877380371e-01 9.075432419776916504e-01 9.616147875785827637e-01 1.000000000000000000e+00 -8.465974330902099609e-01 9.055747985839843750e-01 9.606305360794067383e-01 1.000000000000000000e+00 -8.436447381973266602e-01 9.036062955856323242e-01 9.596462845802307129e-01 1.000000000000000000e+00 -8.406920433044433594e-01 9.016378521919250488e-01 9.586620330810546875e-01 1.000000000000000000e+00 -8.377393484115600586e-01 8.996693491935729980e-01 9.576778411865234375e-01 1.000000000000000000e+00 -8.347865939140319824e-01 8.977009057998657227e-01 9.566935896873474121e-01 1.000000000000000000e+00 -8.318338990211486816e-01 8.957324028015136719e-01 9.557093381881713867e-01 1.000000000000000000e+00 -8.288812041282653809e-01 8.937639594078063965e-01 9.547250866889953613e-01 1.000000000000000000e+00 -8.259285092353820801e-01 8.917954564094543457e-01 9.537408947944641113e-01 1.000000000000000000e+00 -8.229757547378540039e-01 8.898270130157470703e-01 9.527566432952880859e-01 1.000000000000000000e+00 -8.200230598449707031e-01 8.878585100173950195e-01 9.517723917961120605e-01 1.000000000000000000e+00 -8.170703649520874023e-01 8.858900666236877441e-01 9.507881402969360352e-01 1.000000000000000000e+00 -8.141176700592041016e-01 8.839215636253356934e-01 9.498039484024047852e-01 1.000000000000000000e+00 -8.111649155616760254e-01 8.819531202316284180e-01 9.488196969032287598e-01 1.000000000000000000e+00 -8.082122206687927246e-01 8.799846172332763672e-01 9.478354454040527344e-01 1.000000000000000000e+00 -8.052595257759094238e-01 8.780161738395690918e-01 9.468511939048767090e-01 1.000000000000000000e+00 -8.023068308830261230e-01 8.760476708412170410e-01 9.458670020103454590e-01 1.000000000000000000e+00 -7.993540763854980469e-01 8.740792274475097656e-01 9.448827505111694336e-01 1.000000000000000000e+00 -7.964013814926147461e-01 8.721107244491577148e-01 9.438984990119934082e-01 1.000000000000000000e+00 -7.934486865997314453e-01 8.701422810554504395e-01 9.429142475128173828e-01 1.000000000000000000e+00 -7.904959917068481445e-01 8.681737780570983887e-01 9.419300556182861328e-01 1.000000000000000000e+00 -7.875432372093200684e-01 8.662053346633911133e-01 9.409458041191101074e-01 1.000000000000000000e+00 -7.845905423164367676e-01 8.642368316650390625e-01 9.399615526199340820e-01 1.000000000000000000e+00 -7.816378474235534668e-01 8.622683286666870117e-01 9.389773011207580566e-01 1.000000000000000000e+00 -7.786850929260253906e-01 8.602998852729797363e-01 9.379931092262268066e-01 1.000000000000000000e+00 -7.752403020858764648e-01 8.583006262779235840e-01 9.368243217468261719e-01 1.000000000000000000e+00 -7.703191041946411133e-01 8.562091588973999023e-01 9.351018667221069336e-01 1.000000000000000000e+00 -7.653979063034057617e-01 8.541176319122314453e-01 9.333794713020324707e-01 1.000000000000000000e+00 -7.604767680168151855e-01 8.520261645317077637e-01 9.316570758819580078e-01 1.000000000000000000e+00 -7.555555701255798340e-01 8.499346375465393066e-01 9.299346208572387695e-01 1.000000000000000000e+00 -7.506343722343444824e-01 8.478431105613708496e-01 9.282122254371643066e-01 1.000000000000000000e+00 -7.457131743431091309e-01 8.457516431808471680e-01 9.264898300170898438e-01 1.000000000000000000e+00 -7.407919764518737793e-01 8.436601161956787109e-01 9.247673749923706055e-01 1.000000000000000000e+00 -7.358708381652832031e-01 8.415686488151550293e-01 9.230449795722961426e-01 1.000000000000000000e+00 -7.309496402740478516e-01 8.394771218299865723e-01 9.213225841522216797e-01 1.000000000000000000e+00 -7.260284423828125000e-01 8.373855948448181152e-01 9.196001291275024414e-01 1.000000000000000000e+00 -7.211072444915771484e-01 8.352941274642944336e-01 9.178777337074279785e-01 1.000000000000000000e+00 -7.161861062049865723e-01 8.332026004791259766e-01 9.161553382873535156e-01 1.000000000000000000e+00 -7.112649083137512207e-01 8.311111330986022949e-01 9.144328832626342773e-01 1.000000000000000000e+00 -7.063437104225158691e-01 8.290196061134338379e-01 9.127104878425598145e-01 1.000000000000000000e+00 -7.014225125312805176e-01 8.269280791282653809e-01 9.109880924224853516e-01 1.000000000000000000e+00 -6.965013742446899414e-01 8.248366117477416992e-01 9.092656373977661133e-01 1.000000000000000000e+00 -6.915801763534545898e-01 8.227450847625732422e-01 9.075432419776916504e-01 1.000000000000000000e+00 -6.866589784622192383e-01 8.206536173820495605e-01 9.058208465576171875e-01 1.000000000000000000e+00 -6.817377805709838867e-01 8.185620903968811035e-01 9.040984511375427246e-01 1.000000000000000000e+00 -6.768165826797485352e-01 8.164705634117126465e-01 9.023759961128234863e-01 1.000000000000000000e+00 -6.718954443931579590e-01 8.143790960311889648e-01 9.006536006927490234e-01 1.000000000000000000e+00 -6.669742465019226074e-01 8.122875690460205078e-01 8.989312052726745605e-01 1.000000000000000000e+00 -6.620530486106872559e-01 8.101961016654968262e-01 8.972087502479553223e-01 1.000000000000000000e+00 -6.571318507194519043e-01 8.081045746803283691e-01 8.954863548278808594e-01 1.000000000000000000e+00 -6.522107124328613281e-01 8.060130476951599121e-01 8.937639594078063965e-01 1.000000000000000000e+00 -6.472895145416259766e-01 8.039215803146362305e-01 8.920415043830871582e-01 1.000000000000000000e+00 -6.423683166503906250e-01 8.018300533294677734e-01 8.903191089630126953e-01 1.000000000000000000e+00 -6.374471187591552734e-01 7.997385859489440918e-01 8.885967135429382324e-01 1.000000000000000000e+00 -6.325259804725646973e-01 7.976470589637756348e-01 8.868742585182189941e-01 1.000000000000000000e+00 -6.276047825813293457e-01 7.955555319786071777e-01 8.851518630981445312e-01 1.000000000000000000e+00 -6.226835846900939941e-01 7.934640645980834961e-01 8.834294676780700684e-01 1.000000000000000000e+00 -6.172549128532409668e-01 7.908650636672973633e-01 8.818454146385192871e-01 1.000000000000000000e+00 -6.109803915023803711e-01 7.874202132225036621e-01 8.804920911788940430e-01 1.000000000000000000e+00 -6.047058701515197754e-01 7.839754223823547363e-01 8.791387677192687988e-01 1.000000000000000000e+00 -5.984313488006591797e-01 7.805305719375610352e-01 8.777854442596435547e-01 1.000000000000000000e+00 -5.921568870544433594e-01 7.770857214927673340e-01 8.764321208000183105e-01 1.000000000000000000e+00 -5.858823657035827637e-01 7.736409306526184082e-01 8.750787973403930664e-01 1.000000000000000000e+00 -5.796078443527221680e-01 7.701960802078247070e-01 8.737254738807678223e-01 1.000000000000000000e+00 -5.733333230018615723e-01 7.667512297630310059e-01 8.723721504211425781e-01 1.000000000000000000e+00 -5.670588016510009766e-01 7.633064389228820801e-01 8.710188269615173340e-01 1.000000000000000000e+00 -5.607843399047851562e-01 7.598615884780883789e-01 8.696655035018920898e-01 1.000000000000000000e+00 -5.545098185539245605e-01 7.564167380332946777e-01 8.683121800422668457e-01 1.000000000000000000e+00 -5.482352972030639648e-01 7.529719471931457520e-01 8.669588565826416016e-01 1.000000000000000000e+00 -5.419607758522033691e-01 7.495270967483520508e-01 8.656055331230163574e-01 1.000000000000000000e+00 -5.356862545013427734e-01 7.460822463035583496e-01 8.642522096633911133e-01 1.000000000000000000e+00 -5.294117927551269531e-01 7.426374554634094238e-01 8.628988862037658691e-01 1.000000000000000000e+00 -5.231372714042663574e-01 7.391926050186157227e-01 8.615455627441406250e-01 1.000000000000000000e+00 -5.168627500534057617e-01 7.357478141784667969e-01 8.601922392845153809e-01 1.000000000000000000e+00 -5.105882287025451660e-01 7.323029637336730957e-01 8.588389158248901367e-01 1.000000000000000000e+00 -5.043137073516845703e-01 7.288581132888793945e-01 8.574855923652648926e-01 1.000000000000000000e+00 -4.980392158031463623e-01 7.254133224487304688e-01 8.561322689056396484e-01 1.000000000000000000e+00 -4.917646944522857666e-01 7.219684720039367676e-01 8.547789454460144043e-01 1.000000000000000000e+00 -4.854902029037475586e-01 7.185236215591430664e-01 8.534256219863891602e-01 1.000000000000000000e+00 -4.792156815528869629e-01 7.150788307189941406e-01 8.520722985267639160e-01 1.000000000000000000e+00 -4.729411900043487549e-01 7.116339802742004395e-01 8.507189750671386719e-01 1.000000000000000000e+00 -4.666666686534881592e-01 7.081891298294067383e-01 8.493656516075134277e-01 1.000000000000000000e+00 -4.603921473026275635e-01 7.047443389892578125e-01 8.480123281478881836e-01 1.000000000000000000e+00 -4.541176557540893555e-01 7.012994885444641113e-01 8.466590046882629395e-01 1.000000000000000000e+00 -4.478431344032287598e-01 6.978546977043151855e-01 8.453056812286376953e-01 1.000000000000000000e+00 -4.415686130523681641e-01 6.944098472595214844e-01 8.439522981643676758e-01 1.000000000000000000e+00 -4.352941215038299561e-01 6.909649968147277832e-01 8.425989747047424316e-01 1.000000000000000000e+00 -4.290196001529693604e-01 6.875202059745788574e-01 8.412456512451171875e-01 1.000000000000000000e+00 -4.227451086044311523e-01 6.840753555297851562e-01 8.398923277854919434e-01 1.000000000000000000e+00 -4.170857369899749756e-01 6.806305050849914551e-01 8.382314443588256836e-01 1.000000000000000000e+00 -4.120415151119232178e-01 6.771857142448425293e-01 8.362630009651184082e-01 1.000000000000000000e+00 -4.069973230361938477e-01 6.737408638000488281e-01 8.342944979667663574e-01 1.000000000000000000e+00 -4.019531011581420898e-01 6.702960133552551270e-01 8.323260545730590820e-01 1.000000000000000000e+00 -3.969088792800903320e-01 6.668512225151062012e-01 8.303575515747070312e-01 1.000000000000000000e+00 -3.918646574020385742e-01 6.634063720703125000e-01 8.283891081809997559e-01 1.000000000000000000e+00 -3.868204653263092041e-01 6.599615812301635742e-01 8.264206051826477051e-01 1.000000000000000000e+00 -3.817762434482574463e-01 6.565167307853698730e-01 8.244521617889404297e-01 1.000000000000000000e+00 -3.767320215702056885e-01 6.530718803405761719e-01 8.224836587905883789e-01 1.000000000000000000e+00 -3.716877996921539307e-01 6.496270895004272461e-01 8.205152153968811035e-01 1.000000000000000000e+00 -3.666436076164245605e-01 6.461822390556335449e-01 8.185467123985290527e-01 1.000000000000000000e+00 -3.615993857383728027e-01 6.427373886108398438e-01 8.165782094001770020e-01 1.000000000000000000e+00 -3.565551638603210449e-01 6.392925977706909180e-01 8.146097660064697266e-01 1.000000000000000000e+00 -3.515109717845916748e-01 6.358477473258972168e-01 8.126412630081176758e-01 1.000000000000000000e+00 -3.464667499065399170e-01 6.324028968811035156e-01 8.106728196144104004e-01 1.000000000000000000e+00 -3.414225280284881592e-01 6.289581060409545898e-01 8.087043166160583496e-01 1.000000000000000000e+00 -3.363783061504364014e-01 6.255132555961608887e-01 8.067358732223510742e-01 1.000000000000000000e+00 -3.313341140747070312e-01 6.220684647560119629e-01 8.047673702239990234e-01 1.000000000000000000e+00 -3.262898921966552734e-01 6.186236143112182617e-01 8.027989268302917480e-01 1.000000000000000000e+00 -3.212456703186035156e-01 6.151787638664245605e-01 8.008304238319396973e-01 1.000000000000000000e+00 -3.162014484405517578e-01 6.117339730262756348e-01 7.988619804382324219e-01 1.000000000000000000e+00 -3.111572563648223877e-01 6.082891225814819336e-01 7.968934774398803711e-01 1.000000000000000000e+00 -3.061130344867706299e-01 6.048442721366882324e-01 7.949250340461730957e-01 1.000000000000000000e+00 -3.010688126087188721e-01 6.013994812965393066e-01 7.929565310478210449e-01 1.000000000000000000e+00 -2.960246205329895020e-01 5.979546308517456055e-01 7.909880876541137695e-01 1.000000000000000000e+00 -2.909803986549377441e-01 5.945097804069519043e-01 7.890195846557617188e-01 1.000000000000000000e+00 -2.859361767768859863e-01 5.910649895668029785e-01 7.870511412620544434e-01 1.000000000000000000e+00 -2.808919548988342285e-01 5.876201391220092773e-01 7.850826382637023926e-01 1.000000000000000000e+00 -2.758477628231048584e-01 5.841752886772155762e-01 7.831141948699951172e-01 1.000000000000000000e+00 -2.708035409450531006e-01 5.807304978370666504e-01 7.811456918716430664e-01 1.000000000000000000e+00 -2.657593190670013428e-01 5.772856473922729492e-01 7.791772484779357910e-01 1.000000000000000000e+00 -2.607150971889495850e-01 5.738408565521240234e-01 7.772087454795837402e-01 1.000000000000000000e+00 -2.562860548496246338e-01 5.700115561485290527e-01 7.751634120941162109e-01 1.000000000000000000e+00 -2.522260546684265137e-01 5.659515857696533203e-01 7.730718851089477539e-01 1.000000000000000000e+00 -2.481660842895507812e-01 5.618915557861328125e-01 7.709804177284240723e-01 1.000000000000000000e+00 -2.441061139106750488e-01 5.578315854072570801e-01 7.688888907432556152e-01 1.000000000000000000e+00 -2.400461435317993164e-01 5.537716150283813477e-01 7.667973637580871582e-01 1.000000000000000000e+00 -2.359861582517623901e-01 5.497116446495056152e-01 7.647058963775634766e-01 1.000000000000000000e+00 -2.319261878728866577e-01 5.456516742706298828e-01 7.626143693923950195e-01 1.000000000000000000e+00 -2.278662025928497314e-01 5.415917038917541504e-01 7.605229020118713379e-01 1.000000000000000000e+00 -2.238062322139739990e-01 5.375317335128784180e-01 7.584313750267028809e-01 1.000000000000000000e+00 -2.197462469339370728e-01 5.334717631340026855e-01 7.563398480415344238e-01 1.000000000000000000e+00 -2.156862765550613403e-01 5.294117927551269531e-01 7.542483806610107422e-01 1.000000000000000000e+00 -2.116262912750244141e-01 5.253517627716064453e-01 7.521568536758422852e-01 1.000000000000000000e+00 -2.075663208961486816e-01 5.212917923927307129e-01 7.500653862953186035e-01 1.000000000000000000e+00 -2.035063505172729492e-01 5.172318220138549805e-01 7.479738593101501465e-01 1.000000000000000000e+00 -1.994463652372360229e-01 5.131718516349792480e-01 7.458823323249816895e-01 1.000000000000000000e+00 -1.953863948583602905e-01 5.091118812561035156e-01 7.437908649444580078e-01 1.000000000000000000e+00 -1.913264095783233643e-01 5.050519108772277832e-01 7.416993379592895508e-01 1.000000000000000000e+00 -1.872664391994476318e-01 5.009919404983520508e-01 7.396078705787658691e-01 1.000000000000000000e+00 -1.832064539194107056e-01 4.969319403171539307e-01 7.375163435935974121e-01 1.000000000000000000e+00 -1.791464835405349731e-01 4.928719699382781982e-01 7.354248166084289551e-01 1.000000000000000000e+00 -1.750864982604980469e-01 4.888119995594024658e-01 7.333333492279052734e-01 1.000000000000000000e+00 -1.710265278816223145e-01 4.847520291805267334e-01 7.312418222427368164e-01 1.000000000000000000e+00 -1.669665575027465820e-01 4.806920289993286133e-01 7.291503548622131348e-01 1.000000000000000000e+00 -1.629065722227096558e-01 4.766320586204528809e-01 7.270588278770446777e-01 1.000000000000000000e+00 -1.588466018438339233e-01 4.725720882415771484e-01 7.249673008918762207e-01 1.000000000000000000e+00 -1.547866165637969971e-01 4.685121178627014160e-01 7.228758335113525391e-01 1.000000000000000000e+00 -1.507266461849212646e-01 4.644521474838256836e-01 7.207843065261840820e-01 1.000000000000000000e+00 -1.466666609048843384e-01 4.603921473026275635e-01 7.186928391456604004e-01 1.000000000000000000e+00 -1.426066905260086060e-01 4.563321769237518311e-01 7.166013121604919434e-01 1.000000000000000000e+00 -1.385467201471328735e-01 4.522722065448760986e-01 7.145097851753234863e-01 1.000000000000000000e+00 -1.344867348670959473e-01 4.482122361660003662e-01 7.124183177947998047e-01 1.000000000000000000e+00 -1.304267644882202148e-01 4.441522359848022461e-01 7.103267908096313477e-01 1.000000000000000000e+00 -1.271049529314041138e-01 4.401845335960388184e-01 7.074971199035644531e-01 1.000000000000000000e+00 -1.240292191505432129e-01 4.362475872039794922e-01 7.044214010238647461e-01 1.000000000000000000e+00 -1.209534779191017151e-01 4.323106408119201660e-01 7.013456225395202637e-01 1.000000000000000000e+00 -1.178777366876602173e-01 4.283736944198608398e-01 6.982699036598205566e-01 1.000000000000000000e+00 -1.148020029067993164e-01 4.244367480278015137e-01 6.951941847801208496e-01 1.000000000000000000e+00 -1.117262616753578186e-01 4.204998016357421875e-01 6.921184062957763672e-01 1.000000000000000000e+00 -1.086505204439163208e-01 4.165628552436828613e-01 6.890426874160766602e-01 1.000000000000000000e+00 -1.055747792124748230e-01 4.126259088516235352e-01 6.859669089317321777e-01 1.000000000000000000e+00 -1.024990379810333252e-01 4.086889624595642090e-01 6.828911900520324707e-01 1.000000000000000000e+00 -9.942329674959182739e-02 4.047520160675048828e-01 6.798154711723327637e-01 1.000000000000000000e+00 -9.634755551815032959e-02 4.008150696754455566e-01 6.767396926879882812e-01 1.000000000000000000e+00 -9.327182173728942871e-02 3.968781232833862305e-01 6.736639738082885742e-01 1.000000000000000000e+00 -9.019608050584793091e-02 3.929411768913269043e-01 6.705882549285888672e-01 1.000000000000000000e+00 -8.712033927440643311e-02 3.890042304992675781e-01 6.675124764442443848e-01 1.000000000000000000e+00 -8.404459804296493530e-02 3.850672841072082520e-01 6.644367575645446777e-01 1.000000000000000000e+00 -8.096885681152343750e-02 3.811303377151489258e-01 6.613610386848449707e-01 1.000000000000000000e+00 -7.789311558008193970e-02 3.771933913230895996e-01 6.582852602005004883e-01 1.000000000000000000e+00 -7.481737434864044189e-02 3.732564449310302734e-01 6.552095413208007812e-01 1.000000000000000000e+00 -7.174164056777954102e-02 3.693194985389709473e-01 6.521338224411010742e-01 1.000000000000000000e+00 -6.866589933633804321e-02 3.653825521469116211e-01 6.490580439567565918e-01 1.000000000000000000e+00 -6.559015810489654541e-02 3.614456057548522949e-01 6.459823250770568848e-01 1.000000000000000000e+00 -6.251441687345504761e-02 3.575086593627929688e-01 6.429065465927124023e-01 1.000000000000000000e+00 -5.943867564201354980e-02 3.535717129707336426e-01 6.398308277130126953e-01 1.000000000000000000e+00 -5.636293813586235046e-02 3.496347665786743164e-01 6.367551088333129883e-01 1.000000000000000000e+00 -5.328719690442085266e-02 3.456978201866149902e-01 6.336793303489685059e-01 1.000000000000000000e+00 -5.021145567297935486e-02 3.417608737945556641e-01 6.306036114692687988e-01 1.000000000000000000e+00 -4.713571816682815552e-02 3.378239274024963379e-01 6.275278925895690918e-01 1.000000000000000000e+00 -4.405997693538665771e-02 3.338869810104370117e-01 6.244521141052246094e-01 1.000000000000000000e+00 -4.098423570394515991e-02 3.299500048160552979e-01 6.213763952255249023e-01 1.000000000000000000e+00 -3.790849819779396057e-02 3.260130584239959717e-01 6.183006763458251953e-01 1.000000000000000000e+00 -3.483275696635246277e-02 3.220761120319366455e-01 6.152248978614807129e-01 1.000000000000000000e+00 -3.175701573491096497e-02 3.181391656398773193e-01 6.121491789817810059e-01 1.000000000000000000e+00 -3.137255087494850159e-02 3.140945732593536377e-01 6.064898371696472168e-01 1.000000000000000000e+00 -3.137255087494850159e-02 3.100346028804779053e-01 6.004613637924194336e-01 1.000000000000000000e+00 -3.137255087494850159e-02 3.059746325016021729e-01 5.944328904151916504e-01 1.000000000000000000e+00 -3.137255087494850159e-02 3.019146621227264404e-01 5.884044766426086426e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.978546619415283203e-01 5.823760032653808594e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.937946915626525879e-01 5.763475298881530762e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.897347211837768555e-01 5.703191161155700684e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.856747508049011230e-01 5.642906427383422852e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.816147506237030029e-01 5.582622289657592773e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.775547802448272705e-01 5.522337555885314941e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.734948098659515381e-01 5.462052822113037109e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.694348394870758057e-01 5.401768684387207031e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.653748691082000732e-01 5.341483950614929199e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.613148689270019531e-01 5.281199812889099121e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.572548985481262207e-01 5.220915079116821289e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.531949281692504883e-01 5.160630345344543457e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.491349428892135620e-01 5.100346207618713379e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.450749725103378296e-01 5.040061473846435547e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.410149872303009033e-01 4.979777038097381592e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.369550168514251709e-01 4.919492602348327637e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.328950464725494385e-01 4.859207868576049805e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.288350611925125122e-01 4.798923432826995850e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.247750908136367798e-01 4.738638997077941895e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.207151055335998535e-01 4.678354561328887939e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.166551351547241211e-01 4.618069827556610107e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.125951498746871948e-01 4.557785391807556152e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.085351794958114624e-01 4.497500956058502197e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.044752091169357300e-01 4.437216520309448242e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.004152238368988037e-01 4.376932084560394287e-01 1.000000000000000000e+00 -3.137255087494850159e-02 1.963552534580230713e-01 4.316647350788116455e-01 1.000000000000000000e+00 -3.137255087494850159e-02 1.922952681779861450e-01 4.256362915039062500e-01 1.000000000000000000e+00 -3.137255087494850159e-02 1.882352977991104126e-01 4.196078479290008545e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/BrBG b/fastplotlib/utils/colormaps/BrBG deleted file mode 100644 index b737a5d04..000000000 --- a/fastplotlib/utils/colormaps/BrBG +++ /dev/null @@ -1,256 +0,0 @@ -3.294117748737335205e-01 1.882352977991104126e-01 1.960784383118152618e-02 1.000000000000000000e+00 -3.380238413810729980e-01 1.933102607727050781e-01 2.037677727639675140e-02 1.000000000000000000e+00 -3.466359078884124756e-01 1.983852386474609375e-01 2.114571258425712585e-02 1.000000000000000000e+00 -3.552479743957519531e-01 2.034602016210556030e-01 2.191464789211750031e-02 1.000000000000000000e+00 -3.638600409030914307e-01 2.085351794958114624e-01 2.268358319997787476e-02 1.000000000000000000e+00 -3.724721372127532959e-01 2.136101573705673218e-01 2.345251850783824921e-02 1.000000000000000000e+00 -3.810842037200927734e-01 2.186851203441619873e-01 2.422145381569862366e-02 1.000000000000000000e+00 -3.896962702274322510e-01 2.237600982189178467e-01 2.499038912355899811e-02 1.000000000000000000e+00 -3.983083367347717285e-01 2.288350611925125122e-01 2.575932256877422333e-02 1.000000000000000000e+00 -4.069204032421112061e-01 2.339100390672683716e-01 2.652825787663459778e-02 1.000000000000000000e+00 -4.155324995517730713e-01 2.389850020408630371e-01 2.729719318449497223e-02 1.000000000000000000e+00 -4.241445660591125488e-01 2.440599799156188965e-01 2.806612849235534668e-02 1.000000000000000000e+00 -4.327566325664520264e-01 2.491349428892135620e-01 2.883506380021572113e-02 1.000000000000000000e+00 -4.413686990737915039e-01 2.542099058628082275e-01 2.960399910807609558e-02 1.000000000000000000e+00 -4.499807655811309814e-01 2.592848837375640869e-01 3.037293441593647003e-02 1.000000000000000000e+00 -4.585928618907928467e-01 2.643598616123199463e-01 3.114186786115169525e-02 1.000000000000000000e+00 -4.672049283981323242e-01 2.694348394870758057e-01 3.191080316901206970e-02 1.000000000000000000e+00 -4.758169949054718018e-01 2.745098173618316650e-01 3.267974033951759338e-02 1.000000000000000000e+00 -4.844290614128112793e-01 2.795847654342651367e-01 3.344867378473281860e-02 1.000000000000000000e+00 -4.930411279201507568e-01 2.846597433090209961e-01 3.421760722994804382e-02 1.000000000000000000e+00 -5.016531944274902344e-01 2.897347211837768555e-01 3.498654440045356750e-02 1.000000000000000000e+00 -5.102652907371520996e-01 2.948096990585327148e-01 3.575547784566879272e-02 1.000000000000000000e+00 -5.188773274421691895e-01 2.998846471309661865e-01 3.652441501617431641e-02 1.000000000000000000e+00 -5.274894237518310547e-01 3.049596250057220459e-01 3.729334846138954163e-02 1.000000000000000000e+00 -5.361015200614929199e-01 3.100346028804779053e-01 3.806228190660476685e-02 1.000000000000000000e+00 -5.447135567665100098e-01 3.151095807552337646e-01 3.883121907711029053e-02 1.000000000000000000e+00 -5.529412031173706055e-01 3.213379383087158203e-01 4.190696030855178833e-02 1.000000000000000000e+00 -5.607843399047851562e-01 3.287197351455688477e-01 4.728950560092926025e-02 1.000000000000000000e+00 -5.686274766921997070e-01 3.361015021800994873e-01 5.267205089330673218e-02 1.000000000000000000e+00 -5.764706134796142578e-01 3.434832692146301270e-01 5.805459618568420410e-02 1.000000000000000000e+00 -5.843137502670288086e-01 3.508650660514831543e-01 6.343714147806167603e-02 1.000000000000000000e+00 -5.921568870544433594e-01 3.582468330860137939e-01 6.881968677043914795e-02 1.000000000000000000e+00 -6.000000238418579102e-01 3.656286001205444336e-01 7.420223206281661987e-02 1.000000000000000000e+00 -6.078431606292724609e-01 3.730103671550750732e-01 7.958477735519409180e-02 1.000000000000000000e+00 -6.156862974166870117e-01 3.803921639919281006e-01 8.496732264757156372e-02 1.000000000000000000e+00 -6.235294342041015625e-01 3.877739310264587402e-01 9.034986793994903564e-02 1.000000000000000000e+00 -6.313725709915161133e-01 3.951556980609893799e-01 9.573241323232650757e-02 1.000000000000000000e+00 -6.392157077789306641e-01 4.025374948978424072e-01 1.011149585247039795e-01 1.000000000000000000e+00 -6.470588445663452148e-01 4.099192619323730469e-01 1.064975038170814514e-01 1.000000000000000000e+00 -6.549019813537597656e-01 4.173010289669036865e-01 1.118800491094589233e-01 1.000000000000000000e+00 -6.627451181411743164e-01 4.246828258037567139e-01 1.172625944018363953e-01 1.000000000000000000e+00 -6.705882549285888672e-01 4.320645928382873535e-01 1.226451396942138672e-01 1.000000000000000000e+00 -6.784313917160034180e-01 4.394463598728179932e-01 1.280276775360107422e-01 1.000000000000000000e+00 -6.862745285034179688e-01 4.468281567096710205e-01 1.334102302789688110e-01 1.000000000000000000e+00 -6.941176652908325195e-01 4.542099237442016602e-01 1.387927681207656860e-01 1.000000000000000000e+00 -7.019608020782470703e-01 4.615916907787322998e-01 1.441753208637237549e-01 1.000000000000000000e+00 -7.098039388656616211e-01 4.689734578132629395e-01 1.495578587055206299e-01 1.000000000000000000e+00 -7.176470756530761719e-01 4.763552546501159668e-01 1.549404114484786987e-01 1.000000000000000000e+00 -7.254902124404907227e-01 4.837370216846466064e-01 1.603229492902755737e-01 1.000000000000000000e+00 -7.333333492279052734e-01 4.911187887191772461e-01 1.657055020332336426e-01 1.000000000000000000e+00 -7.411764860153198242e-01 4.985005855560302734e-01 1.710880398750305176e-01 1.000000000000000000e+00 -7.490196228027343750e-01 5.058823823928833008e-01 1.764705926179885864e-01 1.000000000000000000e+00 -7.539408206939697266e-01 5.158784985542297363e-01 1.887735426425933838e-01 1.000000000000000000e+00 -7.588619589805603027e-01 5.258746743202209473e-01 2.010765075683593750e-01 1.000000000000000000e+00 -7.637831568717956543e-01 5.358707904815673828e-01 2.133794724941253662e-01 1.000000000000000000e+00 -7.687043547630310059e-01 5.458669662475585938e-01 2.256824225187301636e-01 1.000000000000000000e+00 -7.736255526542663574e-01 5.558631420135498047e-01 2.379853874444961548e-01 1.000000000000000000e+00 -7.785466909408569336e-01 5.658592581748962402e-01 2.502883374691009521e-01 1.000000000000000000e+00 -7.834678888320922852e-01 5.758554339408874512e-01 2.625913023948669434e-01 1.000000000000000000e+00 -7.883890867233276367e-01 5.858516097068786621e-01 2.748942673206329346e-01 1.000000000000000000e+00 -7.933102846145629883e-01 5.958477258682250977e-01 2.871972322463989258e-01 1.000000000000000000e+00 -7.982314229011535645e-01 6.058439016342163086e-01 2.995001971721649170e-01 1.000000000000000000e+00 -8.031526207923889160e-01 6.158400774002075195e-01 3.118031620979309082e-01 1.000000000000000000e+00 -8.080738186836242676e-01 6.258361935615539551e-01 3.241061270236968994e-01 1.000000000000000000e+00 -8.129950165748596191e-01 6.358323693275451660e-01 3.364090621471405029e-01 1.000000000000000000e+00 -8.179162144660949707e-01 6.458285450935363770e-01 3.487120270729064941e-01 1.000000000000000000e+00 -8.228373527526855469e-01 6.558246612548828125e-01 3.610149919986724854e-01 1.000000000000000000e+00 -8.277585506439208984e-01 6.658208370208740234e-01 3.733179569244384766e-01 1.000000000000000000e+00 -8.326797485351562500e-01 6.758170127868652344e-01 3.856209218502044678e-01 1.000000000000000000e+00 -8.376009464263916016e-01 6.858131289482116699e-01 3.979238867759704590e-01 1.000000000000000000e+00 -8.425220847129821777e-01 6.958093047142028809e-01 4.102268218994140625e-01 1.000000000000000000e+00 -8.474432826042175293e-01 7.058054804801940918e-01 4.225297868251800537e-01 1.000000000000000000e+00 -8.523644804954528809e-01 7.158015966415405273e-01 4.348327517509460449e-01 1.000000000000000000e+00 -8.572856783866882324e-01 7.257977724075317383e-01 4.471357166767120361e-01 1.000000000000000000e+00 -8.622068166732788086e-01 7.357939481735229492e-01 4.594386816024780273e-01 1.000000000000000000e+00 -8.671280145645141602e-01 7.457900643348693848e-01 4.717416465282440186e-01 1.000000000000000000e+00 -8.720492124557495117e-01 7.557862401008605957e-01 4.840446114540100098e-01 1.000000000000000000e+00 -8.762783408164978027e-01 7.637062668800354004e-01 4.955786168575286865e-01 1.000000000000000000e+00 -8.798154592514038086e-01 7.695501446723937988e-01 5.063437223434448242e-01 1.000000000000000000e+00 -8.833525776863098145e-01 7.753940820693969727e-01 5.171087980270385742e-01 1.000000000000000000e+00 -8.868896365165710449e-01 7.812379598617553711e-01 5.278738737106323242e-01 1.000000000000000000e+00 -8.904267549514770508e-01 7.870818972587585449e-01 5.386390089988708496e-01 1.000000000000000000e+00 -8.939638733863830566e-01 7.929257750511169434e-01 5.494040846824645996e-01 1.000000000000000000e+00 -8.975009322166442871e-01 7.987697124481201172e-01 5.601691603660583496e-01 1.000000000000000000e+00 -9.010380506515502930e-01 8.046135902404785156e-01 5.709342360496520996e-01 1.000000000000000000e+00 -9.045751690864562988e-01 8.104575276374816895e-01 5.816993713378906250e-01 1.000000000000000000e+00 -9.081122875213623047e-01 8.163014054298400879e-01 5.924644470214843750e-01 1.000000000000000000e+00 -9.116493463516235352e-01 8.221453428268432617e-01 6.032295227050781250e-01 1.000000000000000000e+00 -9.151864647865295410e-01 8.279892206192016602e-01 6.139945983886718750e-01 1.000000000000000000e+00 -9.187235832214355469e-01 8.338331580162048340e-01 6.247597336769104004e-01 1.000000000000000000e+00 -9.222606420516967773e-01 8.396770358085632324e-01 6.355248093605041504e-01 1.000000000000000000e+00 -9.257977604866027832e-01 8.455209732055664062e-01 6.462898850440979004e-01 1.000000000000000000e+00 -9.293348789215087891e-01 8.513648509979248047e-01 6.570549607276916504e-01 1.000000000000000000e+00 -9.328719973564147949e-01 8.572087883949279785e-01 6.678200960159301758e-01 1.000000000000000000e+00 -9.364090561866760254e-01 8.630526661872863770e-01 6.785851716995239258e-01 1.000000000000000000e+00 -9.399461746215820312e-01 8.688966035842895508e-01 6.893502473831176758e-01 1.000000000000000000e+00 -9.434832930564880371e-01 8.747404813766479492e-01 7.001153230667114258e-01 1.000000000000000000e+00 -9.470203518867492676e-01 8.805844187736511230e-01 7.108804583549499512e-01 1.000000000000000000e+00 -9.505574703216552734e-01 8.864282965660095215e-01 7.216455340385437012e-01 1.000000000000000000e+00 -9.540945887565612793e-01 8.922721743583679199e-01 7.324106097221374512e-01 1.000000000000000000e+00 -9.576317071914672852e-01 8.981161117553710938e-01 7.431756854057312012e-01 1.000000000000000000e+00 -9.611687660217285156e-01 9.039599895477294922e-01 7.539408206939697266e-01 1.000000000000000000e+00 -9.647058844566345215e-01 9.098039269447326660e-01 7.647058963775634766e-01 1.000000000000000000e+00 -9.645521044731140137e-01 9.118031263351440430e-01 7.723952531814575195e-01 1.000000000000000000e+00 -9.643983244895935059e-01 9.138023853302001953e-01 7.800846099853515625e-01 1.000000000000000000e+00 -9.642445445060729980e-01 9.158016443252563477e-01 7.877739071846008301e-01 1.000000000000000000e+00 -9.640907049179077148e-01 9.178008437156677246e-01 7.954632639884948730e-01 1.000000000000000000e+00 -9.639369249343872070e-01 9.198001027107238770e-01 8.031526207923889160e-01 1.000000000000000000e+00 -9.637831449508666992e-01 9.217993021011352539e-01 8.108419775962829590e-01 1.000000000000000000e+00 -9.636293649673461914e-01 9.237985610961914062e-01 8.185313344001770020e-01 1.000000000000000000e+00 -9.634755849838256836e-01 9.257977604866027832e-01 8.262206912040710449e-01 1.000000000000000000e+00 -9.633218050003051758e-01 9.277970194816589355e-01 8.339100480079650879e-01 1.000000000000000000e+00 -9.631680250167846680e-01 9.297962188720703125e-01 8.415994048118591309e-01 1.000000000000000000e+00 -9.630142450332641602e-01 9.317954778671264648e-01 8.492887616157531738e-01 1.000000000000000000e+00 -9.628604650497436523e-01 9.337946772575378418e-01 8.569780588150024414e-01 1.000000000000000000e+00 -9.627066254615783691e-01 9.357939362525939941e-01 8.646674156188964844e-01 1.000000000000000000e+00 -9.625528454780578613e-01 9.377931356430053711e-01 8.723567724227905273e-01 1.000000000000000000e+00 -9.623990654945373535e-01 9.397923946380615234e-01 8.800461292266845703e-01 1.000000000000000000e+00 -9.622452855110168457e-01 9.417915940284729004e-01 8.877354860305786133e-01 1.000000000000000000e+00 -9.620915055274963379e-01 9.437908530235290527e-01 8.954248428344726562e-01 1.000000000000000000e+00 -9.619377255439758301e-01 9.457900524139404297e-01 9.031141996383666992e-01 1.000000000000000000e+00 -9.617839455604553223e-01 9.477893114089965820e-01 9.108035564422607422e-01 1.000000000000000000e+00 -9.616301655769348145e-01 9.497885704040527344e-01 9.184929132461547852e-01 1.000000000000000000e+00 -9.614763259887695312e-01 9.517877697944641113e-01 9.261822104454040527e-01 1.000000000000000000e+00 -9.613225460052490234e-01 9.537870287895202637e-01 9.338715672492980957e-01 1.000000000000000000e+00 -9.611687660217285156e-01 9.557862281799316406e-01 9.415609240531921387e-01 1.000000000000000000e+00 -9.610149860382080078e-01 9.577854871749877930e-01 9.492502808570861816e-01 1.000000000000000000e+00 -9.608612060546875000e-01 9.597846865653991699e-01 9.569396376609802246e-01 1.000000000000000000e+00 -9.572471976280212402e-01 9.599384665489196777e-01 9.595540165901184082e-01 1.000000000000000000e+00 -9.501730203628540039e-01 9.582468271255493164e-01 9.570934176445007324e-01 1.000000000000000000e+00 -9.430987834930419922e-01 9.565551877021789551e-01 9.546328186988830566e-01 1.000000000000000000e+00 -9.360246062278747559e-01 9.548634886741638184e-01 9.521722197532653809e-01 1.000000000000000000e+00 -9.289504289627075195e-01 9.531718492507934570e-01 9.497116208076477051e-01 1.000000000000000000e+00 -9.218761920928955078e-01 9.514802098274230957e-01 9.472510814666748047e-01 1.000000000000000000e+00 -9.148020148277282715e-01 9.497885704040527344e-01 9.447904825210571289e-01 1.000000000000000000e+00 -9.077277779579162598e-01 9.480968713760375977e-01 9.423298835754394531e-01 1.000000000000000000e+00 -9.006536006927490234e-01 9.464052319526672363e-01 9.398692846298217773e-01 1.000000000000000000e+00 -8.935793638229370117e-01 9.447135925292968750e-01 9.374086856842041016e-01 1.000000000000000000e+00 -8.865051865577697754e-01 9.430218935012817383e-01 9.349480867385864258e-01 1.000000000000000000e+00 -8.794310092926025391e-01 9.413302540779113770e-01 9.324874877929687500e-01 1.000000000000000000e+00 -8.723567724227905273e-01 9.396386146545410156e-01 9.300268888473510742e-01 1.000000000000000000e+00 -8.652825951576232910e-01 9.379469156265258789e-01 9.275663495063781738e-01 1.000000000000000000e+00 -8.582083582878112793e-01 9.362552762031555176e-01 9.251057505607604980e-01 1.000000000000000000e+00 -8.511341810226440430e-01 9.345636367797851562e-01 9.226451516151428223e-01 1.000000000000000000e+00 -8.440600037574768066e-01 9.328719973564147949e-01 9.201845526695251465e-01 1.000000000000000000e+00 -8.369857668876647949e-01 9.311802983283996582e-01 9.177239537239074707e-01 1.000000000000000000e+00 -8.299115896224975586e-01 9.294886589050292969e-01 9.152633547782897949e-01 1.000000000000000000e+00 -8.228373527526855469e-01 9.277970194816589355e-01 9.128027558326721191e-01 1.000000000000000000e+00 -8.157631754875183105e-01 9.261053204536437988e-01 9.103421568870544434e-01 1.000000000000000000e+00 -8.086889386177062988e-01 9.244136810302734375e-01 9.078815579414367676e-01 1.000000000000000000e+00 -8.016147613525390625e-01 9.227220416069030762e-01 9.054210186004638672e-01 1.000000000000000000e+00 -7.945405840873718262e-01 9.210304021835327148e-01 9.029604196548461914e-01 1.000000000000000000e+00 -7.874663472175598145e-01 9.193387031555175781e-01 9.004998207092285156e-01 1.000000000000000000e+00 -7.803921699523925781e-01 9.176470637321472168e-01 8.980392217636108398e-01 1.000000000000000000e+00 -7.694732546806335449e-01 9.131872653961181641e-01 8.925029039382934570e-01 1.000000000000000000e+00 -7.585543990135192871e-01 9.087274074554443359e-01 8.869665265083312988e-01 1.000000000000000000e+00 -7.476355433464050293e-01 9.042676091194152832e-01 8.814302086830139160e-01 1.000000000000000000e+00 -7.367166280746459961e-01 8.998077511787414551e-01 8.758938908576965332e-01 1.000000000000000000e+00 -7.257977724075317383e-01 8.953479528427124023e-01 8.703575730323791504e-01 1.000000000000000000e+00 -7.148789167404174805e-01 8.908880949020385742e-01 8.648211956024169922e-01 1.000000000000000000e+00 -7.039600014686584473e-01 8.864282965660095215e-01 8.592848777770996094e-01 1.000000000000000000e+00 -6.930411458015441895e-01 8.819684982299804688e-01 8.537485599517822266e-01 1.000000000000000000e+00 -6.821222901344299316e-01 8.775086402893066406e-01 8.482122421264648438e-01 1.000000000000000000e+00 -6.712033748626708984e-01 8.730488419532775879e-01 8.426758646965026855e-01 1.000000000000000000e+00 -6.602845191955566406e-01 8.685889840126037598e-01 8.371395468711853027e-01 1.000000000000000000e+00 -6.493656039237976074e-01 8.641291856765747070e-01 8.316032290458679199e-01 1.000000000000000000e+00 -6.384467482566833496e-01 8.596693873405456543e-01 8.260669112205505371e-01 1.000000000000000000e+00 -6.275278925895690918e-01 8.552095293998718262e-01 8.205305933952331543e-01 1.000000000000000000e+00 -6.166089773178100586e-01 8.507497310638427734e-01 8.149942159652709961e-01 1.000000000000000000e+00 -6.056901216506958008e-01 8.462898731231689453e-01 8.094578981399536133e-01 1.000000000000000000e+00 -5.947712659835815430e-01 8.418300747871398926e-01 8.039215803146362305e-01 1.000000000000000000e+00 -5.838523507118225098e-01 8.373702168464660645e-01 7.983852624893188477e-01 1.000000000000000000e+00 -5.729334950447082520e-01 8.329104185104370117e-01 7.928488850593566895e-01 1.000000000000000000e+00 -5.620146393775939941e-01 8.284506201744079590e-01 7.873125672340393066e-01 1.000000000000000000e+00 -5.510957241058349609e-01 8.239907622337341309e-01 7.817762494087219238e-01 1.000000000000000000e+00 -5.401768684387207031e-01 8.195309638977050781e-01 7.762399315834045410e-01 1.000000000000000000e+00 -5.292579531669616699e-01 8.150711059570312500e-01 7.707035541534423828e-01 1.000000000000000000e+00 -5.183390974998474121e-01 8.106113076210021973e-01 7.651672363281250000e-01 1.000000000000000000e+00 -5.074202418327331543e-01 8.061515092849731445e-01 7.596309185028076172e-01 1.000000000000000000e+00 -4.961937665939331055e-01 7.997693419456481934e-01 7.530180811882019043e-01 1.000000000000000000e+00 -4.846597313880920410e-01 7.914648056030273438e-01 7.453287243843078613e-01 1.000000000000000000e+00 -4.731257259845733643e-01 7.831603288650512695e-01 7.376393675804138184e-01 1.000000000000000000e+00 -4.615916907787322998e-01 7.748558521270751953e-01 7.299500107765197754e-01 1.000000000000000000e+00 -4.500576555728912354e-01 7.665513157844543457e-01 7.222606539726257324e-01 1.000000000000000000e+00 -4.385236501693725586e-01 7.582468390464782715e-01 7.145712971687316895e-01 1.000000000000000000e+00 -4.269896149635314941e-01 7.499423027038574219e-01 7.068819403648376465e-01 1.000000000000000000e+00 -4.154555797576904297e-01 7.416378259658813477e-01 6.991926431655883789e-01 1.000000000000000000e+00 -4.039215743541717529e-01 7.333333492279052734e-01 6.915032863616943359e-01 1.000000000000000000e+00 -3.923875391483306885e-01 7.250288128852844238e-01 6.838139295578002930e-01 1.000000000000000000e+00 -3.808535039424896240e-01 7.167243361473083496e-01 6.761245727539062500e-01 1.000000000000000000e+00 -3.693194985389709473e-01 7.084198594093322754e-01 6.684352159500122070e-01 1.000000000000000000e+00 -3.577854633331298828e-01 7.001153230667114258e-01 6.607458591461181641e-01 1.000000000000000000e+00 -3.462514281272888184e-01 6.918108463287353516e-01 6.530565023422241211e-01 1.000000000000000000e+00 -3.347174227237701416e-01 6.835063695907592773e-01 6.453671455383300781e-01 1.000000000000000000e+00 -3.231833875179290771e-01 6.752018332481384277e-01 6.376777887344360352e-01 1.000000000000000000e+00 -3.116493523120880127e-01 6.668973565101623535e-01 6.299884915351867676e-01 1.000000000000000000e+00 -3.001153469085693359e-01 6.585928201675415039e-01 6.222991347312927246e-01 1.000000000000000000e+00 -2.885813117027282715e-01 6.502883434295654297e-01 6.146097779273986816e-01 1.000000000000000000e+00 -2.770472764968872070e-01 6.419838666915893555e-01 6.069204211235046387e-01 1.000000000000000000e+00 -2.655132710933685303e-01 6.336793303489685059e-01 5.992310643196105957e-01 1.000000000000000000e+00 -2.539792358875274658e-01 6.253748536109924316e-01 5.915417075157165527e-01 1.000000000000000000e+00 -2.424452155828475952e-01 6.170703768730163574e-01 5.838523507118225098e-01 1.000000000000000000e+00 -2.309111952781677246e-01 6.087658405303955078e-01 5.761629939079284668e-01 1.000000000000000000e+00 -2.193771600723266602e-01 6.004613637924194336e-01 5.684736371040344238e-01 1.000000000000000000e+00 -2.078431397676467896e-01 5.921568870544433594e-01 5.607843399047851562e-01 1.000000000000000000e+00 -1.998462080955505371e-01 5.846213102340698242e-01 5.532487630844116211e-01 1.000000000000000000e+00 -1.918492913246154785e-01 5.770857334136962891e-01 5.457131862640380859e-01 1.000000000000000000e+00 -1.838523596525192261e-01 5.695501565933227539e-01 5.381776094436645508e-01 1.000000000000000000e+00 -1.758554428815841675e-01 5.620146393775939941e-01 5.306420326232910156e-01 1.000000000000000000e+00 -1.678585112094879150e-01 5.544790625572204590e-01 5.231065154075622559e-01 1.000000000000000000e+00 -1.598615944385528564e-01 5.469434857368469238e-01 5.155709385871887207e-01 1.000000000000000000e+00 -1.518646627664566040e-01 5.394079089164733887e-01 5.080353617668151855e-01 1.000000000000000000e+00 -1.438677459955215454e-01 5.318723320960998535e-01 5.004997849464416504e-01 1.000000000000000000e+00 -1.358708143234252930e-01 5.243368148803710938e-01 4.929642379283905029e-01 1.000000000000000000e+00 -1.278738975524902344e-01 5.168012380599975586e-01 4.854286909103393555e-01 1.000000000000000000e+00 -1.198769733309745789e-01 5.092656612396240234e-01 4.778931140899658203e-01 1.000000000000000000e+00 -1.118800491094589233e-01 5.017300844192504883e-01 4.703575670719146729e-01 1.000000000000000000e+00 -1.038831248879432678e-01 4.941945374011993408e-01 4.628219902515411377e-01 1.000000000000000000e+00 -9.588620066642761230e-02 4.866589903831481934e-01 4.552864134311676025e-01 1.000000000000000000e+00 -8.788927644491195679e-02 4.791234135627746582e-01 4.477508664131164551e-01 1.000000000000000000e+00 -7.989235222339630127e-02 4.715878367424011230e-01 4.402152895927429199e-01 1.000000000000000000e+00 -7.189542800188064575e-02 4.640522897243499756e-01 4.326797425746917725e-01 1.000000000000000000e+00 -6.389850378036499023e-02 4.565167129039764404e-01 4.251441657543182373e-01 1.000000000000000000e+00 -5.590157583355903625e-02 4.489811658859252930e-01 4.176086187362670898e-01 1.000000000000000000e+00 -4.790465161204338074e-02 4.414455890655517578e-01 4.100730419158935547e-01 1.000000000000000000e+00 -3.990772739052772522e-02 4.339100420475006104e-01 4.025374948978424072e-01 1.000000000000000000e+00 -3.191080316901206970e-02 4.263744652271270752e-01 3.950019180774688721e-01 1.000000000000000000e+00 -2.391387894749641418e-02 4.188389182090759277e-01 3.874663710594177246e-01 1.000000000000000000e+00 -1.591695472598075867e-02 4.113033413887023926e-01 3.799307942390441895e-01 1.000000000000000000e+00 -7.920030504465103149e-03 4.037677943706512451e-01 3.723952472209930420e-01 1.000000000000000000e+00 -3.844675142318010330e-03 3.967704772949218750e-01 3.650903403759002686e-01 1.000000000000000000e+00 -3.690888173878192902e-03 3.903114199638366699e-01 3.580161333084106445e-01 1.000000000000000000e+00 -3.537101205438375473e-03 3.838523626327514648e-01 3.509419560432434082e-01 1.000000000000000000e+00 -3.383314004167914391e-03 3.773933053016662598e-01 3.438677489757537842e-01 1.000000000000000000e+00 -3.229527035728096962e-03 3.709342479705810547e-01 3.367935419082641602e-01 1.000000000000000000e+00 -3.075740067288279533e-03 3.644751906394958496e-01 3.297193348407745361e-01 1.000000000000000000e+00 -2.921953098848462105e-03 3.580161333084106445e-01 3.226451277732849121e-01 1.000000000000000000e+00 -2.768166130408644676e-03 3.515571057796478271e-01 3.155709207057952881e-01 1.000000000000000000e+00 -2.614379161968827248e-03 3.450980484485626221e-01 3.084967434406280518e-01 1.000000000000000000e+00 -2.460592193529009819e-03 3.386389911174774170e-01 3.014225363731384277e-01 1.000000000000000000e+00 -2.306804992258548737e-03 3.321799337863922119e-01 2.943483293056488037e-01 1.000000000000000000e+00 -2.153018023818731308e-03 3.257208764553070068e-01 2.872741222381591797e-01 1.000000000000000000e+00 -1.999231055378913879e-03 3.192618191242218018e-01 2.801999151706695557e-01 1.000000000000000000e+00 -1.845444086939096451e-03 3.128027617931365967e-01 2.731257081031799316e-01 1.000000000000000000e+00 -1.691657002083957195e-03 3.063437044620513916e-01 2.660515308380126953e-01 1.000000000000000000e+00 -1.537870033644139767e-03 2.998846471309661865e-01 2.589773237705230713e-01 1.000000000000000000e+00 -1.384083065204322338e-03 2.934256196022033691e-01 2.519031167030334473e-01 1.000000000000000000e+00 -1.230296096764504910e-03 2.869665622711181641e-01 2.448289096355438232e-01 1.000000000000000000e+00 -1.076509011909365654e-03 2.805075049400329590e-01 2.377547025680541992e-01 1.000000000000000000e+00 -9.227220434695482254e-04 2.740484476089477539e-01 2.306805104017257690e-01 1.000000000000000000e+00 -7.689350168220698833e-04 2.675893902778625488e-01 2.236063033342361450e-01 1.000000000000000000e+00 -6.151480483822524548e-04 2.611303329467773438e-01 2.165320962667465210e-01 1.000000000000000000e+00 -4.613610217347741127e-04 2.546712756156921387e-01 2.094579041004180908e-01 1.000000000000000000e+00 -3.075740241911262274e-04 2.482122331857681274e-01 2.023836970329284668e-01 1.000000000000000000e+00 -1.537870120955631137e-04 2.417531758546829224e-01 1.953094899654388428e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.352941185235977173e-01 1.882352977991104126e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/BuGn b/fastplotlib/utils/colormaps/BuGn deleted file mode 100644 index e7d2c33a6..000000000 --- a/fastplotlib/utils/colormaps/BuGn +++ /dev/null @@ -1,256 +0,0 @@ -9.686274528503417969e-01 9.882352948188781738e-01 9.921568632125854492e-01 1.000000000000000000e+00 -9.664129018783569336e-01 9.873740673065185547e-01 9.916647672653198242e-01 1.000000000000000000e+00 -9.641984105110168457e-01 9.865128993988037109e-01 9.911726117134094238e-01 1.000000000000000000e+00 -9.619838595390319824e-01 9.856516718864440918e-01 9.906805157661437988e-01 1.000000000000000000e+00 -9.597693085670471191e-01 9.847904443740844727e-01 9.901883602142333984e-01 1.000000000000000000e+00 -9.575547575950622559e-01 9.839292764663696289e-01 9.896962642669677734e-01 1.000000000000000000e+00 -9.553402662277221680e-01 9.830680489540100098e-01 9.892041683197021484e-01 1.000000000000000000e+00 -9.531257152557373047e-01 9.822068214416503906e-01 9.887120127677917480e-01 1.000000000000000000e+00 -9.509111642837524414e-01 9.813456535339355469e-01 9.882199168205261230e-01 1.000000000000000000e+00 -9.486966729164123535e-01 9.804844260215759277e-01 9.877278208732604980e-01 1.000000000000000000e+00 -9.464821219444274902e-01 9.796231985092163086e-01 9.872356653213500977e-01 1.000000000000000000e+00 -9.442675709724426270e-01 9.787620306015014648e-01 9.867435693740844727e-01 1.000000000000000000e+00 -9.420530796051025391e-01 9.779008030891418457e-01 9.862514138221740723e-01 1.000000000000000000e+00 -9.398385286331176758e-01 9.770395755767822266e-01 9.857593178749084473e-01 1.000000000000000000e+00 -9.376239776611328125e-01 9.761784076690673828e-01 9.852672219276428223e-01 1.000000000000000000e+00 -9.354094862937927246e-01 9.753171801567077637e-01 9.847750663757324219e-01 1.000000000000000000e+00 -9.331949353218078613e-01 9.744559526443481445e-01 9.842829704284667969e-01 1.000000000000000000e+00 -9.309803843498229980e-01 9.735947847366333008e-01 9.837908744812011719e-01 1.000000000000000000e+00 -9.287658333778381348e-01 9.727335572242736816e-01 9.832987189292907715e-01 1.000000000000000000e+00 -9.265513420104980469e-01 9.718723297119140625e-01 9.828066229820251465e-01 1.000000000000000000e+00 -9.243367910385131836e-01 9.710111618041992188e-01 9.823144674301147461e-01 1.000000000000000000e+00 -9.221222400665283203e-01 9.701499342918395996e-01 9.818223714828491211e-01 1.000000000000000000e+00 -9.199077486991882324e-01 9.692887067794799805e-01 9.813302755355834961e-01 1.000000000000000000e+00 -9.176931977272033691e-01 9.684275388717651367e-01 9.808381199836730957e-01 1.000000000000000000e+00 -9.154786467552185059e-01 9.675663113594055176e-01 9.803460240364074707e-01 1.000000000000000000e+00 -9.132641553878784180e-01 9.667050838470458984e-01 9.798539280891418457e-01 1.000000000000000000e+00 -9.110496044158935547e-01 9.658439159393310547e-01 9.793617725372314453e-01 1.000000000000000000e+00 -9.088350534439086914e-01 9.649826884269714355e-01 9.788696765899658203e-01 1.000000000000000000e+00 -9.066205024719238281e-01 9.641215205192565918e-01 9.783775210380554199e-01 1.000000000000000000e+00 -9.044060111045837402e-01 9.632602930068969727e-01 9.778854250907897949e-01 1.000000000000000000e+00 -9.021914601325988770e-01 9.623990654945373535e-01 9.773933291435241699e-01 1.000000000000000000e+00 -8.999769091606140137e-01 9.615378975868225098e-01 9.769011735916137695e-01 1.000000000000000000e+00 -8.976547718048095703e-01 9.606459140777587891e-01 9.761784076690673828e-01 1.000000000000000000e+00 -8.945789933204650879e-01 9.595386385917663574e-01 9.738408327102661133e-01 1.000000000000000000e+00 -8.915032744407653809e-01 9.584313631057739258e-01 9.715032577514648438e-01 1.000000000000000000e+00 -8.884275555610656738e-01 9.573240876197814941e-01 9.691656827926635742e-01 1.000000000000000000e+00 -8.853517770767211914e-01 9.562168121337890625e-01 9.668281674385070801e-01 1.000000000000000000e+00 -8.822760581970214844e-01 9.551095962524414062e-01 9.644905924797058105e-01 1.000000000000000000e+00 -8.792002797126770020e-01 9.540023207664489746e-01 9.621530175209045410e-01 1.000000000000000000e+00 -8.761245608329772949e-01 9.528950452804565430e-01 9.598154425621032715e-01 1.000000000000000000e+00 -8.730488419532775879e-01 9.517877697944641113e-01 9.574778676033020020e-01 1.000000000000000000e+00 -8.699730634689331055e-01 9.506804943084716797e-01 9.551403522491455078e-01 1.000000000000000000e+00 -8.668973445892333984e-01 9.495732188224792480e-01 9.528027772903442383e-01 1.000000000000000000e+00 -8.638216257095336914e-01 9.484660029411315918e-01 9.504652023315429688e-01 1.000000000000000000e+00 -8.607458472251892090e-01 9.473587274551391602e-01 9.481276273727416992e-01 1.000000000000000000e+00 -8.576701283454895020e-01 9.462514519691467285e-01 9.457900524139404297e-01 1.000000000000000000e+00 -8.545944094657897949e-01 9.451441764831542969e-01 9.434525370597839355e-01 1.000000000000000000e+00 -8.515186309814453125e-01 9.440369009971618652e-01 9.411149621009826660e-01 1.000000000000000000e+00 -8.484429121017456055e-01 9.429296255111694336e-01 9.387773871421813965e-01 1.000000000000000000e+00 -8.453671932220458984e-01 9.418223500251770020e-01 9.364398121833801270e-01 1.000000000000000000e+00 -8.422914147377014160e-01 9.407151341438293457e-01 9.341022968292236328e-01 1.000000000000000000e+00 -8.392156958580017090e-01 9.396078586578369141e-01 9.317647218704223633e-01 1.000000000000000000e+00 -8.361399173736572266e-01 9.385005831718444824e-01 9.294271469116210938e-01 1.000000000000000000e+00 -8.330641984939575195e-01 9.373933076858520508e-01 9.270895719528198242e-01 1.000000000000000000e+00 -8.299884796142578125e-01 9.362860321998596191e-01 9.247519969940185547e-01 1.000000000000000000e+00 -8.269127011299133301e-01 9.351787567138671875e-01 9.224144816398620605e-01 1.000000000000000000e+00 -8.238369822502136230e-01 9.340714812278747559e-01 9.200769066810607910e-01 1.000000000000000000e+00 -8.207612633705139160e-01 9.329642653465270996e-01 9.177393317222595215e-01 1.000000000000000000e+00 -8.176854848861694336e-01 9.318569898605346680e-01 9.154017567634582520e-01 1.000000000000000000e+00 -8.146097660064697266e-01 9.307497143745422363e-01 9.130641818046569824e-01 1.000000000000000000e+00 -8.115340471267700195e-01 9.296424388885498047e-01 9.107266664505004883e-01 1.000000000000000000e+00 -8.084582686424255371e-01 9.285351634025573730e-01 9.083890914916992188e-01 1.000000000000000000e+00 -8.053825497627258301e-01 9.274278879165649414e-01 9.060515165328979492e-01 1.000000000000000000e+00 -8.023068308830261230e-01 9.263206720352172852e-01 9.037139415740966797e-01 1.000000000000000000e+00 -7.984313964843750000e-01 9.248750209808349609e-01 9.010688066482543945e-01 1.000000000000000000e+00 -7.921568751335144043e-01 9.224144816398620605e-01 8.975009322166442871e-01 1.000000000000000000e+00 -7.858823537826538086e-01 9.199538826942443848e-01 8.939331173896789551e-01 1.000000000000000000e+00 -7.796078324317932129e-01 9.174932837486267090e-01 8.903652429580688477e-01 1.000000000000000000e+00 -7.733333110809326172e-01 9.150326848030090332e-01 8.867973685264587402e-01 1.000000000000000000e+00 -7.670588493347167969e-01 9.125720858573913574e-01 8.832295536994934082e-01 1.000000000000000000e+00 -7.607843279838562012e-01 9.101114869117736816e-01 8.796616792678833008e-01 1.000000000000000000e+00 -7.545098066329956055e-01 9.076508879661560059e-01 8.760938048362731934e-01 1.000000000000000000e+00 -7.482352852821350098e-01 9.051902890205383301e-01 8.725259304046630859e-01 1.000000000000000000e+00 -7.419607639312744141e-01 9.027296900749206543e-01 8.689581155776977539e-01 1.000000000000000000e+00 -7.356863021850585938e-01 9.002691507339477539e-01 8.653902411460876465e-01 1.000000000000000000e+00 -7.294117808341979980e-01 8.978085517883300781e-01 8.618223667144775391e-01 1.000000000000000000e+00 -7.231372594833374023e-01 8.953479528427124023e-01 8.582544922828674316e-01 1.000000000000000000e+00 -7.168627381324768066e-01 8.928873538970947266e-01 8.546866774559020996e-01 1.000000000000000000e+00 -7.105882167816162109e-01 8.904267549514770508e-01 8.511188030242919922e-01 1.000000000000000000e+00 -7.043137550354003906e-01 8.879661560058593750e-01 8.475509285926818848e-01 1.000000000000000000e+00 -6.980392336845397949e-01 8.855055570602416992e-01 8.439830541610717773e-01 1.000000000000000000e+00 -6.917647123336791992e-01 8.830449581146240234e-01 8.404152393341064453e-01 1.000000000000000000e+00 -6.854901909828186035e-01 8.805844187736511230e-01 8.368473649024963379e-01 1.000000000000000000e+00 -6.792156696319580078e-01 8.781238198280334473e-01 8.332794904708862305e-01 1.000000000000000000e+00 -6.729411482810974121e-01 8.756632208824157715e-01 8.297116756439208984e-01 1.000000000000000000e+00 -6.666666865348815918e-01 8.732026219367980957e-01 8.261438012123107910e-01 1.000000000000000000e+00 -6.603921651840209961e-01 8.707420229911804199e-01 8.225759267807006836e-01 1.000000000000000000e+00 -6.541176438331604004e-01 8.682814240455627441e-01 8.190080523490905762e-01 1.000000000000000000e+00 -6.478431224822998047e-01 8.658208250999450684e-01 8.154402375221252441e-01 1.000000000000000000e+00 -6.415686011314392090e-01 8.633602261543273926e-01 8.118723630905151367e-01 1.000000000000000000e+00 -6.352941393852233887e-01 8.608996272087097168e-01 8.083044886589050293e-01 1.000000000000000000e+00 -6.290196180343627930e-01 8.584390878677368164e-01 8.047366142272949219e-01 1.000000000000000000e+00 -6.227450966835021973e-01 8.559784889221191406e-01 8.011687994003295898e-01 1.000000000000000000e+00 -6.164705753326416016e-01 8.535178899765014648e-01 7.976009249687194824e-01 1.000000000000000000e+00 -6.101960539817810059e-01 8.510572910308837891e-01 7.940330505371093750e-01 1.000000000000000000e+00 -6.039215922355651855e-01 8.485966920852661133e-01 7.904651761054992676e-01 1.000000000000000000e+00 -5.976470708847045898e-01 8.460438251495361328e-01 7.865282297134399414e-01 1.000000000000000000e+00 -5.913725495338439941e-01 8.433371782302856445e-01 7.819761633872985840e-01 1.000000000000000000e+00 -5.850980281829833984e-01 8.406305313110351562e-01 7.774240970611572266e-01 1.000000000000000000e+00 -5.788235068321228027e-01 8.379238843917846680e-01 7.728719711303710938e-01 1.000000000000000000e+00 -5.725490450859069824e-01 8.352172374725341797e-01 7.683199048042297363e-01 1.000000000000000000e+00 -5.662745237350463867e-01 8.325105905532836914e-01 7.637677788734436035e-01 1.000000000000000000e+00 -5.600000023841857910e-01 8.298039436340332031e-01 7.592157125473022461e-01 1.000000000000000000e+00 -5.537254810333251953e-01 8.270972967147827148e-01 7.546635866165161133e-01 1.000000000000000000e+00 -5.474509596824645996e-01 8.243905901908874512e-01 7.501115202903747559e-01 1.000000000000000000e+00 -5.411764979362487793e-01 8.216839432716369629e-01 7.455593943595886230e-01 1.000000000000000000e+00 -5.349019765853881836e-01 8.189772963523864746e-01 7.410073280334472656e-01 1.000000000000000000e+00 -5.286274552345275879e-01 8.162706494331359863e-01 7.364552021026611328e-01 1.000000000000000000e+00 -5.223529338836669922e-01 8.135640025138854980e-01 7.319031357765197754e-01 1.000000000000000000e+00 -5.160784125328063965e-01 8.108573555946350098e-01 7.273510098457336426e-01 1.000000000000000000e+00 -5.098039507865905762e-01 8.081507086753845215e-01 7.227989435195922852e-01 1.000000000000000000e+00 -5.035294294357299805e-01 8.054440617561340332e-01 7.182468175888061523e-01 1.000000000000000000e+00 -4.972549080848693848e-01 8.027374148368835449e-01 7.136947512626647949e-01 1.000000000000000000e+00 -4.909803867340087891e-01 8.000307679176330566e-01 7.091426253318786621e-01 1.000000000000000000e+00 -4.847058951854705811e-01 7.973241209983825684e-01 7.045905590057373047e-01 1.000000000000000000e+00 -4.784313738346099854e-01 7.946174740791320801e-01 7.000384330749511719e-01 1.000000000000000000e+00 -4.721568524837493896e-01 7.919108271598815918e-01 6.954863667488098145e-01 1.000000000000000000e+00 -4.658823609352111816e-01 7.892041802406311035e-01 6.909342408180236816e-01 1.000000000000000000e+00 -4.596078395843505859e-01 7.864974737167358398e-01 6.863821744918823242e-01 1.000000000000000000e+00 -4.533333480358123779e-01 7.837908267974853516e-01 6.818300485610961914e-01 1.000000000000000000e+00 -4.470588266849517822e-01 7.810841798782348633e-01 6.772779822349548340e-01 1.000000000000000000e+00 -4.407843053340911865e-01 7.783775329589843750e-01 6.727258563041687012e-01 1.000000000000000000e+00 -4.345098137855529785e-01 7.756708860397338867e-01 6.681737899780273438e-01 1.000000000000000000e+00 -4.282352924346923828e-01 7.729642391204833984e-01 6.636216640472412109e-01 1.000000000000000000e+00 -4.219607710838317871e-01 7.702575922012329102e-01 6.590695977210998535e-01 1.000000000000000000e+00 -4.156862795352935791e-01 7.675509452819824219e-01 6.545174717903137207e-01 1.000000000000000000e+00 -4.094117581844329834e-01 7.648442983627319336e-01 6.499654054641723633e-01 1.000000000000000000e+00 -4.031372666358947754e-01 7.621376514434814453e-01 6.454132795333862305e-01 1.000000000000000000e+00 -3.977239429950714111e-01 7.595540285110473633e-01 6.403075456619262695e-01 1.000000000000000000e+00 -3.931718468666076660e-01 7.570934295654296875e-01 6.346482038497924805e-01 1.000000000000000000e+00 -3.886197507381439209e-01 7.546328306198120117e-01 6.289888620376586914e-01 1.000000000000000000e+00 -3.840676546096801758e-01 7.521722316741943359e-01 6.233294606208801270e-01 1.000000000000000000e+00 -3.795155584812164307e-01 7.497116327285766602e-01 6.176701188087463379e-01 1.000000000000000000e+00 -3.749634623527526855e-01 7.472510337829589844e-01 6.120107769966125488e-01 1.000000000000000000e+00 -3.704113662242889404e-01 7.447904944419860840e-01 6.063513755798339844e-01 1.000000000000000000e+00 -3.658592700958251953e-01 7.423298954963684082e-01 6.006920337677001953e-01 1.000000000000000000e+00 -3.613072037696838379e-01 7.398692965507507324e-01 5.950326919555664062e-01 1.000000000000000000e+00 -3.567551076412200928e-01 7.374086976051330566e-01 5.893732905387878418e-01 1.000000000000000000e+00 -3.522030115127563477e-01 7.349480986595153809e-01 5.837139487266540527e-01 1.000000000000000000e+00 -3.476509153842926025e-01 7.324874997138977051e-01 5.780546069145202637e-01 1.000000000000000000e+00 -3.430988192558288574e-01 7.300269007682800293e-01 5.723952054977416992e-01 1.000000000000000000e+00 -3.385467231273651123e-01 7.275663018226623535e-01 5.667358636856079102e-01 1.000000000000000000e+00 -3.339946269989013672e-01 7.251057028770446777e-01 5.610765218734741211e-01 1.000000000000000000e+00 -3.294425308704376221e-01 7.226451635360717773e-01 5.554171204566955566e-01 1.000000000000000000e+00 -3.248904347419738770e-01 7.201845645904541016e-01 5.497577786445617676e-01 1.000000000000000000e+00 -3.203383386135101318e-01 7.177239656448364258e-01 5.440984368324279785e-01 1.000000000000000000e+00 -3.157862424850463867e-01 7.152633666992187500e-01 5.384390354156494141e-01 1.000000000000000000e+00 -3.112341463565826416e-01 7.128027677536010742e-01 5.327796936035156250e-01 1.000000000000000000e+00 -3.066820502281188965e-01 7.103421688079833984e-01 5.271203517913818359e-01 1.000000000000000000e+00 -3.021299540996551514e-01 7.078815698623657227e-01 5.214609503746032715e-01 1.000000000000000000e+00 -2.975778579711914062e-01 7.054209709167480469e-01 5.158016085624694824e-01 1.000000000000000000e+00 -2.930257618427276611e-01 7.029603719711303711e-01 5.101422667503356934e-01 1.000000000000000000e+00 -2.884736657142639160e-01 7.004998326301574707e-01 5.044828653335571289e-01 1.000000000000000000e+00 -2.839215695858001709e-01 6.980392336845397949e-01 4.988235235214233398e-01 1.000000000000000000e+00 -2.793694734573364258e-01 6.955786347389221191e-01 4.931641817092895508e-01 1.000000000000000000e+00 -2.748173773288726807e-01 6.931180357933044434e-01 4.875048100948333740e-01 1.000000000000000000e+00 -2.702652812004089355e-01 6.906574368476867676e-01 4.818454384803771973e-01 1.000000000000000000e+00 -2.657131850719451904e-01 6.881968379020690918e-01 4.761860966682434082e-01 1.000000000000000000e+00 -2.611610889434814453e-01 6.857362389564514160e-01 4.705267250537872314e-01 1.000000000000000000e+00 -2.566089928150177002e-01 6.832756400108337402e-01 4.648673534393310547e-01 1.000000000000000000e+00 -2.525951564311981201e-01 6.796616911888122559e-01 4.589773118495941162e-01 1.000000000000000000e+00 -2.489042729139328003e-01 6.753556132316589355e-01 4.529488682746887207e-01 1.000000000000000000e+00 -2.452133744955062866e-01 6.710495948791503906e-01 4.469204246997833252e-01 1.000000000000000000e+00 -2.415224909782409668e-01 6.667435765266418457e-01 4.408919513225555420e-01 1.000000000000000000e+00 -2.378316074609756470e-01 6.624374985694885254e-01 4.348635077476501465e-01 1.000000000000000000e+00 -2.341407090425491333e-01 6.581314802169799805e-01 4.288350641727447510e-01 1.000000000000000000e+00 -2.304498255252838135e-01 6.538254618644714355e-01 4.228066205978393555e-01 1.000000000000000000e+00 -2.267589420080184937e-01 6.495194435119628906e-01 4.167781770229339600e-01 1.000000000000000000e+00 -2.230680435895919800e-01 6.452133655548095703e-01 4.107497036457061768e-01 1.000000000000000000e+00 -2.193771600723266602e-01 6.409073472023010254e-01 4.047212600708007812e-01 1.000000000000000000e+00 -2.156862765550613403e-01 6.366013288497924805e-01 3.986928164958953857e-01 1.000000000000000000e+00 -2.119953930377960205e-01 6.322952508926391602e-01 3.926643729209899902e-01 1.000000000000000000e+00 -2.083044946193695068e-01 6.279892325401306152e-01 3.866358995437622070e-01 1.000000000000000000e+00 -2.046136111021041870e-01 6.236832141876220703e-01 3.806074559688568115e-01 1.000000000000000000e+00 -2.009227275848388672e-01 6.193771362304687500e-01 3.745790123939514160e-01 1.000000000000000000e+00 -1.972318291664123535e-01 6.150711178779602051e-01 3.685505688190460205e-01 1.000000000000000000e+00 -1.935409456491470337e-01 6.107650995254516602e-01 3.625220954418182373e-01 1.000000000000000000e+00 -1.898500621318817139e-01 6.064590811729431152e-01 3.564936518669128418e-01 1.000000000000000000e+00 -1.861591637134552002e-01 6.021530032157897949e-01 3.504652082920074463e-01 1.000000000000000000e+00 -1.824682801961898804e-01 5.978469848632812500e-01 3.444367647171020508e-01 1.000000000000000000e+00 -1.787773966789245605e-01 5.935409665107727051e-01 3.384082913398742676e-01 1.000000000000000000e+00 -1.750864982604980469e-01 5.892348885536193848e-01 3.323798477649688721e-01 1.000000000000000000e+00 -1.713956147432327271e-01 5.849288702011108398e-01 3.263514041900634766e-01 1.000000000000000000e+00 -1.677047312259674072e-01 5.806228518486022949e-01 3.203229606151580811e-01 1.000000000000000000e+00 -1.640138477087020874e-01 5.763167738914489746e-01 3.142944872379302979e-01 1.000000000000000000e+00 -1.603229492902755737e-01 5.720107555389404297e-01 3.082660436630249023e-01 1.000000000000000000e+00 -1.566320657730102539e-01 5.677047371864318848e-01 3.022376000881195068e-01 1.000000000000000000e+00 -1.529411822557449341e-01 5.633987188339233398e-01 2.962091565132141113e-01 1.000000000000000000e+00 -1.492502838373184204e-01 5.590926408767700195e-01 2.901807129383087158e-01 1.000000000000000000e+00 -1.455594003200531006e-01 5.547866225242614746e-01 2.841522395610809326e-01 1.000000000000000000e+00 -1.418685168027877808e-01 5.504806041717529297e-01 2.781237959861755371e-01 1.000000000000000000e+00 -1.381776183843612671e-01 5.461745262145996094e-01 2.720953524112701416e-01 1.000000000000000000e+00 -1.340253800153732300e-01 5.423298478126525879e-01 2.682814300060272217e-01 1.000000000000000000e+00 -1.297193318605422974e-01 5.386390089988708496e-01 2.652056813240051270e-01 1.000000000000000000e+00 -1.254132986068725586e-01 5.349481105804443359e-01 2.621299624443054199e-01 1.000000000000000000e+00 -1.211072653532028198e-01 5.312572121620178223e-01 2.590542137622833252e-01 1.000000000000000000e+00 -1.168012320995330811e-01 5.275663137435913086e-01 2.559784650802612305e-01 1.000000000000000000e+00 -1.124951913952827454e-01 5.238754153251647949e-01 2.529027163982391357e-01 1.000000000000000000e+00 -1.081891581416130066e-01 5.201845169067382812e-01 2.498269826173782349e-01 1.000000000000000000e+00 -1.038831248879432678e-01 5.164936780929565430e-01 2.467512488365173340e-01 1.000000000000000000e+00 -9.957708418369293213e-02 5.128027796745300293e-01 2.436755150556564331e-01 1.000000000000000000e+00 -9.527105093002319336e-02 5.091118812561035156e-01 2.405997663736343384e-01 1.000000000000000000e+00 -9.096501022577285767e-02 5.054209828376770020e-01 2.375240325927734375e-01 1.000000000000000000e+00 -8.665897697210311890e-02 5.017300844192504883e-01 2.344482839107513428e-01 1.000000000000000000e+00 -8.235294371843338013e-02 4.980392158031463623e-01 2.313725501298904419e-01 1.000000000000000000e+00 -7.804690301418304443e-02 4.943483173847198486e-01 2.282968163490295410e-01 1.000000000000000000e+00 -7.374086976051330566e-02 4.906574487686157227e-01 2.252210676670074463e-01 1.000000000000000000e+00 -6.943482905626296997e-02 4.869665503501892090e-01 2.221453338861465454e-01 1.000000000000000000e+00 -6.512879580259323120e-02 4.832756519317626953e-01 2.190695852041244507e-01 1.000000000000000000e+00 -6.082275882363319397e-02 4.795847833156585693e-01 2.159938514232635498e-01 1.000000000000000000e+00 -5.651672556996345520e-02 4.758938848972320557e-01 2.129181027412414551e-01 1.000000000000000000e+00 -5.221068859100341797e-02 4.722029864788055420e-01 2.098423689603805542e-01 1.000000000000000000e+00 -4.790465161204338074e-02 4.685121178627014160e-01 2.067666351795196533e-01 1.000000000000000000e+00 -4.359861463308334351e-02 4.648212194442749023e-01 2.036908864974975586e-01 1.000000000000000000e+00 -3.929258137941360474e-02 4.611303210258483887e-01 2.006151527166366577e-01 1.000000000000000000e+00 -3.498654440045356750e-02 4.574394524097442627e-01 1.975394040346145630e-01 1.000000000000000000e+00 -3.068050742149353027e-02 4.537485539913177490e-01 1.944636702537536621e-01 1.000000000000000000e+00 -2.637447044253349304e-02 4.500576555728912354e-01 1.913879215717315674e-01 1.000000000000000000e+00 -2.206843532621860504e-02 4.463667869567871094e-01 1.883121877908706665e-01 1.000000000000000000e+00 -1.776239834725856781e-02 4.426758885383605957e-01 1.852364540100097656e-01 1.000000000000000000e+00 -1.345636323094367981e-02 4.389850199222564697e-01 1.821607053279876709e-01 1.000000000000000000e+00 -9.150327183306217194e-03 4.352941215038299561e-01 1.790849715471267700e-01 1.000000000000000000e+00 -4.844290670007467270e-03 4.316032230854034424e-01 1.760092228651046753e-01 1.000000000000000000e+00 -5.382545059546828270e-04 4.279123544692993164e-01 1.729334890842437744e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.230372905731201172e-01 1.707189530134201050e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.179930686950683594e-01 1.686274558305740356e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.129488766193389893e-01 1.665359437465667725e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.079046547412872314e-01 1.644444465637207031e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.028604328632354736e-01 1.623529344797134399e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.978162109851837158e-01 1.602614372968673706e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.927720189094543457e-01 1.581699401140213013e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.877277970314025879e-01 1.560784280300140381e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.826835751533508301e-01 1.539869308471679688e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.776393830776214600e-01 1.518954187631607056e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.725951611995697021e-01 1.498039215803146362e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.675509393215179443e-01 1.477124243974685669e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.625067174434661865e-01 1.456209123134613037e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.574625253677368164e-01 1.435294151306152344e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.524183034896850586e-01 1.414379030466079712e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.473740816116333008e-01 1.393464058637619019e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.423298597335815430e-01 1.372549086809158325e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.372856676578521729e-01 1.351633965969085693e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.322414457798004150e-01 1.330718994140625000e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.271972239017486572e-01 1.309803873300552368e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.221530318260192871e-01 1.288888901472091675e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.171088099479675293e-01 1.267973929643630981e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.120645880699157715e-01 1.247058808803558350e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.070203661918640137e-01 1.226143762469291687e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.019761741161346436e-01 1.205228790640830994e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.969319522380828857e-01 1.184313744306564331e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.918877303600311279e-01 1.163398697972297668e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.868435084819793701e-01 1.142483651638031006e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.817993164062500000e-01 1.121568605303764343e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.767550945281982422e-01 1.100653558969497681e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.717108726501464844e-01 1.079738587141036987e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.666666805744171143e-01 1.058823540806770325e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/BuPu b/fastplotlib/utils/colormaps/BuPu deleted file mode 100644 index bfdac03b4..000000000 --- a/fastplotlib/utils/colormaps/BuPu +++ /dev/null @@ -1,256 +0,0 @@ -9.686274528503417969e-01 9.882352948188781738e-01 9.921568632125854492e-01 1.000000000000000000e+00 -9.657977819442749023e-01 9.862667918205261230e-01 9.910495877265930176e-01 1.000000000000000000e+00 -9.629681110382080078e-01 9.842983484268188477e-01 9.899423122406005859e-01 1.000000000000000000e+00 -9.601383805274963379e-01 9.823298454284667969e-01 9.888350367546081543e-01 1.000000000000000000e+00 -9.573087096214294434e-01 9.803614020347595215e-01 9.877278208732604980e-01 1.000000000000000000e+00 -9.544790387153625488e-01 9.783928990364074707e-01 9.866205453872680664e-01 1.000000000000000000e+00 -9.516493678092956543e-01 9.764244556427001953e-01 9.855132699012756348e-01 1.000000000000000000e+00 -9.488196969032287598e-01 9.744559526443481445e-01 9.844059944152832031e-01 1.000000000000000000e+00 -9.459900259971618652e-01 9.724875092506408691e-01 9.832987189292907715e-01 1.000000000000000000e+00 -9.431602954864501953e-01 9.705190062522888184e-01 9.821914434432983398e-01 1.000000000000000000e+00 -9.403306245803833008e-01 9.685505628585815430e-01 9.810842275619506836e-01 1.000000000000000000e+00 -9.375009536743164062e-01 9.665820598602294922e-01 9.799769520759582520e-01 1.000000000000000000e+00 -9.346712827682495117e-01 9.646136164665222168e-01 9.788696765899658203e-01 1.000000000000000000e+00 -9.318416118621826172e-01 9.626451134681701660e-01 9.777624011039733887e-01 1.000000000000000000e+00 -9.290119409561157227e-01 9.606766700744628906e-01 9.766551256179809570e-01 1.000000000000000000e+00 -9.261822104454040527e-01 9.587081670761108398e-01 9.755478501319885254e-01 1.000000000000000000e+00 -9.233525395393371582e-01 9.567397236824035645e-01 9.744405746459960938e-01 1.000000000000000000e+00 -9.205228686332702637e-01 9.547712206840515137e-01 9.733333587646484375e-01 1.000000000000000000e+00 -9.176931977272033691e-01 9.528027772903442383e-01 9.722260832786560059e-01 1.000000000000000000e+00 -9.148635268211364746e-01 9.508342742919921875e-01 9.711188077926635742e-01 1.000000000000000000e+00 -9.120338559150695801e-01 9.488658308982849121e-01 9.700115323066711426e-01 1.000000000000000000e+00 -9.092041254043579102e-01 9.468973278999328613e-01 9.689042568206787109e-01 1.000000000000000000e+00 -9.063744544982910156e-01 9.449288845062255859e-01 9.677969813346862793e-01 1.000000000000000000e+00 -9.035447835922241211e-01 9.429603815078735352e-01 9.666897058486938477e-01 1.000000000000000000e+00 -9.007151126861572266e-01 9.409919381141662598e-01 9.655824899673461914e-01 1.000000000000000000e+00 -8.978854417800903320e-01 9.390234351158142090e-01 9.644752144813537598e-01 1.000000000000000000e+00 -8.950557708740234375e-01 9.370549917221069336e-01 9.633679389953613281e-01 1.000000000000000000e+00 -8.922260403633117676e-01 9.350864887237548828e-01 9.622606635093688965e-01 1.000000000000000000e+00 -8.893963694572448730e-01 9.331180453300476074e-01 9.611533880233764648e-01 1.000000000000000000e+00 -8.865666985511779785e-01 9.311495423316955566e-01 9.600461125373840332e-01 1.000000000000000000e+00 -8.837370276451110840e-01 9.291810989379882812e-01 9.589388966560363770e-01 1.000000000000000000e+00 -8.809073567390441895e-01 9.272125959396362305e-01 9.578316211700439453e-01 1.000000000000000000e+00 -8.779238462448120117e-01 9.251057505607604980e-01 9.566474556922912598e-01 1.000000000000000000e+00 -8.738638758659362793e-01 9.220299720764160156e-01 9.549250006675720215e-01 1.000000000000000000e+00 -8.698039054870605469e-01 9.189542531967163086e-01 9.532026052474975586e-01 1.000000000000000000e+00 -8.657439351081848145e-01 9.158785343170166016e-01 9.514802098274230957e-01 1.000000000000000000e+00 -8.616839647293090820e-01 9.128027558326721191e-01 9.497578144073486328e-01 1.000000000000000000e+00 -8.576239943504333496e-01 9.097270369529724121e-01 9.480353593826293945e-01 1.000000000000000000e+00 -8.535640239715576172e-01 9.066512584686279297e-01 9.463129639625549316e-01 1.000000000000000000e+00 -8.495040535926818848e-01 9.035755395889282227e-01 9.445905685424804688e-01 1.000000000000000000e+00 -8.454440832138061523e-01 9.004998207092285156e-01 9.428681135177612305e-01 1.000000000000000000e+00 -8.413841128349304199e-01 8.974240422248840332e-01 9.411457180976867676e-01 1.000000000000000000e+00 -8.373240828514099121e-01 8.943483233451843262e-01 9.394233226776123047e-01 1.000000000000000000e+00 -8.332641124725341797e-01 8.912726044654846191e-01 9.377008676528930664e-01 1.000000000000000000e+00 -8.292041420936584473e-01 8.881968259811401367e-01 9.359784722328186035e-01 1.000000000000000000e+00 -8.251441717147827148e-01 8.851211071014404297e-01 9.342560768127441406e-01 1.000000000000000000e+00 -8.210842013359069824e-01 8.820453882217407227e-01 9.325336217880249023e-01 1.000000000000000000e+00 -8.170242309570312500e-01 8.789696097373962402e-01 9.308112263679504395e-01 1.000000000000000000e+00 -8.129642605781555176e-01 8.758938908576965332e-01 9.290888309478759766e-01 1.000000000000000000e+00 -8.089042901992797852e-01 8.728181719779968262e-01 9.273663759231567383e-01 1.000000000000000000e+00 -8.048443198204040527e-01 8.697423934936523438e-01 9.256439805030822754e-01 1.000000000000000000e+00 -8.007842898368835449e-01 8.666666746139526367e-01 9.239215850830078125e-01 1.000000000000000000e+00 -7.967243194580078125e-01 8.635909557342529297e-01 9.221991300582885742e-01 1.000000000000000000e+00 -7.926643490791320801e-01 8.605151772499084473e-01 9.204767346382141113e-01 1.000000000000000000e+00 -7.886043787002563477e-01 8.574394583702087402e-01 9.187543392181396484e-01 1.000000000000000000e+00 -7.845444083213806152e-01 8.543636798858642578e-01 9.170318841934204102e-01 1.000000000000000000e+00 -7.804844379425048828e-01 8.512879610061645508e-01 9.153094887733459473e-01 1.000000000000000000e+00 -7.764244675636291504e-01 8.482122421264648438e-01 9.135870933532714844e-01 1.000000000000000000e+00 -7.723644971847534180e-01 8.451364636421203613e-01 9.118646383285522461e-01 1.000000000000000000e+00 -7.683045268058776855e-01 8.420607447624206543e-01 9.101422429084777832e-01 1.000000000000000000e+00 -7.642444968223571777e-01 8.389850258827209473e-01 9.084198474884033203e-01 1.000000000000000000e+00 -7.601845264434814453e-01 8.359092473983764648e-01 9.066974520683288574e-01 1.000000000000000000e+00 -7.561245560646057129e-01 8.328335285186767578e-01 9.049749970436096191e-01 1.000000000000000000e+00 -7.520645856857299805e-01 8.297578096389770508e-01 9.032526016235351562e-01 1.000000000000000000e+00 -7.480046153068542480e-01 8.267435431480407715e-01 9.015917181968688965e-01 1.000000000000000000e+00 -7.439446449279785156e-01 8.239138722419738770e-01 9.001153111457824707e-01 1.000000000000000000e+00 -7.398846745491027832e-01 8.210842013359069824e-01 8.986389636993408203e-01 1.000000000000000000e+00 -7.358247041702270508e-01 8.182545304298400879e-01 8.971626162528991699e-01 1.000000000000000000e+00 -7.317647337913513184e-01 8.154248595237731934e-01 8.956862688064575195e-01 1.000000000000000000e+00 -7.277047038078308105e-01 8.125951290130615234e-01 8.942099213600158691e-01 1.000000000000000000e+00 -7.236447334289550781e-01 8.097654581069946289e-01 8.927335739135742188e-01 1.000000000000000000e+00 -7.195847630500793457e-01 8.069357872009277344e-01 8.912572264671325684e-01 1.000000000000000000e+00 -7.155247926712036133e-01 8.041061162948608398e-01 8.897808790206909180e-01 1.000000000000000000e+00 -7.114648222923278809e-01 8.012764453887939453e-01 8.883044719696044922e-01 1.000000000000000000e+00 -7.074048519134521484e-01 7.984467744827270508e-01 8.868281245231628418e-01 1.000000000000000000e+00 -7.033448815345764160e-01 7.956170439720153809e-01 8.853517770767211914e-01 1.000000000000000000e+00 -6.992849111557006836e-01 7.927873730659484863e-01 8.838754296302795410e-01 1.000000000000000000e+00 -6.952249407768249512e-01 7.899577021598815918e-01 8.823990821838378906e-01 1.000000000000000000e+00 -6.911649107933044434e-01 7.871280312538146973e-01 8.809227347373962402e-01 1.000000000000000000e+00 -6.871049404144287109e-01 7.842983603477478027e-01 8.794463872909545898e-01 1.000000000000000000e+00 -6.830449700355529785e-01 7.814686894416809082e-01 8.779700398445129395e-01 1.000000000000000000e+00 -6.789849996566772461e-01 7.786389589309692383e-01 8.764936327934265137e-01 1.000000000000000000e+00 -6.749250292778015137e-01 7.758092880249023438e-01 8.750172853469848633e-01 1.000000000000000000e+00 -6.708650588989257812e-01 7.729796171188354492e-01 8.735409379005432129e-01 1.000000000000000000e+00 -6.668050885200500488e-01 7.701499462127685547e-01 8.720645904541015625e-01 1.000000000000000000e+00 -6.627451181411743164e-01 7.673202753067016602e-01 8.705882430076599121e-01 1.000000000000000000e+00 -6.586851477622985840e-01 7.644906044006347656e-01 8.691118955612182617e-01 1.000000000000000000e+00 -6.546251177787780762e-01 7.616608738899230957e-01 8.676355481147766113e-01 1.000000000000000000e+00 -6.505651473999023438e-01 7.588312029838562012e-01 8.661591410636901855e-01 1.000000000000000000e+00 -6.465051770210266113e-01 7.560015320777893066e-01 8.646827936172485352e-01 1.000000000000000000e+00 -6.424452066421508789e-01 7.531718611717224121e-01 8.632064461708068848e-01 1.000000000000000000e+00 -6.383852362632751465e-01 7.503421902656555176e-01 8.617300987243652344e-01 1.000000000000000000e+00 -6.343252658843994141e-01 7.475125193595886230e-01 8.602537512779235840e-01 1.000000000000000000e+00 -6.302652955055236816e-01 7.446827888488769531e-01 8.587774038314819336e-01 1.000000000000000000e+00 -6.262053251266479492e-01 7.418531179428100586e-01 8.573010563850402832e-01 1.000000000000000000e+00 -6.221453547477722168e-01 7.390234470367431641e-01 8.558247089385986328e-01 1.000000000000000000e+00 -6.187773942947387695e-01 7.355017066001892090e-01 8.539792299270629883e-01 1.000000000000000000e+00 -6.165628433227539062e-01 7.308266162872314453e-01 8.515186309814453125e-01 1.000000000000000000e+00 -6.143483519554138184e-01 7.261514663696289062e-01 8.490580320358276367e-01 1.000000000000000000e+00 -6.121338009834289551e-01 7.214763760566711426e-01 8.465974330902099609e-01 1.000000000000000000e+00 -6.099192500114440918e-01 7.168012261390686035e-01 8.441368937492370605e-01 1.000000000000000000e+00 -6.077047586441040039e-01 7.121260762214660645e-01 8.416762948036193848e-01 1.000000000000000000e+00 -6.054902076721191406e-01 7.074509859085083008e-01 8.392156958580017090e-01 1.000000000000000000e+00 -6.032756567001342773e-01 7.027758359909057617e-01 8.367550969123840332e-01 1.000000000000000000e+00 -6.010611057281494141e-01 6.981007456779479980e-01 8.342944979667663574e-01 1.000000000000000000e+00 -5.988466143608093262e-01 6.934255957603454590e-01 8.318338990211486816e-01 1.000000000000000000e+00 -5.966320633888244629e-01 6.887505054473876953e-01 8.293733000755310059e-01 1.000000000000000000e+00 -5.944175124168395996e-01 6.840753555297851562e-01 8.269127011299133301e-01 1.000000000000000000e+00 -5.922030210494995117e-01 6.794002056121826172e-01 8.244521617889404297e-01 1.000000000000000000e+00 -5.899884700775146484e-01 6.747251152992248535e-01 8.219915628433227539e-01 1.000000000000000000e+00 -5.877739191055297852e-01 6.700499653816223145e-01 8.195309638977050781e-01 1.000000000000000000e+00 -5.855594277381896973e-01 6.653748750686645508e-01 8.170703649520874023e-01 1.000000000000000000e+00 -5.833448767662048340e-01 6.606997251510620117e-01 8.146097660064697266e-01 1.000000000000000000e+00 -5.811303257942199707e-01 6.560246348381042480e-01 8.121491670608520508e-01 1.000000000000000000e+00 -5.789157748222351074e-01 6.513494849205017090e-01 8.096885681152343750e-01 1.000000000000000000e+00 -5.767012834548950195e-01 6.466743350028991699e-01 8.072279691696166992e-01 1.000000000000000000e+00 -5.744867324829101562e-01 6.419992446899414062e-01 8.047673702239990234e-01 1.000000000000000000e+00 -5.722721815109252930e-01 6.373240947723388672e-01 8.023068308830261230e-01 1.000000000000000000e+00 -5.700576901435852051e-01 6.326490044593811035e-01 7.998462319374084473e-01 1.000000000000000000e+00 -5.678431391716003418e-01 6.279738545417785645e-01 7.973856329917907715e-01 1.000000000000000000e+00 -5.656285881996154785e-01 6.232987046241760254e-01 7.949250340461730957e-01 1.000000000000000000e+00 -5.634140968322753906e-01 6.186236143112182617e-01 7.924644351005554199e-01 1.000000000000000000e+00 -5.611995458602905273e-01 6.139484643936157227e-01 7.900038361549377441e-01 1.000000000000000000e+00 -5.589849948883056641e-01 6.092733740806579590e-01 7.875432372093200684e-01 1.000000000000000000e+00 -5.567704439163208008e-01 6.045982241630554199e-01 7.850826382637023926e-01 1.000000000000000000e+00 -5.545559525489807129e-01 5.999231338500976562e-01 7.826220393180847168e-01 1.000000000000000000e+00 -5.523414015769958496e-01 5.952479839324951172e-01 7.801614999771118164e-01 1.000000000000000000e+00 -5.501268506050109863e-01 5.905728340148925781e-01 7.777009010314941406e-01 1.000000000000000000e+00 -5.490196347236633301e-01 5.855901837348937988e-01 7.751787900924682617e-01 1.000000000000000000e+00 -5.490196347236633301e-01 5.802999138832092285e-01 7.725951671600341797e-01 1.000000000000000000e+00 -5.490196347236633301e-01 5.750095844268798828e-01 7.700115442276000977e-01 1.000000000000000000e+00 -5.490196347236633301e-01 5.697193145751953125e-01 7.674279212951660156e-01 1.000000000000000000e+00 -5.490196347236633301e-01 5.644290447235107422e-01 7.648442983627319336e-01 1.000000000000000000e+00 -5.490196347236633301e-01 5.591387748718261719e-01 7.622606754302978516e-01 1.000000000000000000e+00 -5.490196347236633301e-01 5.538485050201416016e-01 7.596770524978637695e-01 1.000000000000000000e+00 -5.490196347236633301e-01 5.485582351684570312e-01 7.570934295654296875e-01 1.000000000000000000e+00 -5.490196347236633301e-01 5.432679653167724609e-01 7.545098066329956055e-01 1.000000000000000000e+00 -5.490196347236633301e-01 5.379776954650878906e-01 7.519261837005615234e-01 1.000000000000000000e+00 -5.490196347236633301e-01 5.326874256134033203e-01 7.493425607681274414e-01 1.000000000000000000e+00 -5.490196347236633301e-01 5.273971557617187500e-01 7.467589378356933594e-01 1.000000000000000000e+00 -5.490196347236633301e-01 5.221068859100341797e-01 7.441753149032592773e-01 1.000000000000000000e+00 -5.490196347236633301e-01 5.168166160583496094e-01 7.415916919708251953e-01 1.000000000000000000e+00 -5.490196347236633301e-01 5.115263462066650391e-01 7.390080690383911133e-01 1.000000000000000000e+00 -5.490196347236633301e-01 5.062360763549804688e-01 7.364244461059570312e-01 1.000000000000000000e+00 -5.490196347236633301e-01 5.009458065032958984e-01 7.338408231735229492e-01 1.000000000000000000e+00 -5.490196347236633301e-01 4.956555068492889404e-01 7.312572002410888672e-01 1.000000000000000000e+00 -5.490196347236633301e-01 4.903652369976043701e-01 7.286735773086547852e-01 1.000000000000000000e+00 -5.490196347236633301e-01 4.850749671459197998e-01 7.260899543762207031e-01 1.000000000000000000e+00 -5.490196347236633301e-01 4.797846972942352295e-01 7.235063314437866211e-01 1.000000000000000000e+00 -5.490196347236633301e-01 4.744944274425506592e-01 7.209227085113525391e-01 1.000000000000000000e+00 -5.490196347236633301e-01 4.692041575908660889e-01 7.183390855789184570e-01 1.000000000000000000e+00 -5.490196347236633301e-01 4.639138877391815186e-01 7.157554626464843750e-01 1.000000000000000000e+00 -5.490196347236633301e-01 4.586236178874969482e-01 7.131718397140502930e-01 1.000000000000000000e+00 -5.490196347236633301e-01 4.533333480358123779e-01 7.105882167816162109e-01 1.000000000000000000e+00 -5.490196347236633301e-01 4.480430483818054199e-01 7.080045938491821289e-01 1.000000000000000000e+00 -5.490196347236633301e-01 4.427527785301208496e-01 7.054209709167480469e-01 1.000000000000000000e+00 -5.490196347236633301e-01 4.374625086784362793e-01 7.028373479843139648e-01 1.000000000000000000e+00 -5.490196347236633301e-01 4.321722388267517090e-01 7.002537250518798828e-01 1.000000000000000000e+00 -5.490196347236633301e-01 4.268819689750671387e-01 6.976701021194458008e-01 1.000000000000000000e+00 -5.490196347236633301e-01 4.215916991233825684e-01 6.950864791870117188e-01 1.000000000000000000e+00 -5.487120151519775391e-01 4.163783192634582520e-01 6.925798058509826660e-01 1.000000000000000000e+00 -5.482199192047119141e-01 4.112110733985900879e-01 6.901192069053649902e-01 1.000000000000000000e+00 -5.477278232574462891e-01 4.060438275337219238e-01 6.876586079597473145e-01 1.000000000000000000e+00 -5.472356677055358887e-01 4.008765816688537598e-01 6.851980090141296387e-01 1.000000000000000000e+00 -5.467435717582702637e-01 3.957093358039855957e-01 6.827374100685119629e-01 1.000000000000000000e+00 -5.462514162063598633e-01 3.905420899391174316e-01 6.802768111228942871e-01 1.000000000000000000e+00 -5.457593202590942383e-01 3.853748440742492676e-01 6.778162121772766113e-01 1.000000000000000000e+00 -5.452672243118286133e-01 3.802075982093811035e-01 6.753556132316589355e-01 1.000000000000000000e+00 -5.447750687599182129e-01 3.750403821468353271e-01 6.728950142860412598e-01 1.000000000000000000e+00 -5.442829728126525879e-01 3.698731362819671631e-01 6.704344749450683594e-01 1.000000000000000000e+00 -5.437908768653869629e-01 3.647058904170989990e-01 6.679738759994506836e-01 1.000000000000000000e+00 -5.432987213134765625e-01 3.595386445522308350e-01 6.655132770538330078e-01 1.000000000000000000e+00 -5.428066253662109375e-01 3.543713986873626709e-01 6.630526781082153320e-01 1.000000000000000000e+00 -5.423144698143005371e-01 3.492041528224945068e-01 6.605920791625976562e-01 1.000000000000000000e+00 -5.418223738670349121e-01 3.440369069576263428e-01 6.581314802169799805e-01 1.000000000000000000e+00 -5.413302779197692871e-01 3.388696610927581787e-01 6.556708812713623047e-01 1.000000000000000000e+00 -5.408381223678588867e-01 3.337024152278900146e-01 6.532102823257446289e-01 1.000000000000000000e+00 -5.403460264205932617e-01 3.285351693630218506e-01 6.507496833801269531e-01 1.000000000000000000e+00 -5.398539304733276367e-01 3.233679234981536865e-01 6.482891440391540527e-01 1.000000000000000000e+00 -5.393617749214172363e-01 3.182006776332855225e-01 6.458285450935363770e-01 1.000000000000000000e+00 -5.388696789741516113e-01 3.130334615707397461e-01 6.433679461479187012e-01 1.000000000000000000e+00 -5.383775234222412109e-01 3.078662157058715820e-01 6.409073472023010254e-01 1.000000000000000000e+00 -5.378854274749755859e-01 3.026989698410034180e-01 6.384467482566833496e-01 1.000000000000000000e+00 -5.373933315277099609e-01 2.975317239761352539e-01 6.359861493110656738e-01 1.000000000000000000e+00 -5.369011759757995605e-01 2.923644781112670898e-01 6.335255503654479980e-01 1.000000000000000000e+00 -5.364090800285339355e-01 2.871972322463989258e-01 6.310649514198303223e-01 1.000000000000000000e+00 -5.359169840812683105e-01 2.820299863815307617e-01 6.286044120788574219e-01 1.000000000000000000e+00 -5.354248285293579102e-01 2.768627405166625977e-01 6.261438131332397461e-01 1.000000000000000000e+00 -5.349327325820922852e-01 2.716954946517944336e-01 6.236832141876220703e-01 1.000000000000000000e+00 -5.344405770301818848e-01 2.665282487869262695e-01 6.212226152420043945e-01 1.000000000000000000e+00 -5.339484810829162598e-01 2.613610029220581055e-01 6.187620162963867188e-01 1.000000000000000000e+00 -5.334563851356506348e-01 2.561937570571899414e-01 6.163014173507690430e-01 1.000000000000000000e+00 -5.326874256134033203e-01 2.502883374691009521e-01 6.126412749290466309e-01 1.000000000000000000e+00 -5.318261981010437012e-01 2.441368699073791504e-01 6.085813045501708984e-01 1.000000000000000000e+00 -5.309650301933288574e-01 2.379853874444961548e-01 6.045213341712951660e-01 1.000000000000000000e+00 -5.301038026809692383e-01 2.318339049816131592e-01 6.004613637924194336e-01 1.000000000000000000e+00 -5.292425751686096191e-01 2.256824225187301636e-01 5.964013934135437012e-01 1.000000000000000000e+00 -5.283814072608947754e-01 2.195309549570083618e-01 5.923414230346679688e-01 1.000000000000000000e+00 -5.275201797485351562e-01 2.133794724941253662e-01 5.882814526557922363e-01 1.000000000000000000e+00 -5.266589522361755371e-01 2.072279900312423706e-01 5.842214822769165039e-01 1.000000000000000000e+00 -5.257977843284606934e-01 2.010765075683593750e-01 5.801614522933959961e-01 1.000000000000000000e+00 -5.249365568161010742e-01 1.949250251054763794e-01 5.761014819145202637e-01 1.000000000000000000e+00 -5.240753293037414551e-01 1.887735426425933838e-01 5.720415115356445312e-01 1.000000000000000000e+00 -5.232141613960266113e-01 1.826220750808715820e-01 5.679815411567687988e-01 1.000000000000000000e+00 -5.223529338836669922e-01 1.764705926179885864e-01 5.639215707778930664e-01 1.000000000000000000e+00 -5.214917063713073730e-01 1.703191101551055908e-01 5.598616003990173340e-01 1.000000000000000000e+00 -5.206305384635925293e-01 1.641676276922225952e-01 5.558016300201416016e-01 1.000000000000000000e+00 -5.197693109512329102e-01 1.580161452293395996e-01 5.517416596412658691e-01 1.000000000000000000e+00 -5.189080834388732910e-01 1.518646627664566040e-01 5.476816892623901367e-01 1.000000000000000000e+00 -5.180469155311584473e-01 1.457131803035736084e-01 5.436216592788696289e-01 1.000000000000000000e+00 -5.171856880187988281e-01 1.395617127418518066e-01 5.395616888999938965e-01 1.000000000000000000e+00 -5.163245201110839844e-01 1.334102302789688110e-01 5.355017185211181641e-01 1.000000000000000000e+00 -5.154632925987243652e-01 1.272587478160858154e-01 5.314417481422424316e-01 1.000000000000000000e+00 -5.146020650863647461e-01 1.211072653532028198e-01 5.273817777633666992e-01 1.000000000000000000e+00 -5.137408971786499023e-01 1.149557828903198242e-01 5.233218073844909668e-01 1.000000000000000000e+00 -5.128796696662902832e-01 1.088043078780174255e-01 5.192618370056152344e-01 1.000000000000000000e+00 -5.120184421539306641e-01 1.026528254151344299e-01 5.152018666267395020e-01 1.000000000000000000e+00 -5.111572742462158203e-01 9.650134295225143433e-02 5.111418962478637695e-01 1.000000000000000000e+00 -5.102960467338562012e-01 9.034986793994903564e-02 5.070818662643432617e-01 1.000000000000000000e+00 -5.094348192214965820e-01 8.419838547706604004e-02 5.030218958854675293e-01 1.000000000000000000e+00 -5.085736513137817383e-01 7.804690301418304443e-02 4.989619255065917969e-01 1.000000000000000000e+00 -5.077124238014221191e-01 7.189542800188064575e-02 4.949019551277160645e-01 1.000000000000000000e+00 -5.068511962890625000e-01 6.574394553899765015e-02 4.908419847488403320e-01 1.000000000000000000e+00 -5.059900283813476562e-01 5.959246307611465454e-02 4.867820143699645996e-01 1.000000000000000000e+00 -5.002844929695129395e-01 5.720876529812812805e-02 4.809996187686920166e-01 1.000000000000000000e+00 -4.938869774341583252e-01 5.536332353949546814e-02 4.749711751937866211e-01 1.000000000000000000e+00 -4.874894320964813232e-01 5.351787805557250977e-02 4.689427018165588379e-01 1.000000000000000000e+00 -4.810918867588043213e-01 5.167243257164955139e-02 4.629142582416534424e-01 1.000000000000000000e+00 -4.746943414211273193e-01 4.982699081301689148e-02 4.568858146667480469e-01 1.000000000000000000e+00 -4.682967960834503174e-01 4.798154532909393311e-02 4.508573710918426514e-01 1.000000000000000000e+00 -4.618992805480957031e-01 4.613609984517097473e-02 4.448288977146148682e-01 1.000000000000000000e+00 -4.555017352104187012e-01 4.429065808653831482e-02 4.388004541397094727e-01 1.000000000000000000e+00 -4.491041898727416992e-01 4.244521260261535645e-02 4.327720105648040771e-01 1.000000000000000000e+00 -4.427066445350646973e-01 4.059977084398269653e-02 4.267435669898986816e-01 1.000000000000000000e+00 -4.363090991973876953e-01 3.875432536005973816e-02 4.207151234149932861e-01 1.000000000000000000e+00 -4.299115836620330811e-01 3.690887987613677979e-02 4.146866500377655029e-01 1.000000000000000000e+00 -4.235140383243560791e-01 3.506343811750411987e-02 4.086582064628601074e-01 1.000000000000000000e+00 -4.171164929866790771e-01 3.321799263358116150e-02 4.026297628879547119e-01 1.000000000000000000e+00 -4.107189476490020752e-01 3.137255087494850159e-02 3.966013193130493164e-01 1.000000000000000000e+00 -4.043214023113250732e-01 2.952710539102554321e-02 3.905728459358215332e-01 1.000000000000000000e+00 -3.979238867759704590e-01 2.768166176974773407e-02 3.845444023609161377e-01 1.000000000000000000e+00 -3.915263414382934570e-01 2.583621628582477570e-02 3.785159587860107422e-01 1.000000000000000000e+00 -3.851287961006164551e-01 2.399077266454696655e-02 3.724875152111053467e-01 1.000000000000000000e+00 -3.787312507629394531e-01 2.214532904326915741e-02 3.664590418338775635e-01 1.000000000000000000e+00 -3.723337054252624512e-01 2.029988542199134827e-02 3.604305982589721680e-01 1.000000000000000000e+00 -3.659361898899078369e-01 1.845443993806838989e-02 3.544021546840667725e-01 1.000000000000000000e+00 -3.595386445522308350e-01 1.660899631679058075e-02 3.483737111091613770e-01 1.000000000000000000e+00 -3.531410992145538330e-01 1.476355269551277161e-02 3.423452377319335938e-01 1.000000000000000000e+00 -3.467435538768768311e-01 1.291810814291238785e-02 3.363167941570281982e-01 1.000000000000000000e+00 -3.403460085391998291e-01 1.107266452163457870e-02 3.302883505821228027e-01 1.000000000000000000e+00 -3.339484930038452148e-01 9.227219969034194946e-03 3.242599070072174072e-01 1.000000000000000000e+00 -3.275509476661682129e-01 7.381776347756385803e-03 3.182314634323120117e-01 1.000000000000000000e+00 -3.211534023284912109e-01 5.536332260817289352e-03 3.122029900550842285e-01 1.000000000000000000e+00 -3.147558569908142090e-01 3.690888173878192902e-03 3.061745464801788330e-01 1.000000000000000000e+00 -3.083583116531372070e-01 1.845444086939096451e-03 3.001461029052734375e-01 1.000000000000000000e+00 -3.019607961177825928e-01 0.000000000000000000e+00 2.941176593303680420e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/CMRmap b/fastplotlib/utils/colormaps/CMRmap deleted file mode 100644 index a5fb9dac1..000000000 --- a/fastplotlib/utils/colormaps/CMRmap +++ /dev/null @@ -1,256 +0,0 @@ -0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.705882165580987930e-03 4.705882165580987930e-03 1.568627543747425079e-02 1.000000000000000000e+00 -9.411764331161975861e-03 9.411764331161975861e-03 3.137255087494850159e-02 1.000000000000000000e+00 -1.411764696240425110e-02 1.411764696240425110e-02 4.705882444977760315e-02 1.000000000000000000e+00 -1.882352866232395172e-02 1.882352866232395172e-02 6.274510174989700317e-02 1.000000000000000000e+00 -2.352941222488880157e-02 2.352941222488880157e-02 7.843137532472610474e-02 1.000000000000000000e+00 -2.823529392480850220e-02 2.823529392480850220e-02 9.411764889955520630e-02 1.000000000000000000e+00 -3.294117748737335205e-02 3.294117748737335205e-02 1.098039224743843079e-01 1.000000000000000000e+00 -3.764705732464790344e-02 3.764705732464790344e-02 1.254902034997940063e-01 1.000000000000000000e+00 -4.235294088721275330e-02 4.235294088721275330e-02 1.411764770746231079e-01 1.000000000000000000e+00 -4.705882444977760315e-02 4.705882444977760315e-02 1.568627506494522095e-01 1.000000000000000000e+00 -5.176470428705215454e-02 5.176470428705215454e-02 1.725490242242813110e-01 1.000000000000000000e+00 -5.647058784961700439e-02 5.647058784961700439e-02 1.882352977991104126e-01 1.000000000000000000e+00 -6.117647141218185425e-02 6.117647141218185425e-02 2.039215713739395142e-01 1.000000000000000000e+00 -6.588235497474670410e-02 6.588235497474670410e-02 2.196078449487686157e-01 1.000000000000000000e+00 -7.058823853731155396e-02 7.058823853731155396e-02 2.352941185235977173e-01 1.000000000000000000e+00 -7.529411464929580688e-02 7.529411464929580688e-02 2.509804069995880127e-01 1.000000000000000000e+00 -7.999999821186065674e-02 7.999999821186065674e-02 2.666666805744171143e-01 1.000000000000000000e+00 -8.470588177442550659e-02 8.470588177442550659e-02 2.823529541492462158e-01 1.000000000000000000e+00 -8.941176533699035645e-02 8.941176533699035645e-02 2.980392277240753174e-01 1.000000000000000000e+00 -9.411764889955520630e-02 9.411764889955520630e-02 3.137255012989044189e-01 1.000000000000000000e+00 -9.882353246212005615e-02 9.882353246212005615e-02 3.294117748737335205e-01 1.000000000000000000e+00 -1.035294085741043091e-01 1.035294085741043091e-01 3.450980484485626221e-01 1.000000000000000000e+00 -1.082352921366691589e-01 1.082352921366691589e-01 3.607843220233917236e-01 1.000000000000000000e+00 -1.129411756992340088e-01 1.129411756992340088e-01 3.764705955982208252e-01 1.000000000000000000e+00 -1.176470592617988586e-01 1.176470592617988586e-01 3.921568691730499268e-01 1.000000000000000000e+00 -1.223529428243637085e-01 1.223529428243637085e-01 4.078431427478790283e-01 1.000000000000000000e+00 -1.270588189363479614e-01 1.270588189363479614e-01 4.235294163227081299e-01 1.000000000000000000e+00 -1.317647099494934082e-01 1.317647099494934082e-01 4.392156898975372314e-01 1.000000000000000000e+00 -1.364705860614776611e-01 1.364705860614776611e-01 4.549019634723663330e-01 1.000000000000000000e+00 -1.411764770746231079e-01 1.411764770746231079e-01 4.705882370471954346e-01 1.000000000000000000e+00 -1.458823531866073608e-01 1.458823531866073608e-01 4.862745106220245361e-01 1.000000000000000000e+00 -1.505882292985916138e-01 1.500000059604644775e-01 5.009803771972656250e-01 1.000000000000000000e+00 -1.552941203117370605e-01 1.500000059604644775e-01 5.088235139846801758e-01 1.000000000000000000e+00 -1.599999964237213135e-01 1.500000059604644775e-01 5.166666507720947266e-01 1.000000000000000000e+00 -1.647058874368667603e-01 1.500000059604644775e-01 5.245097875595092773e-01 1.000000000000000000e+00 -1.694117635488510132e-01 1.500000059604644775e-01 5.323529243469238281e-01 1.000000000000000000e+00 -1.741176396608352661e-01 1.500000059604644775e-01 5.401960611343383789e-01 1.000000000000000000e+00 -1.788235306739807129e-01 1.500000059604644775e-01 5.480391979217529297e-01 1.000000000000000000e+00 -1.835294067859649658e-01 1.500000059604644775e-01 5.558823347091674805e-01 1.000000000000000000e+00 -1.882352977991104126e-01 1.500000059604644775e-01 5.637254714965820312e-01 1.000000000000000000e+00 -1.929411739110946655e-01 1.500000059604644775e-01 5.715686082839965820e-01 1.000000000000000000e+00 -1.976470649242401123e-01 1.500000059604644775e-01 5.794117450714111328e-01 1.000000000000000000e+00 -2.023529410362243652e-01 1.500000059604644775e-01 5.872548818588256836e-01 1.000000000000000000e+00 -2.070588171482086182e-01 1.500000059604644775e-01 5.950980186462402344e-01 1.000000000000000000e+00 -2.117647081613540649e-01 1.500000059604644775e-01 6.029411554336547852e-01 1.000000000000000000e+00 -2.164705842733383179e-01 1.500000059604644775e-01 6.107842922210693359e-01 1.000000000000000000e+00 -2.211764752864837646e-01 1.500000059604644775e-01 6.186274290084838867e-01 1.000000000000000000e+00 -2.258823513984680176e-01 1.500000059604644775e-01 6.264705657958984375e-01 1.000000000000000000e+00 -2.305882424116134644e-01 1.500000059604644775e-01 6.343137025833129883e-01 1.000000000000000000e+00 -2.352941185235977173e-01 1.500000059604644775e-01 6.421568393707275391e-01 1.000000000000000000e+00 -2.399999946355819702e-01 1.500000059604644775e-01 6.499999761581420898e-01 1.000000000000000000e+00 -2.447058856487274170e-01 1.500000059604644775e-01 6.578431129455566406e-01 1.000000000000000000e+00 -2.494117617607116699e-01 1.500000059604644775e-01 6.656862497329711914e-01 1.000000000000000000e+00 -2.541176378726959229e-01 1.500000059604644775e-01 6.735293865203857422e-01 1.000000000000000000e+00 -2.588235437870025635e-01 1.500000059604644775e-01 6.813725233078002930e-01 1.000000000000000000e+00 -2.635294198989868164e-01 1.500000059604644775e-01 6.892156600952148438e-01 1.000000000000000000e+00 -2.682352960109710693e-01 1.500000059604644775e-01 6.970587968826293945e-01 1.000000000000000000e+00 -2.729411721229553223e-01 1.500000059604644775e-01 7.049019336700439453e-01 1.000000000000000000e+00 -2.776470482349395752e-01 1.500000059604644775e-01 7.127450704574584961e-01 1.000000000000000000e+00 -2.823529541492462158e-01 1.500000059604644775e-01 7.205882072448730469e-01 1.000000000000000000e+00 -2.870588302612304688e-01 1.500000059604644775e-01 7.284313440322875977e-01 1.000000000000000000e+00 -2.917647063732147217e-01 1.500000059604644775e-01 7.362744808197021484e-01 1.000000000000000000e+00 -2.964705824851989746e-01 1.500000059604644775e-01 7.441176176071166992e-01 1.000000000000000000e+00 -3.023529350757598877e-01 1.503921598196029663e-01 7.480391860008239746e-01 1.000000000000000000e+00 -3.117647171020507812e-01 1.519607901573181152e-01 7.401960492134094238e-01 1.000000000000000000e+00 -3.211764693260192871e-01 1.535294055938720703e-01 7.323529124259948730e-01 1.000000000000000000e+00 -3.305882215499877930e-01 1.550980359315872192e-01 7.245097756385803223e-01 1.000000000000000000e+00 -3.400000035762786865e-01 1.566666662693023682e-01 7.166666388511657715e-01 1.000000000000000000e+00 -3.494117558002471924e-01 1.582352966070175171e-01 7.088235020637512207e-01 1.000000000000000000e+00 -3.588235378265380859e-01 1.598039269447326660e-01 7.009803652763366699e-01 1.000000000000000000e+00 -3.682352900505065918e-01 1.613725423812866211e-01 6.931372284889221191e-01 1.000000000000000000e+00 -3.776470720767974854e-01 1.629411727190017700e-01 6.852940917015075684e-01 1.000000000000000000e+00 -3.870588243007659912e-01 1.645098030567169189e-01 6.774509549140930176e-01 1.000000000000000000e+00 -3.964705765247344971e-01 1.660784333944320679e-01 6.696078181266784668e-01 1.000000000000000000e+00 -4.058823585510253906e-01 1.676470637321472168e-01 6.617646813392639160e-01 1.000000000000000000e+00 -4.152941107749938965e-01 1.692156791687011719e-01 6.539215445518493652e-01 1.000000000000000000e+00 -4.247058928012847900e-01 1.707843095064163208e-01 6.460784077644348145e-01 1.000000000000000000e+00 -4.341176450252532959e-01 1.723529398441314697e-01 6.382352709770202637e-01 1.000000000000000000e+00 -4.435293972492218018e-01 1.739215701818466187e-01 6.303921341896057129e-01 1.000000000000000000e+00 -4.529411792755126953e-01 1.754902005195617676e-01 6.225489974021911621e-01 1.000000000000000000e+00 -4.623529314994812012e-01 1.770588308572769165e-01 6.147058606147766113e-01 1.000000000000000000e+00 -4.717647135257720947e-01 1.786274462938308716e-01 6.068627238273620605e-01 1.000000000000000000e+00 -4.811764657497406006e-01 1.801960766315460205e-01 5.990195870399475098e-01 1.000000000000000000e+00 -4.905882477760314941e-01 1.817647069692611694e-01 5.911764502525329590e-01 1.000000000000000000e+00 -5.000000000000000000e-01 1.833333373069763184e-01 5.833333134651184082e-01 1.000000000000000000e+00 -5.094117522239685059e-01 1.849019676446914673e-01 5.754901766777038574e-01 1.000000000000000000e+00 -5.188235044479370117e-01 1.864705830812454224e-01 5.676470398902893066e-01 1.000000000000000000e+00 -5.282353162765502930e-01 1.880392134189605713e-01 5.598039031028747559e-01 1.000000000000000000e+00 -5.376470685005187988e-01 1.896078437566757202e-01 5.519607663154602051e-01 1.000000000000000000e+00 -5.470588207244873047e-01 1.911764740943908691e-01 5.441176295280456543e-01 1.000000000000000000e+00 -5.564705729484558105e-01 1.927451044321060181e-01 5.362744927406311035e-01 1.000000000000000000e+00 -5.658823251724243164e-01 1.943137198686599731e-01 5.284313559532165527e-01 1.000000000000000000e+00 -5.752941370010375977e-01 1.958823502063751221e-01 5.205882191658020020e-01 1.000000000000000000e+00 -5.847058892250061035e-01 1.974509805440902710e-01 5.127450823783874512e-01 1.000000000000000000e+00 -5.941176414489746094e-01 1.990196108818054199e-01 5.049019455909729004e-01 1.000000000000000000e+00 -6.047058701515197754e-01 2.005882412195205688e-01 4.958823621273040771e-01 1.000000000000000000e+00 -6.172549128532409668e-01 2.021568566560745239e-01 4.849019646644592285e-01 1.000000000000000000e+00 -6.298038959503173828e-01 2.037254869937896729e-01 4.739215672016143799e-01 1.000000000000000000e+00 -6.423529386520385742e-01 2.052941173315048218e-01 4.629411697387695312e-01 1.000000000000000000e+00 -6.549019813537597656e-01 2.068627476692199707e-01 4.519607722759246826e-01 1.000000000000000000e+00 -6.674509644508361816e-01 2.084313780069351196e-01 4.409804046154022217e-01 1.000000000000000000e+00 -6.800000071525573730e-01 2.099999934434890747e-01 4.300000071525573730e-01 1.000000000000000000e+00 -6.925489902496337891e-01 2.115686237812042236e-01 4.190196096897125244e-01 1.000000000000000000e+00 -7.050980329513549805e-01 2.131372541189193726e-01 4.080392122268676758e-01 1.000000000000000000e+00 -7.176470756530761719e-01 2.147058844566345215e-01 3.970588147640228271e-01 1.000000000000000000e+00 -7.301960587501525879e-01 2.162745147943496704e-01 3.860784173011779785e-01 1.000000000000000000e+00 -7.427451014518737793e-01 2.178431302309036255e-01 3.750980496406555176e-01 1.000000000000000000e+00 -7.552941441535949707e-01 2.194117605686187744e-01 3.641176521778106689e-01 1.000000000000000000e+00 -7.678431272506713867e-01 2.209803909063339233e-01 3.531372547149658203e-01 1.000000000000000000e+00 -7.803921699523925781e-01 2.225490212440490723e-01 3.421568572521209717e-01 1.000000000000000000e+00 -7.929411530494689941e-01 2.241176515817642212e-01 3.311764597892761230e-01 1.000000000000000000e+00 -8.054901957511901855e-01 2.256862819194793701e-01 3.201960921287536621e-01 1.000000000000000000e+00 -8.180392384529113770e-01 2.272548973560333252e-01 3.092156946659088135e-01 1.000000000000000000e+00 -8.305882215499877930e-01 2.288235276937484741e-01 2.982352972030639648e-01 1.000000000000000000e+00 -8.431372642517089844e-01 2.303921580314636230e-01 2.872548997402191162e-01 1.000000000000000000e+00 -8.556862473487854004e-01 2.319607883691787720e-01 2.762745022773742676e-01 1.000000000000000000e+00 -8.682352900505065918e-01 2.335294187068939209e-01 2.652941048145294189e-01 1.000000000000000000e+00 -8.807843327522277832e-01 2.350980341434478760e-01 2.543137371540069580e-01 1.000000000000000000e+00 -8.933333158493041992e-01 2.366666644811630249e-01 2.433333396911621094e-01 1.000000000000000000e+00 -9.058823585510253906e-01 2.382352948188781738e-01 2.323529422283172607e-01 1.000000000000000000e+00 -9.184314012527465820e-01 2.398039251565933228e-01 2.213725447654724121e-01 1.000000000000000000e+00 -9.309803843498229980e-01 2.413725554943084717e-01 2.103921622037887573e-01 1.000000000000000000e+00 -9.435294270515441895e-01 2.429411709308624268e-01 1.994117647409439087e-01 1.000000000000000000e+00 -9.560784101486206055e-01 2.445098012685775757e-01 1.884313672780990601e-01 1.000000000000000000e+00 -9.686274528503417969e-01 2.460784316062927246e-01 1.774509847164154053e-01 1.000000000000000000e+00 -9.811764955520629883e-01 2.476470619440078735e-01 1.664705872535705566e-01 1.000000000000000000e+00 -9.937254786491394043e-01 2.492156922817230225e-01 1.554901897907257080e-01 1.000000000000000000e+00 -9.984313845634460449e-01 2.539215683937072754e-01 1.476470530033111572e-01 1.000000000000000000e+00 -9.952940940856933594e-01 2.617647051811218262e-01 1.429411768913269043e-01 1.000000000000000000e+00 -9.921568632125854492e-01 2.696078419685363770e-01 1.382353007793426514e-01 1.000000000000000000e+00 -9.890196323394775391e-01 2.774509787559509277e-01 1.335294097661972046e-01 1.000000000000000000e+00 -9.858823418617248535e-01 2.852941155433654785e-01 1.288235336542129517e-01 1.000000000000000000e+00 -9.827451109886169434e-01 2.931372523307800293e-01 1.241176500916481018e-01 1.000000000000000000e+00 -9.796078205108642578e-01 3.009803891181945801e-01 1.194117665290832520e-01 1.000000000000000000e+00 -9.764705896377563477e-01 3.088235259056091309e-01 1.147058829665184021e-01 1.000000000000000000e+00 -9.733333587646484375e-01 3.166666626930236816e-01 1.099999994039535522e-01 1.000000000000000000e+00 -9.701960682868957520e-01 3.245097994804382324e-01 1.052941158413887024e-01 1.000000000000000000e+00 -9.670588374137878418e-01 3.323529362678527832e-01 1.005882322788238525e-01 1.000000000000000000e+00 -9.639215469360351562e-01 3.401960730552673340e-01 9.588235616683959961e-02 1.000000000000000000e+00 -9.607843160629272461e-01 3.480392098426818848e-01 9.117647260427474976e-02 1.000000000000000000e+00 -9.576470851898193359e-01 3.558823466300964355e-01 8.647058904170989990e-02 1.000000000000000000e+00 -9.545097947120666504e-01 3.637254834175109863e-01 8.176470547914505005e-02 1.000000000000000000e+00 -9.513725638389587402e-01 3.715686202049255371e-01 7.705882191658020020e-02 1.000000000000000000e+00 -9.482352733612060547e-01 3.794117569923400879e-01 7.235293835401535034e-02 1.000000000000000000e+00 -9.450980424880981445e-01 3.872548937797546387e-01 6.764706224203109741e-02 1.000000000000000000e+00 -9.419608116149902344e-01 3.950980305671691895e-01 6.294117867946624756e-02 1.000000000000000000e+00 -9.388235211372375488e-01 4.029411673545837402e-01 5.823529511690139771e-02 1.000000000000000000e+00 -9.356862902641296387e-01 4.107843041419982910e-01 5.352941155433654785e-02 1.000000000000000000e+00 -9.325489997863769531e-01 4.186274409294128418e-01 4.882352799177169800e-02 1.000000000000000000e+00 -9.294117689132690430e-01 4.264705777168273926e-01 4.411764815449714661e-02 1.000000000000000000e+00 -9.262745380401611328e-01 4.343137145042419434e-01 3.941176459193229675e-02 1.000000000000000000e+00 -9.231372475624084473e-01 4.421568512916564941e-01 3.470588102936744690e-02 1.000000000000000000e+00 -9.200000166893005371e-01 4.499999880790710449e-01 2.999999932944774628e-02 1.000000000000000000e+00 -9.168627262115478516e-01 4.578431248664855957e-01 2.529411762952804565e-02 1.000000000000000000e+00 -9.137254953384399414e-01 4.656862616539001465e-01 2.058823592960834503e-02 1.000000000000000000e+00 -9.105882644653320312e-01 4.735293984413146973e-01 1.588235236704349518e-02 1.000000000000000000e+00 -9.074509739875793457e-01 4.813725352287292480e-01 1.117647066712379456e-02 1.000000000000000000e+00 -9.043137431144714355e-01 4.892156720161437988e-01 6.470588035881519318e-03 1.000000000000000000e+00 -9.011764526367187500e-01 4.970588088035583496e-01 1.764705870300531387e-03 1.000000000000000000e+00 -8.999999761581420898e-01 5.049019455909729004e-01 1.960784429684281349e-03 1.000000000000000000e+00 -8.999999761581420898e-01 5.127450823783874512e-01 5.098039284348487854e-03 1.000000000000000000e+00 -8.999999761581420898e-01 5.205882191658020020e-01 8.235294371843338013e-03 1.000000000000000000e+00 -8.999999761581420898e-01 5.284313559532165527e-01 1.137254945933818817e-02 1.000000000000000000e+00 -8.999999761581420898e-01 5.362744927406311035e-01 1.450980361551046371e-02 1.000000000000000000e+00 -8.999999761581420898e-01 5.441176295280456543e-01 1.764705963432788849e-02 1.000000000000000000e+00 -8.999999761581420898e-01 5.519607663154602051e-01 2.078431285917758942e-02 1.000000000000000000e+00 -8.999999761581420898e-01 5.598039031028747559e-01 2.392156794667243958e-02 1.000000000000000000e+00 -8.999999761581420898e-01 5.676470398902893066e-01 2.705882303416728973e-02 1.000000000000000000e+00 -8.999999761581420898e-01 5.754901766777038574e-01 3.019607812166213989e-02 1.000000000000000000e+00 -8.999999761581420898e-01 5.833333134651184082e-01 3.333333507180213928e-02 1.000000000000000000e+00 -8.999999761581420898e-01 5.911764502525329590e-01 3.647058829665184021e-02 1.000000000000000000e+00 -8.999999761581420898e-01 5.990195870399475098e-01 3.960784152150154114e-02 1.000000000000000000e+00 -8.999999761581420898e-01 6.068627238273620605e-01 4.274509847164154053e-02 1.000000000000000000e+00 -8.999999761581420898e-01 6.147058606147766113e-01 4.588235169649124146e-02 1.000000000000000000e+00 -8.999999761581420898e-01 6.225489974021911621e-01 4.901960864663124084e-02 1.000000000000000000e+00 -8.999999761581420898e-01 6.303921341896057129e-01 5.215686187148094177e-02 1.000000000000000000e+00 -8.999999761581420898e-01 6.382352709770202637e-01 5.529411882162094116e-02 1.000000000000000000e+00 -8.999999761581420898e-01 6.460784077644348145e-01 5.843137204647064209e-02 1.000000000000000000e+00 -8.999999761581420898e-01 6.539215445518493652e-01 6.156862899661064148e-02 1.000000000000000000e+00 -8.999999761581420898e-01 6.617646813392639160e-01 6.470588594675064087e-02 1.000000000000000000e+00 -8.999999761581420898e-01 6.696078181266784668e-01 6.784313917160034180e-02 1.000000000000000000e+00 -8.999999761581420898e-01 6.774509549140930176e-01 7.098039239645004272e-02 1.000000000000000000e+00 -8.999999761581420898e-01 6.852940917015075684e-01 7.411764562129974365e-02 1.000000000000000000e+00 -8.999999761581420898e-01 6.931372284889221191e-01 7.725489884614944458e-02 1.000000000000000000e+00 -8.999999761581420898e-01 7.009803652763366699e-01 8.039215952157974243e-02 1.000000000000000000e+00 -8.999999761581420898e-01 7.088235020637512207e-01 8.352941274642944336e-02 1.000000000000000000e+00 -8.999999761581420898e-01 7.166666388511657715e-01 8.666666597127914429e-02 1.000000000000000000e+00 -8.999999761581420898e-01 7.245097756385803223e-01 8.980391919612884521e-02 1.000000000000000000e+00 -8.999999761581420898e-01 7.323529124259948730e-01 9.294117987155914307e-02 1.000000000000000000e+00 -8.999999761581420898e-01 7.401960492134094238e-01 9.607843309640884399e-02 1.000000000000000000e+00 -8.999999761581420898e-01 7.480391860008239746e-01 9.921568632125854492e-02 1.000000000000000000e+00 -8.999999761581420898e-01 7.535294294357299805e-01 1.094117611646652222e-01 1.000000000000000000e+00 -8.999999761581420898e-01 7.582352757453918457e-01 1.219607815146446228e-01 1.000000000000000000e+00 -8.999999761581420898e-01 7.629411816596984863e-01 1.345098018646240234e-01 1.000000000000000000e+00 -8.999999761581420898e-01 7.676470875740051270e-01 1.470588296651840210e-01 1.000000000000000000e+00 -8.999999761581420898e-01 7.723529338836669922e-01 1.596078425645828247e-01 1.000000000000000000e+00 -8.999999761581420898e-01 7.770588397979736328e-01 1.721568554639816284e-01 1.000000000000000000e+00 -8.999999761581420898e-01 7.817646861076354980e-01 1.847058832645416260e-01 1.000000000000000000e+00 -8.999999761581420898e-01 7.864705920219421387e-01 1.972548961639404297e-01 1.000000000000000000e+00 -8.999999761581420898e-01 7.911764979362487793e-01 2.098039239645004272e-01 1.000000000000000000e+00 -8.999999761581420898e-01 7.958823442459106445e-01 2.223529368638992310e-01 1.000000000000000000e+00 -8.999999761581420898e-01 8.005882501602172852e-01 2.349019646644592285e-01 1.000000000000000000e+00 -8.999999761581420898e-01 8.052940964698791504e-01 2.474509775638580322e-01 1.000000000000000000e+00 -8.999999761581420898e-01 8.100000023841857910e-01 2.599999904632568359e-01 1.000000000000000000e+00 -8.999999761581420898e-01 8.147059082984924316e-01 2.725490331649780273e-01 1.000000000000000000e+00 -8.999999761581420898e-01 8.194117546081542969e-01 2.850980460643768311e-01 1.000000000000000000e+00 -8.999999761581420898e-01 8.241176605224609375e-01 2.976470589637756348e-01 1.000000000000000000e+00 -8.999999761581420898e-01 8.288235068321228027e-01 3.101960718631744385e-01 1.000000000000000000e+00 -8.999999761581420898e-01 8.335294127464294434e-01 3.227450847625732422e-01 1.000000000000000000e+00 -8.999999761581420898e-01 8.382353186607360840e-01 3.352941274642944336e-01 1.000000000000000000e+00 -8.999999761581420898e-01 8.429411649703979492e-01 3.478431403636932373e-01 1.000000000000000000e+00 -8.999999761581420898e-01 8.476470708847045898e-01 3.603921532630920410e-01 1.000000000000000000e+00 -8.999999761581420898e-01 8.523529171943664551e-01 3.729411661624908447e-01 1.000000000000000000e+00 -8.999999761581420898e-01 8.570588231086730957e-01 3.854902088642120361e-01 1.000000000000000000e+00 -8.999999761581420898e-01 8.617647290229797363e-01 3.980392217636108398e-01 1.000000000000000000e+00 -8.999999761581420898e-01 8.664705753326416016e-01 4.105882346630096436e-01 1.000000000000000000e+00 -8.999999761581420898e-01 8.711764812469482422e-01 4.231372475624084473e-01 1.000000000000000000e+00 -8.999999761581420898e-01 8.758823275566101074e-01 4.356862604618072510e-01 1.000000000000000000e+00 -8.999999761581420898e-01 8.805882334709167480e-01 4.482353031635284424e-01 1.000000000000000000e+00 -8.999999761581420898e-01 8.852941393852233887e-01 4.607843160629272461e-01 1.000000000000000000e+00 -8.999999761581420898e-01 8.899999856948852539e-01 4.733333289623260498e-01 1.000000000000000000e+00 -8.999999761581420898e-01 8.947058916091918945e-01 4.858823418617248535e-01 1.000000000000000000e+00 -8.999999761581420898e-01 8.994117379188537598e-01 4.984313845634460449e-01 1.000000000000000000e+00 -9.027451276779174805e-01 9.027451276779174805e-01 5.137255191802978516e-01 1.000000000000000000e+00 -9.058823585510253906e-01 9.058823585510253906e-01 5.294117927551269531e-01 1.000000000000000000e+00 -9.090195894241333008e-01 9.090195894241333008e-01 5.450980663299560547e-01 1.000000000000000000e+00 -9.121568799018859863e-01 9.121568799018859863e-01 5.607843399047851562e-01 1.000000000000000000e+00 -9.152941107749938965e-01 9.152941107749938965e-01 5.764706134796142578e-01 1.000000000000000000e+00 -9.184314012527465820e-01 9.184314012527465820e-01 5.921568870544433594e-01 1.000000000000000000e+00 -9.215686321258544922e-01 9.215686321258544922e-01 6.078431606292724609e-01 1.000000000000000000e+00 -9.247058629989624023e-01 9.247058629989624023e-01 6.235294342041015625e-01 1.000000000000000000e+00 -9.278431534767150879e-01 9.278431534767150879e-01 6.392157077789306641e-01 1.000000000000000000e+00 -9.309803843498229980e-01 9.309803843498229980e-01 6.549019813537597656e-01 1.000000000000000000e+00 -9.341176748275756836e-01 9.341176748275756836e-01 6.705882549285888672e-01 1.000000000000000000e+00 -9.372549057006835938e-01 9.372549057006835938e-01 6.862745285034179688e-01 1.000000000000000000e+00 -9.403921365737915039e-01 9.403921365737915039e-01 7.019608020782470703e-01 1.000000000000000000e+00 -9.435294270515441895e-01 9.435294270515441895e-01 7.176470756530761719e-01 1.000000000000000000e+00 -9.466666579246520996e-01 9.466666579246520996e-01 7.333333492279052734e-01 1.000000000000000000e+00 -9.498039484024047852e-01 9.498039484024047852e-01 7.490196228027343750e-01 1.000000000000000000e+00 -9.529411792755126953e-01 9.529411792755126953e-01 7.647058963775634766e-01 1.000000000000000000e+00 -9.560784101486206055e-01 9.560784101486206055e-01 7.803921699523925781e-01 1.000000000000000000e+00 -9.592157006263732910e-01 9.592157006263732910e-01 7.960784435272216797e-01 1.000000000000000000e+00 -9.623529314994812012e-01 9.623529314994812012e-01 8.117647171020507812e-01 1.000000000000000000e+00 -9.654902219772338867e-01 9.654902219772338867e-01 8.274509906768798828e-01 1.000000000000000000e+00 -9.686274528503417969e-01 9.686274528503417969e-01 8.431372642517089844e-01 1.000000000000000000e+00 -9.717646837234497070e-01 9.717646837234497070e-01 8.588235378265380859e-01 1.000000000000000000e+00 -9.749019742012023926e-01 9.749019742012023926e-01 8.745098114013671875e-01 1.000000000000000000e+00 -9.780392050743103027e-01 9.780392050743103027e-01 8.901960849761962891e-01 1.000000000000000000e+00 -9.811764955520629883e-01 9.811764955520629883e-01 9.058823585510253906e-01 1.000000000000000000e+00 -9.843137264251708984e-01 9.843137264251708984e-01 9.215686321258544922e-01 1.000000000000000000e+00 -9.874509572982788086e-01 9.874509572982788086e-01 9.372549057006835938e-01 1.000000000000000000e+00 -9.905882477760314941e-01 9.905882477760314941e-01 9.529411792755126953e-01 1.000000000000000000e+00 -9.937254786491394043e-01 9.937254786491394043e-01 9.686274528503417969e-01 1.000000000000000000e+00 -9.968627691268920898e-01 9.968627691268920898e-01 9.843137264251708984e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/Dark2 b/fastplotlib/utils/colormaps/Dark2 deleted file mode 100644 index 08f686764..000000000 --- a/fastplotlib/utils/colormaps/Dark2 +++ /dev/null @@ -1,8 +0,0 @@ -1.058823540806770325e-01 6.196078658103942871e-01 4.666666686534881592e-01 1.000000000000000000e+00 -8.509804010391235352e-01 3.725490272045135498e-01 7.843137718737125397e-03 1.000000000000000000e+00 -4.588235318660736084e-01 4.392156898975372314e-01 7.019608020782470703e-01 1.000000000000000000e+00 -9.058823585510253906e-01 1.607843190431594849e-01 5.411764979362487793e-01 1.000000000000000000e+00 -4.000000059604644775e-01 6.509804129600524902e-01 1.176470592617988586e-01 1.000000000000000000e+00 -9.019607901573181152e-01 6.705882549285888672e-01 7.843137718737125397e-03 1.000000000000000000e+00 -6.509804129600524902e-01 4.627451002597808838e-01 1.137254908680915833e-01 1.000000000000000000e+00 -4.000000059604644775e-01 4.000000059604644775e-01 4.000000059604644775e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/GnBu b/fastplotlib/utils/colormaps/GnBu deleted file mode 100644 index a1d789dd7..000000000 --- a/fastplotlib/utils/colormaps/GnBu +++ /dev/null @@ -1,256 +0,0 @@ -9.686274528503417969e-01 9.882352948188781738e-01 9.411764740943908691e-01 1.000000000000000000e+00 -9.657977819442749023e-01 9.871280193328857422e-01 9.385928511619567871e-01 1.000000000000000000e+00 -9.629681110382080078e-01 9.860207438468933105e-01 9.360092282295227051e-01 1.000000000000000000e+00 -9.601383805274963379e-01 9.849134683609008789e-01 9.334256052970886230e-01 1.000000000000000000e+00 -9.573087096214294434e-01 9.838062524795532227e-01 9.308419823646545410e-01 1.000000000000000000e+00 -9.544790387153625488e-01 9.826989769935607910e-01 9.282583594322204590e-01 1.000000000000000000e+00 -9.516493678092956543e-01 9.815917015075683594e-01 9.256747364997863770e-01 1.000000000000000000e+00 -9.488196969032287598e-01 9.804844260215759277e-01 9.230911135673522949e-01 1.000000000000000000e+00 -9.459900259971618652e-01 9.793771505355834961e-01 9.205074906349182129e-01 1.000000000000000000e+00 -9.431602954864501953e-01 9.782698750495910645e-01 9.179238677024841309e-01 1.000000000000000000e+00 -9.403306245803833008e-01 9.771626591682434082e-01 9.153402447700500488e-01 1.000000000000000000e+00 -9.375009536743164062e-01 9.760553836822509766e-01 9.127566218376159668e-01 1.000000000000000000e+00 -9.346712827682495117e-01 9.749481081962585449e-01 9.101729989051818848e-01 1.000000000000000000e+00 -9.318416118621826172e-01 9.738408327102661133e-01 9.075893759727478027e-01 1.000000000000000000e+00 -9.290119409561157227e-01 9.727335572242736816e-01 9.050057530403137207e-01 1.000000000000000000e+00 -9.261822104454040527e-01 9.716262817382812500e-01 9.024221301078796387e-01 1.000000000000000000e+00 -9.233525395393371582e-01 9.705190062522888184e-01 8.998385071754455566e-01 1.000000000000000000e+00 -9.205228686332702637e-01 9.694117903709411621e-01 8.972548842430114746e-01 1.000000000000000000e+00 -9.176931977272033691e-01 9.683045148849487305e-01 8.946712613105773926e-01 1.000000000000000000e+00 -9.148635268211364746e-01 9.671972393989562988e-01 8.920876383781433105e-01 1.000000000000000000e+00 -9.120338559150695801e-01 9.660899639129638672e-01 8.895040154457092285e-01 1.000000000000000000e+00 -9.092041254043579102e-01 9.649826884269714355e-01 8.869203925132751465e-01 1.000000000000000000e+00 -9.063744544982910156e-01 9.638754129409790039e-01 8.843367695808410645e-01 1.000000000000000000e+00 -9.035447835922241211e-01 9.627681374549865723e-01 8.817531466484069824e-01 1.000000000000000000e+00 -9.007151126861572266e-01 9.616609215736389160e-01 8.791695237159729004e-01 1.000000000000000000e+00 -8.978854417800903320e-01 9.605536460876464844e-01 8.765859007835388184e-01 1.000000000000000000e+00 -8.950557708740234375e-01 9.594463706016540527e-01 8.740022778511047363e-01 1.000000000000000000e+00 -8.922260403633117676e-01 9.583390951156616211e-01 8.714187145233154297e-01 1.000000000000000000e+00 -8.893963694572448730e-01 9.572318196296691895e-01 8.688350915908813477e-01 1.000000000000000000e+00 -8.865666985511779785e-01 9.561245441436767578e-01 8.662514686584472656e-01 1.000000000000000000e+00 -8.837370276451110840e-01 9.550173282623291016e-01 8.636678457260131836e-01 1.000000000000000000e+00 -8.809073567390441895e-01 9.539100527763366699e-01 8.610842227935791016e-01 1.000000000000000000e+00 -8.781238198280334473e-01 9.528181552886962891e-01 8.584852218627929688e-01 1.000000000000000000e+00 -8.756632208824157715e-01 9.518339037895202637e-01 8.557785749435424805e-01 1.000000000000000000e+00 -8.732026219367980957e-01 9.508496522903442383e-01 8.530718684196472168e-01 1.000000000000000000e+00 -8.707420229911804199e-01 9.498654603958129883e-01 8.503652215003967285e-01 1.000000000000000000e+00 -8.682814240455627441e-01 9.488812088966369629e-01 8.476585745811462402e-01 1.000000000000000000e+00 -8.658208250999450684e-01 9.478969573974609375e-01 8.449519276618957520e-01 1.000000000000000000e+00 -8.633602261543273926e-01 9.469127058982849121e-01 8.422452807426452637e-01 1.000000000000000000e+00 -8.608996272087097168e-01 9.459285140037536621e-01 8.395386338233947754e-01 1.000000000000000000e+00 -8.584390878677368164e-01 9.449442625045776367e-01 8.368319869041442871e-01 1.000000000000000000e+00 -8.559784889221191406e-01 9.439600110054016113e-01 8.341253399848937988e-01 1.000000000000000000e+00 -8.535178899765014648e-01 9.429757595062255859e-01 8.314186930656433105e-01 1.000000000000000000e+00 -8.510572910308837891e-01 9.419915676116943359e-01 8.287120461463928223e-01 1.000000000000000000e+00 -8.485966920852661133e-01 9.410073161125183105e-01 8.260053992271423340e-01 1.000000000000000000e+00 -8.461360931396484375e-01 9.400230646133422852e-01 8.232987523078918457e-01 1.000000000000000000e+00 -8.436754941940307617e-01 9.390388131141662598e-01 8.205921053886413574e-01 1.000000000000000000e+00 -8.412148952484130859e-01 9.380546212196350098e-01 8.178854584693908691e-01 1.000000000000000000e+00 -8.387542963027954102e-01 9.370703697204589844e-01 8.151787519454956055e-01 1.000000000000000000e+00 -8.362937569618225098e-01 9.360861182212829590e-01 8.124721050262451172e-01 1.000000000000000000e+00 -8.338331580162048340e-01 9.351018667221069336e-01 8.097654581069946289e-01 1.000000000000000000e+00 -8.313725590705871582e-01 9.341176748275756836e-01 8.070588111877441406e-01 1.000000000000000000e+00 -8.289119601249694824e-01 9.331334233283996582e-01 8.043521642684936523e-01 1.000000000000000000e+00 -8.264513611793518066e-01 9.321491718292236328e-01 8.016455173492431641e-01 1.000000000000000000e+00 -8.239907622337341309e-01 9.311649203300476074e-01 7.989388704299926758e-01 1.000000000000000000e+00 -8.215301632881164551e-01 9.301807284355163574e-01 7.962322235107421875e-01 1.000000000000000000e+00 -8.190695643424987793e-01 9.291964769363403320e-01 7.935255765914916992e-01 1.000000000000000000e+00 -8.166090250015258789e-01 9.282122254371643066e-01 7.908189296722412109e-01 1.000000000000000000e+00 -8.141484260559082031e-01 9.272279739379882812e-01 7.881122827529907227e-01 1.000000000000000000e+00 -8.116878271102905273e-01 9.262437820434570312e-01 7.854056358337402344e-01 1.000000000000000000e+00 -8.092272281646728516e-01 9.252595305442810059e-01 7.826989889144897461e-01 1.000000000000000000e+00 -8.067666292190551758e-01 9.242752790451049805e-01 7.799922823905944824e-01 1.000000000000000000e+00 -8.043060302734375000e-01 9.232910275459289551e-01 7.772856354713439941e-01 1.000000000000000000e+00 -8.018454313278198242e-01 9.223067760467529297e-01 7.745789885520935059e-01 1.000000000000000000e+00 -7.988927364349365234e-01 9.211380481719970703e-01 7.720568776130676270e-01 1.000000000000000000e+00 -7.944636940956115723e-01 9.194155931472778320e-01 7.700884342193603516e-01 1.000000000000000000e+00 -7.900345921516418457e-01 9.176931977272033691e-01 7.681199312210083008e-01 1.000000000000000000e+00 -7.856055498123168945e-01 9.159708023071289062e-01 7.661514878273010254e-01 1.000000000000000000e+00 -7.811764478683471680e-01 9.142483472824096680e-01 7.641829848289489746e-01 1.000000000000000000e+00 -7.767474055290222168e-01 9.125259518623352051e-01 7.622145414352416992e-01 1.000000000000000000e+00 -7.723183631896972656e-01 9.108035564422607422e-01 7.602460384368896484e-01 1.000000000000000000e+00 -7.678892612457275391e-01 9.090811014175415039e-01 7.582775950431823730e-01 1.000000000000000000e+00 -7.634602189064025879e-01 9.073587059974670410e-01 7.563090920448303223e-01 1.000000000000000000e+00 -7.590311169624328613e-01 9.056363105773925781e-01 7.543406486511230469e-01 1.000000000000000000e+00 -7.546020746231079102e-01 9.039138555526733398e-01 7.523721456527709961e-01 1.000000000000000000e+00 -7.501730322837829590e-01 9.021914601325988770e-01 7.504037022590637207e-01 1.000000000000000000e+00 -7.457439303398132324e-01 9.004690647125244141e-01 7.484351992607116699e-01 1.000000000000000000e+00 -7.413148880004882812e-01 8.987466096878051758e-01 7.464667558670043945e-01 1.000000000000000000e+00 -7.368857860565185547e-01 8.970242142677307129e-01 7.444982528686523438e-01 1.000000000000000000e+00 -7.324567437171936035e-01 8.953018188476562500e-01 7.425298094749450684e-01 1.000000000000000000e+00 -7.280277013778686523e-01 8.935793638229370117e-01 7.405613064765930176e-01 1.000000000000000000e+00 -7.235985994338989258e-01 8.918569684028625488e-01 7.385928630828857422e-01 1.000000000000000000e+00 -7.191695570945739746e-01 8.901345729827880859e-01 7.366243600845336914e-01 1.000000000000000000e+00 -7.147404551506042480e-01 8.884121775627136230e-01 7.346559166908264160e-01 1.000000000000000000e+00 -7.103114128112792969e-01 8.866897225379943848e-01 7.326874136924743652e-01 1.000000000000000000e+00 -7.058823704719543457e-01 8.849673271179199219e-01 7.307189702987670898e-01 1.000000000000000000e+00 -7.014532685279846191e-01 8.832449316978454590e-01 7.287504673004150391e-01 1.000000000000000000e+00 -6.970242261886596680e-01 8.815224766731262207e-01 7.267820239067077637e-01 1.000000000000000000e+00 -6.925951838493347168e-01 8.798000812530517578e-01 7.248135209083557129e-01 1.000000000000000000e+00 -6.881660819053649902e-01 8.780776858329772949e-01 7.228450775146484375e-01 1.000000000000000000e+00 -6.837370395660400391e-01 8.763552308082580566e-01 7.208765745162963867e-01 1.000000000000000000e+00 -6.793079376220703125e-01 8.746328353881835938e-01 7.189081311225891113e-01 1.000000000000000000e+00 -6.748788952827453613e-01 8.729104399681091309e-01 7.169396281242370605e-01 1.000000000000000000e+00 -6.704498529434204102e-01 8.711879849433898926e-01 7.149711847305297852e-01 1.000000000000000000e+00 -6.660207509994506836e-01 8.694655895233154297e-01 7.130026817321777344e-01 1.000000000000000000e+00 -6.615917086601257324e-01 8.677431941032409668e-01 7.110342383384704590e-01 1.000000000000000000e+00 -6.567474007606506348e-01 8.658823370933532715e-01 7.104959487915039062e-01 1.000000000000000000e+00 -6.512110829353332520e-01 8.637908697128295898e-01 7.123414278030395508e-01 1.000000000000000000e+00 -6.456747651100158691e-01 8.616993427276611328e-01 7.141868472099304199e-01 1.000000000000000000e+00 -6.401383876800537109e-01 8.596078157424926758e-01 7.160322666168212891e-01 1.000000000000000000e+00 -6.346020698547363281e-01 8.575163483619689941e-01 7.178777456283569336e-01 1.000000000000000000e+00 -6.290657520294189453e-01 8.554248213768005371e-01 7.197231650352478027e-01 1.000000000000000000e+00 -6.235294342041015625e-01 8.533333539962768555e-01 7.215686440467834473e-01 1.000000000000000000e+00 -6.179930567741394043e-01 8.512418270111083984e-01 7.234140634536743164e-01 1.000000000000000000e+00 -6.124567389488220215e-01 8.491503000259399414e-01 7.252595424652099609e-01 1.000000000000000000e+00 -6.069204211235046387e-01 8.470588326454162598e-01 7.271049618721008301e-01 1.000000000000000000e+00 -6.013841032981872559e-01 8.449673056602478027e-01 7.289503812789916992e-01 1.000000000000000000e+00 -5.958477258682250977e-01 8.428758382797241211e-01 7.307958602905273438e-01 1.000000000000000000e+00 -5.903114080429077148e-01 8.407843112945556641e-01 7.326412796974182129e-01 1.000000000000000000e+00 -5.847750902175903320e-01 8.386927843093872070e-01 7.344867587089538574e-01 1.000000000000000000e+00 -5.792387723922729492e-01 8.366013169288635254e-01 7.363321781158447266e-01 1.000000000000000000e+00 -5.737023949623107910e-01 8.345097899436950684e-01 7.381775975227355957e-01 1.000000000000000000e+00 -5.681660771369934082e-01 8.324183225631713867e-01 7.400230765342712402e-01 1.000000000000000000e+00 -5.626297593116760254e-01 8.303267955780029297e-01 7.418684959411621094e-01 1.000000000000000000e+00 -5.570934414863586426e-01 8.282352685928344727e-01 7.437139749526977539e-01 1.000000000000000000e+00 -5.515570640563964844e-01 8.261438012123107910e-01 7.455593943595886230e-01 1.000000000000000000e+00 -5.460207462310791016e-01 8.240522742271423340e-01 7.474048733711242676e-01 1.000000000000000000e+00 -5.404844284057617188e-01 8.219608068466186523e-01 7.492502927780151367e-01 1.000000000000000000e+00 -5.349481105804443359e-01 8.198692798614501953e-01 7.510957121849060059e-01 1.000000000000000000e+00 -5.294117927551269531e-01 8.177777528762817383e-01 7.529411911964416504e-01 1.000000000000000000e+00 -5.238754153251647949e-01 8.156862854957580566e-01 7.547866106033325195e-01 1.000000000000000000e+00 -5.183390974998474121e-01 8.135947585105895996e-01 7.566320896148681641e-01 1.000000000000000000e+00 -5.128027796745300293e-01 8.115032911300659180e-01 7.584775090217590332e-01 1.000000000000000000e+00 -5.072664618492126465e-01 8.094117641448974609e-01 7.603229284286499023e-01 1.000000000000000000e+00 -5.017300844192504883e-01 8.073202371597290039e-01 7.621684074401855469e-01 1.000000000000000000e+00 -4.961937665939331055e-01 8.052287697792053223e-01 7.640138268470764160e-01 1.000000000000000000e+00 -4.906574487686157227e-01 8.031372427940368652e-01 7.658593058586120605e-01 1.000000000000000000e+00 -4.851211011409759521e-01 8.010457754135131836e-01 7.677047252655029297e-01 1.000000000000000000e+00 -4.795847833156585693e-01 7.984621524810791016e-01 7.695501446723937988e-01 1.000000000000000000e+00 -4.740484356880187988e-01 7.953863739967346191e-01 7.713956236839294434e-01 1.000000000000000000e+00 -4.685121178627014160e-01 7.923106551170349121e-01 7.732410430908203125e-01 1.000000000000000000e+00 -4.629757702350616455e-01 7.892349362373352051e-01 7.750865221023559570e-01 1.000000000000000000e+00 -4.574394524097442627e-01 7.861591577529907227e-01 7.769319415092468262e-01 1.000000000000000000e+00 -4.519031047821044922e-01 7.830834388732910156e-01 7.787774205207824707e-01 1.000000000000000000e+00 -4.463667869567871094e-01 7.800076603889465332e-01 7.806228399276733398e-01 1.000000000000000000e+00 -4.408304393291473389e-01 7.769319415092468262e-01 7.824682593345642090e-01 1.000000000000000000e+00 -4.352941215038299561e-01 7.738562226295471191e-01 7.843137383460998535e-01 1.000000000000000000e+00 -4.297577738761901855e-01 7.707804441452026367e-01 7.861591577529907227e-01 1.000000000000000000e+00 -4.242214560508728027e-01 7.677047252655029297e-01 7.880046367645263672e-01 1.000000000000000000e+00 -4.186851084232330322e-01 7.646290063858032227e-01 7.898500561714172363e-01 1.000000000000000000e+00 -4.131487905979156494e-01 7.615532279014587402e-01 7.916954755783081055e-01 1.000000000000000000e+00 -4.076124429702758789e-01 7.584775090217590332e-01 7.935409545898437500e-01 1.000000000000000000e+00 -4.020761251449584961e-01 7.554017901420593262e-01 7.953863739967346191e-01 1.000000000000000000e+00 -3.965397775173187256e-01 7.523260116577148438e-01 7.972318530082702637e-01 1.000000000000000000e+00 -3.910034596920013428e-01 7.492502927780151367e-01 7.990772724151611328e-01 1.000000000000000000e+00 -3.854671418666839600e-01 7.461745738983154297e-01 8.009227514266967773e-01 1.000000000000000000e+00 -3.799307942390441895e-01 7.430987954139709473e-01 8.027681708335876465e-01 1.000000000000000000e+00 -3.743944764137268066e-01 7.400230765342712402e-01 8.046135902404785156e-01 1.000000000000000000e+00 -3.688581287860870361e-01 7.369473576545715332e-01 8.064590692520141602e-01 1.000000000000000000e+00 -3.633218109607696533e-01 7.338715791702270508e-01 8.083044886589050293e-01 1.000000000000000000e+00 -3.577854633331298828e-01 7.307958602905273438e-01 8.101499676704406738e-01 1.000000000000000000e+00 -3.522491455078125000e-01 7.277200818061828613e-01 8.119953870773315430e-01 1.000000000000000000e+00 -3.467127978801727295e-01 7.246443629264831543e-01 8.138408064842224121e-01 1.000000000000000000e+00 -3.411764800548553467e-01 7.215686440467834473e-01 8.156862854957580566e-01 1.000000000000000000e+00 -3.356401324272155762e-01 7.184928655624389648e-01 8.175317049026489258e-01 1.000000000000000000e+00 -3.301038146018981934e-01 7.154171466827392578e-01 8.193771839141845703e-01 1.000000000000000000e+00 -3.245674669742584229e-01 7.123414278030395508e-01 8.212226033210754395e-01 1.000000000000000000e+00 -3.190311491489410400e-01 7.092656493186950684e-01 8.230680227279663086e-01 1.000000000000000000e+00 -3.134948015213012695e-01 7.061899304389953613e-01 8.249135017395019531e-01 1.000000000000000000e+00 -3.079584836959838867e-01 7.031142115592956543e-01 8.267589211463928223e-01 1.000000000000000000e+00 -3.031910657882690430e-01 6.989619135856628418e-01 8.258362412452697754e-01 1.000000000000000000e+00 -2.988850474357604980e-01 6.941637992858886719e-01 8.232526183128356934e-01 1.000000000000000000e+00 -2.945789992809295654e-01 6.893656253814697266e-01 8.206689953804016113e-01 1.000000000000000000e+00 -2.902729809284210205e-01 6.845674514770507812e-01 8.180853724479675293e-01 1.000000000000000000e+00 -2.859669327735900879e-01 6.797693371772766113e-01 8.155017495155334473e-01 1.000000000000000000e+00 -2.816609144210815430e-01 6.749711632728576660e-01 8.129181265830993652e-01 1.000000000000000000e+00 -2.773548662662506104e-01 6.701729893684387207e-01 8.103345036506652832e-01 1.000000000000000000e+00 -2.730488181114196777e-01 6.653748750686645508e-01 8.077508807182312012e-01 1.000000000000000000e+00 -2.687427997589111328e-01 6.605767011642456055e-01 8.051672577857971191e-01 1.000000000000000000e+00 -2.644367516040802002e-01 6.557785272598266602e-01 8.025836348533630371e-01 1.000000000000000000e+00 -2.601307332515716553e-01 6.509804129600524902e-01 8.000000119209289551e-01 1.000000000000000000e+00 -2.558246850967407227e-01 6.461822390556335449e-01 7.974163889884948730e-01 1.000000000000000000e+00 -2.515186369419097900e-01 6.413840651512145996e-01 7.948327660560607910e-01 1.000000000000000000e+00 -2.472126036882400513e-01 6.365859508514404297e-01 7.922491431236267090e-01 1.000000000000000000e+00 -2.429065704345703125e-01 6.317877769470214844e-01 7.896655201911926270e-01 1.000000000000000000e+00 -2.386005371809005737e-01 6.269896030426025391e-01 7.870818972587585449e-01 1.000000000000000000e+00 -2.342945039272308350e-01 6.221914887428283691e-01 7.844982743263244629e-01 1.000000000000000000e+00 -2.299884706735610962e-01 6.173933148384094238e-01 7.819146513938903809e-01 1.000000000000000000e+00 -2.256824225187301636e-01 6.125951409339904785e-01 7.793310284614562988e-01 1.000000000000000000e+00 -2.213763892650604248e-01 6.077970266342163086e-01 7.767474055290222168e-01 1.000000000000000000e+00 -2.170703560113906860e-01 6.029988527297973633e-01 7.741637825965881348e-01 1.000000000000000000e+00 -2.127643227577209473e-01 5.982006788253784180e-01 7.715801596641540527e-01 1.000000000000000000e+00 -2.084582895040512085e-01 5.934025645256042480e-01 7.689965367317199707e-01 1.000000000000000000e+00 -2.041522562503814697e-01 5.886043906211853027e-01 7.664129137992858887e-01 1.000000000000000000e+00 -1.998462080955505371e-01 5.838062167167663574e-01 7.638292908668518066e-01 1.000000000000000000e+00 -1.955401748418807983e-01 5.790081024169921875e-01 7.612456679344177246e-01 1.000000000000000000e+00 -1.912341415882110596e-01 5.742099285125732422e-01 7.586620450019836426e-01 1.000000000000000000e+00 -1.869281083345413208e-01 5.694117546081542969e-01 7.560784220695495605e-01 1.000000000000000000e+00 -1.826220750808715820e-01 5.646135807037353516e-01 7.534947991371154785e-01 1.000000000000000000e+00 -1.783160269260406494e-01 5.598154664039611816e-01 7.509111762046813965e-01 1.000000000000000000e+00 -1.740099936723709106e-01 5.550172924995422363e-01 7.483275532722473145e-01 1.000000000000000000e+00 -1.697039604187011719e-01 5.502191185951232910e-01 7.457439303398132324e-01 1.000000000000000000e+00 -1.653979271650314331e-01 5.456978082656860352e-01 7.434371113777160645e-01 1.000000000000000000e+00 -1.610918939113616943e-01 5.412687659263610840e-01 7.412226200103759766e-01 1.000000000000000000e+00 -1.567858457565307617e-01 5.368396639823913574e-01 7.390080690383911133e-01 1.000000000000000000e+00 -1.524798125028610229e-01 5.324106216430664062e-01 7.367935180664062500e-01 1.000000000000000000e+00 -1.481737792491912842e-01 5.279815196990966797e-01 7.345790266990661621e-01 1.000000000000000000e+00 -1.438677459955215454e-01 5.235524773597717285e-01 7.323644757270812988e-01 1.000000000000000000e+00 -1.395617127418518066e-01 5.191234350204467773e-01 7.301499247550964355e-01 1.000000000000000000e+00 -1.352556645870208740e-01 5.146943330764770508e-01 7.279354333877563477e-01 1.000000000000000000e+00 -1.309496313333511353e-01 5.102652907371520996e-01 7.257208824157714844e-01 1.000000000000000000e+00 -1.266435980796813965e-01 5.058361887931823730e-01 7.235063314437866211e-01 1.000000000000000000e+00 -1.223375648260116577e-01 5.014071464538574219e-01 7.212918400764465332e-01 1.000000000000000000e+00 -1.180315241217613220e-01 4.969780743122100830e-01 7.190772891044616699e-01 1.000000000000000000e+00 -1.137254908680915833e-01 4.925490319728851318e-01 7.168627381324768066e-01 1.000000000000000000e+00 -1.094194576144218445e-01 4.881199598312377930e-01 7.146481871604919434e-01 1.000000000000000000e+00 -1.051134169101715088e-01 4.836908876895904541e-01 7.124336957931518555e-01 1.000000000000000000e+00 -1.008073836565017700e-01 4.792618155479431152e-01 7.102191448211669922e-01 1.000000000000000000e+00 -9.650134295225143433e-02 4.748327434062957764e-01 7.080045938491821289e-01 1.000000000000000000e+00 -9.219530969858169556e-02 4.704037010669708252e-01 7.057901024818420410e-01 1.000000000000000000e+00 -8.788927644491195679e-02 4.659746289253234863e-01 7.035755515098571777e-01 1.000000000000000000e+00 -8.358323574066162109e-02 4.615455567836761475e-01 7.013610005378723145e-01 1.000000000000000000e+00 -7.927720248699188232e-02 4.571164846420288086e-01 6.991465091705322266e-01 1.000000000000000000e+00 -7.497116178274154663e-02 4.526874423027038574e-01 6.969319581985473633e-01 1.000000000000000000e+00 -7.066512852907180786e-02 4.482583701610565186e-01 6.947174072265625000e-01 1.000000000000000000e+00 -6.635909527540206909e-02 4.438292980194091797e-01 6.925028562545776367e-01 1.000000000000000000e+00 -6.205305829644203186e-02 4.394002258777618408e-01 6.902883648872375488e-01 1.000000000000000000e+00 -5.774702131748199463e-02 4.349711537361145020e-01 6.880738139152526855e-01 1.000000000000000000e+00 -5.344098433852195740e-02 4.305421113967895508e-01 6.858592629432678223e-01 1.000000000000000000e+00 -4.913494735956192017e-02 4.261130392551422119e-01 6.836447715759277344e-01 1.000000000000000000e+00 -4.482891038060188293e-02 4.216839671134948730e-01 6.814302206039428711e-01 1.000000000000000000e+00 -4.052287712693214417e-02 4.172548949718475342e-01 6.792156696319580078e-01 1.000000000000000000e+00 -3.621684014797210693e-02 4.128258228302001953e-01 6.770011782646179199e-01 1.000000000000000000e+00 -3.191080316901206970e-02 4.083967804908752441e-01 6.747866272926330566e-01 1.000000000000000000e+00 -3.137255087494850159e-02 4.035370945930480957e-01 6.698808073997497559e-01 1.000000000000000000e+00 -3.137255087494850159e-02 3.986159265041351318e-01 6.645905375480651855e-01 1.000000000000000000e+00 -3.137255087494850159e-02 3.936947286128997803e-01 6.593002676963806152e-01 1.000000000000000000e+00 -3.137255087494850159e-02 3.887735605239868164e-01 6.540099978446960449e-01 1.000000000000000000e+00 -3.137255087494850159e-02 3.838523626327514648e-01 6.487197279930114746e-01 1.000000000000000000e+00 -3.137255087494850159e-02 3.789311945438385010e-01 6.434294581413269043e-01 1.000000000000000000e+00 -3.137255087494850159e-02 3.740099966526031494e-01 6.381391882896423340e-01 1.000000000000000000e+00 -3.137255087494850159e-02 3.690887987613677979e-01 6.328489184379577637e-01 1.000000000000000000e+00 -3.137255087494850159e-02 3.641676306724548340e-01 6.275586485862731934e-01 1.000000000000000000e+00 -3.137255087494850159e-02 3.592464327812194824e-01 6.222683787345886230e-01 1.000000000000000000e+00 -3.137255087494850159e-02 3.543252646923065186e-01 6.169781088829040527e-01 1.000000000000000000e+00 -3.137255087494850159e-02 3.494040668010711670e-01 6.116878390312194824e-01 1.000000000000000000e+00 -3.137255087494850159e-02 3.444828987121582031e-01 6.063975691795349121e-01 1.000000000000000000e+00 -3.137255087494850159e-02 3.395617008209228516e-01 6.011072397232055664e-01 1.000000000000000000e+00 -3.137255087494850159e-02 3.346405327320098877e-01 5.958169698715209961e-01 1.000000000000000000e+00 -3.137255087494850159e-02 3.297193348407745361e-01 5.905267000198364258e-01 1.000000000000000000e+00 -3.137255087494850159e-02 3.247981667518615723e-01 5.852364301681518555e-01 1.000000000000000000e+00 -3.137255087494850159e-02 3.198769688606262207e-01 5.799461603164672852e-01 1.000000000000000000e+00 -3.137255087494850159e-02 3.149558007717132568e-01 5.746558904647827148e-01 1.000000000000000000e+00 -3.137255087494850159e-02 3.100346028804779053e-01 5.693656206130981445e-01 1.000000000000000000e+00 -3.137255087494850159e-02 3.051134049892425537e-01 5.640753507614135742e-01 1.000000000000000000e+00 -3.137255087494850159e-02 3.001922369003295898e-01 5.587850809097290039e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.952710390090942383e-01 5.534948110580444336e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.903498709201812744e-01 5.482045412063598633e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.854286730289459229e-01 5.429142713546752930e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.805075049400329590e-01 5.376240015029907227e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.755863070487976074e-01 5.323337316513061523e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.706651389598846436e-01 5.270434617996215820e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.657439410686492920e-01 5.217531919479370117e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.608227729797363281e-01 5.164629220962524414e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.559015750885009766e-01 5.111726522445678711e-01 1.000000000000000000e+00 -3.137255087494850159e-02 2.509804069995880127e-01 5.058823823928833008e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/Greens b/fastplotlib/utils/colormaps/Greens deleted file mode 100644 index 7e1a8733a..000000000 --- a/fastplotlib/utils/colormaps/Greens +++ /dev/null @@ -1,256 +0,0 @@ -9.686274528503417969e-01 9.882352948188781738e-01 9.607843160629272461e-01 1.000000000000000000e+00 -9.664129018783569336e-01 9.873740673065185547e-01 9.582006931304931641e-01 1.000000000000000000e+00 -9.641984105110168457e-01 9.865128993988037109e-01 9.556170701980590820e-01 1.000000000000000000e+00 -9.619838595390319824e-01 9.856516718864440918e-01 9.530334472656250000e-01 1.000000000000000000e+00 -9.597693085670471191e-01 9.847904443740844727e-01 9.504498243331909180e-01 1.000000000000000000e+00 -9.575547575950622559e-01 9.839292764663696289e-01 9.478662014007568359e-01 1.000000000000000000e+00 -9.553402662277221680e-01 9.830680489540100098e-01 9.452825784683227539e-01 1.000000000000000000e+00 -9.531257152557373047e-01 9.822068214416503906e-01 9.426989555358886719e-01 1.000000000000000000e+00 -9.509111642837524414e-01 9.813456535339355469e-01 9.401153326034545898e-01 1.000000000000000000e+00 -9.486966729164123535e-01 9.804844260215759277e-01 9.375317096710205078e-01 1.000000000000000000e+00 -9.464821219444274902e-01 9.796231985092163086e-01 9.349480867385864258e-01 1.000000000000000000e+00 -9.442675709724426270e-01 9.787620306015014648e-01 9.323644638061523438e-01 1.000000000000000000e+00 -9.420530796051025391e-01 9.779008030891418457e-01 9.297808408737182617e-01 1.000000000000000000e+00 -9.398385286331176758e-01 9.770395755767822266e-01 9.271972179412841797e-01 1.000000000000000000e+00 -9.376239776611328125e-01 9.761784076690673828e-01 9.246135950088500977e-01 1.000000000000000000e+00 -9.354094862937927246e-01 9.753171801567077637e-01 9.220299720764160156e-01 1.000000000000000000e+00 -9.331949353218078613e-01 9.744559526443481445e-01 9.194463491439819336e-01 1.000000000000000000e+00 -9.309803843498229980e-01 9.735947847366333008e-01 9.168627262115478516e-01 1.000000000000000000e+00 -9.287658333778381348e-01 9.727335572242736816e-01 9.142791032791137695e-01 1.000000000000000000e+00 -9.265513420104980469e-01 9.718723297119140625e-01 9.116954803466796875e-01 1.000000000000000000e+00 -9.243367910385131836e-01 9.710111618041992188e-01 9.091118574142456055e-01 1.000000000000000000e+00 -9.221222400665283203e-01 9.701499342918395996e-01 9.065282344818115234e-01 1.000000000000000000e+00 -9.199077486991882324e-01 9.692887067794799805e-01 9.039446115493774414e-01 1.000000000000000000e+00 -9.176931977272033691e-01 9.684275388717651367e-01 9.013609886169433594e-01 1.000000000000000000e+00 -9.154786467552185059e-01 9.675663113594055176e-01 8.987773656845092773e-01 1.000000000000000000e+00 -9.132641553878784180e-01 9.667050838470458984e-01 8.961937427520751953e-01 1.000000000000000000e+00 -9.110496044158935547e-01 9.658439159393310547e-01 8.936101794242858887e-01 1.000000000000000000e+00 -9.088350534439086914e-01 9.649826884269714355e-01 8.910265564918518066e-01 1.000000000000000000e+00 -9.066205024719238281e-01 9.641215205192565918e-01 8.884429335594177246e-01 1.000000000000000000e+00 -9.044060111045837402e-01 9.632602930068969727e-01 8.858593106269836426e-01 1.000000000000000000e+00 -9.021914601325988770e-01 9.623990654945373535e-01 8.832756876945495605e-01 1.000000000000000000e+00 -8.999769091606140137e-01 9.615378975868225098e-01 8.806920647621154785e-01 1.000000000000000000e+00 -8.975778818130493164e-01 9.605997800827026367e-01 8.779392838478088379e-01 1.000000000000000000e+00 -8.938869833946228027e-01 9.591234326362609863e-01 8.740022778511047363e-01 1.000000000000000000e+00 -8.901960849761962891e-01 9.576470851898193359e-01 8.700653314590454102e-01 1.000000000000000000e+00 -8.865051865577697754e-01 9.561706781387329102e-01 8.661283850669860840e-01 1.000000000000000000e+00 -8.828142881393432617e-01 9.546943306922912598e-01 8.621914386749267578e-01 1.000000000000000000e+00 -8.791233897209167480e-01 9.532179832458496094e-01 8.582544922828674316e-01 1.000000000000000000e+00 -8.754325509071350098e-01 9.517416357994079590e-01 8.543175458908081055e-01 1.000000000000000000e+00 -8.717416524887084961e-01 9.502652883529663086e-01 8.503805994987487793e-01 1.000000000000000000e+00 -8.680507540702819824e-01 9.487889409065246582e-01 8.464436531066894531e-01 1.000000000000000000e+00 -8.643598556518554688e-01 9.473125934600830078e-01 8.425067067146301270e-01 1.000000000000000000e+00 -8.606689572334289551e-01 9.458362460136413574e-01 8.385697603225708008e-01 1.000000000000000000e+00 -8.569780588150024414e-01 9.443598389625549316e-01 8.346328139305114746e-01 1.000000000000000000e+00 -8.532872200012207031e-01 9.428834915161132812e-01 8.306958675384521484e-01 1.000000000000000000e+00 -8.495963215827941895e-01 9.414071440696716309e-01 8.267589211463928223e-01 1.000000000000000000e+00 -8.459054231643676758e-01 9.399307966232299805e-01 8.228219747543334961e-01 1.000000000000000000e+00 -8.422145247459411621e-01 9.384544491767883301e-01 8.188850283622741699e-01 1.000000000000000000e+00 -8.385236263275146484e-01 9.369781017303466797e-01 8.149480819702148438e-01 1.000000000000000000e+00 -8.348327279090881348e-01 9.355017542839050293e-01 8.110111355781555176e-01 1.000000000000000000e+00 -8.311418890953063965e-01 9.340253472328186035e-01 8.070741891860961914e-01 1.000000000000000000e+00 -8.274509906768798828e-01 9.325489997863769531e-01 8.031372427940368652e-01 1.000000000000000000e+00 -8.237600922584533691e-01 9.310726523399353027e-01 7.992002964019775391e-01 1.000000000000000000e+00 -8.200691938400268555e-01 9.295963048934936523e-01 7.952633500099182129e-01 1.000000000000000000e+00 -8.163782954216003418e-01 9.281199574470520020e-01 7.913264036178588867e-01 1.000000000000000000e+00 -8.126874566078186035e-01 9.266436100006103516e-01 7.873894572257995605e-01 1.000000000000000000e+00 -8.089965581893920898e-01 9.251672625541687012e-01 7.834525108337402344e-01 1.000000000000000000e+00 -8.053056597709655762e-01 9.236909151077270508e-01 7.795155644416809082e-01 1.000000000000000000e+00 -8.016147613525390625e-01 9.222145080566406250e-01 7.755786180496215820e-01 1.000000000000000000e+00 -7.979238629341125488e-01 9.207381606101989746e-01 7.716416716575622559e-01 1.000000000000000000e+00 -7.942329645156860352e-01 9.192618131637573242e-01 7.677047252655029297e-01 1.000000000000000000e+00 -7.905421257019042969e-01 9.177854657173156738e-01 7.637677788734436035e-01 1.000000000000000000e+00 -7.868512272834777832e-01 9.163091182708740234e-01 7.598308324813842773e-01 1.000000000000000000e+00 -7.831603288650512695e-01 9.148327708244323730e-01 7.558938860893249512e-01 1.000000000000000000e+00 -7.792233824729919434e-01 9.132333993911743164e-01 7.518031597137451172e-01 1.000000000000000000e+00 -7.745482325553894043e-01 9.112648963928222656e-01 7.472510337829589844e-01 1.000000000000000000e+00 -7.698731422424316406e-01 9.092964529991149902e-01 7.426989674568176270e-01 1.000000000000000000e+00 -7.651979923248291016e-01 9.073279500007629395e-01 7.381468415260314941e-01 1.000000000000000000e+00 -7.605229020118713379e-01 9.053595066070556641e-01 7.335947751998901367e-01 1.000000000000000000e+00 -7.558477520942687988e-01 9.033910036087036133e-01 7.290426492691040039e-01 1.000000000000000000e+00 -7.511726021766662598e-01 9.014225006103515625e-01 7.244905829429626465e-01 1.000000000000000000e+00 -7.464975118637084961e-01 8.994540572166442871e-01 7.199384570121765137e-01 1.000000000000000000e+00 -7.418223619461059570e-01 8.974855542182922363e-01 7.153863906860351562e-01 1.000000000000000000e+00 -7.371472716331481934e-01 8.955171108245849609e-01 7.108342647552490234e-01 1.000000000000000000e+00 -7.324721217155456543e-01 8.935486078262329102e-01 7.062821984291076660e-01 1.000000000000000000e+00 -7.277969717979431152e-01 8.915801644325256348e-01 7.017301321029663086e-01 1.000000000000000000e+00 -7.231218814849853516e-01 8.896116614341735840e-01 6.971780061721801758e-01 1.000000000000000000e+00 -7.184467315673828125e-01 8.876432180404663086e-01 6.926259398460388184e-01 1.000000000000000000e+00 -7.137716412544250488e-01 8.856747150421142578e-01 6.880738139152526855e-01 1.000000000000000000e+00 -7.090964913368225098e-01 8.837062716484069824e-01 6.835217475891113281e-01 1.000000000000000000e+00 -7.044214010238647461e-01 8.817377686500549316e-01 6.789696216583251953e-01 1.000000000000000000e+00 -6.997462511062622070e-01 8.797693252563476562e-01 6.744175553321838379e-01 1.000000000000000000e+00 -6.950711011886596680e-01 8.778008222579956055e-01 6.698654294013977051e-01 1.000000000000000000e+00 -6.903960108757019043e-01 8.758323788642883301e-01 6.653133630752563477e-01 1.000000000000000000e+00 -6.857208609580993652e-01 8.738638758659362793e-01 6.607612371444702148e-01 1.000000000000000000e+00 -6.810457706451416016e-01 8.718954324722290039e-01 6.562091708183288574e-01 1.000000000000000000e+00 -6.763706207275390625e-01 8.699269294738769531e-01 6.516570448875427246e-01 1.000000000000000000e+00 -6.716955304145812988e-01 8.679584860801696777e-01 6.471049785614013672e-01 1.000000000000000000e+00 -6.670203804969787598e-01 8.659899830818176270e-01 6.425528526306152344e-01 1.000000000000000000e+00 -6.623452305793762207e-01 8.640215396881103516e-01 6.380007863044738770e-01 1.000000000000000000e+00 -6.576701402664184570e-01 8.620530366897583008e-01 6.334486603736877441e-01 1.000000000000000000e+00 -6.529949903488159180e-01 8.600845932960510254e-01 6.288965940475463867e-01 1.000000000000000000e+00 -6.483199000358581543e-01 8.581160902976989746e-01 6.243444681167602539e-01 1.000000000000000000e+00 -6.436447501182556152e-01 8.561476469039916992e-01 6.197924017906188965e-01 1.000000000000000000e+00 -6.389696002006530762e-01 8.541791439056396484e-01 6.152402758598327637e-01 1.000000000000000000e+00 -6.342945098876953125e-01 8.522107005119323730e-01 6.106882095336914062e-01 1.000000000000000000e+00 -6.292964220046997070e-01 8.500115275382995605e-01 6.061360836029052734e-01 1.000000000000000000e+00 -6.237601041793823242e-01 8.474279046058654785e-01 6.015840172767639160e-01 1.000000000000000000e+00 -6.182237863540649414e-01 8.448442816734313965e-01 5.970318913459777832e-01 1.000000000000000000e+00 -6.126874089241027832e-01 8.422606587409973145e-01 5.924798250198364258e-01 1.000000000000000000e+00 -6.071510910987854004e-01 8.396770358085632324e-01 5.879276990890502930e-01 1.000000000000000000e+00 -6.016147732734680176e-01 8.370934128761291504e-01 5.833756327629089355e-01 1.000000000000000000e+00 -5.960784554481506348e-01 8.345097899436950684e-01 5.788235068321228027e-01 1.000000000000000000e+00 -5.905420780181884766e-01 8.319261670112609863e-01 5.742714405059814453e-01 1.000000000000000000e+00 -5.850057601928710938e-01 8.293425440788269043e-01 5.697193145751953125e-01 1.000000000000000000e+00 -5.794694423675537109e-01 8.267589211463928223e-01 5.651672482490539551e-01 1.000000000000000000e+00 -5.739331245422363281e-01 8.241752982139587402e-01 5.606151223182678223e-01 1.000000000000000000e+00 -5.683967471122741699e-01 8.215916752815246582e-01 5.560630559921264648e-01 1.000000000000000000e+00 -5.628604292869567871e-01 8.190080523490905762e-01 5.515109300613403320e-01 1.000000000000000000e+00 -5.573241114616394043e-01 8.164244294166564941e-01 5.469588637351989746e-01 1.000000000000000000e+00 -5.517877936363220215e-01 8.138408064842224121e-01 5.424067378044128418e-01 1.000000000000000000e+00 -5.462514162063598633e-01 8.112571835517883301e-01 5.378546714782714844e-01 1.000000000000000000e+00 -5.407150983810424805e-01 8.086735606193542480e-01 5.333026051521301270e-01 1.000000000000000000e+00 -5.351787805557250977e-01 8.060899376869201660e-01 5.287504792213439941e-01 1.000000000000000000e+00 -5.296424627304077148e-01 8.035063147544860840e-01 5.241984128952026367e-01 1.000000000000000000e+00 -5.241060853004455566e-01 8.009227514266967773e-01 5.196462869644165039e-01 1.000000000000000000e+00 -5.185697674751281738e-01 7.983391284942626953e-01 5.150942206382751465e-01 1.000000000000000000e+00 -5.130334496498107910e-01 7.957555055618286133e-01 5.105420947074890137e-01 1.000000000000000000e+00 -5.074971318244934082e-01 7.931718826293945312e-01 5.059900283813476562e-01 1.000000000000000000e+00 -5.019608139991760254e-01 7.905882596969604492e-01 5.014379024505615234e-01 1.000000000000000000e+00 -4.964244663715362549e-01 7.880046367645263672e-01 4.968858063220977783e-01 1.000000000000000000e+00 -4.908881187438964844e-01 7.854210138320922852e-01 4.923337101936340332e-01 1.000000000000000000e+00 -4.853518009185791016e-01 7.828373908996582031e-01 4.877816140651702881e-01 1.000000000000000000e+00 -4.798154532909393311e-01 7.802537679672241211e-01 4.832295179367065430e-01 1.000000000000000000e+00 -4.742791354656219482e-01 7.776701450347900391e-01 4.786774218082427979e-01 1.000000000000000000e+00 -4.687427878379821777e-01 7.750865221023559570e-01 4.741253256797790527e-01 1.000000000000000000e+00 -4.632064700126647949e-01 7.725028991699218750e-01 4.695732295513153076e-01 1.000000000000000000e+00 -4.576701223850250244e-01 7.699192762374877930e-01 4.650211334228515625e-01 1.000000000000000000e+00 -4.517647027969360352e-01 7.670896053314208984e-01 4.612072408199310303e-01 1.000000000000000000e+00 -4.454901814460754395e-01 7.640138268470764160e-01 4.581314921379089355e-01 1.000000000000000000e+00 -4.392156898975372314e-01 7.609381079673767090e-01 4.550557434558868408e-01 1.000000000000000000e+00 -4.329411685466766357e-01 7.578623890876770020e-01 4.519799947738647461e-01 1.000000000000000000e+00 -4.266666769981384277e-01 7.547866106033325195e-01 4.489042758941650391e-01 1.000000000000000000e+00 -4.203921556472778320e-01 7.517108917236328125e-01 4.458285272121429443e-01 1.000000000000000000e+00 -4.141176342964172363e-01 7.486351132392883301e-01 4.427527785301208496e-01 1.000000000000000000e+00 -4.078431427478790283e-01 7.455593943595886230e-01 4.396770596504211426e-01 1.000000000000000000e+00 -4.015686213970184326e-01 7.424836754798889160e-01 4.366013109683990479e-01 1.000000000000000000e+00 -3.952941298484802246e-01 7.394078969955444336e-01 4.335255622863769531e-01 1.000000000000000000e+00 -3.890196084976196289e-01 7.363321781158447266e-01 4.304498136043548584e-01 1.000000000000000000e+00 -3.827450871467590332e-01 7.332564592361450195e-01 4.273740947246551514e-01 1.000000000000000000e+00 -3.764705955982208252e-01 7.301806807518005371e-01 4.242983460426330566e-01 1.000000000000000000e+00 -3.701960742473602295e-01 7.271049618721008301e-01 4.212225973606109619e-01 1.000000000000000000e+00 -3.639215826988220215e-01 7.240292429924011230e-01 4.181468784809112549e-01 1.000000000000000000e+00 -3.576470613479614258e-01 7.209534645080566406e-01 4.150711297988891602e-01 1.000000000000000000e+00 -3.513725399971008301e-01 7.178777456283569336e-01 4.119953811168670654e-01 1.000000000000000000e+00 -3.450980484485626221e-01 7.148020267486572266e-01 4.089196324348449707e-01 1.000000000000000000e+00 -3.388235270977020264e-01 7.117262482643127441e-01 4.058439135551452637e-01 1.000000000000000000e+00 -3.325490057468414307e-01 7.086505293846130371e-01 4.027681648731231689e-01 1.000000000000000000e+00 -3.262745141983032227e-01 7.055747509002685547e-01 3.996924161911010742e-01 1.000000000000000000e+00 -3.199999928474426270e-01 7.024990320205688477e-01 3.966166973114013672e-01 1.000000000000000000e+00 -3.137255012989044189e-01 6.994233131408691406e-01 3.935409486293792725e-01 1.000000000000000000e+00 -3.074509799480438232e-01 6.963475346565246582e-01 3.904651999473571777e-01 1.000000000000000000e+00 -3.011764585971832275e-01 6.932718157768249512e-01 3.873894512653350830e-01 1.000000000000000000e+00 -2.949019670486450195e-01 6.901960968971252441e-01 3.843137323856353760e-01 1.000000000000000000e+00 -2.886274456977844238e-01 6.871203184127807617e-01 3.812379837036132812e-01 1.000000000000000000e+00 -2.823529541492462158e-01 6.840445995330810547e-01 3.781622350215911865e-01 1.000000000000000000e+00 -2.760784327983856201e-01 6.809688806533813477e-01 3.750865161418914795e-01 1.000000000000000000e+00 -2.698039114475250244e-01 6.778931021690368652e-01 3.720107674598693848e-01 1.000000000000000000e+00 -2.635294198989868164e-01 6.748173832893371582e-01 3.689350187778472900e-01 1.000000000000000000e+00 -2.572548985481262207e-01 6.717416644096374512e-01 3.658592700958251953e-01 1.000000000000000000e+00 -2.525951564311981201e-01 6.681276559829711914e-01 3.628604412078857422e-01 1.000000000000000000e+00 -2.489042729139328003e-01 6.641907095909118652e-01 3.599077165126800537e-01 1.000000000000000000e+00 -2.452133744955062866e-01 6.602537631988525391e-01 3.569550216197967529e-01 1.000000000000000000e+00 -2.415224909782409668e-01 6.563168168067932129e-01 3.540022969245910645e-01 1.000000000000000000e+00 -2.378316074609756470e-01 6.523798704147338867e-01 3.510496020317077637e-01 1.000000000000000000e+00 -2.341407090425491333e-01 6.484429240226745605e-01 3.480968773365020752e-01 1.000000000000000000e+00 -2.304498255252838135e-01 6.445059776306152344e-01 3.451441824436187744e-01 1.000000000000000000e+00 -2.267589420080184937e-01 6.405690312385559082e-01 3.421914577484130859e-01 1.000000000000000000e+00 -2.230680435895919800e-01 6.366320848464965820e-01 3.392387628555297852e-01 1.000000000000000000e+00 -2.193771600723266602e-01 6.326951384544372559e-01 3.362860381603240967e-01 1.000000000000000000e+00 -2.156862765550613403e-01 6.287581920623779297e-01 3.333333432674407959e-01 1.000000000000000000e+00 -2.119953930377960205e-01 6.248212456703186035e-01 3.303806185722351074e-01 1.000000000000000000e+00 -2.083044946193695068e-01 6.208842992782592773e-01 3.274279236793518066e-01 1.000000000000000000e+00 -2.046136111021041870e-01 6.169473528861999512e-01 3.244751989841461182e-01 1.000000000000000000e+00 -2.009227275848388672e-01 6.130104064941406250e-01 3.215225040912628174e-01 1.000000000000000000e+00 -1.972318291664123535e-01 6.090734601020812988e-01 3.185697793960571289e-01 1.000000000000000000e+00 -1.935409456491470337e-01 6.051365137100219727e-01 3.156170845031738281e-01 1.000000000000000000e+00 -1.898500621318817139e-01 6.011995673179626465e-01 3.126643598079681396e-01 1.000000000000000000e+00 -1.861591637134552002e-01 5.972626209259033203e-01 3.097116351127624512e-01 1.000000000000000000e+00 -1.824682801961898804e-01 5.933256149291992188e-01 3.067589402198791504e-01 1.000000000000000000e+00 -1.787773966789245605e-01 5.893886685371398926e-01 3.038062155246734619e-01 1.000000000000000000e+00 -1.750864982604980469e-01 5.854517221450805664e-01 3.008535206317901611e-01 1.000000000000000000e+00 -1.713956147432327271e-01 5.815147757530212402e-01 2.979007959365844727e-01 1.000000000000000000e+00 -1.677047312259674072e-01 5.775778293609619141e-01 2.949481010437011719e-01 1.000000000000000000e+00 -1.640138477087020874e-01 5.736408829689025879e-01 2.919953763484954834e-01 1.000000000000000000e+00 -1.603229492902755737e-01 5.697039365768432617e-01 2.890426814556121826e-01 1.000000000000000000e+00 -1.566320657730102539e-01 5.657669901847839355e-01 2.860899567604064941e-01 1.000000000000000000e+00 -1.529411822557449341e-01 5.618300437927246094e-01 2.831372618675231934e-01 1.000000000000000000e+00 -1.492502838373184204e-01 5.578930974006652832e-01 2.801845371723175049e-01 1.000000000000000000e+00 -1.455594003200531006e-01 5.539561510086059570e-01 2.772318422794342041e-01 1.000000000000000000e+00 -1.418685168027877808e-01 5.500192046165466309e-01 2.742791175842285156e-01 1.000000000000000000e+00 -1.381776183843612671e-01 5.460822582244873047e-01 2.713264226913452148e-01 1.000000000000000000e+00 -1.340253800153732300e-01 5.423298478126525879e-01 2.682814300060272217e-01 1.000000000000000000e+00 -1.297193318605422974e-01 5.386390089988708496e-01 2.652056813240051270e-01 1.000000000000000000e+00 -1.254132986068725586e-01 5.349481105804443359e-01 2.621299624443054199e-01 1.000000000000000000e+00 -1.211072653532028198e-01 5.312572121620178223e-01 2.590542137622833252e-01 1.000000000000000000e+00 -1.168012320995330811e-01 5.275663137435913086e-01 2.559784650802612305e-01 1.000000000000000000e+00 -1.124951913952827454e-01 5.238754153251647949e-01 2.529027163982391357e-01 1.000000000000000000e+00 -1.081891581416130066e-01 5.201845169067382812e-01 2.498269826173782349e-01 1.000000000000000000e+00 -1.038831248879432678e-01 5.164936780929565430e-01 2.467512488365173340e-01 1.000000000000000000e+00 -9.957708418369293213e-02 5.128027796745300293e-01 2.436755150556564331e-01 1.000000000000000000e+00 -9.527105093002319336e-02 5.091118812561035156e-01 2.405997663736343384e-01 1.000000000000000000e+00 -9.096501022577285767e-02 5.054209828376770020e-01 2.375240325927734375e-01 1.000000000000000000e+00 -8.665897697210311890e-02 5.017300844192504883e-01 2.344482839107513428e-01 1.000000000000000000e+00 -8.235294371843338013e-02 4.980392158031463623e-01 2.313725501298904419e-01 1.000000000000000000e+00 -7.804690301418304443e-02 4.943483173847198486e-01 2.282968163490295410e-01 1.000000000000000000e+00 -7.374086976051330566e-02 4.906574487686157227e-01 2.252210676670074463e-01 1.000000000000000000e+00 -6.943482905626296997e-02 4.869665503501892090e-01 2.221453338861465454e-01 1.000000000000000000e+00 -6.512879580259323120e-02 4.832756519317626953e-01 2.190695852041244507e-01 1.000000000000000000e+00 -6.082275882363319397e-02 4.795847833156585693e-01 2.159938514232635498e-01 1.000000000000000000e+00 -5.651672556996345520e-02 4.758938848972320557e-01 2.129181027412414551e-01 1.000000000000000000e+00 -5.221068859100341797e-02 4.722029864788055420e-01 2.098423689603805542e-01 1.000000000000000000e+00 -4.790465161204338074e-02 4.685121178627014160e-01 2.067666351795196533e-01 1.000000000000000000e+00 -4.359861463308334351e-02 4.648212194442749023e-01 2.036908864974975586e-01 1.000000000000000000e+00 -3.929258137941360474e-02 4.611303210258483887e-01 2.006151527166366577e-01 1.000000000000000000e+00 -3.498654440045356750e-02 4.574394524097442627e-01 1.975394040346145630e-01 1.000000000000000000e+00 -3.068050742149353027e-02 4.537485539913177490e-01 1.944636702537536621e-01 1.000000000000000000e+00 -2.637447044253349304e-02 4.500576555728912354e-01 1.913879215717315674e-01 1.000000000000000000e+00 -2.206843532621860504e-02 4.463667869567871094e-01 1.883121877908706665e-01 1.000000000000000000e+00 -1.776239834725856781e-02 4.426758885383605957e-01 1.852364540100097656e-01 1.000000000000000000e+00 -1.345636323094367981e-02 4.389850199222564697e-01 1.821607053279876709e-01 1.000000000000000000e+00 -9.150327183306217194e-03 4.352941215038299561e-01 1.790849715471267700e-01 1.000000000000000000e+00 -4.844290670007467270e-03 4.316032230854034424e-01 1.760092228651046753e-01 1.000000000000000000e+00 -5.382545059546828270e-04 4.279123544692993164e-01 1.729334890842437744e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.230372905731201172e-01 1.707189530134201050e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.179930686950683594e-01 1.686274558305740356e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.129488766193389893e-01 1.665359437465667725e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.079046547412872314e-01 1.644444465637207031e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.028604328632354736e-01 1.623529344797134399e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.978162109851837158e-01 1.602614372968673706e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.927720189094543457e-01 1.581699401140213013e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.877277970314025879e-01 1.560784280300140381e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.826835751533508301e-01 1.539869308471679688e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.776393830776214600e-01 1.518954187631607056e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.725951611995697021e-01 1.498039215803146362e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.675509393215179443e-01 1.477124243974685669e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.625067174434661865e-01 1.456209123134613037e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.574625253677368164e-01 1.435294151306152344e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.524183034896850586e-01 1.414379030466079712e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.473740816116333008e-01 1.393464058637619019e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.423298597335815430e-01 1.372549086809158325e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.372856676578521729e-01 1.351633965969085693e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.322414457798004150e-01 1.330718994140625000e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.271972239017486572e-01 1.309803873300552368e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.221530318260192871e-01 1.288888901472091675e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.171088099479675293e-01 1.267973929643630981e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.120645880699157715e-01 1.247058808803558350e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.070203661918640137e-01 1.226143762469291687e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.019761741161346436e-01 1.205228790640830994e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.969319522380828857e-01 1.184313744306564331e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.918877303600311279e-01 1.163398697972297668e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.868435084819793701e-01 1.142483651638031006e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.817993164062500000e-01 1.121568605303764343e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.767550945281982422e-01 1.100653558969497681e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.717108726501464844e-01 1.079738587141036987e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.666666805744171143e-01 1.058823540806770325e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/Greys b/fastplotlib/utils/colormaps/Greys deleted file mode 100644 index d00696898..000000000 --- a/fastplotlib/utils/colormaps/Greys +++ /dev/null @@ -1,256 +0,0 @@ -1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -9.981545805931091309e-01 9.981545805931091309e-01 9.981545805931091309e-01 1.000000000000000000e+00 -9.963091015815734863e-01 9.963091015815734863e-01 9.963091015815734863e-01 1.000000000000000000e+00 -9.944636821746826172e-01 9.944636821746826172e-01 9.944636821746826172e-01 1.000000000000000000e+00 -9.926182031631469727e-01 9.926182031631469727e-01 9.926182031631469727e-01 1.000000000000000000e+00 -9.907727837562561035e-01 9.907727837562561035e-01 9.907727837562561035e-01 1.000000000000000000e+00 -9.889273643493652344e-01 9.889273643493652344e-01 9.889273643493652344e-01 1.000000000000000000e+00 -9.870818853378295898e-01 9.870818853378295898e-01 9.870818853378295898e-01 1.000000000000000000e+00 -9.852364659309387207e-01 9.852364659309387207e-01 9.852364659309387207e-01 1.000000000000000000e+00 -9.833909869194030762e-01 9.833909869194030762e-01 9.833909869194030762e-01 1.000000000000000000e+00 -9.815455675125122070e-01 9.815455675125122070e-01 9.815455675125122070e-01 1.000000000000000000e+00 -9.797000885009765625e-01 9.797000885009765625e-01 9.797000885009765625e-01 1.000000000000000000e+00 -9.778546690940856934e-01 9.778546690940856934e-01 9.778546690940856934e-01 1.000000000000000000e+00 -9.760092496871948242e-01 9.760092496871948242e-01 9.760092496871948242e-01 1.000000000000000000e+00 -9.741637706756591797e-01 9.741637706756591797e-01 9.741637706756591797e-01 1.000000000000000000e+00 -9.723183512687683105e-01 9.723183512687683105e-01 9.723183512687683105e-01 1.000000000000000000e+00 -9.704728722572326660e-01 9.704728722572326660e-01 9.704728722572326660e-01 1.000000000000000000e+00 -9.686274528503417969e-01 9.686274528503417969e-01 9.686274528503417969e-01 1.000000000000000000e+00 -9.667820334434509277e-01 9.667820334434509277e-01 9.667820334434509277e-01 1.000000000000000000e+00 -9.649365544319152832e-01 9.649365544319152832e-01 9.649365544319152832e-01 1.000000000000000000e+00 -9.630911350250244141e-01 9.630911350250244141e-01 9.630911350250244141e-01 1.000000000000000000e+00 -9.612456560134887695e-01 9.612456560134887695e-01 9.612456560134887695e-01 1.000000000000000000e+00 -9.594002366065979004e-01 9.594002366065979004e-01 9.594002366065979004e-01 1.000000000000000000e+00 -9.575547575950622559e-01 9.575547575950622559e-01 9.575547575950622559e-01 1.000000000000000000e+00 -9.557093381881713867e-01 9.557093381881713867e-01 9.557093381881713867e-01 1.000000000000000000e+00 -9.538639187812805176e-01 9.538639187812805176e-01 9.538639187812805176e-01 1.000000000000000000e+00 -9.520184397697448730e-01 9.520184397697448730e-01 9.520184397697448730e-01 1.000000000000000000e+00 -9.501730203628540039e-01 9.501730203628540039e-01 9.501730203628540039e-01 1.000000000000000000e+00 -9.483275413513183594e-01 9.483275413513183594e-01 9.483275413513183594e-01 1.000000000000000000e+00 -9.464821219444274902e-01 9.464821219444274902e-01 9.464821219444274902e-01 1.000000000000000000e+00 -9.446367025375366211e-01 9.446367025375366211e-01 9.446367025375366211e-01 1.000000000000000000e+00 -9.427912235260009766e-01 9.427912235260009766e-01 9.427912235260009766e-01 1.000000000000000000e+00 -9.408227801322937012e-01 9.408227801322937012e-01 9.408227801322937012e-01 1.000000000000000000e+00 -9.379931092262268066e-01 9.379931092262268066e-01 9.379931092262268066e-01 1.000000000000000000e+00 -9.351633787155151367e-01 9.351633787155151367e-01 9.351633787155151367e-01 1.000000000000000000e+00 -9.323337078094482422e-01 9.323337078094482422e-01 9.323337078094482422e-01 1.000000000000000000e+00 -9.295040369033813477e-01 9.295040369033813477e-01 9.295040369033813477e-01 1.000000000000000000e+00 -9.266743659973144531e-01 9.266743659973144531e-01 9.266743659973144531e-01 1.000000000000000000e+00 -9.238446950912475586e-01 9.238446950912475586e-01 9.238446950912475586e-01 1.000000000000000000e+00 -9.210149645805358887e-01 9.210149645805358887e-01 9.210149645805358887e-01 1.000000000000000000e+00 -9.181852936744689941e-01 9.181852936744689941e-01 9.181852936744689941e-01 1.000000000000000000e+00 -9.153556227684020996e-01 9.153556227684020996e-01 9.153556227684020996e-01 1.000000000000000000e+00 -9.125259518623352051e-01 9.125259518623352051e-01 9.125259518623352051e-01 1.000000000000000000e+00 -9.096962809562683105e-01 9.096962809562683105e-01 9.096962809562683105e-01 1.000000000000000000e+00 -9.068666100502014160e-01 9.068666100502014160e-01 9.068666100502014160e-01 1.000000000000000000e+00 -9.040368795394897461e-01 9.040368795394897461e-01 9.040368795394897461e-01 1.000000000000000000e+00 -9.012072086334228516e-01 9.012072086334228516e-01 9.012072086334228516e-01 1.000000000000000000e+00 -8.983775377273559570e-01 8.983775377273559570e-01 8.983775377273559570e-01 1.000000000000000000e+00 -8.955478668212890625e-01 8.955478668212890625e-01 8.955478668212890625e-01 1.000000000000000000e+00 -8.927181959152221680e-01 8.927181959152221680e-01 8.927181959152221680e-01 1.000000000000000000e+00 -8.898885250091552734e-01 8.898885250091552734e-01 8.898885250091552734e-01 1.000000000000000000e+00 -8.870587944984436035e-01 8.870587944984436035e-01 8.870587944984436035e-01 1.000000000000000000e+00 -8.842291235923767090e-01 8.842291235923767090e-01 8.842291235923767090e-01 1.000000000000000000e+00 -8.813994526863098145e-01 8.813994526863098145e-01 8.813994526863098145e-01 1.000000000000000000e+00 -8.785697817802429199e-01 8.785697817802429199e-01 8.785697817802429199e-01 1.000000000000000000e+00 -8.757401108741760254e-01 8.757401108741760254e-01 8.757401108741760254e-01 1.000000000000000000e+00 -8.729104399681091309e-01 8.729104399681091309e-01 8.729104399681091309e-01 1.000000000000000000e+00 -8.700807094573974609e-01 8.700807094573974609e-01 8.700807094573974609e-01 1.000000000000000000e+00 -8.672510385513305664e-01 8.672510385513305664e-01 8.672510385513305664e-01 1.000000000000000000e+00 -8.644213676452636719e-01 8.644213676452636719e-01 8.644213676452636719e-01 1.000000000000000000e+00 -8.615916967391967773e-01 8.615916967391967773e-01 8.615916967391967773e-01 1.000000000000000000e+00 -8.587620258331298828e-01 8.587620258331298828e-01 8.587620258331298828e-01 1.000000000000000000e+00 -8.559323549270629883e-01 8.559323549270629883e-01 8.559323549270629883e-01 1.000000000000000000e+00 -8.531026244163513184e-01 8.531026244163513184e-01 8.531026244163513184e-01 1.000000000000000000e+00 -8.501191735267639160e-01 8.501191735267639160e-01 8.501191735267639160e-01 1.000000000000000000e+00 -8.466743826866149902e-01 8.466743826866149902e-01 8.466743826866149902e-01 1.000000000000000000e+00 -8.432295322418212891e-01 8.432295322418212891e-01 8.432295322418212891e-01 1.000000000000000000e+00 -8.397846817970275879e-01 8.397846817970275879e-01 8.397846817970275879e-01 1.000000000000000000e+00 -8.363398909568786621e-01 8.363398909568786621e-01 8.363398909568786621e-01 1.000000000000000000e+00 -8.328950405120849609e-01 8.328950405120849609e-01 8.328950405120849609e-01 1.000000000000000000e+00 -8.294501900672912598e-01 8.294501900672912598e-01 8.294501900672912598e-01 1.000000000000000000e+00 -8.260053992271423340e-01 8.260053992271423340e-01 8.260053992271423340e-01 1.000000000000000000e+00 -8.225605487823486328e-01 8.225605487823486328e-01 8.225605487823486328e-01 1.000000000000000000e+00 -8.191156983375549316e-01 8.191156983375549316e-01 8.191156983375549316e-01 1.000000000000000000e+00 -8.156709074974060059e-01 8.156709074974060059e-01 8.156709074974060059e-01 1.000000000000000000e+00 -8.122260570526123047e-01 8.122260570526123047e-01 8.122260570526123047e-01 1.000000000000000000e+00 -8.087812662124633789e-01 8.087812662124633789e-01 8.087812662124633789e-01 1.000000000000000000e+00 -8.053364157676696777e-01 8.053364157676696777e-01 8.053364157676696777e-01 1.000000000000000000e+00 -8.018915653228759766e-01 8.018915653228759766e-01 8.018915653228759766e-01 1.000000000000000000e+00 -7.984467744827270508e-01 7.984467744827270508e-01 7.984467744827270508e-01 1.000000000000000000e+00 -7.950019240379333496e-01 7.950019240379333496e-01 7.950019240379333496e-01 1.000000000000000000e+00 -7.915570735931396484e-01 7.915570735931396484e-01 7.915570735931396484e-01 1.000000000000000000e+00 -7.881122827529907227e-01 7.881122827529907227e-01 7.881122827529907227e-01 1.000000000000000000e+00 -7.846674323081970215e-01 7.846674323081970215e-01 7.846674323081970215e-01 1.000000000000000000e+00 -7.812225818634033203e-01 7.812225818634033203e-01 7.812225818634033203e-01 1.000000000000000000e+00 -7.777777910232543945e-01 7.777777910232543945e-01 7.777777910232543945e-01 1.000000000000000000e+00 -7.743329405784606934e-01 7.743329405784606934e-01 7.743329405784606934e-01 1.000000000000000000e+00 -7.708881497383117676e-01 7.708881497383117676e-01 7.708881497383117676e-01 1.000000000000000000e+00 -7.674432992935180664e-01 7.674432992935180664e-01 7.674432992935180664e-01 1.000000000000000000e+00 -7.639984488487243652e-01 7.639984488487243652e-01 7.639984488487243652e-01 1.000000000000000000e+00 -7.605536580085754395e-01 7.605536580085754395e-01 7.605536580085754395e-01 1.000000000000000000e+00 -7.571088075637817383e-01 7.571088075637817383e-01 7.571088075637817383e-01 1.000000000000000000e+00 -7.536639571189880371e-01 7.536639571189880371e-01 7.536639571189880371e-01 1.000000000000000000e+00 -7.502191662788391113e-01 7.502191662788391113e-01 7.502191662788391113e-01 1.000000000000000000e+00 -7.467743158340454102e-01 7.467743158340454102e-01 7.467743158340454102e-01 1.000000000000000000e+00 -7.433294653892517090e-01 7.433294653892517090e-01 7.433294653892517090e-01 1.000000000000000000e+00 -7.393771409988403320e-01 7.393771409988403320e-01 7.393771409988403320e-01 1.000000000000000000e+00 -7.345790266990661621e-01 7.345790266990661621e-01 7.345790266990661621e-01 1.000000000000000000e+00 -7.297808527946472168e-01 7.297808527946472168e-01 7.297808527946472168e-01 1.000000000000000000e+00 -7.249826788902282715e-01 7.249826788902282715e-01 7.249826788902282715e-01 1.000000000000000000e+00 -7.201845645904541016e-01 7.201845645904541016e-01 7.201845645904541016e-01 1.000000000000000000e+00 -7.153863906860351562e-01 7.153863906860351562e-01 7.153863906860351562e-01 1.000000000000000000e+00 -7.105882167816162109e-01 7.105882167816162109e-01 7.105882167816162109e-01 1.000000000000000000e+00 -7.057901024818420410e-01 7.057901024818420410e-01 7.057901024818420410e-01 1.000000000000000000e+00 -7.009919285774230957e-01 7.009919285774230957e-01 7.009919285774230957e-01 1.000000000000000000e+00 -6.961937546730041504e-01 6.961937546730041504e-01 6.961937546730041504e-01 1.000000000000000000e+00 -6.913956403732299805e-01 6.913956403732299805e-01 6.913956403732299805e-01 1.000000000000000000e+00 -6.865974664688110352e-01 6.865974664688110352e-01 6.865974664688110352e-01 1.000000000000000000e+00 -6.817992925643920898e-01 6.817992925643920898e-01 6.817992925643920898e-01 1.000000000000000000e+00 -6.770011782646179199e-01 6.770011782646179199e-01 6.770011782646179199e-01 1.000000000000000000e+00 -6.722030043601989746e-01 6.722030043601989746e-01 6.722030043601989746e-01 1.000000000000000000e+00 -6.674048304557800293e-01 6.674048304557800293e-01 6.674048304557800293e-01 1.000000000000000000e+00 -6.626067161560058594e-01 6.626067161560058594e-01 6.626067161560058594e-01 1.000000000000000000e+00 -6.578085422515869141e-01 6.578085422515869141e-01 6.578085422515869141e-01 1.000000000000000000e+00 -6.530103683471679688e-01 6.530103683471679688e-01 6.530103683471679688e-01 1.000000000000000000e+00 -6.482122540473937988e-01 6.482122540473937988e-01 6.482122540473937988e-01 1.000000000000000000e+00 -6.434140801429748535e-01 6.434140801429748535e-01 6.434140801429748535e-01 1.000000000000000000e+00 -6.386159062385559082e-01 6.386159062385559082e-01 6.386159062385559082e-01 1.000000000000000000e+00 -6.338177919387817383e-01 6.338177919387817383e-01 6.338177919387817383e-01 1.000000000000000000e+00 -6.290196180343627930e-01 6.290196180343627930e-01 6.290196180343627930e-01 1.000000000000000000e+00 -6.242214441299438477e-01 6.242214441299438477e-01 6.242214441299438477e-01 1.000000000000000000e+00 -6.194232702255249023e-01 6.194232702255249023e-01 6.194232702255249023e-01 1.000000000000000000e+00 -6.146251559257507324e-01 6.146251559257507324e-01 6.146251559257507324e-01 1.000000000000000000e+00 -6.098269820213317871e-01 6.098269820213317871e-01 6.098269820213317871e-01 1.000000000000000000e+00 -6.050288081169128418e-01 6.050288081169128418e-01 6.050288081169128418e-01 1.000000000000000000e+00 -6.002306938171386719e-01 6.002306938171386719e-01 6.002306938171386719e-01 1.000000000000000000e+00 -5.954325199127197266e-01 5.954325199127197266e-01 5.954325199127197266e-01 1.000000000000000000e+00 -5.906343460083007812e-01 5.906343460083007812e-01 5.906343460083007812e-01 1.000000000000000000e+00 -5.860822796821594238e-01 5.860822796821594238e-01 5.860822796821594238e-01 1.000000000000000000e+00 -5.817762613296508789e-01 5.817762613296508789e-01 5.817762613296508789e-01 1.000000000000000000e+00 -5.774701833724975586e-01 5.774701833724975586e-01 5.774701833724975586e-01 1.000000000000000000e+00 -5.731641650199890137e-01 5.731641650199890137e-01 5.731641650199890137e-01 1.000000000000000000e+00 -5.688581466674804688e-01 5.688581466674804688e-01 5.688581466674804688e-01 1.000000000000000000e+00 -5.645520687103271484e-01 5.645520687103271484e-01 5.645520687103271484e-01 1.000000000000000000e+00 -5.602460503578186035e-01 5.602460503578186035e-01 5.602460503578186035e-01 1.000000000000000000e+00 -5.559400320053100586e-01 5.559400320053100586e-01 5.559400320053100586e-01 1.000000000000000000e+00 -5.516340136528015137e-01 5.516340136528015137e-01 5.516340136528015137e-01 1.000000000000000000e+00 -5.473279356956481934e-01 5.473279356956481934e-01 5.473279356956481934e-01 1.000000000000000000e+00 -5.430219173431396484e-01 5.430219173431396484e-01 5.430219173431396484e-01 1.000000000000000000e+00 -5.387158989906311035e-01 5.387158989906311035e-01 5.387158989906311035e-01 1.000000000000000000e+00 -5.344098210334777832e-01 5.344098210334777832e-01 5.344098210334777832e-01 1.000000000000000000e+00 -5.301038026809692383e-01 5.301038026809692383e-01 5.301038026809692383e-01 1.000000000000000000e+00 -5.257977843284606934e-01 5.257977843284606934e-01 5.257977843284606934e-01 1.000000000000000000e+00 -5.214917063713073730e-01 5.214917063713073730e-01 5.214917063713073730e-01 1.000000000000000000e+00 -5.171856880187988281e-01 5.171856880187988281e-01 5.171856880187988281e-01 1.000000000000000000e+00 -5.128796696662902832e-01 5.128796696662902832e-01 5.128796696662902832e-01 1.000000000000000000e+00 -5.085736513137817383e-01 5.085736513137817383e-01 5.085736513137817383e-01 1.000000000000000000e+00 -5.042675733566284180e-01 5.042675733566284180e-01 5.042675733566284180e-01 1.000000000000000000e+00 -4.999615550041198730e-01 4.999615550041198730e-01 4.999615550041198730e-01 1.000000000000000000e+00 -4.956555068492889404e-01 4.956555068492889404e-01 4.956555068492889404e-01 1.000000000000000000e+00 -4.913494884967803955e-01 4.913494884967803955e-01 4.913494884967803955e-01 1.000000000000000000e+00 -4.870434403419494629e-01 4.870434403419494629e-01 4.870434403419494629e-01 1.000000000000000000e+00 -4.827374219894409180e-01 4.827374219894409180e-01 4.827374219894409180e-01 1.000000000000000000e+00 -4.784313738346099854e-01 4.784313738346099854e-01 4.784313738346099854e-01 1.000000000000000000e+00 -4.741253256797790527e-01 4.741253256797790527e-01 4.741253256797790527e-01 1.000000000000000000e+00 -4.698193073272705078e-01 4.698193073272705078e-01 4.698193073272705078e-01 1.000000000000000000e+00 -4.655132591724395752e-01 4.655132591724395752e-01 4.655132591724395752e-01 1.000000000000000000e+00 -4.612072408199310303e-01 4.612072408199310303e-01 4.612072408199310303e-01 1.000000000000000000e+00 -4.569011926651000977e-01 4.569011926651000977e-01 4.569011926651000977e-01 1.000000000000000000e+00 -4.525951445102691650e-01 4.525951445102691650e-01 4.525951445102691650e-01 1.000000000000000000e+00 -4.484429061412811279e-01 4.484429061412811279e-01 4.484429061412811279e-01 1.000000000000000000e+00 -4.443829357624053955e-01 4.443829357624053955e-01 4.443829357624053955e-01 1.000000000000000000e+00 -4.403229653835296631e-01 4.403229653835296631e-01 4.403229653835296631e-01 1.000000000000000000e+00 -4.362629652023315430e-01 4.362629652023315430e-01 4.362629652023315430e-01 1.000000000000000000e+00 -4.322029948234558105e-01 4.322029948234558105e-01 4.322029948234558105e-01 1.000000000000000000e+00 -4.281430244445800781e-01 4.281430244445800781e-01 4.281430244445800781e-01 1.000000000000000000e+00 -4.240830540657043457e-01 4.240830540657043457e-01 4.240830540657043457e-01 1.000000000000000000e+00 -4.200230538845062256e-01 4.200230538845062256e-01 4.200230538845062256e-01 1.000000000000000000e+00 -4.159630835056304932e-01 4.159630835056304932e-01 4.159630835056304932e-01 1.000000000000000000e+00 -4.119031131267547607e-01 4.119031131267547607e-01 4.119031131267547607e-01 1.000000000000000000e+00 -4.078431427478790283e-01 4.078431427478790283e-01 4.078431427478790283e-01 1.000000000000000000e+00 -4.037831723690032959e-01 4.037831723690032959e-01 4.037831723690032959e-01 1.000000000000000000e+00 -3.997231721878051758e-01 3.997231721878051758e-01 3.997231721878051758e-01 1.000000000000000000e+00 -3.956632018089294434e-01 3.956632018089294434e-01 3.956632018089294434e-01 1.000000000000000000e+00 -3.916032314300537109e-01 3.916032314300537109e-01 3.916032314300537109e-01 1.000000000000000000e+00 -3.875432610511779785e-01 3.875432610511779785e-01 3.875432610511779785e-01 1.000000000000000000e+00 -3.834832608699798584e-01 3.834832608699798584e-01 3.834832608699798584e-01 1.000000000000000000e+00 -3.794232904911041260e-01 3.794232904911041260e-01 3.794232904911041260e-01 1.000000000000000000e+00 -3.753633201122283936e-01 3.753633201122283936e-01 3.753633201122283936e-01 1.000000000000000000e+00 -3.713033497333526611e-01 3.713033497333526611e-01 3.713033497333526611e-01 1.000000000000000000e+00 -3.672433793544769287e-01 3.672433793544769287e-01 3.672433793544769287e-01 1.000000000000000000e+00 -3.631833791732788086e-01 3.631833791732788086e-01 3.631833791732788086e-01 1.000000000000000000e+00 -3.591234087944030762e-01 3.591234087944030762e-01 3.591234087944030762e-01 1.000000000000000000e+00 -3.550634384155273438e-01 3.550634384155273438e-01 3.550634384155273438e-01 1.000000000000000000e+00 -3.510034680366516113e-01 3.510034680366516113e-01 3.510034680366516113e-01 1.000000000000000000e+00 -3.469434976577758789e-01 3.469434976577758789e-01 3.469434976577758789e-01 1.000000000000000000e+00 -3.428834974765777588e-01 3.428834974765777588e-01 3.428834974765777588e-01 1.000000000000000000e+00 -3.388235270977020264e-01 3.388235270977020264e-01 3.388235270977020264e-01 1.000000000000000000e+00 -3.347635567188262939e-01 3.347635567188262939e-01 3.347635567188262939e-01 1.000000000000000000e+00 -3.307035863399505615e-01 3.307035863399505615e-01 3.307035863399505615e-01 1.000000000000000000e+00 -3.266435861587524414e-01 3.266435861587524414e-01 3.266435861587524414e-01 1.000000000000000000e+00 -3.225836157798767090e-01 3.225836157798767090e-01 3.225836157798767090e-01 1.000000000000000000e+00 -3.174163699150085449e-01 3.174163699150085449e-01 3.174163699150085449e-01 1.000000000000000000e+00 -3.118800520896911621e-01 3.118800520896911621e-01 3.118800520896911621e-01 1.000000000000000000e+00 -3.063437044620513916e-01 3.063437044620513916e-01 3.063437044620513916e-01 1.000000000000000000e+00 -3.008073866367340088e-01 3.008073866367340088e-01 3.008073866367340088e-01 1.000000000000000000e+00 -2.952710390090942383e-01 2.952710390090942383e-01 2.952710390090942383e-01 1.000000000000000000e+00 -2.897347211837768555e-01 2.897347211837768555e-01 2.897347211837768555e-01 1.000000000000000000e+00 -2.841983735561370850e-01 2.841983735561370850e-01 2.841983735561370850e-01 1.000000000000000000e+00 -2.786620557308197021e-01 2.786620557308197021e-01 2.786620557308197021e-01 1.000000000000000000e+00 -2.731257081031799316e-01 2.731257081031799316e-01 2.731257081031799316e-01 1.000000000000000000e+00 -2.675893902778625488e-01 2.675893902778625488e-01 2.675893902778625488e-01 1.000000000000000000e+00 -2.620530426502227783e-01 2.620530426502227783e-01 2.620530426502227783e-01 1.000000000000000000e+00 -2.565167248249053955e-01 2.565167248249053955e-01 2.565167248249053955e-01 1.000000000000000000e+00 -2.509804069995880127e-01 2.509804069995880127e-01 2.509804069995880127e-01 1.000000000000000000e+00 -2.454440593719482422e-01 2.454440593719482422e-01 2.454440593719482422e-01 1.000000000000000000e+00 -2.399077266454696655e-01 2.399077266454696655e-01 2.399077266454696655e-01 1.000000000000000000e+00 -2.343713939189910889e-01 2.343713939189910889e-01 2.343713939189910889e-01 1.000000000000000000e+00 -2.288350611925125122e-01 2.288350611925125122e-01 2.288350611925125122e-01 1.000000000000000000e+00 -2.232987284660339355e-01 2.232987284660339355e-01 2.232987284660339355e-01 1.000000000000000000e+00 -2.177623957395553589e-01 2.177623957395553589e-01 2.177623957395553589e-01 1.000000000000000000e+00 -2.122260630130767822e-01 2.122260630130767822e-01 2.122260630130767822e-01 1.000000000000000000e+00 -2.066897302865982056e-01 2.066897302865982056e-01 2.066897302865982056e-01 1.000000000000000000e+00 -2.011533975601196289e-01 2.011533975601196289e-01 2.011533975601196289e-01 1.000000000000000000e+00 -1.956170648336410522e-01 1.956170648336410522e-01 1.956170648336410522e-01 1.000000000000000000e+00 -1.900807321071624756e-01 1.900807321071624756e-01 1.900807321071624756e-01 1.000000000000000000e+00 -1.845443993806838989e-01 1.845443993806838989e-01 1.845443993806838989e-01 1.000000000000000000e+00 -1.790080666542053223e-01 1.790080666542053223e-01 1.790080666542053223e-01 1.000000000000000000e+00 -1.734717488288879395e-01 1.734717488288879395e-01 1.734717488288879395e-01 1.000000000000000000e+00 -1.679354161024093628e-01 1.679354161024093628e-01 1.679354161024093628e-01 1.000000000000000000e+00 -1.623990833759307861e-01 1.623990833759307861e-01 1.623990833759307861e-01 1.000000000000000000e+00 -1.568627506494522095e-01 1.568627506494522095e-01 1.568627506494522095e-01 1.000000000000000000e+00 -1.513264179229736328e-01 1.513264179229736328e-01 1.513264179229736328e-01 1.000000000000000000e+00 -1.457900851964950562e-01 1.457900851964950562e-01 1.457900851964950562e-01 1.000000000000000000e+00 -1.411149501800537109e-01 1.411149501800537109e-01 1.411149501800537109e-01 1.000000000000000000e+00 -1.365628540515899658e-01 1.365628540515899658e-01 1.365628540515899658e-01 1.000000000000000000e+00 -1.320107579231262207e-01 1.320107579231262207e-01 1.320107579231262207e-01 1.000000000000000000e+00 -1.274586766958236694e-01 1.274586766958236694e-01 1.274586766958236694e-01 1.000000000000000000e+00 -1.229065731167793274e-01 1.229065731167793274e-01 1.229065731167793274e-01 1.000000000000000000e+00 -1.183544769883155823e-01 1.183544769883155823e-01 1.183544769883155823e-01 1.000000000000000000e+00 -1.138023808598518372e-01 1.138023808598518372e-01 1.138023808598518372e-01 1.000000000000000000e+00 -1.092502847313880920e-01 1.092502847313880920e-01 1.092502847313880920e-01 1.000000000000000000e+00 -1.046981960535049438e-01 1.046981960535049438e-01 1.046981960535049438e-01 1.000000000000000000e+00 -1.001460999250411987e-01 1.001460999250411987e-01 1.001460999250411987e-01 1.000000000000000000e+00 -9.559400379657745361e-02 9.559400379657745361e-02 9.559400379657745361e-02 1.000000000000000000e+00 -9.104190766811370850e-02 9.104190766811370850e-02 9.104190766811370850e-02 1.000000000000000000e+00 -8.648981153964996338e-02 8.648981153964996338e-02 8.648981153964996338e-02 1.000000000000000000e+00 -8.193771541118621826e-02 8.193771541118621826e-02 8.193771541118621826e-02 1.000000000000000000e+00 -7.738561928272247314e-02 7.738561928272247314e-02 7.738561928272247314e-02 1.000000000000000000e+00 -7.283352315425872803e-02 7.283352315425872803e-02 7.283352315425872803e-02 1.000000000000000000e+00 -6.828142702579498291e-02 6.828142702579498291e-02 6.828142702579498291e-02 1.000000000000000000e+00 -6.372933834791183472e-02 6.372933834791183472e-02 6.372933834791183472e-02 1.000000000000000000e+00 -5.917723849415779114e-02 5.917723849415779114e-02 5.917723849415779114e-02 1.000000000000000000e+00 -5.462514236569404602e-02 5.462514236569404602e-02 5.462514236569404602e-02 1.000000000000000000e+00 -5.007304996252059937e-02 5.007304996252059937e-02 5.007304996252059937e-02 1.000000000000000000e+00 -4.552095383405685425e-02 4.552095383405685425e-02 4.552095383405685425e-02 1.000000000000000000e+00 -4.096885770559310913e-02 4.096885770559310913e-02 4.096885770559310913e-02 1.000000000000000000e+00 -3.641676157712936401e-02 3.641676157712936401e-02 3.641676157712936401e-02 1.000000000000000000e+00 -3.186466917395591736e-02 3.186466917395591736e-02 3.186466917395591736e-02 1.000000000000000000e+00 -2.731257118284702301e-02 2.731257118284702301e-02 2.731257118284702301e-02 1.000000000000000000e+00 -2.276047691702842712e-02 2.276047691702842712e-02 2.276047691702842712e-02 1.000000000000000000e+00 -1.820838078856468201e-02 1.820838078856468201e-02 1.820838078856468201e-02 1.000000000000000000e+00 -1.365628559142351151e-02 1.365628559142351151e-02 1.365628559142351151e-02 1.000000000000000000e+00 -9.104190394282341003e-03 9.104190394282341003e-03 9.104190394282341003e-03 1.000000000000000000e+00 -4.552095197141170502e-03 4.552095197141170502e-03 4.552095197141170502e-03 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/OrRd b/fastplotlib/utils/colormaps/OrRd deleted file mode 100644 index 898a6d7c4..000000000 --- a/fastplotlib/utils/colormaps/OrRd +++ /dev/null @@ -1,256 +0,0 @@ -1.000000000000000000e+00 9.686274528503417969e-01 9.254902005195617676e-01 1.000000000000000000e+00 -9.998769760131835938e-01 9.667820334434509277e-01 9.210611581802368164e-01 1.000000000000000000e+00 -9.997539520263671875e-01 9.649365544319152832e-01 9.166320562362670898e-01 1.000000000000000000e+00 -9.996309280395507812e-01 9.630911350250244141e-01 9.122030138969421387e-01 1.000000000000000000e+00 -9.995079040527343750e-01 9.612456560134887695e-01 9.077739119529724121e-01 1.000000000000000000e+00 -9.993848800659179688e-01 9.594002366065979004e-01 9.033448696136474609e-01 1.000000000000000000e+00 -9.992617964744567871e-01 9.575547575950622559e-01 8.989158272743225098e-01 1.000000000000000000e+00 -9.991387724876403809e-01 9.557093381881713867e-01 8.944867253303527832e-01 1.000000000000000000e+00 -9.990157485008239746e-01 9.538639187812805176e-01 8.900576829910278320e-01 1.000000000000000000e+00 -9.988927245140075684e-01 9.520184397697448730e-01 8.856285810470581055e-01 1.000000000000000000e+00 -9.987697005271911621e-01 9.501730203628540039e-01 8.811995387077331543e-01 1.000000000000000000e+00 -9.986466765403747559e-01 9.483275413513183594e-01 8.767704963684082031e-01 1.000000000000000000e+00 -9.985236525535583496e-01 9.464821219444274902e-01 8.723413944244384766e-01 1.000000000000000000e+00 -9.984006285667419434e-01 9.446367025375366211e-01 8.679123520851135254e-01 1.000000000000000000e+00 -9.982776045799255371e-01 9.427912235260009766e-01 8.634832501411437988e-01 1.000000000000000000e+00 -9.981545805931091309e-01 9.409458041191101074e-01 8.590542078018188477e-01 1.000000000000000000e+00 -9.980314970016479492e-01 9.391003251075744629e-01 8.546251654624938965e-01 1.000000000000000000e+00 -9.979084730148315430e-01 9.372549057006835938e-01 8.501960635185241699e-01 1.000000000000000000e+00 -9.977854490280151367e-01 9.354094862937927246e-01 8.457670211791992188e-01 1.000000000000000000e+00 -9.976624250411987305e-01 9.335640072822570801e-01 8.413379192352294922e-01 1.000000000000000000e+00 -9.975394010543823242e-01 9.317185878753662109e-01 8.369088768959045410e-01 1.000000000000000000e+00 -9.974163770675659180e-01 9.298731088638305664e-01 8.324798345565795898e-01 1.000000000000000000e+00 -9.972933530807495117e-01 9.280276894569396973e-01 8.280507326126098633e-01 1.000000000000000000e+00 -9.971703290939331055e-01 9.261822104454040527e-01 8.236216902732849121e-01 1.000000000000000000e+00 -9.970473051071166992e-01 9.243367910385131836e-01 8.191926479339599609e-01 1.000000000000000000e+00 -9.969242811203002930e-01 9.224913716316223145e-01 8.147635459899902344e-01 1.000000000000000000e+00 -9.968012571334838867e-01 9.206458926200866699e-01 8.103345036506652832e-01 1.000000000000000000e+00 -9.966781735420227051e-01 9.188004732131958008e-01 8.059054017066955566e-01 1.000000000000000000e+00 -9.965551495552062988e-01 9.169549942016601562e-01 8.014763593673706055e-01 1.000000000000000000e+00 -9.964321255683898926e-01 9.151095747947692871e-01 7.970473170280456543e-01 1.000000000000000000e+00 -9.963091015815734863e-01 9.132641553878784180e-01 7.926182150840759277e-01 1.000000000000000000e+00 -9.961860775947570801e-01 9.114186763763427734e-01 7.881891727447509766e-01 1.000000000000000000e+00 -9.960630536079406738e-01 9.094963669776916504e-01 7.836678028106689453e-01 1.000000000000000000e+00 -9.959400296211242676e-01 9.070357680320739746e-01 7.785005569458007812e-01 1.000000000000000000e+00 -9.958170056343078613e-01 9.045751690864562988e-01 7.733333110809326172e-01 1.000000000000000000e+00 -9.956939816474914551e-01 9.021145701408386230e-01 7.681660652160644531e-01 1.000000000000000000e+00 -9.955709576606750488e-01 8.996539711952209473e-01 7.629988193511962891e-01 1.000000000000000000e+00 -9.954479336738586426e-01 8.971933722496032715e-01 7.578315734863281250e-01 1.000000000000000000e+00 -9.953248500823974609e-01 8.947327733039855957e-01 7.526643872261047363e-01 1.000000000000000000e+00 -9.952018260955810547e-01 8.922721743583679199e-01 7.474971413612365723e-01 1.000000000000000000e+00 -9.950788021087646484e-01 8.898116350173950195e-01 7.423298954963684082e-01 1.000000000000000000e+00 -9.949557781219482422e-01 8.873510360717773438e-01 7.371626496315002441e-01 1.000000000000000000e+00 -9.948327541351318359e-01 8.848904371261596680e-01 7.319954037666320801e-01 1.000000000000000000e+00 -9.947097301483154297e-01 8.824298381805419922e-01 7.268281579017639160e-01 1.000000000000000000e+00 -9.945867061614990234e-01 8.799692392349243164e-01 7.216609120368957520e-01 1.000000000000000000e+00 -9.944636821746826172e-01 8.775086402893066406e-01 7.164936661720275879e-01 1.000000000000000000e+00 -9.943406581878662109e-01 8.750480413436889648e-01 7.113264203071594238e-01 1.000000000000000000e+00 -9.942176342010498047e-01 8.725874423980712891e-01 7.061591744422912598e-01 1.000000000000000000e+00 -9.940945506095886230e-01 8.701269030570983887e-01 7.009919285774230957e-01 1.000000000000000000e+00 -9.939715266227722168e-01 8.676663041114807129e-01 6.958246827125549316e-01 1.000000000000000000e+00 -9.938485026359558105e-01 8.652057051658630371e-01 6.906574368476867676e-01 1.000000000000000000e+00 -9.937254786491394043e-01 8.627451062202453613e-01 6.854901909828186035e-01 1.000000000000000000e+00 -9.936024546623229980e-01 8.602845072746276855e-01 6.803229451179504395e-01 1.000000000000000000e+00 -9.934794306755065918e-01 8.578239083290100098e-01 6.751556992530822754e-01 1.000000000000000000e+00 -9.933564066886901855e-01 8.553633093833923340e-01 6.699884533882141113e-01 1.000000000000000000e+00 -9.932333827018737793e-01 8.529027104377746582e-01 6.648212075233459473e-01 1.000000000000000000e+00 -9.931103587150573730e-01 8.504421114921569824e-01 6.596539616584777832e-01 1.000000000000000000e+00 -9.929873347282409668e-01 8.479815721511840820e-01 6.544867157936096191e-01 1.000000000000000000e+00 -9.928643107414245605e-01 8.455209732055664062e-01 6.493194699287414551e-01 1.000000000000000000e+00 -9.927412271499633789e-01 8.430603742599487305e-01 6.441522240638732910e-01 1.000000000000000000e+00 -9.926182031631469727e-01 8.405997753143310547e-01 6.389849781990051270e-01 1.000000000000000000e+00 -9.924951791763305664e-01 8.381391763687133789e-01 6.338177919387817383e-01 1.000000000000000000e+00 -9.923721551895141602e-01 8.356785774230957031e-01 6.286505460739135742e-01 1.000000000000000000e+00 -9.922491312026977539e-01 8.332179784774780273e-01 6.234833002090454102e-01 1.000000000000000000e+00 -9.921568632125854492e-01 8.306035995483398438e-01 6.188081502914428711e-01 1.000000000000000000e+00 -9.921568632125854492e-01 8.275278806686401367e-01 6.156094074249267578e-01 1.000000000000000000e+00 -9.921568632125854492e-01 8.244521617889404297e-01 6.124106049537658691e-01 1.000000000000000000e+00 -9.921568632125854492e-01 8.213763833045959473e-01 6.092118620872497559e-01 1.000000000000000000e+00 -9.921568632125854492e-01 8.183006644248962402e-01 6.060130596160888672e-01 1.000000000000000000e+00 -9.921568632125854492e-01 8.152248859405517578e-01 6.028143167495727539e-01 1.000000000000000000e+00 -9.921568632125854492e-01 8.121491670608520508e-01 5.996155142784118652e-01 1.000000000000000000e+00 -9.921568632125854492e-01 8.090734481811523438e-01 5.964167714118957520e-01 1.000000000000000000e+00 -9.921568632125854492e-01 8.059976696968078613e-01 5.932179689407348633e-01 1.000000000000000000e+00 -9.921568632125854492e-01 8.029219508171081543e-01 5.900192260742187500e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.998462319374084473e-01 5.868204832077026367e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.967704534530639648e-01 5.836216807365417480e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.936947345733642578e-01 5.804229378700256348e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.906190156936645508e-01 5.772241353988647461e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.875432372093200684e-01 5.740253925323486328e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.844675183296203613e-01 5.708265900611877441e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.813917994499206543e-01 5.676278471946716309e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.783160209655761719e-01 5.644290447235107422e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.752403020858764648e-01 5.612303018569946289e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.721645236015319824e-01 5.580314993858337402e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.690888047218322754e-01 5.548327565193176270e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.660130858421325684e-01 5.516340136528015137e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.629373073577880859e-01 5.484352111816406250e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.598615884780883789e-01 5.452364683151245117e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.567858695983886719e-01 5.420376658439636230e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.537100911140441895e-01 5.388389229774475098e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.506343722343444824e-01 5.356401205062866211e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.475586533546447754e-01 5.324413776397705078e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.444828748703002930e-01 5.292425751686096191e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.414071559906005859e-01 5.260438323020935059e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.383314371109008789e-01 5.228450298309326172e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.352556586265563965e-01 5.196462869644165039e-01 1.000000000000000000e+00 -9.921107292175292969e-01 7.312110662460327148e-01 5.156632065773010254e-01 1.000000000000000000e+00 -9.919877052307128906e-01 7.255517244338989258e-01 5.103729367256164551e-01 1.000000000000000000e+00 -9.918646812438964844e-01 7.198923230171203613e-01 5.050826668739318848e-01 1.000000000000000000e+00 -9.917416572570800781e-01 7.142329812049865723e-01 4.997923970222473145e-01 1.000000000000000000e+00 -9.916186332702636719e-01 7.085736393928527832e-01 4.945021271705627441e-01 1.000000000000000000e+00 -9.914955496788024902e-01 7.029142379760742188e-01 4.892118275165557861e-01 1.000000000000000000e+00 -9.913725256919860840e-01 6.972548961639404297e-01 4.839215576648712158e-01 1.000000000000000000e+00 -9.912495017051696777e-01 6.915955543518066406e-01 4.786312878131866455e-01 1.000000000000000000e+00 -9.911264777183532715e-01 6.859361529350280762e-01 4.733410179615020752e-01 1.000000000000000000e+00 -9.910034537315368652e-01 6.802768111228942871e-01 4.680507481098175049e-01 1.000000000000000000e+00 -9.908804297447204590e-01 6.746174693107604980e-01 4.627604782581329346e-01 1.000000000000000000e+00 -9.907574057579040527e-01 6.689580678939819336e-01 4.574702084064483643e-01 1.000000000000000000e+00 -9.906343817710876465e-01 6.632987260818481445e-01 4.521799385547637939e-01 1.000000000000000000e+00 -9.905113577842712402e-01 6.576393842697143555e-01 4.468896687030792236e-01 1.000000000000000000e+00 -9.903883337974548340e-01 6.519799828529357910e-01 4.415993988513946533e-01 1.000000000000000000e+00 -9.902653098106384277e-01 6.463206410408020020e-01 4.363090991973876953e-01 1.000000000000000000e+00 -9.901422262191772461e-01 6.406612992286682129e-01 4.310188293457031250e-01 1.000000000000000000e+00 -9.900192022323608398e-01 6.350018978118896484e-01 4.257285594940185547e-01 1.000000000000000000e+00 -9.898961782455444336e-01 6.293425559997558594e-01 4.204382896423339844e-01 1.000000000000000000e+00 -9.897731542587280273e-01 6.236832141876220703e-01 4.151480197906494141e-01 1.000000000000000000e+00 -9.896501302719116211e-01 6.180238127708435059e-01 4.098577499389648438e-01 1.000000000000000000e+00 -9.895271062850952148e-01 6.123644709587097168e-01 4.045674800872802734e-01 1.000000000000000000e+00 -9.894040822982788086e-01 6.067051291465759277e-01 3.992772102355957031e-01 1.000000000000000000e+00 -9.892810583114624023e-01 6.010457277297973633e-01 3.939869403839111328e-01 1.000000000000000000e+00 -9.891580343246459961e-01 5.953863859176635742e-01 3.886966407299041748e-01 1.000000000000000000e+00 -9.890350103378295898e-01 5.897270441055297852e-01 3.834063708782196045e-01 1.000000000000000000e+00 -9.889119863510131836e-01 5.840676426887512207e-01 3.781161010265350342e-01 1.000000000000000000e+00 -9.887889027595520020e-01 5.784083008766174316e-01 3.728258311748504639e-01 1.000000000000000000e+00 -9.886658787727355957e-01 5.727489590644836426e-01 3.675355613231658936e-01 1.000000000000000000e+00 -9.885428547859191895e-01 5.670895576477050781e-01 3.622452914714813232e-01 1.000000000000000000e+00 -9.884198307991027832e-01 5.614302158355712891e-01 3.569550216197967529e-01 1.000000000000000000e+00 -9.882968068122863770e-01 5.557708740234375000e-01 3.516647517681121826e-01 1.000000000000000000e+00 -9.874355792999267578e-01 5.504806041717529297e-01 3.479738533496856689e-01 1.000000000000000000e+00 -9.858362078666687012e-01 5.455594062805175781e-01 3.458823561668395996e-01 1.000000000000000000e+00 -9.842368364334106445e-01 5.406382083892822266e-01 3.437908589839935303e-01 1.000000000000000000e+00 -9.826374650001525879e-01 5.357170104980468750e-01 3.416993319988250732e-01 1.000000000000000000e+00 -9.810380339622497559e-01 5.307958722114562988e-01 3.396078348159790039e-01 1.000000000000000000e+00 -9.794386625289916992e-01 5.258746743202209473e-01 3.375163376331329346e-01 1.000000000000000000e+00 -9.778392910957336426e-01 5.209534764289855957e-01 3.354248404502868652e-01 1.000000000000000000e+00 -9.762399196624755859e-01 5.160322785377502441e-01 3.333333432674407959e-01 1.000000000000000000e+00 -9.746405482292175293e-01 5.111111402511596680e-01 3.312418162822723389e-01 1.000000000000000000e+00 -9.730411171913146973e-01 5.061899423599243164e-01 3.291503190994262695e-01 1.000000000000000000e+00 -9.714417457580566406e-01 5.012687444686889648e-01 3.270588219165802002e-01 1.000000000000000000e+00 -9.698423743247985840e-01 4.963475465774536133e-01 3.249673247337341309e-01 1.000000000000000000e+00 -9.682430028915405273e-01 4.914263784885406494e-01 3.228758275508880615e-01 1.000000000000000000e+00 -9.666435718536376953e-01 4.865051805973052979e-01 3.207843005657196045e-01 1.000000000000000000e+00 -9.650442004203796387e-01 4.815840125083923340e-01 3.186928033828735352e-01 1.000000000000000000e+00 -9.634448289871215820e-01 4.766628146171569824e-01 3.166013062000274658e-01 1.000000000000000000e+00 -9.618454575538635254e-01 4.717416465282440186e-01 3.145098090171813965e-01 1.000000000000000000e+00 -9.602460861206054688e-01 4.668204486370086670e-01 3.124183118343353271e-01 1.000000000000000000e+00 -9.586466550827026367e-01 4.618992805480957031e-01 3.103267848491668701e-01 1.000000000000000000e+00 -9.570472836494445801e-01 4.569780826568603516e-01 3.082352876663208008e-01 1.000000000000000000e+00 -9.554479122161865234e-01 4.520569145679473877e-01 3.061437904834747314e-01 1.000000000000000000e+00 -9.538485407829284668e-01 4.471357166767120361e-01 3.040522933006286621e-01 1.000000000000000000e+00 -9.522491097450256348e-01 4.422145187854766846e-01 3.019607961177825928e-01 1.000000000000000000e+00 -9.506497383117675781e-01 4.372933506965637207e-01 2.998692691326141357e-01 1.000000000000000000e+00 -9.490503668785095215e-01 4.323721528053283691e-01 2.977777719497680664e-01 1.000000000000000000e+00 -9.474509954452514648e-01 4.274509847164154053e-01 2.956862747669219971e-01 1.000000000000000000e+00 -9.458516240119934082e-01 4.225297868251800537e-01 2.935947775840759277e-01 1.000000000000000000e+00 -9.442521929740905762e-01 4.176086187362670898e-01 2.915032804012298584e-01 1.000000000000000000e+00 -9.426528215408325195e-01 4.126874208450317383e-01 2.894117534160614014e-01 1.000000000000000000e+00 -9.410534501075744629e-01 4.077662527561187744e-01 2.873202562332153320e-01 1.000000000000000000e+00 -9.394540786743164062e-01 4.028450548648834229e-01 2.852287590503692627e-01 1.000000000000000000e+00 -9.378546476364135742e-01 3.979238867759704590e-01 2.831372618675231934e-01 1.000000000000000000e+00 -9.354094862937927246e-01 3.920030891895294189e-01 2.792003154754638672e-01 1.000000000000000000e+00 -9.324567317962646484e-01 3.854825198650360107e-01 2.741560935974121094e-01 1.000000000000000000e+00 -9.295040369033813477e-01 3.789619505405426025e-01 2.691118717193603516e-01 1.000000000000000000e+00 -9.265513420104980469e-01 3.724413812160491943e-01 2.640676796436309814e-01 1.000000000000000000e+00 -9.235985875129699707e-01 3.659208118915557861e-01 2.590234577655792236e-01 1.000000000000000000e+00 -9.206458926200866699e-01 3.594002425670623779e-01 2.539792358875274658e-01 1.000000000000000000e+00 -9.176931977272033691e-01 3.528796732425689697e-01 2.489350289106369019e-01 1.000000000000000000e+00 -9.147405028343200684e-01 3.463591039180755615e-01 2.438908070325851440e-01 1.000000000000000000e+00 -9.117877483367919922e-01 3.398385345935821533e-01 2.388466000556945801e-01 1.000000000000000000e+00 -9.088350534439086914e-01 3.333179652690887451e-01 2.338023781776428223e-01 1.000000000000000000e+00 -9.058823585510253906e-01 3.267973959445953369e-01 2.287581712007522583e-01 1.000000000000000000e+00 -9.029296636581420898e-01 3.202768266201019287e-01 2.237139493227005005e-01 1.000000000000000000e+00 -8.999769091606140137e-01 3.137562572956085205e-01 2.186697423458099365e-01 1.000000000000000000e+00 -8.970242142677307129e-01 3.072356879711151123e-01 2.136255353689193726e-01 1.000000000000000000e+00 -8.940715193748474121e-01 3.007151186466217041e-01 2.085813134908676147e-01 1.000000000000000000e+00 -8.911188244819641113e-01 2.941945493221282959e-01 2.035371065139770508e-01 1.000000000000000000e+00 -8.881660699844360352e-01 2.876739799976348877e-01 1.984928846359252930e-01 1.000000000000000000e+00 -8.852133750915527344e-01 2.811534106731414795e-01 1.934486776590347290e-01 1.000000000000000000e+00 -8.822606801986694336e-01 2.746328413486480713e-01 1.884044557809829712e-01 1.000000000000000000e+00 -8.793079853057861328e-01 2.681122720241546631e-01 1.833602488040924072e-01 1.000000000000000000e+00 -8.763552308082580566e-01 2.615917026996612549e-01 1.783160269260406494e-01 1.000000000000000000e+00 -8.734025359153747559e-01 2.550711333751678467e-01 1.732718199491500854e-01 1.000000000000000000e+00 -8.704498410224914551e-01 2.485505640506744385e-01 1.682275980710983276e-01 1.000000000000000000e+00 -8.674971461296081543e-01 2.420299947261810303e-01 1.631833910942077637e-01 1.000000000000000000e+00 -8.645443916320800781e-01 2.355094254016876221e-01 1.581391841173171997e-01 1.000000000000000000e+00 -8.615916967391967773e-01 2.289888560771942139e-01 1.530949622392654419e-01 1.000000000000000000e+00 -8.586390018463134766e-01 2.224682867527008057e-01 1.480507552623748779e-01 1.000000000000000000e+00 -8.556862473487854004e-01 2.159477174282073975e-01 1.430065333843231201e-01 1.000000000000000000e+00 -8.527335524559020996e-01 2.094271481037139893e-01 1.379623264074325562e-01 1.000000000000000000e+00 -8.497808575630187988e-01 2.029065787792205811e-01 1.329181045293807983e-01 1.000000000000000000e+00 -8.468281626701354980e-01 1.963860094547271729e-01 1.278738975524902344e-01 1.000000000000000000e+00 -8.438754081726074219e-01 1.898654401302337646e-01 1.228296831250190735e-01 1.000000000000000000e+00 -8.398154377937316895e-01 1.838062256574630737e-01 1.187081858515739441e-01 1.000000000000000000e+00 -8.353863954544067383e-01 1.779008060693740845e-01 1.148942708969116211e-01 1.000000000000000000e+00 -8.309573531150817871e-01 1.719953864812850952e-01 1.110803559422492981e-01 1.000000000000000000e+00 -8.265282511711120605e-01 1.660899668931961060e-01 1.072664335370063782e-01 1.000000000000000000e+00 -8.220992088317871094e-01 1.601845473051071167e-01 1.034525185823440552e-01 1.000000000000000000e+00 -8.176701068878173828e-01 1.542791277170181274e-01 9.963860362768173218e-02 1.000000000000000000e+00 -8.132410645484924316e-01 1.483737081289291382e-01 9.582468122243881226e-02 1.000000000000000000e+00 -8.088120222091674805e-01 1.424682885408401489e-01 9.201076626777648926e-02 1.000000000000000000e+00 -8.043829202651977539e-01 1.365628540515899658e-01 8.819684386253356934e-02 1.000000000000000000e+00 -7.999538779258728027e-01 1.306574344635009766e-01 8.438292890787124634e-02 1.000000000000000000e+00 -7.955247759819030762e-01 1.247520148754119873e-01 8.056901395320892334e-02 1.000000000000000000e+00 -7.910957336425781250e-01 1.188465952873229980e-01 7.675509154796600342e-02 1.000000000000000000e+00 -7.866666913032531738e-01 1.129411756992340088e-01 7.294117659330368042e-02 1.000000000000000000e+00 -7.822375893592834473e-01 1.070357561111450195e-01 6.912726163864135742e-02 1.000000000000000000e+00 -7.778085470199584961e-01 1.011303365230560303e-01 6.531333923339843750e-02 1.000000000000000000e+00 -7.733794450759887695e-01 9.522491693496704102e-02 6.149942427873611450e-02 1.000000000000000000e+00 -7.689504027366638184e-01 8.931948989629745483e-02 5.768550559878349304e-02 1.000000000000000000e+00 -7.645213603973388672e-01 8.341407030820846558e-02 5.387158691883087158e-02 1.000000000000000000e+00 -7.600922584533691406e-01 7.750865072011947632e-02 5.005767196416854858e-02 1.000000000000000000e+00 -7.556632161140441895e-01 7.160323113203048706e-02 4.624375328421592712e-02 1.000000000000000000e+00 -7.512341141700744629e-01 6.569781154394149780e-02 4.242983460426330566e-02 1.000000000000000000e+00 -7.468050718307495117e-01 5.979238823056221008e-02 3.861591592431068420e-02 1.000000000000000000e+00 -7.423760294914245605e-01 5.388696491718292236e-02 3.480200096964836121e-02 1.000000000000000000e+00 -7.379469275474548340e-01 4.798154532909393311e-02 3.098808228969573975e-02 1.000000000000000000e+00 -7.335178852081298828e-01 4.207612574100494385e-02 2.717416360974311829e-02 1.000000000000000000e+00 -7.290887832641601562e-01 3.617070242762565613e-02 2.336024679243564606e-02 1.000000000000000000e+00 -7.246597409248352051e-01 3.026528283953666687e-02 1.954632811248302460e-02 1.000000000000000000e+00 -7.202306985855102539e-01 2.435986138880252838e-02 1.573241129517555237e-02 1.000000000000000000e+00 -7.158015966415405273e-01 1.845443993806838989e-02 1.191849261522293091e-02 1.000000000000000000e+00 -7.113725543022155762e-01 1.254901941865682602e-02 8.104574866592884064e-03 1.000000000000000000e+00 -7.069435119628906250e-01 6.643598433583974838e-03 4.290657583624124527e-03 1.000000000000000000e+00 -7.025144100189208984e-01 7.381776231341063976e-04 4.767397185787558556e-04 1.000000000000000000e+00 -6.963629126548767090e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.899654269218444824e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.835678815841674805e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.771703362464904785e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.707727909088134766e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.643752455711364746e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.579777002334594727e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.515801548957824707e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.451826095581054688e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.387850642204284668e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.323875188827514648e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.259900331497192383e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.195924878120422363e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.131949424743652344e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.067973971366882324e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.003998517990112305e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.940023064613342285e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.876047611236572266e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.812072157859802246e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.748096704483032227e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.684121251106262207e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.620146393775939941e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.556170940399169922e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.492195487022399902e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.428220033645629883e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.364244580268859863e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.300269126892089844e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.236293673515319824e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.172318220138549805e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.108342766761779785e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.044367313385009766e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.980392158031463623e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/Oranges b/fastplotlib/utils/colormaps/Oranges deleted file mode 100644 index 26534a14b..000000000 --- a/fastplotlib/utils/colormaps/Oranges +++ /dev/null @@ -1,256 +0,0 @@ -1.000000000000000000e+00 9.607843160629272461e-01 9.215686321258544922e-01 1.000000000000000000e+00 -9.998769760131835938e-01 9.589388966560363770e-01 9.180007576942443848e-01 1.000000000000000000e+00 -9.997539520263671875e-01 9.570934176445007324e-01 9.144328832626342773e-01 1.000000000000000000e+00 -9.996309280395507812e-01 9.552479982376098633e-01 9.108650684356689453e-01 1.000000000000000000e+00 -9.995079040527343750e-01 9.534025192260742188e-01 9.072971940040588379e-01 1.000000000000000000e+00 -9.993848800659179688e-01 9.515570998191833496e-01 9.037293195724487305e-01 1.000000000000000000e+00 -9.992617964744567871e-01 9.497116208076477051e-01 9.001615047454833984e-01 1.000000000000000000e+00 -9.991387724876403809e-01 9.478662014007568359e-01 8.965936303138732910e-01 1.000000000000000000e+00 -9.990157485008239746e-01 9.460207819938659668e-01 8.930257558822631836e-01 1.000000000000000000e+00 -9.988927245140075684e-01 9.441753029823303223e-01 8.894578814506530762e-01 1.000000000000000000e+00 -9.987697005271911621e-01 9.423298835754394531e-01 8.858900666236877441e-01 1.000000000000000000e+00 -9.986466765403747559e-01 9.404844045639038086e-01 8.823221921920776367e-01 1.000000000000000000e+00 -9.985236525535583496e-01 9.386389851570129395e-01 8.787543177604675293e-01 1.000000000000000000e+00 -9.984006285667419434e-01 9.367935657501220703e-01 8.751864433288574219e-01 1.000000000000000000e+00 -9.982776045799255371e-01 9.349480867385864258e-01 8.716186285018920898e-01 1.000000000000000000e+00 -9.981545805931091309e-01 9.331026673316955566e-01 8.680507540702819824e-01 1.000000000000000000e+00 -9.980314970016479492e-01 9.312571883201599121e-01 8.644828796386718750e-01 1.000000000000000000e+00 -9.979084730148315430e-01 9.294117689132690430e-01 8.609150052070617676e-01 1.000000000000000000e+00 -9.977854490280151367e-01 9.275663495063781738e-01 8.573471903800964355e-01 1.000000000000000000e+00 -9.976624250411987305e-01 9.257208704948425293e-01 8.537793159484863281e-01 1.000000000000000000e+00 -9.975394010543823242e-01 9.238754510879516602e-01 8.502114415168762207e-01 1.000000000000000000e+00 -9.974163770675659180e-01 9.220299720764160156e-01 8.466436266899108887e-01 1.000000000000000000e+00 -9.972933530807495117e-01 9.201845526695251465e-01 8.430757522583007812e-01 1.000000000000000000e+00 -9.971703290939331055e-01 9.183390736579895020e-01 8.395078778266906738e-01 1.000000000000000000e+00 -9.970473051071166992e-01 9.164936542510986328e-01 8.359400033950805664e-01 1.000000000000000000e+00 -9.969242811203002930e-01 9.146482348442077637e-01 8.323721885681152344e-01 1.000000000000000000e+00 -9.968012571334838867e-01 9.128027558326721191e-01 8.288043141365051270e-01 1.000000000000000000e+00 -9.966781735420227051e-01 9.109573364257812500e-01 8.252364397048950195e-01 1.000000000000000000e+00 -9.965551495552062988e-01 9.091118574142456055e-01 8.216685652732849121e-01 1.000000000000000000e+00 -9.964321255683898926e-01 9.072664380073547363e-01 8.181007504463195801e-01 1.000000000000000000e+00 -9.963091015815734863e-01 9.054210186004638672e-01 8.145328760147094727e-01 1.000000000000000000e+00 -9.961860775947570801e-01 9.035755395889282227e-01 8.109650015830993652e-01 1.000000000000000000e+00 -9.960630536079406738e-01 9.016224741935729980e-01 8.071664571762084961e-01 1.000000000000000000e+00 -9.959400296211242676e-01 8.989158272743225098e-01 8.017531633377075195e-01 1.000000000000000000e+00 -9.958170056343078613e-01 8.962091207504272461e-01 7.963398694992065430e-01 1.000000000000000000e+00 -9.956939816474914551e-01 8.935024738311767578e-01 7.909265756607055664e-01 1.000000000000000000e+00 -9.955709576606750488e-01 8.907958269119262695e-01 7.855132818222045898e-01 1.000000000000000000e+00 -9.954479336738586426e-01 8.880891799926757812e-01 7.800999879837036133e-01 1.000000000000000000e+00 -9.953248500823974609e-01 8.853825330734252930e-01 7.746866345405578613e-01 1.000000000000000000e+00 -9.952018260955810547e-01 8.826758861541748047e-01 7.692733407020568848e-01 1.000000000000000000e+00 -9.950788021087646484e-01 8.799692392349243164e-01 7.638600468635559082e-01 1.000000000000000000e+00 -9.949557781219482422e-01 8.772625923156738281e-01 7.584467530250549316e-01 1.000000000000000000e+00 -9.948327541351318359e-01 8.745559453964233398e-01 7.530334591865539551e-01 1.000000000000000000e+00 -9.947097301483154297e-01 8.718492984771728516e-01 7.476201653480529785e-01 1.000000000000000000e+00 -9.945867061614990234e-01 8.691426515579223633e-01 7.422068715095520020e-01 1.000000000000000000e+00 -9.944636821746826172e-01 8.664360046386718750e-01 7.367935180664062500e-01 1.000000000000000000e+00 -9.943406581878662109e-01 8.637293577194213867e-01 7.313802242279052734e-01 1.000000000000000000e+00 -9.942176342010498047e-01 8.610227108001708984e-01 7.259669303894042969e-01 1.000000000000000000e+00 -9.940945506095886230e-01 8.583160042762756348e-01 7.205536365509033203e-01 1.000000000000000000e+00 -9.939715266227722168e-01 8.556093573570251465e-01 7.151403427124023438e-01 1.000000000000000000e+00 -9.938485026359558105e-01 8.529027104377746582e-01 7.097270488739013672e-01 1.000000000000000000e+00 -9.937254786491394043e-01 8.501960635185241699e-01 7.043137550354003906e-01 1.000000000000000000e+00 -9.936024546623229980e-01 8.474894165992736816e-01 6.989004015922546387e-01 1.000000000000000000e+00 -9.934794306755065918e-01 8.447827696800231934e-01 6.934871077537536621e-01 1.000000000000000000e+00 -9.933564066886901855e-01 8.420761227607727051e-01 6.880738139152526855e-01 1.000000000000000000e+00 -9.932333827018737793e-01 8.393694758415222168e-01 6.826605200767517090e-01 1.000000000000000000e+00 -9.931103587150573730e-01 8.366628289222717285e-01 6.772472262382507324e-01 1.000000000000000000e+00 -9.929873347282409668e-01 8.339561820030212402e-01 6.718339323997497559e-01 1.000000000000000000e+00 -9.928643107414245605e-01 8.312495350837707520e-01 6.664205789566040039e-01 1.000000000000000000e+00 -9.927412271499633789e-01 8.285428881645202637e-01 6.610072851181030273e-01 1.000000000000000000e+00 -9.926182031631469727e-01 8.258362412452697754e-01 6.555939912796020508e-01 1.000000000000000000e+00 -9.924951791763305664e-01 8.231295943260192871e-01 6.501806974411010742e-01 1.000000000000000000e+00 -9.923721551895141602e-01 8.204228878021240234e-01 6.447674036026000977e-01 1.000000000000000000e+00 -9.922491312026977539e-01 8.177162408828735352e-01 6.393541097640991211e-01 1.000000000000000000e+00 -9.921568632125854492e-01 8.146405220031738281e-01 6.336024403572082520e-01 1.000000000000000000e+00 -9.921568632125854492e-01 8.104575276374816895e-01 6.268358230590820312e-01 1.000000000000000000e+00 -9.921568632125854492e-01 8.062745332717895508e-01 6.200692057609558105e-01 1.000000000000000000e+00 -9.921568632125854492e-01 8.020914793014526367e-01 6.133025884628295898e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.979084849357604980e-01 6.065359711647033691e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.937254905700683594e-01 5.997692942619323730e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.895424962043762207e-01 5.930026769638061523e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.853595018386840820e-01 5.862360596656799316e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.811764478683471680e-01 5.794694423675537109e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.769934535026550293e-01 5.727028250694274902e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.728104591369628906e-01 5.659362077713012695e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.686274647712707520e-01 5.591695308685302734e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.644444704055786133e-01 5.524029135704040527e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.602614164352416992e-01 5.456362962722778320e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.560784220695495605e-01 5.388696789741516113e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.518954277038574219e-01 5.321030616760253906e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.477124333381652832e-01 5.253363847732543945e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.435294389724731445e-01 5.185697674751281738e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.393463850021362305e-01 5.118031501770019531e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.351633906364440918e-01 5.050365328788757324e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.309803962707519531e-01 4.982698857784271240e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.267974019050598145e-01 4.915032684803009033e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.226144075393676758e-01 4.847366511821746826e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.184313535690307617e-01 4.779700040817260742e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.142483592033386230e-01 4.712033867835998535e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.100653648376464844e-01 4.644367694854736328e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.058823704719543457e-01 4.576701223850250244e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.016993761062622070e-01 4.509035050868988037e-01 1.000000000000000000e+00 -9.921568632125854492e-01 6.975163221359252930e-01 4.441368579864501953e-01 1.000000000000000000e+00 -9.921568632125854492e-01 6.933333277702331543e-01 4.373702406883239746e-01 1.000000000000000000e+00 -9.921568632125854492e-01 6.891503334045410156e-01 4.306036233901977539e-01 1.000000000000000000e+00 -9.921568632125854492e-01 6.849673390388488770e-01 4.238369762897491455e-01 1.000000000000000000e+00 -9.921568632125854492e-01 6.808304786682128906e-01 4.174394607543945312e-01 1.000000000000000000e+00 -9.921568632125854492e-01 6.767704486846923828e-01 4.116570651531219482e-01 1.000000000000000000e+00 -9.921568632125854492e-01 6.727104783058166504e-01 4.058746695518493652e-01 1.000000000000000000e+00 -9.921568632125854492e-01 6.686505079269409180e-01 4.000922739505767822e-01 1.000000000000000000e+00 -9.921568632125854492e-01 6.645905375480651855e-01 3.943098783493041992e-01 1.000000000000000000e+00 -9.921568632125854492e-01 6.605305671691894531e-01 3.885274827480316162e-01 1.000000000000000000e+00 -9.921568632125854492e-01 6.564705967903137207e-01 3.827450871467590332e-01 1.000000000000000000e+00 -9.921568632125854492e-01 6.524106264114379883e-01 3.769627213478088379e-01 1.000000000000000000e+00 -9.921568632125854492e-01 6.483506560325622559e-01 3.711803257465362549e-01 1.000000000000000000e+00 -9.921568632125854492e-01 6.442906856536865234e-01 3.653979301452636719e-01 1.000000000000000000e+00 -9.921568632125854492e-01 6.402306556701660156e-01 3.596155345439910889e-01 1.000000000000000000e+00 -9.921568632125854492e-01 6.361706852912902832e-01 3.538331389427185059e-01 1.000000000000000000e+00 -9.921568632125854492e-01 6.321107149124145508e-01 3.480507433414459229e-01 1.000000000000000000e+00 -9.921568632125854492e-01 6.280507445335388184e-01 3.422683477401733398e-01 1.000000000000000000e+00 -9.921568632125854492e-01 6.239907741546630859e-01 3.364859521389007568e-01 1.000000000000000000e+00 -9.921568632125854492e-01 6.199308037757873535e-01 3.307035863399505615e-01 1.000000000000000000e+00 -9.921568632125854492e-01 6.158708333969116211e-01 3.249211907386779785e-01 1.000000000000000000e+00 -9.921568632125854492e-01 6.118108630180358887e-01 3.191387951374053955e-01 1.000000000000000000e+00 -9.921568632125854492e-01 6.077508926391601562e-01 3.133563995361328125e-01 1.000000000000000000e+00 -9.921568632125854492e-01 6.036908626556396484e-01 3.075740039348602295e-01 1.000000000000000000e+00 -9.921568632125854492e-01 5.996308922767639160e-01 3.017916083335876465e-01 1.000000000000000000e+00 -9.921568632125854492e-01 5.955709218978881836e-01 2.960092127323150635e-01 1.000000000000000000e+00 -9.921568632125854492e-01 5.915109515190124512e-01 2.902268469333648682e-01 1.000000000000000000e+00 -9.921568632125854492e-01 5.874509811401367188e-01 2.844444513320922852e-01 1.000000000000000000e+00 -9.921568632125854492e-01 5.833910107612609863e-01 2.786620557308197021e-01 1.000000000000000000e+00 -9.921568632125854492e-01 5.793310403823852539e-01 2.728796601295471191e-01 1.000000000000000000e+00 -9.921568632125854492e-01 5.752710700035095215e-01 2.670972645282745361e-01 1.000000000000000000e+00 -9.921568632125854492e-01 5.712110996246337891e-01 2.613148689270019531e-01 1.000000000000000000e+00 -9.921568632125854492e-01 5.671510696411132812e-01 2.555324733257293701e-01 1.000000000000000000e+00 -9.921568632125854492e-01 5.630910992622375488e-01 2.497500926256179810e-01 1.000000000000000000e+00 -9.921568632125854492e-01 5.590311288833618164e-01 2.439677119255065918e-01 1.000000000000000000e+00 -9.921568632125854492e-01 5.549711585044860840e-01 2.381853163242340088e-01 1.000000000000000000e+00 -9.914186596870422363e-01 5.507266521453857422e-01 2.327720075845718384e-01 1.000000000000000000e+00 -9.899423122406005859e-01 5.462975502014160156e-01 2.277278006076812744e-01 1.000000000000000000e+00 -9.884659647941589355e-01 5.418685078620910645e-01 2.226835787296295166e-01 1.000000000000000000e+00 -9.869896173477172852e-01 5.374394655227661133e-01 2.176393717527389526e-01 1.000000000000000000e+00 -9.855132699012756348e-01 5.330103635787963867e-01 2.125951498746871948e-01 1.000000000000000000e+00 -9.840369224548339844e-01 5.285813212394714355e-01 2.075509428977966309e-01 1.000000000000000000e+00 -9.825605750083923340e-01 5.241522789001464844e-01 2.025067210197448730e-01 1.000000000000000000e+00 -9.810842275619506836e-01 5.197231769561767578e-01 1.974625140428543091e-01 1.000000000000000000e+00 -9.796078205108642578e-01 5.152941346168518066e-01 1.924183070659637451e-01 1.000000000000000000e+00 -9.781314730644226074e-01 5.108650326728820801e-01 1.873740851879119873e-01 1.000000000000000000e+00 -9.766551256179809570e-01 5.064359903335571289e-01 1.823298782110214233e-01 1.000000000000000000e+00 -9.751787781715393066e-01 5.020069479942321777e-01 1.772856563329696655e-01 1.000000000000000000e+00 -9.737024307250976562e-01 4.975778460502624512e-01 1.722414493560791016e-01 1.000000000000000000e+00 -9.722260832786560059e-01 4.931488037109375000e-01 1.671972274780273438e-01 1.000000000000000000e+00 -9.707497358322143555e-01 4.887197315692901611e-01 1.621530205011367798e-01 1.000000000000000000e+00 -9.692733287811279297e-01 4.842906594276428223e-01 1.571087986230850220e-01 1.000000000000000000e+00 -9.677969813346862793e-01 4.798615872859954834e-01 1.520645916461944580e-01 1.000000000000000000e+00 -9.663206338882446289e-01 4.754325151443481445e-01 1.470203697681427002e-01 1.000000000000000000e+00 -9.648442864418029785e-01 4.710034728050231934e-01 1.419761627912521362e-01 1.000000000000000000e+00 -9.633679389953613281e-01 4.665744006633758545e-01 1.369319558143615723e-01 1.000000000000000000e+00 -9.618915915489196777e-01 4.621453285217285156e-01 1.318877339363098145e-01 1.000000000000000000e+00 -9.604152441024780273e-01 4.577162563800811768e-01 1.268435269594192505e-01 1.000000000000000000e+00 -9.589388966560363770e-01 4.532871842384338379e-01 1.217993050813674927e-01 1.000000000000000000e+00 -9.574624896049499512e-01 4.488581418991088867e-01 1.167550906538963318e-01 1.000000000000000000e+00 -9.559861421585083008e-01 4.444290697574615479e-01 1.117108836770057678e-01 1.000000000000000000e+00 -9.545097947120666504e-01 4.399999976158142090e-01 1.066666692495346069e-01 1.000000000000000000e+00 -9.530334472656250000e-01 4.355709254741668701e-01 1.016224548220634460e-01 1.000000000000000000e+00 -9.515570998191833496e-01 4.311418831348419189e-01 9.657824039459228516e-02 1.000000000000000000e+00 -9.500807523727416992e-01 4.267128109931945801e-01 9.153402596712112427e-02 1.000000000000000000e+00 -9.486044049263000488e-01 4.222837388515472412e-01 8.648981153964996338e-02 1.000000000000000000e+00 -9.471280574798583984e-01 4.178546667098999023e-01 8.144559711217880249e-02 1.000000000000000000e+00 -9.456516504287719727e-01 4.134255945682525635e-01 7.640138268470764160e-02 1.000000000000000000e+00 -9.432526230812072754e-01 4.092272222042083740e-01 7.312572002410888672e-02 1.000000000000000000e+00 -9.402998685836791992e-01 4.051672518253326416e-01 7.091119140386581421e-02 1.000000000000000000e+00 -9.373471736907958984e-01 4.011072516441345215e-01 6.869665533304214478e-02 1.000000000000000000e+00 -9.343944787979125977e-01 3.970472812652587891e-01 6.648211926221847534e-02 1.000000000000000000e+00 -9.314417243003845215e-01 3.929873108863830566e-01 6.426759064197540283e-02 1.000000000000000000e+00 -9.284890294075012207e-01 3.889273405075073242e-01 6.205305829644203186e-02 1.000000000000000000e+00 -9.255363345146179199e-01 3.848673701286315918e-01 5.983852222561836243e-02 1.000000000000000000e+00 -9.225836396217346191e-01 3.808073699474334717e-01 5.762398988008499146e-02 1.000000000000000000e+00 -9.196308851242065430e-01 3.767473995685577393e-01 5.540945753455162048e-02 1.000000000000000000e+00 -9.166781902313232422e-01 3.726874291896820068e-01 5.319492518901824951e-02 1.000000000000000000e+00 -9.137254953384399414e-01 3.686274588108062744e-01 5.098039284348487854e-02 1.000000000000000000e+00 -9.107728004455566406e-01 3.645674884319305420e-01 4.876586049795150757e-02 1.000000000000000000e+00 -9.078200459480285645e-01 3.605074882507324219e-01 4.655132815241813660e-02 1.000000000000000000e+00 -9.048673510551452637e-01 3.564475178718566895e-01 4.433679208159446716e-02 1.000000000000000000e+00 -9.019146561622619629e-01 3.523875474929809570e-01 4.212225973606109619e-02 1.000000000000000000e+00 -8.989619612693786621e-01 3.483275771141052246e-01 3.990772739052772522e-02 1.000000000000000000e+00 -8.960092067718505859e-01 3.442675769329071045e-01 3.769319504499435425e-02 1.000000000000000000e+00 -8.930565118789672852e-01 3.402076065540313721e-01 3.547866269946098328e-02 1.000000000000000000e+00 -8.901038169860839844e-01 3.361476361751556396e-01 3.326413035392761230e-02 1.000000000000000000e+00 -8.871511220932006836e-01 3.320876657962799072e-01 3.104959614574909210e-02 1.000000000000000000e+00 -8.841983675956726074e-01 3.280276954174041748e-01 2.883506380021572113e-02 1.000000000000000000e+00 -8.812456727027893066e-01 3.239676952362060547e-01 2.662053145468235016e-02 1.000000000000000000e+00 -8.782929778099060059e-01 3.199077248573303223e-01 2.440599724650382996e-02 1.000000000000000000e+00 -8.753402829170227051e-01 3.158477544784545898e-01 2.219146490097045898e-02 1.000000000000000000e+00 -8.723875284194946289e-01 3.117877840995788574e-01 1.997693255543708801e-02 1.000000000000000000e+00 -8.694348335266113281e-01 3.077277839183807373e-01 1.776239834725856781e-02 1.000000000000000000e+00 -8.664821386337280273e-01 3.036678135395050049e-01 1.554786600172519684e-02 1.000000000000000000e+00 -8.635293841361999512e-01 2.996078431606292725e-01 1.333333365619182587e-02 1.000000000000000000e+00 -8.605766892433166504e-01 2.955478727817535400e-01 1.111880037933588028e-02 1.000000000000000000e+00 -8.576239943504333496e-01 2.914879024028778076e-01 8.904268033802509308e-03 1.000000000000000000e+00 -8.546712994575500488e-01 2.874279022216796875e-01 6.689734756946563721e-03 1.000000000000000000e+00 -8.517185449600219727e-01 2.833679318428039551e-01 4.475201945751905441e-03 1.000000000000000000e+00 -8.462744951248168945e-01 2.806920409202575684e-01 4.106113221496343613e-03 1.000000000000000000e+00 -8.399999737739562988e-01 2.784775197505950928e-01 4.352172371000051498e-03 1.000000000000000000e+00 -8.337255120277404785e-01 2.762629687786102295e-01 4.598231520503759384e-03 1.000000000000000000e+00 -8.274509906768798828e-01 2.740484476089477539e-01 4.844290670007467270e-03 1.000000000000000000e+00 -8.211764693260192871e-01 2.718338966369628906e-01 5.090349819511175156e-03 1.000000000000000000e+00 -8.149019479751586914e-01 2.696193754673004150e-01 5.336408969014883041e-03 1.000000000000000000e+00 -8.086274266242980957e-01 2.674048542976379395e-01 5.582468118518590927e-03 1.000000000000000000e+00 -8.023529648780822754e-01 2.651903033256530762e-01 5.828527268022298813e-03 1.000000000000000000e+00 -7.960784435272216797e-01 2.629757821559906006e-01 6.074586883187294006e-03 1.000000000000000000e+00 -7.898039221763610840e-01 2.607612311840057373e-01 6.320646032691001892e-03 1.000000000000000000e+00 -7.835294008255004883e-01 2.585467100143432617e-01 6.566705182194709778e-03 1.000000000000000000e+00 -7.772548794746398926e-01 2.563321888446807861e-01 6.812764331698417664e-03 1.000000000000000000e+00 -7.709804177284240723e-01 2.541176378726959229e-01 7.058823481202125549e-03 1.000000000000000000e+00 -7.647058963775634766e-01 2.519031167030334473e-01 7.304882630705833435e-03 1.000000000000000000e+00 -7.584313750267028809e-01 2.496885806322097778e-01 7.550941780209541321e-03 1.000000000000000000e+00 -7.521568536758422852e-01 2.474740445613861084e-01 7.797000929713249207e-03 1.000000000000000000e+00 -7.458823323249816895e-01 2.452595084905624390e-01 8.043060079216957092e-03 1.000000000000000000e+00 -7.396078705787658691e-01 2.430449873208999634e-01 8.289119228720664978e-03 1.000000000000000000e+00 -7.333333492279052734e-01 2.408304512500762939e-01 8.535178378224372864e-03 1.000000000000000000e+00 -7.270588278770446777e-01 2.386159151792526245e-01 8.781237527728080750e-03 1.000000000000000000e+00 -7.207843065261840820e-01 2.364013791084289551e-01 9.027297608554363251e-03 1.000000000000000000e+00 -7.145097851753234863e-01 2.341868579387664795e-01 9.273356758058071136e-03 1.000000000000000000e+00 -7.082353234291076660e-01 2.319723218679428101e-01 9.519415907561779022e-03 1.000000000000000000e+00 -7.019608020782470703e-01 2.297577857971191406e-01 9.765475057065486908e-03 1.000000000000000000e+00 -6.956862807273864746e-01 2.275432497262954712e-01 1.001153420656919479e-02 1.000000000000000000e+00 -6.894117593765258789e-01 2.253287136554718018e-01 1.025759335607290268e-02 1.000000000000000000e+00 -6.831372380256652832e-01 2.231141924858093262e-01 1.050365250557661057e-02 1.000000000000000000e+00 -6.768627166748046875e-01 2.208996564149856567e-01 1.074971165508031845e-02 1.000000000000000000e+00 -6.705882549285888672e-01 2.186851203441619873e-01 1.099577080458402634e-02 1.000000000000000000e+00 -6.643137335777282715e-01 2.164705842733383179e-01 1.124182995408773422e-02 1.000000000000000000e+00 -6.580392122268676758e-01 2.142560482025146484e-01 1.148788910359144211e-02 1.000000000000000000e+00 -6.517646908760070801e-01 2.120415270328521729e-01 1.173394825309514999e-02 1.000000000000000000e+00 -6.467819809913635254e-01 2.101499438285827637e-01 1.187235675752162933e-02 1.000000000000000000e+00 -6.419838666915893555e-01 2.083044946193695068e-01 1.199538633227348328e-02 1.000000000000000000e+00 -6.371856927871704102e-01 2.064590603113174438e-01 1.211841590702533722e-02 1.000000000000000000e+00 -6.323875188827514648e-01 2.046136111021041870e-01 1.224144548177719116e-02 1.000000000000000000e+00 -6.275894045829772949e-01 2.027681618928909302e-01 1.236447505652904510e-02 1.000000000000000000e+00 -6.227912306785583496e-01 2.009227275848388672e-01 1.248750463128089905e-02 1.000000000000000000e+00 -6.179930567741394043e-01 1.990772783756256104e-01 1.261053420603275299e-02 1.000000000000000000e+00 -6.131949424743652344e-01 1.972318291664123535e-01 1.273356378078460693e-02 1.000000000000000000e+00 -6.083967685699462891e-01 1.953863948583602905e-01 1.285659335553646088e-02 1.000000000000000000e+00 -6.035985946655273438e-01 1.935409456491470337e-01 1.297962293028831482e-02 1.000000000000000000e+00 -5.988004803657531738e-01 1.916954964399337769e-01 1.310265250504016876e-02 1.000000000000000000e+00 -5.940023064613342285e-01 1.898500621318817139e-01 1.322568207979202271e-02 1.000000000000000000e+00 -5.892041325569152832e-01 1.880046129226684570e-01 1.334871165454387665e-02 1.000000000000000000e+00 -5.844060182571411133e-01 1.861591637134552002e-01 1.347174122929573059e-02 1.000000000000000000e+00 -5.796078443527221680e-01 1.843137294054031372e-01 1.359477080404758453e-02 1.000000000000000000e+00 -5.748096704483032227e-01 1.824682801961898804e-01 1.371780131012201309e-02 1.000000000000000000e+00 -5.700115561485290527e-01 1.806228309869766235e-01 1.384083088487386703e-02 1.000000000000000000e+00 -5.652133822441101074e-01 1.787773966789245605e-01 1.396386045962572098e-02 1.000000000000000000e+00 -5.604152083396911621e-01 1.769319474697113037e-01 1.408689003437757492e-02 1.000000000000000000e+00 -5.556170940399169922e-01 1.750864982604980469e-01 1.420991960912942886e-02 1.000000000000000000e+00 -5.508189201354980469e-01 1.732410639524459839e-01 1.433294918388128281e-02 1.000000000000000000e+00 -5.460207462310791016e-01 1.713956147432327271e-01 1.445597875863313675e-02 1.000000000000000000e+00 -5.412226319313049316e-01 1.695501804351806641e-01 1.457900833338499069e-02 1.000000000000000000e+00 -5.364244580268859863e-01 1.677047312259674072e-01 1.470203790813684464e-02 1.000000000000000000e+00 -5.316262841224670410e-01 1.658592820167541504e-01 1.482506748288869858e-02 1.000000000000000000e+00 -5.268281698226928711e-01 1.640138477087020874e-01 1.494809705764055252e-02 1.000000000000000000e+00 -5.220299959182739258e-01 1.621683984994888306e-01 1.507112663239240646e-02 1.000000000000000000e+00 -5.172318220138549805e-01 1.603229492902755737e-01 1.519415620714426041e-02 1.000000000000000000e+00 -5.124337077140808105e-01 1.584775149822235107e-01 1.531718578189611435e-02 1.000000000000000000e+00 -5.076355338096618652e-01 1.566320657730102539e-01 1.544021535664796829e-02 1.000000000000000000e+00 -5.028373599052429199e-01 1.547866165637969971e-01 1.556324493139982224e-02 1.000000000000000000e+00 -4.980392158031463623e-01 1.529411822557449341e-01 1.568627543747425079e-02 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/PRGn b/fastplotlib/utils/colormaps/PRGn deleted file mode 100644 index 33b818b35..000000000 --- a/fastplotlib/utils/colormaps/PRGn +++ /dev/null @@ -1,256 +0,0 @@ -2.509804069995880127e-01 0.000000000000000000e+00 2.941176593303680420e-01 1.000000000000000000e+00 -2.592848837375640869e-01 6.459054071456193924e-03 3.027297258377075195e-01 1.000000000000000000e+00 -2.675893902778625488e-01 1.291810814291238785e-02 3.113417923450469971e-01 1.000000000000000000e+00 -2.758938968181610107e-01 1.937716268002986908e-02 3.199538588523864746e-01 1.000000000000000000e+00 -2.841983735561370850e-01 2.583621628582477570e-02 3.285659253597259521e-01 1.000000000000000000e+00 -2.925028800964355469e-01 3.229527175426483154e-02 3.371780216693878174e-01 1.000000000000000000e+00 -3.008073866367340088e-01 3.875432536005973816e-02 3.457900881767272949e-01 1.000000000000000000e+00 -3.091118931770324707e-01 4.521337896585464478e-02 3.544021546840667725e-01 1.000000000000000000e+00 -3.174163699150085449e-01 5.167243257164955139e-02 3.630142211914062500e-01 1.000000000000000000e+00 -3.257208764553070068e-01 5.813148617744445801e-02 3.716262876987457275e-01 1.000000000000000000e+00 -3.340253829956054688e-01 6.459054350852966309e-02 3.802383840084075928e-01 1.000000000000000000e+00 -3.423298597335815430e-01 7.104959338903427124e-02 3.888504505157470703e-01 1.000000000000000000e+00 -3.506343662738800049e-01 7.750865072011947632e-02 3.974625170230865479e-01 1.000000000000000000e+00 -3.589388728141784668e-01 8.396770805120468140e-02 4.060745835304260254e-01 1.000000000000000000e+00 -3.672433793544769287e-01 9.042675793170928955e-02 4.146866500377655029e-01 1.000000000000000000e+00 -3.755478560924530029e-01 9.688581526279449463e-02 4.232987165451049805e-01 1.000000000000000000e+00 -3.838523626327514648e-01 1.033448651432991028e-01 4.319108128547668457e-01 1.000000000000000000e+00 -3.921568691730499268e-01 1.098039224743843079e-01 4.405228793621063232e-01 1.000000000000000000e+00 -4.004613757133483887e-01 1.162629723548889160e-01 4.491349458694458008e-01 1.000000000000000000e+00 -4.087658524513244629e-01 1.227220296859741211e-01 4.577470123767852783e-01 1.000000000000000000e+00 -4.170703589916229248e-01 1.291810870170593262e-01 4.663590788841247559e-01 1.000000000000000000e+00 -4.253748655319213867e-01 1.356401443481445312e-01 4.749711751937866211e-01 1.000000000000000000e+00 -4.336793422698974609e-01 1.420991867780685425e-01 4.835832417011260986e-01 1.000000000000000000e+00 -4.419838488101959229e-01 1.485582441091537476e-01 4.921953082084655762e-01 1.000000000000000000e+00 -4.502883553504943848e-01 1.550173014402389526e-01 5.008074045181274414e-01 1.000000000000000000e+00 -4.585928618907928467e-01 1.614763587713241577e-01 5.094194412231445312e-01 1.000000000000000000e+00 -4.654363691806793213e-01 1.700884252786636353e-01 5.168012380599975586e-01 1.000000000000000000e+00 -4.708189070224761963e-01 1.808535158634185791e-01 5.229527354240417480e-01 1.000000000000000000e+00 -4.762014746665954590e-01 1.916186064481735229e-01 5.291041731834411621e-01 1.000000000000000000e+00 -4.815840125083923340e-01 2.023836970329284668e-01 5.352556705474853516e-01 1.000000000000000000e+00 -4.869665503501892090e-01 2.131487876176834106e-01 5.414071679115295410e-01 1.000000000000000000e+00 -4.923490881919860840e-01 2.239138782024383545e-01 5.475586056709289551e-01 1.000000000000000000e+00 -4.977316558361053467e-01 2.346789687871932983e-01 5.537101030349731445e-01 1.000000000000000000e+00 -5.031141638755798340e-01 2.454440593719482422e-01 5.598616003990173340e-01 1.000000000000000000e+00 -5.084967613220214844e-01 2.562091648578643799e-01 5.660130977630615234e-01 1.000000000000000000e+00 -5.138792991638183594e-01 2.669742405414581299e-01 5.721645355224609375e-01 1.000000000000000000e+00 -5.192618370056152344e-01 2.777393162250518799e-01 5.783160328865051270e-01 1.000000000000000000e+00 -5.246443748474121094e-01 2.885044217109680176e-01 5.844675302505493164e-01 1.000000000000000000e+00 -5.300269126892089844e-01 2.992694973945617676e-01 5.906189680099487305e-01 1.000000000000000000e+00 -5.354094505310058594e-01 3.100346028804779053e-01 5.967704653739929199e-01 1.000000000000000000e+00 -5.407919883728027344e-01 3.207996785640716553e-01 6.029219627380371094e-01 1.000000000000000000e+00 -5.461745262145996094e-01 3.315647840499877930e-01 6.090734601020812988e-01 1.000000000000000000e+00 -5.515570640563964844e-01 3.423298597335815430e-01 6.152248978614807129e-01 1.000000000000000000e+00 -5.569396615028381348e-01 3.530949652194976807e-01 6.213763952255249023e-01 1.000000000000000000e+00 -5.623221993446350098e-01 3.638600409030914307e-01 6.275278925895690918e-01 1.000000000000000000e+00 -5.677047371864318848e-01 3.746251463890075684e-01 6.336793303489685059e-01 1.000000000000000000e+00 -5.730872750282287598e-01 3.853902220726013184e-01 6.398308277130126953e-01 1.000000000000000000e+00 -5.784698128700256348e-01 3.961553275585174561e-01 6.459823250770568848e-01 1.000000000000000000e+00 -5.838523507118225098e-01 4.069204032421112061e-01 6.521338224411010742e-01 1.000000000000000000e+00 -5.892348885536193848e-01 4.176855087280273438e-01 6.582852602005004883e-01 1.000000000000000000e+00 -5.946174263954162598e-01 4.284505844116210938e-01 6.644367575645446777e-01 1.000000000000000000e+00 -6.000000238418579102e-01 4.392156898975372314e-01 6.705882549285888672e-01 1.000000000000000000e+00 -6.063052415847778320e-01 4.473663866519927979e-01 6.761245727539062500e-01 1.000000000000000000e+00 -6.126105189323425293e-01 4.555171132087707520e-01 6.816608905792236328e-01 1.000000000000000000e+00 -6.189157962799072266e-01 4.636678099632263184e-01 6.871972084045410156e-01 1.000000000000000000e+00 -6.252210736274719238e-01 4.718185365200042725e-01 6.927335858345031738e-01 1.000000000000000000e+00 -6.315263509750366211e-01 4.799692332744598389e-01 6.982699036598205566e-01 1.000000000000000000e+00 -6.378316283226013184e-01 4.881199598312377930e-01 7.038062214851379395e-01 1.000000000000000000e+00 -6.441368460655212402e-01 4.962706565856933594e-01 7.093425393104553223e-01 1.000000000000000000e+00 -6.504421234130859375e-01 5.044213533401489258e-01 7.148789167404174805e-01 1.000000000000000000e+00 -6.567474007606506348e-01 5.125721096992492676e-01 7.204152345657348633e-01 1.000000000000000000e+00 -6.630526781082153320e-01 5.207228064537048340e-01 7.259515523910522461e-01 1.000000000000000000e+00 -6.693579554557800293e-01 5.288735032081604004e-01 7.314878702163696289e-01 1.000000000000000000e+00 -6.756632328033447266e-01 5.370241999626159668e-01 7.370242476463317871e-01 1.000000000000000000e+00 -6.819684505462646484e-01 5.451749563217163086e-01 7.425605654716491699e-01 1.000000000000000000e+00 -6.882737278938293457e-01 5.533256530761718750e-01 7.480968832969665527e-01 1.000000000000000000e+00 -6.945790052413940430e-01 5.614763498306274414e-01 7.536332011222839355e-01 1.000000000000000000e+00 -7.008842825889587402e-01 5.696270465850830078e-01 7.591695785522460938e-01 1.000000000000000000e+00 -7.071895599365234375e-01 5.777778029441833496e-01 7.647058963775634766e-01 1.000000000000000000e+00 -7.134948372840881348e-01 5.859284996986389160e-01 7.702422142028808594e-01 1.000000000000000000e+00 -7.198000550270080566e-01 5.940791964530944824e-01 7.757785320281982422e-01 1.000000000000000000e+00 -7.261053323745727539e-01 6.022298932075500488e-01 7.813148498535156250e-01 1.000000000000000000e+00 -7.324106097221374512e-01 6.103806495666503906e-01 7.868512272834777832e-01 1.000000000000000000e+00 -7.387158870697021484e-01 6.185313463211059570e-01 7.923875451087951660e-01 1.000000000000000000e+00 -7.450211644172668457e-01 6.266820430755615234e-01 7.979238629341125488e-01 1.000000000000000000e+00 -7.513264417648315430e-01 6.348327398300170898e-01 8.034601807594299316e-01 1.000000000000000000e+00 -7.576316595077514648e-01 6.429834961891174316e-01 8.089965581893920898e-01 1.000000000000000000e+00 -7.636293768882751465e-01 6.506727933883666992e-01 8.136870265007019043e-01 1.000000000000000000e+00 -7.693194746971130371e-01 6.579008102416992188e-01 8.175317049026489258e-01 1.000000000000000000e+00 -7.750096321105957031e-01 6.651287674903869629e-01 8.213763833045959473e-01 1.000000000000000000e+00 -7.806997299194335938e-01 6.723567843437194824e-01 8.252210617065429688e-01 1.000000000000000000e+00 -7.863898277282714844e-01 6.795848011970520020e-01 8.290657401084899902e-01 1.000000000000000000e+00 -7.920799851417541504e-01 6.868127584457397461e-01 8.329104185104370117e-01 1.000000000000000000e+00 -7.977700829505920410e-01 6.940407752990722656e-01 8.367550969123840332e-01 1.000000000000000000e+00 -8.034601807594299316e-01 7.012687325477600098e-01 8.405997753143310547e-01 1.000000000000000000e+00 -8.091503381729125977e-01 7.084967494010925293e-01 8.444444537162780762e-01 1.000000000000000000e+00 -8.148404359817504883e-01 7.157247066497802734e-01 8.482891321182250977e-01 1.000000000000000000e+00 -8.205305933952331543e-01 7.229527235031127930e-01 8.521338105201721191e-01 1.000000000000000000e+00 -8.262206912040710449e-01 7.301806807518005371e-01 8.559784889221191406e-01 1.000000000000000000e+00 -8.319107890129089355e-01 7.374086976051330566e-01 8.598231673240661621e-01 1.000000000000000000e+00 -8.376009464263916016e-01 7.446366548538208008e-01 8.636678457260131836e-01 1.000000000000000000e+00 -8.432910442352294922e-01 7.518646717071533203e-01 8.675125241279602051e-01 1.000000000000000000e+00 -8.489811420440673828e-01 7.590926289558410645e-01 8.713571429252624512e-01 1.000000000000000000e+00 -8.546712994575500488e-01 7.663206458091735840e-01 8.752018213272094727e-01 1.000000000000000000e+00 -8.603613972663879395e-01 7.735486626625061035e-01 8.790464997291564941e-01 1.000000000000000000e+00 -8.660514950752258301e-01 7.807766199111938477e-01 8.828911781311035156e-01 1.000000000000000000e+00 -8.717416524887084961e-01 7.880046367645263672e-01 8.867358565330505371e-01 1.000000000000000000e+00 -8.774317502975463867e-01 7.952325940132141113e-01 8.905805349349975586e-01 1.000000000000000000e+00 -8.831218481063842773e-01 8.024606108665466309e-01 8.944252133369445801e-01 1.000000000000000000e+00 -8.888120055198669434e-01 8.096885681152343750e-01 8.982698917388916016e-01 1.000000000000000000e+00 -8.945021033287048340e-01 8.169165849685668945e-01 9.021145701408386230e-01 1.000000000000000000e+00 -9.001922607421875000e-01 8.241445422172546387e-01 9.059592485427856445e-01 1.000000000000000000e+00 -9.058823585510253906e-01 8.313725590705871582e-01 9.098039269447326660e-01 1.000000000000000000e+00 -9.083429574966430664e-01 8.367550969123840332e-01 9.121107459068298340e-01 1.000000000000000000e+00 -9.108035564422607422e-01 8.421376347541809082e-01 9.144175052642822266e-01 1.000000000000000000e+00 -9.132641553878784180e-01 8.475201725959777832e-01 9.167243242263793945e-01 1.000000000000000000e+00 -9.157246947288513184e-01 8.529027104377746582e-01 9.190311431884765625e-01 1.000000000000000000e+00 -9.181852936744689941e-01 8.582852482795715332e-01 9.213379621505737305e-01 1.000000000000000000e+00 -9.206458926200866699e-01 8.636678457260131836e-01 9.236447811126708984e-01 1.000000000000000000e+00 -9.231064915657043457e-01 8.690503835678100586e-01 9.259515404701232910e-01 1.000000000000000000e+00 -9.255670905113220215e-01 8.744329214096069336e-01 9.282583594322204590e-01 1.000000000000000000e+00 -9.280276894569396973e-01 8.798154592514038086e-01 9.305651783943176270e-01 1.000000000000000000e+00 -9.304882884025573730e-01 8.851979970932006836e-01 9.328719973564147949e-01 1.000000000000000000e+00 -9.329488873481750488e-01 8.905805349349975586e-01 9.351787567138671875e-01 1.000000000000000000e+00 -9.354094862937927246e-01 8.959630727767944336e-01 9.374855756759643555e-01 1.000000000000000000e+00 -9.378700256347656250e-01 9.013456106185913086e-01 9.397923946380615234e-01 1.000000000000000000e+00 -9.403306245803833008e-01 9.067282080650329590e-01 9.420992136001586914e-01 1.000000000000000000e+00 -9.427912235260009766e-01 9.121107459068298340e-01 9.444059729576110840e-01 1.000000000000000000e+00 -9.452518224716186523e-01 9.174932837486267090e-01 9.467127919197082520e-01 1.000000000000000000e+00 -9.477124214172363281e-01 9.228758215904235840e-01 9.490196108818054199e-01 1.000000000000000000e+00 -9.501730203628540039e-01 9.282583594322204590e-01 9.513264298439025879e-01 1.000000000000000000e+00 -9.526336193084716797e-01 9.336408972740173340e-01 9.536331892013549805e-01 1.000000000000000000e+00 -9.550942182540893555e-01 9.390234351158142090e-01 9.559400081634521484e-01 1.000000000000000000e+00 -9.575547575950622559e-01 9.444059729576110840e-01 9.582468271255493164e-01 1.000000000000000000e+00 -9.600153565406799316e-01 9.497885704040527344e-01 9.605536460876464844e-01 1.000000000000000000e+00 -9.624759554862976074e-01 9.551711082458496094e-01 9.628604650497436523e-01 1.000000000000000000e+00 -9.649365544319152832e-01 9.605536460876464844e-01 9.651672244071960449e-01 1.000000000000000000e+00 -9.673971533775329590e-01 9.659361839294433594e-01 9.674740433692932129e-01 1.000000000000000000e+00 -9.663206338882446289e-01 9.680892229080200195e-01 9.658592939376831055e-01 1.000000000000000000e+00 -9.617070555686950684e-01 9.670127034187316895e-01 9.603229761123657227e-01 1.000000000000000000e+00 -9.570934176445007324e-01 9.659361839294433594e-01 9.547865986824035645e-01 1.000000000000000000e+00 -9.524798393249511719e-01 9.648596644401550293e-01 9.492502808570861816e-01 1.000000000000000000e+00 -9.478662014007568359e-01 9.637831449508666992e-01 9.437139630317687988e-01 1.000000000000000000e+00 -9.432526230812072754e-01 9.627066254615783691e-01 9.381776452064514160e-01 1.000000000000000000e+00 -9.386389851570129395e-01 9.616301655769348145e-01 9.326412677764892578e-01 1.000000000000000000e+00 -9.340253472328186035e-01 9.605536460876464844e-01 9.271049499511718750e-01 1.000000000000000000e+00 -9.294117689132690430e-01 9.594771265983581543e-01 9.215686321258544922e-01 1.000000000000000000e+00 -9.247981309890747070e-01 9.584006071090698242e-01 9.160323143005371094e-01 1.000000000000000000e+00 -9.201845526695251465e-01 9.573240876197814941e-01 9.104959368705749512e-01 1.000000000000000000e+00 -9.155709147453308105e-01 9.562475681304931641e-01 9.049596190452575684e-01 1.000000000000000000e+00 -9.109573364257812500e-01 9.551711082458496094e-01 8.994233012199401855e-01 1.000000000000000000e+00 -9.063436985015869141e-01 9.540945887565612793e-01 8.938869833946228027e-01 1.000000000000000000e+00 -9.017301201820373535e-01 9.530180692672729492e-01 8.883506059646606445e-01 1.000000000000000000e+00 -8.971164822578430176e-01 9.519415497779846191e-01 8.828142881393432617e-01 1.000000000000000000e+00 -8.925029039382934570e-01 9.508650302886962891e-01 8.772779703140258789e-01 1.000000000000000000e+00 -8.878892660140991211e-01 9.497885704040527344e-01 8.717416524887084961e-01 1.000000000000000000e+00 -8.832756876945495605e-01 9.487120509147644043e-01 8.662053346633911133e-01 1.000000000000000000e+00 -8.786620497703552246e-01 9.476355314254760742e-01 8.606689572334289551e-01 1.000000000000000000e+00 -8.740484714508056641e-01 9.465590119361877441e-01 8.551326394081115723e-01 1.000000000000000000e+00 -8.694348335266113281e-01 9.454824924468994141e-01 8.495963215827941895e-01 1.000000000000000000e+00 -8.648211956024169922e-01 9.444059729576110840e-01 8.440600037574768066e-01 1.000000000000000000e+00 -8.602076172828674316e-01 9.433295130729675293e-01 8.385236263275146484e-01 1.000000000000000000e+00 -8.555939793586730957e-01 9.422529935836791992e-01 8.329873085021972656e-01 1.000000000000000000e+00 -8.509804010391235352e-01 9.411764740943908691e-01 8.274509906768798828e-01 1.000000000000000000e+00 -8.431372642517089844e-01 9.379469156265258789e-01 8.196078538894653320e-01 1.000000000000000000e+00 -8.352941274642944336e-01 9.347174167633056641e-01 8.117647171020507812e-01 1.000000000000000000e+00 -8.274509906768798828e-01 9.314879179000854492e-01 8.039215803146362305e-01 1.000000000000000000e+00 -8.196078538894653320e-01 9.282583594322204590e-01 7.960784435272216797e-01 1.000000000000000000e+00 -8.117647171020507812e-01 9.250288605690002441e-01 7.882353067398071289e-01 1.000000000000000000e+00 -8.039215803146362305e-01 9.217993021011352539e-01 7.803921699523925781e-01 1.000000000000000000e+00 -7.960784435272216797e-01 9.185698032379150391e-01 7.725490331649780273e-01 1.000000000000000000e+00 -7.882353067398071289e-01 9.153402447700500488e-01 7.647058963775634766e-01 1.000000000000000000e+00 -7.803921699523925781e-01 9.121107459068298340e-01 7.568627595901489258e-01 1.000000000000000000e+00 -7.725490331649780273e-01 9.088811874389648438e-01 7.490196228027343750e-01 1.000000000000000000e+00 -7.647058963775634766e-01 9.056516885757446289e-01 7.411764860153198242e-01 1.000000000000000000e+00 -7.568627595901489258e-01 9.024221301078796387e-01 7.333333492279052734e-01 1.000000000000000000e+00 -7.490196228027343750e-01 8.991926312446594238e-01 7.254902124404907227e-01 1.000000000000000000e+00 -7.411764860153198242e-01 8.959630727767944336e-01 7.176470756530761719e-01 1.000000000000000000e+00 -7.333333492279052734e-01 8.927335739135742188e-01 7.098039388656616211e-01 1.000000000000000000e+00 -7.254902124404907227e-01 8.895040154457092285e-01 7.019608020782470703e-01 1.000000000000000000e+00 -7.176470756530761719e-01 8.862745165824890137e-01 6.941176652908325195e-01 1.000000000000000000e+00 -7.098039388656616211e-01 8.830449581146240234e-01 6.862745285034179688e-01 1.000000000000000000e+00 -7.019608020782470703e-01 8.798154592514038086e-01 6.784313917160034180e-01 1.000000000000000000e+00 -6.941176652908325195e-01 8.765859007835388184e-01 6.705882549285888672e-01 1.000000000000000000e+00 -6.862745285034179688e-01 8.733564019203186035e-01 6.627451181411743164e-01 1.000000000000000000e+00 -6.784313917160034180e-01 8.701269030570983887e-01 6.549019813537597656e-01 1.000000000000000000e+00 -6.705882549285888672e-01 8.668973445892333984e-01 6.470588445663452148e-01 1.000000000000000000e+00 -6.627451181411743164e-01 8.636678457260131836e-01 6.392157077789306641e-01 1.000000000000000000e+00 -6.549019813537597656e-01 8.604382872581481934e-01 6.313725709915161133e-01 1.000000000000000000e+00 -6.451364755630493164e-01 8.553633093833923340e-01 6.226066946983337402e-01 1.000000000000000000e+00 -6.334486603736877441e-01 8.484429121017456055e-01 6.129180788993835449e-01 1.000000000000000000e+00 -6.217608451843261719e-01 8.415225148200988770e-01 6.032295227050781250e-01 1.000000000000000000e+00 -6.100730299949645996e-01 8.346020579338073730e-01 5.935409665107727051e-01 1.000000000000000000e+00 -5.983852148056030273e-01 8.276816606521606445e-01 5.838523507118225098e-01 1.000000000000000000e+00 -5.866973996162414551e-01 8.207612633705139160e-01 5.741637945175170898e-01 1.000000000000000000e+00 -5.750095844268798828e-01 8.138408064842224121e-01 5.644751787185668945e-01 1.000000000000000000e+00 -5.633218288421630859e-01 8.069204092025756836e-01 5.547866225242614746e-01 1.000000000000000000e+00 -5.516340136528015137e-01 8.000000119209289551e-01 5.450980663299560547e-01 1.000000000000000000e+00 -5.399461984634399414e-01 7.930795550346374512e-01 5.354094505310058594e-01 1.000000000000000000e+00 -5.282583832740783691e-01 7.861591577529907227e-01 5.257208943367004395e-01 1.000000000000000000e+00 -5.165705680847167969e-01 7.792387604713439941e-01 5.160322785377502441e-01 1.000000000000000000e+00 -5.048827528953552246e-01 7.723183631896972656e-01 5.063437223434448242e-01 1.000000000000000000e+00 -4.931949377059936523e-01 7.653979063034057617e-01 4.966551363468170166e-01 1.000000000000000000e+00 -4.815071225166320801e-01 7.584775090217590332e-01 4.869665503501892090e-01 1.000000000000000000e+00 -4.698193073272705078e-01 7.515571117401123047e-01 4.772779643535614014e-01 1.000000000000000000e+00 -4.581314921379089355e-01 7.446366548538208008e-01 4.675893783569335938e-01 1.000000000000000000e+00 -4.464436769485473633e-01 7.377162575721740723e-01 4.579008221626281738e-01 1.000000000000000000e+00 -4.347558617591857910e-01 7.307958602905273438e-01 4.482122361660003662e-01 1.000000000000000000e+00 -4.230680465698242188e-01 7.238754034042358398e-01 4.385236501693725586e-01 1.000000000000000000e+00 -4.113802313804626465e-01 7.169550061225891113e-01 4.288350641727447510e-01 1.000000000000000000e+00 -3.996924161911010742e-01 7.100346088409423828e-01 4.191464781761169434e-01 1.000000000000000000e+00 -3.880046010017395020e-01 7.031142115592956543e-01 4.094578921794891357e-01 1.000000000000000000e+00 -3.763168156147003174e-01 6.961937546730041504e-01 3.997693061828613281e-01 1.000000000000000000e+00 -3.646290004253387451e-01 6.892733573913574219e-01 3.900807499885559082e-01 1.000000000000000000e+00 -3.529411852359771729e-01 6.823529601097106934e-01 3.803921639919281006e-01 1.000000000000000000e+00 -3.432525992393493652e-01 6.740484237670898438e-01 3.739331066608428955e-01 1.000000000000000000e+00 -3.335640132427215576e-01 6.657439470291137695e-01 3.674740493297576904e-01 1.000000000000000000e+00 -3.238754272460937500e-01 6.574394702911376953e-01 3.610149919986724854e-01 1.000000000000000000e+00 -3.141868412494659424e-01 6.491349339485168457e-01 3.545559346675872803e-01 1.000000000000000000e+00 -3.044982552528381348e-01 6.408304572105407715e-01 3.480968773365020752e-01 1.000000000000000000e+00 -2.948096990585327148e-01 6.325259804725646973e-01 3.416378200054168701e-01 1.000000000000000000e+00 -2.851211130619049072e-01 6.242214441299438477e-01 3.351787626743316650e-01 1.000000000000000000e+00 -2.754325270652770996e-01 6.159169673919677734e-01 3.287197351455688477e-01 1.000000000000000000e+00 -2.657439410686492920e-01 6.076124310493469238e-01 3.222606778144836426e-01 1.000000000000000000e+00 -2.560553550720214844e-01 5.993079543113708496e-01 3.158016204833984375e-01 1.000000000000000000e+00 -2.463667839765548706e-01 5.910034775733947754e-01 3.093425631523132324e-01 1.000000000000000000e+00 -2.366781979799270630e-01 5.826989412307739258e-01 3.028835058212280273e-01 1.000000000000000000e+00 -2.269896119832992554e-01 5.743944644927978516e-01 2.964244484901428223e-01 1.000000000000000000e+00 -2.173010408878326416e-01 5.660899877548217773e-01 2.899653911590576172e-01 1.000000000000000000e+00 -2.076124548912048340e-01 5.577854514122009277e-01 2.835063338279724121e-01 1.000000000000000000e+00 -1.979238688945770264e-01 5.494809746742248535e-01 2.770472764968872070e-01 1.000000000000000000e+00 -1.882352977991104126e-01 5.411764979362487793e-01 2.705882489681243896e-01 1.000000000000000000e+00 -1.785467118024826050e-01 5.328719615936279297e-01 2.641291916370391846e-01 1.000000000000000000e+00 -1.688581258058547974e-01 5.245674848556518555e-01 2.576701343059539795e-01 1.000000000000000000e+00 -1.591695547103881836e-01 5.162629485130310059e-01 2.512110769748687744e-01 1.000000000000000000e+00 -1.494809687137603760e-01 5.079584717750549316e-01 2.447520196437835693e-01 1.000000000000000000e+00 -1.397923827171325684e-01 4.996539652347564697e-01 2.382929623126983643e-01 1.000000000000000000e+00 -1.301038116216659546e-01 4.913494884967803955e-01 2.318339049816131592e-01 1.000000000000000000e+00 -1.204152256250381470e-01 4.830449819564819336e-01 2.253748625516891479e-01 1.000000000000000000e+00 -1.107266470789909363e-01 4.747404754161834717e-01 2.189158052206039429e-01 1.000000000000000000e+00 -1.038062274456024170e-01 4.665897786617279053e-01 2.135332524776458740e-01 1.000000000000000000e+00 -9.965398162603378296e-02 4.585928618907928467e-01 2.092272192239761353e-01 1.000000000000000000e+00 -9.550172835588455200e-02 4.505959153175354004e-01 2.049211859703063965e-01 1.000000000000000000e+00 -9.134948253631591797e-02 4.425989985466003418e-01 2.006151527166366577e-01 1.000000000000000000e+00 -8.719722926616668701e-02 4.346020817756652832e-01 1.963091045618057251e-01 1.000000000000000000e+00 -8.304498344659805298e-02 4.266051650047302246e-01 1.920030713081359863e-01 1.000000000000000000e+00 -7.889273017644882202e-02 4.186082184314727783e-01 1.876970380544662476e-01 1.000000000000000000e+00 -7.474048435688018799e-02 4.106113016605377197e-01 1.833910048007965088e-01 1.000000000000000000e+00 -7.058823853731155396e-02 4.026143848896026611e-01 1.790849715471267700e-01 1.000000000000000000e+00 -6.643598526716232300e-02 3.946174681186676025e-01 1.747789382934570312e-01 1.000000000000000000e+00 -6.228373572230339050e-02 3.866205215454101562e-01 1.704728901386260986e-01 1.000000000000000000e+00 -5.813148617744445801e-02 3.786236047744750977e-01 1.661668568849563599e-01 1.000000000000000000e+00 -5.397924035787582397e-02 3.706266880035400391e-01 1.618608236312866211e-01 1.000000000000000000e+00 -4.982699081301689148e-02 3.626297712326049805e-01 1.575547903776168823e-01 1.000000000000000000e+00 -4.567474126815795898e-02 3.546328246593475342e-01 1.532487571239471436e-01 1.000000000000000000e+00 -4.152249172329902649e-02 3.466359078884124756e-01 1.489427089691162109e-01 1.000000000000000000e+00 -3.737024217844009399e-02 3.386389911174774170e-01 1.446366757154464722e-01 1.000000000000000000e+00 -3.321799263358116150e-02 3.306420743465423584e-01 1.403306424617767334e-01 1.000000000000000000e+00 -2.906574308872222900e-02 3.226451277732849121e-01 1.360246092081069946e-01 1.000000000000000000e+00 -2.491349540650844574e-02 3.146482110023498535e-01 1.317185759544372559e-01 1.000000000000000000e+00 -2.076124586164951324e-02 3.066512942314147949e-01 1.274125277996063232e-01 1.000000000000000000e+00 -1.660899631679058075e-02 2.986543774604797363e-01 1.231064945459365845e-01 1.000000000000000000e+00 -1.245674770325422287e-02 2.906574308872222900e-01 1.188004612922668457e-01 1.000000000000000000e+00 -8.304498158395290375e-03 2.826605141162872314e-01 1.144944280385971069e-01 1.000000000000000000e+00 -4.152249079197645187e-03 2.746635973453521729e-01 1.101883873343467712e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.666666805744171143e-01 1.058823540806770325e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/Paired b/fastplotlib/utils/colormaps/Paired deleted file mode 100644 index 710d68bf4..000000000 --- a/fastplotlib/utils/colormaps/Paired +++ /dev/null @@ -1,12 +0,0 @@ -6.509804129600524902e-01 8.078431487083435059e-01 8.901960849761962891e-01 1.000000000000000000e+00 -1.215686276555061340e-01 4.705882370471954346e-01 7.058823704719543457e-01 1.000000000000000000e+00 -6.980392336845397949e-01 8.745098114013671875e-01 5.411764979362487793e-01 1.000000000000000000e+00 -2.000000029802322388e-01 6.274510025978088379e-01 1.725490242242813110e-01 1.000000000000000000e+00 -9.843137264251708984e-01 6.039215922355651855e-01 6.000000238418579102e-01 1.000000000000000000e+00 -8.901960849761962891e-01 1.019607856869697571e-01 1.098039224743843079e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.490196228027343750e-01 4.352941215038299561e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.980392158031463623e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.921568751335144043e-01 6.980392336845397949e-01 8.392156958580017090e-01 1.000000000000000000e+00 -4.156862795352935791e-01 2.392156869173049927e-01 6.039215922355651855e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 6.000000238418579102e-01 1.000000000000000000e+00 -6.941176652908325195e-01 3.490196168422698975e-01 1.568627506494522095e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/Pastel1 b/fastplotlib/utils/colormaps/Pastel1 deleted file mode 100644 index 9f1a1eb66..000000000 --- a/fastplotlib/utils/colormaps/Pastel1 +++ /dev/null @@ -1,9 +0,0 @@ -9.843137264251708984e-01 7.058823704719543457e-01 6.823529601097106934e-01 1.000000000000000000e+00 -7.019608020782470703e-01 8.039215803146362305e-01 8.901960849761962891e-01 1.000000000000000000e+00 -8.000000119209289551e-01 9.215686321258544922e-01 7.725490331649780273e-01 1.000000000000000000e+00 -8.705882430076599121e-01 7.960784435272216797e-01 8.941176533699035645e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.509804010391235352e-01 6.509804129600524902e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 8.000000119209289551e-01 1.000000000000000000e+00 -8.980392217636108398e-01 8.470588326454162598e-01 7.411764860153198242e-01 1.000000000000000000e+00 -9.921568632125854492e-01 8.549019694328308105e-01 9.254902005195617676e-01 1.000000000000000000e+00 -9.490196108818054199e-01 9.490196108818054199e-01 9.490196108818054199e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/Pastel2 b/fastplotlib/utils/colormaps/Pastel2 deleted file mode 100644 index adcb77b02..000000000 --- a/fastplotlib/utils/colormaps/Pastel2 +++ /dev/null @@ -1,8 +0,0 @@ -7.019608020782470703e-01 8.862745165824890137e-01 8.039215803146362305e-01 1.000000000000000000e+00 -9.921568632125854492e-01 8.039215803146362305e-01 6.745098233222961426e-01 1.000000000000000000e+00 -7.960784435272216797e-01 8.352941274642944336e-01 9.098039269447326660e-01 1.000000000000000000e+00 -9.568627476692199707e-01 7.921568751335144043e-01 8.941176533699035645e-01 1.000000000000000000e+00 -9.019607901573181152e-01 9.607843160629272461e-01 7.882353067398071289e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.490196108818054199e-01 6.823529601097106934e-01 1.000000000000000000e+00 -9.450980424880981445e-01 8.862745165824890137e-01 8.000000119209289551e-01 1.000000000000000000e+00 -8.000000119209289551e-01 8.000000119209289551e-01 8.000000119209289551e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/PiYG b/fastplotlib/utils/colormaps/PiYG deleted file mode 100644 index 5e8a656fb..000000000 --- a/fastplotlib/utils/colormaps/PiYG +++ /dev/null @@ -1,256 +0,0 @@ -5.568627715110778809e-01 3.921568859368562698e-03 3.215686380863189697e-01 1.000000000000000000e+00 -5.653210282325744629e-01 7.920030504465103149e-03 3.281814754009246826e-01 1.000000000000000000e+00 -5.737793445587158203e-01 1.191849261522293091e-02 3.347943127155303955e-01 1.000000000000000000e+00 -5.822376012802124023e-01 1.591695472598075867e-02 3.414071500301361084e-01 1.000000000000000000e+00 -5.906958580017089844e-01 1.991541683673858643e-02 3.480199873447418213e-01 1.000000000000000000e+00 -5.991541743278503418e-01 2.391387894749641418e-02 3.546328246593475342e-01 1.000000000000000000e+00 -6.076124310493469238e-01 2.791234105825424194e-02 3.612456619739532471e-01 1.000000000000000000e+00 -6.160707473754882812e-01 3.191080316901206970e-02 3.678585290908813477e-01 1.000000000000000000e+00 -6.245290040969848633e-01 3.590926527976989746e-02 3.744713664054870605e-01 1.000000000000000000e+00 -6.329873204231262207e-01 3.990772739052772522e-02 3.810842037200927734e-01 1.000000000000000000e+00 -6.414455771446228027e-01 4.390618950128555298e-02 3.876970410346984863e-01 1.000000000000000000e+00 -6.499038934707641602e-01 4.790465161204338074e-02 3.943098783493041992e-01 1.000000000000000000e+00 -6.583621501922607422e-01 5.190311372280120850e-02 4.009227156639099121e-01 1.000000000000000000e+00 -6.668204665184020996e-01 5.590157583355903625e-02 4.075355529785156250e-01 1.000000000000000000e+00 -6.752787232398986816e-01 5.990003794431686401e-02 4.141483902931213379e-01 1.000000000000000000e+00 -6.837370395660400391e-01 6.389850378036499023e-02 4.207612574100494385e-01 1.000000000000000000e+00 -6.921952962875366211e-01 6.789696216583251953e-02 4.273740947246551514e-01 1.000000000000000000e+00 -7.006536126136779785e-01 7.189542800188064575e-02 4.339869320392608643e-01 1.000000000000000000e+00 -7.091118693351745605e-01 7.589388638734817505e-02 4.405997693538665771e-01 1.000000000000000000e+00 -7.175701856613159180e-01 7.989235222339630127e-02 4.472126066684722900e-01 1.000000000000000000e+00 -7.260284423828125000e-01 8.389081060886383057e-02 4.538254439830780029e-01 1.000000000000000000e+00 -7.344867587089538574e-01 8.788927644491195679e-02 4.604382812976837158e-01 1.000000000000000000e+00 -7.429450154304504395e-01 9.188773483037948608e-02 4.670511484146118164e-01 1.000000000000000000e+00 -7.514033317565917969e-01 9.588620066642761230e-02 4.736639857292175293e-01 1.000000000000000000e+00 -7.598615884780883789e-01 9.988465905189514160e-02 4.802768230438232422e-01 1.000000000000000000e+00 -7.683199048042297363e-01 1.038831248879432678e-01 4.868896603584289551e-01 1.000000000000000000e+00 -7.744713425636291504e-01 1.129565536975860596e-01 4.939638674259185791e-01 1.000000000000000000e+00 -7.783160209655761719e-01 1.271049529314041138e-01 5.014994144439697266e-01 1.000000000000000000e+00 -7.821606993675231934e-01 1.412533670663833618e-01 5.090349912643432617e-01 1.000000000000000000e+00 -7.860053777694702148e-01 1.554017663002014160e-01 5.165705680847167969e-01 1.000000000000000000e+00 -7.898500561714172363e-01 1.695501804351806641e-01 5.241060853004455566e-01 1.000000000000000000e+00 -7.936947345733642578e-01 1.836985796689987183e-01 5.316416621208190918e-01 1.000000000000000000e+00 -7.975394129753112793e-01 1.978469789028167725e-01 5.391772389411926270e-01 1.000000000000000000e+00 -8.013840913772583008e-01 2.119953930377960205e-01 5.467128157615661621e-01 1.000000000000000000e+00 -8.052287697792053223e-01 2.261437922716140747e-01 5.542483925819396973e-01 1.000000000000000000e+00 -8.090734481811523438e-01 2.402921915054321289e-01 5.617839097976684570e-01 1.000000000000000000e+00 -8.129181265830993652e-01 2.544406056404113770e-01 5.693194866180419922e-01 1.000000000000000000e+00 -8.167628049850463867e-01 2.685889899730682373e-01 5.768550634384155273e-01 1.000000000000000000e+00 -8.206074833869934082e-01 2.827374041080474854e-01 5.843906402587890625e-01 1.000000000000000000e+00 -8.244521617889404297e-01 2.968858182430267334e-01 5.919261574745178223e-01 1.000000000000000000e+00 -8.282967805862426758e-01 3.110342323780059814e-01 5.994617342948913574e-01 1.000000000000000000e+00 -8.321414589881896973e-01 3.251826167106628418e-01 6.069973111152648926e-01 1.000000000000000000e+00 -8.359861373901367188e-01 3.393310308456420898e-01 6.145328879356384277e-01 1.000000000000000000e+00 -8.398308157920837402e-01 3.534794449806213379e-01 6.220684647560119629e-01 1.000000000000000000e+00 -8.436754941940307617e-01 3.676278293132781982e-01 6.296039819717407227e-01 1.000000000000000000e+00 -8.475201725959777832e-01 3.817762434482574463e-01 6.371395587921142578e-01 1.000000000000000000e+00 -8.513648509979248047e-01 3.959246575832366943e-01 6.446751356124877930e-01 1.000000000000000000e+00 -8.552095293998718262e-01 4.100730419158935547e-01 6.522107124328613281e-01 1.000000000000000000e+00 -8.590542078018188477e-01 4.242214560508728027e-01 6.597462296485900879e-01 1.000000000000000000e+00 -8.628988862037658691e-01 4.383698701858520508e-01 6.672818064689636230e-01 1.000000000000000000e+00 -8.667435646057128906e-01 4.525182545185089111e-01 6.748173832893371582e-01 1.000000000000000000e+00 -8.705882430076599121e-01 4.666666686534881592e-01 6.823529601097106934e-01 1.000000000000000000e+00 -8.735101819038391113e-01 4.763552546501159668e-01 6.891195774078369141e-01 1.000000000000000000e+00 -8.764321208000183105e-01 4.860438406467437744e-01 6.958861947059631348e-01 1.000000000000000000e+00 -8.793541193008422852e-01 4.957323968410491943e-01 7.026528120040893555e-01 1.000000000000000000e+00 -8.822760581970214844e-01 5.054209828376770020e-01 7.094194293022155762e-01 1.000000000000000000e+00 -8.851979970932006836e-01 5.151095986366271973e-01 7.161861062049865723e-01 1.000000000000000000e+00 -8.881199359893798828e-01 5.247981548309326172e-01 7.229527235031127930e-01 1.000000000000000000e+00 -8.910419344902038574e-01 5.344867110252380371e-01 7.297193408012390137e-01 1.000000000000000000e+00 -8.939638733863830566e-01 5.441753268241882324e-01 7.364859580993652344e-01 1.000000000000000000e+00 -8.968858122825622559e-01 5.538638830184936523e-01 7.432525753974914551e-01 1.000000000000000000e+00 -8.998077511787414551e-01 5.635524988174438477e-01 7.500192523002624512e-01 1.000000000000000000e+00 -9.027296900749206543e-01 5.732410550117492676e-01 7.567858695983886719e-01 1.000000000000000000e+00 -9.056516885757446289e-01 5.829296708106994629e-01 7.635524868965148926e-01 1.000000000000000000e+00 -9.085736274719238281e-01 5.926182270050048828e-01 7.703191041946411133e-01 1.000000000000000000e+00 -9.114955663681030273e-01 6.023067831993103027e-01 7.770857214927673340e-01 1.000000000000000000e+00 -9.144175052642822266e-01 6.119953989982604980e-01 7.838523387908935547e-01 1.000000000000000000e+00 -9.173395037651062012e-01 6.216839551925659180e-01 7.906190156936645508e-01 1.000000000000000000e+00 -9.202614426612854004e-01 6.313725709915161133e-01 7.973856329917907715e-01 1.000000000000000000e+00 -9.231833815574645996e-01 6.410611271858215332e-01 8.041522502899169922e-01 1.000000000000000000e+00 -9.261053204536437988e-01 6.507496833801269531e-01 8.109188675880432129e-01 1.000000000000000000e+00 -9.290273189544677734e-01 6.604382991790771484e-01 8.176854848861694336e-01 1.000000000000000000e+00 -9.319492578506469727e-01 6.701268553733825684e-01 8.244521617889404297e-01 1.000000000000000000e+00 -9.348711967468261719e-01 6.798154711723327637e-01 8.312187790870666504e-01 1.000000000000000000e+00 -9.377931356430053711e-01 6.895040273666381836e-01 8.379853963851928711e-01 1.000000000000000000e+00 -9.407151341438293457e-01 6.991926431655883789e-01 8.447520136833190918e-01 1.000000000000000000e+00 -9.436370730400085449e-01 7.088811993598937988e-01 8.515186309814453125e-01 1.000000000000000000e+00 -9.460207819938659668e-01 7.169550061225891113e-01 8.565167188644409180e-01 1.000000000000000000e+00 -9.478662014007568359e-01 7.234140634536743164e-01 8.597462773323059082e-01 1.000000000000000000e+00 -9.497116208076477051e-01 7.298731207847595215e-01 8.629757761955261230e-01 1.000000000000000000e+00 -9.515570998191833496e-01 7.363321781158447266e-01 8.662053346633911133e-01 1.000000000000000000e+00 -9.534025192260742188e-01 7.427912354469299316e-01 8.694348335266113281e-01 1.000000000000000000e+00 -9.552479982376098633e-01 7.492502927780151367e-01 8.726643323898315430e-01 1.000000000000000000e+00 -9.570934176445007324e-01 7.557093501091003418e-01 8.758938908576965332e-01 1.000000000000000000e+00 -9.589388966560363770e-01 7.621684074401855469e-01 8.791233897209167480e-01 1.000000000000000000e+00 -9.607843160629272461e-01 7.686274647712707520e-01 8.823529481887817383e-01 1.000000000000000000e+00 -9.626297354698181152e-01 7.750865221023559570e-01 8.855824470520019531e-01 1.000000000000000000e+00 -9.644752144813537598e-01 7.815455794334411621e-01 8.888120055198669434e-01 1.000000000000000000e+00 -9.663206338882446289e-01 7.880046367645263672e-01 8.920415043830871582e-01 1.000000000000000000e+00 -9.681661128997802734e-01 7.944636940956115723e-01 8.952710628509521484e-01 1.000000000000000000e+00 -9.700115323066711426e-01 8.009227514266967773e-01 8.985005617141723633e-01 1.000000000000000000e+00 -9.718569517135620117e-01 8.073817491531372070e-01 9.017301201820373535e-01 1.000000000000000000e+00 -9.737024307250976562e-01 8.138408064842224121e-01 9.049596190452575684e-01 1.000000000000000000e+00 -9.755478501319885254e-01 8.202998638153076172e-01 9.081891775131225586e-01 1.000000000000000000e+00 -9.773933291435241699e-01 8.267589211463928223e-01 9.114186763763427734e-01 1.000000000000000000e+00 -9.792387485504150391e-01 8.332179784774780273e-01 9.146482348442077637e-01 1.000000000000000000e+00 -9.810842275619506836e-01 8.396770358085632324e-01 9.178777337074279785e-01 1.000000000000000000e+00 -9.829296469688415527e-01 8.461360931396484375e-01 9.211072921752929688e-01 1.000000000000000000e+00 -9.847750663757324219e-01 8.525951504707336426e-01 9.243367910385131836e-01 1.000000000000000000e+00 -9.866205453872680664e-01 8.590542078018188477e-01 9.275663495063781738e-01 1.000000000000000000e+00 -9.884659647941589355e-01 8.655132651329040527e-01 9.307958483695983887e-01 1.000000000000000000e+00 -9.903114438056945801e-01 8.719723224639892578e-01 9.340253472328186035e-01 1.000000000000000000e+00 -9.921568632125854492e-01 8.784313797950744629e-01 9.372549057006835938e-01 1.000000000000000000e+00 -9.912341237068176270e-01 8.819684982299804688e-01 9.384852051734924316e-01 1.000000000000000000e+00 -9.903114438056945801e-01 8.855055570602416992e-01 9.397155046463012695e-01 1.000000000000000000e+00 -9.893887042999267578e-01 8.890426754951477051e-01 9.409458041191101074e-01 1.000000000000000000e+00 -9.884659647941589355e-01 8.925797939300537109e-01 9.421761035919189453e-01 1.000000000000000000e+00 -9.875432252883911133e-01 8.961168527603149414e-01 9.434064030647277832e-01 1.000000000000000000e+00 -9.866205453872680664e-01 8.996539711952209473e-01 9.446367025375366211e-01 1.000000000000000000e+00 -9.856978058815002441e-01 9.031910896301269531e-01 9.458670020103454590e-01 1.000000000000000000e+00 -9.847750663757324219e-01 9.067282080650329590e-01 9.470972418785095215e-01 1.000000000000000000e+00 -9.838523864746093750e-01 9.102652668952941895e-01 9.483275413513183594e-01 1.000000000000000000e+00 -9.829296469688415527e-01 9.138023853302001953e-01 9.495578408241271973e-01 1.000000000000000000e+00 -9.820069074630737305e-01 9.173395037651062012e-01 9.507881402969360352e-01 1.000000000000000000e+00 -9.810842275619506836e-01 9.208765625953674316e-01 9.520184397697448730e-01 1.000000000000000000e+00 -9.801614880561828613e-01 9.244136810302734375e-01 9.532487392425537109e-01 1.000000000000000000e+00 -9.792387485504150391e-01 9.279507994651794434e-01 9.544790387153625488e-01 1.000000000000000000e+00 -9.783160090446472168e-01 9.314879179000854492e-01 9.557093381881713867e-01 1.000000000000000000e+00 -9.773933291435241699e-01 9.350249767303466797e-01 9.569396376609802246e-01 1.000000000000000000e+00 -9.764705896377563477e-01 9.385620951652526855e-01 9.581699371337890625e-01 1.000000000000000000e+00 -9.755478501319885254e-01 9.420992136001586914e-01 9.594002366065979004e-01 1.000000000000000000e+00 -9.746251702308654785e-01 9.456362724304199219e-01 9.606305360794067383e-01 1.000000000000000000e+00 -9.737024307250976562e-01 9.491733908653259277e-01 9.618608355522155762e-01 1.000000000000000000e+00 -9.727796912193298340e-01 9.527105093002319336e-01 9.630911350250244141e-01 1.000000000000000000e+00 -9.718569517135620117e-01 9.562475681304931641e-01 9.643214344978332520e-01 1.000000000000000000e+00 -9.709342718124389648e-01 9.597846865653991699e-01 9.655517339706420898e-01 1.000000000000000000e+00 -9.700115323066711426e-01 9.633218050003051758e-01 9.667820334434509277e-01 1.000000000000000000e+00 -9.690887928009033203e-01 9.668589234352111816e-01 9.680122733116149902e-01 1.000000000000000000e+00 -9.673202633857727051e-01 9.684736728668212891e-01 9.656286239624023438e-01 1.000000000000000000e+00 -9.647058844566345215e-01 9.681661128997802734e-01 9.596309065818786621e-01 1.000000000000000000e+00 -9.620915055274963379e-01 9.678584933280944824e-01 9.536331892013549805e-01 1.000000000000000000e+00 -9.594771265983581543e-01 9.675509333610534668e-01 9.476355314254760742e-01 1.000000000000000000e+00 -9.568627476692199707e-01 9.672433733940124512e-01 9.416378140449523926e-01 1.000000000000000000e+00 -9.542483687400817871e-01 9.669358134269714355e-01 9.356401562690734863e-01 1.000000000000000000e+00 -9.516339898109436035e-01 9.666281938552856445e-01 9.296424388885498047e-01 1.000000000000000000e+00 -9.490196108818054199e-01 9.663206338882446289e-01 9.236447811126708984e-01 1.000000000000000000e+00 -9.464052319526672363e-01 9.660130739212036133e-01 9.176470637321472168e-01 1.000000000000000000e+00 -9.437908530235290527e-01 9.657055139541625977e-01 9.116493463516235352e-01 1.000000000000000000e+00 -9.411764740943908691e-01 9.653978943824768066e-01 9.056516885757446289e-01 1.000000000000000000e+00 -9.385620951652526855e-01 9.650903344154357910e-01 8.996539711952209473e-01 1.000000000000000000e+00 -9.359477162361145020e-01 9.647827744483947754e-01 8.936563134193420410e-01 1.000000000000000000e+00 -9.333333373069763184e-01 9.644752144813537598e-01 8.876585960388183594e-01 1.000000000000000000e+00 -9.307189583778381348e-01 9.641676545143127441e-01 8.816608786582946777e-01 1.000000000000000000e+00 -9.281045794486999512e-01 9.638600349426269531e-01 8.756632208824157715e-01 1.000000000000000000e+00 -9.254902005195617676e-01 9.635524749755859375e-01 8.696655035018920898e-01 1.000000000000000000e+00 -9.228758215904235840e-01 9.632449150085449219e-01 8.636678457260131836e-01 1.000000000000000000e+00 -9.202614426612854004e-01 9.629373550415039062e-01 8.576701283454895020e-01 1.000000000000000000e+00 -9.176470637321472168e-01 9.626297354698181152e-01 8.516724109649658203e-01 1.000000000000000000e+00 -9.150326848030090332e-01 9.623221755027770996e-01 8.456747531890869141e-01 1.000000000000000000e+00 -9.124183058738708496e-01 9.620146155357360840e-01 8.396770358085632324e-01 1.000000000000000000e+00 -9.098039269447326660e-01 9.617070555686950684e-01 8.336793780326843262e-01 1.000000000000000000e+00 -9.071895480155944824e-01 9.613994359970092773e-01 8.276816606521606445e-01 1.000000000000000000e+00 -9.045751690864562988e-01 9.610918760299682617e-01 8.216839432716369629e-01 1.000000000000000000e+00 -9.019607901573181152e-01 9.607843160629272461e-01 8.156862854957580566e-01 1.000000000000000000e+00 -8.948865532875061035e-01 9.577085971832275391e-01 8.043060302734375000e-01 1.000000000000000000e+00 -8.878123760223388672e-01 9.546328186988830566e-01 7.929257750511169434e-01 1.000000000000000000e+00 -8.807381987571716309e-01 9.515570998191833496e-01 7.815455794334411621e-01 1.000000000000000000e+00 -8.736639618873596191e-01 9.484813809394836426e-01 7.701653242111206055e-01 1.000000000000000000e+00 -8.665897846221923828e-01 9.454056024551391602e-01 7.587850689888000488e-01 1.000000000000000000e+00 -8.595155477523803711e-01 9.423298835754394531e-01 7.474048733711242676e-01 1.000000000000000000e+00 -8.524413704872131348e-01 9.392541050910949707e-01 7.360246181488037109e-01 1.000000000000000000e+00 -8.453671932220458984e-01 9.361783862113952637e-01 7.246443629264831543e-01 1.000000000000000000e+00 -8.382929563522338867e-01 9.331026673316955566e-01 7.132641077041625977e-01 1.000000000000000000e+00 -8.312187790870666504e-01 9.300268888473510742e-01 7.018839120864868164e-01 1.000000000000000000e+00 -8.241445422172546387e-01 9.269511699676513672e-01 6.905036568641662598e-01 1.000000000000000000e+00 -8.170703649520874023e-01 9.238754510879516602e-01 6.791234016418457031e-01 1.000000000000000000e+00 -8.099961280822753906e-01 9.207996726036071777e-01 6.677431464195251465e-01 1.000000000000000000e+00 -8.029219508171081543e-01 9.177239537239074707e-01 6.563629508018493652e-01 1.000000000000000000e+00 -7.958477735519409180e-01 9.146482348442077637e-01 6.449826955795288086e-01 1.000000000000000000e+00 -7.887735366821289062e-01 9.115724563598632812e-01 6.336024403572082520e-01 1.000000000000000000e+00 -7.816993594169616699e-01 9.084967374801635742e-01 6.222222447395324707e-01 1.000000000000000000e+00 -7.746251225471496582e-01 9.054210186004638672e-01 6.108419895172119141e-01 1.000000000000000000e+00 -7.675509452819824219e-01 9.023452401161193848e-01 5.994617342948913574e-01 1.000000000000000000e+00 -7.604767680168151855e-01 8.992695212364196777e-01 5.880814790725708008e-01 1.000000000000000000e+00 -7.534025311470031738e-01 8.961937427520751953e-01 5.767012834548950195e-01 1.000000000000000000e+00 -7.463283538818359375e-01 8.931180238723754883e-01 5.653210282325744629e-01 1.000000000000000000e+00 -7.392541170120239258e-01 8.900423049926757812e-01 5.539407730102539062e-01 1.000000000000000000e+00 -7.321799397468566895e-01 8.869665265083312988e-01 5.425605773925781250e-01 1.000000000000000000e+00 -7.251057028770446777e-01 8.838908076286315918e-01 5.311803221702575684e-01 1.000000000000000000e+00 -7.171856760978698730e-01 8.795078992843627930e-01 5.201845169067382812e-01 1.000000000000000000e+00 -7.084198594093322754e-01 8.738177418708801270e-01 5.095732212066650391e-01 1.000000000000000000e+00 -6.996539831161499023e-01 8.681276440620422363e-01 4.989619255065917969e-01 1.000000000000000000e+00 -6.908881068229675293e-01 8.624375462532043457e-01 4.883506298065185547e-01 1.000000000000000000e+00 -6.821222901344299316e-01 8.567473888397216797e-01 4.777393341064453125e-01 1.000000000000000000e+00 -6.733564138412475586e-01 8.510572910308837891e-01 4.671280384063720703e-01 1.000000000000000000e+00 -6.645905375480651855e-01 8.453671932220458984e-01 4.565167129039764404e-01 1.000000000000000000e+00 -6.558246612548828125e-01 8.396770358085632324e-01 4.459054172039031982e-01 1.000000000000000000e+00 -6.470588445663452148e-01 8.339869379997253418e-01 4.352941215038299561e-01 1.000000000000000000e+00 -6.382929682731628418e-01 8.282967805862426758e-01 4.246828258037567139e-01 1.000000000000000000e+00 -6.295270919799804688e-01 8.226066827774047852e-01 4.140715003013610840e-01 1.000000000000000000e+00 -6.207612752914428711e-01 8.169165849685668945e-01 4.034602046012878418e-01 1.000000000000000000e+00 -6.119953989982604980e-01 8.112264275550842285e-01 3.928489089012145996e-01 1.000000000000000000e+00 -6.032295227050781250e-01 8.055363297462463379e-01 3.822376132011413574e-01 1.000000000000000000e+00 -5.944636464118957520e-01 7.998462319374084473e-01 3.716262876987457275e-01 1.000000000000000000e+00 -5.856978297233581543e-01 7.941560745239257812e-01 3.610149919986724854e-01 1.000000000000000000e+00 -5.769319534301757812e-01 7.884659767150878906e-01 3.504036962985992432e-01 1.000000000000000000e+00 -5.681660771369934082e-01 7.827758789062500000e-01 3.397924005985260010e-01 1.000000000000000000e+00 -5.594002604484558105e-01 7.770857214927673340e-01 3.291810750961303711e-01 1.000000000000000000e+00 -5.506343841552734375e-01 7.713956236839294434e-01 3.185697793960571289e-01 1.000000000000000000e+00 -5.418685078620910645e-01 7.657055258750915527e-01 3.079584836959838867e-01 1.000000000000000000e+00 -5.331026315689086914e-01 7.600153684616088867e-01 2.973471879959106445e-01 1.000000000000000000e+00 -5.243368148803710938e-01 7.543252706527709961e-01 2.867358624935150146e-01 1.000000000000000000e+00 -5.155709385871887207e-01 7.486351132392883301e-01 2.761245667934417725e-01 1.000000000000000000e+00 -5.068050622940063477e-01 7.429450154304504395e-01 2.655132710933685303e-01 1.000000000000000000e+00 -4.980392158031463623e-01 7.372549176216125488e-01 2.549019753932952881e-01 1.000000000000000000e+00 -4.903498589992523193e-01 7.307958602905273438e-01 2.499807775020599365e-01 1.000000000000000000e+00 -4.826605021953582764e-01 7.243368029594421387e-01 2.450595945119857788e-01 1.000000000000000000e+00 -4.749711751937866211e-01 7.178777456283569336e-01 2.401384115219116211e-01 1.000000000000000000e+00 -4.672818183898925781e-01 7.114186882972717285e-01 2.352172285318374634e-01 1.000000000000000000e+00 -4.595924615859985352e-01 7.049596309661865234e-01 2.302960455417633057e-01 1.000000000000000000e+00 -4.519031047821044922e-01 6.985005736351013184e-01 2.253748625516891479e-01 1.000000000000000000e+00 -4.442137777805328369e-01 6.920415163040161133e-01 2.204536646604537964e-01 1.000000000000000000e+00 -4.365244209766387939e-01 6.855824589729309082e-01 2.155324816703796387e-01 1.000000000000000000e+00 -4.288350641727447510e-01 6.791234016418457031e-01 2.106112986803054810e-01 1.000000000000000000e+00 -4.211457073688507080e-01 6.726643443107604980e-01 2.056901156902313232e-01 1.000000000000000000e+00 -4.134563505649566650e-01 6.662052869796752930e-01 2.007689327001571655e-01 1.000000000000000000e+00 -4.057670235633850098e-01 6.597462296485900879e-01 1.958477497100830078e-01 1.000000000000000000e+00 -3.980776667594909668e-01 6.532871723175048828e-01 1.909265667200088501e-01 1.000000000000000000e+00 -3.903883099555969238e-01 6.468281149864196777e-01 1.860053837299346924e-01 1.000000000000000000e+00 -3.826989531517028809e-01 6.403691172599792480e-01 1.810842007398605347e-01 1.000000000000000000e+00 -3.750096261501312256e-01 6.339100599288940430e-01 1.761630177497863770e-01 1.000000000000000000e+00 -3.673202693462371826e-01 6.274510025978088379e-01 1.712418347597122192e-01 1.000000000000000000e+00 -3.596309125423431396e-01 6.209919452667236328e-01 1.663206517696380615e-01 1.000000000000000000e+00 -3.519415557384490967e-01 6.145328879356384277e-01 1.613994687795639038e-01 1.000000000000000000e+00 -3.442521989345550537e-01 6.080738306045532227e-01 1.564782708883285522e-01 1.000000000000000000e+00 -3.365628719329833984e-01 6.016147732734680176e-01 1.515570878982543945e-01 1.000000000000000000e+00 -3.288735151290893555e-01 5.951557159423828125e-01 1.466359049081802368e-01 1.000000000000000000e+00 -3.211841583251953125e-01 5.886966586112976074e-01 1.417147219181060791e-01 1.000000000000000000e+00 -3.134948015213012695e-01 5.822376012802124023e-01 1.367935389280319214e-01 1.000000000000000000e+00 -3.058054447174072266e-01 5.757785439491271973e-01 1.318723559379577637e-01 1.000000000000000000e+00 -2.990388274192810059e-01 5.690119266510009766e-01 1.287966221570968628e-01 1.000000000000000000e+00 -2.931949198246002197e-01 5.619376897811889648e-01 1.275663226842880249e-01 1.000000000000000000e+00 -2.873510122299194336e-01 5.548635125160217285e-01 1.263360232114791870e-01 1.000000000000000000e+00 -2.815071046352386475e-01 5.477893352508544922e-01 1.251057237386703491e-01 1.000000000000000000e+00 -2.756631970405578613e-01 5.407150983810424805e-01 1.238754317164421082e-01 1.000000000000000000e+00 -2.698192894458770752e-01 5.336409211158752441e-01 1.226451396942138672e-01 1.000000000000000000e+00 -2.639753818511962891e-01 5.265666842460632324e-01 1.214148402214050293e-01 1.000000000000000000e+00 -2.581314742565155029e-01 5.194925069808959961e-01 1.201845407485961914e-01 1.000000000000000000e+00 -2.522875964641571045e-01 5.124183297157287598e-01 1.189542487263679504e-01 1.000000000000000000e+00 -2.464436739683151245e-01 5.053440928459167480e-01 1.177239492535591125e-01 1.000000000000000000e+00 -2.405997663736343384e-01 4.982698857784271240e-01 1.164936572313308716e-01 1.000000000000000000e+00 -2.347558587789535522e-01 4.911957085132598877e-01 1.152633577585220337e-01 1.000000000000000000e+00 -2.289119511842727661e-01 4.841215014457702637e-01 1.140330657362937927e-01 1.000000000000000000e+00 -2.230680435895919800e-01 4.770472943782806396e-01 1.128027662634849548e-01 1.000000000000000000e+00 -2.172241508960723877e-01 4.699730873107910156e-01 1.115724742412567139e-01 1.000000000000000000e+00 -2.113802433013916016e-01 4.628988802433013916e-01 1.103421747684478760e-01 1.000000000000000000e+00 -2.055363357067108154e-01 4.558246731758117676e-01 1.091118827462196350e-01 1.000000000000000000e+00 -1.996924281120300293e-01 4.487504661083221436e-01 1.078815832734107971e-01 1.000000000000000000e+00 -1.938485205173492432e-01 4.416762888431549072e-01 1.066512912511825562e-01 1.000000000000000000e+00 -1.880046129226684570e-01 4.346020817756652832e-01 1.054209917783737183e-01 1.000000000000000000e+00 -1.821607053279876709e-01 4.275278747081756592e-01 1.041906923055648804e-01 1.000000000000000000e+00 -1.763167977333068848e-01 4.204536676406860352e-01 1.029604002833366394e-01 1.000000000000000000e+00 -1.704728901386260986e-01 4.133794605731964111e-01 1.017301008105278015e-01 1.000000000000000000e+00 -1.646289825439453125e-01 4.063052535057067871e-01 1.004998087882995605e-01 1.000000000000000000e+00 -1.587850898504257202e-01 3.992310762405395508e-01 9.926950931549072266e-02 1.000000000000000000e+00 -1.529411822557449341e-01 3.921568691730499268e-01 9.803921729326248169e-02 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/PuBu b/fastplotlib/utils/colormaps/PuBu deleted file mode 100644 index 92c3dd7e9..000000000 --- a/fastplotlib/utils/colormaps/PuBu +++ /dev/null @@ -1,256 +0,0 @@ -1.000000000000000000e+00 9.686274528503417969e-01 9.843137264251708984e-01 1.000000000000000000e+00 -9.976624250411987305e-01 9.666589498519897461e-01 9.832064509391784668e-01 1.000000000000000000e+00 -9.953248500823974609e-01 9.646905064582824707e-01 9.820991754531860352e-01 1.000000000000000000e+00 -9.929873347282409668e-01 9.627220034599304199e-01 9.809918999671936035e-01 1.000000000000000000e+00 -9.906497597694396973e-01 9.607535600662231445e-01 9.798846840858459473e-01 1.000000000000000000e+00 -9.883121848106384277e-01 9.587850570678710938e-01 9.787774085998535156e-01 1.000000000000000000e+00 -9.859746098518371582e-01 9.568166136741638184e-01 9.776701331138610840e-01 1.000000000000000000e+00 -9.836370348930358887e-01 9.548481106758117676e-01 9.765628576278686523e-01 1.000000000000000000e+00 -9.812995195388793945e-01 9.528796672821044922e-01 9.754555821418762207e-01 1.000000000000000000e+00 -9.789619445800781250e-01 9.509111642837524414e-01 9.743483066558837891e-01 1.000000000000000000e+00 -9.766243696212768555e-01 9.489427208900451660e-01 9.732410907745361328e-01 1.000000000000000000e+00 -9.742867946624755859e-01 9.469742178916931152e-01 9.721338152885437012e-01 1.000000000000000000e+00 -9.719492793083190918e-01 9.450057744979858398e-01 9.710265398025512695e-01 1.000000000000000000e+00 -9.696117043495178223e-01 9.430372714996337891e-01 9.699192643165588379e-01 1.000000000000000000e+00 -9.672741293907165527e-01 9.410688281059265137e-01 9.688119888305664062e-01 1.000000000000000000e+00 -9.649365544319152832e-01 9.391003251075744629e-01 9.677047133445739746e-01 1.000000000000000000e+00 -9.625989794731140137e-01 9.371318817138671875e-01 9.665974378585815430e-01 1.000000000000000000e+00 -9.602614641189575195e-01 9.351633787155151367e-01 9.654902219772338867e-01 1.000000000000000000e+00 -9.579238891601562500e-01 9.331949353218078613e-01 9.643829464912414551e-01 1.000000000000000000e+00 -9.555863142013549805e-01 9.312264323234558105e-01 9.632756710052490234e-01 1.000000000000000000e+00 -9.532487392425537109e-01 9.292579889297485352e-01 9.621683955192565918e-01 1.000000000000000000e+00 -9.509111642837524414e-01 9.272894859313964844e-01 9.610611200332641602e-01 1.000000000000000000e+00 -9.485736489295959473e-01 9.253210425376892090e-01 9.599538445472717285e-01 1.000000000000000000e+00 -9.462360739707946777e-01 9.233525395393371582e-01 9.588465690612792969e-01 1.000000000000000000e+00 -9.438984990119934082e-01 9.213840961456298828e-01 9.577393531799316406e-01 1.000000000000000000e+00 -9.415609240531921387e-01 9.194155931472778320e-01 9.566320776939392090e-01 1.000000000000000000e+00 -9.392233490943908691e-01 9.174471497535705566e-01 9.555248022079467773e-01 1.000000000000000000e+00 -9.368858337402343750e-01 9.154786467552185059e-01 9.544175267219543457e-01 1.000000000000000000e+00 -9.345482587814331055e-01 9.135102033615112305e-01 9.533102512359619141e-01 1.000000000000000000e+00 -9.322106838226318359e-01 9.115417003631591797e-01 9.522029757499694824e-01 1.000000000000000000e+00 -9.298731088638305664e-01 9.095732569694519043e-01 9.510957598686218262e-01 1.000000000000000000e+00 -9.275355339050292969e-01 9.076047539710998535e-01 9.499884843826293945e-01 1.000000000000000000e+00 -9.250596165657043457e-01 9.055440425872802734e-01 9.488350749015808105e-01 1.000000000000000000e+00 -9.216147661209106445e-01 9.028373956680297852e-01 9.473587274551391602e-01 1.000000000000000000e+00 -9.181699156761169434e-01 9.001307487487792969e-01 9.458823800086975098e-01 1.000000000000000000e+00 -9.147251248359680176e-01 8.974240422248840332e-01 9.444059729576110840e-01 1.000000000000000000e+00 -9.112802743911743164e-01 8.947173953056335449e-01 9.429296255111694336e-01 1.000000000000000000e+00 -9.078354239463806152e-01 8.920107483863830566e-01 9.414532780647277832e-01 1.000000000000000000e+00 -9.043906331062316895e-01 8.893041014671325684e-01 9.399769306182861328e-01 1.000000000000000000e+00 -9.009457826614379883e-01 8.865974545478820801e-01 9.385005831718444824e-01 1.000000000000000000e+00 -8.975009322166442871e-01 8.838908076286315918e-01 9.370242357254028320e-01 1.000000000000000000e+00 -8.940561413764953613e-01 8.811841607093811035e-01 9.355478882789611816e-01 1.000000000000000000e+00 -8.906112909317016602e-01 8.784775137901306152e-01 9.340714812278747559e-01 1.000000000000000000e+00 -8.871665000915527344e-01 8.757708668708801270e-01 9.325951337814331055e-01 1.000000000000000000e+00 -8.837216496467590332e-01 8.730642199516296387e-01 9.311187863349914551e-01 1.000000000000000000e+00 -8.802767992019653320e-01 8.703575730323791504e-01 9.296424388885498047e-01 1.000000000000000000e+00 -8.768320083618164062e-01 8.676509261131286621e-01 9.281660914421081543e-01 1.000000000000000000e+00 -8.733871579170227051e-01 8.649442791938781738e-01 9.266897439956665039e-01 1.000000000000000000e+00 -8.699423074722290039e-01 8.622375726699829102e-01 9.252133965492248535e-01 1.000000000000000000e+00 -8.664975166320800781e-01 8.595309257507324219e-01 9.237370491027832031e-01 1.000000000000000000e+00 -8.630526661872863770e-01 8.568242788314819336e-01 9.222606420516967773e-01 1.000000000000000000e+00 -8.596078157424926758e-01 8.541176319122314453e-01 9.207842946052551270e-01 1.000000000000000000e+00 -8.561630249023437500e-01 8.514109849929809570e-01 9.193079471588134766e-01 1.000000000000000000e+00 -8.527181744575500488e-01 8.487043380737304688e-01 9.178315997123718262e-01 1.000000000000000000e+00 -8.492733836174011230e-01 8.459976911544799805e-01 9.163552522659301758e-01 1.000000000000000000e+00 -8.458285331726074219e-01 8.432910442352294922e-01 9.148789048194885254e-01 1.000000000000000000e+00 -8.423836827278137207e-01 8.405843973159790039e-01 9.134025573730468750e-01 1.000000000000000000e+00 -8.389388918876647949e-01 8.378777503967285156e-01 9.119262099266052246e-01 1.000000000000000000e+00 -8.354940414428710938e-01 8.351711034774780273e-01 9.104498028755187988e-01 1.000000000000000000e+00 -8.320491909980773926e-01 8.324644565582275391e-01 9.089734554290771484e-01 1.000000000000000000e+00 -8.286044001579284668e-01 8.297578096389770508e-01 9.074971079826354980e-01 1.000000000000000000e+00 -8.251595497131347656e-01 8.270511627197265625e-01 9.060207605361938477e-01 1.000000000000000000e+00 -8.217146992683410645e-01 8.243444561958312988e-01 9.045444130897521973e-01 1.000000000000000000e+00 -8.182699084281921387e-01 8.216378092765808105e-01 9.030680656433105469e-01 1.000000000000000000e+00 -8.143944740295410156e-01 8.189926743507385254e-01 9.016224741935729980e-01 1.000000000000000000e+00 -8.092272281646728516e-01 8.165320754051208496e-01 9.002691507339477539e-01 1.000000000000000000e+00 -8.040599822998046875e-01 8.140715360641479492e-01 8.989158272743225098e-01 1.000000000000000000e+00 -7.988927364349365234e-01 8.116109371185302734e-01 8.975625038146972656e-01 1.000000000000000000e+00 -7.937254905700683594e-01 8.091503381729125977e-01 8.962091207504272461e-01 1.000000000000000000e+00 -7.885582447052001953e-01 8.066897392272949219e-01 8.948557972908020020e-01 1.000000000000000000e+00 -7.833909988403320312e-01 8.042291402816772461e-01 8.935024738311767578e-01 1.000000000000000000e+00 -7.782237529754638672e-01 8.017685413360595703e-01 8.921491503715515137e-01 1.000000000000000000e+00 -7.730565071105957031e-01 7.993079423904418945e-01 8.907958269119262695e-01 1.000000000000000000e+00 -7.678892612457275391e-01 7.968473434448242188e-01 8.894425034523010254e-01 1.000000000000000000e+00 -7.627220153808593750e-01 7.943868041038513184e-01 8.880891799926757812e-01 1.000000000000000000e+00 -7.575547695159912109e-01 7.919262051582336426e-01 8.867358565330505371e-01 1.000000000000000000e+00 -7.523875236511230469e-01 7.894656062126159668e-01 8.853825330734252930e-01 1.000000000000000000e+00 -7.472202777862548828e-01 7.870050072669982910e-01 8.840292096138000488e-01 1.000000000000000000e+00 -7.420530319213867188e-01 7.845444083213806152e-01 8.826758861541748047e-01 1.000000000000000000e+00 -7.368857860565185547e-01 7.820838093757629395e-01 8.813225626945495605e-01 1.000000000000000000e+00 -7.317185401916503906e-01 7.796232104301452637e-01 8.799692392349243164e-01 1.000000000000000000e+00 -7.265513539314270020e-01 7.771626114845275879e-01 8.786159157752990723e-01 1.000000000000000000e+00 -7.213841080665588379e-01 7.747020125389099121e-01 8.772625923156738281e-01 1.000000000000000000e+00 -7.162168622016906738e-01 7.722414731979370117e-01 8.759092688560485840e-01 1.000000000000000000e+00 -7.110496163368225098e-01 7.697808742523193359e-01 8.745559453964233398e-01 1.000000000000000000e+00 -7.058823704719543457e-01 7.673202753067016602e-01 8.732026219367980957e-01 1.000000000000000000e+00 -7.007151246070861816e-01 7.648596763610839844e-01 8.718492984771728516e-01 1.000000000000000000e+00 -6.955478787422180176e-01 7.623990774154663086e-01 8.704959750175476074e-01 1.000000000000000000e+00 -6.903806328773498535e-01 7.599384784698486328e-01 8.691426515579223633e-01 1.000000000000000000e+00 -6.852133870124816895e-01 7.574778795242309570e-01 8.677893280982971191e-01 1.000000000000000000e+00 -6.800461411476135254e-01 7.550172805786132812e-01 8.664360046386718750e-01 1.000000000000000000e+00 -6.748788952827453613e-01 7.525566816329956055e-01 8.650826811790466309e-01 1.000000000000000000e+00 -6.697116494178771973e-01 7.500961422920227051e-01 8.637293577194213867e-01 1.000000000000000000e+00 -6.645444035530090332e-01 7.476355433464050293e-01 8.623760342597961426e-01 1.000000000000000000e+00 -6.593771576881408691e-01 7.451749444007873535e-01 8.610227108001708984e-01 1.000000000000000000e+00 -6.542099118232727051e-01 7.427143454551696777e-01 8.596693873405456543e-01 1.000000000000000000e+00 -6.486735939979553223e-01 7.402537465095520020e-01 8.582698702812194824e-01 1.000000000000000000e+00 -6.425220966339111328e-01 7.377931475639343262e-01 8.567935228347778320e-01 1.000000000000000000e+00 -6.363705992698669434e-01 7.353325486183166504e-01 8.553171753883361816e-01 1.000000000000000000e+00 -6.302191615104675293e-01 7.328719496726989746e-01 8.538408279418945312e-01 1.000000000000000000e+00 -6.240676641464233398e-01 7.304113507270812988e-01 8.523644804954528809e-01 1.000000000000000000e+00 -6.179161667823791504e-01 7.279508113861083984e-01 8.508881330490112305e-01 1.000000000000000000e+00 -6.117647290229797363e-01 7.254902124404907227e-01 8.494117856025695801e-01 1.000000000000000000e+00 -6.056132316589355469e-01 7.230296134948730469e-01 8.479354381561279297e-01 1.000000000000000000e+00 -5.994617342948913574e-01 7.205690145492553711e-01 8.464590311050415039e-01 1.000000000000000000e+00 -5.933102369308471680e-01 7.181084156036376953e-01 8.449826836585998535e-01 1.000000000000000000e+00 -5.871587991714477539e-01 7.156478166580200195e-01 8.435063362121582031e-01 1.000000000000000000e+00 -5.810073018074035645e-01 7.131872177124023438e-01 8.420299887657165527e-01 1.000000000000000000e+00 -5.748558044433593750e-01 7.107266187667846680e-01 8.405536413192749023e-01 1.000000000000000000e+00 -5.687043666839599609e-01 7.082660794258117676e-01 8.390772938728332520e-01 1.000000000000000000e+00 -5.625528693199157715e-01 7.058054804801940918e-01 8.376009464263916016e-01 1.000000000000000000e+00 -5.564013719558715820e-01 7.033448815345764160e-01 8.361245393753051758e-01 1.000000000000000000e+00 -5.502498745918273926e-01 7.008842825889587402e-01 8.346481919288635254e-01 1.000000000000000000e+00 -5.440984368324279785e-01 6.984236836433410645e-01 8.331718444824218750e-01 1.000000000000000000e+00 -5.379469394683837891e-01 6.959630846977233887e-01 8.316954970359802246e-01 1.000000000000000000e+00 -5.317954421043395996e-01 6.935024857521057129e-01 8.302191495895385742e-01 1.000000000000000000e+00 -5.256440043449401855e-01 6.910418868064880371e-01 8.287428021430969238e-01 1.000000000000000000e+00 -5.194925069808959961e-01 6.885812878608703613e-01 8.272664546966552734e-01 1.000000000000000000e+00 -5.133410096168518066e-01 6.861207485198974609e-01 8.257901072502136230e-01 1.000000000000000000e+00 -5.071895718574523926e-01 6.836601495742797852e-01 8.243137001991271973e-01 1.000000000000000000e+00 -5.010380744934082031e-01 6.811995506286621094e-01 8.228373527526855469e-01 1.000000000000000000e+00 -4.948865771293640137e-01 6.787389516830444336e-01 8.213610053062438965e-01 1.000000000000000000e+00 -4.887351095676422119e-01 6.762783527374267578e-01 8.198846578598022461e-01 1.000000000000000000e+00 -4.825836122035980225e-01 6.738177537918090820e-01 8.184083104133605957e-01 1.000000000000000000e+00 -4.764321446418762207e-01 6.713571548461914062e-01 8.169319629669189453e-01 1.000000000000000000e+00 -4.702806472778320312e-01 6.688965559005737305e-01 8.154556155204772949e-01 1.000000000000000000e+00 -4.641291797161102295e-01 6.664359569549560547e-01 8.139792680740356445e-01 1.000000000000000000e+00 -4.579777121543884277e-01 6.639754176139831543e-01 8.125028610229492188e-01 1.000000000000000000e+00 -4.510880410671234131e-01 6.612071990966796875e-01 8.108419775962829590e-01 1.000000000000000000e+00 -4.434601962566375732e-01 6.581314802169799805e-01 8.089965581893920898e-01 1.000000000000000000e+00 -4.358323812484741211e-01 6.550557613372802734e-01 8.071510791778564453e-01 1.000000000000000000e+00 -4.282045364379882812e-01 6.519799828529357910e-01 8.053056597709655762e-01 1.000000000000000000e+00 -4.205766916275024414e-01 6.489042639732360840e-01 8.034601807594299316e-01 1.000000000000000000e+00 -4.129488766193389893e-01 6.458285450935363770e-01 8.016147613525390625e-01 1.000000000000000000e+00 -4.053210318088531494e-01 6.427527666091918945e-01 7.997693419456481934e-01 1.000000000000000000e+00 -3.976931869983673096e-01 6.396770477294921875e-01 7.979238629341125488e-01 1.000000000000000000e+00 -3.900653719902038574e-01 6.366013288497924805e-01 7.960784435272216797e-01 1.000000000000000000e+00 -3.824375271797180176e-01 6.335255503654479980e-01 7.942329645156860352e-01 1.000000000000000000e+00 -3.748096823692321777e-01 6.304498314857482910e-01 7.923875451087951660e-01 1.000000000000000000e+00 -3.671818673610687256e-01 6.273741126060485840e-01 7.905421257019042969e-01 1.000000000000000000e+00 -3.595540225505828857e-01 6.242983341217041016e-01 7.886966466903686523e-01 1.000000000000000000e+00 -3.519261777400970459e-01 6.212226152420043945e-01 7.868512272834777832e-01 1.000000000000000000e+00 -3.442983329296112061e-01 6.181468963623046875e-01 7.850057482719421387e-01 1.000000000000000000e+00 -3.366705179214477539e-01 6.150711178779602051e-01 7.831603288650512695e-01 1.000000000000000000e+00 -3.290426731109619141e-01 6.119953989982604980e-01 7.813148498535156250e-01 1.000000000000000000e+00 -3.214148283004760742e-01 6.089196205139160156e-01 7.794694304466247559e-01 1.000000000000000000e+00 -3.137870132923126221e-01 6.058439016342163086e-01 7.776240110397338867e-01 1.000000000000000000e+00 -3.061591684818267822e-01 6.027681827545166016e-01 7.757785320281982422e-01 1.000000000000000000e+00 -2.985313236713409424e-01 5.996924042701721191e-01 7.739331126213073730e-01 1.000000000000000000e+00 -2.909035086631774902e-01 5.966166853904724121e-01 7.720876336097717285e-01 1.000000000000000000e+00 -2.832756638526916504e-01 5.935409665107727051e-01 7.702422142028808594e-01 1.000000000000000000e+00 -2.756478190422058105e-01 5.904651880264282227e-01 7.683967947959899902e-01 1.000000000000000000e+00 -2.680200040340423584e-01 5.873894691467285156e-01 7.665513157844543457e-01 1.000000000000000000e+00 -2.603921592235565186e-01 5.843137502670288086e-01 7.647058963775634766e-01 1.000000000000000000e+00 -2.527643144130706787e-01 5.812379717826843262e-01 7.628604173660278320e-01 1.000000000000000000e+00 -2.451364845037460327e-01 5.781622529029846191e-01 7.610149979591369629e-01 1.000000000000000000e+00 -2.375086545944213867e-01 5.750865340232849121e-01 7.591695785522460938e-01 1.000000000000000000e+00 -2.298808097839355469e-01 5.720107555389404297e-01 7.573240995407104492e-01 1.000000000000000000e+00 -2.222529798746109009e-01 5.689350366592407227e-01 7.554786801338195801e-01 1.000000000000000000e+00 -2.146251499652862549e-01 5.658592581748962402e-01 7.536332011222839355e-01 1.000000000000000000e+00 -2.079969197511672974e-01 5.622453093528747559e-01 7.517108917236328125e-01 1.000000000000000000e+00 -2.019684761762619019e-01 5.583083629608154297e-01 7.497423887252807617e-01 1.000000000000000000e+00 -1.959400177001953125e-01 5.543714165687561035e-01 7.477739453315734863e-01 1.000000000000000000e+00 -1.899115741252899170e-01 5.504344701766967773e-01 7.458054423332214355e-01 1.000000000000000000e+00 -1.838831156492233276e-01 5.464975237846374512e-01 7.438369989395141602e-01 1.000000000000000000e+00 -1.778546720743179321e-01 5.425605773925781250e-01 7.418684959411621094e-01 1.000000000000000000e+00 -1.718262135982513428e-01 5.386236310005187988e-01 7.399000525474548340e-01 1.000000000000000000e+00 -1.657977700233459473e-01 5.346866846084594727e-01 7.379315495491027832e-01 1.000000000000000000e+00 -1.597693264484405518e-01 5.307497382164001465e-01 7.359631061553955078e-01 1.000000000000000000e+00 -1.537408679723739624e-01 5.268127918243408203e-01 7.339946031570434570e-01 1.000000000000000000e+00 -1.477124243974685669e-01 5.228758454322814941e-01 7.320261597633361816e-01 1.000000000000000000e+00 -1.416839659214019775e-01 5.189388990402221680e-01 7.300576567649841309e-01 1.000000000000000000e+00 -1.356555223464965820e-01 5.150018930435180664e-01 7.280892133712768555e-01 1.000000000000000000e+00 -1.296270638704299927e-01 5.110649466514587402e-01 7.261207103729248047e-01 1.000000000000000000e+00 -1.235986128449440002e-01 5.071280002593994141e-01 7.241522669792175293e-01 1.000000000000000000e+00 -1.175701618194580078e-01 5.031910538673400879e-01 7.221837639808654785e-01 1.000000000000000000e+00 -1.115417182445526123e-01 4.992541372776031494e-01 7.202153205871582031e-01 1.000000000000000000e+00 -1.055132672190666199e-01 4.953171908855438232e-01 7.182468175888061523e-01 1.000000000000000000e+00 -9.948481619358062744e-02 4.913802444934844971e-01 7.162783741950988770e-01 1.000000000000000000e+00 -9.345636516809463501e-02 4.874432981014251709e-01 7.143098711967468262e-01 1.000000000000000000e+00 -8.742791414260864258e-02 4.835063517093658447e-01 7.123414278030395508e-01 1.000000000000000000e+00 -8.139946311712265015e-02 4.795694053173065186e-01 7.103729248046875000e-01 1.000000000000000000e+00 -7.537101209163665771e-02 4.756324589252471924e-01 7.084044814109802246e-01 1.000000000000000000e+00 -6.934256106615066528e-02 4.716955125331878662e-01 7.064359784126281738e-01 1.000000000000000000e+00 -6.331411004066467285e-02 4.677585661411285400e-01 7.044675350189208984e-01 1.000000000000000000e+00 -5.728565901517868042e-02 4.638216197490692139e-01 7.024990320205688477e-01 1.000000000000000000e+00 -5.125720798969268799e-02 4.598846733570098877e-01 7.005305886268615723e-01 1.000000000000000000e+00 -4.522875696420669556e-02 4.559477269649505615e-01 6.985620856285095215e-01 1.000000000000000000e+00 -3.920030593872070312e-02 4.520107507705688477e-01 6.965936422348022461e-01 1.000000000000000000e+00 -3.317185863852500916e-02 4.480738043785095215e-01 6.946251392364501953e-01 1.000000000000000000e+00 -2.714340575039386749e-02 4.441368579864501953e-01 6.926566958427429199e-01 1.000000000000000000e+00 -2.111495658755302429e-02 4.401999115943908691e-01 6.906881928443908691e-01 1.000000000000000000e+00 -1.951557025313377380e-02 4.371857047080993652e-01 6.869665384292602539e-01 1.000000000000000000e+00 -1.939254067838191986e-02 4.344790577888488770e-01 6.826605200767517090e-01 1.000000000000000000e+00 -1.926951110363006592e-02 4.317723810672760010e-01 6.783545017242431641e-01 1.000000000000000000e+00 -1.914648152887821198e-02 4.290657341480255127e-01 6.740484237670898438e-01 1.000000000000000000e+00 -1.902345195412635803e-02 4.263590872287750244e-01 6.697424054145812988e-01 1.000000000000000000e+00 -1.890042237937450409e-02 4.236524403095245361e-01 6.654363870620727539e-01 1.000000000000000000e+00 -1.877739280462265015e-02 4.209457933902740479e-01 6.611303091049194336e-01 1.000000000000000000e+00 -1.865436322987079620e-02 4.182391464710235596e-01 6.568242907524108887e-01 1.000000000000000000e+00 -1.853133365511894226e-02 4.155324995517730713e-01 6.525182723999023438e-01 1.000000000000000000e+00 -1.840830408036708832e-02 4.128258228302001953e-01 6.482122540473937988e-01 1.000000000000000000e+00 -1.828527450561523438e-02 4.101191759109497070e-01 6.439061760902404785e-01 1.000000000000000000e+00 -1.816224493086338043e-02 4.074125289916992188e-01 6.396001577377319336e-01 1.000000000000000000e+00 -1.803921535611152649e-02 4.047058820724487305e-01 6.352941393852233887e-01 1.000000000000000000e+00 -1.791618578135967255e-02 4.019992351531982422e-01 6.309880614280700684e-01 1.000000000000000000e+00 -1.779315620660781860e-02 3.992925882339477539e-01 6.266820430755615234e-01 1.000000000000000000e+00 -1.767012663185596466e-02 3.965859413146972656e-01 6.223760247230529785e-01 1.000000000000000000e+00 -1.754709705710411072e-02 3.938792645931243896e-01 6.180699467658996582e-01 1.000000000000000000e+00 -1.742406748235225677e-02 3.911726176738739014e-01 6.137639284133911133e-01 1.000000000000000000e+00 -1.730103790760040283e-02 3.884659707546234131e-01 6.094579100608825684e-01 1.000000000000000000e+00 -1.717800833284854889e-02 3.857593238353729248e-01 6.051518917083740234e-01 1.000000000000000000e+00 -1.705497875809669495e-02 3.830526769161224365e-01 6.008458137512207031e-01 1.000000000000000000e+00 -1.693194918334484100e-02 3.803460299968719482e-01 5.965397953987121582e-01 1.000000000000000000e+00 -1.680891960859298706e-02 3.776393830776214600e-01 5.922337770462036133e-01 1.000000000000000000e+00 -1.668589003384113312e-02 3.749327063560485840e-01 5.879276990890502930e-01 1.000000000000000000e+00 -1.656286045908927917e-02 3.722260594367980957e-01 5.836216807365417480e-01 1.000000000000000000e+00 -1.643983088433742523e-02 3.695194125175476074e-01 5.793156623840332031e-01 1.000000000000000000e+00 -1.631680130958557129e-02 3.668127655982971191e-01 5.750095844268798828e-01 1.000000000000000000e+00 -1.619377173483371735e-02 3.641061186790466309e-01 5.707035660743713379e-01 1.000000000000000000e+00 -1.607074216008186340e-02 3.613994717597961426e-01 5.663975477218627930e-01 1.000000000000000000e+00 -1.594771258533000946e-02 3.586928248405456543e-01 5.620915293693542480e-01 1.000000000000000000e+00 -1.582468301057815552e-02 3.559861481189727783e-01 5.577854514122009277e-01 1.000000000000000000e+00 -1.570165343582630157e-02 3.532795011997222900e-01 5.534794330596923828e-01 1.000000000000000000e+00 -1.547097228467464447e-02 3.492810428142547607e-01 5.472356677055358887e-01 1.000000000000000000e+00 -1.522491313517093658e-02 3.450980484485626221e-01 5.407150983810424805e-01 1.000000000000000000e+00 -1.497885398566722870e-02 3.409150242805480957e-01 5.341945290565490723e-01 1.000000000000000000e+00 -1.473279483616352081e-02 3.367320299148559570e-01 5.276739597320556641e-01 1.000000000000000000e+00 -1.448673568665981293e-02 3.325490057468414307e-01 5.211533904075622559e-01 1.000000000000000000e+00 -1.424067653715610504e-02 3.283660113811492920e-01 5.146328210830688477e-01 1.000000000000000000e+00 -1.399461738765239716e-02 3.241830170154571533e-01 5.081122517585754395e-01 1.000000000000000000e+00 -1.374855823814868927e-02 3.199999928474426270e-01 5.015916824340820312e-01 1.000000000000000000e+00 -1.350249908864498138e-02 3.158169984817504883e-01 4.950711131095886230e-01 1.000000000000000000e+00 -1.325643993914127350e-02 3.116339743137359619e-01 4.885505437850952148e-01 1.000000000000000000e+00 -1.301038078963756561e-02 3.074509799480438232e-01 4.820299744606018066e-01 1.000000000000000000e+00 -1.276432164013385773e-02 3.032679855823516846e-01 4.755094051361083984e-01 1.000000000000000000e+00 -1.251826249063014984e-02 2.990849614143371582e-01 4.689888358116149902e-01 1.000000000000000000e+00 -1.227220334112644196e-02 2.949019670486450195e-01 4.624682962894439697e-01 1.000000000000000000e+00 -1.202614419162273407e-02 2.907189428806304932e-01 4.559477269649505615e-01 1.000000000000000000e+00 -1.178008504211902618e-02 2.865359485149383545e-01 4.494271576404571533e-01 1.000000000000000000e+00 -1.153402496129274368e-02 2.823529541492462158e-01 4.429065883159637451e-01 1.000000000000000000e+00 -1.128796581178903580e-02 2.781699299812316895e-01 4.363860189914703369e-01 1.000000000000000000e+00 -1.104190666228532791e-02 2.739869356155395508e-01 4.298654496669769287e-01 1.000000000000000000e+00 -1.079584751278162003e-02 2.698039114475250244e-01 4.233448803424835205e-01 1.000000000000000000e+00 -1.054978836327791214e-02 2.656209170818328857e-01 4.168243110179901123e-01 1.000000000000000000e+00 -1.030372921377420425e-02 2.614379227161407471e-01 4.103037416934967041e-01 1.000000000000000000e+00 -1.005767006427049637e-02 2.572548985481262207e-01 4.037831723690032959e-01 1.000000000000000000e+00 -9.811610914766788483e-03 2.530719041824340820e-01 3.972626030445098877e-01 1.000000000000000000e+00 -9.565551765263080597e-03 2.488888949155807495e-01 3.907420337200164795e-01 1.000000000000000000e+00 -9.319492615759372711e-03 2.447058856487274170e-01 3.842214643955230713e-01 1.000000000000000000e+00 -9.073433466255664825e-03 2.405228763818740845e-01 3.777008950710296631e-01 1.000000000000000000e+00 -8.827374316751956940e-03 2.363398671150207520e-01 3.711803257465362549e-01 1.000000000000000000e+00 -8.581315167248249054e-03 2.321568578481674194e-01 3.646597564220428467e-01 1.000000000000000000e+00 -8.335256017744541168e-03 2.279738634824752808e-01 3.581391870975494385e-01 1.000000000000000000e+00 -8.089196868240833282e-03 2.237908542156219482e-01 3.516186177730560303e-01 1.000000000000000000e+00 -7.843137718737125397e-03 2.196078449487686157e-01 3.450980484485626221e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/PuBuGn b/fastplotlib/utils/colormaps/PuBuGn deleted file mode 100644 index 1c70e5147..000000000 --- a/fastplotlib/utils/colormaps/PuBuGn +++ /dev/null @@ -1,256 +0,0 @@ -1.000000000000000000e+00 9.686274528503417969e-01 9.843137264251708984e-01 1.000000000000000000e+00 -9.976624250411987305e-01 9.660438299179077148e-01 9.829604029655456543e-01 1.000000000000000000e+00 -9.953248500823974609e-01 9.634602069854736328e-01 9.816070795059204102e-01 1.000000000000000000e+00 -9.929873347282409668e-01 9.608765840530395508e-01 9.802537560462951660e-01 1.000000000000000000e+00 -9.906497597694396973e-01 9.582929611206054688e-01 9.789004325866699219e-01 1.000000000000000000e+00 -9.883121848106384277e-01 9.557093381881713867e-01 9.775471091270446777e-01 1.000000000000000000e+00 -9.859746098518371582e-01 9.531257152557373047e-01 9.761937856674194336e-01 1.000000000000000000e+00 -9.836370348930358887e-01 9.505420923233032227e-01 9.748404622077941895e-01 1.000000000000000000e+00 -9.812995195388793945e-01 9.479584693908691406e-01 9.734871387481689453e-01 1.000000000000000000e+00 -9.789619445800781250e-01 9.453748464584350586e-01 9.721338152885437012e-01 1.000000000000000000e+00 -9.766243696212768555e-01 9.427912235260009766e-01 9.707804918289184570e-01 1.000000000000000000e+00 -9.742867946624755859e-01 9.402076005935668945e-01 9.694271683692932129e-01 1.000000000000000000e+00 -9.719492793083190918e-01 9.376239776611328125e-01 9.680738449096679688e-01 1.000000000000000000e+00 -9.696117043495178223e-01 9.350403547286987305e-01 9.667205214500427246e-01 1.000000000000000000e+00 -9.672741293907165527e-01 9.324567317962646484e-01 9.653671383857727051e-01 1.000000000000000000e+00 -9.649365544319152832e-01 9.298731088638305664e-01 9.640138149261474609e-01 1.000000000000000000e+00 -9.625989794731140137e-01 9.272894859313964844e-01 9.626604914665222168e-01 1.000000000000000000e+00 -9.602614641189575195e-01 9.247058629989624023e-01 9.613071680068969727e-01 1.000000000000000000e+00 -9.579238891601562500e-01 9.221222400665283203e-01 9.599538445472717285e-01 1.000000000000000000e+00 -9.555863142013549805e-01 9.195386171340942383e-01 9.586005210876464844e-01 1.000000000000000000e+00 -9.532487392425537109e-01 9.169549942016601562e-01 9.572471976280212402e-01 1.000000000000000000e+00 -9.509111642837524414e-01 9.143713712692260742e-01 9.558938741683959961e-01 1.000000000000000000e+00 -9.485736489295959473e-01 9.117877483367919922e-01 9.545405507087707520e-01 1.000000000000000000e+00 -9.462360739707946777e-01 9.092041254043579102e-01 9.531872272491455078e-01 1.000000000000000000e+00 -9.438984990119934082e-01 9.066205024719238281e-01 9.518339037895202637e-01 1.000000000000000000e+00 -9.415609240531921387e-01 9.040368795394897461e-01 9.504805803298950195e-01 1.000000000000000000e+00 -9.392233490943908691e-01 9.014533162117004395e-01 9.491272568702697754e-01 1.000000000000000000e+00 -9.368858337402343750e-01 8.988696932792663574e-01 9.477739334106445312e-01 1.000000000000000000e+00 -9.345482587814331055e-01 8.962860703468322754e-01 9.464206099510192871e-01 1.000000000000000000e+00 -9.322106838226318359e-01 8.937024474143981934e-01 9.450672864913940430e-01 1.000000000000000000e+00 -9.298731088638305664e-01 8.911188244819641113e-01 9.437139630317687988e-01 1.000000000000000000e+00 -9.275355339050292969e-01 8.885352015495300293e-01 9.423606395721435547e-01 1.000000000000000000e+00 -9.250596165657043457e-01 8.860130906105041504e-01 9.410226941108703613e-01 1.000000000000000000e+00 -9.216147661209106445e-01 8.839215636253356934e-01 9.397923946380615234e-01 1.000000000000000000e+00 -9.181699156761169434e-01 8.818300366401672363e-01 9.385620951652526855e-01 1.000000000000000000e+00 -9.147251248359680176e-01 8.797385692596435547e-01 9.373317956924438477e-01 1.000000000000000000e+00 -9.112802743911743164e-01 8.776470422744750977e-01 9.361014962196350098e-01 1.000000000000000000e+00 -9.078354239463806152e-01 8.755555748939514160e-01 9.348711967468261719e-01 1.000000000000000000e+00 -9.043906331062316895e-01 8.734640479087829590e-01 9.336408972740173340e-01 1.000000000000000000e+00 -9.009457826614379883e-01 8.713725209236145020e-01 9.324105978012084961e-01 1.000000000000000000e+00 -8.975009322166442871e-01 8.692810535430908203e-01 9.311802983283996582e-01 1.000000000000000000e+00 -8.940561413764953613e-01 8.671895265579223633e-01 9.299499988555908203e-01 1.000000000000000000e+00 -8.906112909317016602e-01 8.650980591773986816e-01 9.287196993827819824e-01 1.000000000000000000e+00 -8.871665000915527344e-01 8.630065321922302246e-01 9.274893999099731445e-01 1.000000000000000000e+00 -8.837216496467590332e-01 8.609150052070617676e-01 9.262591600418090820e-01 1.000000000000000000e+00 -8.802767992019653320e-01 8.588235378265380859e-01 9.250288605690002441e-01 1.000000000000000000e+00 -8.768320083618164062e-01 8.567320108413696289e-01 9.237985610961914062e-01 1.000000000000000000e+00 -8.733871579170227051e-01 8.546405434608459473e-01 9.225682616233825684e-01 1.000000000000000000e+00 -8.699423074722290039e-01 8.525490164756774902e-01 9.213379621505737305e-01 1.000000000000000000e+00 -8.664975166320800781e-01 8.504574894905090332e-01 9.201076626777648926e-01 1.000000000000000000e+00 -8.630526661872863770e-01 8.483660221099853516e-01 9.188773632049560547e-01 1.000000000000000000e+00 -8.596078157424926758e-01 8.462744951248168945e-01 9.176470637321472168e-01 1.000000000000000000e+00 -8.561630249023437500e-01 8.441830277442932129e-01 9.164167642593383789e-01 1.000000000000000000e+00 -8.527181744575500488e-01 8.420915007591247559e-01 9.151864647865295410e-01 1.000000000000000000e+00 -8.492733836174011230e-01 8.399999737739562988e-01 9.139561653137207031e-01 1.000000000000000000e+00 -8.458285331726074219e-01 8.379085063934326172e-01 9.127258658409118652e-01 1.000000000000000000e+00 -8.423836827278137207e-01 8.358169794082641602e-01 9.114955663681030273e-01 1.000000000000000000e+00 -8.389388918876647949e-01 8.337255120277404785e-01 9.102652668952941895e-01 1.000000000000000000e+00 -8.354940414428710938e-01 8.316339850425720215e-01 9.090349674224853516e-01 1.000000000000000000e+00 -8.320491909980773926e-01 8.295424580574035645e-01 9.078046679496765137e-01 1.000000000000000000e+00 -8.286044001579284668e-01 8.274509906768798828e-01 9.065743684768676758e-01 1.000000000000000000e+00 -8.251595497131347656e-01 8.253594636917114258e-01 9.053440690040588379e-01 1.000000000000000000e+00 -8.217146992683410645e-01 8.232679963111877441e-01 9.041138291358947754e-01 1.000000000000000000e+00 -8.182699084281921387e-01 8.211764693260192871e-01 9.028835296630859375e-01 1.000000000000000000e+00 -8.143944740295410156e-01 8.189926743507385254e-01 9.016224741935729980e-01 1.000000000000000000e+00 -8.092272281646728516e-01 8.165320754051208496e-01 9.002691507339477539e-01 1.000000000000000000e+00 -8.040599822998046875e-01 8.140715360641479492e-01 8.989158272743225098e-01 1.000000000000000000e+00 -7.988927364349365234e-01 8.116109371185302734e-01 8.975625038146972656e-01 1.000000000000000000e+00 -7.937254905700683594e-01 8.091503381729125977e-01 8.962091207504272461e-01 1.000000000000000000e+00 -7.885582447052001953e-01 8.066897392272949219e-01 8.948557972908020020e-01 1.000000000000000000e+00 -7.833909988403320312e-01 8.042291402816772461e-01 8.935024738311767578e-01 1.000000000000000000e+00 -7.782237529754638672e-01 8.017685413360595703e-01 8.921491503715515137e-01 1.000000000000000000e+00 -7.730565071105957031e-01 7.993079423904418945e-01 8.907958269119262695e-01 1.000000000000000000e+00 -7.678892612457275391e-01 7.968473434448242188e-01 8.894425034523010254e-01 1.000000000000000000e+00 -7.627220153808593750e-01 7.943868041038513184e-01 8.880891799926757812e-01 1.000000000000000000e+00 -7.575547695159912109e-01 7.919262051582336426e-01 8.867358565330505371e-01 1.000000000000000000e+00 -7.523875236511230469e-01 7.894656062126159668e-01 8.853825330734252930e-01 1.000000000000000000e+00 -7.472202777862548828e-01 7.870050072669982910e-01 8.840292096138000488e-01 1.000000000000000000e+00 -7.420530319213867188e-01 7.845444083213806152e-01 8.826758861541748047e-01 1.000000000000000000e+00 -7.368857860565185547e-01 7.820838093757629395e-01 8.813225626945495605e-01 1.000000000000000000e+00 -7.317185401916503906e-01 7.796232104301452637e-01 8.799692392349243164e-01 1.000000000000000000e+00 -7.265513539314270020e-01 7.771626114845275879e-01 8.786159157752990723e-01 1.000000000000000000e+00 -7.213841080665588379e-01 7.747020125389099121e-01 8.772625923156738281e-01 1.000000000000000000e+00 -7.162168622016906738e-01 7.722414731979370117e-01 8.759092688560485840e-01 1.000000000000000000e+00 -7.110496163368225098e-01 7.697808742523193359e-01 8.745559453964233398e-01 1.000000000000000000e+00 -7.058823704719543457e-01 7.673202753067016602e-01 8.732026219367980957e-01 1.000000000000000000e+00 -7.007151246070861816e-01 7.648596763610839844e-01 8.718492984771728516e-01 1.000000000000000000e+00 -6.955478787422180176e-01 7.623990774154663086e-01 8.704959750175476074e-01 1.000000000000000000e+00 -6.903806328773498535e-01 7.599384784698486328e-01 8.691426515579223633e-01 1.000000000000000000e+00 -6.852133870124816895e-01 7.574778795242309570e-01 8.677893280982971191e-01 1.000000000000000000e+00 -6.800461411476135254e-01 7.550172805786132812e-01 8.664360046386718750e-01 1.000000000000000000e+00 -6.748788952827453613e-01 7.525566816329956055e-01 8.650826811790466309e-01 1.000000000000000000e+00 -6.697116494178771973e-01 7.500961422920227051e-01 8.637293577194213867e-01 1.000000000000000000e+00 -6.645444035530090332e-01 7.476355433464050293e-01 8.623760342597961426e-01 1.000000000000000000e+00 -6.593771576881408691e-01 7.451749444007873535e-01 8.610227108001708984e-01 1.000000000000000000e+00 -6.542099118232727051e-01 7.427143454551696777e-01 8.596693873405456543e-01 1.000000000000000000e+00 -6.480737924575805664e-01 7.402537465095520020e-01 8.582698702812194824e-01 1.000000000000000000e+00 -6.403229236602783203e-01 7.377931475639343262e-01 8.567935228347778320e-01 1.000000000000000000e+00 -6.325721144676208496e-01 7.353325486183166504e-01 8.553171753883361816e-01 1.000000000000000000e+00 -6.248212456703186035e-01 7.328719496726989746e-01 8.538408279418945312e-01 1.000000000000000000e+00 -6.170703768730163574e-01 7.304113507270812988e-01 8.523644804954528809e-01 1.000000000000000000e+00 -6.093195080757141113e-01 7.279508113861083984e-01 8.508881330490112305e-01 1.000000000000000000e+00 -6.015686392784118652e-01 7.254902124404907227e-01 8.494117856025695801e-01 1.000000000000000000e+00 -5.938177704811096191e-01 7.230296134948730469e-01 8.479354381561279297e-01 1.000000000000000000e+00 -5.860669016838073730e-01 7.205690145492553711e-01 8.464590311050415039e-01 1.000000000000000000e+00 -5.783160328865051270e-01 7.181084156036376953e-01 8.449826836585998535e-01 1.000000000000000000e+00 -5.705651640892028809e-01 7.156478166580200195e-01 8.435063362121582031e-01 1.000000000000000000e+00 -5.628142952919006348e-01 7.131872177124023438e-01 8.420299887657165527e-01 1.000000000000000000e+00 -5.550634264945983887e-01 7.107266187667846680e-01 8.405536413192749023e-01 1.000000000000000000e+00 -5.473125576972961426e-01 7.082660794258117676e-01 8.390772938728332520e-01 1.000000000000000000e+00 -5.395616888999938965e-01 7.058054804801940918e-01 8.376009464263916016e-01 1.000000000000000000e+00 -5.318108201026916504e-01 7.033448815345764160e-01 8.361245393753051758e-01 1.000000000000000000e+00 -5.240599513053894043e-01 7.008842825889587402e-01 8.346481919288635254e-01 1.000000000000000000e+00 -5.163090825080871582e-01 6.984236836433410645e-01 8.331718444824218750e-01 1.000000000000000000e+00 -5.085582733154296875e-01 6.959630846977233887e-01 8.316954970359802246e-01 1.000000000000000000e+00 -5.008074045181274414e-01 6.935024857521057129e-01 8.302191495895385742e-01 1.000000000000000000e+00 -4.930565059185028076e-01 6.910418868064880371e-01 8.287428021430969238e-01 1.000000000000000000e+00 -4.853056371212005615e-01 6.885812878608703613e-01 8.272664546966552734e-01 1.000000000000000000e+00 -4.775547981262207031e-01 6.861207485198974609e-01 8.257901072502136230e-01 1.000000000000000000e+00 -4.698039293289184570e-01 6.836601495742797852e-01 8.243137001991271973e-01 1.000000000000000000e+00 -4.620530605316162109e-01 6.811995506286621094e-01 8.228373527526855469e-01 1.000000000000000000e+00 -4.543021917343139648e-01 6.787389516830444336e-01 8.213610053062438965e-01 1.000000000000000000e+00 -4.465513229370117188e-01 6.762783527374267578e-01 8.198846578598022461e-01 1.000000000000000000e+00 -4.388004541397094727e-01 6.738177537918090820e-01 8.184083104133605957e-01 1.000000000000000000e+00 -4.310495853424072266e-01 6.713571548461914062e-01 8.169319629669189453e-01 1.000000000000000000e+00 -4.232987165451049805e-01 6.688965559005737305e-01 8.154556155204772949e-01 1.000000000000000000e+00 -4.155478775501251221e-01 6.664359569549560547e-01 8.139792680740356445e-01 1.000000000000000000e+00 -4.077970087528228760e-01 6.639754176139831543e-01 8.125028610229492188e-01 1.000000000000000000e+00 -4.009073376655578613e-01 6.612071990966796875e-01 8.108419775962829590e-01 1.000000000000000000e+00 -3.948788940906524658e-01 6.581314802169799805e-01 8.089965581893920898e-01 1.000000000000000000e+00 -3.888504505157470703e-01 6.550557613372802734e-01 8.071510791778564453e-01 1.000000000000000000e+00 -3.828219771385192871e-01 6.519799828529357910e-01 8.053056597709655762e-01 1.000000000000000000e+00 -3.767935335636138916e-01 6.489042639732360840e-01 8.034601807594299316e-01 1.000000000000000000e+00 -3.707650899887084961e-01 6.458285450935363770e-01 8.016147613525390625e-01 1.000000000000000000e+00 -3.647366464138031006e-01 6.427527666091918945e-01 7.997693419456481934e-01 1.000000000000000000e+00 -3.587082028388977051e-01 6.396770477294921875e-01 7.979238629341125488e-01 1.000000000000000000e+00 -3.526797294616699219e-01 6.366013288497924805e-01 7.960784435272216797e-01 1.000000000000000000e+00 -3.466512858867645264e-01 6.335255503654479980e-01 7.942329645156860352e-01 1.000000000000000000e+00 -3.406228423118591309e-01 6.304498314857482910e-01 7.923875451087951660e-01 1.000000000000000000e+00 -3.345943987369537354e-01 6.273741126060485840e-01 7.905421257019042969e-01 1.000000000000000000e+00 -3.285659253597259521e-01 6.242983341217041016e-01 7.886966466903686523e-01 1.000000000000000000e+00 -3.225374817848205566e-01 6.212226152420043945e-01 7.868512272834777832e-01 1.000000000000000000e+00 -3.165090382099151611e-01 6.181468963623046875e-01 7.850057482719421387e-01 1.000000000000000000e+00 -3.104805946350097656e-01 6.150711178779602051e-01 7.831603288650512695e-01 1.000000000000000000e+00 -3.044521212577819824e-01 6.119953989982604980e-01 7.813148498535156250e-01 1.000000000000000000e+00 -2.984236776828765869e-01 6.089196205139160156e-01 7.794694304466247559e-01 1.000000000000000000e+00 -2.923952341079711914e-01 6.058439016342163086e-01 7.776240110397338867e-01 1.000000000000000000e+00 -2.863667905330657959e-01 6.027681827545166016e-01 7.757785320281982422e-01 1.000000000000000000e+00 -2.803383171558380127e-01 5.996924042701721191e-01 7.739331126213073730e-01 1.000000000000000000e+00 -2.743098735809326172e-01 5.966166853904724121e-01 7.720876336097717285e-01 1.000000000000000000e+00 -2.682814300060272217e-01 5.935409665107727051e-01 7.702422142028808594e-01 1.000000000000000000e+00 -2.622529864311218262e-01 5.904651880264282227e-01 7.683967947959899902e-01 1.000000000000000000e+00 -2.562245428562164307e-01 5.873894691467285156e-01 7.665513157844543457e-01 1.000000000000000000e+00 -2.501960694789886475e-01 5.843137502670288086e-01 7.647058963775634766e-01 1.000000000000000000e+00 -2.441676259040832520e-01 5.812379717826843262e-01 7.628604173660278320e-01 1.000000000000000000e+00 -2.381391823291778564e-01 5.781622529029846191e-01 7.610149979591369629e-01 1.000000000000000000e+00 -2.321107238531112671e-01 5.750865340232849121e-01 7.591695785522460938e-01 1.000000000000000000e+00 -2.260822802782058716e-01 5.720107555389404297e-01 7.573240995407104492e-01 1.000000000000000000e+00 -2.200538218021392822e-01 5.689350366592407227e-01 7.554786801338195801e-01 1.000000000000000000e+00 -2.140253782272338867e-01 5.658592581748962402e-01 7.536332011222839355e-01 1.000000000000000000e+00 -2.077662497758865356e-01 5.635524988174438477e-01 7.487889528274536133e-01 1.000000000000000000e+00 -2.013687044382095337e-01 5.617070198059082031e-01 7.421452999114990234e-01 1.000000000000000000e+00 -1.949711591005325317e-01 5.598616003990173340e-01 7.355017066001892090e-01 1.000000000000000000e+00 -1.885736286640167236e-01 5.580161213874816895e-01 7.288581132888793945e-01 1.000000000000000000e+00 -1.821760833263397217e-01 5.561707019805908203e-01 7.222145199775695801e-01 1.000000000000000000e+00 -1.757785528898239136e-01 5.543252825736999512e-01 7.155709266662597656e-01 1.000000000000000000e+00 -1.693810075521469116e-01 5.524798035621643066e-01 7.089273333549499512e-01 1.000000000000000000e+00 -1.629834622144699097e-01 5.506343841552734375e-01 7.022837400436401367e-01 1.000000000000000000e+00 -1.565859317779541016e-01 5.487889051437377930e-01 6.956401467323303223e-01 1.000000000000000000e+00 -1.501883864402770996e-01 5.469434857368469238e-01 6.889965534210205078e-01 1.000000000000000000e+00 -1.437908560037612915e-01 5.450980663299560547e-01 6.823529601097106934e-01 1.000000000000000000e+00 -1.373933106660842896e-01 5.432525873184204102e-01 6.757093667984008789e-01 1.000000000000000000e+00 -1.309957653284072876e-01 5.414071679115295410e-01 6.690657734870910645e-01 1.000000000000000000e+00 -1.245982348918914795e-01 5.395616888999938965e-01 6.624221205711364746e-01 1.000000000000000000e+00 -1.182006895542144775e-01 5.377162694931030273e-01 6.557785272598266602e-01 1.000000000000000000e+00 -1.118031516671180725e-01 5.358707904815673828e-01 6.491349339485168457e-01 1.000000000000000000e+00 -1.054056137800216675e-01 5.340253710746765137e-01 6.424913406372070312e-01 1.000000000000000000e+00 -9.900807589292526245e-02 5.321799516677856445e-01 6.358477473258972168e-01 1.000000000000000000e+00 -9.261053800582885742e-02 5.303344726562500000e-01 6.292041540145874023e-01 1.000000000000000000e+00 -8.621299266815185547e-02 5.284890532493591309e-01 6.225605607032775879e-01 1.000000000000000000e+00 -7.981545478105545044e-02 5.266435742378234863e-01 6.159169673919677734e-01 1.000000000000000000e+00 -7.341791689395904541e-02 5.247981548309326172e-01 6.092733740806579590e-01 1.000000000000000000e+00 -6.702037900686264038e-02 5.229527354240417480e-01 6.026297807693481445e-01 1.000000000000000000e+00 -6.062283739447593689e-02 5.211072564125061035e-01 5.959861874580383301e-01 1.000000000000000000e+00 -5.422529950737953186e-02 5.192618370056152344e-01 5.893425345420837402e-01 1.000000000000000000e+00 -4.782775789499282837e-02 5.174163579940795898e-01 5.826989412307739258e-01 1.000000000000000000e+00 -4.143022000789642334e-02 5.155709385871887207e-01 5.760553479194641113e-01 1.000000000000000000e+00 -3.503267839550971985e-02 5.137255191802978516e-01 5.694117546081542969e-01 1.000000000000000000e+00 -2.863514050841331482e-02 5.118800401687622070e-01 5.627681612968444824e-01 1.000000000000000000e+00 -2.223760075867176056e-02 5.100346207618713379e-01 5.561245679855346680e-01 1.000000000000000000e+00 -1.584006100893020630e-02 5.081891417503356934e-01 5.494809746742248535e-01 1.000000000000000000e+00 -9.442522190511226654e-03 5.063437223434448242e-01 5.428373813629150391e-01 1.000000000000000000e+00 -7.750865072011947632e-03 5.039446353912353516e-01 5.366551280021667480e-01 1.000000000000000000e+00 -7.627835497260093689e-03 5.013610124588012695e-01 5.306266546249389648e-01 1.000000000000000000e+00 -7.504805922508239746e-03 4.987773895263671875e-01 5.245982408523559570e-01 1.000000000000000000e+00 -7.381776347756385803e-03 4.961937665939331055e-01 5.185697674751281738e-01 1.000000000000000000e+00 -7.258746773004531860e-03 4.936101436614990234e-01 5.125413537025451660e-01 1.000000000000000000e+00 -7.135717198252677917e-03 4.910265207290649414e-01 5.065128803253173828e-01 1.000000000000000000e+00 -7.012687623500823975e-03 4.884428977966308594e-01 5.004844069480895996e-01 1.000000000000000000e+00 -6.889658048748970032e-03 4.858592748641967773e-01 4.944559931755065918e-01 1.000000000000000000e+00 -6.766628008335828781e-03 4.832756519317626953e-01 4.884275197982788086e-01 1.000000000000000000e+00 -6.643598433583974838e-03 4.806920289993286133e-01 4.823990762233734131e-01 1.000000000000000000e+00 -6.520568858832120895e-03 4.781084060668945312e-01 4.763706326484680176e-01 1.000000000000000000e+00 -6.397539284080266953e-03 4.755248129367828369e-01 4.703421890735626221e-01 1.000000000000000000e+00 -6.274509709328413010e-03 4.729411900043487549e-01 4.643137156963348389e-01 1.000000000000000000e+00 -6.151480134576559067e-03 4.703575670719146729e-01 4.582852721214294434e-01 1.000000000000000000e+00 -6.028450559824705124e-03 4.677739441394805908e-01 4.522568285465240479e-01 1.000000000000000000e+00 -5.905420985072851181e-03 4.651903212070465088e-01 4.462283849716186523e-01 1.000000000000000000e+00 -5.782391410320997238e-03 4.626066982746124268e-01 4.401999115943908691e-01 1.000000000000000000e+00 -5.659361835569143295e-03 4.600230753421783447e-01 4.341714680194854736e-01 1.000000000000000000e+00 -5.536332260817289352e-03 4.574394524097442627e-01 4.281430244445800781e-01 1.000000000000000000e+00 -5.413302686065435410e-03 4.548558294773101807e-01 4.221145808696746826e-01 1.000000000000000000e+00 -5.290273111313581467e-03 4.522722065448760986e-01 4.160861074924468994e-01 1.000000000000000000e+00 -5.167243536561727524e-03 4.496885836124420166e-01 4.100576639175415039e-01 1.000000000000000000e+00 -5.044213961809873581e-03 4.471049606800079346e-01 4.040292203426361084e-01 1.000000000000000000e+00 -4.921184387058019638e-03 4.445213377475738525e-01 3.980007767677307129e-01 1.000000000000000000e+00 -4.798154346644878387e-03 4.419377148151397705e-01 3.919723331928253174e-01 1.000000000000000000e+00 -4.675124771893024445e-03 4.393540918827056885e-01 3.859438598155975342e-01 1.000000000000000000e+00 -4.552095197141170502e-03 4.367704689502716064e-01 3.799154162406921387e-01 1.000000000000000000e+00 -4.429065622389316559e-03 4.341868460178375244e-01 3.738869726657867432e-01 1.000000000000000000e+00 -4.306036047637462616e-03 4.316032230854034424e-01 3.678585290908813477e-01 1.000000000000000000e+00 -4.183006472885608673e-03 4.290196001529693604e-01 3.618300557136535645e-01 1.000000000000000000e+00 -4.059976898133754730e-03 4.264359772205352783e-01 3.558016121387481689e-01 1.000000000000000000e+00 -3.936947323381900787e-03 4.238523542881011963e-01 3.497731685638427734e-01 1.000000000000000000e+00 -3.921568859368562698e-03 4.194386899471282959e-01 3.452518284320831299e-01 1.000000000000000000e+00 -3.921568859368562698e-03 4.147635400295257568e-01 3.409457802772521973e-01 1.000000000000000000e+00 -3.921568859368562698e-03 4.100884199142456055e-01 3.366397619247436523e-01 1.000000000000000000e+00 -3.921568859368562698e-03 4.054132997989654541e-01 3.323337137699127197e-01 1.000000000000000000e+00 -3.921568859368562698e-03 4.007381796836853027e-01 3.280276954174041748e-01 1.000000000000000000e+00 -3.921568859368562698e-03 3.960630595684051514e-01 3.237216472625732422e-01 1.000000000000000000e+00 -3.921568859368562698e-03 3.913879394531250000e-01 3.194155991077423096e-01 1.000000000000000000e+00 -3.921568859368562698e-03 3.867127895355224609e-01 3.151095807552337646e-01 1.000000000000000000e+00 -3.921568859368562698e-03 3.820376694202423096e-01 3.108035326004028320e-01 1.000000000000000000e+00 -3.921568859368562698e-03 3.773625493049621582e-01 3.064975142478942871e-01 1.000000000000000000e+00 -3.921568859368562698e-03 3.726874291896820068e-01 3.021914660930633545e-01 1.000000000000000000e+00 -3.921568859368562698e-03 3.680123090744018555e-01 2.978854179382324219e-01 1.000000000000000000e+00 -3.921568859368562698e-03 3.633371889591217041e-01 2.935793995857238770e-01 1.000000000000000000e+00 -3.921568859368562698e-03 3.586620390415191650e-01 2.892733514308929443e-01 1.000000000000000000e+00 -3.921568859368562698e-03 3.539869189262390137e-01 2.849673330783843994e-01 1.000000000000000000e+00 -3.921568859368562698e-03 3.493117988109588623e-01 2.806612849235534668e-01 1.000000000000000000e+00 -3.921568859368562698e-03 3.446366786956787109e-01 2.763552367687225342e-01 1.000000000000000000e+00 -3.921568859368562698e-03 3.399615585803985596e-01 2.720492184162139893e-01 1.000000000000000000e+00 -3.921568859368562698e-03 3.352864384651184082e-01 2.677431702613830566e-01 1.000000000000000000e+00 -3.921568859368562698e-03 3.306112885475158691e-01 2.634371519088745117e-01 1.000000000000000000e+00 -3.921568859368562698e-03 3.259361684322357178e-01 2.591311037540435791e-01 1.000000000000000000e+00 -3.921568859368562698e-03 3.212610483169555664e-01 2.548250555992126465e-01 1.000000000000000000e+00 -3.921568859368562698e-03 3.165859282016754150e-01 2.505190372467041016e-01 1.000000000000000000e+00 -3.921568859368562698e-03 3.119108080863952637e-01 2.462129890918731689e-01 1.000000000000000000e+00 -3.921568859368562698e-03 3.072356879711151123e-01 2.419069558382034302e-01 1.000000000000000000e+00 -3.921568859368562698e-03 3.025605678558349609e-01 2.376009225845336914e-01 1.000000000000000000e+00 -3.921568859368562698e-03 2.978854179382324219e-01 2.332948893308639526e-01 1.000000000000000000e+00 -3.921568859368562698e-03 2.932102978229522705e-01 2.289888560771942139e-01 1.000000000000000000e+00 -3.921568859368562698e-03 2.885351777076721191e-01 2.246828079223632812e-01 1.000000000000000000e+00 -3.921568859368562698e-03 2.838600575923919678e-01 2.203767746686935425e-01 1.000000000000000000e+00 -3.921568859368562698e-03 2.791849374771118164e-01 2.160707414150238037e-01 1.000000000000000000e+00 -3.921568859368562698e-03 2.745098173618316650e-01 2.117647081613540649e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/PuOr b/fastplotlib/utils/colormaps/PuOr deleted file mode 100644 index 9f95d83c9..000000000 --- a/fastplotlib/utils/colormaps/PuOr +++ /dev/null @@ -1,256 +0,0 @@ -4.980392158031463623e-01 2.313725501298904419e-01 3.137255087494850159e-02 1.000000000000000000e+00 -5.060361623764038086e-01 2.358323782682418823e-01 3.106497414410114288e-02 1.000000000000000000e+00 -5.140330791473388672e-01 2.402921915054321289e-01 3.075740113854408264e-02 1.000000000000000000e+00 -5.220299959182739258e-01 2.447520196437835693e-01 3.044982627034187317e-02 1.000000000000000000e+00 -5.300269126892089844e-01 2.492118477821350098e-01 3.014225326478481293e-02 1.000000000000000000e+00 -5.380238294601440430e-01 2.536716759204864502e-01 2.983467839658260345e-02 1.000000000000000000e+00 -5.460207462310791016e-01 2.581314742565155029e-01 2.952710539102554321e-02 1.000000000000000000e+00 -5.540176630020141602e-01 2.625913023948669434e-01 2.921953052282333374e-02 1.000000000000000000e+00 -5.620146393775939941e-01 2.670511305332183838e-01 2.891195751726627350e-02 1.000000000000000000e+00 -5.700115561485290527e-01 2.715109586715698242e-01 2.860438264906406403e-02 1.000000000000000000e+00 -5.780084729194641113e-01 2.759707868099212646e-01 2.829680964350700378e-02 1.000000000000000000e+00 -5.860053896903991699e-01 2.804306149482727051e-01 2.798923477530479431e-02 1.000000000000000000e+00 -5.940023064613342285e-01 2.848904132843017578e-01 2.768166176974773407e-02 1.000000000000000000e+00 -6.019992232322692871e-01 2.893502414226531982e-01 2.737408690154552460e-02 1.000000000000000000e+00 -6.099961400032043457e-01 2.938100695610046387e-01 2.706651203334331512e-02 1.000000000000000000e+00 -6.179930567741394043e-01 2.982698976993560791e-01 2.675893902778625488e-02 1.000000000000000000e+00 -6.259900331497192383e-01 3.027297258377075195e-01 2.645136415958404541e-02 1.000000000000000000e+00 -6.339869499206542969e-01 3.071895539760589600e-01 2.614379115402698517e-02 1.000000000000000000e+00 -6.419838666915893555e-01 3.116493523120880127e-01 2.583621628582477570e-02 1.000000000000000000e+00 -6.499807834625244141e-01 3.161091804504394531e-01 2.552864328026771545e-02 1.000000000000000000e+00 -6.579777002334594727e-01 3.205690085887908936e-01 2.522106841206550598e-02 1.000000000000000000e+00 -6.659746170043945312e-01 3.250288367271423340e-01 2.491349540650844574e-02 1.000000000000000000e+00 -6.739715337753295898e-01 3.294886648654937744e-01 2.460592053830623627e-02 1.000000000000000000e+00 -6.819684505462646484e-01 3.339484930038452148e-01 2.429834753274917603e-02 1.000000000000000000e+00 -6.899654269218444824e-01 3.384082913398742676e-01 2.399077266454696655e-02 1.000000000000000000e+00 -6.979623436927795410e-01 3.428681194782257080e-01 2.368319965898990631e-02 1.000000000000000000e+00 -7.054209709167480469e-01 3.483275771141052246e-01 2.460592053830623627e-02 1.000000000000000000e+00 -7.123414278030395508e-01 3.547866344451904297e-01 2.675893902778625488e-02 1.000000000000000000e+00 -7.192618250846862793e-01 3.612456619739532471e-01 2.891195751726627350e-02 1.000000000000000000e+00 -7.261822223663330078e-01 3.677047193050384521e-01 3.106497414410114288e-02 1.000000000000000000e+00 -7.331026792526245117e-01 3.741637766361236572e-01 3.321799263358116150e-02 1.000000000000000000e+00 -7.400230765342712402e-01 3.806228339672088623e-01 3.537101298570632935e-02 1.000000000000000000e+00 -7.469434738159179688e-01 3.870818912982940674e-01 3.752402961254119873e-02 1.000000000000000000e+00 -7.538638710975646973e-01 3.935409486293792725e-01 3.967704623937606812e-02 1.000000000000000000e+00 -7.607843279838562012e-01 4.000000059604644775e-01 4.183006659150123596e-02 1.000000000000000000e+00 -7.677047252655029297e-01 4.064590632915496826e-01 4.398308321833610535e-02 1.000000000000000000e+00 -7.746251225471496582e-01 4.129181206226348877e-01 4.613609984517097473e-02 1.000000000000000000e+00 -7.815455794334411621e-01 4.193771481513977051e-01 4.828912019729614258e-02 1.000000000000000000e+00 -7.884659767150878906e-01 4.258362054824829102e-01 5.044213682413101196e-02 1.000000000000000000e+00 -7.953863739967346191e-01 4.322952628135681152e-01 5.259515717625617981e-02 1.000000000000000000e+00 -8.023068308830261230e-01 4.387543201446533203e-01 5.474817380309104919e-02 1.000000000000000000e+00 -8.092272281646728516e-01 4.452133774757385254e-01 5.690119042992591858e-02 1.000000000000000000e+00 -8.161476254463195801e-01 4.516724348068237305e-01 5.905421078205108643e-02 1.000000000000000000e+00 -8.230680227279663086e-01 4.581314921379089355e-01 6.120722740888595581e-02 1.000000000000000000e+00 -8.299884796142578125e-01 4.645905494689941406e-01 6.336024403572082520e-02 1.000000000000000000e+00 -8.369088768959045410e-01 4.710496068000793457e-01 6.551326066255569458e-02 1.000000000000000000e+00 -8.438292741775512695e-01 4.775086641311645508e-01 6.766628473997116089e-02 1.000000000000000000e+00 -8.507497310638427734e-01 4.839676916599273682e-01 6.981930136680603027e-02 1.000000000000000000e+00 -8.576701283454895020e-01 4.904267489910125732e-01 7.197231799364089966e-02 1.000000000000000000e+00 -8.645905256271362305e-01 4.968858063220977783e-01 7.412533462047576904e-02 1.000000000000000000e+00 -8.715109825134277344e-01 5.033448934555053711e-01 7.627835124731063843e-02 1.000000000000000000e+00 -8.784313797950744629e-01 5.098039507865905762e-01 7.843137532472610474e-02 1.000000000000000000e+00 -8.828911781311035156e-01 5.181084275245666504e-01 9.058054536581039429e-02 1.000000000000000000e+00 -8.873510360717773438e-01 5.264129042625427246e-01 1.027297228574752808e-01 1.000000000000000000e+00 -8.918108344078063965e-01 5.347174406051635742e-01 1.148788928985595703e-01 1.000000000000000000e+00 -8.962706923484802246e-01 5.430219173431396484e-01 1.270280629396438599e-01 1.000000000000000000e+00 -9.007304906845092773e-01 5.513263940811157227e-01 1.391772329807281494e-01 1.000000000000000000e+00 -9.051902890205383301e-01 5.596309304237365723e-01 1.513264179229736328e-01 1.000000000000000000e+00 -9.096501469612121582e-01 5.679354071617126465e-01 1.634755879640579224e-01 1.000000000000000000e+00 -9.141099452972412109e-01 5.762398838996887207e-01 1.756247580051422119e-01 1.000000000000000000e+00 -9.185698032379150391e-01 5.845444202423095703e-01 1.877739280462265015e-01 1.000000000000000000e+00 -9.230296015739440918e-01 5.928488969802856445e-01 1.999231129884719849e-01 1.000000000000000000e+00 -9.274893999099731445e-01 6.011533737182617188e-01 2.120722830295562744e-01 1.000000000000000000e+00 -9.319492578506469727e-01 6.094579100608825684e-01 2.242214530706405640e-01 1.000000000000000000e+00 -9.364090561866760254e-01 6.177623867988586426e-01 2.363706231117248535e-01 1.000000000000000000e+00 -9.408689141273498535e-01 6.260669231414794922e-01 2.485197931528091431e-01 1.000000000000000000e+00 -9.453287124633789062e-01 6.343713998794555664e-01 2.606689631938934326e-01 1.000000000000000000e+00 -9.497885704040527344e-01 6.426758766174316406e-01 2.728181481361389160e-01 1.000000000000000000e+00 -9.542483687400817871e-01 6.509804129600524902e-01 2.849673330783843994e-01 1.000000000000000000e+00 -9.587081670761108398e-01 6.592848896980285645e-01 2.971164882183074951e-01 1.000000000000000000e+00 -9.631680250167846680e-01 6.675893664360046387e-01 3.092656731605529785e-01 1.000000000000000000e+00 -9.676278233528137207e-01 6.758939027786254883e-01 3.214148283004760742e-01 1.000000000000000000e+00 -9.720876812934875488e-01 6.841983795166015625e-01 3.335640132427215576e-01 1.000000000000000000e+00 -9.765474796295166016e-01 6.925028562545776367e-01 3.457131981849670410e-01 1.000000000000000000e+00 -9.810072779655456543e-01 7.008073925971984863e-01 3.578623533248901367e-01 1.000000000000000000e+00 -9.854671359062194824e-01 7.091118693351745605e-01 3.700115382671356201e-01 1.000000000000000000e+00 -9.899269342422485352e-01 7.174164056777954102e-01 3.821606934070587158e-01 1.000000000000000000e+00 -9.922337532043457031e-01 7.246443629264831543e-01 3.946174681186676025e-01 1.000000000000000000e+00 -9.923875331878662109e-01 7.307958602905273438e-01 4.073817729949951172e-01 1.000000000000000000e+00 -9.925413131713867188e-01 7.369473576545715332e-01 4.201461076736450195e-01 1.000000000000000000e+00 -9.926950931549072266e-01 7.430987954139709473e-01 4.329104125499725342e-01 1.000000000000000000e+00 -9.928489327430725098e-01 7.492502927780151367e-01 4.456747472286224365e-01 1.000000000000000000e+00 -9.930027127265930176e-01 7.554017901420593262e-01 4.584390521049499512e-01 1.000000000000000000e+00 -9.931564927101135254e-01 7.615532279014587402e-01 4.712033867835998535e-01 1.000000000000000000e+00 -9.933102726936340332e-01 7.677047252655029297e-01 4.839676916599273682e-01 1.000000000000000000e+00 -9.934640526771545410e-01 7.738562226295471191e-01 4.967320263385772705e-01 1.000000000000000000e+00 -9.936178326606750488e-01 7.800076603889465332e-01 5.094963312149047852e-01 1.000000000000000000e+00 -9.937716126441955566e-01 7.861591577529907227e-01 5.222606658935546875e-01 1.000000000000000000e+00 -9.939253926277160645e-01 7.923106551170349121e-01 5.350250005722045898e-01 1.000000000000000000e+00 -9.940791726112365723e-01 7.984621524810791016e-01 5.477893352508544922e-01 1.000000000000000000e+00 -9.942330121994018555e-01 8.046135902404785156e-01 5.605536103248596191e-01 1.000000000000000000e+00 -9.943867921829223633e-01 8.107650876045227051e-01 5.733179450035095215e-01 1.000000000000000000e+00 -9.945405721664428711e-01 8.169165849685668945e-01 5.860822796821594238e-01 1.000000000000000000e+00 -9.946943521499633789e-01 8.230680227279663086e-01 5.988466143608093262e-01 1.000000000000000000e+00 -9.948481321334838867e-01 8.292195200920104980e-01 6.116108894348144531e-01 1.000000000000000000e+00 -9.950019121170043945e-01 8.353710174560546875e-01 6.243752241134643555e-01 1.000000000000000000e+00 -9.951556921005249023e-01 8.415225148200988770e-01 6.371395587921142578e-01 1.000000000000000000e+00 -9.953094720840454102e-01 8.476739525794982910e-01 6.499038934707641602e-01 1.000000000000000000e+00 -9.954633116722106934e-01 8.538254499435424805e-01 6.626682281494140625e-01 1.000000000000000000e+00 -9.956170916557312012e-01 8.599769473075866699e-01 6.754325032234191895e-01 1.000000000000000000e+00 -9.957708716392517090e-01 8.661283850669860840e-01 6.881968379020690918e-01 1.000000000000000000e+00 -9.959246516227722168e-01 8.722798824310302734e-01 7.009611725807189941e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.784313797950744629e-01 7.137255072593688965e-01 1.000000000000000000e+00 -9.950019121170043945e-01 8.819684982299804688e-01 7.237216234207153320e-01 1.000000000000000000e+00 -9.939253926277160645e-01 8.855055570602416992e-01 7.337177991867065430e-01 1.000000000000000000e+00 -9.928489327430725098e-01 8.890426754951477051e-01 7.437139749526977539e-01 1.000000000000000000e+00 -9.917724132537841797e-01 8.925797939300537109e-01 7.537100911140441895e-01 1.000000000000000000e+00 -9.906958937644958496e-01 8.961168527603149414e-01 7.637062668800354004e-01 1.000000000000000000e+00 -9.896193742752075195e-01 8.996539711952209473e-01 7.737024426460266113e-01 1.000000000000000000e+00 -9.885428547859191895e-01 9.031910896301269531e-01 7.836985588073730469e-01 1.000000000000000000e+00 -9.874663352966308594e-01 9.067282080650329590e-01 7.936947345733642578e-01 1.000000000000000000e+00 -9.863898754119873047e-01 9.102652668952941895e-01 8.036909103393554688e-01 1.000000000000000000e+00 -9.853133559226989746e-01 9.138023853302001953e-01 8.136870265007019043e-01 1.000000000000000000e+00 -9.842368364334106445e-01 9.173395037651062012e-01 8.236832022666931152e-01 1.000000000000000000e+00 -9.831603169441223145e-01 9.208765625953674316e-01 8.336793780326843262e-01 1.000000000000000000e+00 -9.820837974548339844e-01 9.244136810302734375e-01 8.436754941940307617e-01 1.000000000000000000e+00 -9.810072779655456543e-01 9.279507994651794434e-01 8.536716699600219727e-01 1.000000000000000000e+00 -9.799308180809020996e-01 9.314879179000854492e-01 8.636678457260131836e-01 1.000000000000000000e+00 -9.788542985916137695e-01 9.350249767303466797e-01 8.736639618873596191e-01 1.000000000000000000e+00 -9.777777791023254395e-01 9.385620951652526855e-01 8.836601376533508301e-01 1.000000000000000000e+00 -9.767012596130371094e-01 9.420992136001586914e-01 8.936563134193420410e-01 1.000000000000000000e+00 -9.756247401237487793e-01 9.456362724304199219e-01 9.036524295806884766e-01 1.000000000000000000e+00 -9.745482802391052246e-01 9.491733908653259277e-01 9.136486053466796875e-01 1.000000000000000000e+00 -9.734717607498168945e-01 9.527105093002319336e-01 9.236447811126708984e-01 1.000000000000000000e+00 -9.723952412605285645e-01 9.562475681304931641e-01 9.336408972740173340e-01 1.000000000000000000e+00 -9.713187217712402344e-01 9.597846865653991699e-01 9.436370730400085449e-01 1.000000000000000000e+00 -9.702422022819519043e-01 9.633218050003051758e-01 9.536331892013549805e-01 1.000000000000000000e+00 -9.691656827926635742e-01 9.668589234352111816e-01 9.636293649673461914e-01 1.000000000000000000e+00 -9.662437438964843750e-01 9.663975238800048828e-01 9.677047133445739746e-01 1.000000000000000000e+00 -9.614763259887695312e-01 9.619377255439758301e-01 9.658592939376831055e-01 1.000000000000000000e+00 -9.567089676856994629e-01 9.574778676033020020e-01 9.640138149261474609e-01 1.000000000000000000e+00 -9.519415497779846191e-01 9.530180692672729492e-01 9.621683955192565918e-01 1.000000000000000000e+00 -9.471741914749145508e-01 9.485582709312438965e-01 9.603229761123657227e-01 1.000000000000000000e+00 -9.424067735671997070e-01 9.440984129905700684e-01 9.584774971008300781e-01 1.000000000000000000e+00 -9.376393556594848633e-01 9.396386146545410156e-01 9.566320776939392090e-01 1.000000000000000000e+00 -9.328719973564147949e-01 9.351787567138671875e-01 9.547865986824035645e-01 1.000000000000000000e+00 -9.281045794486999512e-01 9.307189583778381348e-01 9.529411792755126953e-01 1.000000000000000000e+00 -9.233371615409851074e-01 9.262591600418090820e-01 9.510957598686218262e-01 1.000000000000000000e+00 -9.185698032379150391e-01 9.217993021011352539e-01 9.492502808570861816e-01 1.000000000000000000e+00 -9.138023853302001953e-01 9.173395037651062012e-01 9.474048614501953125e-01 1.000000000000000000e+00 -9.090349674224853516e-01 9.128796458244323730e-01 9.455593824386596680e-01 1.000000000000000000e+00 -9.042676091194152832e-01 9.084198474884033203e-01 9.437139630317687988e-01 1.000000000000000000e+00 -8.995001912117004395e-01 9.039599895477294922e-01 9.418684840202331543e-01 1.000000000000000000e+00 -8.947327733039855957e-01 8.995001912117004395e-01 9.400230646133422852e-01 1.000000000000000000e+00 -8.899654150009155273e-01 8.950403928756713867e-01 9.381776452064514160e-01 1.000000000000000000e+00 -8.851979970932006836e-01 8.905805349349975586e-01 9.363321661949157715e-01 1.000000000000000000e+00 -8.804305791854858398e-01 8.861207365989685059e-01 9.344867467880249023e-01 1.000000000000000000e+00 -8.756632208824157715e-01 8.816608786582946777e-01 9.326412677764892578e-01 1.000000000000000000e+00 -8.708958029747009277e-01 8.772010803222656250e-01 9.307958483695983887e-01 1.000000000000000000e+00 -8.661283850669860840e-01 8.727412819862365723e-01 9.289504289627075195e-01 1.000000000000000000e+00 -8.613610267639160156e-01 8.682814240455627441e-01 9.271049499511718750e-01 1.000000000000000000e+00 -8.565936088562011719e-01 8.638216257095336914e-01 9.252595305442810059e-01 1.000000000000000000e+00 -8.518261909484863281e-01 8.593617677688598633e-01 9.234140515327453613e-01 1.000000000000000000e+00 -8.470588326454162598e-01 8.549019694328308105e-01 9.215686321258544922e-01 1.000000000000000000e+00 -8.412148952484130859e-01 8.476739525794982910e-01 9.177239537239074707e-01 1.000000000000000000e+00 -8.353710174560546875e-01 8.404459953308105469e-01 9.138792753219604492e-01 1.000000000000000000e+00 -8.295270800590515137e-01 8.332179784774780273e-01 9.100345969200134277e-01 1.000000000000000000e+00 -8.236832022666931152e-01 8.259900212287902832e-01 9.061899185180664062e-01 1.000000000000000000e+00 -8.178392648696899414e-01 8.187620043754577637e-01 9.023452401161193848e-01 1.000000000000000000e+00 -8.119953870773315430e-01 8.115340471267700195e-01 8.985005617141723633e-01 1.000000000000000000e+00 -8.061515092849731445e-01 8.043060302734375000e-01 8.946558833122253418e-01 1.000000000000000000e+00 -8.003075718879699707e-01 7.970780730247497559e-01 8.908112049102783203e-01 1.000000000000000000e+00 -7.944636940956115723e-01 7.898500561714172363e-01 8.869665265083312988e-01 1.000000000000000000e+00 -7.886197566986083984e-01 7.826220393180847168e-01 8.831218481063842773e-01 1.000000000000000000e+00 -7.827758789062500000e-01 7.753940820693969727e-01 8.792772293090820312e-01 1.000000000000000000e+00 -7.769319415092468262e-01 7.681660652160644531e-01 8.754325509071350098e-01 1.000000000000000000e+00 -7.710880637168884277e-01 7.609381079673767090e-01 8.715878725051879883e-01 1.000000000000000000e+00 -7.652441263198852539e-01 7.537100911140441895e-01 8.677431941032409668e-01 1.000000000000000000e+00 -7.594002485275268555e-01 7.464821338653564453e-01 8.638985157012939453e-01 1.000000000000000000e+00 -7.535563111305236816e-01 7.392541170120239258e-01 8.600538372993469238e-01 1.000000000000000000e+00 -7.477124333381652832e-01 7.320261597633361816e-01 8.562091588973999023e-01 1.000000000000000000e+00 -7.418684959411621094e-01 7.247981429100036621e-01 8.523644804954528809e-01 1.000000000000000000e+00 -7.360246181488037109e-01 7.175701856613159180e-01 8.485198020935058594e-01 1.000000000000000000e+00 -7.301806807518005371e-01 7.103421688079833984e-01 8.446751236915588379e-01 1.000000000000000000e+00 -7.243368029594421387e-01 7.031142115592956543e-01 8.408304452896118164e-01 1.000000000000000000e+00 -7.184928655624389648e-01 6.958861947059631348e-01 8.369857668876647949e-01 1.000000000000000000e+00 -7.126489877700805664e-01 6.886582374572753906e-01 8.331410884857177734e-01 1.000000000000000000e+00 -7.068050503730773926e-01 6.814302206039428711e-01 8.292964100837707520e-01 1.000000000000000000e+00 -7.009611725807189941e-01 6.742022037506103516e-01 8.254517316818237305e-01 1.000000000000000000e+00 -6.941945552825927734e-01 6.662821769714355469e-01 8.206074833869934082e-01 1.000000000000000000e+00 -6.865051984786987305e-01 6.576701402664184570e-01 8.147635459899902344e-01 1.000000000000000000e+00 -6.788158416748046875e-01 6.490580439567565918e-01 8.089196681976318359e-01 1.000000000000000000e+00 -6.711264848709106445e-01 6.404460072517395020e-01 8.030757308006286621e-01 1.000000000000000000e+00 -6.634371280670166016e-01 6.318339109420776367e-01 7.972318530082702637e-01 1.000000000000000000e+00 -6.557477712631225586e-01 6.232218146324157715e-01 7.913879156112670898e-01 1.000000000000000000e+00 -6.480584144592285156e-01 6.146097779273986816e-01 7.855440378189086914e-01 1.000000000000000000e+00 -6.403691172599792480e-01 6.059976816177368164e-01 7.797001004219055176e-01 1.000000000000000000e+00 -6.326797604560852051e-01 5.973856449127197266e-01 7.738562226295471191e-01 1.000000000000000000e+00 -6.249904036521911621e-01 5.887735486030578613e-01 7.680122852325439453e-01 1.000000000000000000e+00 -6.173010468482971191e-01 5.801614522933959961e-01 7.621684074401855469e-01 1.000000000000000000e+00 -6.096116900444030762e-01 5.715494155883789062e-01 7.563244700431823730e-01 1.000000000000000000e+00 -6.019223332405090332e-01 5.629373192787170410e-01 7.504805922508239746e-01 1.000000000000000000e+00 -5.942329764366149902e-01 5.543252825736999512e-01 7.446366548538208008e-01 1.000000000000000000e+00 -5.865436196327209473e-01 5.457131862640380859e-01 7.387927770614624023e-01 1.000000000000000000e+00 -5.788542628288269043e-01 5.371010899543762207e-01 7.329488396644592285e-01 1.000000000000000000e+00 -5.711649656295776367e-01 5.284890532493591309e-01 7.271049618721008301e-01 1.000000000000000000e+00 -5.634756088256835938e-01 5.198769569396972656e-01 7.212610244750976562e-01 1.000000000000000000e+00 -5.557862520217895508e-01 5.112649202346801758e-01 7.154171466827392578e-01 1.000000000000000000e+00 -5.480968952178955078e-01 5.026528239250183105e-01 7.095732688903808594e-01 1.000000000000000000e+00 -5.404075384140014648e-01 4.940407574176788330e-01 7.037293314933776855e-01 1.000000000000000000e+00 -5.327181816101074219e-01 4.854286909103393555e-01 6.978854537010192871e-01 1.000000000000000000e+00 -5.250288248062133789e-01 4.768165946006774902e-01 6.920415163040161133e-01 1.000000000000000000e+00 -5.173394680023193359e-01 4.682045280933380127e-01 6.861976385116577148e-01 1.000000000000000000e+00 -5.096501111984252930e-01 4.595924615859985352e-01 6.803537011146545410e-01 1.000000000000000000e+00 -5.019608139991760254e-01 4.509803950786590576e-01 6.745098233222961426e-01 1.000000000000000000e+00 -4.951941668987274170e-01 4.392925798892974854e-01 6.689734458923339844e-01 1.000000000000000000e+00 -4.884275197982788086e-01 4.276047646999359131e-01 6.634371280670166016e-01 1.000000000000000000e+00 -4.816609025001525879e-01 4.159169495105743408e-01 6.579008102416992188e-01 1.000000000000000000e+00 -4.748942852020263672e-01 4.042291343212127686e-01 6.523644924163818359e-01 1.000000000000000000e+00 -4.681276381015777588e-01 3.925413191318511963e-01 6.468281149864196777e-01 1.000000000000000000e+00 -4.613610208034515381e-01 3.808535039424896240e-01 6.412917971611022949e-01 1.000000000000000000e+00 -4.545943737030029297e-01 3.691657185554504395e-01 6.357554793357849121e-01 1.000000000000000000e+00 -4.478277564048767090e-01 3.574779033660888672e-01 6.302191615104675293e-01 1.000000000000000000e+00 -4.410611391067504883e-01 3.457900881767272949e-01 6.246828436851501465e-01 1.000000000000000000e+00 -4.342944920063018799e-01 3.341022729873657227e-01 6.191464662551879883e-01 1.000000000000000000e+00 -4.275278747081756592e-01 3.224144577980041504e-01 6.136101484298706055e-01 1.000000000000000000e+00 -4.207612574100494385e-01 3.107266426086425781e-01 6.080738306045532227e-01 1.000000000000000000e+00 -4.139946103096008301e-01 2.990388274192810059e-01 6.025375127792358398e-01 1.000000000000000000e+00 -4.072279930114746094e-01 2.873510122299194336e-01 5.970011353492736816e-01 1.000000000000000000e+00 -4.004613757133483887e-01 2.756631970405578613e-01 5.914648175239562988e-01 1.000000000000000000e+00 -3.936947286128997803e-01 2.639753818511962891e-01 5.859284996986389160e-01 1.000000000000000000e+00 -3.869281113147735596e-01 2.522875964641571045e-01 5.803921818733215332e-01 1.000000000000000000e+00 -3.801614642143249512e-01 2.405997663736343384e-01 5.748558044433593750e-01 1.000000000000000000e+00 -3.733948469161987305e-01 2.289119511842727661e-01 5.693194866180419922e-01 1.000000000000000000e+00 -3.666282296180725098e-01 2.172241508960723877e-01 5.637831687927246094e-01 1.000000000000000000e+00 -3.598615825176239014e-01 2.055363357067108154e-01 5.582468509674072266e-01 1.000000000000000000e+00 -3.530949652194976807e-01 1.938485205173492432e-01 5.527104735374450684e-01 1.000000000000000000e+00 -3.463283479213714600e-01 1.821607053279876709e-01 5.471741557121276855e-01 1.000000000000000000e+00 -3.395617008209228516e-01 1.704728901386260986e-01 5.416378378868103027e-01 1.000000000000000000e+00 -3.327950835227966309e-01 1.587850898504257202e-01 5.361015200614929199e-01 1.000000000000000000e+00 -3.264129161834716797e-01 1.499423235654830933e-01 5.286428332328796387e-01 1.000000000000000000e+00 -3.204152286052703857e-01 1.439446359872817993e-01 5.192618370056152344e-01 1.000000000000000000e+00 -3.144175410270690918e-01 1.379469484090805054e-01 5.098808407783508301e-01 1.000000000000000000e+00 -3.084198236465454102e-01 1.319492459297180176e-01 5.004997849464416504e-01 1.000000000000000000e+00 -3.024221360683441162e-01 1.259515583515167236e-01 4.911187887191772461e-01 1.000000000000000000e+00 -2.964244484901428223e-01 1.199538633227348328e-01 4.817377924919128418e-01 1.000000000000000000e+00 -2.904267609119415283e-01 1.139561682939529419e-01 4.723567962646484375e-01 1.000000000000000000e+00 -2.844290733337402344e-01 1.079584807157516479e-01 4.629757702350616455e-01 1.000000000000000000e+00 -2.784313857555389404e-01 1.019607856869697571e-01 4.535947740077972412e-01 1.000000000000000000e+00 -2.724336683750152588e-01 9.596309065818786621e-02 4.442137777805328369e-01 1.000000000000000000e+00 -2.664359807968139648e-01 8.996539562940597534e-02 4.348327517509460449e-01 1.000000000000000000e+00 -2.604382932186126709e-01 8.396770805120468140e-02 4.254517555236816406e-01 1.000000000000000000e+00 -2.544406056404113770e-01 7.797001302242279053e-02 4.160707294940948486e-01 1.000000000000000000e+00 -2.484429031610488892e-01 7.197231799364089966e-02 4.066897332668304443e-01 1.000000000000000000e+00 -2.424452155828475952e-01 6.597462296485900879e-02 3.973087370395660400e-01 1.000000000000000000e+00 -2.364475131034851074e-01 5.997693166136741638e-02 3.879277110099792480e-01 1.000000000000000000e+00 -2.304498255252838135e-01 5.397924035787582397e-02 3.785467147827148438e-01 1.000000000000000000e+00 -2.244521379470825195e-01 4.798154532909393311e-02 3.691657185554504395e-01 1.000000000000000000e+00 -2.184544354677200317e-01 4.198385402560234070e-02 3.597846925258636475e-01 1.000000000000000000e+00 -2.124567478895187378e-01 3.598615899682044983e-02 3.504036962985992432e-01 1.000000000000000000e+00 -2.064590603113174438e-01 2.998846583068370819e-02 3.410226702690124512e-01 1.000000000000000000e+00 -2.004613578319549561e-01 2.399077266454696655e-02 3.316416740417480469e-01 1.000000000000000000e+00 -1.944636702537536621e-01 1.799307949841022491e-02 3.222606778144836426e-01 1.000000000000000000e+00 -1.884659677743911743e-01 1.199538633227348328e-02 3.128796517848968506e-01 1.000000000000000000e+00 -1.824682801961898804e-01 5.997693166136741638e-03 3.034986555576324463e-01 1.000000000000000000e+00 -1.764705926179885864e-01 0.000000000000000000e+00 2.941176593303680420e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/PuRd b/fastplotlib/utils/colormaps/PuRd deleted file mode 100644 index 0c5014f78..000000000 --- a/fastplotlib/utils/colormaps/PuRd +++ /dev/null @@ -1,256 +0,0 @@ -9.686274528503417969e-01 9.568627476692199707e-01 9.764705896377563477e-01 1.000000000000000000e+00 -9.666589498519897461e-01 9.545251727104187012e-01 9.752402901649475098e-01 1.000000000000000000e+00 -9.646905064582824707e-01 9.521875977516174316e-01 9.740099906921386719e-01 1.000000000000000000e+00 -9.627220034599304199e-01 9.498500823974609375e-01 9.727796912193298340e-01 1.000000000000000000e+00 -9.607535600662231445e-01 9.475125074386596680e-01 9.715493917465209961e-01 1.000000000000000000e+00 -9.587850570678710938e-01 9.451749324798583984e-01 9.703190922737121582e-01 1.000000000000000000e+00 -9.568166136741638184e-01 9.428373575210571289e-01 9.690887928009033203e-01 1.000000000000000000e+00 -9.548481106758117676e-01 9.404997825622558594e-01 9.678584933280944824e-01 1.000000000000000000e+00 -9.528796672821044922e-01 9.381622672080993652e-01 9.666281938552856445e-01 1.000000000000000000e+00 -9.509111642837524414e-01 9.358246922492980957e-01 9.653978943824768066e-01 1.000000000000000000e+00 -9.489427208900451660e-01 9.334871172904968262e-01 9.641676545143127441e-01 1.000000000000000000e+00 -9.469742178916931152e-01 9.311495423316955566e-01 9.629373550415039062e-01 1.000000000000000000e+00 -9.450057744979858398e-01 9.288119673728942871e-01 9.617070555686950684e-01 1.000000000000000000e+00 -9.430372714996337891e-01 9.264744520187377930e-01 9.604767560958862305e-01 1.000000000000000000e+00 -9.410688281059265137e-01 9.241368770599365234e-01 9.592464566230773926e-01 1.000000000000000000e+00 -9.391003251075744629e-01 9.217993021011352539e-01 9.580161571502685547e-01 1.000000000000000000e+00 -9.371318817138671875e-01 9.194617271423339844e-01 9.567858576774597168e-01 1.000000000000000000e+00 -9.351633787155151367e-01 9.171242117881774902e-01 9.555555582046508789e-01 1.000000000000000000e+00 -9.331949353218078613e-01 9.147866368293762207e-01 9.543252587318420410e-01 1.000000000000000000e+00 -9.312264323234558105e-01 9.124490618705749512e-01 9.530949592590332031e-01 1.000000000000000000e+00 -9.292579889297485352e-01 9.101114869117736816e-01 9.518646597862243652e-01 1.000000000000000000e+00 -9.272894859313964844e-01 9.077739119529724121e-01 9.506343603134155273e-01 1.000000000000000000e+00 -9.253210425376892090e-01 9.054363965988159180e-01 9.494040608406066895e-01 1.000000000000000000e+00 -9.233525395393371582e-01 9.030988216400146484e-01 9.481737613677978516e-01 1.000000000000000000e+00 -9.213840961456298828e-01 9.007612466812133789e-01 9.469434618949890137e-01 1.000000000000000000e+00 -9.194155931472778320e-01 8.984236717224121094e-01 9.457131624221801758e-01 1.000000000000000000e+00 -9.174471497535705566e-01 8.960860967636108398e-01 9.444828629493713379e-01 1.000000000000000000e+00 -9.154786467552185059e-01 8.937485814094543457e-01 9.432526230812072754e-01 1.000000000000000000e+00 -9.135102033615112305e-01 8.914110064506530762e-01 9.420223236083984375e-01 1.000000000000000000e+00 -9.115417003631591797e-01 8.890734314918518066e-01 9.407920241355895996e-01 1.000000000000000000e+00 -9.095732569694519043e-01 8.867358565330505371e-01 9.395617246627807617e-01 1.000000000000000000e+00 -9.076047539710998535e-01 8.843982815742492676e-01 9.383314251899719238e-01 1.000000000000000000e+00 -9.055901765823364258e-01 8.817377686500549316e-01 9.369319677352905273e-01 1.000000000000000000e+00 -9.032526016235351562e-01 8.768166303634643555e-01 9.343483448028564453e-01 1.000000000000000000e+00 -9.009150266647338867e-01 8.718954324722290039e-01 9.317647218704223633e-01 1.000000000000000000e+00 -8.985774517059326172e-01 8.669742345809936523e-01 9.291810989379882812e-01 1.000000000000000000e+00 -8.962399363517761230e-01 8.620530366897583008e-01 9.265974760055541992e-01 1.000000000000000000e+00 -8.939023613929748535e-01 8.571318984031677246e-01 9.240138530731201172e-01 1.000000000000000000e+00 -8.915647864341735840e-01 8.522107005119323730e-01 9.214302301406860352e-01 1.000000000000000000e+00 -8.892272114753723145e-01 8.472895026206970215e-01 9.188466072082519531e-01 1.000000000000000000e+00 -8.868896365165710449e-01 8.423683047294616699e-01 9.162629842758178711e-01 1.000000000000000000e+00 -8.845521211624145508e-01 8.374471068382263184e-01 9.136793613433837891e-01 1.000000000000000000e+00 -8.822145462036132812e-01 8.325259685516357422e-01 9.110957384109497070e-01 1.000000000000000000e+00 -8.798769712448120117e-01 8.276047706604003906e-01 9.085121154785156250e-01 1.000000000000000000e+00 -8.775393962860107422e-01 8.226835727691650391e-01 9.059284925460815430e-01 1.000000000000000000e+00 -8.752018213272094727e-01 8.177623748779296875e-01 9.033448696136474609e-01 1.000000000000000000e+00 -8.728643059730529785e-01 8.128412365913391113e-01 9.007612466812133789e-01 1.000000000000000000e+00 -8.705267310142517090e-01 8.079200387001037598e-01 8.981776237487792969e-01 1.000000000000000000e+00 -8.681891560554504395e-01 8.029988408088684082e-01 8.955940008163452148e-01 1.000000000000000000e+00 -8.658515810966491699e-01 7.980776429176330566e-01 8.930103778839111328e-01 1.000000000000000000e+00 -8.635140061378479004e-01 7.931565046310424805e-01 8.904267549514770508e-01 1.000000000000000000e+00 -8.611764907836914062e-01 7.882353067398071289e-01 8.878431320190429688e-01 1.000000000000000000e+00 -8.588389158248901367e-01 7.833141088485717773e-01 8.852595090866088867e-01 1.000000000000000000e+00 -8.565013408660888672e-01 7.783929109573364258e-01 8.826758861541748047e-01 1.000000000000000000e+00 -8.541637659072875977e-01 7.734717130661010742e-01 8.800922632217407227e-01 1.000000000000000000e+00 -8.518261909484863281e-01 7.685505747795104980e-01 8.775086402893066406e-01 1.000000000000000000e+00 -8.494886755943298340e-01 7.636293768882751465e-01 8.749250173568725586e-01 1.000000000000000000e+00 -8.471511006355285645e-01 7.587081789970397949e-01 8.723413944244384766e-01 1.000000000000000000e+00 -8.448135256767272949e-01 7.537869811058044434e-01 8.697577714920043945e-01 1.000000000000000000e+00 -8.424759507179260254e-01 7.488658428192138672e-01 8.671741485595703125e-01 1.000000000000000000e+00 -8.401384353637695312e-01 7.439446449279785156e-01 8.645905256271362305e-01 1.000000000000000000e+00 -8.378008604049682617e-01 7.390234470367431641e-01 8.620069026947021484e-01 1.000000000000000000e+00 -8.354632854461669922e-01 7.341022491455078125e-01 8.594232797622680664e-01 1.000000000000000000e+00 -8.331257104873657227e-01 7.291811108589172363e-01 8.568396568298339844e-01 1.000000000000000000e+00 -8.310342431068420410e-01 7.243521809577941895e-01 8.543175458908081055e-01 1.000000000000000000e+00 -8.296809196472167969e-01 7.198000550270080566e-01 8.519800305366516113e-01 1.000000000000000000e+00 -8.283275365829467773e-01 7.152479887008666992e-01 8.496424555778503418e-01 1.000000000000000000e+00 -8.269742131233215332e-01 7.106958627700805664e-01 8.473048806190490723e-01 1.000000000000000000e+00 -8.256208896636962891e-01 7.061437964439392090e-01 8.449673056602478027e-01 1.000000000000000000e+00 -8.242675662040710449e-01 7.015916705131530762e-01 8.426297307014465332e-01 1.000000000000000000e+00 -8.229142427444458008e-01 6.970396041870117188e-01 8.402922153472900391e-01 1.000000000000000000e+00 -8.215609192848205566e-01 6.924874782562255859e-01 8.379546403884887695e-01 1.000000000000000000e+00 -8.202075958251953125e-01 6.879354119300842285e-01 8.356170654296875000e-01 1.000000000000000000e+00 -8.188542723655700684e-01 6.833832859992980957e-01 8.332794904708862305e-01 1.000000000000000000e+00 -8.175009489059448242e-01 6.788312196731567383e-01 8.309419751167297363e-01 1.000000000000000000e+00 -8.161476254463195801e-01 6.742790937423706055e-01 8.286044001579284668e-01 1.000000000000000000e+00 -8.147943019866943359e-01 6.697270274162292480e-01 8.262668251991271973e-01 1.000000000000000000e+00 -8.134409785270690918e-01 6.651749610900878906e-01 8.239292502403259277e-01 1.000000000000000000e+00 -8.120876550674438477e-01 6.606228351593017578e-01 8.215916752815246582e-01 1.000000000000000000e+00 -8.107343316078186035e-01 6.560707688331604004e-01 8.192541599273681641e-01 1.000000000000000000e+00 -8.093810081481933594e-01 6.515186429023742676e-01 8.169165849685668945e-01 1.000000000000000000e+00 -8.080276846885681152e-01 6.469665765762329102e-01 8.145790100097656250e-01 1.000000000000000000e+00 -8.066743612289428711e-01 6.424144506454467773e-01 8.122414350509643555e-01 1.000000000000000000e+00 -8.053210377693176270e-01 6.378623843193054199e-01 8.099038600921630859e-01 1.000000000000000000e+00 -8.039677143096923828e-01 6.333102583885192871e-01 8.075663447380065918e-01 1.000000000000000000e+00 -8.026143908500671387e-01 6.287581920623779297e-01 8.052287697792053223e-01 1.000000000000000000e+00 -8.012610673904418945e-01 6.242060661315917969e-01 8.028911948204040527e-01 1.000000000000000000e+00 -7.999077439308166504e-01 6.196539998054504395e-01 8.005536198616027832e-01 1.000000000000000000e+00 -7.985544204711914062e-01 6.151018738746643066e-01 7.982160449028015137e-01 1.000000000000000000e+00 -7.972010970115661621e-01 6.105498075485229492e-01 7.958785295486450195e-01 1.000000000000000000e+00 -7.958477735519409180e-01 6.059976816177368164e-01 7.935409545898437500e-01 1.000000000000000000e+00 -7.944944500923156738e-01 6.014456152915954590e-01 7.912033796310424805e-01 1.000000000000000000e+00 -7.931411266326904297e-01 5.968934893608093262e-01 7.888658046722412109e-01 1.000000000000000000e+00 -7.917878031730651855e-01 5.923414230346679688e-01 7.865282297134399414e-01 1.000000000000000000e+00 -7.904344201087951660e-01 5.877892971038818359e-01 7.841907143592834473e-01 1.000000000000000000e+00 -7.890810966491699219e-01 5.832372307777404785e-01 7.818531394004821777e-01 1.000000000000000000e+00 -7.892503142356872559e-01 5.782237648963928223e-01 7.793310284614562988e-01 1.000000000000000000e+00 -7.919569611549377441e-01 5.724413394927978516e-01 7.765013575553894043e-01 1.000000000000000000e+00 -7.946636080741882324e-01 5.666589736938476562e-01 7.736716866493225098e-01 1.000000000000000000e+00 -7.973702549934387207e-01 5.608766078948974609e-01 7.708419561386108398e-01 1.000000000000000000e+00 -8.000769019126892090e-01 5.550941824913024902e-01 7.680122852325439453e-01 1.000000000000000000e+00 -8.027835488319396973e-01 5.493118166923522949e-01 7.651826143264770508e-01 1.000000000000000000e+00 -8.054901957511901855e-01 5.435293912887573242e-01 7.623529434204101562e-01 1.000000000000000000e+00 -8.081968426704406738e-01 5.377470254898071289e-01 7.595232725143432617e-01 1.000000000000000000e+00 -8.109034895896911621e-01 5.319646000862121582e-01 7.566936016082763672e-01 1.000000000000000000e+00 -8.136101365089416504e-01 5.261822342872619629e-01 7.538638710975646973e-01 1.000000000000000000e+00 -8.163167834281921387e-01 5.203998684883117676e-01 7.510342001914978027e-01 1.000000000000000000e+00 -8.190234303474426270e-01 5.146174430847167969e-01 7.482045292854309082e-01 1.000000000000000000e+00 -8.217300772666931152e-01 5.088350772857666016e-01 7.453748583793640137e-01 1.000000000000000000e+00 -8.244367837905883789e-01 5.030526518821716309e-01 7.425451874732971191e-01 1.000000000000000000e+00 -8.271434307098388672e-01 4.972702860832214355e-01 7.397155165672302246e-01 1.000000000000000000e+00 -8.298500776290893555e-01 4.914878904819488525e-01 7.368857860565185547e-01 1.000000000000000000e+00 -8.325567245483398438e-01 4.857054948806762695e-01 7.340561151504516602e-01 1.000000000000000000e+00 -8.352633714675903320e-01 4.799230992794036865e-01 7.312264442443847656e-01 1.000000000000000000e+00 -8.379700183868408203e-01 4.741407036781311035e-01 7.283967733383178711e-01 1.000000000000000000e+00 -8.406766653060913086e-01 4.683583378791809082e-01 7.255671024322509766e-01 1.000000000000000000e+00 -8.433833122253417969e-01 4.625759422779083252e-01 7.227374315261840820e-01 1.000000000000000000e+00 -8.460899591445922852e-01 4.567935466766357422e-01 7.199077010154724121e-01 1.000000000000000000e+00 -8.487966060638427734e-01 4.510111510753631592e-01 7.170780301094055176e-01 1.000000000000000000e+00 -8.515032529830932617e-01 4.452287554740905762e-01 7.142483592033386230e-01 1.000000000000000000e+00 -8.542098999023437500e-01 4.394463598728179932e-01 7.114186882972717285e-01 1.000000000000000000e+00 -8.569165468215942383e-01 4.336639642715454102e-01 7.085890173912048340e-01 1.000000000000000000e+00 -8.596231937408447266e-01 4.278815984725952148e-01 7.057593464851379395e-01 1.000000000000000000e+00 -8.623299002647399902e-01 4.220992028713226318e-01 7.029296159744262695e-01 1.000000000000000000e+00 -8.650365471839904785e-01 4.163168072700500488e-01 7.000999450683593750e-01 1.000000000000000000e+00 -8.677431941032409668e-01 4.105344116687774658e-01 6.972702741622924805e-01 1.000000000000000000e+00 -8.704498410224914551e-01 4.047520160675048828e-01 6.944406032562255859e-01 1.000000000000000000e+00 -8.731564879417419434e-01 3.989696204662322998e-01 6.916109323501586914e-01 1.000000000000000000e+00 -8.750019073486328125e-01 3.923875391483306885e-01 6.878585219383239746e-01 1.000000000000000000e+00 -8.759861588478088379e-01 3.850057721138000488e-01 6.831833720207214355e-01 1.000000000000000000e+00 -8.769704103469848633e-01 3.776240050792694092e-01 6.785082817077636719e-01 1.000000000000000000e+00 -8.779546618461608887e-01 3.702422082424163818e-01 6.738331317901611328e-01 1.000000000000000000e+00 -8.789388537406921387e-01 3.628604412078857422e-01 6.691580414772033691e-01 1.000000000000000000e+00 -8.799231052398681641e-01 3.554786741733551025e-01 6.644828915596008301e-01 1.000000000000000000e+00 -8.809073567390441895e-01 3.480968773365020752e-01 6.598077416419982910e-01 1.000000000000000000e+00 -8.818916082382202148e-01 3.407151103019714355e-01 6.551326513290405273e-01 1.000000000000000000e+00 -8.828758001327514648e-01 3.333333432674407959e-01 6.504575014114379883e-01 1.000000000000000000e+00 -8.838600516319274902e-01 3.259515464305877686e-01 6.457824110984802246e-01 1.000000000000000000e+00 -8.848443031311035156e-01 3.185697793960571289e-01 6.411072611808776855e-01 1.000000000000000000e+00 -8.858285546302795410e-01 3.111880123615264893e-01 6.364321708679199219e-01 1.000000000000000000e+00 -8.868127465248107910e-01 3.038062155246734619e-01 6.317570209503173828e-01 1.000000000000000000e+00 -8.877969980239868164e-01 2.964244484901428223e-01 6.270818710327148438e-01 1.000000000000000000e+00 -8.887812495231628418e-01 2.890426814556121826e-01 6.224067807197570801e-01 1.000000000000000000e+00 -8.897655010223388672e-01 2.816609144210815430e-01 6.177316308021545410e-01 1.000000000000000000e+00 -8.907496929168701172e-01 2.742791175842285156e-01 6.130565404891967773e-01 1.000000000000000000e+00 -8.917339444160461426e-01 2.668973505496978760e-01 6.083813905715942383e-01 1.000000000000000000e+00 -8.927181959152221680e-01 2.595155835151672363e-01 6.037062406539916992e-01 1.000000000000000000e+00 -8.937024474143981934e-01 2.521337866783142090e-01 5.990311503410339355e-01 1.000000000000000000e+00 -8.946866393089294434e-01 2.447520196437835693e-01 5.943560004234313965e-01 1.000000000000000000e+00 -8.956708908081054688e-01 2.373702377080917358e-01 5.896809101104736328e-01 1.000000000000000000e+00 -8.966551423072814941e-01 2.299884706735610962e-01 5.850057601928710938e-01 1.000000000000000000e+00 -8.976393938064575195e-01 2.226066887378692627e-01 5.803306698799133301e-01 1.000000000000000000e+00 -8.986235857009887695e-01 2.152249068021774292e-01 5.756555199623107910e-01 1.000000000000000000e+00 -8.996078372001647949e-01 2.078431397676467896e-01 5.709803700447082520e-01 1.000000000000000000e+00 -9.005920886993408203e-01 2.004613578319549561e-01 5.663052797317504883e-01 1.000000000000000000e+00 -9.015763401985168457e-01 1.930795907974243164e-01 5.616301298141479492e-01 1.000000000000000000e+00 -9.025605320930480957e-01 1.856978088617324829e-01 5.569550395011901855e-01 1.000000000000000000e+00 -9.035447835922241211e-01 1.783160269260406494e-01 5.522798895835876465e-01 1.000000000000000000e+00 -9.045290350914001465e-01 1.709342598915100098e-01 5.476047396659851074e-01 1.000000000000000000e+00 -9.055132865905761719e-01 1.635524779558181763e-01 5.429296493530273438e-01 1.000000000000000000e+00 -9.039599895477294922e-01 1.590157598257064819e-01 5.371779799461364746e-01 1.000000000000000000e+00 -9.008842706680297852e-01 1.561860889196395874e-01 5.307804942131042480e-01 1.000000000000000000e+00 -8.978085517883300781e-01 1.533564031124114990e-01 5.243829488754272461e-01 1.000000000000000000e+00 -8.947327733039855957e-01 1.505267173051834106e-01 5.179854035377502441e-01 1.000000000000000000e+00 -8.916570544242858887e-01 1.476970463991165161e-01 5.115878582000732422e-01 1.000000000000000000e+00 -8.885813355445861816e-01 1.448673605918884277e-01 5.051903128623962402e-01 1.000000000000000000e+00 -8.855055570602416992e-01 1.420376747846603394e-01 4.987927675247192383e-01 1.000000000000000000e+00 -8.824298381805419922e-01 1.392080038785934448e-01 4.923952221870422363e-01 1.000000000000000000e+00 -8.793541193008422852e-01 1.363783180713653564e-01 4.859977066516876221e-01 1.000000000000000000e+00 -8.762783408164978027e-01 1.335486322641372681e-01 4.796001613140106201e-01 1.000000000000000000e+00 -8.732026219367980957e-01 1.307189613580703735e-01 4.732026159763336182e-01 1.000000000000000000e+00 -8.701269030570983887e-01 1.278892755508422852e-01 4.668050706386566162e-01 1.000000000000000000e+00 -8.670511245727539062e-01 1.250595897436141968e-01 4.604075253009796143e-01 1.000000000000000000e+00 -8.639754056930541992e-01 1.222299113869667053e-01 4.540100097656250000e-01 1.000000000000000000e+00 -8.608996272087097168e-01 1.194002330303192139e-01 4.476124644279479980e-01 1.000000000000000000e+00 -8.578239083290100098e-01 1.165705472230911255e-01 4.412149190902709961e-01 1.000000000000000000e+00 -8.547481894493103027e-01 1.137408688664436340e-01 4.348173737525939941e-01 1.000000000000000000e+00 -8.516724109649658203e-01 1.109111905097961426e-01 4.284198284149169922e-01 1.000000000000000000e+00 -8.485966920852661133e-01 1.080815047025680542e-01 4.220223128795623779e-01 1.000000000000000000e+00 -8.455209732055664062e-01 1.052518263459205627e-01 4.156247675418853760e-01 1.000000000000000000e+00 -8.424451947212219238e-01 1.024221479892730713e-01 4.092272222042083740e-01 1.000000000000000000e+00 -8.393694758415222168e-01 9.959246218204498291e-02 4.028296768665313721e-01 1.000000000000000000e+00 -8.362937569618225098e-01 9.676278382539749146e-02 3.964321315288543701e-01 1.000000000000000000e+00 -8.332179784774780273e-01 9.393310546875000000e-02 3.900346159934997559e-01 1.000000000000000000e+00 -8.301422595977783203e-01 9.110341966152191162e-02 3.836370706558227539e-01 1.000000000000000000e+00 -8.270665407180786133e-01 8.827374130487442017e-02 3.772395253181457520e-01 1.000000000000000000e+00 -8.239907622337341309e-01 8.544406294822692871e-02 3.708419799804687500e-01 1.000000000000000000e+00 -8.209150433540344238e-01 8.261437714099884033e-02 3.644444346427917480e-01 1.000000000000000000e+00 -8.178392648696899414e-01 7.978469878435134888e-02 3.580469191074371338e-01 1.000000000000000000e+00 -8.147635459899902344e-01 7.695502042770385742e-02 3.516493737697601318e-01 1.000000000000000000e+00 -8.116878271102905273e-01 7.412533462047576904e-02 3.452518284320831299e-01 1.000000000000000000e+00 -8.086120486259460449e-01 7.129565626382827759e-02 3.388542830944061279e-01 1.000000000000000000e+00 -8.028604388236999512e-01 6.892733275890350342e-02 3.355017304420471191e-01 1.000000000000000000e+00 -7.962168455123901367e-01 6.671280413866043091e-02 3.331641554832458496e-01 1.000000000000000000e+00 -7.895732522010803223e-01 6.449826806783676147e-02 3.308266103267669678e-01 1.000000000000000000e+00 -7.829296588897705078e-01 6.228373572230339050e-02 3.284890353679656982e-01 1.000000000000000000e+00 -7.762860655784606934e-01 6.006920337677001953e-02 3.261514902114868164e-01 1.000000000000000000e+00 -7.696424722671508789e-01 5.785467103123664856e-02 3.238139152526855469e-01 1.000000000000000000e+00 -7.629988193511962891e-01 5.564013868570327759e-02 3.214763700962066650e-01 1.000000000000000000e+00 -7.563552260398864746e-01 5.342560634016990662e-02 3.191387951374053955e-01 1.000000000000000000e+00 -7.497116327285766602e-01 5.121107399463653564e-02 3.168012201786041260e-01 1.000000000000000000e+00 -7.430680394172668457e-01 4.899654164910316467e-02 3.144636750221252441e-01 1.000000000000000000e+00 -7.364244461059570312e-01 4.678200557827949524e-02 3.121261000633239746e-01 1.000000000000000000e+00 -7.297808527946472168e-01 4.456747323274612427e-02 3.097885549068450928e-01 1.000000000000000000e+00 -7.231372594833374023e-01 4.235294088721275330e-02 3.074509799480438232e-01 1.000000000000000000e+00 -7.164936661720275879e-01 4.013840854167938232e-02 3.051134049892425537e-01 1.000000000000000000e+00 -7.098500728607177734e-01 3.792387619614601135e-02 3.027758598327636719e-01 1.000000000000000000e+00 -7.032064795494079590e-01 3.570934385061264038e-02 3.004382848739624023e-01 1.000000000000000000e+00 -6.965628862380981445e-01 3.349481150507926941e-02 2.981007397174835205e-01 1.000000000000000000e+00 -6.899192333221435547e-01 3.128027543425559998e-02 2.957631647586822510e-01 1.000000000000000000e+00 -6.832756400108337402e-01 2.906574308872222900e-02 2.934256196022033691e-01 1.000000000000000000e+00 -6.766320466995239258e-01 2.685121074318885803e-02 2.910880446434020996e-01 1.000000000000000000e+00 -6.699884533882141113e-01 2.463667839765548706e-02 2.887504696846008301e-01 1.000000000000000000e+00 -6.633448600769042969e-01 2.242214605212211609e-02 2.864129245281219482e-01 1.000000000000000000e+00 -6.567012667655944824e-01 2.020761184394359589e-02 2.840753495693206787e-01 1.000000000000000000e+00 -6.500576734542846680e-01 1.799307949841022491e-02 2.817378044128417969e-01 1.000000000000000000e+00 -6.434140801429748535e-01 1.577854715287685394e-02 2.794002294540405273e-01 1.000000000000000000e+00 -6.367704868316650391e-01 1.356401387602090836e-02 2.770626544952392578e-01 1.000000000000000000e+00 -6.301268935203552246e-01 1.134948059916496277e-02 2.747251093387603760e-01 1.000000000000000000e+00 -6.234833002090454102e-01 9.134948253631591797e-03 2.723875343799591064e-01 1.000000000000000000e+00 -6.168396472930908203e-01 6.920415442436933517e-03 2.700499892234802246e-01 1.000000000000000000e+00 -6.101960539817810059e-01 4.705882165580987930e-03 2.677124142646789551e-01 1.000000000000000000e+00 -6.035524606704711914e-01 2.491349587216973305e-03 2.653748691082000732e-01 1.000000000000000000e+00 -5.969088673591613770e-01 2.768166013993322849e-04 2.630372941493988037e-01 1.000000000000000000e+00 -5.908035635948181152e-01 0.000000000000000000e+00 2.588696777820587158e-01 1.000000000000000000e+00 -5.847750902175903320e-01 0.000000000000000000e+00 2.544406056404113770e-01 1.000000000000000000e+00 -5.787466168403625488e-01 0.000000000000000000e+00 2.500115334987640381e-01 1.000000000000000000e+00 -5.727182030677795410e-01 0.000000000000000000e+00 2.455824613571166992e-01 1.000000000000000000e+00 -5.666897296905517578e-01 0.000000000000000000e+00 2.411534041166305542e-01 1.000000000000000000e+00 -5.606612563133239746e-01 0.000000000000000000e+00 2.367243319749832153e-01 1.000000000000000000e+00 -5.546328425407409668e-01 0.000000000000000000e+00 2.322952747344970703e-01 1.000000000000000000e+00 -5.486043691635131836e-01 0.000000000000000000e+00 2.278662025928497314e-01 1.000000000000000000e+00 -5.425759553909301758e-01 0.000000000000000000e+00 2.234371453523635864e-01 1.000000000000000000e+00 -5.365474820137023926e-01 0.000000000000000000e+00 2.190080732107162476e-01 1.000000000000000000e+00 -5.305190086364746094e-01 0.000000000000000000e+00 2.145790010690689087e-01 1.000000000000000000e+00 -5.244905948638916016e-01 0.000000000000000000e+00 2.101499438285827637e-01 1.000000000000000000e+00 -5.184621214866638184e-01 0.000000000000000000e+00 2.057208716869354248e-01 1.000000000000000000e+00 -5.124337077140808105e-01 0.000000000000000000e+00 2.012918144464492798e-01 1.000000000000000000e+00 -5.064052343368530273e-01 0.000000000000000000e+00 1.968627423048019409e-01 1.000000000000000000e+00 -5.003767609596252441e-01 0.000000000000000000e+00 1.924336850643157959e-01 1.000000000000000000e+00 -4.943483173847198486e-01 0.000000000000000000e+00 1.880046129226684570e-01 1.000000000000000000e+00 -4.883198738098144531e-01 0.000000000000000000e+00 1.835755407810211182e-01 1.000000000000000000e+00 -4.822914302349090576e-01 0.000000000000000000e+00 1.791464835405349731e-01 1.000000000000000000e+00 -4.762629866600036621e-01 0.000000000000000000e+00 1.747174113988876343e-01 1.000000000000000000e+00 -4.702345132827758789e-01 0.000000000000000000e+00 1.702883541584014893e-01 1.000000000000000000e+00 -4.642060697078704834e-01 0.000000000000000000e+00 1.658592820167541504e-01 1.000000000000000000e+00 -4.581776261329650879e-01 0.000000000000000000e+00 1.614302247762680054e-01 1.000000000000000000e+00 -4.521491825580596924e-01 0.000000000000000000e+00 1.570011526346206665e-01 1.000000000000000000e+00 -4.461207091808319092e-01 0.000000000000000000e+00 1.525720804929733276e-01 1.000000000000000000e+00 -4.400922656059265137e-01 0.000000000000000000e+00 1.481430232524871826e-01 1.000000000000000000e+00 -4.340638220310211182e-01 0.000000000000000000e+00 1.437139511108398438e-01 1.000000000000000000e+00 -4.280353784561157227e-01 0.000000000000000000e+00 1.392848938703536987e-01 1.000000000000000000e+00 -4.220069348812103271e-01 0.000000000000000000e+00 1.348558217287063599e-01 1.000000000000000000e+00 -4.159784615039825439e-01 0.000000000000000000e+00 1.304267644882202148e-01 1.000000000000000000e+00 -4.099500179290771484e-01 0.000000000000000000e+00 1.259976923465728760e-01 1.000000000000000000e+00 -4.039215743541717529e-01 0.000000000000000000e+00 1.215686276555061340e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/Purples b/fastplotlib/utils/colormaps/Purples deleted file mode 100644 index 3d6079876..000000000 --- a/fastplotlib/utils/colormaps/Purples +++ /dev/null @@ -1,256 +0,0 @@ -9.882352948188781738e-01 9.843137264251708984e-01 9.921568632125854492e-01 1.000000000000000000e+00 -9.866359233856201172e-01 9.825913310050964355e-01 9.911726117134094238e-01 1.000000000000000000e+00 -9.850365519523620605e-01 9.808688759803771973e-01 9.901883602142333984e-01 1.000000000000000000e+00 -9.834371209144592285e-01 9.791464805603027344e-01 9.892041683197021484e-01 1.000000000000000000e+00 -9.818377494812011719e-01 9.774240851402282715e-01 9.882199168205261230e-01 1.000000000000000000e+00 -9.802383780479431152e-01 9.757016301155090332e-01 9.872356653213500977e-01 1.000000000000000000e+00 -9.786390066146850586e-01 9.739792346954345703e-01 9.862514138221740723e-01 1.000000000000000000e+00 -9.770395755767822266e-01 9.722568392753601074e-01 9.852672219276428223e-01 1.000000000000000000e+00 -9.754402041435241699e-01 9.705343842506408691e-01 9.842829704284667969e-01 1.000000000000000000e+00 -9.738408327102661133e-01 9.688119888305664062e-01 9.832987189292907715e-01 1.000000000000000000e+00 -9.722414612770080566e-01 9.670895934104919434e-01 9.823144674301147461e-01 1.000000000000000000e+00 -9.706420898437500000e-01 9.653671383857727051e-01 9.813302755355834961e-01 1.000000000000000000e+00 -9.690426588058471680e-01 9.636447429656982422e-01 9.803460240364074707e-01 1.000000000000000000e+00 -9.674432873725891113e-01 9.619223475456237793e-01 9.793617725372314453e-01 1.000000000000000000e+00 -9.658439159393310547e-01 9.601999521255493164e-01 9.783775210380554199e-01 1.000000000000000000e+00 -9.642445445060729980e-01 9.584774971008300781e-01 9.773933291435241699e-01 1.000000000000000000e+00 -9.626451134681701660e-01 9.567551016807556152e-01 9.764090776443481445e-01 1.000000000000000000e+00 -9.610457420349121094e-01 9.550327062606811523e-01 9.754248261451721191e-01 1.000000000000000000e+00 -9.594463706016540527e-01 9.533102512359619141e-01 9.744405746459960938e-01 1.000000000000000000e+00 -9.578469991683959961e-01 9.515878558158874512e-01 9.734563827514648438e-01 1.000000000000000000e+00 -9.562475681304931641e-01 9.498654603958129883e-01 9.724721312522888184e-01 1.000000000000000000e+00 -9.546481966972351074e-01 9.481430053710937500e-01 9.714878797531127930e-01 1.000000000000000000e+00 -9.530488252639770508e-01 9.464206099510192871e-01 9.705036282539367676e-01 1.000000000000000000e+00 -9.514494538307189941e-01 9.446982145309448242e-01 9.695194363594055176e-01 1.000000000000000000e+00 -9.498500823974609375e-01 9.429757595062255859e-01 9.685351848602294922e-01 1.000000000000000000e+00 -9.482506513595581055e-01 9.412533640861511230e-01 9.675509333610534668e-01 1.000000000000000000e+00 -9.466512799263000488e-01 9.395309686660766602e-01 9.665666818618774414e-01 1.000000000000000000e+00 -9.450519084930419922e-01 9.378085136413574219e-01 9.655824899673461914e-01 1.000000000000000000e+00 -9.434525370597839355e-01 9.360861182212829590e-01 9.645982384681701660e-01 1.000000000000000000e+00 -9.418531060218811035e-01 9.343637228012084961e-01 9.636139869689941406e-01 1.000000000000000000e+00 -9.402537345886230469e-01 9.326412677764892578e-01 9.626297354698181152e-01 1.000000000000000000e+00 -9.386543631553649902e-01 9.309188723564147949e-01 9.616455435752868652e-01 1.000000000000000000e+00 -9.369319677352905273e-01 9.291195869445800781e-01 9.606305360794067383e-01 1.000000000000000000e+00 -9.343483448028564453e-01 9.267820119857788086e-01 9.594002366065979004e-01 1.000000000000000000e+00 -9.317647218704223633e-01 9.244444370269775391e-01 9.581699371337890625e-01 1.000000000000000000e+00 -9.291810989379882812e-01 9.221068620681762695e-01 9.569396376609802246e-01 1.000000000000000000e+00 -9.265974760055541992e-01 9.197693467140197754e-01 9.557093381881713867e-01 1.000000000000000000e+00 -9.240138530731201172e-01 9.174317717552185059e-01 9.544790387153625488e-01 1.000000000000000000e+00 -9.214302301406860352e-01 9.150941967964172363e-01 9.532487392425537109e-01 1.000000000000000000e+00 -9.188466072082519531e-01 9.127566218376159668e-01 9.520184397697448730e-01 1.000000000000000000e+00 -9.162629842758178711e-01 9.104190468788146973e-01 9.507881402969360352e-01 1.000000000000000000e+00 -9.136793613433837891e-01 9.080815315246582031e-01 9.495578408241271973e-01 1.000000000000000000e+00 -9.110957384109497070e-01 9.057439565658569336e-01 9.483275413513183594e-01 1.000000000000000000e+00 -9.085121154785156250e-01 9.034063816070556641e-01 9.470972418785095215e-01 1.000000000000000000e+00 -9.059284925460815430e-01 9.010688066482543945e-01 9.458670020103454590e-01 1.000000000000000000e+00 -9.033448696136474609e-01 8.987312316894531250e-01 9.446367025375366211e-01 1.000000000000000000e+00 -9.007612466812133789e-01 8.963937163352966309e-01 9.434064030647277832e-01 1.000000000000000000e+00 -8.981776237487792969e-01 8.940561413764953613e-01 9.421761035919189453e-01 1.000000000000000000e+00 -8.955940008163452148e-01 8.917185664176940918e-01 9.409458041191101074e-01 1.000000000000000000e+00 -8.930103778839111328e-01 8.893809914588928223e-01 9.397155046463012695e-01 1.000000000000000000e+00 -8.904267549514770508e-01 8.870434165000915527e-01 9.384852051734924316e-01 1.000000000000000000e+00 -8.878431320190429688e-01 8.847059011459350586e-01 9.372549057006835938e-01 1.000000000000000000e+00 -8.852595090866088867e-01 8.823683261871337891e-01 9.360246062278747559e-01 1.000000000000000000e+00 -8.826758861541748047e-01 8.800307512283325195e-01 9.347943067550659180e-01 1.000000000000000000e+00 -8.800922632217407227e-01 8.776931762695312500e-01 9.335640072822570801e-01 1.000000000000000000e+00 -8.775086402893066406e-01 8.753556609153747559e-01 9.323337078094482422e-01 1.000000000000000000e+00 -8.749250173568725586e-01 8.730180859565734863e-01 9.311034083366394043e-01 1.000000000000000000e+00 -8.723413944244384766e-01 8.706805109977722168e-01 9.298731088638305664e-01 1.000000000000000000e+00 -8.697577714920043945e-01 8.683429360389709473e-01 9.286428093910217285e-01 1.000000000000000000e+00 -8.671741485595703125e-01 8.660053610801696777e-01 9.274125099182128906e-01 1.000000000000000000e+00 -8.645905256271362305e-01 8.636678457260131836e-01 9.261822104454040527e-01 1.000000000000000000e+00 -8.620069026947021484e-01 8.613302707672119141e-01 9.249519705772399902e-01 1.000000000000000000e+00 -8.594232797622680664e-01 8.589926958084106445e-01 9.237216711044311523e-01 1.000000000000000000e+00 -8.568396568298339844e-01 8.566551208496093750e-01 9.224913716316223145e-01 1.000000000000000000e+00 -8.539792299270629883e-01 8.540099859237670898e-01 9.211072921752929688e-01 1.000000000000000000e+00 -8.502883315086364746e-01 8.504421114921569824e-01 9.192618131637573242e-01 1.000000000000000000e+00 -8.465974330902099609e-01 8.468742966651916504e-01 9.174163937568664551e-01 1.000000000000000000e+00 -8.429065942764282227e-01 8.433064222335815430e-01 9.155709147453308105e-01 1.000000000000000000e+00 -8.392156958580017090e-01 8.397385478019714355e-01 9.137254953384399414e-01 1.000000000000000000e+00 -8.355247974395751953e-01 8.361707329750061035e-01 9.118800759315490723e-01 1.000000000000000000e+00 -8.318338990211486816e-01 8.326028585433959961e-01 9.100345969200134277e-01 1.000000000000000000e+00 -8.281430006027221680e-01 8.290349841117858887e-01 9.081891775131225586e-01 1.000000000000000000e+00 -8.244521617889404297e-01 8.254671096801757812e-01 9.063436985015869141e-01 1.000000000000000000e+00 -8.207612633705139160e-01 8.218992948532104492e-01 9.044982790946960449e-01 1.000000000000000000e+00 -8.170703649520874023e-01 8.183314204216003418e-01 9.026528000831604004e-01 1.000000000000000000e+00 -8.133794665336608887e-01 8.147635459899902344e-01 9.008073806762695312e-01 1.000000000000000000e+00 -8.096885681152343750e-01 8.111956715583801270e-01 8.989619612693786621e-01 1.000000000000000000e+00 -8.059976696968078613e-01 8.076278567314147949e-01 8.971164822578430176e-01 1.000000000000000000e+00 -8.023068308830261230e-01 8.040599822998046875e-01 8.952710628509521484e-01 1.000000000000000000e+00 -7.986159324645996094e-01 8.004921078681945801e-01 8.934255838394165039e-01 1.000000000000000000e+00 -7.949250340461730957e-01 7.969242334365844727e-01 8.915801644325256348e-01 1.000000000000000000e+00 -7.912341356277465820e-01 7.933564186096191406e-01 8.897347450256347656e-01 1.000000000000000000e+00 -7.875432372093200684e-01 7.897885441780090332e-01 8.878892660140991211e-01 1.000000000000000000e+00 -7.838523387908935547e-01 7.862206697463989258e-01 8.860438466072082520e-01 1.000000000000000000e+00 -7.801614999771118164e-01 7.826528549194335938e-01 8.841983675956726074e-01 1.000000000000000000e+00 -7.764706015586853027e-01 7.790849804878234863e-01 8.823529481887817383e-01 1.000000000000000000e+00 -7.727797031402587891e-01 7.755171060562133789e-01 8.805074691772460938e-01 1.000000000000000000e+00 -7.690888047218322754e-01 7.719492316246032715e-01 8.786620497703552246e-01 1.000000000000000000e+00 -7.653979063034057617e-01 7.683814167976379395e-01 8.768166303634643555e-01 1.000000000000000000e+00 -7.617070078849792480e-01 7.648135423660278320e-01 8.749711513519287109e-01 1.000000000000000000e+00 -7.580161690711975098e-01 7.612456679344177246e-01 8.731257319450378418e-01 1.000000000000000000e+00 -7.543252706527709961e-01 7.576777935028076172e-01 8.712802529335021973e-01 1.000000000000000000e+00 -7.506343722343444824e-01 7.541099786758422852e-01 8.694348335266113281e-01 1.000000000000000000e+00 -7.469434738159179688e-01 7.505421042442321777e-01 8.675894141197204590e-01 1.000000000000000000e+00 -7.432525753974914551e-01 7.469742298126220703e-01 8.657439351081848145e-01 1.000000000000000000e+00 -7.395617365837097168e-01 7.434063553810119629e-01 8.638985157012939453e-01 1.000000000000000000e+00 -7.358708381652832031e-01 7.395617365837097168e-01 8.618223667144775391e-01 1.000000000000000000e+00 -7.321799397468566895e-01 7.352556586265563965e-01 8.593617677688598633e-01 1.000000000000000000e+00 -7.284890413284301758e-01 7.309496402740478516e-01 8.569011688232421875e-01 1.000000000000000000e+00 -7.247981429100036621e-01 7.266436219215393066e-01 8.544406294822692871e-01 1.000000000000000000e+00 -7.211072444915771484e-01 7.223375439643859863e-01 8.519800305366516113e-01 1.000000000000000000e+00 -7.174164056777954102e-01 7.180315256118774414e-01 8.495194315910339355e-01 1.000000000000000000e+00 -7.137255072593688965e-01 7.137255072593688965e-01 8.470588326454162598e-01 1.000000000000000000e+00 -7.100346088409423828e-01 7.094194293022155762e-01 8.445982336997985840e-01 1.000000000000000000e+00 -7.063437104225158691e-01 7.051134109497070312e-01 8.421376347541809082e-01 1.000000000000000000e+00 -7.026528120040893555e-01 7.008073925971984863e-01 8.396770358085632324e-01 1.000000000000000000e+00 -6.989619135856628418e-01 6.965013742446899414e-01 8.372164368629455566e-01 1.000000000000000000e+00 -6.952710747718811035e-01 6.921952962875366211e-01 8.347558379173278809e-01 1.000000000000000000e+00 -6.915801763534545898e-01 6.878892779350280762e-01 8.322952985763549805e-01 1.000000000000000000e+00 -6.878892779350280762e-01 6.835832595825195312e-01 8.298346996307373047e-01 1.000000000000000000e+00 -6.841983795166015625e-01 6.792771816253662109e-01 8.273741006851196289e-01 1.000000000000000000e+00 -6.805074810981750488e-01 6.749711632728576660e-01 8.249135017395019531e-01 1.000000000000000000e+00 -6.768165826797485352e-01 6.706651449203491211e-01 8.224529027938842773e-01 1.000000000000000000e+00 -6.731257438659667969e-01 6.663590669631958008e-01 8.199923038482666016e-01 1.000000000000000000e+00 -6.694348454475402832e-01 6.620530486106872559e-01 8.175317049026489258e-01 1.000000000000000000e+00 -6.657439470291137695e-01 6.577470302581787109e-01 8.150711059570312500e-01 1.000000000000000000e+00 -6.620530486106872559e-01 6.534410119056701660e-01 8.126105070114135742e-01 1.000000000000000000e+00 -6.583621501922607422e-01 6.491349339485168457e-01 8.101499676704406738e-01 1.000000000000000000e+00 -6.546712517738342285e-01 6.448289155960083008e-01 8.076893687248229980e-01 1.000000000000000000e+00 -6.509804129600524902e-01 6.405228972434997559e-01 8.052287697792053223e-01 1.000000000000000000e+00 -6.472895145416259766e-01 6.362168192863464355e-01 8.027681708335876465e-01 1.000000000000000000e+00 -6.435986161231994629e-01 6.319108009338378906e-01 8.003075718879699707e-01 1.000000000000000000e+00 -6.399077177047729492e-01 6.276047825813293457e-01 7.978469729423522949e-01 1.000000000000000000e+00 -6.362168192863464355e-01 6.232987046241760254e-01 7.953863739967346191e-01 1.000000000000000000e+00 -6.325259804725646973e-01 6.189926862716674805e-01 7.929257750511169434e-01 1.000000000000000000e+00 -6.288350820541381836e-01 6.146866679191589355e-01 7.904651761054992676e-01 1.000000000000000000e+00 -6.251441836357116699e-01 6.103806495666503906e-01 7.880046367645263672e-01 1.000000000000000000e+00 -6.214532852172851562e-01 6.060745716094970703e-01 7.855440378189086914e-01 1.000000000000000000e+00 -6.177623867988586426e-01 6.021376252174377441e-01 7.834525108337402344e-01 1.000000000000000000e+00 -6.140714883804321289e-01 5.985698103904724121e-01 7.817301154136657715e-01 1.000000000000000000e+00 -6.103806495666503906e-01 5.950019359588623047e-01 7.800076603889465332e-01 1.000000000000000000e+00 -6.066897511482238770e-01 5.914340615272521973e-01 7.782852649688720703e-01 1.000000000000000000e+00 -6.029988527297973633e-01 5.878661870956420898e-01 7.765628695487976074e-01 1.000000000000000000e+00 -5.993079543113708496e-01 5.842983722686767578e-01 7.748404741287231445e-01 1.000000000000000000e+00 -5.956170558929443359e-01 5.807304978370666504e-01 7.731180191040039062e-01 1.000000000000000000e+00 -5.919261574745178223e-01 5.771626234054565430e-01 7.713956236839294434e-01 1.000000000000000000e+00 -5.882353186607360840e-01 5.735947489738464355e-01 7.696732282638549805e-01 1.000000000000000000e+00 -5.845444202423095703e-01 5.700269341468811035e-01 7.679507732391357422e-01 1.000000000000000000e+00 -5.808535218238830566e-01 5.664590597152709961e-01 7.662283778190612793e-01 1.000000000000000000e+00 -5.771626234054565430e-01 5.628911852836608887e-01 7.645059823989868164e-01 1.000000000000000000e+00 -5.734717249870300293e-01 5.593233108520507812e-01 7.627835273742675781e-01 1.000000000000000000e+00 -5.697808265686035156e-01 5.557554960250854492e-01 7.610611319541931152e-01 1.000000000000000000e+00 -5.660899877548217773e-01 5.521876215934753418e-01 7.593387365341186523e-01 1.000000000000000000e+00 -5.623990893363952637e-01 5.486197471618652344e-01 7.576162815093994141e-01 1.000000000000000000e+00 -5.587081909179687500e-01 5.450519323348999023e-01 7.558938860893249512e-01 1.000000000000000000e+00 -5.550172924995422363e-01 5.414840579032897949e-01 7.541714906692504883e-01 1.000000000000000000e+00 -5.513263940811157227e-01 5.379161834716796875e-01 7.524490356445312500e-01 1.000000000000000000e+00 -5.476354956626892090e-01 5.343483090400695801e-01 7.507266402244567871e-01 1.000000000000000000e+00 -5.439446568489074707e-01 5.307804942131042480e-01 7.490042448043823242e-01 1.000000000000000000e+00 -5.402537584304809570e-01 5.272126197814941406e-01 7.472817897796630859e-01 1.000000000000000000e+00 -5.365628600120544434e-01 5.236447453498840332e-01 7.455593943595886230e-01 1.000000000000000000e+00 -5.328719615936279297e-01 5.200768709182739258e-01 7.438369989395141602e-01 1.000000000000000000e+00 -5.291810631752014160e-01 5.165090560913085938e-01 7.421145439147949219e-01 1.000000000000000000e+00 -5.254902243614196777e-01 5.129411816596984863e-01 7.403921484947204590e-01 1.000000000000000000e+00 -5.217993259429931641e-01 5.093733072280883789e-01 7.386697530746459961e-01 1.000000000000000000e+00 -5.181084275245666504e-01 5.058054327964782715e-01 7.369473576545715332e-01 1.000000000000000000e+00 -5.144175291061401367e-01 5.022376179695129395e-01 7.352249026298522949e-01 1.000000000000000000e+00 -5.107266306877136230e-01 4.986697435379028320e-01 7.335025072097778320e-01 1.000000000000000000e+00 -5.070357322692871094e-01 4.951018691062927246e-01 7.317801117897033691e-01 1.000000000000000000e+00 -5.033448934555053711e-01 4.915340244770050049e-01 7.300576567649841309e-01 1.000000000000000000e+00 -5.002691149711608887e-01 4.868127703666687012e-01 7.276431918144226074e-01 1.000000000000000000e+00 -4.975624680519104004e-01 4.813994765281677246e-01 7.248135209083557129e-01 1.000000000000000000e+00 -4.948558211326599121e-01 4.759861528873443604e-01 7.219838500022888184e-01 1.000000000000000000e+00 -4.921491742134094238e-01 4.705728590488433838e-01 7.191541790962219238e-01 1.000000000000000000e+00 -4.894425272941589355e-01 4.651595652103424072e-01 7.163245081901550293e-01 1.000000000000000000e+00 -4.867358803749084473e-01 4.597462415695190430e-01 7.134948372840881348e-01 1.000000000000000000e+00 -4.840292334556579590e-01 4.543329477310180664e-01 7.106651067733764648e-01 1.000000000000000000e+00 -4.813225567340850830e-01 4.489196538925170898e-01 7.078354358673095703e-01 1.000000000000000000e+00 -4.786159098148345947e-01 4.435063302516937256e-01 7.050057649612426758e-01 1.000000000000000000e+00 -4.759092628955841064e-01 4.380930364131927490e-01 7.021760940551757812e-01 1.000000000000000000e+00 -4.732026159763336182e-01 4.326797425746917725e-01 6.993464231491088867e-01 1.000000000000000000e+00 -4.704959690570831299e-01 4.272664487361907959e-01 6.965167522430419922e-01 1.000000000000000000e+00 -4.677893221378326416e-01 4.218531250953674316e-01 6.936870217323303223e-01 1.000000000000000000e+00 -4.650826752185821533e-01 4.164398312568664551e-01 6.908573508262634277e-01 1.000000000000000000e+00 -4.623759984970092773e-01 4.110265374183654785e-01 6.880276799201965332e-01 1.000000000000000000e+00 -4.596693515777587891e-01 4.056132137775421143e-01 6.851980090141296387e-01 1.000000000000000000e+00 -4.569627046585083008e-01 4.001999199390411377e-01 6.823683381080627441e-01 1.000000000000000000e+00 -4.542560577392578125e-01 3.947866261005401611e-01 6.795386672019958496e-01 1.000000000000000000e+00 -4.515494108200073242e-01 3.893733322620391846e-01 6.767089366912841797e-01 1.000000000000000000e+00 -4.488427639007568359e-01 3.839600086212158203e-01 6.738792657852172852e-01 1.000000000000000000e+00 -4.461360871791839600e-01 3.785467147827148438e-01 6.710495948791503906e-01 1.000000000000000000e+00 -4.434294402599334717e-01 3.731334209442138672e-01 6.682199239730834961e-01 1.000000000000000000e+00 -4.407227933406829834e-01 3.677200973033905029e-01 6.653902530670166016e-01 1.000000000000000000e+00 -4.380161464214324951e-01 3.623068034648895264e-01 6.625605821609497070e-01 1.000000000000000000e+00 -4.353094995021820068e-01 3.568935096263885498e-01 6.597308516502380371e-01 1.000000000000000000e+00 -4.326028525829315186e-01 3.514801859855651855e-01 6.569011807441711426e-01 1.000000000000000000e+00 -4.298962056636810303e-01 3.460668921470642090e-01 6.540715098381042480e-01 1.000000000000000000e+00 -4.271895289421081543e-01 3.406535983085632324e-01 6.512418389320373535e-01 1.000000000000000000e+00 -4.244828820228576660e-01 3.352403044700622559e-01 6.484121680259704590e-01 1.000000000000000000e+00 -4.217762351036071777e-01 3.298269808292388916e-01 6.455824971199035645e-01 1.000000000000000000e+00 -4.190695881843566895e-01 3.244136869907379150e-01 6.427527666091918945e-01 1.000000000000000000e+00 -4.163629412651062012e-01 3.190003931522369385e-01 6.399230957031250000e-01 1.000000000000000000e+00 -4.136562943458557129e-01 3.137716352939605713e-01 6.373702287673950195e-01 1.000000000000000000e+00 -4.109496474266052246e-01 3.086043894290924072e-01 6.349096298217773438e-01 1.000000000000000000e+00 -4.082429707050323486e-01 3.034371435642242432e-01 6.324490308761596680e-01 1.000000000000000000e+00 -4.055363237857818604e-01 2.982698976993560791e-01 6.299884915351867676e-01 1.000000000000000000e+00 -4.028296768665313721e-01 2.931026518344879150e-01 6.275278925895690918e-01 1.000000000000000000e+00 -4.001230299472808838e-01 2.879354059696197510e-01 6.250672936439514160e-01 1.000000000000000000e+00 -3.974163830280303955e-01 2.827681601047515869e-01 6.226066946983337402e-01 1.000000000000000000e+00 -3.947097361087799072e-01 2.776009142398834229e-01 6.201460957527160645e-01 1.000000000000000000e+00 -3.920030891895294189e-01 2.724336683750152588e-01 6.176854968070983887e-01 1.000000000000000000e+00 -3.892964124679565430e-01 2.672664225101470947e-01 6.152248978614807129e-01 1.000000000000000000e+00 -3.865897655487060547e-01 2.620992064476013184e-01 6.127642989158630371e-01 1.000000000000000000e+00 -3.838831186294555664e-01 2.569319605827331543e-01 6.103036999702453613e-01 1.000000000000000000e+00 -3.811764717102050781e-01 2.517647147178649902e-01 6.078431606292724609e-01 1.000000000000000000e+00 -3.784698247909545898e-01 2.465974688529968262e-01 6.053825616836547852e-01 1.000000000000000000e+00 -3.757631778717041016e-01 2.414302229881286621e-01 6.029219627380371094e-01 1.000000000000000000e+00 -3.730565309524536133e-01 2.362629771232604980e-01 6.004613637924194336e-01 1.000000000000000000e+00 -3.703498542308807373e-01 2.310957312583923340e-01 5.980007648468017578e-01 1.000000000000000000e+00 -3.676432073116302490e-01 2.259284853935241699e-01 5.955401659011840820e-01 1.000000000000000000e+00 -3.649365603923797607e-01 2.207612395286560059e-01 5.930795669555664062e-01 1.000000000000000000e+00 -3.622299134731292725e-01 2.155940085649490356e-01 5.906189680099487305e-01 1.000000000000000000e+00 -3.595232665538787842e-01 2.104267627000808716e-01 5.881584286689758301e-01 1.000000000000000000e+00 -3.568166196346282959e-01 2.052595168352127075e-01 5.856978297233581543e-01 1.000000000000000000e+00 -3.541099429130554199e-01 2.000922709703445435e-01 5.832372307777404785e-01 1.000000000000000000e+00 -3.514032959938049316e-01 1.949250251054763794e-01 5.807766318321228027e-01 1.000000000000000000e+00 -3.486966490745544434e-01 1.897577792406082153e-01 5.783160328865051270e-01 1.000000000000000000e+00 -3.459900021553039551e-01 1.845905482769012451e-01 5.758554339408874512e-01 1.000000000000000000e+00 -3.432833552360534668e-01 1.794233024120330811e-01 5.733948349952697754e-01 1.000000000000000000e+00 -3.405767083168029785e-01 1.742560565471649170e-01 5.709342360496520996e-01 1.000000000000000000e+00 -3.378700613975524902e-01 1.690888106822967529e-01 5.684736371040344238e-01 1.000000000000000000e+00 -3.351633846759796143e-01 1.639215648174285889e-01 5.660130977630615234e-01 1.000000000000000000e+00 -3.324567377567291260e-01 1.587543189525604248e-01 5.635524988174438477e-01 1.000000000000000000e+00 -3.297500908374786377e-01 1.535870879888534546e-01 5.610918998718261719e-01 1.000000000000000000e+00 -3.271510899066925049e-01 1.487427949905395508e-01 5.588465929031372070e-01 1.000000000000000000e+00 -3.245674669742584229e-01 1.439446359872817993e-01 5.566320419311523438e-01 1.000000000000000000e+00 -3.219838440418243408e-01 1.391464769840240479e-01 5.544175505638122559e-01 1.000000000000000000e+00 -3.194002211093902588e-01 1.343483328819274902e-01 5.522029995918273926e-01 1.000000000000000000e+00 -3.168165981769561768e-01 1.295501738786697388e-01 5.499884486198425293e-01 1.000000000000000000e+00 -3.142329752445220947e-01 1.247520148754119873e-01 5.477739572525024414e-01 1.000000000000000000e+00 -3.116493523120880127e-01 1.199538633227348328e-01 5.455594062805175781e-01 1.000000000000000000e+00 -3.090657293796539307e-01 1.151557117700576782e-01 5.433448553085327148e-01 1.000000000000000000e+00 -3.064821362495422363e-01 1.103575527667999268e-01 5.411303639411926270e-01 1.000000000000000000e+00 -3.038985133171081543e-01 1.055594012141227722e-01 5.389158129692077637e-01 1.000000000000000000e+00 -3.013148903846740723e-01 1.007612422108650208e-01 5.367012619972229004e-01 1.000000000000000000e+00 -2.987312674522399902e-01 9.596309065818786621e-02 5.344867110252380371e-01 1.000000000000000000e+00 -2.961476445198059082e-01 9.116493910551071167e-02 5.322722196578979492e-01 1.000000000000000000e+00 -2.935640215873718262e-01 8.636678010225296021e-02 5.300576686859130859e-01 1.000000000000000000e+00 -2.909803986549377441e-01 8.156862854957580566e-02 5.278431177139282227e-01 1.000000000000000000e+00 -2.883967757225036621e-01 7.677046954631805420e-02 5.256286263465881348e-01 1.000000000000000000e+00 -2.858131527900695801e-01 7.197231799364089966e-02 5.234140753746032715e-01 1.000000000000000000e+00 -2.832295298576354980e-01 6.717416644096374512e-02 5.211995244026184082e-01 1.000000000000000000e+00 -2.806459069252014160e-01 6.237600743770599365e-02 5.189850330352783203e-01 1.000000000000000000e+00 -2.780622839927673340e-01 5.757785588502883911e-02 5.167704820632934570e-01 1.000000000000000000e+00 -2.754786610603332520e-01 5.277970060706138611e-02 5.145559310913085938e-01 1.000000000000000000e+00 -2.728950381278991699e-01 4.798154532909393311e-02 5.123413801193237305e-01 1.000000000000000000e+00 -2.703114151954650879e-01 4.318339005112648010e-02 5.101268887519836426e-01 1.000000000000000000e+00 -2.677277922630310059e-01 3.838523477315902710e-02 5.079123377799987793e-01 1.000000000000000000e+00 -2.651441693305969238e-01 3.358708322048187256e-02 5.056977868080139160e-01 1.000000000000000000e+00 -2.625605463981628418e-01 2.878892794251441956e-02 5.034832954406738281e-01 1.000000000000000000e+00 -2.599769234657287598e-01 2.399077266454696655e-02 5.012687444686889648e-01 1.000000000000000000e+00 -2.573933005332946777e-01 1.919261738657951355e-02 4.990542232990264893e-01 1.000000000000000000e+00 -2.548096776008605957e-01 1.439446397125720978e-02 4.968396723270416260e-01 1.000000000000000000e+00 -2.522260546684265137e-01 9.596308693289756775e-03 4.946251511573791504e-01 1.000000000000000000e+00 -2.496424466371536255e-01 4.798154346644878387e-03 4.924106001853942871e-01 1.000000000000000000e+00 -2.470588237047195435e-01 0.000000000000000000e+00 4.901960790157318115e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/RdBu b/fastplotlib/utils/colormaps/RdBu deleted file mode 100644 index 6482fa00f..000000000 --- a/fastplotlib/utils/colormaps/RdBu +++ /dev/null @@ -1,256 +0,0 @@ -4.039215743541717529e-01 0.000000000000000000e+00 1.215686276555061340e-01 1.000000000000000000e+00 -4.154555797576904297e-01 3.690888173878192902e-03 1.234140694141387939e-01 1.000000000000000000e+00 -4.269896149635314941e-01 7.381776347756385803e-03 1.252595186233520508e-01 1.000000000000000000e+00 -4.385236501693725586e-01 1.107266452163457870e-02 1.271049529314041138e-01 1.000000000000000000e+00 -4.500576555728912354e-01 1.476355269551277161e-02 1.289504021406173706e-01 1.000000000000000000e+00 -4.615916907787322998e-01 1.845443993806838989e-02 1.307958513498306274e-01 1.000000000000000000e+00 -4.731257259845733643e-01 2.214532904326915741e-02 1.326412856578826904e-01 1.000000000000000000e+00 -4.846597313880920410e-01 2.583621628582477570e-02 1.344867348670959473e-01 1.000000000000000000e+00 -4.961937665939331055e-01 2.952710539102554321e-02 1.363321840763092041e-01 1.000000000000000000e+00 -5.077278017997741699e-01 3.321799263358116150e-02 1.381776183843612671e-01 1.000000000000000000e+00 -5.192618370056152344e-01 3.690887987613677979e-02 1.400230675935745239e-01 1.000000000000000000e+00 -5.307958722114562988e-01 4.059977084398269653e-02 1.418685168027877808e-01 1.000000000000000000e+00 -5.423298478126525879e-01 4.429065808653831482e-02 1.437139511108398438e-01 1.000000000000000000e+00 -5.538638830184936523e-01 4.798154532909393311e-02 1.455594003200531006e-01 1.000000000000000000e+00 -5.653979182243347168e-01 5.167243257164955139e-02 1.474048495292663574e-01 1.000000000000000000e+00 -5.769319534301757812e-01 5.536332353949546814e-02 1.492502838373184204e-01 1.000000000000000000e+00 -5.884659886360168457e-01 5.905421078205108643e-02 1.510957330465316772e-01 1.000000000000000000e+00 -6.000000238418579102e-01 6.274510174989700317e-02 1.529411822557449341e-01 1.000000000000000000e+00 -6.115339994430541992e-01 6.643598526716232300e-02 1.547866165637969971e-01 1.000000000000000000e+00 -6.230680346488952637e-01 7.012687623500823975e-02 1.566320657730102539e-01 1.000000000000000000e+00 -6.346020698547363281e-01 7.381775975227355957e-02 1.584775149822235107e-01 1.000000000000000000e+00 -6.461361050605773926e-01 7.750865072011947632e-02 1.603229492902755737e-01 1.000000000000000000e+00 -6.576701402664184570e-01 8.119954168796539307e-02 1.621683984994888306e-01 1.000000000000000000e+00 -6.692041754722595215e-01 8.489042520523071289e-02 1.640138477087020874e-01 1.000000000000000000e+00 -6.807381510734558105e-01 8.858131617307662964e-02 1.658592820167541504e-01 1.000000000000000000e+00 -6.922721862792968750e-01 9.227219969034194946e-02 1.677047312259674072e-01 1.000000000000000000e+00 -7.008073925971984863e-01 9.965398162603378296e-02 1.712418347597122192e-01 1.000000000000000000e+00 -7.063437104225158691e-01 1.107266470789909363e-01 1.764705926179885864e-01 1.000000000000000000e+00 -7.118800282478332520e-01 1.217993050813674927e-01 1.816993504762649536e-01 1.000000000000000000e+00 -7.174164056777954102e-01 1.328719705343246460e-01 1.869281083345413208e-01 1.000000000000000000e+00 -7.229527235031127930e-01 1.439446359872817993e-01 1.921568661928176880e-01 1.000000000000000000e+00 -7.284890413284301758e-01 1.550173014402389526e-01 1.973856240510940552e-01 1.000000000000000000e+00 -7.340253591537475586e-01 1.660899668931961060e-01 2.026143819093704224e-01 1.000000000000000000e+00 -7.395617365837097168e-01 1.771626323461532593e-01 2.078431397676467896e-01 1.000000000000000000e+00 -7.450980544090270996e-01 1.882352977991104126e-01 2.130718976259231567e-01 1.000000000000000000e+00 -7.506343722343444824e-01 1.993079632520675659e-01 2.183006554841995239e-01 1.000000000000000000e+00 -7.561706900596618652e-01 2.103806287050247192e-01 2.235294133424758911e-01 1.000000000000000000e+00 -7.617070078849792480e-01 2.214532941579818726e-01 2.287581712007522583e-01 1.000000000000000000e+00 -7.672433853149414062e-01 2.325259447097778320e-01 2.339869290590286255e-01 1.000000000000000000e+00 -7.727797031402587891e-01 2.435986101627349854e-01 2.392156869173049927e-01 1.000000000000000000e+00 -7.783160209655761719e-01 2.546712756156921387e-01 2.444444447755813599e-01 1.000000000000000000e+00 -7.838523387908935547e-01 2.657439410686492920e-01 2.496732026338577271e-01 1.000000000000000000e+00 -7.893887162208557129e-01 2.768166065216064453e-01 2.549019753932952881e-01 1.000000000000000000e+00 -7.949250340461730957e-01 2.878892719745635986e-01 2.601307332515716553e-01 1.000000000000000000e+00 -8.004613518714904785e-01 2.989619374275207520e-01 2.653594911098480225e-01 1.000000000000000000e+00 -8.059976696968078613e-01 3.100346028804779053e-01 2.705882489681243896e-01 1.000000000000000000e+00 -8.115340471267700195e-01 3.211072683334350586e-01 2.758170068264007568e-01 1.000000000000000000e+00 -8.170703649520874023e-01 3.321799337863922119e-01 2.810457646846771240e-01 1.000000000000000000e+00 -8.226066827774047852e-01 3.432525992393493652e-01 2.862745225429534912e-01 1.000000000000000000e+00 -8.281430006027221680e-01 3.543252646923065186e-01 2.915032804012298584e-01 1.000000000000000000e+00 -8.336793780326843262e-01 3.653979301452636719e-01 2.967320382595062256e-01 1.000000000000000000e+00 -8.392156958580017090e-01 3.764705955982208252e-01 3.019607961177825928e-01 1.000000000000000000e+00 -8.438292741775512695e-01 3.870818912982940674e-01 3.101114928722381592e-01 1.000000000000000000e+00 -8.484429121017456055e-01 3.976931869983673096e-01 3.182622194290161133e-01 1.000000000000000000e+00 -8.530564904212951660e-01 4.083045125007629395e-01 3.264129161834716797e-01 1.000000000000000000e+00 -8.576701283454895020e-01 4.189158082008361816e-01 3.345636427402496338e-01 1.000000000000000000e+00 -8.622837662696838379e-01 4.295271039009094238e-01 3.427143394947052002e-01 1.000000000000000000e+00 -8.668973445892333984e-01 4.401383996009826660e-01 3.508650660514831543e-01 1.000000000000000000e+00 -8.715109825134277344e-01 4.507497251033782959e-01 3.590157628059387207e-01 1.000000000000000000e+00 -8.761245608329772949e-01 4.613610208034515381e-01 3.671664595603942871e-01 1.000000000000000000e+00 -8.807381987571716309e-01 4.719723165035247803e-01 3.753171861171722412e-01 1.000000000000000000e+00 -8.853517770767211914e-01 4.825836122035980225e-01 3.834678828716278076e-01 1.000000000000000000e+00 -8.899654150009155273e-01 4.931949377059936523e-01 3.916186094284057617e-01 1.000000000000000000e+00 -8.945789933204650879e-01 5.038062334060668945e-01 3.997693061828613281e-01 1.000000000000000000e+00 -8.991926312446594238e-01 5.144175291061401367e-01 4.079200327396392822e-01 1.000000000000000000e+00 -9.038062095642089844e-01 5.250288248062133789e-01 4.160707294940948486e-01 1.000000000000000000e+00 -9.084198474884033203e-01 5.356401205062866211e-01 4.242214560508728027e-01 1.000000000000000000e+00 -9.130334258079528809e-01 5.462514162063598633e-01 4.323721528053283691e-01 1.000000000000000000e+00 -9.176470637321472168e-01 5.568627715110778809e-01 4.405228793621063232e-01 1.000000000000000000e+00 -9.222606420516967773e-01 5.674740672111511230e-01 4.486735761165618896e-01 1.000000000000000000e+00 -9.268742799758911133e-01 5.780853629112243652e-01 4.568243026733398438e-01 1.000000000000000000e+00 -9.314879179000854492e-01 5.886966586112976074e-01 4.649749994277954102e-01 1.000000000000000000e+00 -9.361014962196350098e-01 5.993079543113708496e-01 4.731257259845733643e-01 1.000000000000000000e+00 -9.407151341438293457e-01 6.099192500114440918e-01 4.812764227390289307e-01 1.000000000000000000e+00 -9.453287124633789062e-01 6.205305457115173340e-01 4.894271492958068848e-01 1.000000000000000000e+00 -9.499423503875732422e-01 6.311418414115905762e-01 4.975778460502624512e-01 1.000000000000000000e+00 -9.545559287071228027e-01 6.417531967163085938e-01 5.057285428047180176e-01 1.000000000000000000e+00 -9.575547575950622559e-01 6.512110829353332520e-01 5.151095986366271973e-01 1.000000000000000000e+00 -9.589388966560363770e-01 6.595155596733093262e-01 5.257208943367004395e-01 1.000000000000000000e+00 -9.603229761123657227e-01 6.678200960159301758e-01 5.363321900367736816e-01 1.000000000000000000e+00 -9.617070555686950684e-01 6.761245727539062500e-01 5.469434857368469238e-01 1.000000000000000000e+00 -9.630911350250244141e-01 6.844290494918823242e-01 5.575547814369201660e-01 1.000000000000000000e+00 -9.644752144813537598e-01 6.927335858345031738e-01 5.681660771369934082e-01 1.000000000000000000e+00 -9.658592939376831055e-01 7.010380625724792480e-01 5.787773728370666504e-01 1.000000000000000000e+00 -9.672433733940124512e-01 7.093425393104553223e-01 5.893886685371398926e-01 1.000000000000000000e+00 -9.686274528503417969e-01 7.176470756530761719e-01 6.000000238418579102e-01 1.000000000000000000e+00 -9.700115323066711426e-01 7.259515523910522461e-01 6.106113195419311523e-01 1.000000000000000000e+00 -9.713956117630004883e-01 7.342560291290283203e-01 6.212226152420043945e-01 1.000000000000000000e+00 -9.727796912193298340e-01 7.425605654716491699e-01 6.318339109420776367e-01 1.000000000000000000e+00 -9.741637706756591797e-01 7.508650422096252441e-01 6.424452066421508789e-01 1.000000000000000000e+00 -9.755478501319885254e-01 7.591695785522460938e-01 6.530565023422241211e-01 1.000000000000000000e+00 -9.769319295883178711e-01 7.674740552902221680e-01 6.636677980422973633e-01 1.000000000000000000e+00 -9.783160090446472168e-01 7.757785320281982422e-01 6.742790937423706055e-01 1.000000000000000000e+00 -9.797000885009765625e-01 7.840830683708190918e-01 6.848904490470886230e-01 1.000000000000000000e+00 -9.810842275619506836e-01 7.923875451087951660e-01 6.955017447471618652e-01 1.000000000000000000e+00 -9.824683070182800293e-01 8.006920218467712402e-01 7.061130404472351074e-01 1.000000000000000000e+00 -9.838523864746093750e-01 8.089965581893920898e-01 7.167243361473083496e-01 1.000000000000000000e+00 -9.852364659309387207e-01 8.173010349273681641e-01 7.273356318473815918e-01 1.000000000000000000e+00 -9.866205453872680664e-01 8.256055116653442383e-01 7.379469275474548340e-01 1.000000000000000000e+00 -9.880046248435974121e-01 8.339100480079650879e-01 7.485582232475280762e-01 1.000000000000000000e+00 -9.893887042999267578e-01 8.422145247459411621e-01 7.591695785522460938e-01 1.000000000000000000e+00 -9.907727837562561035e-01 8.505190014839172363e-01 7.697808742523193359e-01 1.000000000000000000e+00 -9.921568632125854492e-01 8.588235378265380859e-01 7.803921699523925781e-01 1.000000000000000000e+00 -9.912341237068176270e-01 8.631295561790466309e-01 7.877739071846008301e-01 1.000000000000000000e+00 -9.903114438056945801e-01 8.674355745315551758e-01 7.951557040214538574e-01 1.000000000000000000e+00 -9.893887042999267578e-01 8.717416524887084961e-01 8.025375008583068848e-01 1.000000000000000000e+00 -9.884659647941589355e-01 8.760476708412170410e-01 8.099192380905151367e-01 1.000000000000000000e+00 -9.875432252883911133e-01 8.803536891937255859e-01 8.173010349273681641e-01 1.000000000000000000e+00 -9.866205453872680664e-01 8.846597671508789062e-01 8.246828317642211914e-01 1.000000000000000000e+00 -9.856978058815002441e-01 8.889657855033874512e-01 8.320645689964294434e-01 1.000000000000000000e+00 -9.847750663757324219e-01 8.932718038558959961e-01 8.394463658332824707e-01 1.000000000000000000e+00 -9.838523864746093750e-01 8.975778818130493164e-01 8.468281626701354980e-01 1.000000000000000000e+00 -9.829296469688415527e-01 9.018839001655578613e-01 8.542098999023437500e-01 1.000000000000000000e+00 -9.820069074630737305e-01 9.061899185180664062e-01 8.615916967391967773e-01 1.000000000000000000e+00 -9.810842275619506836e-01 9.104959368705749512e-01 8.689734935760498047e-01 1.000000000000000000e+00 -9.801614880561828613e-01 9.148020148277282715e-01 8.763552308082580566e-01 1.000000000000000000e+00 -9.792387485504150391e-01 9.191080331802368164e-01 8.837370276451110840e-01 1.000000000000000000e+00 -9.783160090446472168e-01 9.234140515327453613e-01 8.911188244819641113e-01 1.000000000000000000e+00 -9.773933291435241699e-01 9.277201294898986816e-01 8.985005617141723633e-01 1.000000000000000000e+00 -9.764705896377563477e-01 9.320261478424072266e-01 9.058823585510253906e-01 1.000000000000000000e+00 -9.755478501319885254e-01 9.363321661949157715e-01 9.132641553878784180e-01 1.000000000000000000e+00 -9.746251702308654785e-01 9.406382441520690918e-01 9.206458926200866699e-01 1.000000000000000000e+00 -9.737024307250976562e-01 9.449442625045776367e-01 9.280276894569396973e-01 1.000000000000000000e+00 -9.727796912193298340e-01 9.492502808570861816e-01 9.354094862937927246e-01 1.000000000000000000e+00 -9.718569517135620117e-01 9.535562992095947266e-01 9.427912235260009766e-01 1.000000000000000000e+00 -9.709342718124389648e-01 9.578623771667480469e-01 9.501730203628540039e-01 1.000000000000000000e+00 -9.700115323066711426e-01 9.621683955192565918e-01 9.575547575950622559e-01 1.000000000000000000e+00 -9.690887928009033203e-01 9.664744138717651367e-01 9.649365544319152832e-01 1.000000000000000000e+00 -9.657055139541625977e-01 9.672433733940124512e-01 9.680892229080200195e-01 1.000000000000000000e+00 -9.598615765571594238e-01 9.644752144813537598e-01 9.670127034187316895e-01 1.000000000000000000e+00 -9.540176987648010254e-01 9.617070555686950684e-01 9.659361839294433594e-01 1.000000000000000000e+00 -9.481737613677978516e-01 9.589388966560363770e-01 9.648596644401550293e-01 1.000000000000000000e+00 -9.423298835754394531e-01 9.561706781387329102e-01 9.637831449508666992e-01 1.000000000000000000e+00 -9.364859461784362793e-01 9.534025192260742188e-01 9.627066254615783691e-01 1.000000000000000000e+00 -9.306420683860778809e-01 9.506343603134155273e-01 9.616301655769348145e-01 1.000000000000000000e+00 -9.247981309890747070e-01 9.478662014007568359e-01 9.605536460876464844e-01 1.000000000000000000e+00 -9.189542531967163086e-01 9.450980424880981445e-01 9.594771265983581543e-01 1.000000000000000000e+00 -9.131103157997131348e-01 9.423298835754394531e-01 9.584006071090698242e-01 1.000000000000000000e+00 -9.072664380073547363e-01 9.395617246627807617e-01 9.573240876197814941e-01 1.000000000000000000e+00 -9.014225006103515625e-01 9.367935657501220703e-01 9.562475681304931641e-01 1.000000000000000000e+00 -8.955786228179931641e-01 9.340253472328186035e-01 9.551711082458496094e-01 1.000000000000000000e+00 -8.897347450256347656e-01 9.312571883201599121e-01 9.540945887565612793e-01 1.000000000000000000e+00 -8.838908076286315918e-01 9.284890294075012207e-01 9.530180692672729492e-01 1.000000000000000000e+00 -8.780469298362731934e-01 9.257208704948425293e-01 9.519415497779846191e-01 1.000000000000000000e+00 -8.722029924392700195e-01 9.229527115821838379e-01 9.508650302886962891e-01 1.000000000000000000e+00 -8.663591146469116211e-01 9.201845526695251465e-01 9.497885704040527344e-01 1.000000000000000000e+00 -8.605151772499084473e-01 9.174163937568664551e-01 9.487120509147644043e-01 1.000000000000000000e+00 -8.546712994575500488e-01 9.146482348442077637e-01 9.476355314254760742e-01 1.000000000000000000e+00 -8.488273620605468750e-01 9.118800759315490723e-01 9.465590119361877441e-01 1.000000000000000000e+00 -8.429834842681884766e-01 9.091118574142456055e-01 9.454824924468994141e-01 1.000000000000000000e+00 -8.371395468711853027e-01 9.063436985015869141e-01 9.444059729576110840e-01 1.000000000000000000e+00 -8.312956690788269043e-01 9.035755395889282227e-01 9.433295130729675293e-01 1.000000000000000000e+00 -8.254517316818237305e-01 9.008073806762695312e-01 9.422529935836791992e-01 1.000000000000000000e+00 -8.196078538894653320e-01 8.980392217636108398e-01 9.411764740943908691e-01 1.000000000000000000e+00 -8.099192380905151367e-01 8.931180238723754883e-01 9.384083151817321777e-01 1.000000000000000000e+00 -8.002306818962097168e-01 8.881968259811401367e-01 9.356401562690734863e-01 1.000000000000000000e+00 -7.905421257019042969e-01 8.832756876945495605e-01 9.328719973564147949e-01 1.000000000000000000e+00 -7.808535099029541016e-01 8.783544898033142090e-01 9.301037788391113281e-01 1.000000000000000000e+00 -7.711649537086486816e-01 8.734332919120788574e-01 9.273356199264526367e-01 1.000000000000000000e+00 -7.614763379096984863e-01 8.685120940208435059e-01 9.245674610137939453e-01 1.000000000000000000e+00 -7.517877817153930664e-01 8.635909557342529297e-01 9.217993021011352539e-01 1.000000000000000000e+00 -7.420991659164428711e-01 8.586697578430175781e-01 9.190311431884765625e-01 1.000000000000000000e+00 -7.324106097221374512e-01 8.537485599517822266e-01 9.162629842758178711e-01 1.000000000000000000e+00 -7.227220535278320312e-01 8.488273620605468750e-01 9.134948253631591797e-01 1.000000000000000000e+00 -7.130334377288818359e-01 8.439061641693115234e-01 9.107266664505004883e-01 1.000000000000000000e+00 -7.033448815345764160e-01 8.389850258827209473e-01 9.079584479331970215e-01 1.000000000000000000e+00 -6.936562657356262207e-01 8.340638279914855957e-01 9.051902890205383301e-01 1.000000000000000000e+00 -6.839677095413208008e-01 8.291426301002502441e-01 9.024221301078796387e-01 1.000000000000000000e+00 -6.742790937423706055e-01 8.242214322090148926e-01 8.996539711952209473e-01 1.000000000000000000e+00 -6.645905375480651855e-01 8.193002939224243164e-01 8.968858122825622559e-01 1.000000000000000000e+00 -6.549019813537597656e-01 8.143790960311889648e-01 8.941176533699035645e-01 1.000000000000000000e+00 -6.452133655548095703e-01 8.094578981399536133e-01 8.913494944572448730e-01 1.000000000000000000e+00 -6.355248093605041504e-01 8.045367002487182617e-01 8.885813355445861816e-01 1.000000000000000000e+00 -6.258361935615539551e-01 7.996155619621276855e-01 8.858131766319274902e-01 1.000000000000000000e+00 -6.161476373672485352e-01 7.946943640708923340e-01 8.830449581146240234e-01 1.000000000000000000e+00 -6.064590811729431152e-01 7.897731661796569824e-01 8.802767992019653320e-01 1.000000000000000000e+00 -5.967704653739929199e-01 7.848519682884216309e-01 8.775086402893066406e-01 1.000000000000000000e+00 -5.870819091796875000e-01 7.799307703971862793e-01 8.747404813766479492e-01 1.000000000000000000e+00 -5.773932933807373047e-01 7.750096321105957031e-01 8.719723224639892578e-01 1.000000000000000000e+00 -5.664744377136230469e-01 7.687043547630310059e-01 8.685120940208435059e-01 1.000000000000000000e+00 -5.543252825736999512e-01 7.610149979591369629e-01 8.643598556518554688e-01 1.000000000000000000e+00 -5.421760678291320801e-01 7.533256411552429199e-01 8.602076172828674316e-01 1.000000000000000000e+00 -5.300269126892089844e-01 7.456362843513488770e-01 8.560553789138793945e-01 1.000000000000000000e+00 -5.178777575492858887e-01 7.379469275474548340e-01 8.519031405448913574e-01 1.000000000000000000e+00 -5.057285428047180176e-01 7.302575707435607910e-01 8.477508425712585449e-01 1.000000000000000000e+00 -4.935793876647949219e-01 7.225682139396667480e-01 8.435986042022705078e-01 1.000000000000000000e+00 -4.814302325248718262e-01 7.148789167404174805e-01 8.394463658332824707e-01 1.000000000000000000e+00 -4.692810475826263428e-01 7.071895599365234375e-01 8.352941274642944336e-01 1.000000000000000000e+00 -4.571318626403808594e-01 6.995002031326293945e-01 8.311418890953063965e-01 1.000000000000000000e+00 -4.449827075004577637e-01 6.918108463287353516e-01 8.269895911216735840e-01 1.000000000000000000e+00 -4.328335225582122803e-01 6.841214895248413086e-01 8.228373527526855469e-01 1.000000000000000000e+00 -4.206843376159667969e-01 6.764321327209472656e-01 8.186851143836975098e-01 1.000000000000000000e+00 -4.085351824760437012e-01 6.687427759170532227e-01 8.145328760147094727e-01 1.000000000000000000e+00 -3.963859975337982178e-01 6.610534191131591797e-01 8.103806376457214355e-01 1.000000000000000000e+00 -3.842368423938751221e-01 6.533640623092651367e-01 8.062283992767333984e-01 1.000000000000000000e+00 -3.720876574516296387e-01 6.456747651100158691e-01 8.020761013031005859e-01 1.000000000000000000e+00 -3.599384725093841553e-01 6.379854083061218262e-01 7.979238629341125488e-01 1.000000000000000000e+00 -3.477893173694610596e-01 6.302960515022277832e-01 7.937716245651245117e-01 1.000000000000000000e+00 -3.356401324272155762e-01 6.226066946983337402e-01 7.896193861961364746e-01 1.000000000000000000e+00 -3.234909772872924805e-01 6.149173378944396973e-01 7.854671478271484375e-01 1.000000000000000000e+00 -3.113417923450469971e-01 6.072279810905456543e-01 7.813148498535156250e-01 1.000000000000000000e+00 -2.991926074028015137e-01 5.995386242866516113e-01 7.771626114845275879e-01 1.000000000000000000e+00 -2.870434522628784180e-01 5.918492674827575684e-01 7.730103731155395508e-01 1.000000000000000000e+00 -2.748942673206329346e-01 5.841599106788635254e-01 7.688581347465515137e-01 1.000000000000000000e+00 -2.627451121807098389e-01 5.764706134796142578e-01 7.647058963775634766e-01 1.000000000000000000e+00 -2.575163543224334717e-01 5.695501565933227539e-01 7.611687779426574707e-01 1.000000000000000000e+00 -2.522875964641571045e-01 5.626297593116760254e-01 7.576316595077514648e-01 1.000000000000000000e+00 -2.470588237047195435e-01 5.557093620300292969e-01 7.540946006774902344e-01 1.000000000000000000e+00 -2.418300658464431763e-01 5.487889051437377930e-01 7.505574822425842285e-01 1.000000000000000000e+00 -2.366013079881668091e-01 5.418685078620910645e-01 7.470203638076782227e-01 1.000000000000000000e+00 -2.313725501298904419e-01 5.349481105804443359e-01 7.434833049774169922e-01 1.000000000000000000e+00 -2.261437922716140747e-01 5.280276536941528320e-01 7.399461865425109863e-01 1.000000000000000000e+00 -2.209150344133377075e-01 5.211072564125061035e-01 7.364090681076049805e-01 1.000000000000000000e+00 -2.156862765550613403e-01 5.141868591308593750e-01 7.328719496726989746e-01 1.000000000000000000e+00 -2.104575186967849731e-01 5.072664618492126465e-01 7.293348908424377441e-01 1.000000000000000000e+00 -2.052287608385086060e-01 5.003460049629211426e-01 7.257977724075317383e-01 1.000000000000000000e+00 -2.000000029802322388e-01 4.934256076812744141e-01 7.222606539726257324e-01 1.000000000000000000e+00 -1.947712451219558716e-01 4.865051805973052979e-01 7.187235951423645020e-01 1.000000000000000000e+00 -1.895424872636795044e-01 4.795847833156585693e-01 7.151864767074584961e-01 1.000000000000000000e+00 -1.843137294054031372e-01 4.726643562316894531e-01 7.116493582725524902e-01 1.000000000000000000e+00 -1.790849715471267700e-01 4.657439589500427246e-01 7.081122398376464844e-01 1.000000000000000000e+00 -1.738562136888504028e-01 4.588235318660736084e-01 7.045751810073852539e-01 1.000000000000000000e+00 -1.686274558305740356e-01 4.519031047821044922e-01 7.010380625724792480e-01 1.000000000000000000e+00 -1.633986979722976685e-01 4.449827075004577637e-01 6.975009441375732422e-01 1.000000000000000000e+00 -1.581699401140213013e-01 4.380622804164886475e-01 6.939638853073120117e-01 1.000000000000000000e+00 -1.529411822557449341e-01 4.311418831348419189e-01 6.904267668724060059e-01 1.000000000000000000e+00 -1.477124243974685669e-01 4.242214560508728027e-01 6.868896484375000000e-01 1.000000000000000000e+00 -1.424836665391921997e-01 4.173010289669036865e-01 6.833525300025939941e-01 1.000000000000000000e+00 -1.372549086809158325e-01 4.103806316852569580e-01 6.798154711723327637e-01 1.000000000000000000e+00 -1.320261508226394653e-01 4.034602046012878418e-01 6.762783527374267578e-01 1.000000000000000000e+00 -1.272587478160858154e-01 3.958477377891540527e-01 6.687427759170532227e-01 1.000000000000000000e+00 -1.229527071118354797e-01 3.875432610511779785e-01 6.572087407112121582e-01 1.000000000000000000e+00 -1.186466738581657410e-01 3.792387545108795166e-01 6.456747651100158691e-01 1.000000000000000000e+00 -1.143406406044960022e-01 3.709342479705810547e-01 6.341407299041748047e-01 1.000000000000000000e+00 -1.100345999002456665e-01 3.626297712326049805e-01 6.226066946983337402e-01 1.000000000000000000e+00 -1.057285666465759277e-01 3.543252646923065186e-01 6.110726594924926758e-01 1.000000000000000000e+00 -1.014225333929061890e-01 3.460207581520080566e-01 5.995386242866516113e-01 1.000000000000000000e+00 -9.711649268865585327e-02 3.377162516117095947e-01 5.880045890808105469e-01 1.000000000000000000e+00 -9.281045943498611450e-02 3.294117748737335205e-01 5.764706134796142578e-01 1.000000000000000000e+00 -8.850441873073577881e-02 3.211072683334350586e-01 5.649365782737731934e-01 1.000000000000000000e+00 -8.419838547706604004e-02 3.128027617931365967e-01 5.534025430679321289e-01 1.000000000000000000e+00 -7.989235222339630127e-02 3.044982552528381348e-01 5.418685078620910645e-01 1.000000000000000000e+00 -7.558631151914596558e-02 2.961937785148620605e-01 5.303344726562500000e-01 1.000000000000000000e+00 -7.128027826547622681e-02 2.878892719745635986e-01 5.188004374504089355e-01 1.000000000000000000e+00 -6.697423756122589111e-02 2.795847654342651367e-01 5.072664618492126465e-01 1.000000000000000000e+00 -6.266820430755615234e-02 2.712802886962890625e-01 4.957323968410491943e-01 1.000000000000000000e+00 -5.836216732859611511e-02 2.629757821559906006e-01 4.841983914375305176e-01 1.000000000000000000e+00 -5.405613407492637634e-02 2.546712756156921387e-01 4.726643562316894531e-01 1.000000000000000000e+00 -4.975009709596633911e-02 2.463667839765548706e-01 4.611303210258483887e-01 1.000000000000000000e+00 -4.544406011700630188e-02 2.380622774362564087e-01 4.495963156223297119e-01 1.000000000000000000e+00 -4.113802313804626465e-02 2.297577857971191406e-01 4.380622804164886475e-01 1.000000000000000000e+00 -3.683198615908622742e-02 2.214532941579818726e-01 4.265282452106475830e-01 1.000000000000000000e+00 -3.252595290541648865e-02 2.131487876176834106e-01 4.149942398071289062e-01 1.000000000000000000e+00 -2.821991592645645142e-02 2.048442959785461426e-01 4.034602046012878418e-01 1.000000000000000000e+00 -2.391387894749641418e-02 1.965397894382476807e-01 3.919261693954467773e-01 1.000000000000000000e+00 -1.960784383118152618e-02 1.882352977991104126e-01 3.803921639919281006e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/RdGy b/fastplotlib/utils/colormaps/RdGy deleted file mode 100644 index a6f80f093..000000000 --- a/fastplotlib/utils/colormaps/RdGy +++ /dev/null @@ -1,256 +0,0 @@ -4.039215743541717529e-01 0.000000000000000000e+00 1.215686276555061340e-01 1.000000000000000000e+00 -4.154555797576904297e-01 3.690888173878192902e-03 1.234140694141387939e-01 1.000000000000000000e+00 -4.269896149635314941e-01 7.381776347756385803e-03 1.252595186233520508e-01 1.000000000000000000e+00 -4.385236501693725586e-01 1.107266452163457870e-02 1.271049529314041138e-01 1.000000000000000000e+00 -4.500576555728912354e-01 1.476355269551277161e-02 1.289504021406173706e-01 1.000000000000000000e+00 -4.615916907787322998e-01 1.845443993806838989e-02 1.307958513498306274e-01 1.000000000000000000e+00 -4.731257259845733643e-01 2.214532904326915741e-02 1.326412856578826904e-01 1.000000000000000000e+00 -4.846597313880920410e-01 2.583621628582477570e-02 1.344867348670959473e-01 1.000000000000000000e+00 -4.961937665939331055e-01 2.952710539102554321e-02 1.363321840763092041e-01 1.000000000000000000e+00 -5.077278017997741699e-01 3.321799263358116150e-02 1.381776183843612671e-01 1.000000000000000000e+00 -5.192618370056152344e-01 3.690887987613677979e-02 1.400230675935745239e-01 1.000000000000000000e+00 -5.307958722114562988e-01 4.059977084398269653e-02 1.418685168027877808e-01 1.000000000000000000e+00 -5.423298478126525879e-01 4.429065808653831482e-02 1.437139511108398438e-01 1.000000000000000000e+00 -5.538638830184936523e-01 4.798154532909393311e-02 1.455594003200531006e-01 1.000000000000000000e+00 -5.653979182243347168e-01 5.167243257164955139e-02 1.474048495292663574e-01 1.000000000000000000e+00 -5.769319534301757812e-01 5.536332353949546814e-02 1.492502838373184204e-01 1.000000000000000000e+00 -5.884659886360168457e-01 5.905421078205108643e-02 1.510957330465316772e-01 1.000000000000000000e+00 -6.000000238418579102e-01 6.274510174989700317e-02 1.529411822557449341e-01 1.000000000000000000e+00 -6.115339994430541992e-01 6.643598526716232300e-02 1.547866165637969971e-01 1.000000000000000000e+00 -6.230680346488952637e-01 7.012687623500823975e-02 1.566320657730102539e-01 1.000000000000000000e+00 -6.346020698547363281e-01 7.381775975227355957e-02 1.584775149822235107e-01 1.000000000000000000e+00 -6.461361050605773926e-01 7.750865072011947632e-02 1.603229492902755737e-01 1.000000000000000000e+00 -6.576701402664184570e-01 8.119954168796539307e-02 1.621683984994888306e-01 1.000000000000000000e+00 -6.692041754722595215e-01 8.489042520523071289e-02 1.640138477087020874e-01 1.000000000000000000e+00 -6.807381510734558105e-01 8.858131617307662964e-02 1.658592820167541504e-01 1.000000000000000000e+00 -6.922721862792968750e-01 9.227219969034194946e-02 1.677047312259674072e-01 1.000000000000000000e+00 -7.008073925971984863e-01 9.965398162603378296e-02 1.712418347597122192e-01 1.000000000000000000e+00 -7.063437104225158691e-01 1.107266470789909363e-01 1.764705926179885864e-01 1.000000000000000000e+00 -7.118800282478332520e-01 1.217993050813674927e-01 1.816993504762649536e-01 1.000000000000000000e+00 -7.174164056777954102e-01 1.328719705343246460e-01 1.869281083345413208e-01 1.000000000000000000e+00 -7.229527235031127930e-01 1.439446359872817993e-01 1.921568661928176880e-01 1.000000000000000000e+00 -7.284890413284301758e-01 1.550173014402389526e-01 1.973856240510940552e-01 1.000000000000000000e+00 -7.340253591537475586e-01 1.660899668931961060e-01 2.026143819093704224e-01 1.000000000000000000e+00 -7.395617365837097168e-01 1.771626323461532593e-01 2.078431397676467896e-01 1.000000000000000000e+00 -7.450980544090270996e-01 1.882352977991104126e-01 2.130718976259231567e-01 1.000000000000000000e+00 -7.506343722343444824e-01 1.993079632520675659e-01 2.183006554841995239e-01 1.000000000000000000e+00 -7.561706900596618652e-01 2.103806287050247192e-01 2.235294133424758911e-01 1.000000000000000000e+00 -7.617070078849792480e-01 2.214532941579818726e-01 2.287581712007522583e-01 1.000000000000000000e+00 -7.672433853149414062e-01 2.325259447097778320e-01 2.339869290590286255e-01 1.000000000000000000e+00 -7.727797031402587891e-01 2.435986101627349854e-01 2.392156869173049927e-01 1.000000000000000000e+00 -7.783160209655761719e-01 2.546712756156921387e-01 2.444444447755813599e-01 1.000000000000000000e+00 -7.838523387908935547e-01 2.657439410686492920e-01 2.496732026338577271e-01 1.000000000000000000e+00 -7.893887162208557129e-01 2.768166065216064453e-01 2.549019753932952881e-01 1.000000000000000000e+00 -7.949250340461730957e-01 2.878892719745635986e-01 2.601307332515716553e-01 1.000000000000000000e+00 -8.004613518714904785e-01 2.989619374275207520e-01 2.653594911098480225e-01 1.000000000000000000e+00 -8.059976696968078613e-01 3.100346028804779053e-01 2.705882489681243896e-01 1.000000000000000000e+00 -8.115340471267700195e-01 3.211072683334350586e-01 2.758170068264007568e-01 1.000000000000000000e+00 -8.170703649520874023e-01 3.321799337863922119e-01 2.810457646846771240e-01 1.000000000000000000e+00 -8.226066827774047852e-01 3.432525992393493652e-01 2.862745225429534912e-01 1.000000000000000000e+00 -8.281430006027221680e-01 3.543252646923065186e-01 2.915032804012298584e-01 1.000000000000000000e+00 -8.336793780326843262e-01 3.653979301452636719e-01 2.967320382595062256e-01 1.000000000000000000e+00 -8.392156958580017090e-01 3.764705955982208252e-01 3.019607961177825928e-01 1.000000000000000000e+00 -8.438292741775512695e-01 3.870818912982940674e-01 3.101114928722381592e-01 1.000000000000000000e+00 -8.484429121017456055e-01 3.976931869983673096e-01 3.182622194290161133e-01 1.000000000000000000e+00 -8.530564904212951660e-01 4.083045125007629395e-01 3.264129161834716797e-01 1.000000000000000000e+00 -8.576701283454895020e-01 4.189158082008361816e-01 3.345636427402496338e-01 1.000000000000000000e+00 -8.622837662696838379e-01 4.295271039009094238e-01 3.427143394947052002e-01 1.000000000000000000e+00 -8.668973445892333984e-01 4.401383996009826660e-01 3.508650660514831543e-01 1.000000000000000000e+00 -8.715109825134277344e-01 4.507497251033782959e-01 3.590157628059387207e-01 1.000000000000000000e+00 -8.761245608329772949e-01 4.613610208034515381e-01 3.671664595603942871e-01 1.000000000000000000e+00 -8.807381987571716309e-01 4.719723165035247803e-01 3.753171861171722412e-01 1.000000000000000000e+00 -8.853517770767211914e-01 4.825836122035980225e-01 3.834678828716278076e-01 1.000000000000000000e+00 -8.899654150009155273e-01 4.931949377059936523e-01 3.916186094284057617e-01 1.000000000000000000e+00 -8.945789933204650879e-01 5.038062334060668945e-01 3.997693061828613281e-01 1.000000000000000000e+00 -8.991926312446594238e-01 5.144175291061401367e-01 4.079200327396392822e-01 1.000000000000000000e+00 -9.038062095642089844e-01 5.250288248062133789e-01 4.160707294940948486e-01 1.000000000000000000e+00 -9.084198474884033203e-01 5.356401205062866211e-01 4.242214560508728027e-01 1.000000000000000000e+00 -9.130334258079528809e-01 5.462514162063598633e-01 4.323721528053283691e-01 1.000000000000000000e+00 -9.176470637321472168e-01 5.568627715110778809e-01 4.405228793621063232e-01 1.000000000000000000e+00 -9.222606420516967773e-01 5.674740672111511230e-01 4.486735761165618896e-01 1.000000000000000000e+00 -9.268742799758911133e-01 5.780853629112243652e-01 4.568243026733398438e-01 1.000000000000000000e+00 -9.314879179000854492e-01 5.886966586112976074e-01 4.649749994277954102e-01 1.000000000000000000e+00 -9.361014962196350098e-01 5.993079543113708496e-01 4.731257259845733643e-01 1.000000000000000000e+00 -9.407151341438293457e-01 6.099192500114440918e-01 4.812764227390289307e-01 1.000000000000000000e+00 -9.453287124633789062e-01 6.205305457115173340e-01 4.894271492958068848e-01 1.000000000000000000e+00 -9.499423503875732422e-01 6.311418414115905762e-01 4.975778460502624512e-01 1.000000000000000000e+00 -9.545559287071228027e-01 6.417531967163085938e-01 5.057285428047180176e-01 1.000000000000000000e+00 -9.575547575950622559e-01 6.512110829353332520e-01 5.151095986366271973e-01 1.000000000000000000e+00 -9.589388966560363770e-01 6.595155596733093262e-01 5.257208943367004395e-01 1.000000000000000000e+00 -9.603229761123657227e-01 6.678200960159301758e-01 5.363321900367736816e-01 1.000000000000000000e+00 -9.617070555686950684e-01 6.761245727539062500e-01 5.469434857368469238e-01 1.000000000000000000e+00 -9.630911350250244141e-01 6.844290494918823242e-01 5.575547814369201660e-01 1.000000000000000000e+00 -9.644752144813537598e-01 6.927335858345031738e-01 5.681660771369934082e-01 1.000000000000000000e+00 -9.658592939376831055e-01 7.010380625724792480e-01 5.787773728370666504e-01 1.000000000000000000e+00 -9.672433733940124512e-01 7.093425393104553223e-01 5.893886685371398926e-01 1.000000000000000000e+00 -9.686274528503417969e-01 7.176470756530761719e-01 6.000000238418579102e-01 1.000000000000000000e+00 -9.700115323066711426e-01 7.259515523910522461e-01 6.106113195419311523e-01 1.000000000000000000e+00 -9.713956117630004883e-01 7.342560291290283203e-01 6.212226152420043945e-01 1.000000000000000000e+00 -9.727796912193298340e-01 7.425605654716491699e-01 6.318339109420776367e-01 1.000000000000000000e+00 -9.741637706756591797e-01 7.508650422096252441e-01 6.424452066421508789e-01 1.000000000000000000e+00 -9.755478501319885254e-01 7.591695785522460938e-01 6.530565023422241211e-01 1.000000000000000000e+00 -9.769319295883178711e-01 7.674740552902221680e-01 6.636677980422973633e-01 1.000000000000000000e+00 -9.783160090446472168e-01 7.757785320281982422e-01 6.742790937423706055e-01 1.000000000000000000e+00 -9.797000885009765625e-01 7.840830683708190918e-01 6.848904490470886230e-01 1.000000000000000000e+00 -9.810842275619506836e-01 7.923875451087951660e-01 6.955017447471618652e-01 1.000000000000000000e+00 -9.824683070182800293e-01 8.006920218467712402e-01 7.061130404472351074e-01 1.000000000000000000e+00 -9.838523864746093750e-01 8.089965581893920898e-01 7.167243361473083496e-01 1.000000000000000000e+00 -9.852364659309387207e-01 8.173010349273681641e-01 7.273356318473815918e-01 1.000000000000000000e+00 -9.866205453872680664e-01 8.256055116653442383e-01 7.379469275474548340e-01 1.000000000000000000e+00 -9.880046248435974121e-01 8.339100480079650879e-01 7.485582232475280762e-01 1.000000000000000000e+00 -9.893887042999267578e-01 8.422145247459411621e-01 7.591695785522460938e-01 1.000000000000000000e+00 -9.907727837562561035e-01 8.505190014839172363e-01 7.697808742523193359e-01 1.000000000000000000e+00 -9.921568632125854492e-01 8.588235378265380859e-01 7.803921699523925781e-01 1.000000000000000000e+00 -9.924644231796264648e-01 8.643598556518554688e-01 7.890042066574096680e-01 1.000000000000000000e+00 -9.927719831466674805e-01 8.698961734771728516e-01 7.976163029670715332e-01 1.000000000000000000e+00 -9.930796027183532715e-01 8.754325509071350098e-01 8.062283992767333984e-01 1.000000000000000000e+00 -9.933871626853942871e-01 8.809688687324523926e-01 8.148404359817504883e-01 1.000000000000000000e+00 -9.936947226524353027e-01 8.865051865577697754e-01 8.234525322914123535e-01 1.000000000000000000e+00 -9.940022826194763184e-01 8.920415043830871582e-01 8.320645689964294434e-01 1.000000000000000000e+00 -9.943099021911621094e-01 8.975778818130493164e-01 8.406766653060913086e-01 1.000000000000000000e+00 -9.946174621582031250e-01 9.031141996383666992e-01 8.492887616157531738e-01 1.000000000000000000e+00 -9.949250221252441406e-01 9.086505174636840820e-01 8.579007983207702637e-01 1.000000000000000000e+00 -9.952325820922851562e-01 9.141868352890014648e-01 8.665128946304321289e-01 1.000000000000000000e+00 -9.955402016639709473e-01 9.197232127189636230e-01 8.751249313354492188e-01 1.000000000000000000e+00 -9.958477616310119629e-01 9.252595305442810059e-01 8.837370276451110840e-01 1.000000000000000000e+00 -9.961553215980529785e-01 9.307958483695983887e-01 8.923491239547729492e-01 1.000000000000000000e+00 -9.964628815650939941e-01 9.363321661949157715e-01 9.009611606597900391e-01 1.000000000000000000e+00 -9.967705011367797852e-01 9.418684840202331543e-01 9.095732569694519043e-01 1.000000000000000000e+00 -9.970780611038208008e-01 9.474048614501953125e-01 9.181852936744689941e-01 1.000000000000000000e+00 -9.973856210708618164e-01 9.529411792755126953e-01 9.267973899841308594e-01 1.000000000000000000e+00 -9.976931810379028320e-01 9.584774971008300781e-01 9.354094862937927246e-01 1.000000000000000000e+00 -9.980007410049438477e-01 9.640138149261474609e-01 9.440215229988098145e-01 1.000000000000000000e+00 -9.983083605766296387e-01 9.695501923561096191e-01 9.526336193084716797e-01 1.000000000000000000e+00 -9.986159205436706543e-01 9.750865101814270020e-01 9.612456560134887695e-01 1.000000000000000000e+00 -9.989234805107116699e-01 9.806228280067443848e-01 9.698577523231506348e-01 1.000000000000000000e+00 -9.992310404777526855e-01 9.861591458320617676e-01 9.784698486328125000e-01 1.000000000000000000e+00 -9.995386600494384766e-01 9.916955232620239258e-01 9.870818853378295898e-01 1.000000000000000000e+00 -9.998462200164794922e-01 9.972318410873413086e-01 9.956939816474914551e-01 1.000000000000000000e+00 -9.976162910461425781e-01 9.976162910461425781e-01 9.976162910461425781e-01 1.000000000000000000e+00 -9.928489327430725098e-01 9.928489327430725098e-01 9.928489327430725098e-01 1.000000000000000000e+00 -9.880815148353576660e-01 9.880815148353576660e-01 9.880815148353576660e-01 1.000000000000000000e+00 -9.833140969276428223e-01 9.833140969276428223e-01 9.833140969276428223e-01 1.000000000000000000e+00 -9.785467386245727539e-01 9.785467386245727539e-01 9.785467386245727539e-01 1.000000000000000000e+00 -9.737793207168579102e-01 9.737793207168579102e-01 9.737793207168579102e-01 1.000000000000000000e+00 -9.690119028091430664e-01 9.690119028091430664e-01 9.690119028091430664e-01 1.000000000000000000e+00 -9.642445445060729980e-01 9.642445445060729980e-01 9.642445445060729980e-01 1.000000000000000000e+00 -9.594771265983581543e-01 9.594771265983581543e-01 9.594771265983581543e-01 1.000000000000000000e+00 -9.547097086906433105e-01 9.547097086906433105e-01 9.547097086906433105e-01 1.000000000000000000e+00 -9.499423503875732422e-01 9.499423503875732422e-01 9.499423503875732422e-01 1.000000000000000000e+00 -9.451749324798583984e-01 9.451749324798583984e-01 9.451749324798583984e-01 1.000000000000000000e+00 -9.404075145721435547e-01 9.404075145721435547e-01 9.404075145721435547e-01 1.000000000000000000e+00 -9.356401562690734863e-01 9.356401562690734863e-01 9.356401562690734863e-01 1.000000000000000000e+00 -9.308727383613586426e-01 9.308727383613586426e-01 9.308727383613586426e-01 1.000000000000000000e+00 -9.261053204536437988e-01 9.261053204536437988e-01 9.261053204536437988e-01 1.000000000000000000e+00 -9.213379621505737305e-01 9.213379621505737305e-01 9.213379621505737305e-01 1.000000000000000000e+00 -9.165705442428588867e-01 9.165705442428588867e-01 9.165705442428588867e-01 1.000000000000000000e+00 -9.118031263351440430e-01 9.118031263351440430e-01 9.118031263351440430e-01 1.000000000000000000e+00 -9.070357680320739746e-01 9.070357680320739746e-01 9.070357680320739746e-01 1.000000000000000000e+00 -9.022683501243591309e-01 9.022683501243591309e-01 9.022683501243591309e-01 1.000000000000000000e+00 -8.975009322166442871e-01 8.975009322166442871e-01 8.975009322166442871e-01 1.000000000000000000e+00 -8.927335739135742188e-01 8.927335739135742188e-01 8.927335739135742188e-01 1.000000000000000000e+00 -8.879661560058593750e-01 8.879661560058593750e-01 8.879661560058593750e-01 1.000000000000000000e+00 -8.831987977027893066e-01 8.831987977027893066e-01 8.831987977027893066e-01 1.000000000000000000e+00 -8.784313797950744629e-01 8.784313797950744629e-01 8.784313797950744629e-01 1.000000000000000000e+00 -8.725874423980712891e-01 8.725874423980712891e-01 8.725874423980712891e-01 1.000000000000000000e+00 -8.667435646057128906e-01 8.667435646057128906e-01 8.667435646057128906e-01 1.000000000000000000e+00 -8.608996272087097168e-01 8.608996272087097168e-01 8.608996272087097168e-01 1.000000000000000000e+00 -8.550557494163513184e-01 8.550557494163513184e-01 8.550557494163513184e-01 1.000000000000000000e+00 -8.492118120193481445e-01 8.492118120193481445e-01 8.492118120193481445e-01 1.000000000000000000e+00 -8.433679342269897461e-01 8.433679342269897461e-01 8.433679342269897461e-01 1.000000000000000000e+00 -8.375240564346313477e-01 8.375240564346313477e-01 8.375240564346313477e-01 1.000000000000000000e+00 -8.316801190376281738e-01 8.316801190376281738e-01 8.316801190376281738e-01 1.000000000000000000e+00 -8.258362412452697754e-01 8.258362412452697754e-01 8.258362412452697754e-01 1.000000000000000000e+00 -8.199923038482666016e-01 8.199923038482666016e-01 8.199923038482666016e-01 1.000000000000000000e+00 -8.141484260559082031e-01 8.141484260559082031e-01 8.141484260559082031e-01 1.000000000000000000e+00 -8.083044886589050293e-01 8.083044886589050293e-01 8.083044886589050293e-01 1.000000000000000000e+00 -8.024606108665466309e-01 8.024606108665466309e-01 8.024606108665466309e-01 1.000000000000000000e+00 -7.966166734695434570e-01 7.966166734695434570e-01 7.966166734695434570e-01 1.000000000000000000e+00 -7.907727956771850586e-01 7.907727956771850586e-01 7.907727956771850586e-01 1.000000000000000000e+00 -7.849288582801818848e-01 7.849288582801818848e-01 7.849288582801818848e-01 1.000000000000000000e+00 -7.790849804878234863e-01 7.790849804878234863e-01 7.790849804878234863e-01 1.000000000000000000e+00 -7.732410430908203125e-01 7.732410430908203125e-01 7.732410430908203125e-01 1.000000000000000000e+00 -7.673971652984619141e-01 7.673971652984619141e-01 7.673971652984619141e-01 1.000000000000000000e+00 -7.615532279014587402e-01 7.615532279014587402e-01 7.615532279014587402e-01 1.000000000000000000e+00 -7.557093501091003418e-01 7.557093501091003418e-01 7.557093501091003418e-01 1.000000000000000000e+00 -7.498654127120971680e-01 7.498654127120971680e-01 7.498654127120971680e-01 1.000000000000000000e+00 -7.440215349197387695e-01 7.440215349197387695e-01 7.440215349197387695e-01 1.000000000000000000e+00 -7.381775975227355957e-01 7.381775975227355957e-01 7.381775975227355957e-01 1.000000000000000000e+00 -7.323337197303771973e-01 7.323337197303771973e-01 7.323337197303771973e-01 1.000000000000000000e+00 -7.254902124404907227e-01 7.254902124404907227e-01 7.254902124404907227e-01 1.000000000000000000e+00 -7.176470756530761719e-01 7.176470756530761719e-01 7.176470756530761719e-01 1.000000000000000000e+00 -7.098039388656616211e-01 7.098039388656616211e-01 7.098039388656616211e-01 1.000000000000000000e+00 -7.019608020782470703e-01 7.019608020782470703e-01 7.019608020782470703e-01 1.000000000000000000e+00 -6.941176652908325195e-01 6.941176652908325195e-01 6.941176652908325195e-01 1.000000000000000000e+00 -6.862745285034179688e-01 6.862745285034179688e-01 6.862745285034179688e-01 1.000000000000000000e+00 -6.784313917160034180e-01 6.784313917160034180e-01 6.784313917160034180e-01 1.000000000000000000e+00 -6.705882549285888672e-01 6.705882549285888672e-01 6.705882549285888672e-01 1.000000000000000000e+00 -6.627451181411743164e-01 6.627451181411743164e-01 6.627451181411743164e-01 1.000000000000000000e+00 -6.549019813537597656e-01 6.549019813537597656e-01 6.549019813537597656e-01 1.000000000000000000e+00 -6.470588445663452148e-01 6.470588445663452148e-01 6.470588445663452148e-01 1.000000000000000000e+00 -6.392157077789306641e-01 6.392157077789306641e-01 6.392157077789306641e-01 1.000000000000000000e+00 -6.313725709915161133e-01 6.313725709915161133e-01 6.313725709915161133e-01 1.000000000000000000e+00 -6.235294342041015625e-01 6.235294342041015625e-01 6.235294342041015625e-01 1.000000000000000000e+00 -6.156862974166870117e-01 6.156862974166870117e-01 6.156862974166870117e-01 1.000000000000000000e+00 -6.078431606292724609e-01 6.078431606292724609e-01 6.078431606292724609e-01 1.000000000000000000e+00 -6.000000238418579102e-01 6.000000238418579102e-01 6.000000238418579102e-01 1.000000000000000000e+00 -5.921568870544433594e-01 5.921568870544433594e-01 5.921568870544433594e-01 1.000000000000000000e+00 -5.843137502670288086e-01 5.843137502670288086e-01 5.843137502670288086e-01 1.000000000000000000e+00 -5.764706134796142578e-01 5.764706134796142578e-01 5.764706134796142578e-01 1.000000000000000000e+00 -5.686274766921997070e-01 5.686274766921997070e-01 5.686274766921997070e-01 1.000000000000000000e+00 -5.607843399047851562e-01 5.607843399047851562e-01 5.607843399047851562e-01 1.000000000000000000e+00 -5.529412031173706055e-01 5.529412031173706055e-01 5.529412031173706055e-01 1.000000000000000000e+00 -5.450980663299560547e-01 5.450980663299560547e-01 5.450980663299560547e-01 1.000000000000000000e+00 -5.372549295425415039e-01 5.372549295425415039e-01 5.372549295425415039e-01 1.000000000000000000e+00 -5.294117927551269531e-01 5.294117927551269531e-01 5.294117927551269531e-01 1.000000000000000000e+00 -5.204921364784240723e-01 5.204921364784240723e-01 5.204921364784240723e-01 1.000000000000000000e+00 -5.115724802017211914e-01 5.115724802017211914e-01 5.115724802017211914e-01 1.000000000000000000e+00 -5.026528239250183105e-01 5.026528239250183105e-01 5.026528239250183105e-01 1.000000000000000000e+00 -4.937331676483154297e-01 4.937331676483154297e-01 4.937331676483154297e-01 1.000000000000000000e+00 -4.848135411739349365e-01 4.848135411739349365e-01 4.848135411739349365e-01 1.000000000000000000e+00 -4.758938848972320557e-01 4.758938848972320557e-01 4.758938848972320557e-01 1.000000000000000000e+00 -4.669742286205291748e-01 4.669742286205291748e-01 4.669742286205291748e-01 1.000000000000000000e+00 -4.580546021461486816e-01 4.580546021461486816e-01 4.580546021461486816e-01 1.000000000000000000e+00 -4.491349458694458008e-01 4.491349458694458008e-01 4.491349458694458008e-01 1.000000000000000000e+00 -4.402152895927429199e-01 4.402152895927429199e-01 4.402152895927429199e-01 1.000000000000000000e+00 -4.312956631183624268e-01 4.312956631183624268e-01 4.312956631183624268e-01 1.000000000000000000e+00 -4.223760068416595459e-01 4.223760068416595459e-01 4.223760068416595459e-01 1.000000000000000000e+00 -4.134563505649566650e-01 4.134563505649566650e-01 4.134563505649566650e-01 1.000000000000000000e+00 -4.045367240905761719e-01 4.045367240905761719e-01 4.045367240905761719e-01 1.000000000000000000e+00 -3.956170678138732910e-01 3.956170678138732910e-01 3.956170678138732910e-01 1.000000000000000000e+00 -3.866974115371704102e-01 3.866974115371704102e-01 3.866974115371704102e-01 1.000000000000000000e+00 -3.777777850627899170e-01 3.777777850627899170e-01 3.777777850627899170e-01 1.000000000000000000e+00 -3.688581287860870361e-01 3.688581287860870361e-01 3.688581287860870361e-01 1.000000000000000000e+00 -3.599384725093841553e-01 3.599384725093841553e-01 3.599384725093841553e-01 1.000000000000000000e+00 -3.510188460350036621e-01 3.510188460350036621e-01 3.510188460350036621e-01 1.000000000000000000e+00 -3.420991897583007812e-01 3.420991897583007812e-01 3.420991897583007812e-01 1.000000000000000000e+00 -3.331795334815979004e-01 3.331795334815979004e-01 3.331795334815979004e-01 1.000000000000000000e+00 -3.242599070072174072e-01 3.242599070072174072e-01 3.242599070072174072e-01 1.000000000000000000e+00 -3.153402507305145264e-01 3.153402507305145264e-01 3.153402507305145264e-01 1.000000000000000000e+00 -3.064205944538116455e-01 3.064205944538116455e-01 3.064205944538116455e-01 1.000000000000000000e+00 -2.980392277240753174e-01 2.980392277240753174e-01 2.980392277240753174e-01 1.000000000000000000e+00 -2.901960909366607666e-01 2.901960909366607666e-01 2.901960909366607666e-01 1.000000000000000000e+00 -2.823529541492462158e-01 2.823529541492462158e-01 2.823529541492462158e-01 1.000000000000000000e+00 -2.745098173618316650e-01 2.745098173618316650e-01 2.745098173618316650e-01 1.000000000000000000e+00 -2.666666805744171143e-01 2.666666805744171143e-01 2.666666805744171143e-01 1.000000000000000000e+00 -2.588235437870025635e-01 2.588235437870025635e-01 2.588235437870025635e-01 1.000000000000000000e+00 -2.509804069995880127e-01 2.509804069995880127e-01 2.509804069995880127e-01 1.000000000000000000e+00 -2.431372553110122681e-01 2.431372553110122681e-01 2.431372553110122681e-01 1.000000000000000000e+00 -2.352941185235977173e-01 2.352941185235977173e-01 2.352941185235977173e-01 1.000000000000000000e+00 -2.274509817361831665e-01 2.274509817361831665e-01 2.274509817361831665e-01 1.000000000000000000e+00 -2.196078449487686157e-01 2.196078449487686157e-01 2.196078449487686157e-01 1.000000000000000000e+00 -2.117647081613540649e-01 2.117647081613540649e-01 2.117647081613540649e-01 1.000000000000000000e+00 -2.039215713739395142e-01 2.039215713739395142e-01 2.039215713739395142e-01 1.000000000000000000e+00 -1.960784345865249634e-01 1.960784345865249634e-01 1.960784345865249634e-01 1.000000000000000000e+00 -1.882352977991104126e-01 1.882352977991104126e-01 1.882352977991104126e-01 1.000000000000000000e+00 -1.803921610116958618e-01 1.803921610116958618e-01 1.803921610116958618e-01 1.000000000000000000e+00 -1.725490242242813110e-01 1.725490242242813110e-01 1.725490242242813110e-01 1.000000000000000000e+00 -1.647058874368667603e-01 1.647058874368667603e-01 1.647058874368667603e-01 1.000000000000000000e+00 -1.568627506494522095e-01 1.568627506494522095e-01 1.568627506494522095e-01 1.000000000000000000e+00 -1.490196138620376587e-01 1.490196138620376587e-01 1.490196138620376587e-01 1.000000000000000000e+00 -1.411764770746231079e-01 1.411764770746231079e-01 1.411764770746231079e-01 1.000000000000000000e+00 -1.333333402872085571e-01 1.333333402872085571e-01 1.333333402872085571e-01 1.000000000000000000e+00 -1.254902034997940063e-01 1.254902034997940063e-01 1.254902034997940063e-01 1.000000000000000000e+00 -1.176470592617988586e-01 1.176470592617988586e-01 1.176470592617988586e-01 1.000000000000000000e+00 -1.098039224743843079e-01 1.098039224743843079e-01 1.098039224743843079e-01 1.000000000000000000e+00 -1.019607856869697571e-01 1.019607856869697571e-01 1.019607856869697571e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/RdPu b/fastplotlib/utils/colormaps/RdPu deleted file mode 100644 index 9c6375b05..000000000 --- a/fastplotlib/utils/colormaps/RdPu +++ /dev/null @@ -1,256 +0,0 @@ -1.000000000000000000e+00 9.686274528503417969e-01 9.529411792755126953e-01 1.000000000000000000e+00 -9.997539520263671875e-01 9.657977819442749023e-01 9.502345323562622070e-01 1.000000000000000000e+00 -9.995079040527343750e-01 9.629681110382080078e-01 9.475278854370117188e-01 1.000000000000000000e+00 -9.992617964744567871e-01 9.601383805274963379e-01 9.448212385177612305e-01 1.000000000000000000e+00 -9.990157485008239746e-01 9.573087096214294434e-01 9.421145915985107422e-01 1.000000000000000000e+00 -9.987697005271911621e-01 9.544790387153625488e-01 9.394079446792602539e-01 1.000000000000000000e+00 -9.985236525535583496e-01 9.516493678092956543e-01 9.367012977600097656e-01 1.000000000000000000e+00 -9.982776045799255371e-01 9.488196969032287598e-01 9.339945912361145020e-01 1.000000000000000000e+00 -9.980314970016479492e-01 9.459900259971618652e-01 9.312879443168640137e-01 1.000000000000000000e+00 -9.977854490280151367e-01 9.431602954864501953e-01 9.285812973976135254e-01 1.000000000000000000e+00 -9.975394010543823242e-01 9.403306245803833008e-01 9.258746504783630371e-01 1.000000000000000000e+00 -9.972933530807495117e-01 9.375009536743164062e-01 9.231680035591125488e-01 1.000000000000000000e+00 -9.970473051071166992e-01 9.346712827682495117e-01 9.204613566398620605e-01 1.000000000000000000e+00 -9.968012571334838867e-01 9.318416118621826172e-01 9.177547097206115723e-01 1.000000000000000000e+00 -9.965551495552062988e-01 9.290119409561157227e-01 9.150480628013610840e-01 1.000000000000000000e+00 -9.963091015815734863e-01 9.261822104454040527e-01 9.123414158821105957e-01 1.000000000000000000e+00 -9.960630536079406738e-01 9.233525395393371582e-01 9.096347689628601074e-01 1.000000000000000000e+00 -9.958170056343078613e-01 9.205228686332702637e-01 9.069281220436096191e-01 1.000000000000000000e+00 -9.955709576606750488e-01 9.176931977272033691e-01 9.042214751243591309e-01 1.000000000000000000e+00 -9.953248500823974609e-01 9.148635268211364746e-01 9.015148282051086426e-01 1.000000000000000000e+00 -9.950788021087646484e-01 9.120338559150695801e-01 8.988081216812133789e-01 1.000000000000000000e+00 -9.948327541351318359e-01 9.092041254043579102e-01 8.961014747619628906e-01 1.000000000000000000e+00 -9.945867061614990234e-01 9.063744544982910156e-01 8.933948278427124023e-01 1.000000000000000000e+00 -9.943406581878662109e-01 9.035447835922241211e-01 8.906881809234619141e-01 1.000000000000000000e+00 -9.940945506095886230e-01 9.007151126861572266e-01 8.879815340042114258e-01 1.000000000000000000e+00 -9.938485026359558105e-01 8.978854417800903320e-01 8.852748870849609375e-01 1.000000000000000000e+00 -9.936024546623229980e-01 8.950557708740234375e-01 8.825682401657104492e-01 1.000000000000000000e+00 -9.933564066886901855e-01 8.922260403633117676e-01 8.798615932464599609e-01 1.000000000000000000e+00 -9.931103587150573730e-01 8.893963694572448730e-01 8.771549463272094727e-01 1.000000000000000000e+00 -9.928643107414245605e-01 8.865666985511779785e-01 8.744482994079589844e-01 1.000000000000000000e+00 -9.926182031631469727e-01 8.837370276451110840e-01 8.717416524887084961e-01 1.000000000000000000e+00 -9.923721551895141602e-01 8.809073567390441895e-01 8.690350055694580078e-01 1.000000000000000000e+00 -9.921414852142333984e-01 8.780161738395690918e-01 8.662207126617431641e-01 1.000000000000000000e+00 -9.920184612274169922e-01 8.746943473815917969e-01 8.626528382301330566e-01 1.000000000000000000e+00 -9.918954372406005859e-01 8.713725209236145020e-01 8.590849637985229492e-01 1.000000000000000000e+00 -9.917724132537841797e-01 8.680507540702819824e-01 8.555170893669128418e-01 1.000000000000000000e+00 -9.916493892669677734e-01 8.647289276123046875e-01 8.519492745399475098e-01 1.000000000000000000e+00 -9.915263652801513672e-01 8.614071607589721680e-01 8.483814001083374023e-01 1.000000000000000000e+00 -9.914032816886901855e-01 8.580853343009948730e-01 8.448135256767272949e-01 1.000000000000000000e+00 -9.912802577018737793e-01 8.547635674476623535e-01 8.412456512451171875e-01 1.000000000000000000e+00 -9.911572337150573730e-01 8.514417409896850586e-01 8.376778364181518555e-01 1.000000000000000000e+00 -9.910342097282409668e-01 8.481199741363525391e-01 8.341099619865417480e-01 1.000000000000000000e+00 -9.909111857414245605e-01 8.447981476783752441e-01 8.305420875549316406e-01 1.000000000000000000e+00 -9.907881617546081543e-01 8.414763808250427246e-01 8.269742131233215332e-01 1.000000000000000000e+00 -9.906651377677917480e-01 8.381545543670654297e-01 8.234063982963562012e-01 1.000000000000000000e+00 -9.905421137809753418e-01 8.348327279090881348e-01 8.198385238647460938e-01 1.000000000000000000e+00 -9.904190897941589355e-01 8.315109610557556152e-01 8.162706494331359863e-01 1.000000000000000000e+00 -9.902960658073425293e-01 8.281891345977783203e-01 8.127028346061706543e-01 1.000000000000000000e+00 -9.901729822158813477e-01 8.248673677444458008e-01 8.091349601745605469e-01 1.000000000000000000e+00 -9.900499582290649414e-01 8.215455412864685059e-01 8.055670857429504395e-01 1.000000000000000000e+00 -9.899269342422485352e-01 8.182237744331359863e-01 8.019992113113403320e-01 1.000000000000000000e+00 -9.898039102554321289e-01 8.149019479751586914e-01 7.984313964843750000e-01 1.000000000000000000e+00 -9.896808862686157227e-01 8.115801811218261719e-01 7.948635220527648926e-01 1.000000000000000000e+00 -9.895578622817993164e-01 8.082583546638488770e-01 7.912956476211547852e-01 1.000000000000000000e+00 -9.894348382949829102e-01 8.049365878105163574e-01 7.877277731895446777e-01 1.000000000000000000e+00 -9.893118143081665039e-01 8.016147613525390625e-01 7.841599583625793457e-01 1.000000000000000000e+00 -9.891887903213500977e-01 7.982929348945617676e-01 7.805920839309692383e-01 1.000000000000000000e+00 -9.890657663345336914e-01 7.949711680412292480e-01 7.770242094993591309e-01 1.000000000000000000e+00 -9.889427423477172852e-01 7.916493415832519531e-01 7.734563350677490234e-01 1.000000000000000000e+00 -9.888196587562561035e-01 7.883275747299194336e-01 7.698885202407836914e-01 1.000000000000000000e+00 -9.886966347694396973e-01 7.850057482719421387e-01 7.663206458091735840e-01 1.000000000000000000e+00 -9.885736107826232910e-01 7.816839814186096191e-01 7.627527713775634766e-01 1.000000000000000000e+00 -9.884505867958068848e-01 7.783621549606323242e-01 7.591849565505981445e-01 1.000000000000000000e+00 -9.883275628089904785e-01 7.750403881072998047e-01 7.556170821189880371e-01 1.000000000000000000e+00 -9.881737828254699707e-01 7.713802456855773926e-01 7.526028156280517578e-01 1.000000000000000000e+00 -9.879277348518371582e-01 7.667050957679748535e-01 7.512494921684265137e-01 1.000000000000000000e+00 -9.876816868782043457e-01 7.620300054550170898e-01 7.498961687088012695e-01 1.000000000000000000e+00 -9.874355792999267578e-01 7.573548555374145508e-01 7.485428452491760254e-01 1.000000000000000000e+00 -9.871895313262939453e-01 7.526797652244567871e-01 7.471895217895507812e-01 1.000000000000000000e+00 -9.869434833526611328e-01 7.480046153068542480e-01 7.458361983299255371e-01 1.000000000000000000e+00 -9.866974353790283203e-01 7.433294653892517090e-01 7.444828748703002930e-01 1.000000000000000000e+00 -9.864513874053955078e-01 7.386543750762939453e-01 7.431295514106750488e-01 1.000000000000000000e+00 -9.862052798271179199e-01 7.339792251586914062e-01 7.417762279510498047e-01 1.000000000000000000e+00 -9.859592318534851074e-01 7.293041348457336426e-01 7.404229044914245605e-01 1.000000000000000000e+00 -9.857131838798522949e-01 7.246289849281311035e-01 7.390695810317993164e-01 1.000000000000000000e+00 -9.854671359062194824e-01 7.199538350105285645e-01 7.377162575721740723e-01 1.000000000000000000e+00 -9.852210879325866699e-01 7.152787446975708008e-01 7.363629341125488281e-01 1.000000000000000000e+00 -9.849749803543090820e-01 7.106035947799682617e-01 7.350096106529235840e-01 1.000000000000000000e+00 -9.847289323806762695e-01 7.059285044670104980e-01 7.336562871932983398e-01 1.000000000000000000e+00 -9.844828844070434570e-01 7.012533545494079590e-01 7.323029637336730957e-01 1.000000000000000000e+00 -9.842368364334106445e-01 6.965782642364501953e-01 7.309496402740478516e-01 1.000000000000000000e+00 -9.839907884597778320e-01 6.919031143188476562e-01 7.295963168144226074e-01 1.000000000000000000e+00 -9.837447404861450195e-01 6.872279644012451172e-01 7.282429933547973633e-01 1.000000000000000000e+00 -9.834986329078674316e-01 6.825528740882873535e-01 7.268896698951721191e-01 1.000000000000000000e+00 -9.832525849342346191e-01 6.778777241706848145e-01 7.255363464355468750e-01 1.000000000000000000e+00 -9.830065369606018066e-01 6.732026338577270508e-01 7.241830229759216309e-01 1.000000000000000000e+00 -9.827604889869689941e-01 6.685274839401245117e-01 7.228296995162963867e-01 1.000000000000000000e+00 -9.825144410133361816e-01 6.638523936271667480e-01 7.214763760566711426e-01 1.000000000000000000e+00 -9.822683334350585938e-01 6.591772437095642090e-01 7.201230525970458984e-01 1.000000000000000000e+00 -9.820222854614257812e-01 6.545020937919616699e-01 7.187697291374206543e-01 1.000000000000000000e+00 -9.817762374877929688e-01 6.498270034790039062e-01 7.174164056777954102e-01 1.000000000000000000e+00 -9.815301895141601562e-01 6.451518535614013672e-01 7.160630822181701660e-01 1.000000000000000000e+00 -9.812841415405273438e-01 6.404767632484436035e-01 7.147096991539001465e-01 1.000000000000000000e+00 -9.810380339622497559e-01 6.358016133308410645e-01 7.133563756942749023e-01 1.000000000000000000e+00 -9.807919859886169434e-01 6.311264634132385254e-01 7.120030522346496582e-01 1.000000000000000000e+00 -9.805459380149841309e-01 6.264513731002807617e-01 7.106497287750244141e-01 1.000000000000000000e+00 -9.802537560462951660e-01 6.209919452667236328e-01 7.088811993598937988e-01 1.000000000000000000e+00 -9.798846840858459473e-01 6.142252683639526367e-01 7.064206004142761230e-01 1.000000000000000000e+00 -9.795155525207519531e-01 6.074586510658264160e-01 7.039600014686584473e-01 1.000000000000000000e+00 -9.791464805603027344e-01 6.006920337677001953e-01 7.014994025230407715e-01 1.000000000000000000e+00 -9.787774085998535156e-01 5.939254164695739746e-01 6.990388035774230957e-01 1.000000000000000000e+00 -9.784082770347595215e-01 5.871587991714477539e-01 6.965782642364501953e-01 1.000000000000000000e+00 -9.780392050743103027e-01 5.803921818733215332e-01 6.941176652908325195e-01 1.000000000000000000e+00 -9.776701331138610840e-01 5.736255049705505371e-01 6.916570663452148438e-01 1.000000000000000000e+00 -9.773010611534118652e-01 5.668588876724243164e-01 6.891964673995971680e-01 1.000000000000000000e+00 -9.769319295883178711e-01 5.600922703742980957e-01 6.867358684539794922e-01 1.000000000000000000e+00 -9.765628576278686523e-01 5.533256530761718750e-01 6.842752695083618164e-01 1.000000000000000000e+00 -9.761937856674194336e-01 5.465590357780456543e-01 6.818146705627441406e-01 1.000000000000000000e+00 -9.758246541023254395e-01 5.397923588752746582e-01 6.793540716171264648e-01 1.000000000000000000e+00 -9.754555821418762207e-01 5.330257415771484375e-01 6.768935322761535645e-01 1.000000000000000000e+00 -9.750865101814270020e-01 5.262591242790222168e-01 6.744329333305358887e-01 1.000000000000000000e+00 -9.747174382209777832e-01 5.194925069808959961e-01 6.719723343849182129e-01 1.000000000000000000e+00 -9.743483066558837891e-01 5.127258896827697754e-01 6.695117354393005371e-01 1.000000000000000000e+00 -9.739792346954345703e-01 5.059592723846435547e-01 6.670511364936828613e-01 1.000000000000000000e+00 -9.736101627349853516e-01 4.991926252841949463e-01 6.645905375480651855e-01 1.000000000000000000e+00 -9.732410907745361328e-01 4.924259781837463379e-01 6.621299386024475098e-01 1.000000000000000000e+00 -9.728719592094421387e-01 4.856593608856201172e-01 6.596693396568298340e-01 1.000000000000000000e+00 -9.725028872489929199e-01 4.788927435874938965e-01 6.572087407112121582e-01 1.000000000000000000e+00 -9.721338152885437012e-01 4.721260964870452881e-01 6.547482013702392578e-01 1.000000000000000000e+00 -9.717646837234497070e-01 4.653594791889190674e-01 6.522876024246215820e-01 1.000000000000000000e+00 -9.713956117630004883e-01 4.585928618907928467e-01 6.498270034790039062e-01 1.000000000000000000e+00 -9.710265398025512695e-01 4.518262147903442383e-01 6.473664045333862305e-01 1.000000000000000000e+00 -9.706574678421020508e-01 4.450595974922180176e-01 6.449058055877685547e-01 1.000000000000000000e+00 -9.702883362770080566e-01 4.382929503917694092e-01 6.424452066421508789e-01 1.000000000000000000e+00 -9.699192643165588379e-01 4.315263330936431885e-01 6.399846076965332031e-01 1.000000000000000000e+00 -9.695501923561096191e-01 4.247597157955169678e-01 6.375240087509155273e-01 1.000000000000000000e+00 -9.691810607910156250e-01 4.179930686950683594e-01 6.350634098052978516e-01 1.000000000000000000e+00 -9.688119888305664062e-01 4.112264513969421387e-01 6.326028704643249512e-01 1.000000000000000000e+00 -9.670280814170837402e-01 4.046443700790405273e-01 6.307573914527893066e-01 1.000000000000000000e+00 -9.638292789459228516e-01 3.982468247413635254e-01 6.295270919799804688e-01 1.000000000000000000e+00 -9.606305360794067383e-01 3.918492794036865234e-01 6.282967925071716309e-01 1.000000000000000000e+00 -9.574317336082458496e-01 3.854517638683319092e-01 6.270664930343627930e-01 1.000000000000000000e+00 -9.542329907417297363e-01 3.790542185306549072e-01 6.258361935615539551e-01 1.000000000000000000e+00 -9.510341882705688477e-01 3.726566731929779053e-01 6.246058940887451172e-01 1.000000000000000000e+00 -9.478354454040527344e-01 3.662591278553009033e-01 6.233756542205810547e-01 1.000000000000000000e+00 -9.446367025375366211e-01 3.598615825176239014e-01 6.221453547477722168e-01 1.000000000000000000e+00 -9.414379000663757324e-01 3.534640669822692871e-01 6.209150552749633789e-01 1.000000000000000000e+00 -9.382391571998596191e-01 3.470665216445922852e-01 6.196847558021545410e-01 1.000000000000000000e+00 -9.350403547286987305e-01 3.406689763069152832e-01 6.184544563293457031e-01 1.000000000000000000e+00 -9.318416118621826172e-01 3.342714309692382812e-01 6.172241568565368652e-01 1.000000000000000000e+00 -9.286428093910217285e-01 3.278738856315612793e-01 6.159938573837280273e-01 1.000000000000000000e+00 -9.254440665245056152e-01 3.214763700962066650e-01 6.147635579109191895e-01 1.000000000000000000e+00 -9.222452640533447266e-01 3.150788247585296631e-01 6.135332584381103516e-01 1.000000000000000000e+00 -9.190465211868286133e-01 3.086812794208526611e-01 6.123029589653015137e-01 1.000000000000000000e+00 -9.158477783203125000e-01 3.022837340831756592e-01 6.110726594924926758e-01 1.000000000000000000e+00 -9.126489758491516113e-01 2.958861887454986572e-01 6.098423600196838379e-01 1.000000000000000000e+00 -9.094502329826354980e-01 2.894886434078216553e-01 6.086120605468750000e-01 1.000000000000000000e+00 -9.062514305114746094e-01 2.830911278724670410e-01 6.073817610740661621e-01 1.000000000000000000e+00 -9.030526876449584961e-01 2.766935825347900391e-01 6.061514616012573242e-01 1.000000000000000000e+00 -8.998538851737976074e-01 2.702960371971130371e-01 6.049211621284484863e-01 1.000000000000000000e+00 -8.966551423072814941e-01 2.638984918594360352e-01 6.036908626556396484e-01 1.000000000000000000e+00 -8.934563398361206055e-01 2.575009465217590332e-01 6.024605631828308105e-01 1.000000000000000000e+00 -8.902575969696044922e-01 2.511034309864044189e-01 6.012303233146667480e-01 1.000000000000000000e+00 -8.870587944984436035e-01 2.447058856487274170e-01 6.000000238418579102e-01 1.000000000000000000e+00 -8.838600516319274902e-01 2.383083403110504150e-01 5.987697243690490723e-01 1.000000000000000000e+00 -8.806613087654113770e-01 2.319108098745346069e-01 5.975394248962402344e-01 1.000000000000000000e+00 -8.774625062942504883e-01 2.255132645368576050e-01 5.963091254234313965e-01 1.000000000000000000e+00 -8.742637634277343750e-01 2.191157191991806030e-01 5.950788259506225586e-01 1.000000000000000000e+00 -8.710649609565734863e-01 2.127181887626647949e-01 5.938485264778137207e-01 1.000000000000000000e+00 -8.678662180900573730e-01 2.063206434249877930e-01 5.926182270050048828e-01 1.000000000000000000e+00 -8.630526661872863770e-01 2.000000029802322388e-01 5.902345180511474609e-01 1.000000000000000000e+00 -8.572703003883361816e-01 1.937254965305328369e-01 5.871587991714477539e-01 1.000000000000000000e+00 -8.514878749847412109e-01 1.874509751796722412e-01 5.840830206871032715e-01 1.000000000000000000e+00 -8.457055091857910156e-01 1.811764687299728394e-01 5.810073018074035645e-01 1.000000000000000000e+00 -8.399230837821960449e-01 1.749019622802734375e-01 5.779315829277038574e-01 1.000000000000000000e+00 -8.341407179832458496e-01 1.686274558305740356e-01 5.748558044433593750e-01 1.000000000000000000e+00 -8.283583521842956543e-01 1.623529344797134399e-01 5.717800855636596680e-01 1.000000000000000000e+00 -8.225759267807006836e-01 1.560784280300140381e-01 5.687043666839599609e-01 1.000000000000000000e+00 -8.167935609817504883e-01 1.498039215803146362e-01 5.656285881996154785e-01 1.000000000000000000e+00 -8.110111355781555176e-01 1.435294151306152344e-01 5.625528693199157715e-01 1.000000000000000000e+00 -8.052287697792053223e-01 1.372549086809158325e-01 5.594771504402160645e-01 1.000000000000000000e+00 -7.994463443756103516e-01 1.309803873300552368e-01 5.564013719558715820e-01 1.000000000000000000e+00 -7.936639785766601562e-01 1.247058808803558350e-01 5.533256530761718750e-01 1.000000000000000000e+00 -7.878816127777099609e-01 1.184313744306564331e-01 5.502498745918273926e-01 1.000000000000000000e+00 -7.820991873741149902e-01 1.121568605303764343e-01 5.471741557121276855e-01 1.000000000000000000e+00 -7.763168215751647949e-01 1.058823540806770325e-01 5.440984368324279785e-01 1.000000000000000000e+00 -7.705343961715698242e-01 9.960784018039703369e-02 5.410226583480834961e-01 1.000000000000000000e+00 -7.647520303726196289e-01 9.333333373069763184e-02 5.379469394683837891e-01 1.000000000000000000e+00 -7.589696049690246582e-01 8.705881983041763306e-02 5.348712205886840820e-01 1.000000000000000000e+00 -7.531872391700744629e-01 8.078431338071823120e-02 5.317954421043395996e-01 1.000000000000000000e+00 -7.474048733711242676e-01 7.450980693101882935e-02 5.287197232246398926e-01 1.000000000000000000e+00 -7.416224479675292969e-01 6.823529303073883057e-02 5.256440043449401855e-01 1.000000000000000000e+00 -7.358400821685791016e-01 6.196078285574913025e-02 5.225682258605957031e-01 1.000000000000000000e+00 -7.300576567649841309e-01 5.568627268075942993e-02 5.194925069808959961e-01 1.000000000000000000e+00 -7.242752909660339355e-01 4.941176623106002808e-02 5.164167881011962891e-01 1.000000000000000000e+00 -7.184928655624389648e-01 4.313725605607032776e-02 5.133410096168518066e-01 1.000000000000000000e+00 -7.127104997634887695e-01 3.686274588108062744e-02 5.102652907371520996e-01 1.000000000000000000e+00 -7.069281339645385742e-01 3.058823570609092712e-02 5.071895718574523926e-01 1.000000000000000000e+00 -7.011457085609436035e-01 2.431372553110122681e-02 5.041137933731079102e-01 1.000000000000000000e+00 -6.953633427619934082e-01 1.803921535611152649e-02 5.010380744934082031e-01 1.000000000000000000e+00 -6.895809173583984375e-01 1.176470611244440079e-02 4.979623258113861084e-01 1.000000000000000000e+00 -6.837985515594482422e-01 5.490195937454700470e-03 4.948865771293640137e-01 1.000000000000000000e+00 -6.775547862052917480e-01 3.921568859368562698e-03 4.934717416763305664e-01 1.000000000000000000e+00 -6.711572408676147461e-01 3.921568859368562698e-03 4.926105439662933350e-01 1.000000000000000000e+00 -6.647596955299377441e-01 3.921568859368562698e-03 4.917493164539337158e-01 1.000000000000000000e+00 -6.583621501922607422e-01 3.921568859368562698e-03 4.908881187438964844e-01 1.000000000000000000e+00 -6.519646048545837402e-01 3.921568859368562698e-03 4.900269210338592529e-01 1.000000000000000000e+00 -6.455671191215515137e-01 3.921568859368562698e-03 4.891656935214996338e-01 1.000000000000000000e+00 -6.391695737838745117e-01 3.921568859368562698e-03 4.883044958114624023e-01 1.000000000000000000e+00 -6.327720284461975098e-01 3.921568859368562698e-03 4.874432981014251709e-01 1.000000000000000000e+00 -6.263744831085205078e-01 3.921568859368562698e-03 4.865820705890655518e-01 1.000000000000000000e+00 -6.199769377708435059e-01 3.921568859368562698e-03 4.857208728790283203e-01 1.000000000000000000e+00 -6.135793924331665039e-01 3.921568859368562698e-03 4.848596751689910889e-01 1.000000000000000000e+00 -6.071818470954895020e-01 3.921568859368562698e-03 4.839984476566314697e-01 1.000000000000000000e+00 -6.007843017578125000e-01 3.921568859368562698e-03 4.831372499465942383e-01 1.000000000000000000e+00 -5.943867564201354980e-01 3.921568859368562698e-03 4.822760522365570068e-01 1.000000000000000000e+00 -5.879892110824584961e-01 3.921568859368562698e-03 4.814148545265197754e-01 1.000000000000000000e+00 -5.815916657447814941e-01 3.921568859368562698e-03 4.805536270141601562e-01 1.000000000000000000e+00 -5.751941800117492676e-01 3.921568859368562698e-03 4.796924293041229248e-01 1.000000000000000000e+00 -5.687966346740722656e-01 3.921568859368562698e-03 4.788312315940856934e-01 1.000000000000000000e+00 -5.623990893363952637e-01 3.921568859368562698e-03 4.779700040817260742e-01 1.000000000000000000e+00 -5.560015439987182617e-01 3.921568859368562698e-03 4.771088063716888428e-01 1.000000000000000000e+00 -5.496039986610412598e-01 3.921568859368562698e-03 4.762476086616516113e-01 1.000000000000000000e+00 -5.432064533233642578e-01 3.921568859368562698e-03 4.753863811492919922e-01 1.000000000000000000e+00 -5.368089079856872559e-01 3.921568859368562698e-03 4.745251834392547607e-01 1.000000000000000000e+00 -5.304113626480102539e-01 3.921568859368562698e-03 4.736639857292175293e-01 1.000000000000000000e+00 -5.240138173103332520e-01 3.921568859368562698e-03 4.728027582168579102e-01 1.000000000000000000e+00 -5.176162719726562500e-01 3.921568859368562698e-03 4.719415605068206787e-01 1.000000000000000000e+00 -5.112187862396240234e-01 3.921568859368562698e-03 4.710803627967834473e-01 1.000000000000000000e+00 -5.048212409019470215e-01 3.921568859368562698e-03 4.702191352844238281e-01 1.000000000000000000e+00 -4.984236955642700195e-01 3.921568859368562698e-03 4.693579375743865967e-01 1.000000000000000000e+00 -4.920261502265930176e-01 3.921568859368562698e-03 4.684967398643493652e-01 1.000000000000000000e+00 -4.856286048889160156e-01 3.921568859368562698e-03 4.676355123519897461e-01 1.000000000000000000e+00 -4.792310595512390137e-01 3.921568859368562698e-03 4.667743146419525146e-01 1.000000000000000000e+00 -4.731564819812774658e-01 3.813917748630046844e-03 4.652672111988067627e-01 1.000000000000000000e+00 -4.671280384063720703e-01 3.690888173878192902e-03 4.636678099632263184e-01 1.000000000000000000e+00 -4.610995650291442871e-01 3.567858599126338959e-03 4.620684385299682617e-01 1.000000000000000000e+00 -4.550711214542388916e-01 3.444829024374485016e-03 4.604690372943878174e-01 1.000000000000000000e+00 -4.490426778793334961e-01 3.321799216791987419e-03 4.588696658611297607e-01 1.000000000000000000e+00 -4.430142343044281006e-01 3.198769642040133476e-03 4.572702944278717041e-01 1.000000000000000000e+00 -4.369857609272003174e-01 3.075740067288279533e-03 4.556708931922912598e-01 1.000000000000000000e+00 -4.309573173522949219e-01 2.952710492536425591e-03 4.540715217590332031e-01 1.000000000000000000e+00 -4.249288737773895264e-01 2.829680917784571648e-03 4.524721205234527588e-01 1.000000000000000000e+00 -4.189004302024841309e-01 2.706651343032717705e-03 4.508727490901947021e-01 1.000000000000000000e+00 -4.128719866275787354e-01 2.583621768280863762e-03 4.492733478546142578e-01 1.000000000000000000e+00 -4.068435132503509521e-01 2.460592193529009819e-03 4.476739764213562012e-01 1.000000000000000000e+00 -4.008150696754455566e-01 2.337562385946512222e-03 4.460745751857757568e-01 1.000000000000000000e+00 -3.947866261005401611e-01 2.214532811194658279e-03 4.444752037525177002e-01 1.000000000000000000e+00 -3.887581825256347656e-01 2.091503236442804337e-03 4.428758025169372559e-01 1.000000000000000000e+00 -3.827297091484069824e-01 1.968473661690950394e-03 4.412764310836791992e-01 1.000000000000000000e+00 -3.767012655735015869e-01 1.845444086939096451e-03 4.396770596504211426e-01 1.000000000000000000e+00 -3.706728219985961914e-01 1.722414512187242508e-03 4.380776584148406982e-01 1.000000000000000000e+00 -3.646443784236907959e-01 1.599384821020066738e-03 4.364782869815826416e-01 1.000000000000000000e+00 -3.586159050464630127e-01 1.476355246268212795e-03 4.348788857460021973e-01 1.000000000000000000e+00 -3.525874614715576172e-01 1.353325671516358852e-03 4.332795143127441406e-01 1.000000000000000000e+00 -3.465590178966522217e-01 1.230296096764504910e-03 4.316801130771636963e-01 1.000000000000000000e+00 -3.405305743217468262e-01 1.107266405597329140e-03 4.300807416439056396e-01 1.000000000000000000e+00 -3.345021009445190430e-01 9.842368308454751968e-04 4.284813404083251953e-01 1.000000000000000000e+00 -3.284736573696136475e-01 8.612072560936212540e-04 4.268819689750671387e-01 1.000000000000000000e+00 -3.224452137947082520e-01 7.381776231341063976e-04 4.252825975418090820e-01 1.000000000000000000e+00 -3.164167702198028564e-01 6.151480483822524548e-04 4.236831963062286377e-01 1.000000000000000000e+00 -3.103883266448974609e-01 4.921184154227375984e-04 4.220838248729705811e-01 1.000000000000000000e+00 -3.043598532676696777e-01 3.690888115670531988e-04 4.204844236373901367e-01 1.000000000000000000e+00 -2.983314096927642822e-01 2.460592077113687992e-04 4.188850522041320801e-01 1.000000000000000000e+00 -2.923029661178588867e-01 1.230296038556843996e-04 4.172856509685516357e-01 1.000000000000000000e+00 -2.862745225429534912e-01 0.000000000000000000e+00 4.156862795352935791e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/RdYlBu b/fastplotlib/utils/colormaps/RdYlBu deleted file mode 100644 index 9323fe0b1..000000000 --- a/fastplotlib/utils/colormaps/RdYlBu +++ /dev/null @@ -1,256 +0,0 @@ -6.470588445663452148e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -6.547482013702392578e-01 7.381776347756385803e-03 1.491733938455581665e-01 1.000000000000000000e+00 -6.624374985694885254e-01 1.476355269551277161e-02 1.493271887302398682e-01 1.000000000000000000e+00 -6.701268553733825684e-01 2.214532904326915741e-02 1.494809687137603760e-01 1.000000000000000000e+00 -6.778162121772766113e-01 2.952710539102554321e-02 1.496347486972808838e-01 1.000000000000000000e+00 -6.855055689811706543e-01 3.690887987613677979e-02 1.497885435819625854e-01 1.000000000000000000e+00 -6.931949257850646973e-01 4.429065808653831482e-02 1.499423235654830933e-01 1.000000000000000000e+00 -7.008842825889587402e-01 5.167243257164955139e-02 1.500961184501647949e-01 1.000000000000000000e+00 -7.085736393928527832e-01 5.905421078205108643e-02 1.502498984336853027e-01 1.000000000000000000e+00 -7.162629961967468262e-01 6.643598526716232300e-02 1.504036933183670044e-01 1.000000000000000000e+00 -7.239523530006408691e-01 7.381775975227355957e-02 1.505574733018875122e-01 1.000000000000000000e+00 -7.316416501998901367e-01 8.119954168796539307e-02 1.507112681865692139e-01 1.000000000000000000e+00 -7.393310070037841797e-01 8.858131617307662964e-02 1.508650481700897217e-01 1.000000000000000000e+00 -7.470203638076782227e-01 9.596309065818786621e-02 1.510188430547714233e-01 1.000000000000000000e+00 -7.547097206115722656e-01 1.033448651432991028e-01 1.511726230382919312e-01 1.000000000000000000e+00 -7.623990774154663086e-01 1.107266470789909363e-01 1.513264179229736328e-01 1.000000000000000000e+00 -7.700884342193603516e-01 1.181084215641021729e-01 1.514801979064941406e-01 1.000000000000000000e+00 -7.777777910232543945e-01 1.254902034997940063e-01 1.516339927911758423e-01 1.000000000000000000e+00 -7.854671478271484375e-01 1.328719705343246460e-01 1.517877727746963501e-01 1.000000000000000000e+00 -7.931565046310424805e-01 1.402537524700164795e-01 1.519415676593780518e-01 1.000000000000000000e+00 -8.008458018302917480e-01 1.476355195045471191e-01 1.520953476428985596e-01 1.000000000000000000e+00 -8.085351586341857910e-01 1.550173014402389526e-01 1.522491276264190674e-01 1.000000000000000000e+00 -8.162245154380798340e-01 1.623990833759307861e-01 1.524029225111007690e-01 1.000000000000000000e+00 -8.239138722419738770e-01 1.697808504104614258e-01 1.525567024946212769e-01 1.000000000000000000e+00 -8.316032290458679199e-01 1.771626323461532593e-01 1.527104973793029785e-01 1.000000000000000000e+00 -8.392925858497619629e-01 1.845443993806838989e-01 1.528642773628234863e-01 1.000000000000000000e+00 -8.453671932220458984e-01 1.929257959127426147e-01 1.550941914319992065e-01 1.000000000000000000e+00 -8.498269915580749512e-01 2.023068070411682129e-01 1.594002246856689453e-01 1.000000000000000000e+00 -8.542867898941040039e-01 2.116878181695938110e-01 1.637062728404998779e-01 1.000000000000000000e+00 -8.587466478347778320e-01 2.210688143968582153e-01 1.680123060941696167e-01 1.000000000000000000e+00 -8.632064461708068848e-01 2.304498255252838135e-01 1.723183393478393555e-01 1.000000000000000000e+00 -8.676663041114807129e-01 2.398308366537094116e-01 1.766243726015090942e-01 1.000000000000000000e+00 -8.721261024475097656e-01 2.492118477821350098e-01 1.809304058551788330e-01 1.000000000000000000e+00 -8.765859007835388184e-01 2.585928440093994141e-01 1.852364540100097656e-01 1.000000000000000000e+00 -8.810457587242126465e-01 2.679738700389862061e-01 1.895424872636795044e-01 1.000000000000000000e+00 -8.855055570602416992e-01 2.773548662662506104e-01 1.938485205173492432e-01 1.000000000000000000e+00 -8.899654150009155273e-01 2.867358624935150146e-01 1.981545537710189819e-01 1.000000000000000000e+00 -8.944252133369445801e-01 2.961168885231018066e-01 2.024605870246887207e-01 1.000000000000000000e+00 -8.988850712776184082e-01 3.054978847503662109e-01 2.067666351795196533e-01 1.000000000000000000e+00 -9.033448696136474609e-01 3.148788809776306152e-01 2.110726684331893921e-01 1.000000000000000000e+00 -9.078046679496765137e-01 3.242599070072174072e-01 2.153787016868591309e-01 1.000000000000000000e+00 -9.122645258903503418e-01 3.336409032344818115e-01 2.196847349405288696e-01 1.000000000000000000e+00 -9.167243242263793945e-01 3.430219292640686035e-01 2.239907681941986084e-01 1.000000000000000000e+00 -9.211841821670532227e-01 3.524029254913330078e-01 2.282968163490295410e-01 1.000000000000000000e+00 -9.256439805030822754e-01 3.617839217185974121e-01 2.326028496026992798e-01 1.000000000000000000e+00 -9.301037788391113281e-01 3.711649477481842041e-01 2.369088828563690186e-01 1.000000000000000000e+00 -9.345636367797851562e-01 3.805459439754486084e-01 2.412149161100387573e-01 1.000000000000000000e+00 -9.390234351158142090e-01 3.899269402027130127e-01 2.455209493637084961e-01 1.000000000000000000e+00 -9.434832930564880371e-01 3.993079662322998047e-01 2.498269826173782349e-01 1.000000000000000000e+00 -9.479430913925170898e-01 4.086889624595642090e-01 2.541330158710479736e-01 1.000000000000000000e+00 -9.524029493331909180e-01 4.180699586868286133e-01 2.584390640258789062e-01 1.000000000000000000e+00 -9.568627476692199707e-01 4.274509847164154053e-01 2.627451121807098389e-01 1.000000000000000000e+00 -9.582468271255493164e-01 4.374471306800842285e-01 2.673587203025817871e-01 1.000000000000000000e+00 -9.596309065818786621e-01 4.474432766437530518e-01 2.719723284244537354e-01 1.000000000000000000e+00 -9.610149860382080078e-01 4.574394524097442627e-01 2.765859365463256836e-01 1.000000000000000000e+00 -9.623990654945373535e-01 4.674355983734130859e-01 2.811995446681976318e-01 1.000000000000000000e+00 -9.637831449508666992e-01 4.774317443370819092e-01 2.858131527900695801e-01 1.000000000000000000e+00 -9.651672244071960449e-01 4.874279201030731201e-01 2.904267609119415283e-01 1.000000000000000000e+00 -9.665513038635253906e-01 4.974240660667419434e-01 2.950403690338134766e-01 1.000000000000000000e+00 -9.679353833198547363e-01 5.074202418327331543e-01 2.996539771556854248e-01 1.000000000000000000e+00 -9.693194627761840820e-01 5.174163579940795898e-01 3.042675852775573730e-01 1.000000000000000000e+00 -9.707036018371582031e-01 5.274125337600708008e-01 3.088811933994293213e-01 1.000000000000000000e+00 -9.720876812934875488e-01 5.374087095260620117e-01 3.134948015213012695e-01 1.000000000000000000e+00 -9.734717607498168945e-01 5.474048256874084473e-01 3.181084096431732178e-01 1.000000000000000000e+00 -9.748558402061462402e-01 5.574010014533996582e-01 3.227220177650451660e-01 1.000000000000000000e+00 -9.762399196624755859e-01 5.673971772193908691e-01 3.273356258869171143e-01 1.000000000000000000e+00 -9.776239991188049316e-01 5.773932933807373047e-01 3.319492638111114502e-01 1.000000000000000000e+00 -9.790080785751342773e-01 5.873894691467285156e-01 3.365628719329833984e-01 1.000000000000000000e+00 -9.803921580314636230e-01 5.973856449127197266e-01 3.411764800548553467e-01 1.000000000000000000e+00 -9.817762374877929688e-01 6.073817610740661621e-01 3.457900881767272949e-01 1.000000000000000000e+00 -9.831603169441223145e-01 6.173779368400573730e-01 3.504036962985992432e-01 1.000000000000000000e+00 -9.845443964004516602e-01 6.273741126060485840e-01 3.550173044204711914e-01 1.000000000000000000e+00 -9.859284758567810059e-01 6.373702287673950195e-01 3.596309125423431396e-01 1.000000000000000000e+00 -9.873125553131103516e-01 6.473664045333862305e-01 3.642445206642150879e-01 1.000000000000000000e+00 -9.886966347694396973e-01 6.573625802993774414e-01 3.688581287860870361e-01 1.000000000000000000e+00 -9.900807142257690430e-01 6.673586964607238770e-01 3.734717369079589844e-01 1.000000000000000000e+00 -9.914647936820983887e-01 6.773548722267150879e-01 3.780853450298309326e-01 1.000000000000000000e+00 -9.922337532043457031e-01 6.861976385116577148e-01 3.840061426162719727e-01 1.000000000000000000e+00 -9.923875331878662109e-01 6.938869953155517578e-01 3.912341296672821045e-01 1.000000000000000000e+00 -9.925413131713867188e-01 7.015762925148010254e-01 3.984621167182922363e-01 1.000000000000000000e+00 -9.926950931549072266e-01 7.092656493186950684e-01 4.056901335716247559e-01 1.000000000000000000e+00 -9.928489327430725098e-01 7.169550061225891113e-01 4.129181206226348877e-01 1.000000000000000000e+00 -9.930027127265930176e-01 7.246443629264831543e-01 4.201461076736450195e-01 1.000000000000000000e+00 -9.931564927101135254e-01 7.323337197303771973e-01 4.273740947246551514e-01 1.000000000000000000e+00 -9.933102726936340332e-01 7.400230765342712402e-01 4.346020817756652832e-01 1.000000000000000000e+00 -9.934640526771545410e-01 7.477124333381652832e-01 4.418300688266754150e-01 1.000000000000000000e+00 -9.936178326606750488e-01 7.554017901420593262e-01 4.490580558776855469e-01 1.000000000000000000e+00 -9.937716126441955566e-01 7.630911469459533691e-01 4.562860429286956787e-01 1.000000000000000000e+00 -9.939253926277160645e-01 7.707804441452026367e-01 4.635140299797058105e-01 1.000000000000000000e+00 -9.940791726112365723e-01 7.784698009490966797e-01 4.707420170307159424e-01 1.000000000000000000e+00 -9.942330121994018555e-01 7.861591577529907227e-01 4.779700040817260742e-01 1.000000000000000000e+00 -9.943867921829223633e-01 7.938485145568847656e-01 4.851979911327362061e-01 1.000000000000000000e+00 -9.945405721664428711e-01 8.015378713607788086e-01 4.924259781837463379e-01 1.000000000000000000e+00 -9.946943521499633789e-01 8.092272281646728516e-01 4.996539652347564697e-01 1.000000000000000000e+00 -9.948481321334838867e-01 8.169165849685668945e-01 5.068819522857666016e-01 1.000000000000000000e+00 -9.950019121170043945e-01 8.246059417724609375e-01 5.141099691390991211e-01 1.000000000000000000e+00 -9.951556921005249023e-01 8.322952985763549805e-01 5.213379263877868652e-01 1.000000000000000000e+00 -9.953094720840454102e-01 8.399845957756042480e-01 5.285659432411193848e-01 1.000000000000000000e+00 -9.954633116722106934e-01 8.476739525794982910e-01 5.357939004898071289e-01 1.000000000000000000e+00 -9.956170916557312012e-01 8.553633093833923340e-01 5.430219173431396484e-01 1.000000000000000000e+00 -9.957708716392517090e-01 8.630526661872863770e-01 5.502498745918273926e-01 1.000000000000000000e+00 -9.959246516227722168e-01 8.707420229911804199e-01 5.574778914451599121e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.784313797950744629e-01 5.647059082984924316e-01 1.000000000000000000e+00 -9.962322115898132324e-01 8.831987977027893066e-01 5.719338655471801758e-01 1.000000000000000000e+00 -9.963859915733337402e-01 8.879661560058593750e-01 5.791618824005126953e-01 1.000000000000000000e+00 -9.965397715568542480e-01 8.927335739135742188e-01 5.863898396492004395e-01 1.000000000000000000e+00 -9.966935515403747559e-01 8.975009322166442871e-01 5.936178565025329590e-01 1.000000000000000000e+00 -9.968473911285400391e-01 9.022683501243591309e-01 6.008458137512207031e-01 1.000000000000000000e+00 -9.970011711120605469e-01 9.070357680320739746e-01 6.080738306045532227e-01 1.000000000000000000e+00 -9.971549510955810547e-01 9.118031263351440430e-01 6.153017878532409668e-01 1.000000000000000000e+00 -9.973087310791015625e-01 9.165705442428588867e-01 6.225298047065734863e-01 1.000000000000000000e+00 -9.974625110626220703e-01 9.213379621505737305e-01 6.297577619552612305e-01 1.000000000000000000e+00 -9.976162910461425781e-01 9.261053204536437988e-01 6.369857788085937500e-01 1.000000000000000000e+00 -9.977700710296630859e-01 9.308727383613586426e-01 6.442137360572814941e-01 1.000000000000000000e+00 -9.979238510131835938e-01 9.356401562690734863e-01 6.514417529106140137e-01 1.000000000000000000e+00 -9.980776906013488770e-01 9.404075145721435547e-01 6.586697697639465332e-01 1.000000000000000000e+00 -9.982314705848693848e-01 9.451749324798583984e-01 6.658977270126342773e-01 1.000000000000000000e+00 -9.983852505683898926e-01 9.499423503875732422e-01 6.731257438659667969e-01 1.000000000000000000e+00 -9.985390305519104004e-01 9.547097086906433105e-01 6.803537011146545410e-01 1.000000000000000000e+00 -9.986928105354309082e-01 9.594771265983581543e-01 6.875817179679870605e-01 1.000000000000000000e+00 -9.988465905189514160e-01 9.642445445060729980e-01 6.948096752166748047e-01 1.000000000000000000e+00 -9.990003705024719238e-01 9.690119028091430664e-01 7.020376920700073242e-01 1.000000000000000000e+00 -9.991541504859924316e-01 9.737793207168579102e-01 7.092656493186950684e-01 1.000000000000000000e+00 -9.993079304695129395e-01 9.785467386245727539e-01 7.164936661720275879e-01 1.000000000000000000e+00 -9.994617700576782227e-01 9.833140969276428223e-01 7.237216234207153320e-01 1.000000000000000000e+00 -9.996155500411987305e-01 9.880815148353576660e-01 7.309496402740478516e-01 1.000000000000000000e+00 -9.997693300247192383e-01 9.928489327430725098e-01 7.381775975227355957e-01 1.000000000000000000e+00 -9.999231100082397461e-01 9.976162910461425781e-01 7.454056143760681152e-01 1.000000000000000000e+00 -9.976162910461425781e-01 9.990772604942321777e-01 7.534025311470031738e-01 1.000000000000000000e+00 -9.928489327430725098e-01 9.972318410873413086e-01 7.621684074401855469e-01 1.000000000000000000e+00 -9.880815148353576660e-01 9.953863620758056641e-01 7.709342837333679199e-01 1.000000000000000000e+00 -9.833140969276428223e-01 9.935409426689147949e-01 7.797001004219055176e-01 1.000000000000000000e+00 -9.785467386245727539e-01 9.916955232620239258e-01 7.884659767150878906e-01 1.000000000000000000e+00 -9.737793207168579102e-01 9.898500442504882812e-01 7.972318530082702637e-01 1.000000000000000000e+00 -9.690119028091430664e-01 9.880046248435974121e-01 8.059976696968078613e-01 1.000000000000000000e+00 -9.642445445060729980e-01 9.861591458320617676e-01 8.147635459899902344e-01 1.000000000000000000e+00 -9.594771265983581543e-01 9.843137264251708984e-01 8.235294222831726074e-01 1.000000000000000000e+00 -9.547097086906433105e-01 9.824683070182800293e-01 8.322952985763549805e-01 1.000000000000000000e+00 -9.499423503875732422e-01 9.806228280067443848e-01 8.410611152648925781e-01 1.000000000000000000e+00 -9.451749324798583984e-01 9.787774085998535156e-01 8.498269915580749512e-01 1.000000000000000000e+00 -9.404075145721435547e-01 9.769319295883178711e-01 8.585928678512573242e-01 1.000000000000000000e+00 -9.356401562690734863e-01 9.750865101814270020e-01 8.673586845397949219e-01 1.000000000000000000e+00 -9.308727383613586426e-01 9.732410907745361328e-01 8.761245608329772949e-01 1.000000000000000000e+00 -9.261053204536437988e-01 9.713956117630004883e-01 8.848904371261596680e-01 1.000000000000000000e+00 -9.213379621505737305e-01 9.695501923561096191e-01 8.936563134193420410e-01 1.000000000000000000e+00 -9.165705442428588867e-01 9.677047133445739746e-01 9.024221301078796387e-01 1.000000000000000000e+00 -9.118031263351440430e-01 9.658592939376831055e-01 9.111880064010620117e-01 1.000000000000000000e+00 -9.070357680320739746e-01 9.640138149261474609e-01 9.199538826942443848e-01 1.000000000000000000e+00 -9.022683501243591309e-01 9.621683955192565918e-01 9.287196993827819824e-01 1.000000000000000000e+00 -8.975009322166442871e-01 9.603229761123657227e-01 9.374855756759643555e-01 1.000000000000000000e+00 -8.927335739135742188e-01 9.584774971008300781e-01 9.462514519691467285e-01 1.000000000000000000e+00 -8.879661560058593750e-01 9.566320776939392090e-01 9.550173282623291016e-01 1.000000000000000000e+00 -8.831987977027893066e-01 9.547865986824035645e-01 9.637831449508666992e-01 1.000000000000000000e+00 -8.784313797950744629e-01 9.529411792755126953e-01 9.725490212440490723e-01 1.000000000000000000e+00 -8.702806830406188965e-01 9.489427208900451660e-01 9.702422022819519043e-01 1.000000000000000000e+00 -8.621299266815185547e-01 9.449442625045776367e-01 9.679353833198547363e-01 1.000000000000000000e+00 -8.539792299270629883e-01 9.409458041191101074e-01 9.656286239624023438e-01 1.000000000000000000e+00 -8.458285331726074219e-01 9.369473457336425781e-01 9.633218050003051758e-01 1.000000000000000000e+00 -8.376778364181518555e-01 9.329488873481750488e-01 9.610149860382080078e-01 1.000000000000000000e+00 -8.295270800590515137e-01 9.289504289627075195e-01 9.587081670761108398e-01 1.000000000000000000e+00 -8.213763833045959473e-01 9.249519705772399902e-01 9.564014077186584473e-01 1.000000000000000000e+00 -8.132256865501403809e-01 9.209534525871276855e-01 9.540945887565612793e-01 1.000000000000000000e+00 -8.050749897956848145e-01 9.169549942016601562e-01 9.517877697944641113e-01 1.000000000000000000e+00 -7.969242334365844727e-01 9.129565358161926270e-01 9.494809508323669434e-01 1.000000000000000000e+00 -7.887735366821289062e-01 9.089580774307250977e-01 9.471741914749145508e-01 1.000000000000000000e+00 -7.806228399276733398e-01 9.049596190452575684e-01 9.448673725128173828e-01 1.000000000000000000e+00 -7.724721431732177734e-01 9.009611606597900391e-01 9.425605535507202148e-01 1.000000000000000000e+00 -7.643213868141174316e-01 8.969627022743225098e-01 9.402537345886230469e-01 1.000000000000000000e+00 -7.561706900596618652e-01 8.929642438888549805e-01 9.379469156265258789e-01 1.000000000000000000e+00 -7.480199933052062988e-01 8.889657855033874512e-01 9.356401562690734863e-01 1.000000000000000000e+00 -7.398692965507507324e-01 8.849673271179199219e-01 9.333333373069763184e-01 1.000000000000000000e+00 -7.317185401916503906e-01 8.809688687324523926e-01 9.310265183448791504e-01 1.000000000000000000e+00 -7.235678434371948242e-01 8.769704103469848633e-01 9.287196993827819824e-01 1.000000000000000000e+00 -7.154171466827392578e-01 8.729719519615173340e-01 9.264129400253295898e-01 1.000000000000000000e+00 -7.072664499282836914e-01 8.689734935760498047e-01 9.241061210632324219e-01 1.000000000000000000e+00 -6.991157531738281250e-01 8.649750351905822754e-01 9.217993021011352539e-01 1.000000000000000000e+00 -6.909649968147277832e-01 8.609765768051147461e-01 9.194924831390380859e-01 1.000000000000000000e+00 -6.828143000602722168e-01 8.569780588150024414e-01 9.171857237815856934e-01 1.000000000000000000e+00 -6.746636033058166504e-01 8.529796004295349121e-01 9.148789048194885254e-01 1.000000000000000000e+00 -6.663590669631958008e-01 8.475970625877380371e-01 9.118800759315490723e-01 1.000000000000000000e+00 -6.579008102416992188e-01 8.408304452896118164e-01 9.081891775131225586e-01 1.000000000000000000e+00 -6.494424939155578613e-01 8.340638279914855957e-01 9.044982790946960449e-01 1.000000000000000000e+00 -6.409842371940612793e-01 8.272972106933593750e-01 9.008073806762695312e-01 1.000000000000000000e+00 -6.325259804725646973e-01 8.205305933952331543e-01 8.971164822578430176e-01 1.000000000000000000e+00 -6.240676641464233398e-01 8.137639164924621582e-01 8.934255838394165039e-01 1.000000000000000000e+00 -6.156094074249267578e-01 8.069972991943359375e-01 8.897347450256347656e-01 1.000000000000000000e+00 -6.071510910987854004e-01 8.002306818962097168e-01 8.860438466072082520e-01 1.000000000000000000e+00 -5.986928343772888184e-01 7.934640645980834961e-01 8.823529481887817383e-01 1.000000000000000000e+00 -5.902345180511474609e-01 7.866974472999572754e-01 8.786620497703552246e-01 1.000000000000000000e+00 -5.817762613296508789e-01 7.799307703971862793e-01 8.749711513519287109e-01 1.000000000000000000e+00 -5.733179450035095215e-01 7.731641530990600586e-01 8.712802529335021973e-01 1.000000000000000000e+00 -5.648596882820129395e-01 7.663975358009338379e-01 8.675894141197204590e-01 1.000000000000000000e+00 -5.564013719558715820e-01 7.596309185028076172e-01 8.638985157012939453e-01 1.000000000000000000e+00 -5.479431152343750000e-01 7.528643012046813965e-01 8.602076172828674316e-01 1.000000000000000000e+00 -5.394847989082336426e-01 7.460976839065551758e-01 8.565167188644409180e-01 1.000000000000000000e+00 -5.310265421867370605e-01 7.393310070037841797e-01 8.528258204460144043e-01 1.000000000000000000e+00 -5.225682258605957031e-01 7.325643897056579590e-01 8.491349220275878906e-01 1.000000000000000000e+00 -5.141099691390991211e-01 7.257977724075317383e-01 8.454440832138061523e-01 1.000000000000000000e+00 -5.056516528129577637e-01 7.190311551094055176e-01 8.417531847953796387e-01 1.000000000000000000e+00 -4.971933960914611816e-01 7.122645378112792969e-01 8.380622863769531250e-01 1.000000000000000000e+00 -4.887351095676422119e-01 7.054978609085083008e-01 8.343713879585266113e-01 1.000000000000000000e+00 -4.802768230438232422e-01 6.987312436103820801e-01 8.306804895401000977e-01 1.000000000000000000e+00 -4.718185365200042725e-01 6.919646263122558594e-01 8.269895911216735840e-01 1.000000000000000000e+00 -4.633602499961853027e-01 6.851980090141296387e-01 8.232987523078918457e-01 1.000000000000000000e+00 -4.549019634723663330e-01 6.784313917160034180e-01 8.196078538894653320e-01 1.000000000000000000e+00 -4.476739764213562012e-01 6.698192954063415527e-01 8.151479959487915039e-01 1.000000000000000000e+00 -4.404459893703460693e-01 6.612071990966796875e-01 8.106881976127624512e-01 1.000000000000000000e+00 -4.332180023193359375e-01 6.525951623916625977e-01 8.062283992767333984e-01 1.000000000000000000e+00 -4.259900152683258057e-01 6.439830660820007324e-01 8.017685413360595703e-01 1.000000000000000000e+00 -4.187620282173156738e-01 6.353710293769836426e-01 7.973087430000305176e-01 1.000000000000000000e+00 -4.115340113639831543e-01 6.267589330673217773e-01 7.928488850593566895e-01 1.000000000000000000e+00 -4.043060243129730225e-01 6.181468963623046875e-01 7.883890867233276367e-01 1.000000000000000000e+00 -3.970780372619628906e-01 6.095348000526428223e-01 7.839292287826538086e-01 1.000000000000000000e+00 -3.898500502109527588e-01 6.009227037429809570e-01 7.794694304466247559e-01 1.000000000000000000e+00 -3.826220631599426270e-01 5.923106670379638672e-01 7.750096321105957031e-01 1.000000000000000000e+00 -3.753940761089324951e-01 5.836985707283020020e-01 7.705497741699218750e-01 1.000000000000000000e+00 -3.681660890579223633e-01 5.750865340232849121e-01 7.660899758338928223e-01 1.000000000000000000e+00 -3.609381020069122314e-01 5.664744377136230469e-01 7.616301178932189941e-01 1.000000000000000000e+00 -3.537101149559020996e-01 5.578623414039611816e-01 7.571703195571899414e-01 1.000000000000000000e+00 -3.464821279048919678e-01 5.492503046989440918e-01 7.527105212211608887e-01 1.000000000000000000e+00 -3.392541408538818359e-01 5.406382083892822266e-01 7.482506632804870605e-01 1.000000000000000000e+00 -3.320261538028717041e-01 5.320261716842651367e-01 7.437908649444580078e-01 1.000000000000000000e+00 -3.247981667518615723e-01 5.234140753746032715e-01 7.393310070037841797e-01 1.000000000000000000e+00 -3.175701797008514404e-01 5.148019790649414062e-01 7.348712086677551270e-01 1.000000000000000000e+00 -3.103421628475189209e-01 5.061899423599243164e-01 7.304113507270812988e-01 1.000000000000000000e+00 -3.031141757965087891e-01 4.975778460502624512e-01 7.259515523910522461e-01 1.000000000000000000e+00 -2.958861887454986572e-01 4.889657795429229736e-01 7.214917540550231934e-01 1.000000000000000000e+00 -2.886582016944885254e-01 4.803537130355834961e-01 7.170318961143493652e-01 1.000000000000000000e+00 -2.814302146434783936e-01 4.717416465282440186e-01 7.125720977783203125e-01 1.000000000000000000e+00 -2.742022275924682617e-01 4.631295800209045410e-01 7.081122398376464844e-01 1.000000000000000000e+00 -2.690503597259521484e-01 4.539792239665985107e-01 7.034986615180969238e-01 1.000000000000000000e+00 -2.659746110439300537e-01 4.442906677722930908e-01 6.987312436103820801e-01 1.000000000000000000e+00 -2.628988921642303467e-01 4.346020817756652832e-01 6.939638853073120117e-01 1.000000000000000000e+00 -2.598231434822082520e-01 4.249134957790374756e-01 6.891964673995971680e-01 1.000000000000000000e+00 -2.567473948001861572e-01 4.152249097824096680e-01 6.844290494918823242e-01 1.000000000000000000e+00 -2.536716759204864502e-01 4.055363237857818604e-01 6.796616911888122559e-01 1.000000000000000000e+00 -2.505959272384643555e-01 3.958477377891540527e-01 6.748942732810974121e-01 1.000000000000000000e+00 -2.475201785564422607e-01 3.861591815948486328e-01 6.701268553733825684e-01 1.000000000000000000e+00 -2.444444447755813599e-01 3.764705955982208252e-01 6.653594970703125000e-01 1.000000000000000000e+00 -2.413687109947204590e-01 3.667820096015930176e-01 6.605920791625976562e-01 1.000000000000000000e+00 -2.382929623126983643e-01 3.570934236049652100e-01 6.558246612548828125e-01 1.000000000000000000e+00 -2.352172285318374634e-01 3.474048376083374023e-01 6.510573029518127441e-01 1.000000000000000000e+00 -2.321414798498153687e-01 3.377162516117095947e-01 6.462898850440979004e-01 1.000000000000000000e+00 -2.290657460689544678e-01 3.280276954174041748e-01 6.415224671363830566e-01 1.000000000000000000e+00 -2.259899973869323730e-01 3.183391094207763672e-01 6.367551088333129883e-01 1.000000000000000000e+00 -2.229142636060714722e-01 3.086505234241485596e-01 6.319876909255981445e-01 1.000000000000000000e+00 -2.198385298252105713e-01 2.989619374275207520e-01 6.272202730178833008e-01 1.000000000000000000e+00 -2.167627811431884766e-01 2.892733514308929443e-01 6.224529147148132324e-01 1.000000000000000000e+00 -2.136870473623275757e-01 2.795847654342651367e-01 6.176854968070983887e-01 1.000000000000000000e+00 -2.106112986803054810e-01 2.698961794376373291e-01 6.129180788993835449e-01 1.000000000000000000e+00 -2.075355648994445801e-01 2.602076232433319092e-01 6.081507205963134766e-01 1.000000000000000000e+00 -2.044598162174224854e-01 2.505190372467041016e-01 6.033833026885986328e-01 1.000000000000000000e+00 -2.013840824365615845e-01 2.408304512500762939e-01 5.986159443855285645e-01 1.000000000000000000e+00 -1.983083486557006836e-01 2.311418652534484863e-01 5.938485264778137207e-01 1.000000000000000000e+00 -1.952325999736785889e-01 2.214532941579818726e-01 5.890811085700988770e-01 1.000000000000000000e+00 -1.921568661928176880e-01 2.117647081613540649e-01 5.843137502670288086e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/RdYlGn b/fastplotlib/utils/colormaps/RdYlGn deleted file mode 100644 index bfe5c3ef1..000000000 --- a/fastplotlib/utils/colormaps/RdYlGn +++ /dev/null @@ -1,256 +0,0 @@ -6.470588445663452148e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -6.547482013702392578e-01 7.381776347756385803e-03 1.491733938455581665e-01 1.000000000000000000e+00 -6.624374985694885254e-01 1.476355269551277161e-02 1.493271887302398682e-01 1.000000000000000000e+00 -6.701268553733825684e-01 2.214532904326915741e-02 1.494809687137603760e-01 1.000000000000000000e+00 -6.778162121772766113e-01 2.952710539102554321e-02 1.496347486972808838e-01 1.000000000000000000e+00 -6.855055689811706543e-01 3.690887987613677979e-02 1.497885435819625854e-01 1.000000000000000000e+00 -6.931949257850646973e-01 4.429065808653831482e-02 1.499423235654830933e-01 1.000000000000000000e+00 -7.008842825889587402e-01 5.167243257164955139e-02 1.500961184501647949e-01 1.000000000000000000e+00 -7.085736393928527832e-01 5.905421078205108643e-02 1.502498984336853027e-01 1.000000000000000000e+00 -7.162629961967468262e-01 6.643598526716232300e-02 1.504036933183670044e-01 1.000000000000000000e+00 -7.239523530006408691e-01 7.381775975227355957e-02 1.505574733018875122e-01 1.000000000000000000e+00 -7.316416501998901367e-01 8.119954168796539307e-02 1.507112681865692139e-01 1.000000000000000000e+00 -7.393310070037841797e-01 8.858131617307662964e-02 1.508650481700897217e-01 1.000000000000000000e+00 -7.470203638076782227e-01 9.596309065818786621e-02 1.510188430547714233e-01 1.000000000000000000e+00 -7.547097206115722656e-01 1.033448651432991028e-01 1.511726230382919312e-01 1.000000000000000000e+00 -7.623990774154663086e-01 1.107266470789909363e-01 1.513264179229736328e-01 1.000000000000000000e+00 -7.700884342193603516e-01 1.181084215641021729e-01 1.514801979064941406e-01 1.000000000000000000e+00 -7.777777910232543945e-01 1.254902034997940063e-01 1.516339927911758423e-01 1.000000000000000000e+00 -7.854671478271484375e-01 1.328719705343246460e-01 1.517877727746963501e-01 1.000000000000000000e+00 -7.931565046310424805e-01 1.402537524700164795e-01 1.519415676593780518e-01 1.000000000000000000e+00 -8.008458018302917480e-01 1.476355195045471191e-01 1.520953476428985596e-01 1.000000000000000000e+00 -8.085351586341857910e-01 1.550173014402389526e-01 1.522491276264190674e-01 1.000000000000000000e+00 -8.162245154380798340e-01 1.623990833759307861e-01 1.524029225111007690e-01 1.000000000000000000e+00 -8.239138722419738770e-01 1.697808504104614258e-01 1.525567024946212769e-01 1.000000000000000000e+00 -8.316032290458679199e-01 1.771626323461532593e-01 1.527104973793029785e-01 1.000000000000000000e+00 -8.392925858497619629e-01 1.845443993806838989e-01 1.528642773628234863e-01 1.000000000000000000e+00 -8.453671932220458984e-01 1.929257959127426147e-01 1.550941914319992065e-01 1.000000000000000000e+00 -8.498269915580749512e-01 2.023068070411682129e-01 1.594002246856689453e-01 1.000000000000000000e+00 -8.542867898941040039e-01 2.116878181695938110e-01 1.637062728404998779e-01 1.000000000000000000e+00 -8.587466478347778320e-01 2.210688143968582153e-01 1.680123060941696167e-01 1.000000000000000000e+00 -8.632064461708068848e-01 2.304498255252838135e-01 1.723183393478393555e-01 1.000000000000000000e+00 -8.676663041114807129e-01 2.398308366537094116e-01 1.766243726015090942e-01 1.000000000000000000e+00 -8.721261024475097656e-01 2.492118477821350098e-01 1.809304058551788330e-01 1.000000000000000000e+00 -8.765859007835388184e-01 2.585928440093994141e-01 1.852364540100097656e-01 1.000000000000000000e+00 -8.810457587242126465e-01 2.679738700389862061e-01 1.895424872636795044e-01 1.000000000000000000e+00 -8.855055570602416992e-01 2.773548662662506104e-01 1.938485205173492432e-01 1.000000000000000000e+00 -8.899654150009155273e-01 2.867358624935150146e-01 1.981545537710189819e-01 1.000000000000000000e+00 -8.944252133369445801e-01 2.961168885231018066e-01 2.024605870246887207e-01 1.000000000000000000e+00 -8.988850712776184082e-01 3.054978847503662109e-01 2.067666351795196533e-01 1.000000000000000000e+00 -9.033448696136474609e-01 3.148788809776306152e-01 2.110726684331893921e-01 1.000000000000000000e+00 -9.078046679496765137e-01 3.242599070072174072e-01 2.153787016868591309e-01 1.000000000000000000e+00 -9.122645258903503418e-01 3.336409032344818115e-01 2.196847349405288696e-01 1.000000000000000000e+00 -9.167243242263793945e-01 3.430219292640686035e-01 2.239907681941986084e-01 1.000000000000000000e+00 -9.211841821670532227e-01 3.524029254913330078e-01 2.282968163490295410e-01 1.000000000000000000e+00 -9.256439805030822754e-01 3.617839217185974121e-01 2.326028496026992798e-01 1.000000000000000000e+00 -9.301037788391113281e-01 3.711649477481842041e-01 2.369088828563690186e-01 1.000000000000000000e+00 -9.345636367797851562e-01 3.805459439754486084e-01 2.412149161100387573e-01 1.000000000000000000e+00 -9.390234351158142090e-01 3.899269402027130127e-01 2.455209493637084961e-01 1.000000000000000000e+00 -9.434832930564880371e-01 3.993079662322998047e-01 2.498269826173782349e-01 1.000000000000000000e+00 -9.479430913925170898e-01 4.086889624595642090e-01 2.541330158710479736e-01 1.000000000000000000e+00 -9.524029493331909180e-01 4.180699586868286133e-01 2.584390640258789062e-01 1.000000000000000000e+00 -9.568627476692199707e-01 4.274509847164154053e-01 2.627451121807098389e-01 1.000000000000000000e+00 -9.582468271255493164e-01 4.374471306800842285e-01 2.673587203025817871e-01 1.000000000000000000e+00 -9.596309065818786621e-01 4.474432766437530518e-01 2.719723284244537354e-01 1.000000000000000000e+00 -9.610149860382080078e-01 4.574394524097442627e-01 2.765859365463256836e-01 1.000000000000000000e+00 -9.623990654945373535e-01 4.674355983734130859e-01 2.811995446681976318e-01 1.000000000000000000e+00 -9.637831449508666992e-01 4.774317443370819092e-01 2.858131527900695801e-01 1.000000000000000000e+00 -9.651672244071960449e-01 4.874279201030731201e-01 2.904267609119415283e-01 1.000000000000000000e+00 -9.665513038635253906e-01 4.974240660667419434e-01 2.950403690338134766e-01 1.000000000000000000e+00 -9.679353833198547363e-01 5.074202418327331543e-01 2.996539771556854248e-01 1.000000000000000000e+00 -9.693194627761840820e-01 5.174163579940795898e-01 3.042675852775573730e-01 1.000000000000000000e+00 -9.707036018371582031e-01 5.274125337600708008e-01 3.088811933994293213e-01 1.000000000000000000e+00 -9.720876812934875488e-01 5.374087095260620117e-01 3.134948015213012695e-01 1.000000000000000000e+00 -9.734717607498168945e-01 5.474048256874084473e-01 3.181084096431732178e-01 1.000000000000000000e+00 -9.748558402061462402e-01 5.574010014533996582e-01 3.227220177650451660e-01 1.000000000000000000e+00 -9.762399196624755859e-01 5.673971772193908691e-01 3.273356258869171143e-01 1.000000000000000000e+00 -9.776239991188049316e-01 5.773932933807373047e-01 3.319492638111114502e-01 1.000000000000000000e+00 -9.790080785751342773e-01 5.873894691467285156e-01 3.365628719329833984e-01 1.000000000000000000e+00 -9.803921580314636230e-01 5.973856449127197266e-01 3.411764800548553467e-01 1.000000000000000000e+00 -9.817762374877929688e-01 6.073817610740661621e-01 3.457900881767272949e-01 1.000000000000000000e+00 -9.831603169441223145e-01 6.173779368400573730e-01 3.504036962985992432e-01 1.000000000000000000e+00 -9.845443964004516602e-01 6.273741126060485840e-01 3.550173044204711914e-01 1.000000000000000000e+00 -9.859284758567810059e-01 6.373702287673950195e-01 3.596309125423431396e-01 1.000000000000000000e+00 -9.873125553131103516e-01 6.473664045333862305e-01 3.642445206642150879e-01 1.000000000000000000e+00 -9.886966347694396973e-01 6.573625802993774414e-01 3.688581287860870361e-01 1.000000000000000000e+00 -9.900807142257690430e-01 6.673586964607238770e-01 3.734717369079589844e-01 1.000000000000000000e+00 -9.914647936820983887e-01 6.773548722267150879e-01 3.780853450298309326e-01 1.000000000000000000e+00 -9.922337532043457031e-01 6.861976385116577148e-01 3.836216926574707031e-01 1.000000000000000000e+00 -9.923875331878662109e-01 6.938869953155517578e-01 3.900807499885559082e-01 1.000000000000000000e+00 -9.925413131713867188e-01 7.015762925148010254e-01 3.965397775173187256e-01 1.000000000000000000e+00 -9.926950931549072266e-01 7.092656493186950684e-01 4.029988348484039307e-01 1.000000000000000000e+00 -9.928489327430725098e-01 7.169550061225891113e-01 4.094578921794891357e-01 1.000000000000000000e+00 -9.930027127265930176e-01 7.246443629264831543e-01 4.159169495105743408e-01 1.000000000000000000e+00 -9.931564927101135254e-01 7.323337197303771973e-01 4.223760068416595459e-01 1.000000000000000000e+00 -9.933102726936340332e-01 7.400230765342712402e-01 4.288350641727447510e-01 1.000000000000000000e+00 -9.934640526771545410e-01 7.477124333381652832e-01 4.352941215038299561e-01 1.000000000000000000e+00 -9.936178326606750488e-01 7.554017901420593262e-01 4.417531788349151611e-01 1.000000000000000000e+00 -9.937716126441955566e-01 7.630911469459533691e-01 4.482122361660003662e-01 1.000000000000000000e+00 -9.939253926277160645e-01 7.707804441452026367e-01 4.546712934970855713e-01 1.000000000000000000e+00 -9.940791726112365723e-01 7.784698009490966797e-01 4.611303210258483887e-01 1.000000000000000000e+00 -9.942330121994018555e-01 7.861591577529907227e-01 4.675893783569335938e-01 1.000000000000000000e+00 -9.943867921829223633e-01 7.938485145568847656e-01 4.740484356880187988e-01 1.000000000000000000e+00 -9.945405721664428711e-01 8.015378713607788086e-01 4.805074930191040039e-01 1.000000000000000000e+00 -9.946943521499633789e-01 8.092272281646728516e-01 4.869665503501892090e-01 1.000000000000000000e+00 -9.948481321334838867e-01 8.169165849685668945e-01 4.934256076812744141e-01 1.000000000000000000e+00 -9.950019121170043945e-01 8.246059417724609375e-01 4.998846650123596191e-01 1.000000000000000000e+00 -9.951556921005249023e-01 8.322952985763549805e-01 5.063437223434448242e-01 1.000000000000000000e+00 -9.953094720840454102e-01 8.399845957756042480e-01 5.128027796745300293e-01 1.000000000000000000e+00 -9.954633116722106934e-01 8.476739525794982910e-01 5.192618370056152344e-01 1.000000000000000000e+00 -9.956170916557312012e-01 8.553633093833923340e-01 5.257208943367004395e-01 1.000000000000000000e+00 -9.957708716392517090e-01 8.630526661872863770e-01 5.321799516677856445e-01 1.000000000000000000e+00 -9.959246516227722168e-01 8.707420229911804199e-01 5.386390089988708496e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.784313797950744629e-01 5.450980663299560547e-01 1.000000000000000000e+00 -9.962322115898132324e-01 8.831987977027893066e-01 5.530949831008911133e-01 1.000000000000000000e+00 -9.963859915733337402e-01 8.879661560058593750e-01 5.610918998718261719e-01 1.000000000000000000e+00 -9.965397715568542480e-01 8.927335739135742188e-01 5.690888166427612305e-01 1.000000000000000000e+00 -9.966935515403747559e-01 8.975009322166442871e-01 5.770857334136962891e-01 1.000000000000000000e+00 -9.968473911285400391e-01 9.022683501243591309e-01 5.850826501846313477e-01 1.000000000000000000e+00 -9.970011711120605469e-01 9.070357680320739746e-01 5.930795669555664062e-01 1.000000000000000000e+00 -9.971549510955810547e-01 9.118031263351440430e-01 6.010764837265014648e-01 1.000000000000000000e+00 -9.973087310791015625e-01 9.165705442428588867e-01 6.090734601020812988e-01 1.000000000000000000e+00 -9.974625110626220703e-01 9.213379621505737305e-01 6.170703768730163574e-01 1.000000000000000000e+00 -9.976162910461425781e-01 9.261053204536437988e-01 6.250672936439514160e-01 1.000000000000000000e+00 -9.977700710296630859e-01 9.308727383613586426e-01 6.330642104148864746e-01 1.000000000000000000e+00 -9.979238510131835938e-01 9.356401562690734863e-01 6.410611271858215332e-01 1.000000000000000000e+00 -9.980776906013488770e-01 9.404075145721435547e-01 6.490580439567565918e-01 1.000000000000000000e+00 -9.982314705848693848e-01 9.451749324798583984e-01 6.570549607276916504e-01 1.000000000000000000e+00 -9.983852505683898926e-01 9.499423503875732422e-01 6.650518774986267090e-01 1.000000000000000000e+00 -9.985390305519104004e-01 9.547097086906433105e-01 6.730488538742065430e-01 1.000000000000000000e+00 -9.986928105354309082e-01 9.594771265983581543e-01 6.810457706451416016e-01 1.000000000000000000e+00 -9.988465905189514160e-01 9.642445445060729980e-01 6.890426874160766602e-01 1.000000000000000000e+00 -9.990003705024719238e-01 9.690119028091430664e-01 6.970396041870117188e-01 1.000000000000000000e+00 -9.991541504859924316e-01 9.737793207168579102e-01 7.050365209579467773e-01 1.000000000000000000e+00 -9.993079304695129395e-01 9.785467386245727539e-01 7.130334377288818359e-01 1.000000000000000000e+00 -9.994617700576782227e-01 9.833140969276428223e-01 7.210303544998168945e-01 1.000000000000000000e+00 -9.996155500411987305e-01 9.880815148353576660e-01 7.290272712707519531e-01 1.000000000000000000e+00 -9.997693300247192383e-01 9.928489327430725098e-01 7.370242476463317871e-01 1.000000000000000000e+00 -9.999231100082397461e-01 9.976162910461425781e-01 7.450211644172668457e-01 1.000000000000000000e+00 -9.970780611038208008e-01 9.987697005271911621e-01 7.450211644172668457e-01 1.000000000000000000e+00 -9.912341237068176270e-01 9.963091015815734863e-01 7.370242476463317871e-01 1.000000000000000000e+00 -9.853902459144592285e-01 9.938485026359558105e-01 7.290272712707519531e-01 1.000000000000000000e+00 -9.795463085174560547e-01 9.913879036903381348e-01 7.210303544998168945e-01 1.000000000000000000e+00 -9.737024307250976562e-01 9.889273643493652344e-01 7.130334377288818359e-01 1.000000000000000000e+00 -9.678584933280944824e-01 9.864667654037475586e-01 7.050365209579467773e-01 1.000000000000000000e+00 -9.620146155357360840e-01 9.840061664581298828e-01 6.970396041870117188e-01 1.000000000000000000e+00 -9.561706781387329102e-01 9.815455675125122070e-01 6.890426874160766602e-01 1.000000000000000000e+00 -9.503268003463745117e-01 9.790849685668945312e-01 6.810457706451416016e-01 1.000000000000000000e+00 -9.444828629493713379e-01 9.766243696212768555e-01 6.730488538742065430e-01 1.000000000000000000e+00 -9.386389851570129395e-01 9.741637706756591797e-01 6.650518774986267090e-01 1.000000000000000000e+00 -9.327951073646545410e-01 9.717031717300415039e-01 6.570549607276916504e-01 1.000000000000000000e+00 -9.269511699676513672e-01 9.692425727844238281e-01 6.490580439567565918e-01 1.000000000000000000e+00 -9.211072921752929688e-01 9.667820334434509277e-01 6.410611271858215332e-01 1.000000000000000000e+00 -9.152633547782897949e-01 9.643214344978332520e-01 6.330642104148864746e-01 1.000000000000000000e+00 -9.094194769859313965e-01 9.618608355522155762e-01 6.250672936439514160e-01 1.000000000000000000e+00 -9.035755395889282227e-01 9.594002366065979004e-01 6.170703768730163574e-01 1.000000000000000000e+00 -8.977316617965698242e-01 9.569396376609802246e-01 6.090734601020812988e-01 1.000000000000000000e+00 -8.918877243995666504e-01 9.544790387153625488e-01 6.010764837265014648e-01 1.000000000000000000e+00 -8.860438466072082520e-01 9.520184397697448730e-01 5.930795669555664062e-01 1.000000000000000000e+00 -8.801999092102050781e-01 9.495578408241271973e-01 5.850826501846313477e-01 1.000000000000000000e+00 -8.743560314178466797e-01 9.470972418785095215e-01 5.770857334136962891e-01 1.000000000000000000e+00 -8.685120940208435059e-01 9.446367025375366211e-01 5.690888166427612305e-01 1.000000000000000000e+00 -8.626682162284851074e-01 9.421761035919189453e-01 5.610918998718261719e-01 1.000000000000000000e+00 -8.568242788314819336e-01 9.397155046463012695e-01 5.530949831008911133e-01 1.000000000000000000e+00 -8.509804010391235352e-01 9.372549057006835938e-01 5.450980663299560547e-01 1.000000000000000000e+00 -8.431372642517089844e-01 9.338715672492980957e-01 5.400230884552001953e-01 1.000000000000000000e+00 -8.352941274642944336e-01 9.304882884025573730e-01 5.349481105804443359e-01 1.000000000000000000e+00 -8.274509906768798828e-01 9.271049499511718750e-01 5.298731327056884766e-01 1.000000000000000000e+00 -8.196078538894653320e-01 9.237216711044311523e-01 5.247981548309326172e-01 1.000000000000000000e+00 -8.117647171020507812e-01 9.203383326530456543e-01 5.197231769561767578e-01 1.000000000000000000e+00 -8.039215803146362305e-01 9.169549942016601562e-01 5.146481990814208984e-01 1.000000000000000000e+00 -7.960784435272216797e-01 9.135717153549194336e-01 5.095732212066650391e-01 1.000000000000000000e+00 -7.882353067398071289e-01 9.101883769035339355e-01 5.044982433319091797e-01 1.000000000000000000e+00 -7.803921699523925781e-01 9.068050980567932129e-01 4.994232952594757080e-01 1.000000000000000000e+00 -7.725490331649780273e-01 9.034217596054077148e-01 4.943483173847198486e-01 1.000000000000000000e+00 -7.647058963775634766e-01 9.000384211540222168e-01 4.892733693122863770e-01 1.000000000000000000e+00 -7.568627595901489258e-01 8.966551423072814941e-01 4.841983914375305176e-01 1.000000000000000000e+00 -7.490196228027343750e-01 8.932718038558959961e-01 4.791234135627746582e-01 1.000000000000000000e+00 -7.411764860153198242e-01 8.898885250091552734e-01 4.740484356880187988e-01 1.000000000000000000e+00 -7.333333492279052734e-01 8.865051865577697754e-01 4.689734578132629395e-01 1.000000000000000000e+00 -7.254902124404907227e-01 8.831218481063842773e-01 4.638985097408294678e-01 1.000000000000000000e+00 -7.176470756530761719e-01 8.797385692596435547e-01 4.588235318660736084e-01 1.000000000000000000e+00 -7.098039388656616211e-01 8.763552308082580566e-01 4.537485539913177490e-01 1.000000000000000000e+00 -7.019608020782470703e-01 8.729719519615173340e-01 4.486735761165618896e-01 1.000000000000000000e+00 -6.941176652908325195e-01 8.695886135101318359e-01 4.435986280441284180e-01 1.000000000000000000e+00 -6.862745285034179688e-01 8.662053346633911133e-01 4.385236501693725586e-01 1.000000000000000000e+00 -6.784313917160034180e-01 8.628219962120056152e-01 4.334486722946166992e-01 1.000000000000000000e+00 -6.705882549285888672e-01 8.594386577606201172e-01 4.283736944198608398e-01 1.000000000000000000e+00 -6.627451181411743164e-01 8.560553789138793945e-01 4.232987165451049805e-01 1.000000000000000000e+00 -6.549019813537597656e-01 8.526720404624938965e-01 4.182237684726715088e-01 1.000000000000000000e+00 -6.460592150688171387e-01 8.488273620605468750e-01 4.151480197906494141e-01 1.000000000000000000e+00 -6.362168192863464355e-01 8.445213437080383301e-01 4.140715003013610840e-01 1.000000000000000000e+00 -6.263744831085205078e-01 8.402153253555297852e-01 4.129950106143951416e-01 1.000000000000000000e+00 -6.165320873260498047e-01 8.359092473983764648e-01 4.119184911251068115e-01 1.000000000000000000e+00 -6.066897511482238770e-01 8.316032290458679199e-01 4.108419716358184814e-01 1.000000000000000000e+00 -5.968473553657531738e-01 8.272972106933593750e-01 4.097654819488525391e-01 1.000000000000000000e+00 -5.870050191879272461e-01 8.229911327362060547e-01 4.086889624595642090e-01 1.000000000000000000e+00 -5.771626234054565430e-01 8.186851143836975098e-01 4.076124429702758789e-01 1.000000000000000000e+00 -5.673202872276306152e-01 8.143790960311889648e-01 4.065359532833099365e-01 1.000000000000000000e+00 -5.574778914451599121e-01 8.100730776786804199e-01 4.054594337940216064e-01 1.000000000000000000e+00 -5.476354956626892090e-01 8.057669997215270996e-01 4.043829441070556641e-01 1.000000000000000000e+00 -5.377931594848632812e-01 8.014609813690185547e-01 4.033064246177673340e-01 1.000000000000000000e+00 -5.279507637023925781e-01 7.971549630165100098e-01 4.022299051284790039e-01 1.000000000000000000e+00 -5.181084275245666504e-01 7.928488850593566895e-01 4.011534154415130615e-01 1.000000000000000000e+00 -5.082660317420959473e-01 7.885428667068481445e-01 4.000768959522247314e-01 1.000000000000000000e+00 -4.984236955642700195e-01 7.842368483543395996e-01 3.990003764629364014e-01 1.000000000000000000e+00 -4.885813295841217041e-01 7.799307703971862793e-01 3.979238867759704590e-01 1.000000000000000000e+00 -4.787389338016510010e-01 7.756247520446777344e-01 3.968473672866821289e-01 1.000000000000000000e+00 -4.688965678215026855e-01 7.713187336921691895e-01 3.957708477973937988e-01 1.000000000000000000e+00 -4.590542018413543701e-01 7.670127153396606445e-01 3.946943581104278564e-01 1.000000000000000000e+00 -4.492118358612060547e-01 7.627066373825073242e-01 3.936178386211395264e-01 1.000000000000000000e+00 -4.393694698810577393e-01 7.584006190299987793e-01 3.925413191318511963e-01 1.000000000000000000e+00 -4.295271039009094238e-01 7.540946006774902344e-01 3.914648294448852539e-01 1.000000000000000000e+00 -4.196847379207611084e-01 7.497885227203369141e-01 3.903883099555969238e-01 1.000000000000000000e+00 -4.098423719406127930e-01 7.454825043678283691e-01 3.893117904663085938e-01 1.000000000000000000e+00 -4.000000059604644775e-01 7.411764860153198242e-01 3.882353007793426514e-01 1.000000000000000000e+00 -3.883121907711029053e-01 7.354863286018371582e-01 3.853133320808410645e-01 1.000000000000000000e+00 -3.766243755817413330e-01 7.297962307929992676e-01 3.823913931846618652e-01 1.000000000000000000e+00 -3.649365603923797607e-01 7.241061329841613770e-01 3.794694244861602783e-01 1.000000000000000000e+00 -3.532487452030181885e-01 7.184159755706787109e-01 3.765474855899810791e-01 1.000000000000000000e+00 -3.415609300136566162e-01 7.127258777618408203e-01 3.736255168914794922e-01 1.000000000000000000e+00 -3.298731148242950439e-01 7.070357799530029297e-01 3.707035779953002930e-01 1.000000000000000000e+00 -3.181852996349334717e-01 7.013456225395202637e-01 3.677816092967987061e-01 1.000000000000000000e+00 -3.064975142478942871e-01 6.956555247306823730e-01 3.648596704006195068e-01 1.000000000000000000e+00 -2.948096990585327148e-01 6.899654269218444824e-01 3.619377017021179199e-01 1.000000000000000000e+00 -2.831218838691711426e-01 6.842752695083618164e-01 3.590157628059387207e-01 1.000000000000000000e+00 -2.714340686798095703e-01 6.785851716995239258e-01 3.560938239097595215e-01 1.000000000000000000e+00 -2.597462534904479980e-01 6.728950142860412598e-01 3.531718552112579346e-01 1.000000000000000000e+00 -2.480584383010864258e-01 6.672049164772033691e-01 3.502499163150787354e-01 1.000000000000000000e+00 -2.363706231117248535e-01 6.615148186683654785e-01 3.473279476165771484e-01 1.000000000000000000e+00 -2.246828079223632812e-01 6.558246612548828125e-01 3.444060087203979492e-01 1.000000000000000000e+00 -2.129950076341629028e-01 6.501345634460449219e-01 3.414840400218963623e-01 1.000000000000000000e+00 -2.013071924448013306e-01 6.444444656372070312e-01 3.385621011257171631e-01 1.000000000000000000e+00 -1.896193772554397583e-01 6.387543082237243652e-01 3.356401324272155762e-01 1.000000000000000000e+00 -1.779315620660781860e-01 6.330642104148864746e-01 3.327181935310363770e-01 1.000000000000000000e+00 -1.662437468767166138e-01 6.273741126060485840e-01 3.297962248325347900e-01 1.000000000000000000e+00 -1.545559465885162354e-01 6.216839551925659180e-01 3.268742859363555908e-01 1.000000000000000000e+00 -1.428681313991546631e-01 6.159938573837280273e-01 3.239523172378540039e-01 1.000000000000000000e+00 -1.311803162097930908e-01 6.103036999702453613e-01 3.210303783416748047e-01 1.000000000000000000e+00 -1.194925010204315186e-01 6.046136021614074707e-01 3.181084096431732178e-01 1.000000000000000000e+00 -1.078046932816505432e-01 5.989235043525695801e-01 3.151864707469940186e-01 1.000000000000000000e+00 -9.996155649423599243e-02 5.923875570297241211e-01 3.118031620979309082e-01 1.000000000000000000e+00 -9.596309065818786621e-02 5.850057601928710938e-01 3.079584836959838867e-01 1.000000000000000000e+00 -9.196463227272033691e-02 5.776239633560180664e-01 3.041138052940368652e-01 1.000000000000000000e+00 -8.796616643667221069e-02 5.702422261238098145e-01 3.002691268920898438e-01 1.000000000000000000e+00 -8.396770805120468140e-02 5.628604292869567871e-01 2.964244484901428223e-01 1.000000000000000000e+00 -7.996924221515655518e-02 5.554786324501037598e-01 2.925797700881958008e-01 1.000000000000000000e+00 -7.597078382968902588e-02 5.480968952178955078e-01 2.887350916862487793e-01 1.000000000000000000e+00 -7.197231799364089966e-02 5.407150983810424805e-01 2.848904132843017578e-01 1.000000000000000000e+00 -6.797385960817337036e-02 5.333333611488342285e-01 2.810457646846771240e-01 1.000000000000000000e+00 -6.397539377212524414e-02 5.259515643119812012e-01 2.772010862827301025e-01 1.000000000000000000e+00 -5.997693166136741638e-02 5.185697674751281738e-01 2.733564078807830811e-01 1.000000000000000000e+00 -5.597846955060958862e-02 5.111880302429199219e-01 2.695117294788360596e-01 1.000000000000000000e+00 -5.198000743985176086e-02 5.038062334060668945e-01 2.656670510768890381e-01 1.000000000000000000e+00 -4.798154532909393311e-02 4.964244663715362549e-01 2.618223726749420166e-01 1.000000000000000000e+00 -4.398308321833610535e-02 4.890426695346832275e-01 2.579776942729949951e-01 1.000000000000000000e+00 -3.998462110757827759e-02 4.816609025001525879e-01 2.541330158710479736e-01 1.000000000000000000e+00 -3.598615899682044983e-02 4.742791354656219482e-01 2.502883374691009521e-01 1.000000000000000000e+00 -3.198769688606262207e-02 4.668973386287689209e-01 2.464436739683151245e-01 1.000000000000000000e+00 -2.798923477530479431e-02 4.595155715942382812e-01 2.425989955663681030e-01 1.000000000000000000e+00 -2.399077266454696655e-02 4.521338045597076416e-01 2.387543320655822754e-01 1.000000000000000000e+00 -1.999231055378913879e-02 4.447520077228546143e-01 2.349096536636352539e-01 1.000000000000000000e+00 -1.599384844303131104e-02 4.373702406883239746e-01 2.310649752616882324e-01 1.000000000000000000e+00 -1.199538633227348328e-02 4.299884736537933350e-01 2.272202968597412109e-01 1.000000000000000000e+00 -7.996924221515655518e-03 4.226066768169403076e-01 2.233756184577941895e-01 1.000000000000000000e+00 -3.998462110757827759e-03 4.152249097824096680e-01 2.195309549570083618e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.078431427478790283e-01 2.156862765550613403e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/Reds b/fastplotlib/utils/colormaps/Reds deleted file mode 100644 index daaee20b6..000000000 --- a/fastplotlib/utils/colormaps/Reds +++ /dev/null @@ -1,256 +0,0 @@ -1.000000000000000000e+00 9.607843160629272461e-01 9.411764740943908691e-01 1.000000000000000000e+00 -9.998769760131835938e-01 9.582006931304931641e-01 9.374855756759643555e-01 1.000000000000000000e+00 -9.997539520263671875e-01 9.556170701980590820e-01 9.337946772575378418e-01 1.000000000000000000e+00 -9.996309280395507812e-01 9.530334472656250000e-01 9.301037788391113281e-01 1.000000000000000000e+00 -9.995079040527343750e-01 9.504498243331909180e-01 9.264129400253295898e-01 1.000000000000000000e+00 -9.993848800659179688e-01 9.478662014007568359e-01 9.227220416069030762e-01 1.000000000000000000e+00 -9.992617964744567871e-01 9.452825784683227539e-01 9.190311431884765625e-01 1.000000000000000000e+00 -9.991387724876403809e-01 9.426989555358886719e-01 9.153402447700500488e-01 1.000000000000000000e+00 -9.990157485008239746e-01 9.401153326034545898e-01 9.116493463516235352e-01 1.000000000000000000e+00 -9.988927245140075684e-01 9.375317096710205078e-01 9.079584479331970215e-01 1.000000000000000000e+00 -9.987697005271911621e-01 9.349480867385864258e-01 9.042676091194152832e-01 1.000000000000000000e+00 -9.986466765403747559e-01 9.323644638061523438e-01 9.005767107009887695e-01 1.000000000000000000e+00 -9.985236525535583496e-01 9.297808408737182617e-01 8.968858122825622559e-01 1.000000000000000000e+00 -9.984006285667419434e-01 9.271972179412841797e-01 8.931949138641357422e-01 1.000000000000000000e+00 -9.982776045799255371e-01 9.246135950088500977e-01 8.895040154457092285e-01 1.000000000000000000e+00 -9.981545805931091309e-01 9.220299720764160156e-01 8.858131766319274902e-01 1.000000000000000000e+00 -9.980314970016479492e-01 9.194463491439819336e-01 8.821222782135009766e-01 1.000000000000000000e+00 -9.979084730148315430e-01 9.168627262115478516e-01 8.784313797950744629e-01 1.000000000000000000e+00 -9.977854490280151367e-01 9.142791032791137695e-01 8.747404813766479492e-01 1.000000000000000000e+00 -9.976624250411987305e-01 9.116954803466796875e-01 8.710495829582214355e-01 1.000000000000000000e+00 -9.975394010543823242e-01 9.091118574142456055e-01 8.673586845397949219e-01 1.000000000000000000e+00 -9.974163770675659180e-01 9.065282344818115234e-01 8.636678457260131836e-01 1.000000000000000000e+00 -9.972933530807495117e-01 9.039446115493774414e-01 8.599769473075866699e-01 1.000000000000000000e+00 -9.971703290939331055e-01 9.013609886169433594e-01 8.562860488891601562e-01 1.000000000000000000e+00 -9.970473051071166992e-01 8.987773656845092773e-01 8.525951504707336426e-01 1.000000000000000000e+00 -9.969242811203002930e-01 8.961937427520751953e-01 8.489042520523071289e-01 1.000000000000000000e+00 -9.968012571334838867e-01 8.936101794242858887e-01 8.452133536338806152e-01 1.000000000000000000e+00 -9.966781735420227051e-01 8.910265564918518066e-01 8.415225148200988770e-01 1.000000000000000000e+00 -9.965551495552062988e-01 8.884429335594177246e-01 8.378316164016723633e-01 1.000000000000000000e+00 -9.964321255683898926e-01 8.858593106269836426e-01 8.341407179832458496e-01 1.000000000000000000e+00 -9.963091015815734863e-01 8.832756876945495605e-01 8.304498195648193359e-01 1.000000000000000000e+00 -9.961860775947570801e-01 8.806920647621154785e-01 8.267589211463928223e-01 1.000000000000000000e+00 -9.960476756095886230e-01 8.778623342514038086e-01 8.227758407592773438e-01 1.000000000000000000e+00 -9.958016276359558105e-01 8.733102679252624512e-01 8.167474269866943359e-01 1.000000000000000000e+00 -9.955555796623229980e-01 8.687581419944763184e-01 8.107189536094665527e-01 1.000000000000000000e+00 -9.953094720840454102e-01 8.642060756683349609e-01 8.046904802322387695e-01 1.000000000000000000e+00 -9.950634241104125977e-01 8.596539497375488281e-01 7.986620664596557617e-01 1.000000000000000000e+00 -9.948173761367797852e-01 8.551018834114074707e-01 7.926335930824279785e-01 1.000000000000000000e+00 -9.945713281631469727e-01 8.505498170852661133e-01 7.866051793098449707e-01 1.000000000000000000e+00 -9.943252801895141602e-01 8.459976911544799805e-01 7.805767059326171875e-01 1.000000000000000000e+00 -9.940791726112365723e-01 8.414456248283386230e-01 7.745482325553894043e-01 1.000000000000000000e+00 -9.938331246376037598e-01 8.368934988975524902e-01 7.685198187828063965e-01 1.000000000000000000e+00 -9.935870766639709473e-01 8.323414325714111328e-01 7.624913454055786133e-01 1.000000000000000000e+00 -9.933410286903381348e-01 8.277893066406250000e-01 7.564628720283508301e-01 1.000000000000000000e+00 -9.930949807167053223e-01 8.232372403144836426e-01 7.504344582557678223e-01 1.000000000000000000e+00 -9.928489327430725098e-01 8.186851143836975098e-01 7.444059848785400391e-01 1.000000000000000000e+00 -9.926028251647949219e-01 8.141330480575561523e-01 7.383775711059570312e-01 1.000000000000000000e+00 -9.923567771911621094e-01 8.095809221267700195e-01 7.323490977287292480e-01 1.000000000000000000e+00 -9.921107292175292969e-01 8.050288558006286621e-01 7.263206243515014648e-01 1.000000000000000000e+00 -9.918646812438964844e-01 8.004767298698425293e-01 7.202922105789184570e-01 1.000000000000000000e+00 -9.916186332702636719e-01 7.959246635437011719e-01 7.142637372016906738e-01 1.000000000000000000e+00 -9.913725256919860840e-01 7.913725376129150391e-01 7.082353234291076660e-01 1.000000000000000000e+00 -9.911264777183532715e-01 7.868204712867736816e-01 7.022068500518798828e-01 1.000000000000000000e+00 -9.908804297447204590e-01 7.822683453559875488e-01 6.961783766746520996e-01 1.000000000000000000e+00 -9.906343817710876465e-01 7.777162790298461914e-01 6.901499629020690918e-01 1.000000000000000000e+00 -9.903883337974548340e-01 7.731641530990600586e-01 6.841214895248413086e-01 1.000000000000000000e+00 -9.901422262191772461e-01 7.686120867729187012e-01 6.780930161476135254e-01 1.000000000000000000e+00 -9.898961782455444336e-01 7.640599608421325684e-01 6.720646023750305176e-01 1.000000000000000000e+00 -9.896501302719116211e-01 7.595078945159912109e-01 6.660361289978027344e-01 1.000000000000000000e+00 -9.894040822982788086e-01 7.549557685852050781e-01 6.600077152252197266e-01 1.000000000000000000e+00 -9.891580343246459961e-01 7.504037022590637207e-01 6.539792418479919434e-01 1.000000000000000000e+00 -9.889119863510131836e-01 7.458515763282775879e-01 6.479507684707641602e-01 1.000000000000000000e+00 -9.886658787727355957e-01 7.412995100021362305e-01 6.419223546981811523e-01 1.000000000000000000e+00 -9.884198307991027832e-01 7.367473840713500977e-01 6.358938813209533691e-01 1.000000000000000000e+00 -9.882352948188781738e-01 7.320722937583923340e-01 6.299269795417785645e-01 1.000000000000000000e+00 -9.882352948188781738e-01 7.270280718803405762e-01 6.241445541381835938e-01 1.000000000000000000e+00 -9.882352948188781738e-01 7.219838500022888184e-01 6.183621883392333984e-01 1.000000000000000000e+00 -9.882352948188781738e-01 7.169396281242370605e-01 6.125797629356384277e-01 1.000000000000000000e+00 -9.882352948188781738e-01 7.118954062461853027e-01 6.067973971366882324e-01 1.000000000000000000e+00 -9.882352948188781738e-01 7.068511843681335449e-01 6.010149717330932617e-01 1.000000000000000000e+00 -9.882352948188781738e-01 7.018070220947265625e-01 5.952326059341430664e-01 1.000000000000000000e+00 -9.882352948188781738e-01 6.967628002166748047e-01 5.894502401351928711e-01 1.000000000000000000e+00 -9.882352948188781738e-01 6.917185783386230469e-01 5.836678147315979004e-01 1.000000000000000000e+00 -9.882352948188781738e-01 6.866743564605712891e-01 5.778854489326477051e-01 1.000000000000000000e+00 -9.882352948188781738e-01 6.816301345825195312e-01 5.721030235290527344e-01 1.000000000000000000e+00 -9.882352948188781738e-01 6.765859127044677734e-01 5.663206577301025391e-01 1.000000000000000000e+00 -9.882352948188781738e-01 6.715416908264160156e-01 5.605382323265075684e-01 1.000000000000000000e+00 -9.882352948188781738e-01 6.664975285530090332e-01 5.547558665275573730e-01 1.000000000000000000e+00 -9.882352948188781738e-01 6.614533066749572754e-01 5.489735007286071777e-01 1.000000000000000000e+00 -9.882352948188781738e-01 6.564090847969055176e-01 5.431910753250122070e-01 1.000000000000000000e+00 -9.882352948188781738e-01 6.513648629188537598e-01 5.374087095260620117e-01 1.000000000000000000e+00 -9.882352948188781738e-01 6.463206410408020020e-01 5.316262841224670410e-01 1.000000000000000000e+00 -9.882352948188781738e-01 6.412764191627502441e-01 5.258439183235168457e-01 1.000000000000000000e+00 -9.882352948188781738e-01 6.362321972846984863e-01 5.200614929199218750e-01 1.000000000000000000e+00 -9.882352948188781738e-01 6.311879754066467285e-01 5.142791271209716797e-01 1.000000000000000000e+00 -9.882352948188781738e-01 6.261438131332397461e-01 5.084967613220214844e-01 1.000000000000000000e+00 -9.882352948188781738e-01 6.210995912551879883e-01 5.027143359184265137e-01 1.000000000000000000e+00 -9.882352948188781738e-01 6.160553693771362305e-01 4.969319403171539307e-01 1.000000000000000000e+00 -9.882352948188781738e-01 6.110111474990844727e-01 4.911495447158813477e-01 1.000000000000000000e+00 -9.882352948188781738e-01 6.059669256210327148e-01 4.853671789169311523e-01 1.000000000000000000e+00 -9.882352948188781738e-01 6.009227037429809570e-01 4.795847833156585693e-01 1.000000000000000000e+00 -9.882352948188781738e-01 5.958784818649291992e-01 4.738023877143859863e-01 1.000000000000000000e+00 -9.882352948188781738e-01 5.908343195915222168e-01 4.680199921131134033e-01 1.000000000000000000e+00 -9.882352948188781738e-01 5.857900977134704590e-01 4.622375965118408203e-01 1.000000000000000000e+00 -9.882352948188781738e-01 5.807458758354187012e-01 4.564552009105682373e-01 1.000000000000000000e+00 -9.882352948188781738e-01 5.757016539573669434e-01 4.506728053092956543e-01 1.000000000000000000e+00 -9.881891608238220215e-01 5.707035660743713379e-01 4.452133774757385254e-01 1.000000000000000000e+00 -9.880661368370056152e-01 5.657823681831359863e-01 4.402922093868255615e-01 1.000000000000000000e+00 -9.879431128501892090e-01 5.608612298965454102e-01 4.353710114955902100e-01 1.000000000000000000e+00 -9.878200888633728027e-01 5.559400320053100586e-01 4.304498136043548584e-01 1.000000000000000000e+00 -9.876970648765563965e-01 5.510188341140747070e-01 4.255286455154418945e-01 1.000000000000000000e+00 -9.875739812850952148e-01 5.460976362228393555e-01 4.206074476242065430e-01 1.000000000000000000e+00 -9.874509572982788086e-01 5.411764979362487793e-01 4.156862795352935791e-01 1.000000000000000000e+00 -9.873279333114624023e-01 5.362553000450134277e-01 4.107650816440582275e-01 1.000000000000000000e+00 -9.872049093246459961e-01 5.313341021537780762e-01 4.058439135551452637e-01 1.000000000000000000e+00 -9.870818853378295898e-01 5.264129042625427246e-01 4.009227156639099121e-01 1.000000000000000000e+00 -9.869588613510131836e-01 5.214917063713073730e-01 3.960015475749969482e-01 1.000000000000000000e+00 -9.868358373641967773e-01 5.165705680847167969e-01 3.910803496837615967e-01 1.000000000000000000e+00 -9.867128133773803711e-01 5.116493701934814453e-01 3.861591815948486328e-01 1.000000000000000000e+00 -9.865897893905639648e-01 5.067281723022460938e-01 3.812379837036132812e-01 1.000000000000000000e+00 -9.864667654037475586e-01 5.018069744110107422e-01 3.763168156147003174e-01 1.000000000000000000e+00 -9.863437414169311523e-01 4.968858063220977783e-01 3.713956177234649658e-01 1.000000000000000000e+00 -9.862206578254699707e-01 4.919646382331848145e-01 3.664744198322296143e-01 1.000000000000000000e+00 -9.860976338386535645e-01 4.870434403419494629e-01 3.615532517433166504e-01 1.000000000000000000e+00 -9.859746098518371582e-01 4.821222722530364990e-01 3.566320538520812988e-01 1.000000000000000000e+00 -9.858515858650207520e-01 4.772010743618011475e-01 3.517108857631683350e-01 1.000000000000000000e+00 -9.857285618782043457e-01 4.722799062728881836e-01 3.467896878719329834e-01 1.000000000000000000e+00 -9.856055378913879395e-01 4.673587083816528320e-01 3.418685197830200195e-01 1.000000000000000000e+00 -9.854825139045715332e-01 4.624375104904174805e-01 3.369473218917846680e-01 1.000000000000000000e+00 -9.853594899177551270e-01 4.575163424015045166e-01 3.320261538028717041e-01 1.000000000000000000e+00 -9.852364659309387207e-01 4.525951445102691650e-01 3.271049559116363525e-01 1.000000000000000000e+00 -9.851134419441223145e-01 4.476739764213562012e-01 3.221837878227233887e-01 1.000000000000000000e+00 -9.849904179573059082e-01 4.427527785301208496e-01 3.172625899314880371e-01 1.000000000000000000e+00 -9.848673343658447266e-01 4.378316104412078857e-01 3.123414218425750732e-01 1.000000000000000000e+00 -9.847443103790283203e-01 4.329104125499725342e-01 3.074202239513397217e-01 1.000000000000000000e+00 -9.846212863922119141e-01 4.279892444610595703e-01 3.024990260601043701e-01 1.000000000000000000e+00 -9.844982624053955078e-01 4.230680465698242188e-01 2.975778579711914062e-01 1.000000000000000000e+00 -9.843752384185791016e-01 4.181468784809112549e-01 2.926566600799560547e-01 1.000000000000000000e+00 -9.835755228996276855e-01 4.127950668334960938e-01 2.883506417274475098e-01 1.000000000000000000e+00 -9.820991754531860352e-01 4.070127010345458984e-01 2.846597433090209961e-01 1.000000000000000000e+00 -9.806228280067443848e-01 4.012303054332733154e-01 2.809688448905944824e-01 1.000000000000000000e+00 -9.791464805603027344e-01 3.954479098320007324e-01 2.772779762744903564e-01 1.000000000000000000e+00 -9.776701331138610840e-01 3.896655142307281494e-01 2.735870778560638428e-01 1.000000000000000000e+00 -9.761937856674194336e-01 3.838831186294555664e-01 2.698961794376373291e-01 1.000000000000000000e+00 -9.747174382209777832e-01 3.781007230281829834e-01 2.662053108215332031e-01 1.000000000000000000e+00 -9.732410907745361328e-01 3.723183274269104004e-01 2.625144124031066895e-01 1.000000000000000000e+00 -9.717646837234497070e-01 3.665359616279602051e-01 2.588235437870025635e-01 1.000000000000000000e+00 -9.702883362770080566e-01 3.607535660266876221e-01 2.551326453685760498e-01 1.000000000000000000e+00 -9.688119888305664062e-01 3.549711704254150391e-01 2.514417469501495361e-01 1.000000000000000000e+00 -9.673356413841247559e-01 3.491887748241424561e-01 2.477508634328842163e-01 1.000000000000000000e+00 -9.658592939376831055e-01 3.434063792228698730e-01 2.440599799156188965e-01 1.000000000000000000e+00 -9.643829464912414551e-01 3.376239836215972900e-01 2.403690814971923828e-01 1.000000000000000000e+00 -9.629065990447998047e-01 3.318415880203247070e-01 2.366781979799270630e-01 1.000000000000000000e+00 -9.614301919937133789e-01 3.260592222213745117e-01 2.329873144626617432e-01 1.000000000000000000e+00 -9.599538445472717285e-01 3.202768266201019287e-01 2.292964309453964233e-01 1.000000000000000000e+00 -9.584774971008300781e-01 3.144944310188293457e-01 2.256055325269699097e-01 1.000000000000000000e+00 -9.570011496543884277e-01 3.087120354175567627e-01 2.219146490097045898e-01 1.000000000000000000e+00 -9.555248022079467773e-01 3.029296398162841797e-01 2.182237654924392700e-01 1.000000000000000000e+00 -9.540484547615051270e-01 2.971472442150115967e-01 2.145328670740127563e-01 1.000000000000000000e+00 -9.525721073150634766e-01 2.913648486137390137e-01 2.108419835567474365e-01 1.000000000000000000e+00 -9.510957598686218262e-01 2.855824828147888184e-01 2.071511000394821167e-01 1.000000000000000000e+00 -9.496193528175354004e-01 2.798000872135162354e-01 2.034602016210556030e-01 1.000000000000000000e+00 -9.481430053710937500e-01 2.740176916122436523e-01 1.997693181037902832e-01 1.000000000000000000e+00 -9.466666579246520996e-01 2.682352960109710693e-01 1.960784345865249634e-01 1.000000000000000000e+00 -9.451903104782104492e-01 2.624529004096984863e-01 1.923875361680984497e-01 1.000000000000000000e+00 -9.437139630317687988e-01 2.566705048084259033e-01 1.886966526508331299e-01 1.000000000000000000e+00 -9.422376155853271484e-01 2.508881092071533203e-01 1.850057691335678101e-01 1.000000000000000000e+00 -9.407612681388854980e-01 2.451057285070419312e-01 1.813148856163024902e-01 1.000000000000000000e+00 -9.392848610877990723e-01 2.393233329057693481e-01 1.776239871978759766e-01 1.000000000000000000e+00 -9.378085136413574219e-01 2.335409522056579590e-01 1.739331036806106567e-01 1.000000000000000000e+00 -9.344867467880249023e-01 2.286812812089920044e-01 1.713956147432327271e-01 1.000000000000000000e+00 -9.300576448440551758e-01 2.243752330541610718e-01 1.695501804351806641e-01 1.000000000000000000e+00 -9.256286025047302246e-01 2.200691998004913330e-01 1.677047312259674072e-01 1.000000000000000000e+00 -9.211995601654052734e-01 2.157631665468215942e-01 1.658592820167541504e-01 1.000000000000000000e+00 -9.167704582214355469e-01 2.114571332931518555e-01 1.640138477087020874e-01 1.000000000000000000e+00 -9.123414158821105957e-01 2.071511000394821167e-01 1.621683984994888306e-01 1.000000000000000000e+00 -9.079123139381408691e-01 2.028450667858123779e-01 1.603229492902755737e-01 1.000000000000000000e+00 -9.034832715988159180e-01 1.985390186309814453e-01 1.584775149822235107e-01 1.000000000000000000e+00 -8.990542292594909668e-01 1.942329853773117065e-01 1.566320657730102539e-01 1.000000000000000000e+00 -8.946251273155212402e-01 1.899269521236419678e-01 1.547866165637969971e-01 1.000000000000000000e+00 -8.901960849761962891e-01 1.856209188699722290e-01 1.529411822557449341e-01 1.000000000000000000e+00 -8.857669830322265625e-01 1.813148856163024902e-01 1.510957330465316772e-01 1.000000000000000000e+00 -8.813379406929016113e-01 1.770088374614715576e-01 1.492502838373184204e-01 1.000000000000000000e+00 -8.769088983535766602e-01 1.727028042078018188e-01 1.474048495292663574e-01 1.000000000000000000e+00 -8.724797964096069336e-01 1.683967709541320801e-01 1.455594003200531006e-01 1.000000000000000000e+00 -8.680507540702819824e-01 1.640907377004623413e-01 1.437139511108398438e-01 1.000000000000000000e+00 -8.636217117309570312e-01 1.597847044467926025e-01 1.418685168027877808e-01 1.000000000000000000e+00 -8.591926097869873047e-01 1.554786562919616699e-01 1.400230675935745239e-01 1.000000000000000000e+00 -8.547635674476623535e-01 1.511726230382919312e-01 1.381776183843612671e-01 1.000000000000000000e+00 -8.503344655036926270e-01 1.468665897846221924e-01 1.363321840763092041e-01 1.000000000000000000e+00 -8.459054231643676758e-01 1.425605565309524536e-01 1.344867348670959473e-01 1.000000000000000000e+00 -8.414763808250427246e-01 1.382545232772827148e-01 1.326412856578826904e-01 1.000000000000000000e+00 -8.370472788810729980e-01 1.339484751224517822e-01 1.307958513498306274e-01 1.000000000000000000e+00 -8.326182365417480469e-01 1.296424418687820435e-01 1.289504021406173706e-01 1.000000000000000000e+00 -8.281891345977783203e-01 1.253364086151123047e-01 1.271049529314041138e-01 1.000000000000000000e+00 -8.237600922584533691e-01 1.210303753614425659e-01 1.252595186233520508e-01 1.000000000000000000e+00 -8.193310499191284180e-01 1.167243346571922302e-01 1.234140694141387939e-01 1.000000000000000000e+00 -8.149019479751586914e-01 1.124183014035224915e-01 1.215686276555061340e-01 1.000000000000000000e+00 -8.104729056358337402e-01 1.081122681498527527e-01 1.197231858968734741e-01 1.000000000000000000e+00 -8.060438036918640137e-01 1.038062274456024170e-01 1.178777366876602173e-01 1.000000000000000000e+00 -8.016147613525390625e-01 9.950019419193267822e-02 1.160322949290275574e-01 1.000000000000000000e+00 -7.971857190132141113e-01 9.519415348768234253e-02 1.141868531703948975e-01 1.000000000000000000e+00 -7.925720810890197754e-01 9.328719973564147949e-02 1.129873096942901611e-01 1.000000000000000000e+00 -7.878969907760620117e-01 9.217993170022964478e-02 1.120030730962753296e-01 1.000000000000000000e+00 -7.832218408584594727e-01 9.107266366481781006e-02 1.110188364982604980e-01 1.000000000000000000e+00 -7.785466909408569336e-01 8.996539562940597534e-02 1.100345999002456665e-01 1.000000000000000000e+00 -7.738716006278991699e-01 8.885813504457473755e-02 1.090503633022308350e-01 1.000000000000000000e+00 -7.691964507102966309e-01 8.775086700916290283e-02 1.080661267042160034e-01 1.000000000000000000e+00 -7.645213603973388672e-01 8.664359897375106812e-02 1.070818901062011719e-01 1.000000000000000000e+00 -7.598462104797363281e-01 8.553633093833923340e-02 1.060976535081863403e-01 1.000000000000000000e+00 -7.551710605621337891e-01 8.442906290292739868e-02 1.051134169101715088e-01 1.000000000000000000e+00 -7.504959702491760254e-01 8.332180231809616089e-02 1.041291803121566772e-01 1.000000000000000000e+00 -7.458208203315734863e-01 8.221453428268432617e-02 1.031449437141418457e-01 1.000000000000000000e+00 -7.411457300186157227e-01 8.110726624727249146e-02 1.021607071161270142e-01 1.000000000000000000e+00 -7.364705801010131836e-01 7.999999821186065674e-02 1.011764705181121826e-01 1.000000000000000000e+00 -7.317954897880554199e-01 7.889273017644882202e-02 1.001922339200973511e-01 1.000000000000000000e+00 -7.271203398704528809e-01 7.778546959161758423e-02 9.920799732208251953e-02 1.000000000000000000e+00 -7.224451899528503418e-01 7.667820155620574951e-02 9.822376072406768799e-02 1.000000000000000000e+00 -7.177700996398925781e-01 7.557093352079391479e-02 9.723952412605285645e-02 1.000000000000000000e+00 -7.130949497222900391e-01 7.446366548538208008e-02 9.625528752803802490e-02 1.000000000000000000e+00 -7.084198594093322754e-01 7.335640490055084229e-02 9.527105093002319336e-02 1.000000000000000000e+00 -7.037447094917297363e-01 7.224913686513900757e-02 9.428681433200836182e-02 1.000000000000000000e+00 -6.990695595741271973e-01 7.114186882972717285e-02 9.330257773399353027e-02 1.000000000000000000e+00 -6.943944692611694336e-01 7.003460079431533813e-02 9.231834113597869873e-02 1.000000000000000000e+00 -6.897193193435668945e-01 6.892733275890350342e-02 9.133410453796386719e-02 1.000000000000000000e+00 -6.850442290306091309e-01 6.782007217407226562e-02 9.034986793994903564e-02 1.000000000000000000e+00 -6.803690791130065918e-01 6.671280413866043091e-02 8.936563134193420410e-02 1.000000000000000000e+00 -6.756939888000488281e-01 6.560553610324859619e-02 8.838139474391937256e-02 1.000000000000000000e+00 -6.710188388824462891e-01 6.449826806783676147e-02 8.739715814590454102e-02 1.000000000000000000e+00 -6.663436889648437500e-01 6.339100003242492676e-02 8.641292154788970947e-02 1.000000000000000000e+00 -6.616685986518859863e-01 6.228373572230339050e-02 8.542868494987487793e-02 1.000000000000000000e+00 -6.569934487342834473e-01 6.117647141218185425e-02 8.444444090127944946e-02 1.000000000000000000e+00 -6.523183584213256836e-01 6.006920337677001953e-02 8.346020430326461792e-02 1.000000000000000000e+00 -6.476432085037231445e-01 5.896193906664848328e-02 8.247596770524978638e-02 1.000000000000000000e+00 -6.403844952583312988e-01 5.720876529812812805e-02 8.149173110723495483e-02 1.000000000000000000e+00 -6.327566504478454590e-01 5.536332353949546814e-02 8.050749450922012329e-02 1.000000000000000000e+00 -6.251288056373596191e-01 5.351787805557250977e-02 7.952325791120529175e-02 1.000000000000000000e+00 -6.175009608268737793e-01 5.167243257164955139e-02 7.853902131319046021e-02 1.000000000000000000e+00 -6.098731160163879395e-01 4.982699081301689148e-02 7.755478471517562866e-02 1.000000000000000000e+00 -6.022452712059020996e-01 4.798154532909393311e-02 7.657054811716079712e-02 1.000000000000000000e+00 -5.946174263954162598e-01 4.613609984517097473e-02 7.558631151914596558e-02 1.000000000000000000e+00 -5.869896411895751953e-01 4.429065808653831482e-02 7.460207492113113403e-02 1.000000000000000000e+00 -5.793617963790893555e-01 4.244521260261535645e-02 7.361783832311630249e-02 1.000000000000000000e+00 -5.717339515686035156e-01 4.059977084398269653e-02 7.263360172510147095e-02 1.000000000000000000e+00 -5.641061067581176758e-01 3.875432536005973816e-02 7.164936512708663940e-02 1.000000000000000000e+00 -5.564782619476318359e-01 3.690887987613677979e-02 7.066512852907180786e-02 1.000000000000000000e+00 -5.488504171371459961e-01 3.506343811750411987e-02 6.968089193105697632e-02 1.000000000000000000e+00 -5.412226319313049316e-01 3.321799263358116150e-02 6.869665533304214478e-02 1.000000000000000000e+00 -5.335947871208190918e-01 3.137255087494850159e-02 6.771241873502731323e-02 1.000000000000000000e+00 -5.259669423103332520e-01 2.952710539102554321e-02 6.672818213701248169e-02 1.000000000000000000e+00 -5.183390974998474121e-01 2.768166176974773407e-02 6.574394553899765015e-02 1.000000000000000000e+00 -5.107112526893615723e-01 2.583621628582477570e-02 6.475970894098281860e-02 1.000000000000000000e+00 -5.030834078788757324e-01 2.399077266454696655e-02 6.377547234296798706e-02 1.000000000000000000e+00 -4.954555928707122803e-01 2.214532904326915741e-02 6.279123574495315552e-02 1.000000000000000000e+00 -4.878277480602264404e-01 2.029988542199134827e-02 6.180699914693832397e-02 1.000000000000000000e+00 -4.801999330520629883e-01 1.845443993806838989e-02 6.082275882363319397e-02 1.000000000000000000e+00 -4.725720882415771484e-01 1.660899631679058075e-02 5.983852222561836243e-02 1.000000000000000000e+00 -4.649442434310913086e-01 1.476355269551277161e-02 5.885428562760353088e-02 1.000000000000000000e+00 -4.573164284229278564e-01 1.291810814291238785e-02 5.787004902958869934e-02 1.000000000000000000e+00 -4.496885836124420166e-01 1.107266452163457870e-02 5.688581243157386780e-02 1.000000000000000000e+00 -4.420607388019561768e-01 9.227219969034194946e-03 5.590157583355903625e-02 1.000000000000000000e+00 -4.344329237937927246e-01 7.381776347756385803e-03 5.491733923554420471e-02 1.000000000000000000e+00 -4.268050789833068848e-01 5.536332260817289352e-03 5.393310263752937317e-02 1.000000000000000000e+00 -4.191772341728210449e-01 3.690888173878192902e-03 5.294886603951454163e-02 1.000000000000000000e+00 -4.115493893623352051e-01 1.845444086939096451e-03 5.196462944149971008e-02 1.000000000000000000e+00 -4.039215743541717529e-01 0.000000000000000000e+00 5.098039284348487854e-02 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/Set1 b/fastplotlib/utils/colormaps/Set1 deleted file mode 100644 index 1a7435364..000000000 --- a/fastplotlib/utils/colormaps/Set1 +++ /dev/null @@ -1,9 +0,0 @@ -8.941176533699035645e-01 1.019607856869697571e-01 1.098039224743843079e-01 1.000000000000000000e+00 -2.156862765550613403e-01 4.941176474094390869e-01 7.215686440467834473e-01 1.000000000000000000e+00 -3.019607961177825928e-01 6.862745285034179688e-01 2.901960909366607666e-01 1.000000000000000000e+00 -5.960784554481506348e-01 3.058823645114898682e-01 6.392157077789306641e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.980392158031463623e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 2.000000029802322388e-01 1.000000000000000000e+00 -6.509804129600524902e-01 3.372549116611480713e-01 1.568627506494522095e-01 1.000000000000000000e+00 -9.686274528503417969e-01 5.058823823928833008e-01 7.490196228027343750e-01 1.000000000000000000e+00 -6.000000238418579102e-01 6.000000238418579102e-01 6.000000238418579102e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/Set2 b/fastplotlib/utils/colormaps/Set2 deleted file mode 100644 index 5ae1478ab..000000000 --- a/fastplotlib/utils/colormaps/Set2 +++ /dev/null @@ -1,8 +0,0 @@ -4.000000059604644775e-01 7.607843279838562012e-01 6.470588445663452148e-01 1.000000000000000000e+00 -9.882352948188781738e-01 5.529412031173706055e-01 3.843137323856353760e-01 1.000000000000000000e+00 -5.529412031173706055e-01 6.274510025978088379e-01 7.960784435272216797e-01 1.000000000000000000e+00 -9.058823585510253906e-01 5.411764979362487793e-01 7.647058963775634766e-01 1.000000000000000000e+00 -6.509804129600524902e-01 8.470588326454162598e-01 3.294117748737335205e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.509804010391235352e-01 1.843137294054031372e-01 1.000000000000000000e+00 -8.980392217636108398e-01 7.686274647712707520e-01 5.803921818733215332e-01 1.000000000000000000e+00 -7.019608020782470703e-01 7.019608020782470703e-01 7.019608020782470703e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/Set3 b/fastplotlib/utils/colormaps/Set3 deleted file mode 100644 index 01ea38486..000000000 --- a/fastplotlib/utils/colormaps/Set3 +++ /dev/null @@ -1,12 +0,0 @@ -5.529412031173706055e-01 8.274509906768798828e-01 7.803921699523925781e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 7.019608020782470703e-01 1.000000000000000000e+00 -7.450980544090270996e-01 7.294117808341979980e-01 8.549019694328308105e-01 1.000000000000000000e+00 -9.843137264251708984e-01 5.019608139991760254e-01 4.470588266849517822e-01 1.000000000000000000e+00 -5.019608139991760254e-01 6.941176652908325195e-01 8.274509906768798828e-01 1.000000000000000000e+00 -9.921568632125854492e-01 7.058823704719543457e-01 3.843137323856353760e-01 1.000000000000000000e+00 -7.019608020782470703e-01 8.705882430076599121e-01 4.117647111415863037e-01 1.000000000000000000e+00 -9.882352948188781738e-01 8.039215803146362305e-01 8.980392217636108398e-01 1.000000000000000000e+00 -8.509804010391235352e-01 8.509804010391235352e-01 8.509804010391235352e-01 1.000000000000000000e+00 -7.372549176216125488e-01 5.019608139991760254e-01 7.411764860153198242e-01 1.000000000000000000e+00 -8.000000119209289551e-01 9.215686321258544922e-01 7.725490331649780273e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.294117689132690430e-01 4.352941215038299561e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/Spectral b/fastplotlib/utils/colormaps/Spectral deleted file mode 100644 index 2ce4f53d0..000000000 --- a/fastplotlib/utils/colormaps/Spectral +++ /dev/null @@ -1,256 +0,0 @@ -6.196078658103942871e-01 3.921568859368562698e-03 2.588235437870025635e-01 1.000000000000000000e+00 -6.280661225318908691e-01 1.330257579684257507e-02 2.608227729797363281e-01 1.000000000000000000e+00 -6.365244388580322266e-01 2.268358319997787476e-02 2.628220021724700928e-01 1.000000000000000000e+00 -6.449826955795288086e-01 3.206459060311317444e-02 2.648212313652038574e-01 1.000000000000000000e+00 -6.534410119056701660e-01 4.144559800624847412e-02 2.668204605579376221e-01 1.000000000000000000e+00 -6.618992686271667480e-01 5.082660540938377380e-02 2.688196897506713867e-01 1.000000000000000000e+00 -6.703575253486633301e-01 6.020761281251907349e-02 2.708189189434051514e-01 1.000000000000000000e+00 -6.788158416748046875e-01 6.958861649036407471e-02 2.728181481361389160e-01 1.000000000000000000e+00 -6.872740983963012695e-01 7.896962761878967285e-02 2.748173773288726807e-01 1.000000000000000000e+00 -6.957324147224426270e-01 8.835063129663467407e-02 2.768166065216064453e-01 1.000000000000000000e+00 -7.041906714439392090e-01 9.773164242506027222e-02 2.788158357143402100e-01 1.000000000000000000e+00 -7.126489877700805664e-01 1.071126461029052734e-01 2.808150649070739746e-01 1.000000000000000000e+00 -7.211072444915771484e-01 1.164936572313308716e-01 2.828142940998077393e-01 1.000000000000000000e+00 -7.295655608177185059e-01 1.258746683597564697e-01 2.848135232925415039e-01 1.000000000000000000e+00 -7.380238175392150879e-01 1.352556645870208740e-01 2.868127524852752686e-01 1.000000000000000000e+00 -7.464821338653564453e-01 1.446366757154464722e-01 2.888119816780090332e-01 1.000000000000000000e+00 -7.549403905868530273e-01 1.540176868438720703e-01 2.908112406730651855e-01 1.000000000000000000e+00 -7.633987069129943848e-01 1.633986979722976685e-01 2.928104698657989502e-01 1.000000000000000000e+00 -7.718569636344909668e-01 1.727796941995620728e-01 2.948096990585327148e-01 1.000000000000000000e+00 -7.803152799606323242e-01 1.821607053279876709e-01 2.968089282512664795e-01 1.000000000000000000e+00 -7.887735366821289062e-01 1.915417164564132690e-01 2.988081574440002441e-01 1.000000000000000000e+00 -7.972318530082702637e-01 2.009227275848388672e-01 3.008073866367340088e-01 1.000000000000000000e+00 -8.056901097297668457e-01 2.103037238121032715e-01 3.028066158294677734e-01 1.000000000000000000e+00 -8.141484260559082031e-01 2.196847349405288696e-01 3.048058450222015381e-01 1.000000000000000000e+00 -8.226066827774047852e-01 2.290657460689544678e-01 3.068050742149353027e-01 1.000000000000000000e+00 -8.310649991035461426e-01 2.384467571973800659e-01 3.088043034076690674e-01 1.000000000000000000e+00 -8.376778364181518555e-01 2.467512488365173340e-01 3.088811933994293213e-01 1.000000000000000000e+00 -8.424451947212219238e-01 2.539792358875274658e-01 3.070357441902160645e-01 1.000000000000000000e+00 -8.472126126289367676e-01 2.612072229385375977e-01 3.051903247833251953e-01 1.000000000000000000e+00 -8.519800305366516113e-01 2.684352099895477295e-01 3.033448755741119385e-01 1.000000000000000000e+00 -8.567473888397216797e-01 2.756631970405578613e-01 3.014994263648986816e-01 1.000000000000000000e+00 -8.615148067474365234e-01 2.828911840915679932e-01 2.996539771556854248e-01 1.000000000000000000e+00 -8.662822246551513672e-01 2.901191711425781250e-01 2.978085279464721680e-01 1.000000000000000000e+00 -8.710495829582214355e-01 2.973471879959106445e-01 2.959630787372589111e-01 1.000000000000000000e+00 -8.758170008659362793e-01 3.045751750469207764e-01 2.941176593303680420e-01 1.000000000000000000e+00 -8.805844187736511230e-01 3.118031620979309082e-01 2.922722101211547852e-01 1.000000000000000000e+00 -8.853517770767211914e-01 3.190311491489410400e-01 2.904267609119415283e-01 1.000000000000000000e+00 -8.901191949844360352e-01 3.262591361999511719e-01 2.885813117027282715e-01 1.000000000000000000e+00 -8.948865532875061035e-01 3.334871232509613037e-01 2.867358624935150146e-01 1.000000000000000000e+00 -8.996539711952209473e-01 3.407151103019714355e-01 2.848904132843017578e-01 1.000000000000000000e+00 -9.044213891029357910e-01 3.479430973529815674e-01 2.830449938774108887e-01 1.000000000000000000e+00 -9.091887474060058594e-01 3.551710844039916992e-01 2.811995446681976318e-01 1.000000000000000000e+00 -9.139561653137207031e-01 3.623990714550018311e-01 2.793540954589843750e-01 1.000000000000000000e+00 -9.187235832214355469e-01 3.696270585060119629e-01 2.775086462497711182e-01 1.000000000000000000e+00 -9.234909415245056152e-01 3.768550455570220947e-01 2.756631970405578613e-01 1.000000000000000000e+00 -9.282583594322204590e-01 3.840830326080322266e-01 2.738177478313446045e-01 1.000000000000000000e+00 -9.330257773399353027e-01 3.913110196590423584e-01 2.719723284244537354e-01 1.000000000000000000e+00 -9.377931356430053711e-01 3.985390365123748779e-01 2.701268792152404785e-01 1.000000000000000000e+00 -9.425605535507202148e-01 4.057670235633850098e-01 2.682814300060272217e-01 1.000000000000000000e+00 -9.473279714584350586e-01 4.129950106143951416e-01 2.664359807968139648e-01 1.000000000000000000e+00 -9.520953297615051270e-01 4.202229976654052734e-01 2.645905315876007080e-01 1.000000000000000000e+00 -9.568627476692199707e-01 4.274509847164154053e-01 2.627451121807098389e-01 1.000000000000000000e+00 -9.582468271255493164e-01 4.374471306800842285e-01 2.673587203025817871e-01 1.000000000000000000e+00 -9.596309065818786621e-01 4.474432766437530518e-01 2.719723284244537354e-01 1.000000000000000000e+00 -9.610149860382080078e-01 4.574394524097442627e-01 2.765859365463256836e-01 1.000000000000000000e+00 -9.623990654945373535e-01 4.674355983734130859e-01 2.811995446681976318e-01 1.000000000000000000e+00 -9.637831449508666992e-01 4.774317443370819092e-01 2.858131527900695801e-01 1.000000000000000000e+00 -9.651672244071960449e-01 4.874279201030731201e-01 2.904267609119415283e-01 1.000000000000000000e+00 -9.665513038635253906e-01 4.974240660667419434e-01 2.950403690338134766e-01 1.000000000000000000e+00 -9.679353833198547363e-01 5.074202418327331543e-01 2.996539771556854248e-01 1.000000000000000000e+00 -9.693194627761840820e-01 5.174163579940795898e-01 3.042675852775573730e-01 1.000000000000000000e+00 -9.707036018371582031e-01 5.274125337600708008e-01 3.088811933994293213e-01 1.000000000000000000e+00 -9.720876812934875488e-01 5.374087095260620117e-01 3.134948015213012695e-01 1.000000000000000000e+00 -9.734717607498168945e-01 5.474048256874084473e-01 3.181084096431732178e-01 1.000000000000000000e+00 -9.748558402061462402e-01 5.574010014533996582e-01 3.227220177650451660e-01 1.000000000000000000e+00 -9.762399196624755859e-01 5.673971772193908691e-01 3.273356258869171143e-01 1.000000000000000000e+00 -9.776239991188049316e-01 5.773932933807373047e-01 3.319492638111114502e-01 1.000000000000000000e+00 -9.790080785751342773e-01 5.873894691467285156e-01 3.365628719329833984e-01 1.000000000000000000e+00 -9.803921580314636230e-01 5.973856449127197266e-01 3.411764800548553467e-01 1.000000000000000000e+00 -9.817762374877929688e-01 6.073817610740661621e-01 3.457900881767272949e-01 1.000000000000000000e+00 -9.831603169441223145e-01 6.173779368400573730e-01 3.504036962985992432e-01 1.000000000000000000e+00 -9.845443964004516602e-01 6.273741126060485840e-01 3.550173044204711914e-01 1.000000000000000000e+00 -9.859284758567810059e-01 6.373702287673950195e-01 3.596309125423431396e-01 1.000000000000000000e+00 -9.873125553131103516e-01 6.473664045333862305e-01 3.642445206642150879e-01 1.000000000000000000e+00 -9.886966347694396973e-01 6.573625802993774414e-01 3.688581287860870361e-01 1.000000000000000000e+00 -9.900807142257690430e-01 6.673586964607238770e-01 3.734717369079589844e-01 1.000000000000000000e+00 -9.914647936820983887e-01 6.773548722267150879e-01 3.780853450298309326e-01 1.000000000000000000e+00 -9.922337532043457031e-01 6.861976385116577148e-01 3.836216926574707031e-01 1.000000000000000000e+00 -9.923875331878662109e-01 6.938869953155517578e-01 3.900807499885559082e-01 1.000000000000000000e+00 -9.925413131713867188e-01 7.015762925148010254e-01 3.965397775173187256e-01 1.000000000000000000e+00 -9.926950931549072266e-01 7.092656493186950684e-01 4.029988348484039307e-01 1.000000000000000000e+00 -9.928489327430725098e-01 7.169550061225891113e-01 4.094578921794891357e-01 1.000000000000000000e+00 -9.930027127265930176e-01 7.246443629264831543e-01 4.159169495105743408e-01 1.000000000000000000e+00 -9.931564927101135254e-01 7.323337197303771973e-01 4.223760068416595459e-01 1.000000000000000000e+00 -9.933102726936340332e-01 7.400230765342712402e-01 4.288350641727447510e-01 1.000000000000000000e+00 -9.934640526771545410e-01 7.477124333381652832e-01 4.352941215038299561e-01 1.000000000000000000e+00 -9.936178326606750488e-01 7.554017901420593262e-01 4.417531788349151611e-01 1.000000000000000000e+00 -9.937716126441955566e-01 7.630911469459533691e-01 4.482122361660003662e-01 1.000000000000000000e+00 -9.939253926277160645e-01 7.707804441452026367e-01 4.546712934970855713e-01 1.000000000000000000e+00 -9.940791726112365723e-01 7.784698009490966797e-01 4.611303210258483887e-01 1.000000000000000000e+00 -9.942330121994018555e-01 7.861591577529907227e-01 4.675893783569335938e-01 1.000000000000000000e+00 -9.943867921829223633e-01 7.938485145568847656e-01 4.740484356880187988e-01 1.000000000000000000e+00 -9.945405721664428711e-01 8.015378713607788086e-01 4.805074930191040039e-01 1.000000000000000000e+00 -9.946943521499633789e-01 8.092272281646728516e-01 4.869665503501892090e-01 1.000000000000000000e+00 -9.948481321334838867e-01 8.169165849685668945e-01 4.934256076812744141e-01 1.000000000000000000e+00 -9.950019121170043945e-01 8.246059417724609375e-01 4.998846650123596191e-01 1.000000000000000000e+00 -9.951556921005249023e-01 8.322952985763549805e-01 5.063437223434448242e-01 1.000000000000000000e+00 -9.953094720840454102e-01 8.399845957756042480e-01 5.128027796745300293e-01 1.000000000000000000e+00 -9.954633116722106934e-01 8.476739525794982910e-01 5.192618370056152344e-01 1.000000000000000000e+00 -9.956170916557312012e-01 8.553633093833923340e-01 5.257208943367004395e-01 1.000000000000000000e+00 -9.957708716392517090e-01 8.630526661872863770e-01 5.321799516677856445e-01 1.000000000000000000e+00 -9.959246516227722168e-01 8.707420229911804199e-01 5.386390089988708496e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.784313797950744629e-01 5.450980663299560547e-01 1.000000000000000000e+00 -9.962322115898132324e-01 8.831987977027893066e-01 5.530949831008911133e-01 1.000000000000000000e+00 -9.963859915733337402e-01 8.879661560058593750e-01 5.610918998718261719e-01 1.000000000000000000e+00 -9.965397715568542480e-01 8.927335739135742188e-01 5.690888166427612305e-01 1.000000000000000000e+00 -9.966935515403747559e-01 8.975009322166442871e-01 5.770857334136962891e-01 1.000000000000000000e+00 -9.968473911285400391e-01 9.022683501243591309e-01 5.850826501846313477e-01 1.000000000000000000e+00 -9.970011711120605469e-01 9.070357680320739746e-01 5.930795669555664062e-01 1.000000000000000000e+00 -9.971549510955810547e-01 9.118031263351440430e-01 6.010764837265014648e-01 1.000000000000000000e+00 -9.973087310791015625e-01 9.165705442428588867e-01 6.090734601020812988e-01 1.000000000000000000e+00 -9.974625110626220703e-01 9.213379621505737305e-01 6.170703768730163574e-01 1.000000000000000000e+00 -9.976162910461425781e-01 9.261053204536437988e-01 6.250672936439514160e-01 1.000000000000000000e+00 -9.977700710296630859e-01 9.308727383613586426e-01 6.330642104148864746e-01 1.000000000000000000e+00 -9.979238510131835938e-01 9.356401562690734863e-01 6.410611271858215332e-01 1.000000000000000000e+00 -9.980776906013488770e-01 9.404075145721435547e-01 6.490580439567565918e-01 1.000000000000000000e+00 -9.982314705848693848e-01 9.451749324798583984e-01 6.570549607276916504e-01 1.000000000000000000e+00 -9.983852505683898926e-01 9.499423503875732422e-01 6.650518774986267090e-01 1.000000000000000000e+00 -9.985390305519104004e-01 9.547097086906433105e-01 6.730488538742065430e-01 1.000000000000000000e+00 -9.986928105354309082e-01 9.594771265983581543e-01 6.810457706451416016e-01 1.000000000000000000e+00 -9.988465905189514160e-01 9.642445445060729980e-01 6.890426874160766602e-01 1.000000000000000000e+00 -9.990003705024719238e-01 9.690119028091430664e-01 6.970396041870117188e-01 1.000000000000000000e+00 -9.991541504859924316e-01 9.737793207168579102e-01 7.050365209579467773e-01 1.000000000000000000e+00 -9.993079304695129395e-01 9.785467386245727539e-01 7.130334377288818359e-01 1.000000000000000000e+00 -9.994617700576782227e-01 9.833140969276428223e-01 7.210303544998168945e-01 1.000000000000000000e+00 -9.996155500411987305e-01 9.880815148353576660e-01 7.290272712707519531e-01 1.000000000000000000e+00 -9.997693300247192383e-01 9.928489327430725098e-01 7.370242476463317871e-01 1.000000000000000000e+00 -9.999231100082397461e-01 9.976162910461425781e-01 7.450211644172668457e-01 1.000000000000000000e+00 -9.980776906013488770e-01 9.992310404777526855e-01 7.460207343101501465e-01 1.000000000000000000e+00 -9.942330121994018555e-01 9.976931810379028320e-01 7.400230765342712402e-01 1.000000000000000000e+00 -9.903883337974548340e-01 9.961553215980529785e-01 7.340253591537475586e-01 1.000000000000000000e+00 -9.865436553955078125e-01 9.946174621582031250e-01 7.280277013778686523e-01 1.000000000000000000e+00 -9.826989769935607910e-01 9.930796027183532715e-01 7.220299839973449707e-01 1.000000000000000000e+00 -9.788542985916137695e-01 9.915417432785034180e-01 7.160322666168212891e-01 1.000000000000000000e+00 -9.750096201896667480e-01 9.900038242340087891e-01 7.100346088409423828e-01 1.000000000000000000e+00 -9.711649417877197266e-01 9.884659647941589355e-01 7.040368914604187012e-01 1.000000000000000000e+00 -9.673202633857727051e-01 9.869281053543090820e-01 6.980392336845397949e-01 1.000000000000000000e+00 -9.634755849838256836e-01 9.853902459144592285e-01 6.920415163040161133e-01 1.000000000000000000e+00 -9.596309065818786621e-01 9.838523864746093750e-01 6.860438585281372070e-01 1.000000000000000000e+00 -9.557862281799316406e-01 9.823144674301147461e-01 6.800461411476135254e-01 1.000000000000000000e+00 -9.519415497779846191e-01 9.807766079902648926e-01 6.740484237670898438e-01 1.000000000000000000e+00 -9.480968713760375977e-01 9.792387485504150391e-01 6.680507659912109375e-01 1.000000000000000000e+00 -9.442521929740905762e-01 9.777008891105651855e-01 6.620530486106872559e-01 1.000000000000000000e+00 -9.404075145721435547e-01 9.761630296707153320e-01 6.560553908348083496e-01 1.000000000000000000e+00 -9.365628361701965332e-01 9.746251702308654785e-01 6.500576734542846680e-01 1.000000000000000000e+00 -9.327181577682495117e-01 9.730872511863708496e-01 6.440599560737609863e-01 1.000000000000000000e+00 -9.288735389709472656e-01 9.715493917465209961e-01 6.380622982978820801e-01 1.000000000000000000e+00 -9.250288605690002441e-01 9.700115323066711426e-01 6.320645809173583984e-01 1.000000000000000000e+00 -9.211841821670532227e-01 9.684736728668212891e-01 6.260669231414794922e-01 1.000000000000000000e+00 -9.173395037651062012e-01 9.669358134269714355e-01 6.200692057609558105e-01 1.000000000000000000e+00 -9.134948253631591797e-01 9.653978943824768066e-01 6.140714883804321289e-01 1.000000000000000000e+00 -9.096501469612121582e-01 9.638600349426269531e-01 6.080738306045532227e-01 1.000000000000000000e+00 -9.058054685592651367e-01 9.623221755027770996e-01 6.020761132240295410e-01 1.000000000000000000e+00 -9.019607901573181152e-01 9.607843160629272461e-01 5.960784554481506348e-01 1.000000000000000000e+00 -8.928873538970947266e-01 9.570934176445007324e-01 5.979238748550415039e-01 1.000000000000000000e+00 -8.838139176368713379e-01 9.534025192260742188e-01 5.997692942619323730e-01 1.000000000000000000e+00 -8.747404813766479492e-01 9.497116208076477051e-01 6.016147732734680176e-01 1.000000000000000000e+00 -8.656670451164245605e-01 9.460207819938659668e-01 6.034601926803588867e-01 1.000000000000000000e+00 -8.565936088562011719e-01 9.423298835754394531e-01 6.053056716918945312e-01 1.000000000000000000e+00 -8.475201725959777832e-01 9.386389851570129395e-01 6.071510910987854004e-01 1.000000000000000000e+00 -8.384467363357543945e-01 9.349480867385864258e-01 6.089965105056762695e-01 1.000000000000000000e+00 -8.293733000755310059e-01 9.312571883201599121e-01 6.108419895172119141e-01 1.000000000000000000e+00 -8.202998638153076172e-01 9.275663495063781738e-01 6.126874089241027832e-01 1.000000000000000000e+00 -8.112264275550842285e-01 9.238754510879516602e-01 6.145328879356384277e-01 1.000000000000000000e+00 -8.021529912948608398e-01 9.201845526695251465e-01 6.163783073425292969e-01 1.000000000000000000e+00 -7.930795550346374512e-01 9.164936542510986328e-01 6.182237863540649414e-01 1.000000000000000000e+00 -7.840061783790588379e-01 9.128027558326721191e-01 6.200692057609558105e-01 1.000000000000000000e+00 -7.749327421188354492e-01 9.091118574142456055e-01 6.219146251678466797e-01 1.000000000000000000e+00 -7.658593058586120605e-01 9.054210186004638672e-01 6.237601041793823242e-01 1.000000000000000000e+00 -7.567858695983886719e-01 9.017301201820373535e-01 6.256055235862731934e-01 1.000000000000000000e+00 -7.477124333381652832e-01 8.980392217636108398e-01 6.274510025978088379e-01 1.000000000000000000e+00 -7.386389970779418945e-01 8.943483233451843262e-01 6.292964220046997070e-01 1.000000000000000000e+00 -7.295655608177185059e-01 8.906574249267578125e-01 6.311418414115905762e-01 1.000000000000000000e+00 -7.204921245574951172e-01 8.869665265083312988e-01 6.329873204231262207e-01 1.000000000000000000e+00 -7.114186882972717285e-01 8.832756876945495605e-01 6.348327398300170898e-01 1.000000000000000000e+00 -7.023452520370483398e-01 8.795847892761230469e-01 6.366782188415527344e-01 1.000000000000000000e+00 -6.932718157768249512e-01 8.758938908576965332e-01 6.385236382484436035e-01 1.000000000000000000e+00 -6.841983795166015625e-01 8.722029924392700195e-01 6.403691172599792480e-01 1.000000000000000000e+00 -6.751249432563781738e-01 8.685120940208435059e-01 6.422145366668701172e-01 1.000000000000000000e+00 -6.652826070785522461e-01 8.645905256271362305e-01 6.432141661643981934e-01 1.000000000000000000e+00 -6.546712517738342285e-01 8.604382872581481934e-01 6.433679461479187012e-01 1.000000000000000000e+00 -6.440599560737609863e-01 8.562860488891601562e-01 6.435217261314392090e-01 1.000000000000000000e+00 -6.334486603736877441e-01 8.521338105201721191e-01 6.436755061149597168e-01 1.000000000000000000e+00 -6.228373646736145020e-01 8.479815721511840820e-01 6.438292860984802246e-01 1.000000000000000000e+00 -6.122260689735412598e-01 8.438292741775512695e-01 6.439830660820007324e-01 1.000000000000000000e+00 -6.016147732734680176e-01 8.396770358085632324e-01 6.441368460655212402e-01 1.000000000000000000e+00 -5.910034775733947754e-01 8.355247974395751953e-01 6.442906856536865234e-01 1.000000000000000000e+00 -5.803921818733215332e-01 8.313725590705871582e-01 6.444444656372070312e-01 1.000000000000000000e+00 -5.697808265686035156e-01 8.272203207015991211e-01 6.445982456207275391e-01 1.000000000000000000e+00 -5.591695308685302734e-01 8.230680227279663086e-01 6.447520256042480469e-01 1.000000000000000000e+00 -5.485582351684570312e-01 8.189157843589782715e-01 6.449058055877685547e-01 1.000000000000000000e+00 -5.379469394683837891e-01 8.147635459899902344e-01 6.450595855712890625e-01 1.000000000000000000e+00 -5.273356437683105469e-01 8.106113076210021973e-01 6.452133655548095703e-01 1.000000000000000000e+00 -5.167243480682373047e-01 8.064590692520141602e-01 6.453671455383300781e-01 1.000000000000000000e+00 -5.061130523681640625e-01 8.023068308830261230e-01 6.455209255218505859e-01 1.000000000000000000e+00 -4.955017268657684326e-01 7.981545329093933105e-01 6.456747651100158691e-01 1.000000000000000000e+00 -4.848904311656951904e-01 7.940022945404052734e-01 6.458285450935363770e-01 1.000000000000000000e+00 -4.742791354656219482e-01 7.898500561714172363e-01 6.459823250770568848e-01 1.000000000000000000e+00 -4.636678099632263184e-01 7.856978178024291992e-01 6.461361050605773926e-01 1.000000000000000000e+00 -4.530565142631530762e-01 7.815455794334411621e-01 6.462898850440979004e-01 1.000000000000000000e+00 -4.424452185630798340e-01 7.773932814598083496e-01 6.464436650276184082e-01 1.000000000000000000e+00 -4.318339228630065918e-01 7.732410430908203125e-01 6.465974450111389160e-01 1.000000000000000000e+00 -4.212225973606109619e-01 7.690888047218322754e-01 6.467512249946594238e-01 1.000000000000000000e+00 -4.106113016605377197e-01 7.649365663528442383e-01 6.469050645828247070e-01 1.000000000000000000e+00 -4.000000059604644775e-01 7.607843279838562012e-01 6.470588445663452148e-01 1.000000000000000000e+00 -3.920030891895294189e-01 7.518646717071533203e-01 6.507496833801269531e-01 1.000000000000000000e+00 -3.840061426162719727e-01 7.429450154304504395e-01 6.544405817985534668e-01 1.000000000000000000e+00 -3.760092258453369141e-01 7.340253591537475586e-01 6.581314802169799805e-01 1.000000000000000000e+00 -3.680123090744018555e-01 7.251057028770446777e-01 6.618223786354064941e-01 1.000000000000000000e+00 -3.600153923034667969e-01 7.161861062049865723e-01 6.655132770538330078e-01 1.000000000000000000e+00 -3.520184457302093506e-01 7.072664499282836914e-01 6.692041754722595215e-01 1.000000000000000000e+00 -3.440215289592742920e-01 6.983467936515808105e-01 6.728950142860412598e-01 1.000000000000000000e+00 -3.360246121883392334e-01 6.894271373748779297e-01 6.765859127044677734e-01 1.000000000000000000e+00 -3.280276954174041748e-01 6.805074810981750488e-01 6.802768111228942871e-01 1.000000000000000000e+00 -3.200307488441467285e-01 6.715878248214721680e-01 6.839677095413208008e-01 1.000000000000000000e+00 -3.120338320732116699e-01 6.626682281494140625e-01 6.876586079597473145e-01 1.000000000000000000e+00 -3.040369153022766113e-01 6.537485718727111816e-01 6.913495063781738281e-01 1.000000000000000000e+00 -2.960399985313415527e-01 6.448289155960083008e-01 6.950403451919555664e-01 1.000000000000000000e+00 -2.880430519580841064e-01 6.359092593193054199e-01 6.987312436103820801e-01 1.000000000000000000e+00 -2.800461351871490479e-01 6.269896030426025391e-01 7.024221420288085938e-01 1.000000000000000000e+00 -2.720492184162139893e-01 6.180699467658996582e-01 7.061130404472351074e-01 1.000000000000000000e+00 -2.640523016452789307e-01 6.091503500938415527e-01 7.098039388656616211e-01 1.000000000000000000e+00 -2.560553550720214844e-01 6.002306938171386719e-01 7.134948372840881348e-01 1.000000000000000000e+00 -2.480584383010864258e-01 5.913110375404357910e-01 7.171856760978698730e-01 1.000000000000000000e+00 -2.400615215301513672e-01 5.823913812637329102e-01 7.208765745162963867e-01 1.000000000000000000e+00 -2.320645898580551147e-01 5.734717249870300293e-01 7.245674729347229004e-01 1.000000000000000000e+00 -2.240676730871200562e-01 5.645520687103271484e-01 7.282583713531494141e-01 1.000000000000000000e+00 -2.160707414150238037e-01 5.556324720382690430e-01 7.319492697715759277e-01 1.000000000000000000e+00 -2.080738246440887451e-01 5.467128157615661621e-01 7.356401681900024414e-01 1.000000000000000000e+00 -2.000768929719924927e-01 5.377931594848632812e-01 7.393310070037841797e-01 1.000000000000000000e+00 -1.994617432355880737e-01 5.289503931999206543e-01 7.391003370285034180e-01 1.000000000000000000e+00 -2.062283754348754883e-01 5.201845169067382812e-01 7.349480986595153809e-01 1.000000000000000000e+00 -2.129950076341629028e-01 5.114187002182006836e-01 7.307958602905273438e-01 1.000000000000000000e+00 -2.197616249322891235e-01 5.026528239250183105e-01 7.266436219215393066e-01 1.000000000000000000e+00 -2.265282571315765381e-01 4.938869774341583252e-01 7.224913239479064941e-01 1.000000000000000000e+00 -2.332948893308639526e-01 4.851211011409759521e-01 7.183390855789184570e-01 1.000000000000000000e+00 -2.400615215301513672e-01 4.763552546501159668e-01 7.141868472099304199e-01 1.000000000000000000e+00 -2.468281388282775879e-01 4.675893783569335938e-01 7.100346088409423828e-01 1.000000000000000000e+00 -2.535947859287261963e-01 4.588235318660736084e-01 7.058823704719543457e-01 1.000000000000000000e+00 -2.603614032268524170e-01 4.500576555728912354e-01 7.017301321029663086e-01 1.000000000000000000e+00 -2.671280205249786377e-01 4.412918090820312500e-01 6.975778341293334961e-01 1.000000000000000000e+00 -2.738946676254272461e-01 4.325259625911712646e-01 6.934255957603454590e-01 1.000000000000000000e+00 -2.806612849235534668e-01 4.237600862979888916e-01 6.892733573913574219e-01 1.000000000000000000e+00 -2.874279022216796875e-01 4.149942398071289062e-01 6.851211190223693848e-01 1.000000000000000000e+00 -2.941945493221282959e-01 4.062283635139465332e-01 6.809688806533813477e-01 1.000000000000000000e+00 -3.009611666202545166e-01 3.974625170230865479e-01 6.768165826797485352e-01 1.000000000000000000e+00 -3.077277839183807373e-01 3.886966407299041748e-01 6.726643443107604980e-01 1.000000000000000000e+00 -3.144944310188293457e-01 3.799307942390441895e-01 6.685121059417724609e-01 1.000000000000000000e+00 -3.212610483169555664e-01 3.711649477481842041e-01 6.643598675727844238e-01 1.000000000000000000e+00 -3.280276954174041748e-01 3.623990714550018311e-01 6.602076292037963867e-01 1.000000000000000000e+00 -3.347943127155303955e-01 3.536332249641418457e-01 6.560553908348083496e-01 1.000000000000000000e+00 -3.415609300136566162e-01 3.448673486709594727e-01 6.519030928611755371e-01 1.000000000000000000e+00 -3.483275771141052246e-01 3.361015021800994873e-01 6.477508544921875000e-01 1.000000000000000000e+00 -3.550941944122314453e-01 3.273356258869171143e-01 6.435986161231994629e-01 1.000000000000000000e+00 -3.618608117103576660e-01 3.185697793960571289e-01 6.394463777542114258e-01 1.000000000000000000e+00 -3.686274588108062744e-01 3.098039329051971436e-01 6.352941393852233887e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/Wistia b/fastplotlib/utils/colormaps/Wistia deleted file mode 100644 index e21659ece..000000000 --- a/fastplotlib/utils/colormaps/Wistia +++ /dev/null @@ -1,256 +0,0 @@ -8.941176533699035645e-01 1.000000000000000000e+00 4.784313738346099854e-01 1.000000000000000000e+00 -8.957785367965698242e-01 9.985851645469665527e-01 4.725259542465209961e-01 1.000000000000000000e+00 -8.974394202232360840e-01 9.971703290939331055e-01 4.666205346584320068e-01 1.000000000000000000e+00 -8.991003632545471191e-01 9.957554936408996582e-01 4.607151150703430176e-01 1.000000000000000000e+00 -9.007612466812133789e-01 9.943406581878662109e-01 4.548096954822540283e-01 1.000000000000000000e+00 -9.024221301078796387e-01 9.929258227348327637e-01 4.489042758941650391e-01 1.000000000000000000e+00 -9.040830731391906738e-01 9.915109276771545410e-01 4.429988563060760498e-01 1.000000000000000000e+00 -9.057439565658569336e-01 9.900960922241210938e-01 4.370934367179870605e-01 1.000000000000000000e+00 -9.074048399925231934e-01 9.886812567710876465e-01 4.311880171298980713e-01 1.000000000000000000e+00 -9.090657234191894531e-01 9.872664213180541992e-01 4.252825975418090820e-01 1.000000000000000000e+00 -9.107266664505004883e-01 9.858515858650207520e-01 4.193771481513977051e-01 1.000000000000000000e+00 -9.123875498771667480e-01 9.844367504119873047e-01 4.134717285633087158e-01 1.000000000000000000e+00 -9.140484333038330078e-01 9.830219149589538574e-01 4.075663089752197266e-01 1.000000000000000000e+00 -9.157093167304992676e-01 9.816070795059204102e-01 4.016608893871307373e-01 1.000000000000000000e+00 -9.173702597618103027e-01 9.801922440528869629e-01 3.957554697990417480e-01 1.000000000000000000e+00 -9.190311431884765625e-01 9.787774085998535156e-01 3.898500502109527588e-01 1.000000000000000000e+00 -9.206920266151428223e-01 9.773625731468200684e-01 3.839446306228637695e-01 1.000000000000000000e+00 -9.223529696464538574e-01 9.759477376937866211e-01 3.780392110347747803e-01 1.000000000000000000e+00 -9.240138530731201172e-01 9.745328426361083984e-01 3.721337914466857910e-01 1.000000000000000000e+00 -9.256747364997863770e-01 9.731180071830749512e-01 3.662283718585968018e-01 1.000000000000000000e+00 -9.273356199264526367e-01 9.717031717300415039e-01 3.603229522705078125e-01 1.000000000000000000e+00 -9.289965629577636719e-01 9.702883362770080566e-01 3.544175326824188232e-01 1.000000000000000000e+00 -9.306574463844299316e-01 9.688735008239746094e-01 3.485121130943298340e-01 1.000000000000000000e+00 -9.323183298110961914e-01 9.674586653709411621e-01 3.426066935062408447e-01 1.000000000000000000e+00 -9.339792132377624512e-01 9.660438299179077148e-01 3.367012739181518555e-01 1.000000000000000000e+00 -9.356401562690734863e-01 9.646289944648742676e-01 3.307958543300628662e-01 1.000000000000000000e+00 -9.373010396957397461e-01 9.632141590118408203e-01 3.248904347419738770e-01 1.000000000000000000e+00 -9.389619231224060059e-01 9.617993235588073730e-01 3.189850151538848877e-01 1.000000000000000000e+00 -9.406228661537170410e-01 9.603844881057739258e-01 3.130795955657958984e-01 1.000000000000000000e+00 -9.422837495803833008e-01 9.589696526527404785e-01 3.071741759777069092e-01 1.000000000000000000e+00 -9.439446330070495605e-01 9.575547575950622559e-01 3.012687563896179199e-01 1.000000000000000000e+00 -9.456055164337158203e-01 9.561399221420288086e-01 2.953633069992065430e-01 1.000000000000000000e+00 -9.472664594650268555e-01 9.547250866889953613e-01 2.894578874111175537e-01 1.000000000000000000e+00 -9.489273428916931152e-01 9.533102512359619141e-01 2.835524678230285645e-01 1.000000000000000000e+00 -9.505882263183593750e-01 9.518954157829284668e-01 2.776470482349395752e-01 1.000000000000000000e+00 -9.522491097450256348e-01 9.504805803298950195e-01 2.717416286468505859e-01 1.000000000000000000e+00 -9.539100527763366699e-01 9.490657448768615723e-01 2.658362090587615967e-01 1.000000000000000000e+00 -9.555709362030029297e-01 9.476509094238281250e-01 2.599307894706726074e-01 1.000000000000000000e+00 -9.572318196296691895e-01 9.462360739707946777e-01 2.540253698825836182e-01 1.000000000000000000e+00 -9.588927626609802246e-01 9.448212385177612305e-01 2.481199502944946289e-01 1.000000000000000000e+00 -9.605536460876464844e-01 9.434064030647277832e-01 2.422145307064056396e-01 1.000000000000000000e+00 -9.622145295143127441e-01 9.419915676116943359e-01 2.363091111183166504e-01 1.000000000000000000e+00 -9.638754129409790039e-01 9.405766725540161133e-01 2.304036915302276611e-01 1.000000000000000000e+00 -9.655363559722900391e-01 9.391618371009826660e-01 2.244982719421386719e-01 1.000000000000000000e+00 -9.671972393989562988e-01 9.377470016479492188e-01 2.185928523540496826e-01 1.000000000000000000e+00 -9.688581228256225586e-01 9.363321661949157715e-01 2.126874327659606934e-01 1.000000000000000000e+00 -9.705190062522888184e-01 9.349173307418823242e-01 2.067820131778717041e-01 1.000000000000000000e+00 -9.721799492835998535e-01 9.335024952888488770e-01 2.008765786886215210e-01 1.000000000000000000e+00 -9.738408327102661133e-01 9.320876598358154297e-01 1.949711591005325317e-01 1.000000000000000000e+00 -9.755017161369323730e-01 9.306728243827819824e-01 1.890657395124435425e-01 1.000000000000000000e+00 -9.771626591682434082e-01 9.292579889297485352e-01 1.831603199243545532e-01 1.000000000000000000e+00 -9.788235425949096680e-01 9.278431534767150879e-01 1.772549003362655640e-01 1.000000000000000000e+00 -9.804844260215759277e-01 9.264283180236816406e-01 1.713494807481765747e-01 1.000000000000000000e+00 -9.821453094482421875e-01 9.250134825706481934e-01 1.654440611600875854e-01 1.000000000000000000e+00 -9.838062524795532227e-01 9.235985875129699707e-01 1.595386415719985962e-01 1.000000000000000000e+00 -9.854671359062194824e-01 9.221837520599365234e-01 1.536332219839096069e-01 1.000000000000000000e+00 -9.871280193328857422e-01 9.207689166069030762e-01 1.477278023958206177e-01 1.000000000000000000e+00 -9.887889027595520020e-01 9.193540811538696289e-01 1.418223828077316284e-01 1.000000000000000000e+00 -9.904498457908630371e-01 9.179392457008361816e-01 1.359169483184814453e-01 1.000000000000000000e+00 -9.921107292175292969e-01 9.165244102478027344e-01 1.300115287303924561e-01 1.000000000000000000e+00 -9.937716126441955566e-01 9.151095747947692871e-01 1.241061165928840637e-01 1.000000000000000000e+00 -9.954325556755065918e-01 9.136947393417358398e-01 1.182006895542144775e-01 1.000000000000000000e+00 -9.970934391021728516e-01 9.122799038887023926e-01 1.122952699661254883e-01 1.000000000000000000e+00 -9.987543225288391113e-01 9.108650684356689453e-01 1.063898503780364990e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.091426134109497070e-01 1.015609353780746460e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.064974784851074219e-01 9.996155649423599243e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.038523435592651367e-01 9.836217015981674194e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.012072086334228516e-01 9.676278382539749146e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.985620737075805664e-01 9.516339749097824097e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.959169387817382812e-01 9.356401115655899048e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.932718038558959961e-01 9.196463227272033691e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.906266689300537109e-01 9.036524593830108643e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.879815340042114258e-01 8.876585960388183594e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.853363990783691406e-01 8.716647326946258545e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.826912641525268555e-01 8.556708693504333496e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.800461292266845703e-01 8.396770805120468140e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.774009943008422852e-01 8.236832171678543091e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.747558593750000000e-01 8.076893538236618042e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.721107244491577148e-01 7.916954904794692993e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.694655895233154297e-01 7.757016271352767944e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.668204545974731445e-01 7.597078382968902588e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.641753196716308594e-01 7.437139749526977539e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.615301847457885742e-01 7.277201116085052490e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.588850498199462891e-01 7.117262482643127441e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.562399148941040039e-01 6.957323849201202393e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.535947799682617188e-01 6.797385960817337036e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.509496450424194336e-01 6.637447327375411987e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.483045101165771484e-01 6.477508693933486938e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.456593751907348633e-01 6.317570060491561890e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.430142402648925781e-01 6.157631799578666687e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.403691053390502930e-01 5.997693166136741638e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.377239704132080078e-01 5.837754532694816589e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.350788354873657227e-01 5.677816271781921387e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.324337005615234375e-01 5.517877638339996338e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.297885656356811523e-01 5.357939377427101135e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.271434307098388672e-01 5.198000743985176086e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.244982957839965820e-01 5.038062110543251038e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.218531608581542969e-01 4.878123849630355835e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.192080259323120117e-01 4.718185216188430786e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.165628314018249512e-01 4.558246955275535583e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.139176964759826660e-01 4.398308321833610535e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.112725615501403809e-01 4.238369688391685486e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.086274266242980957e-01 4.078431427478790283e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.059822916984558105e-01 3.918492794036865234e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.033371567726135254e-01 3.758554533123970032e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.006920218467712402e-01 3.598615899682044983e-02 1.000000000000000000e+00 -1.000000000000000000e+00 7.980468869209289551e-01 3.438677266240119934e-02 1.000000000000000000e+00 -1.000000000000000000e+00 7.954017519950866699e-01 3.278739005327224731e-02 1.000000000000000000e+00 -1.000000000000000000e+00 7.927566170692443848e-01 3.118800371885299683e-02 1.000000000000000000e+00 -1.000000000000000000e+00 7.901114821434020996e-01 2.958861924707889557e-02 1.000000000000000000e+00 -1.000000000000000000e+00 7.874663472175598145e-01 2.798923477530479431e-02 1.000000000000000000e+00 -1.000000000000000000e+00 7.848212122917175293e-01 2.638985030353069305e-02 1.000000000000000000e+00 -1.000000000000000000e+00 7.821760773658752441e-01 2.479046583175659180e-02 1.000000000000000000e+00 -1.000000000000000000e+00 7.795309424400329590e-01 2.319107949733734131e-02 1.000000000000000000e+00 -1.000000000000000000e+00 7.768858075141906738e-01 2.159169502556324005e-02 1.000000000000000000e+00 -1.000000000000000000e+00 7.742406725883483887e-01 1.999231055378913879e-02 1.000000000000000000e+00 -1.000000000000000000e+00 7.715955376625061035e-01 1.839292608201503754e-02 1.000000000000000000e+00 -1.000000000000000000e+00 7.689504027366638184e-01 1.679354161024093628e-02 1.000000000000000000e+00 -1.000000000000000000e+00 7.663052678108215332e-01 1.519415620714426041e-02 1.000000000000000000e+00 -1.000000000000000000e+00 7.636601328849792480e-01 1.359477080404758453e-02 1.000000000000000000e+00 -1.000000000000000000e+00 7.610149979591369629e-01 1.199538633227348328e-02 1.000000000000000000e+00 -1.000000000000000000e+00 7.583698630332946777e-01 1.039600186049938202e-02 1.000000000000000000e+00 -1.000000000000000000e+00 7.557247281074523926e-01 8.796616457402706146e-03 1.000000000000000000e+00 -1.000000000000000000e+00 7.530795931816101074e-01 7.197231985628604889e-03 1.000000000000000000e+00 -1.000000000000000000e+00 7.504344582557678223e-01 5.597847048193216324e-03 1.000000000000000000e+00 -1.000000000000000000e+00 7.477893233299255371e-01 3.998462110757827759e-03 1.000000000000000000e+00 -1.000000000000000000e+00 7.451441884040832520e-01 2.399077173322439194e-03 1.000000000000000000e+00 -1.000000000000000000e+00 7.424990534782409668e-01 7.996924105100333691e-04 1.000000000000000000e+00 -1.000000000000000000e+00 7.402845025062561035e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.385005950927734375e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.367166280746459961e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.349327206611633301e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.331488132476806641e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.313648462295532227e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.295809388160705566e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.277969717979431152e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.260130643844604492e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.242291569709777832e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.224451899528503418e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.206612825393676758e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.188773751258850098e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.170934081077575684e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.153095006942749023e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.135255932807922363e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.117416262626647949e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.099577188491821289e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.081737518310546875e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.063898444175720215e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.046059370040893555e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.028219699859619141e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.010380625724792480e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.992541551589965820e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.974701881408691406e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.956862807273864746e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.939023733139038086e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.921184062957763672e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.903344988822937012e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.885505318641662598e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.867666244506835938e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.849827170372009277e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.831987500190734863e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.814148426055908203e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.796309351921081543e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.778469681739807129e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.760630607604980469e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.742790937423706055e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.724951863288879395e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.707112789154052734e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.689273118972778320e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.671434044837951660e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.653594970703125000e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.635755300521850586e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.617916226387023926e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.600077152252197266e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.582237482070922852e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.564398407936096191e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.546558737754821777e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.528719663619995117e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.510880589485168457e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.493040919303894043e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.475201845169067383e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.457362771034240723e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.439523100852966309e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.421684026718139648e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.403844952583312988e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.386005282402038574e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.368166208267211914e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.350326538085937500e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.332487463951110840e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.314648389816284180e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.296808719635009766e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.278969645500183105e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.998615980148315430e-01 6.259284615516662598e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.996770620346069336e-01 6.238985061645507812e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.994925260543823242e-01 6.218684911727905273e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.993079304695129395e-01 6.198385357856750488e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.991233944892883301e-01 6.178085207939147949e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.989388585090637207e-01 6.157785654067993164e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.987543225288391113e-01 6.137485504150390625e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.985697865486145020e-01 6.117185950279235840e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.983852505683898926e-01 6.096885800361633301e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.982007145881652832e-01 6.076585650444030762e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.980161190032958984e-01 6.056286096572875977e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.978315830230712891e-01 6.035985946655273438e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.976470470428466797e-01 6.015686392784118652e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.974625110626220703e-01 5.995386242866516113e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.972779750823974609e-01 5.975086688995361328e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.970934391021728516e-01 5.954786539077758789e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.969089031219482422e-01 5.934486985206604004e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.967243075370788574e-01 5.914186835289001465e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.965397715568542480e-01 5.893886685371398926e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.963552355766296387e-01 5.873587131500244141e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.961706995964050293e-01 5.853286981582641602e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.959861636161804199e-01 5.832987427711486816e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.958016276359558105e-01 5.812687277793884277e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.956170916557312012e-01 5.792387723922729492e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.954325556755065918e-01 5.772087574005126953e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.952479600906372070e-01 5.751788020133972168e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.950634241104125977e-01 5.731487870216369629e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.948788881301879883e-01 5.711187720298767090e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.946943521499633789e-01 5.690888166427612305e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.945098161697387695e-01 5.670588016510009766e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.943252801895141602e-01 5.650288462638854980e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.941407442092895508e-01 5.629988312721252441e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.939561486244201660e-01 5.609688758850097656e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.937716126441955566e-01 5.589388608932495117e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.935870766639709473e-01 5.569089055061340332e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.934025406837463379e-01 5.548788905143737793e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.932180047035217285e-01 5.528488755226135254e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.930334687232971191e-01 5.508189201354980469e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.928489327430725098e-01 5.487889051437377930e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.926643371582031250e-01 5.467589497566223145e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.924798011779785156e-01 5.447289347648620605e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.922952651977539062e-01 5.426989793777465820e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.921107292175292969e-01 5.406689643859863281e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.919261932373046875e-01 5.386390089988708496e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.917416572570800781e-01 5.366089940071105957e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.915571212768554688e-01 5.345789790153503418e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.913725256919860840e-01 5.325490236282348633e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.911879897117614746e-01 5.305190086364746094e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.910034537315368652e-01 5.284890532493591309e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.908189177513122559e-01 5.264590382575988770e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.906343817710876465e-01 5.244290828704833984e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.904498457908630371e-01 5.223990678787231445e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.902653098106384277e-01 5.203691124916076660e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.900807142257690430e-01 5.183390974998474121e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.898961782455444336e-01 5.163090825080871582e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.897116422653198242e-01 5.142791271209716797e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.895271062850952148e-01 5.122491121292114258e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.893425703048706055e-01 5.102191567420959473e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.891580343246459961e-01 5.081891417503356934e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.889734983444213867e-01 5.061591863632202148e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.887889027595520020e-01 5.041291713714599609e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.886043667793273926e-01 5.020992159843444824e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.884198307991027832e-01 5.000692009925842285e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.882352948188781738e-01 4.980392158031463623e-01 0.000000000000000000e+00 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/YlGn b/fastplotlib/utils/colormaps/YlGn deleted file mode 100644 index 74f49a080..000000000 --- a/fastplotlib/utils/colormaps/YlGn +++ /dev/null @@ -1,256 +0,0 @@ -1.000000000000000000e+00 1.000000000000000000e+00 8.980392217636108398e-01 1.000000000000000000e+00 -9.990157485008239746e-01 9.996309280395507812e-01 8.926259279251098633e-01 1.000000000000000000e+00 -9.980314970016479492e-01 9.992617964744567871e-01 8.872126340866088867e-01 1.000000000000000000e+00 -9.970473051071166992e-01 9.988927245140075684e-01 8.817992806434631348e-01 1.000000000000000000e+00 -9.960630536079406738e-01 9.985236525535583496e-01 8.763859868049621582e-01 1.000000000000000000e+00 -9.950788021087646484e-01 9.981545805931091309e-01 8.709726929664611816e-01 1.000000000000000000e+00 -9.940945506095886230e-01 9.977854490280151367e-01 8.655593991279602051e-01 1.000000000000000000e+00 -9.931103587150573730e-01 9.974163770675659180e-01 8.601461052894592285e-01 1.000000000000000000e+00 -9.921261072158813477e-01 9.970473051071166992e-01 8.547328114509582520e-01 1.000000000000000000e+00 -9.911418557167053223e-01 9.966781735420227051e-01 8.493195176124572754e-01 1.000000000000000000e+00 -9.901576042175292969e-01 9.963091015815734863e-01 8.439061641693115234e-01 1.000000000000000000e+00 -9.891734123229980469e-01 9.959400296211242676e-01 8.384928703308105469e-01 1.000000000000000000e+00 -9.881891608238220215e-01 9.955709576606750488e-01 8.330795764923095703e-01 1.000000000000000000e+00 -9.872049093246459961e-01 9.952018260955810547e-01 8.276662826538085938e-01 1.000000000000000000e+00 -9.862206578254699707e-01 9.948327541351318359e-01 8.222529888153076172e-01 1.000000000000000000e+00 -9.852364659309387207e-01 9.944636821746826172e-01 8.168396949768066406e-01 1.000000000000000000e+00 -9.842522144317626953e-01 9.940945506095886230e-01 8.114264011383056641e-01 1.000000000000000000e+00 -9.832679629325866699e-01 9.937254786491394043e-01 8.060130476951599121e-01 1.000000000000000000e+00 -9.822837114334106445e-01 9.933564066886901855e-01 8.005997538566589355e-01 1.000000000000000000e+00 -9.812995195388793945e-01 9.929873347282409668e-01 7.951864600181579590e-01 1.000000000000000000e+00 -9.803152680397033691e-01 9.926182031631469727e-01 7.897731661796569824e-01 1.000000000000000000e+00 -9.793310165405273438e-01 9.922491312026977539e-01 7.843598723411560059e-01 1.000000000000000000e+00 -9.783467650413513184e-01 9.918800592422485352e-01 7.789465785026550293e-01 1.000000000000000000e+00 -9.773625731468200684e-01 9.915109276771545410e-01 7.735332846641540527e-01 1.000000000000000000e+00 -9.763783216476440430e-01 9.911418557167053223e-01 7.681199312210083008e-01 1.000000000000000000e+00 -9.753940701484680176e-01 9.907727837562561035e-01 7.627066373825073242e-01 1.000000000000000000e+00 -9.744098186492919922e-01 9.904037117958068848e-01 7.572933435440063477e-01 1.000000000000000000e+00 -9.734256267547607422e-01 9.900345802307128906e-01 7.518800497055053711e-01 1.000000000000000000e+00 -9.724413752555847168e-01 9.896655082702636719e-01 7.464667558670043945e-01 1.000000000000000000e+00 -9.714571237564086914e-01 9.892964363098144531e-01 7.410534620285034180e-01 1.000000000000000000e+00 -9.704728722572326660e-01 9.889273643493652344e-01 7.356401681900024414e-01 1.000000000000000000e+00 -9.694886803627014160e-01 9.885582327842712402e-01 7.302268147468566895e-01 1.000000000000000000e+00 -9.681661128997802734e-01 9.880507588386535645e-01 7.251518368721008301e-01 1.000000000000000000e+00 -9.644752144813537598e-01 9.865744113922119141e-01 7.224451899528503418e-01 1.000000000000000000e+00 -9.607843160629272461e-01 9.850980639457702637e-01 7.197385430335998535e-01 1.000000000000000000e+00 -9.570934176445007324e-01 9.836216568946838379e-01 7.170318961143493652e-01 1.000000000000000000e+00 -9.534025192260742188e-01 9.821453094482421875e-01 7.143252491950988770e-01 1.000000000000000000e+00 -9.497116208076477051e-01 9.806689620018005371e-01 7.116186022758483887e-01 1.000000000000000000e+00 -9.460207819938659668e-01 9.791926145553588867e-01 7.089119553565979004e-01 1.000000000000000000e+00 -9.423298835754394531e-01 9.777162671089172363e-01 7.062053084373474121e-01 1.000000000000000000e+00 -9.386389851570129395e-01 9.762399196624755859e-01 7.034986615180969238e-01 1.000000000000000000e+00 -9.349480867385864258e-01 9.747635722160339355e-01 7.007920145988464355e-01 1.000000000000000000e+00 -9.312571883201599121e-01 9.732872247695922852e-01 6.980853676795959473e-01 1.000000000000000000e+00 -9.275663495063781738e-01 9.718108177185058594e-01 6.953787207603454590e-01 1.000000000000000000e+00 -9.238754510879516602e-01 9.703344702720642090e-01 6.926720738410949707e-01 1.000000000000000000e+00 -9.201845526695251465e-01 9.688581228256225586e-01 6.899654269218444824e-01 1.000000000000000000e+00 -9.164936542510986328e-01 9.673817753791809082e-01 6.872587203979492188e-01 1.000000000000000000e+00 -9.128027558326721191e-01 9.659054279327392578e-01 6.845520734786987305e-01 1.000000000000000000e+00 -9.091118574142456055e-01 9.644290804862976074e-01 6.818454265594482422e-01 1.000000000000000000e+00 -9.054210186004638672e-01 9.629527330398559570e-01 6.791387796401977539e-01 1.000000000000000000e+00 -9.017301201820373535e-01 9.614763259887695312e-01 6.764321327209472656e-01 1.000000000000000000e+00 -8.980392217636108398e-01 9.599999785423278809e-01 6.737254858016967773e-01 1.000000000000000000e+00 -8.943483233451843262e-01 9.585236310958862305e-01 6.710188388824462891e-01 1.000000000000000000e+00 -8.906574249267578125e-01 9.570472836494445801e-01 6.683121919631958008e-01 1.000000000000000000e+00 -8.869665265083312988e-01 9.555709362030029297e-01 6.656055450439453125e-01 1.000000000000000000e+00 -8.832756876945495605e-01 9.540945887565612793e-01 6.628988981246948242e-01 1.000000000000000000e+00 -8.795847892761230469e-01 9.526182413101196289e-01 6.601922512054443359e-01 1.000000000000000000e+00 -8.758938908576965332e-01 9.511418938636779785e-01 6.574856042861938477e-01 1.000000000000000000e+00 -8.722029924392700195e-01 9.496654868125915527e-01 6.547789573669433594e-01 1.000000000000000000e+00 -8.685120940208435059e-01 9.481891393661499023e-01 6.520722508430480957e-01 1.000000000000000000e+00 -8.648211956024169922e-01 9.467127919197082520e-01 6.493656039237976074e-01 1.000000000000000000e+00 -8.611303567886352539e-01 9.452364444732666016e-01 6.466589570045471191e-01 1.000000000000000000e+00 -8.574394583702087402e-01 9.437600970268249512e-01 6.439523100852966309e-01 1.000000000000000000e+00 -8.537485599517822266e-01 9.422837495803833008e-01 6.412456631660461426e-01 1.000000000000000000e+00 -8.496270775794982910e-01 9.405920505523681641e-01 6.385697722434997559e-01 1.000000000000000000e+00 -8.442137837409973145e-01 9.382545351982116699e-01 6.359861493110656738e-01 1.000000000000000000e+00 -8.388004899024963379e-01 9.359169602394104004e-01 6.334025263786315918e-01 1.000000000000000000e+00 -8.333871364593505859e-01 9.335793852806091309e-01 6.308189034461975098e-01 1.000000000000000000e+00 -8.279738426208496094e-01 9.312418103218078613e-01 6.282352805137634277e-01 1.000000000000000000e+00 -8.225605487823486328e-01 9.289042949676513672e-01 6.256516575813293457e-01 1.000000000000000000e+00 -8.171472549438476562e-01 9.265667200088500977e-01 6.230680346488952637e-01 1.000000000000000000e+00 -8.117339611053466797e-01 9.242291450500488281e-01 6.204844117164611816e-01 1.000000000000000000e+00 -8.063206672668457031e-01 9.218915700912475586e-01 6.179007887840270996e-01 1.000000000000000000e+00 -8.009073138236999512e-01 9.195539951324462891e-01 6.153171658515930176e-01 1.000000000000000000e+00 -7.954940199851989746e-01 9.172164797782897949e-01 6.127335429191589355e-01 1.000000000000000000e+00 -7.900807261466979980e-01 9.148789048194885254e-01 6.101499199867248535e-01 1.000000000000000000e+00 -7.846674323081970215e-01 9.125413298606872559e-01 6.075662970542907715e-01 1.000000000000000000e+00 -7.792541384696960449e-01 9.102037549018859863e-01 6.049826741218566895e-01 1.000000000000000000e+00 -7.738408446311950684e-01 9.078661799430847168e-01 6.023990511894226074e-01 1.000000000000000000e+00 -7.684275507926940918e-01 9.055286645889282227e-01 5.998154282569885254e-01 1.000000000000000000e+00 -7.630141973495483398e-01 9.031910896301269531e-01 5.972318053245544434e-01 1.000000000000000000e+00 -7.576009035110473633e-01 9.008535146713256836e-01 5.946482419967651367e-01 1.000000000000000000e+00 -7.521876096725463867e-01 8.985159397125244141e-01 5.920646190643310547e-01 1.000000000000000000e+00 -7.467743158340454102e-01 8.961783647537231445e-01 5.894809961318969727e-01 1.000000000000000000e+00 -7.413610219955444336e-01 8.938408493995666504e-01 5.868973731994628906e-01 1.000000000000000000e+00 -7.359477281570434570e-01 8.915032744407653809e-01 5.843137502670288086e-01 1.000000000000000000e+00 -7.305344343185424805e-01 8.891656994819641113e-01 5.817301273345947266e-01 1.000000000000000000e+00 -7.251210808753967285e-01 8.868281245231628418e-01 5.791465044021606445e-01 1.000000000000000000e+00 -7.197077870368957520e-01 8.844906091690063477e-01 5.765628814697265625e-01 1.000000000000000000e+00 -7.142944931983947754e-01 8.821530342102050781e-01 5.739792585372924805e-01 1.000000000000000000e+00 -7.088811993598937988e-01 8.798154592514038086e-01 5.713956356048583984e-01 1.000000000000000000e+00 -7.034679055213928223e-01 8.774778842926025391e-01 5.688120126724243164e-01 1.000000000000000000e+00 -6.980546116828918457e-01 8.751403093338012695e-01 5.662283897399902344e-01 1.000000000000000000e+00 -6.926413178443908691e-01 8.728027939796447754e-01 5.636447668075561523e-01 1.000000000000000000e+00 -6.872279644012451172e-01 8.704652190208435059e-01 5.610611438751220703e-01 1.000000000000000000e+00 -6.818146705627441406e-01 8.681276440620422363e-01 5.584775209426879883e-01 1.000000000000000000e+00 -6.759861707687377930e-01 8.656055331230163574e-01 5.558938980102539062e-01 1.000000000000000000e+00 -6.694656014442443848e-01 8.627758622169494629e-01 5.533102750778198242e-01 1.000000000000000000e+00 -6.629450321197509766e-01 8.599461913108825684e-01 5.507266521453857422e-01 1.000000000000000000e+00 -6.564244627952575684e-01 8.571165204048156738e-01 5.481430292129516602e-01 1.000000000000000000e+00 -6.499038934707641602e-01 8.542867898941040039e-01 5.455594062805175781e-01 1.000000000000000000e+00 -6.433833241462707520e-01 8.514571189880371094e-01 5.429757833480834961e-01 1.000000000000000000e+00 -6.368627548217773438e-01 8.486274480819702148e-01 5.403921604156494141e-01 1.000000000000000000e+00 -6.303421854972839355e-01 8.457977771759033203e-01 5.378085374832153320e-01 1.000000000000000000e+00 -6.238216161727905273e-01 8.429681062698364258e-01 5.352249145507812500e-01 1.000000000000000000e+00 -6.173010468482971191e-01 8.401384353637695312e-01 5.326412916183471680e-01 1.000000000000000000e+00 -6.107804775238037109e-01 8.373087048530578613e-01 5.300576686859130859e-01 1.000000000000000000e+00 -6.042599081993103027e-01 8.344790339469909668e-01 5.274740457534790039e-01 1.000000000000000000e+00 -5.977393388748168945e-01 8.316493630409240723e-01 5.248904228210449219e-01 1.000000000000000000e+00 -5.912187695503234863e-01 8.288196921348571777e-01 5.223067998886108398e-01 1.000000000000000000e+00 -5.846982002258300781e-01 8.259900212287902832e-01 5.197231769561767578e-01 1.000000000000000000e+00 -5.781776309013366699e-01 8.231603503227233887e-01 5.171395540237426758e-01 1.000000000000000000e+00 -5.716570615768432617e-01 8.203306198120117188e-01 5.145559310913085938e-01 1.000000000000000000e+00 -5.651364922523498535e-01 8.175009489059448242e-01 5.119723081588745117e-01 1.000000000000000000e+00 -5.586159229278564453e-01 8.146712779998779297e-01 5.093886852264404297e-01 1.000000000000000000e+00 -5.520953536033630371e-01 8.118416070938110352e-01 5.068050622940063477e-01 1.000000000000000000e+00 -5.455747842788696289e-01 8.090119361877441406e-01 5.042214393615722656e-01 1.000000000000000000e+00 -5.390542149543762207e-01 8.061822652816772461e-01 5.016378164291381836e-01 1.000000000000000000e+00 -5.325336456298828125e-01 8.033525347709655762e-01 4.990542232990264893e-01 1.000000000000000000e+00 -5.260130763053894043e-01 8.005228638648986816e-01 4.964706003665924072e-01 1.000000000000000000e+00 -5.194925069808959961e-01 7.976931929588317871e-01 4.938869774341583252e-01 1.000000000000000000e+00 -5.129719376564025879e-01 7.948635220527648926e-01 4.913033545017242432e-01 1.000000000000000000e+00 -5.064513683319091797e-01 7.920338511466979980e-01 4.887197315692901611e-01 1.000000000000000000e+00 -4.999307990074157715e-01 7.892041802406311035e-01 4.861361086368560791e-01 1.000000000000000000e+00 -4.934102296829223633e-01 7.863744497299194336e-01 4.835524857044219971e-01 1.000000000000000000e+00 -4.868896603584289551e-01 7.835447788238525391e-01 4.809688627719879150e-01 1.000000000000000000e+00 -4.803690910339355469e-01 7.807151079177856445e-01 4.783852398395538330e-01 1.000000000000000000e+00 -4.738485217094421387e-01 7.778854370117187500e-01 4.758016169071197510e-01 1.000000000000000000e+00 -4.672049283981323242e-01 7.748097181320190430e-01 4.727873802185058594e-01 1.000000000000000000e+00 -4.604382812976837158e-01 7.714878916740417480e-01 4.693425595760345459e-01 1.000000000000000000e+00 -4.536716639995574951e-01 7.681660652160644531e-01 4.658977389335632324e-01 1.000000000000000000e+00 -4.469050467014312744e-01 7.648442983627319336e-01 4.624528884887695312e-01 1.000000000000000000e+00 -4.401383996009826660e-01 7.615224719047546387e-01 4.590080678462982178e-01 1.000000000000000000e+00 -4.333717823028564453e-01 7.582007050514221191e-01 4.555632472038269043e-01 1.000000000000000000e+00 -4.266051650047302246e-01 7.548788785934448242e-01 4.521184265613555908e-01 1.000000000000000000e+00 -4.198385179042816162e-01 7.515571117401123047e-01 4.486735761165618896e-01 1.000000000000000000e+00 -4.130719006061553955e-01 7.482352852821350098e-01 4.452287554740905762e-01 1.000000000000000000e+00 -4.063052535057067871e-01 7.449135184288024902e-01 4.417839348316192627e-01 1.000000000000000000e+00 -3.995386362075805664e-01 7.415916919708251953e-01 4.383391141891479492e-01 1.000000000000000000e+00 -3.927720189094543457e-01 7.382699251174926758e-01 4.348942637443542480e-01 1.000000000000000000e+00 -3.860053718090057373e-01 7.349480986595153809e-01 4.314494431018829346e-01 1.000000000000000000e+00 -3.792387545108795166e-01 7.316262722015380859e-01 4.280046224594116211e-01 1.000000000000000000e+00 -3.724721372127532959e-01 7.283045053482055664e-01 4.245597720146179199e-01 1.000000000000000000e+00 -3.657054901123046875e-01 7.249826788902282715e-01 4.211149513721466064e-01 1.000000000000000000e+00 -3.589388728141784668e-01 7.216609120368957520e-01 4.176701307296752930e-01 1.000000000000000000e+00 -3.521722555160522461e-01 7.183390855789184570e-01 4.142253100872039795e-01 1.000000000000000000e+00 -3.454056084156036377e-01 7.150173187255859375e-01 4.107804596424102783e-01 1.000000000000000000e+00 -3.386389911174774170e-01 7.116954922676086426e-01 4.073356389999389648e-01 1.000000000000000000e+00 -3.318723440170288086e-01 7.083737254142761230e-01 4.038908183574676514e-01 1.000000000000000000e+00 -3.251057267189025879e-01 7.050518989562988281e-01 4.004459679126739502e-01 1.000000000000000000e+00 -3.183391094207763672e-01 7.017301321029663086e-01 3.970011472702026367e-01 1.000000000000000000e+00 -3.115724623203277588e-01 6.984083056449890137e-01 3.935563266277313232e-01 1.000000000000000000e+00 -3.048058450222015381e-01 6.950864791870117188e-01 3.901115059852600098e-01 1.000000000000000000e+00 -2.980392277240753174e-01 6.917647123336791992e-01 3.866666555404663086e-01 1.000000000000000000e+00 -2.912725806236267090e-01 6.884428858757019043e-01 3.832218348979949951e-01 1.000000000000000000e+00 -2.845059633255004883e-01 6.851211190223693848e-01 3.797770142555236816e-01 1.000000000000000000e+00 -2.777393162250518799e-01 6.817992925643920898e-01 3.763321936130523682e-01 1.000000000000000000e+00 -2.709726989269256592e-01 6.784775257110595703e-01 3.728873431682586670e-01 1.000000000000000000e+00 -2.642060816287994385e-01 6.751556992530822754e-01 3.694425225257873535e-01 1.000000000000000000e+00 -2.574394345283508301e-01 6.718339323997497559e-01 3.659977018833160400e-01 1.000000000000000000e+00 -2.525951564311981201e-01 6.675893664360046387e-01 3.627066612243652344e-01 1.000000000000000000e+00 -2.489042729139328003e-01 6.627912521362304688e-01 3.595078885555267334e-01 1.000000000000000000e+00 -2.452133744955062866e-01 6.579930782318115234e-01 3.563091158866882324e-01 1.000000000000000000e+00 -2.415224909782409668e-01 6.531949043273925781e-01 3.531103432178497314e-01 1.000000000000000000e+00 -2.378316074609756470e-01 6.483967900276184082e-01 3.499115705490112305e-01 1.000000000000000000e+00 -2.341407090425491333e-01 6.435986161231994629e-01 3.467127978801727295e-01 1.000000000000000000e+00 -2.304498255252838135e-01 6.388004422187805176e-01 3.435140252113342285e-01 1.000000000000000000e+00 -2.267589420080184937e-01 6.340023279190063477e-01 3.403152525424957275e-01 1.000000000000000000e+00 -2.230680435895919800e-01 6.292041540145874023e-01 3.371164798736572266e-01 1.000000000000000000e+00 -2.193771600723266602e-01 6.244059801101684570e-01 3.339177370071411133e-01 1.000000000000000000e+00 -2.156862765550613403e-01 6.196078658103942871e-01 3.307189643383026123e-01 1.000000000000000000e+00 -2.119953930377960205e-01 6.148096919059753418e-01 3.275201916694641113e-01 1.000000000000000000e+00 -2.083044946193695068e-01 6.100115180015563965e-01 3.243214190006256104e-01 1.000000000000000000e+00 -2.046136111021041870e-01 6.052134037017822266e-01 3.211226463317871094e-01 1.000000000000000000e+00 -2.009227275848388672e-01 6.004152297973632812e-01 3.179238736629486084e-01 1.000000000000000000e+00 -1.972318291664123535e-01 5.956170558929443359e-01 3.147251009941101074e-01 1.000000000000000000e+00 -1.935409456491470337e-01 5.908189415931701660e-01 3.115263283252716064e-01 1.000000000000000000e+00 -1.898500621318817139e-01 5.860207676887512207e-01 3.083275556564331055e-01 1.000000000000000000e+00 -1.861591637134552002e-01 5.812225937843322754e-01 3.051287829875946045e-01 1.000000000000000000e+00 -1.824682801961898804e-01 5.764244794845581055e-01 3.019300401210784912e-01 1.000000000000000000e+00 -1.787773966789245605e-01 5.716263055801391602e-01 2.987312674522399902e-01 1.000000000000000000e+00 -1.750864982604980469e-01 5.668281316757202148e-01 2.955324947834014893e-01 1.000000000000000000e+00 -1.713956147432327271e-01 5.620300173759460449e-01 2.923337221145629883e-01 1.000000000000000000e+00 -1.677047312259674072e-01 5.572318434715270996e-01 2.891349494457244873e-01 1.000000000000000000e+00 -1.640138477087020874e-01 5.524336695671081543e-01 2.859361767768859863e-01 1.000000000000000000e+00 -1.603229492902755737e-01 5.476354956626892090e-01 2.827374041080474854e-01 1.000000000000000000e+00 -1.566320657730102539e-01 5.428373813629150391e-01 2.795386314392089844e-01 1.000000000000000000e+00 -1.529411822557449341e-01 5.380392074584960938e-01 2.763398587703704834e-01 1.000000000000000000e+00 -1.492502838373184204e-01 5.332410335540771484e-01 2.731410861015319824e-01 1.000000000000000000e+00 -1.455594003200531006e-01 5.284429192543029785e-01 2.699423432350158691e-01 1.000000000000000000e+00 -1.418685168027877808e-01 5.236447453498840332e-01 2.667435705661773682e-01 1.000000000000000000e+00 -1.381776183843612671e-01 5.188465714454650879e-01 2.635447978973388672e-01 1.000000000000000000e+00 -1.340253800153732300e-01 5.150634646415710449e-01 2.616378366947174072e-01 1.000000000000000000e+00 -1.297193318605422974e-01 5.116186141967773438e-01 2.601614892482757568e-01 1.000000000000000000e+00 -1.254132986068725586e-01 5.081737637519836426e-01 2.586851119995117188e-01 1.000000000000000000e+00 -1.211072653532028198e-01 5.047289729118347168e-01 2.572087645530700684e-01 1.000000000000000000e+00 -1.168012320995330811e-01 5.012841224670410156e-01 2.557324171066284180e-01 1.000000000000000000e+00 -1.124951913952827454e-01 4.978393018245697021e-01 2.542560696601867676e-01 1.000000000000000000e+00 -1.081891581416130066e-01 4.943944513797760010e-01 2.527796924114227295e-01 1.000000000000000000e+00 -1.038831248879432678e-01 4.909496307373046875e-01 2.513033449649810791e-01 1.000000000000000000e+00 -9.957708418369293213e-02 4.875048100948333740e-01 2.498269826173782349e-01 1.000000000000000000e+00 -9.527105093002319336e-02 4.840599894523620605e-01 2.483506351709365845e-01 1.000000000000000000e+00 -9.096501022577285767e-02 4.806151390075683594e-01 2.468742728233337402e-01 1.000000000000000000e+00 -8.665897697210311890e-02 4.771703183650970459e-01 2.453979253768920898e-01 1.000000000000000000e+00 -8.235294371843338013e-02 4.737254977226257324e-01 2.439215630292892456e-01 1.000000000000000000e+00 -7.804690301418304443e-02 4.702806472778320312e-01 2.424452155828475952e-01 1.000000000000000000e+00 -7.374086976051330566e-02 4.668358266353607178e-01 2.409688532352447510e-01 1.000000000000000000e+00 -6.943482905626296997e-02 4.633910059928894043e-01 2.394925057888031006e-01 1.000000000000000000e+00 -6.512879580259323120e-02 4.599461853504180908e-01 2.380161434412002563e-01 1.000000000000000000e+00 -6.082275882363319397e-02 4.565013349056243896e-01 2.365397959947586060e-01 1.000000000000000000e+00 -5.651672556996345520e-02 4.530565142631530762e-01 2.350634336471557617e-01 1.000000000000000000e+00 -5.221068859100341797e-02 4.496116936206817627e-01 2.335870862007141113e-01 1.000000000000000000e+00 -4.790465161204338074e-02 4.461668729782104492e-01 2.321107238531112671e-01 1.000000000000000000e+00 -4.359861463308334351e-02 4.427220225334167480e-01 2.306343764066696167e-01 1.000000000000000000e+00 -3.929258137941360474e-02 4.392772018909454346e-01 2.291580140590667725e-01 1.000000000000000000e+00 -3.498654440045356750e-02 4.358323812484741211e-01 2.276816666126251221e-01 1.000000000000000000e+00 -3.068050742149353027e-02 4.323875308036804199e-01 2.262053042650222778e-01 1.000000000000000000e+00 -2.637447044253349304e-02 4.289427101612091064e-01 2.247289568185806274e-01 1.000000000000000000e+00 -2.206843532621860504e-02 4.254978895187377930e-01 2.232525944709777832e-01 1.000000000000000000e+00 -1.776239834725856781e-02 4.220530688762664795e-01 2.217762470245361328e-01 1.000000000000000000e+00 -1.345636323094367981e-02 4.186082184314727783e-01 2.202998846769332886e-01 1.000000000000000000e+00 -9.150327183306217194e-03 4.151633977890014648e-01 2.188235223293304443e-01 1.000000000000000000e+00 -4.844290670007467270e-03 4.117185771465301514e-01 2.173471748828887939e-01 1.000000000000000000e+00 -5.382545059546828270e-04 4.082737267017364502e-01 2.158708125352859497e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.040753543376922607e-01 2.141791582107543945e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.997693061828613281e-01 2.124567478895187378e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.954632878303527832e-01 2.107343375682830811e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.911572396755218506e-01 2.090119123458862305e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.868512213230133057e-01 2.072895020246505737e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.825451731681823730e-01 2.055670917034149170e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.782391250133514404e-01 2.038446813821792603e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.739331066608428955e-01 2.021222561597824097e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.696270585060119629e-01 2.003998458385467529e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.653210401535034180e-01 1.986774355173110962e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.610149919986724854e-01 1.969550102949142456e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.567089438438415527e-01 1.952325999736785889e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.524029254913330078e-01 1.935101896524429321e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.480968773365020752e-01 1.917877793312072754e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.437908589839935303e-01 1.900653541088104248e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.394848108291625977e-01 1.883429437875747681e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.351787626743316650e-01 1.866205334663391113e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.308727443218231201e-01 1.848981231451034546e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.265666961669921875e-01 1.831756979227066040e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.222606778144836426e-01 1.814532876014709473e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.179546296596527100e-01 1.797308772802352905e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.136486113071441650e-01 1.780084520578384399e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.093425631523132324e-01 1.762860417366027832e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.050365149974822998e-01 1.745636314153671265e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.007304966449737549e-01 1.728412210941314697e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.964244484901428223e-01 1.711187958717346191e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.921184301376342773e-01 1.693963855504989624e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.878123819828033447e-01 1.676739752292633057e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.835063338279724121e-01 1.659515500068664551e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.792003154754638672e-01 1.642291396856307983e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.748942673206329346e-01 1.625067293643951416e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.705882489681243896e-01 1.607843190431594849e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/YlGnBu b/fastplotlib/utils/colormaps/YlGnBu deleted file mode 100644 index fc81887cc..000000000 --- a/fastplotlib/utils/colormaps/YlGnBu +++ /dev/null @@ -1,256 +0,0 @@ -1.000000000000000000e+00 1.000000000000000000e+00 8.509804010391235352e-01 1.000000000000000000e+00 -9.977854490280151367e-01 9.991387724876403809e-01 8.460592031478881836e-01 1.000000000000000000e+00 -9.955709576606750488e-01 9.982776045799255371e-01 8.411380052566528320e-01 1.000000000000000000e+00 -9.933564066886901855e-01 9.974163770675659180e-01 8.362168669700622559e-01 1.000000000000000000e+00 -9.911418557167053223e-01 9.965551495552062988e-01 8.312956690788269043e-01 1.000000000000000000e+00 -9.889273643493652344e-01 9.956939816474914551e-01 8.263744711875915527e-01 1.000000000000000000e+00 -9.867128133773803711e-01 9.948327541351318359e-01 8.214532732963562012e-01 1.000000000000000000e+00 -9.844982624053955078e-01 9.939715266227722168e-01 8.165320754051208496e-01 1.000000000000000000e+00 -9.822837114334106445e-01 9.931103587150573730e-01 8.116109371185302734e-01 1.000000000000000000e+00 -9.800692200660705566e-01 9.922491312026977539e-01 8.066897392272949219e-01 1.000000000000000000e+00 -9.778546690940856934e-01 9.913879036903381348e-01 8.017685413360595703e-01 1.000000000000000000e+00 -9.756401181221008301e-01 9.905267357826232910e-01 7.968473434448242188e-01 1.000000000000000000e+00 -9.734256267547607422e-01 9.896655082702636719e-01 7.919262051582336426e-01 1.000000000000000000e+00 -9.712110757827758789e-01 9.888042807579040527e-01 7.870050072669982910e-01 1.000000000000000000e+00 -9.689965248107910156e-01 9.879431128501892090e-01 7.820838093757629395e-01 1.000000000000000000e+00 -9.667820334434509277e-01 9.870818853378295898e-01 7.771626114845275879e-01 1.000000000000000000e+00 -9.645674824714660645e-01 9.862206578254699707e-01 7.722414731979370117e-01 1.000000000000000000e+00 -9.623529314994812012e-01 9.853594899177551270e-01 7.673202753067016602e-01 1.000000000000000000e+00 -9.601383805274963379e-01 9.844982624053955078e-01 7.623990774154663086e-01 1.000000000000000000e+00 -9.579238891601562500e-01 9.836370348930358887e-01 7.574778795242309570e-01 1.000000000000000000e+00 -9.557093381881713867e-01 9.827758669853210449e-01 7.525566816329956055e-01 1.000000000000000000e+00 -9.534947872161865234e-01 9.819146394729614258e-01 7.476355433464050293e-01 1.000000000000000000e+00 -9.512802958488464355e-01 9.810534119606018066e-01 7.427143454551696777e-01 1.000000000000000000e+00 -9.490657448768615723e-01 9.801922440528869629e-01 7.377931475639343262e-01 1.000000000000000000e+00 -9.468511939048767090e-01 9.793310165405273438e-01 7.328719496726989746e-01 1.000000000000000000e+00 -9.446367025375366211e-01 9.784698486328125000e-01 7.279508113861083984e-01 1.000000000000000000e+00 -9.424221515655517578e-01 9.776086211204528809e-01 7.230296134948730469e-01 1.000000000000000000e+00 -9.402076005935668945e-01 9.767473936080932617e-01 7.181084156036376953e-01 1.000000000000000000e+00 -9.379931092262268066e-01 9.758862257003784180e-01 7.131872177124023438e-01 1.000000000000000000e+00 -9.357785582542419434e-01 9.750249981880187988e-01 7.082660794258117676e-01 1.000000000000000000e+00 -9.335640072822570801e-01 9.741637706756591797e-01 7.033448815345764160e-01 1.000000000000000000e+00 -9.313494563102722168e-01 9.733026027679443359e-01 6.984236836433410645e-01 1.000000000000000000e+00 -9.288273453712463379e-01 9.723183512687683105e-01 6.941637992858886719e-01 1.000000000000000000e+00 -9.241522550582885742e-01 9.704728722572326660e-01 6.945328712463378906e-01 1.000000000000000000e+00 -9.194771051406860352e-01 9.686274528503417969e-01 6.949019432067871094e-01 1.000000000000000000e+00 -9.148020148277282715e-01 9.667820334434509277e-01 6.952710747718811035e-01 1.000000000000000000e+00 -9.101268649101257324e-01 9.649365544319152832e-01 6.956401467323303223e-01 1.000000000000000000e+00 -9.054517745971679688e-01 9.630911350250244141e-01 6.960092186927795410e-01 1.000000000000000000e+00 -9.007766246795654297e-01 9.612456560134887695e-01 6.963782906532287598e-01 1.000000000000000000e+00 -8.961014747619628906e-01 9.594002366065979004e-01 6.967474222183227539e-01 1.000000000000000000e+00 -8.914263844490051270e-01 9.575547575950622559e-01 6.971164941787719727e-01 1.000000000000000000e+00 -8.867512345314025879e-01 9.557093381881713867e-01 6.974855661392211914e-01 1.000000000000000000e+00 -8.820761442184448242e-01 9.538639187812805176e-01 6.978546977043151855e-01 1.000000000000000000e+00 -8.774009943008422852e-01 9.520184397697448730e-01 6.982237696647644043e-01 1.000000000000000000e+00 -8.727259039878845215e-01 9.501730203628540039e-01 6.985928416252136230e-01 1.000000000000000000e+00 -8.680507540702819824e-01 9.483275413513183594e-01 6.989619135856628418e-01 1.000000000000000000e+00 -8.633756041526794434e-01 9.464821219444274902e-01 6.993310451507568359e-01 1.000000000000000000e+00 -8.587005138397216797e-01 9.446367025375366211e-01 6.997001171112060547e-01 1.000000000000000000e+00 -8.540253639221191406e-01 9.427912235260009766e-01 7.000691890716552734e-01 1.000000000000000000e+00 -8.493502736091613770e-01 9.409458041191101074e-01 7.004383206367492676e-01 1.000000000000000000e+00 -8.446751236915588379e-01 9.391003251075744629e-01 7.008073925971984863e-01 1.000000000000000000e+00 -8.399999737739562988e-01 9.372549057006835938e-01 7.011764645576477051e-01 1.000000000000000000e+00 -8.353248834609985352e-01 9.354094862937927246e-01 7.015455365180969238e-01 1.000000000000000000e+00 -8.306497335433959961e-01 9.335640072822570801e-01 7.019146680831909180e-01 1.000000000000000000e+00 -8.259746432304382324e-01 9.317185878753662109e-01 7.022837400436401367e-01 1.000000000000000000e+00 -8.212994933128356934e-01 9.298731088638305664e-01 7.026528120040893555e-01 1.000000000000000000e+00 -8.166244029998779297e-01 9.280276894569396973e-01 7.030219435691833496e-01 1.000000000000000000e+00 -8.119492530822753906e-01 9.261822104454040527e-01 7.033910155296325684e-01 1.000000000000000000e+00 -8.072741031646728516e-01 9.243367910385131836e-01 7.037600874900817871e-01 1.000000000000000000e+00 -8.025990128517150879e-01 9.224913716316223145e-01 7.041291594505310059e-01 1.000000000000000000e+00 -7.979238629341125488e-01 9.206458926200866699e-01 7.044982910156250000e-01 1.000000000000000000e+00 -7.932487726211547852e-01 9.188004732131958008e-01 7.048673629760742188e-01 1.000000000000000000e+00 -7.885736227035522461e-01 9.169549942016601562e-01 7.052364349365234375e-01 1.000000000000000000e+00 -7.838984727859497070e-01 9.151095747947692871e-01 7.056055068969726562e-01 1.000000000000000000e+00 -7.781776189804077148e-01 9.128642678260803223e-01 7.060976624488830566e-01 1.000000000000000000e+00 -7.693194746971130371e-01 9.094194769859313965e-01 7.069588899612426758e-01 1.000000000000000000e+00 -7.604613900184631348e-01 9.059746265411376953e-01 7.078200578689575195e-01 1.000000000000000000e+00 -7.516032457351684570e-01 9.025297760963439941e-01 7.086812853813171387e-01 1.000000000000000000e+00 -7.427451014518737793e-01 8.990849852561950684e-01 7.095425128936767578e-01 1.000000000000000000e+00 -7.338869571685791016e-01 8.956401348114013672e-01 7.104036808013916016e-01 1.000000000000000000e+00 -7.250288128852844238e-01 8.921952843666076660e-01 7.112649083137512207e-01 1.000000000000000000e+00 -7.161707282066345215e-01 8.887504935264587402e-01 7.121260762214660645e-01 1.000000000000000000e+00 -7.073125839233398438e-01 8.853056430816650391e-01 7.129873037338256836e-01 1.000000000000000000e+00 -6.984544396400451660e-01 8.818608522415161133e-01 7.138485312461853027e-01 1.000000000000000000e+00 -6.895962953567504883e-01 8.784160017967224121e-01 7.147096991539001465e-01 1.000000000000000000e+00 -6.807381510734558105e-01 8.749711513519287109e-01 7.155709266662597656e-01 1.000000000000000000e+00 -6.718800663948059082e-01 8.715263605117797852e-01 7.164321541786193848e-01 1.000000000000000000e+00 -6.630219221115112305e-01 8.680815100669860840e-01 7.172933220863342285e-01 1.000000000000000000e+00 -6.541637778282165527e-01 8.646366596221923828e-01 7.181545495986938477e-01 1.000000000000000000e+00 -6.453056335449218750e-01 8.611918687820434570e-01 7.190157771110534668e-01 1.000000000000000000e+00 -6.364475488662719727e-01 8.577470183372497559e-01 7.198769450187683105e-01 1.000000000000000000e+00 -6.275894045829772949e-01 8.543021678924560547e-01 7.207381725311279297e-01 1.000000000000000000e+00 -6.187312602996826172e-01 8.508573770523071289e-01 7.215994000434875488e-01 1.000000000000000000e+00 -6.098731160163879395e-01 8.474125266075134277e-01 7.224605679512023926e-01 1.000000000000000000e+00 -6.010149717330932617e-01 8.439676761627197266e-01 7.233217954635620117e-01 1.000000000000000000e+00 -5.921568870544433594e-01 8.405228853225708008e-01 7.241830229759216309e-01 1.000000000000000000e+00 -5.832987427711486816e-01 8.370780348777770996e-01 7.250441908836364746e-01 1.000000000000000000e+00 -5.744405984878540039e-01 8.336332440376281738e-01 7.259054183959960938e-01 1.000000000000000000e+00 -5.655824542045593262e-01 8.301883935928344727e-01 7.267666459083557129e-01 1.000000000000000000e+00 -5.567243099212646484e-01 8.267435431480407715e-01 7.276278138160705566e-01 1.000000000000000000e+00 -5.478662252426147461e-01 8.232987523078918457e-01 7.284890413284301758e-01 1.000000000000000000e+00 -5.390080809593200684e-01 8.198539018630981445e-01 7.293502688407897949e-01 1.000000000000000000e+00 -5.301499366760253906e-01 8.164090514183044434e-01 7.302114367485046387e-01 1.000000000000000000e+00 -5.212917923927307129e-01 8.129642605781555176e-01 7.310726642608642578e-01 1.000000000000000000e+00 -5.124337077140808105e-01 8.095194101333618164e-01 7.319338917732238770e-01 1.000000000000000000e+00 -5.035755634307861328e-01 8.060745596885681152e-01 7.327950596809387207e-01 1.000000000000000000e+00 -4.951787889003753662e-01 8.028604388236999512e-01 7.337485551834106445e-01 1.000000000000000000e+00 -4.875509440898895264e-01 8.000307679176330566e-01 7.348558306694030762e-01 1.000000000000000000e+00 -4.799230992794036865e-01 7.972010970115661621e-01 7.359631061553955078e-01 1.000000000000000000e+00 -4.722952842712402344e-01 7.943713665008544922e-01 7.370703816413879395e-01 1.000000000000000000e+00 -4.646674394607543945e-01 7.915416955947875977e-01 7.381775975227355957e-01 1.000000000000000000e+00 -4.570395946502685547e-01 7.887120246887207031e-01 7.392848730087280273e-01 1.000000000000000000e+00 -4.494117498397827148e-01 7.858823537826538086e-01 7.403921484947204590e-01 1.000000000000000000e+00 -4.417839348316192627e-01 7.830526828765869141e-01 7.414994239807128906e-01 1.000000000000000000e+00 -4.341560900211334229e-01 7.802230119705200195e-01 7.426066994667053223e-01 1.000000000000000000e+00 -4.265282452106475830e-01 7.773932814598083496e-01 7.437139749526977539e-01 1.000000000000000000e+00 -4.189004302024841309e-01 7.745636105537414551e-01 7.448212504386901855e-01 1.000000000000000000e+00 -4.112725853919982910e-01 7.717339396476745605e-01 7.459284663200378418e-01 1.000000000000000000e+00 -4.036447405815124512e-01 7.689042687416076660e-01 7.470357418060302734e-01 1.000000000000000000e+00 -3.960169255733489990e-01 7.660745978355407715e-01 7.481430172920227051e-01 1.000000000000000000e+00 -3.883890807628631592e-01 7.632449269294738770e-01 7.492502927780151367e-01 1.000000000000000000e+00 -3.807612359523773193e-01 7.604151964187622070e-01 7.503575682640075684e-01 1.000000000000000000e+00 -3.731334209442138672e-01 7.575855255126953125e-01 7.514648437500000000e-01 1.000000000000000000e+00 -3.655055761337280273e-01 7.547558546066284180e-01 7.525720596313476562e-01 1.000000000000000000e+00 -3.578777313232421875e-01 7.519261837005615234e-01 7.536793351173400879e-01 1.000000000000000000e+00 -3.502499163150787354e-01 7.490965127944946289e-01 7.547866106033325195e-01 1.000000000000000000e+00 -3.426220715045928955e-01 7.462668418884277344e-01 7.558938860893249512e-01 1.000000000000000000e+00 -3.349942266941070557e-01 7.434371113777160645e-01 7.570011615753173828e-01 1.000000000000000000e+00 -3.273664116859436035e-01 7.406074404716491699e-01 7.581084370613098145e-01 1.000000000000000000e+00 -3.197385668754577637e-01 7.377777695655822754e-01 7.592157125473022461e-01 1.000000000000000000e+00 -3.121107220649719238e-01 7.349480986595153809e-01 7.603229284286499023e-01 1.000000000000000000e+00 -3.044828772544860840e-01 7.321184277534484863e-01 7.614302039146423340e-01 1.000000000000000000e+00 -2.968550622463226318e-01 7.292887568473815918e-01 7.625374794006347656e-01 1.000000000000000000e+00 -2.892272174358367920e-01 7.264590263366699219e-01 7.636447548866271973e-01 1.000000000000000000e+00 -2.815993726253509521e-01 7.236293554306030273e-01 7.647520303726196289e-01 1.000000000000000000e+00 -2.739715576171875000e-01 7.207996845245361328e-01 7.658593058586120605e-01 1.000000000000000000e+00 -2.663437128067016602e-01 7.179700136184692383e-01 7.669665217399597168e-01 1.000000000000000000e+00 -2.587158679962158203e-01 7.151403427124023438e-01 7.680737972259521484e-01 1.000000000000000000e+00 -2.526874244213104248e-01 7.114494442939758301e-01 7.683814167976379395e-01 1.000000000000000000e+00 -2.482583671808242798e-01 7.068973183631896973e-01 7.678892612457275391e-01 1.000000000000000000e+00 -2.438292950391769409e-01 7.023452520370483398e-01 7.673971652984619141e-01 1.000000000000000000e+00 -2.394002377986907959e-01 6.977931857109069824e-01 7.669050097465515137e-01 1.000000000000000000e+00 -2.349711656570434570e-01 6.932410597801208496e-01 7.664129137992858887e-01 1.000000000000000000e+00 -2.305420935153961182e-01 6.886889934539794922e-01 7.659208178520202637e-01 1.000000000000000000e+00 -2.261130362749099731e-01 6.841368675231933594e-01 7.654286623001098633e-01 1.000000000000000000e+00 -2.216839641332626343e-01 6.795848011970520020e-01 7.649365663528442383e-01 1.000000000000000000e+00 -2.172549068927764893e-01 6.750326752662658691e-01 7.644444704055786133e-01 1.000000000000000000e+00 -2.128258347511291504e-01 6.704806089401245117e-01 7.639523148536682129e-01 1.000000000000000000e+00 -2.083967775106430054e-01 6.659284830093383789e-01 7.634602189064025879e-01 1.000000000000000000e+00 -2.039677053689956665e-01 6.613764166831970215e-01 7.629680633544921875e-01 1.000000000000000000e+00 -1.995386332273483276e-01 6.568242907524108887e-01 7.624759674072265625e-01 1.000000000000000000e+00 -1.951095759868621826e-01 6.522722244262695312e-01 7.619838714599609375e-01 1.000000000000000000e+00 -1.906805038452148438e-01 6.477200984954833984e-01 7.614917159080505371e-01 1.000000000000000000e+00 -1.862514466047286987e-01 6.431680321693420410e-01 7.609996199607849121e-01 1.000000000000000000e+00 -1.818223744630813599e-01 6.386159062385559082e-01 7.605075240135192871e-01 1.000000000000000000e+00 -1.773933172225952148e-01 6.340638399124145508e-01 7.600153684616088867e-01 1.000000000000000000e+00 -1.729642450809478760e-01 6.295117139816284180e-01 7.595232725143432617e-01 1.000000000000000000e+00 -1.685351729393005371e-01 6.249596476554870605e-01 7.590311169624328613e-01 1.000000000000000000e+00 -1.641061156988143921e-01 6.204075217247009277e-01 7.585390210151672363e-01 1.000000000000000000e+00 -1.596770435571670532e-01 6.158554553985595703e-01 7.580469250679016113e-01 1.000000000000000000e+00 -1.552479863166809082e-01 6.113033294677734375e-01 7.575547695159912109e-01 1.000000000000000000e+00 -1.508189141750335693e-01 6.067512631416320801e-01 7.570626735687255859e-01 1.000000000000000000e+00 -1.463898569345474243e-01 6.021991372108459473e-01 7.565705776214599609e-01 1.000000000000000000e+00 -1.419607847929000854e-01 5.976470708847045898e-01 7.560784220695495605e-01 1.000000000000000000e+00 -1.375317126512527466e-01 5.930949449539184570e-01 7.555863261222839355e-01 1.000000000000000000e+00 -1.331026554107666016e-01 5.885428786277770996e-01 7.550941705703735352e-01 1.000000000000000000e+00 -1.286735832691192627e-01 5.839907526969909668e-01 7.546020746231079102e-01 1.000000000000000000e+00 -1.242445185780525208e-01 5.794386863708496094e-01 7.541099786758422852e-01 1.000000000000000000e+00 -1.198154538869857788e-01 5.748865604400634766e-01 7.536178231239318848e-01 1.000000000000000000e+00 -1.153863891959190369e-01 5.703344941139221191e-01 7.531257271766662598e-01 1.000000000000000000e+00 -1.141099557280540466e-01 5.647059082984924316e-01 7.510957121849060059e-01 1.000000000000000000e+00 -1.147251054644584656e-01 5.584313869476318359e-01 7.481430172920227051e-01 1.000000000000000000e+00 -1.153402552008628845e-01 5.521568655967712402e-01 7.451903223991394043e-01 1.000000000000000000e+00 -1.159554049372673035e-01 5.458823442459106445e-01 7.422376275062561035e-01 1.000000000000000000e+00 -1.165705472230911255e-01 5.396078228950500488e-01 7.392848730087280273e-01 1.000000000000000000e+00 -1.171856969594955444e-01 5.333333611488342285e-01 7.363321781158447266e-01 1.000000000000000000e+00 -1.178008466958999634e-01 5.270588397979736328e-01 7.333794832229614258e-01 1.000000000000000000e+00 -1.184159964323043823e-01 5.207843184471130371e-01 7.304267883300781250e-01 1.000000000000000000e+00 -1.190311387181282043e-01 5.145097970962524414e-01 7.274740338325500488e-01 1.000000000000000000e+00 -1.196462884545326233e-01 5.082352757453918457e-01 7.245213389396667480e-01 1.000000000000000000e+00 -1.202614381909370422e-01 5.019608139991760254e-01 7.215686440467834473e-01 1.000000000000000000e+00 -1.208765879273414612e-01 4.956862628459930420e-01 7.186158895492553711e-01 1.000000000000000000e+00 -1.214917376637458801e-01 4.894117712974548340e-01 7.156631946563720703e-01 1.000000000000000000e+00 -1.221068799495697021e-01 4.831372499465942383e-01 7.127104997634887695e-01 1.000000000000000000e+00 -1.227220296859741211e-01 4.768627583980560303e-01 7.097578048706054688e-01 1.000000000000000000e+00 -1.233371794223785400e-01 4.705882370471954346e-01 7.068050503730773926e-01 1.000000000000000000e+00 -1.239523291587829590e-01 4.643137156963348389e-01 7.038523554801940918e-01 1.000000000000000000e+00 -1.245674714446067810e-01 4.580392241477966309e-01 7.008996605873107910e-01 1.000000000000000000e+00 -1.251826286315917969e-01 4.517647027969360352e-01 6.979469656944274902e-01 1.000000000000000000e+00 -1.257977634668350220e-01 4.454901814460754395e-01 6.949942111968994141e-01 1.000000000000000000e+00 -1.264129132032394409e-01 4.392156898975372314e-01 6.920415163040161133e-01 1.000000000000000000e+00 -1.270280629396438599e-01 4.329411685466766357e-01 6.890888214111328125e-01 1.000000000000000000e+00 -1.276432126760482788e-01 4.266666769981384277e-01 6.861361265182495117e-01 1.000000000000000000e+00 -1.282583624124526978e-01 4.203921556472778320e-01 6.831833720207214355e-01 1.000000000000000000e+00 -1.288735121488571167e-01 4.141176342964172363e-01 6.802306771278381348e-01 1.000000000000000000e+00 -1.294886618852615356e-01 4.078431427478790283e-01 6.772779822349548340e-01 1.000000000000000000e+00 -1.301038116216659546e-01 4.015686213970184326e-01 6.743252873420715332e-01 1.000000000000000000e+00 -1.307189613580703735e-01 3.952941298484802246e-01 6.713725328445434570e-01 1.000000000000000000e+00 -1.313340961933135986e-01 3.890196084976196289e-01 6.684198379516601562e-01 1.000000000000000000e+00 -1.319492459297180176e-01 3.827450871467590332e-01 6.654671430587768555e-01 1.000000000000000000e+00 -1.325643956661224365e-01 3.764705955982208252e-01 6.625143885612487793e-01 1.000000000000000000e+00 -1.331795454025268555e-01 3.701960742473602295e-01 6.595616936683654785e-01 1.000000000000000000e+00 -1.336101442575454712e-01 3.647520244121551514e-01 6.569780707359313965e-01 1.000000000000000000e+00 -1.339792460203170776e-01 3.595847785472869873e-01 6.545174717903137207e-01 1.000000000000000000e+00 -1.343483328819274902e-01 3.544175326824188232e-01 6.520568728446960449e-01 1.000000000000000000e+00 -1.347174197435379028e-01 3.492502868175506592e-01 6.495963335037231445e-01 1.000000000000000000e+00 -1.350865066051483154e-01 3.440830409526824951e-01 6.471357345581054688e-01 1.000000000000000000e+00 -1.354555934667587280e-01 3.389157950878143311e-01 6.446751356124877930e-01 1.000000000000000000e+00 -1.358246803283691406e-01 3.337485492229461670e-01 6.422145366668701172e-01 1.000000000000000000e+00 -1.361937671899795532e-01 3.285813033580780029e-01 6.397539377212524414e-01 1.000000000000000000e+00 -1.365628540515899658e-01 3.234140574932098389e-01 6.372933387756347656e-01 1.000000000000000000e+00 -1.369319558143615723e-01 3.182468414306640625e-01 6.348327398300170898e-01 1.000000000000000000e+00 -1.373010426759719849e-01 3.130795955657958984e-01 6.323721408843994141e-01 1.000000000000000000e+00 -1.376701295375823975e-01 3.079123497009277344e-01 6.299116015434265137e-01 1.000000000000000000e+00 -1.380392163991928101e-01 3.027451038360595703e-01 6.274510025978088379e-01 1.000000000000000000e+00 -1.384083032608032227e-01 2.975778579711914062e-01 6.249904036521911621e-01 1.000000000000000000e+00 -1.387773901224136353e-01 2.924106121063232422e-01 6.225298047065734863e-01 1.000000000000000000e+00 -1.391464769840240479e-01 2.872433662414550781e-01 6.200692057609558105e-01 1.000000000000000000e+00 -1.395155638456344604e-01 2.820761203765869141e-01 6.176086068153381348e-01 1.000000000000000000e+00 -1.398846656084060669e-01 2.769088745117187500e-01 6.151480078697204590e-01 1.000000000000000000e+00 -1.402537524700164795e-01 2.717416286468505859e-01 6.126874089241027832e-01 1.000000000000000000e+00 -1.406228393316268921e-01 2.665743827819824219e-01 6.102268099784851074e-01 1.000000000000000000e+00 -1.409919261932373047e-01 2.614071369171142578e-01 6.077662706375122070e-01 1.000000000000000000e+00 -1.413610130548477173e-01 2.562399208545684814e-01 6.053056716918945312e-01 1.000000000000000000e+00 -1.417300999164581299e-01 2.510726749897003174e-01 6.028450727462768555e-01 1.000000000000000000e+00 -1.420991867780685425e-01 2.459054142236709595e-01 6.003844738006591797e-01 1.000000000000000000e+00 -1.424682885408401489e-01 2.407381832599639893e-01 5.979238748550415039e-01 1.000000000000000000e+00 -1.428373754024505615e-01 2.355709373950958252e-01 5.954632759094238281e-01 1.000000000000000000e+00 -1.432064622640609741e-01 2.304036915302276611e-01 5.930026769638061523e-01 1.000000000000000000e+00 -1.435755491256713867e-01 2.252364456653594971e-01 5.905420780181884766e-01 1.000000000000000000e+00 -1.439446359872817993e-01 2.200691998004913330e-01 5.880814790725708008e-01 1.000000000000000000e+00 -1.443137228488922119e-01 2.149019539356231689e-01 5.856209397315979004e-01 1.000000000000000000e+00 -1.446828097105026245e-01 2.097347229719161987e-01 5.831603407859802246e-01 1.000000000000000000e+00 -1.450518965721130371e-01 2.045674771070480347e-01 5.806997418403625488e-01 1.000000000000000000e+00 -1.419761627912521362e-01 2.014455944299697876e-01 5.739331245422363281e-01 1.000000000000000000e+00 -1.384083032608032227e-01 1.986159235239028931e-01 5.665513277053833008e-01 1.000000000000000000e+00 -1.348404437303543091e-01 1.957862377166748047e-01 5.591695308685302734e-01 1.000000000000000000e+00 -1.312725841999053955e-01 1.929565519094467163e-01 5.517877936363220215e-01 1.000000000000000000e+00 -1.277047246694564819e-01 1.901268810033798218e-01 5.444059967994689941e-01 1.000000000000000000e+00 -1.241368725895881653e-01 1.872971951961517334e-01 5.370241999626159668e-01 1.000000000000000000e+00 -1.205690130591392517e-01 1.844675093889236450e-01 5.296424627304077148e-01 1.000000000000000000e+00 -1.170011535286903381e-01 1.816378384828567505e-01 5.222606658935546875e-01 1.000000000000000000e+00 -1.134332939982414246e-01 1.788081526756286621e-01 5.148788690567016602e-01 1.000000000000000000e+00 -1.098654344677925110e-01 1.759784668684005737e-01 5.074971318244934082e-01 1.000000000000000000e+00 -1.062975749373435974e-01 1.731487959623336792e-01 5.001153349876403809e-01 1.000000000000000000e+00 -1.027297228574752808e-01 1.703191101551055908e-01 4.927335679531097412e-01 1.000000000000000000e+00 -9.916186332702636719e-02 1.674894243478775024e-01 4.853518009185791016e-01 1.000000000000000000e+00 -9.559400379657745361e-02 1.646597534418106079e-01 4.779700040817260742e-01 1.000000000000000000e+00 -9.202614426612854004e-02 1.618300676345825195e-01 4.705882370471954346e-01 1.000000000000000000e+00 -8.845828473567962646e-02 1.590003818273544312e-01 4.632064700126647949e-01 1.000000000000000000e+00 -8.489042520523071289e-02 1.561707109212875366e-01 4.558246731758117676e-01 1.000000000000000000e+00 -8.132256567478179932e-02 1.533410251140594482e-01 4.484429061412811279e-01 1.000000000000000000e+00 -7.775470614433288574e-02 1.505113393068313599e-01 4.410611391067504883e-01 1.000000000000000000e+00 -7.418685406446456909e-02 1.476816534996032715e-01 4.336793422698974609e-01 1.000000000000000000e+00 -7.061899453401565552e-02 1.448519825935363770e-01 4.262975752353668213e-01 1.000000000000000000e+00 -6.705113500356674194e-02 1.420222967863082886e-01 4.189158082008361816e-01 1.000000000000000000e+00 -6.348327547311782837e-02 1.391926109790802002e-01 4.115340113639831543e-01 1.000000000000000000e+00 -5.991541594266891479e-02 1.363629400730133057e-01 4.041522443294525146e-01 1.000000000000000000e+00 -5.634756013751029968e-02 1.335332542657852173e-01 3.967704772949218750e-01 1.000000000000000000e+00 -5.277970060706138611e-02 1.307035684585571289e-01 3.893887102603912354e-01 1.000000000000000000e+00 -4.921184107661247253e-02 1.278738975524902344e-01 3.820069134235382080e-01 1.000000000000000000e+00 -4.564398154616355896e-02 1.250442117452621460e-01 3.746251463890075684e-01 1.000000000000000000e+00 -4.207612574100494385e-02 1.222145333886146545e-01 3.672433793544769287e-01 1.000000000000000000e+00 -3.850826621055603027e-02 1.193848550319671631e-01 3.598615825176239014e-01 1.000000000000000000e+00 -3.494040668010711670e-02 1.165551692247390747e-01 3.524798154830932617e-01 1.000000000000000000e+00 -3.137255087494850159e-02 1.137254908680915833e-01 3.450980484485626221e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/YlOrBr b/fastplotlib/utils/colormaps/YlOrBr deleted file mode 100644 index f23bd5af1..000000000 --- a/fastplotlib/utils/colormaps/YlOrBr +++ /dev/null @@ -1,256 +0,0 @@ -1.000000000000000000e+00 1.000000000000000000e+00 8.980392217636108398e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.990157485008239746e-01 8.929949998855590820e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.980314970016479492e-01 8.879507780075073242e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.970473051071166992e-01 8.829065561294555664e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.960630536079406738e-01 8.778623342514038086e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.950788021087646484e-01 8.728181719779968262e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.940945506095886230e-01 8.677739500999450684e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.931103587150573730e-01 8.627297282218933105e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.921261072158813477e-01 8.576855063438415527e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.911418557167053223e-01 8.526412844657897949e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.901576042175292969e-01 8.475970625877380371e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.891734123229980469e-01 8.425528407096862793e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.881891608238220215e-01 8.375086784362792969e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.872049093246459961e-01 8.324644565582275391e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.862206578254699707e-01 8.274202346801757812e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.852364659309387207e-01 8.223760128021240234e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.842522144317626953e-01 8.173317909240722656e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.832679629325866699e-01 8.122875690460205078e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.822837114334106445e-01 8.072433471679687500e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.812995195388793945e-01 8.021991252899169922e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.803152680397033691e-01 7.971549630165100098e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.793310165405273438e-01 7.921107411384582520e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.783467650413513184e-01 7.870665192604064941e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.773625731468200684e-01 7.820222973823547363e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.763783216476440430e-01 7.769780755043029785e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.753940701484680176e-01 7.719338536262512207e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.744098186492919922e-01 7.668896317481994629e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.734256267547607422e-01 7.618454694747924805e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.724413752555847168e-01 7.568012475967407227e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.714571237564086914e-01 7.517570257186889648e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.704728722572326660e-01 7.467128038406372070e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.694886803627014160e-01 7.416685819625854492e-01 1.000000000000000000e+00 -9.999846220016479492e-01 9.683198928833007812e-01 7.365936040878295898e-01 1.000000000000000000e+00 -9.998615980148315430e-01 9.658592939376831055e-01 7.313033342361450195e-01 1.000000000000000000e+00 -9.997385740280151367e-01 9.633986949920654297e-01 7.260130643844604492e-01 1.000000000000000000e+00 -9.996155500411987305e-01 9.609380960464477539e-01 7.207227945327758789e-01 1.000000000000000000e+00 -9.994925260543823242e-01 9.584774971008300781e-01 7.154325246810913086e-01 1.000000000000000000e+00 -9.993695020675659180e-01 9.560168981552124023e-01 7.101422548294067383e-01 1.000000000000000000e+00 -9.992464184761047363e-01 9.535562992095947266e-01 7.048519849777221680e-01 1.000000000000000000e+00 -9.991233944892883301e-01 9.510957598686218262e-01 6.995617151260375977e-01 1.000000000000000000e+00 -9.990003705024719238e-01 9.486351609230041504e-01 6.942714452743530273e-01 1.000000000000000000e+00 -9.988773465156555176e-01 9.461745619773864746e-01 6.889811754226684570e-01 1.000000000000000000e+00 -9.987543225288391113e-01 9.437139630317687988e-01 6.836909055709838867e-01 1.000000000000000000e+00 -9.986312985420227051e-01 9.412533640861511230e-01 6.784006357192993164e-01 1.000000000000000000e+00 -9.985082745552062988e-01 9.387927651405334473e-01 6.731103658676147461e-01 1.000000000000000000e+00 -9.983852505683898926e-01 9.363321661949157715e-01 6.678200960159301758e-01 1.000000000000000000e+00 -9.982622265815734863e-01 9.338715672492980957e-01 6.625297665596008301e-01 1.000000000000000000e+00 -9.981392025947570801e-01 9.314109683036804199e-01 6.572394967079162598e-01 1.000000000000000000e+00 -9.980161190032958984e-01 9.289504289627075195e-01 6.519492268562316895e-01 1.000000000000000000e+00 -9.978930950164794922e-01 9.264898300170898438e-01 6.466589570045471191e-01 1.000000000000000000e+00 -9.977700710296630859e-01 9.240292310714721680e-01 6.413686871528625488e-01 1.000000000000000000e+00 -9.976470470428466797e-01 9.215686321258544922e-01 6.360784173011779785e-01 1.000000000000000000e+00 -9.975240230560302734e-01 9.191080331802368164e-01 6.307881474494934082e-01 1.000000000000000000e+00 -9.974009990692138672e-01 9.166474342346191406e-01 6.254978775978088379e-01 1.000000000000000000e+00 -9.972779750823974609e-01 9.141868352890014648e-01 6.202076077461242676e-01 1.000000000000000000e+00 -9.971549510955810547e-01 9.117262363433837891e-01 6.149173378944396973e-01 1.000000000000000000e+00 -9.970319271087646484e-01 9.092656373977661133e-01 6.096270680427551270e-01 1.000000000000000000e+00 -9.969089031219482422e-01 9.068050980567932129e-01 6.043367981910705566e-01 1.000000000000000000e+00 -9.967858791351318359e-01 9.043444991111755371e-01 5.990465283393859863e-01 1.000000000000000000e+00 -9.966627955436706543e-01 9.018839001655578613e-01 5.937562584877014160e-01 1.000000000000000000e+00 -9.965397715568542480e-01 8.994233012199401855e-01 5.884659886360168457e-01 1.000000000000000000e+00 -9.964167475700378418e-01 8.969627022743225098e-01 5.831757187843322754e-01 1.000000000000000000e+00 -9.962937235832214355e-01 8.945021033287048340e-01 5.778854489326477051e-01 1.000000000000000000e+00 -9.961706995964050293e-01 8.920415043830871582e-01 5.725951790809631348e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.892425894737243652e-01 5.665974617004394531e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.854286670684814453e-01 5.584775209426879883e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.816147446632385254e-01 5.503575801849365234e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.778008222579956055e-01 5.422375798225402832e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.739868998527526855e-01 5.341176390647888184e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.701730370521545410e-01 5.259976983070373535e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.663591146469116211e-01 5.178777575492858887e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.625451922416687012e-01 5.097577571868896484e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.587312698364257812e-01 5.016378164291381836e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.549173474311828613e-01 4.935178756713867188e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.511034250259399414e-01 4.853979349136352539e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.472895026206970215e-01 4.772779643535614014e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.434755802154541016e-01 4.691580235958099365e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.396616578102111816e-01 4.610380530357360840e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.358477354049682617e-01 4.529181122779846191e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.320338129997253418e-01 4.447981417179107666e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.282198905944824219e-01 4.366782009601593018e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.244059681892395020e-01 4.285582602024078369e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.205921053886413574e-01 4.204382896423339844e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.167781829833984375e-01 4.123183488845825195e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.129642605781555176e-01 4.041983783245086670e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.091503381729125977e-01 3.960784375667572021e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.053364157676696777e-01 3.879584670066833496e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.015224933624267578e-01 3.798385262489318848e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.977085709571838379e-01 3.717185556888580322e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.938946485519409180e-01 3.635986149311065674e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.900807261466979980e-01 3.554786741733551025e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.862668037414550781e-01 3.473587036132812500e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.824528813362121582e-01 3.392387628555297852e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.786389589309692383e-01 3.311187922954559326e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.748250961303710938e-01 3.229988515377044678e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.710111737251281738e-01 3.148788809776306152e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.666435837745666504e-01 3.080507516860961914e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.613533139228820801e-01 3.033756315708160400e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.560630440711975098e-01 2.987005114555358887e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.507727742195129395e-01 2.940253615379333496e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.454825043678283691e-01 2.893502414226531982e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.401922345161437988e-01 2.846751213073730469e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.349019646644592285e-01 2.800000011920928955e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.296116948127746582e-01 2.753248810768127441e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.243214249610900879e-01 2.706497609615325928e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.190311551094055176e-01 2.659746110439300537e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.137408852577209473e-01 2.612994909286499023e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.084506154060363770e-01 2.566243708133697510e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.031603455543518066e-01 2.519492506980895996e-01 1.000000000000000000e+00 -9.960784316062927246e-01 6.978700757026672363e-01 2.472741305828094482e-01 1.000000000000000000e+00 -9.960784316062927246e-01 6.925798058509826660e-01 2.425989955663681030e-01 1.000000000000000000e+00 -9.960784316062927246e-01 6.872894763946533203e-01 2.379238754510879517e-01 1.000000000000000000e+00 -9.960784316062927246e-01 6.819992065429687500e-01 2.332487553358078003e-01 1.000000000000000000e+00 -9.960784316062927246e-01 6.767089366912841797e-01 2.285736203193664551e-01 1.000000000000000000e+00 -9.960784316062927246e-01 6.714186668395996094e-01 2.238985002040863037e-01 1.000000000000000000e+00 -9.960784316062927246e-01 6.661283969879150391e-01 2.192233800888061523e-01 1.000000000000000000e+00 -9.960784316062927246e-01 6.608381271362304688e-01 2.145482450723648071e-01 1.000000000000000000e+00 -9.960784316062927246e-01 6.555478572845458984e-01 2.098731249570846558e-01 1.000000000000000000e+00 -9.960784316062927246e-01 6.502575874328613281e-01 2.051980048418045044e-01 1.000000000000000000e+00 -9.960784316062927246e-01 6.449673175811767578e-01 2.005228698253631592e-01 1.000000000000000000e+00 -9.960784316062927246e-01 6.396770477294921875e-01 1.958477497100830078e-01 1.000000000000000000e+00 -9.960784316062927246e-01 6.343867778778076172e-01 1.911726295948028564e-01 1.000000000000000000e+00 -9.960784316062927246e-01 6.290965080261230469e-01 1.864974945783615112e-01 1.000000000000000000e+00 -9.960784316062927246e-01 6.238062381744384766e-01 1.818223744630813599e-01 1.000000000000000000e+00 -9.960784316062927246e-01 6.185159683227539062e-01 1.771472543478012085e-01 1.000000000000000000e+00 -9.960784316062927246e-01 6.132256984710693359e-01 1.724721193313598633e-01 1.000000000000000000e+00 -9.960784316062927246e-01 6.079354286193847656e-01 1.677969992160797119e-01 1.000000000000000000e+00 -9.960784316062927246e-01 6.026451587677001953e-01 1.631218791007995605e-01 1.000000000000000000e+00 -9.949711561203002930e-01 5.974779129028320312e-01 1.594925075769424438e-01 1.000000000000000000e+00 -9.927566051483154297e-01 5.924336910247802734e-01 1.569088846445083618e-01 1.000000000000000000e+00 -9.905421137809753418e-01 5.873894691467285156e-01 1.543252617120742798e-01 1.000000000000000000e+00 -9.883275628089904785e-01 5.823452472686767578e-01 1.517416387796401978e-01 1.000000000000000000e+00 -9.861130118370056152e-01 5.773010253906250000e-01 1.491580158472061157e-01 1.000000000000000000e+00 -9.838985204696655273e-01 5.722568035125732422e-01 1.465743929147720337e-01 1.000000000000000000e+00 -9.816839694976806641e-01 5.672125816345214844e-01 1.439907699823379517e-01 1.000000000000000000e+00 -9.794694185256958008e-01 5.621684193611145020e-01 1.414071470499038696e-01 1.000000000000000000e+00 -9.772549271583557129e-01 5.571241974830627441e-01 1.388235241174697876e-01 1.000000000000000000e+00 -9.750403761863708496e-01 5.520799756050109863e-01 1.362399011850357056e-01 1.000000000000000000e+00 -9.728258252143859863e-01 5.470357537269592285e-01 1.336562931537628174e-01 1.000000000000000000e+00 -9.706112742424011230e-01 5.419915318489074707e-01 1.310726702213287354e-01 1.000000000000000000e+00 -9.683967828750610352e-01 5.369473099708557129e-01 1.284890472888946533e-01 1.000000000000000000e+00 -9.661822319030761719e-01 5.319030880928039551e-01 1.259054243564605713e-01 1.000000000000000000e+00 -9.639676809310913086e-01 5.268589258193969727e-01 1.233218014240264893e-01 1.000000000000000000e+00 -9.617531895637512207e-01 5.218147039413452148e-01 1.207381784915924072e-01 1.000000000000000000e+00 -9.595386385917663574e-01 5.167704820632934570e-01 1.181545555591583252e-01 1.000000000000000000e+00 -9.573240876197814941e-01 5.117262601852416992e-01 1.155709326267242432e-01 1.000000000000000000e+00 -9.551095962524414062e-01 5.066820383071899414e-01 1.129873096942901611e-01 1.000000000000000000e+00 -9.528950452804565430e-01 5.016378164291381836e-01 1.104036942124366760e-01 1.000000000000000000e+00 -9.506804943084716797e-01 4.965936243534088135e-01 1.078200712800025940e-01 1.000000000000000000e+00 -9.484660029411315918e-01 4.915494024753570557e-01 1.052364483475685120e-01 1.000000000000000000e+00 -9.462514519691467285e-01 4.865051805973052979e-01 1.026528254151344299e-01 1.000000000000000000e+00 -9.440369009971618652e-01 4.814609885215759277e-01 1.000692024827003479e-01 1.000000000000000000e+00 -9.418223500251770020e-01 4.764167666435241699e-01 9.748557955026626587e-02 1.000000000000000000e+00 -9.396078586578369141e-01 4.713725447654724121e-01 9.490196406841278076e-02 1.000000000000000000e+00 -9.373933076858520508e-01 4.663283228874206543e-01 9.231834113597869873e-02 1.000000000000000000e+00 -9.351787567138671875e-01 4.612841308116912842e-01 8.973471820354461670e-02 1.000000000000000000e+00 -9.329642653465270996e-01 4.562399089336395264e-01 8.715109527111053467e-02 1.000000000000000000e+00 -9.307497143745422363e-01 4.511956870555877686e-01 8.456747233867645264e-02 1.000000000000000000e+00 -9.285351634025573730e-01 4.461514949798583984e-01 8.198384940624237061e-02 1.000000000000000000e+00 -9.263206720352172852e-01 4.411072731018066406e-01 7.940023392438888550e-02 1.000000000000000000e+00 -9.230296015739440918e-01 4.364475309848785400e-01 7.704728841781616211e-02 1.000000000000000000e+00 -9.190926551818847656e-01 4.320184588432312012e-01 7.483275979757308960e-02 1.000000000000000000e+00 -9.151557087898254395e-01 4.275893867015838623e-01 7.261822372674942017e-02 1.000000000000000000e+00 -9.112187623977661133e-01 4.231603145599365234e-01 7.040368765592575073e-02 1.000000000000000000e+00 -9.072818160057067871e-01 4.187312424182891846e-01 6.818915903568267822e-02 1.000000000000000000e+00 -9.033448696136474609e-01 4.143022000789642334e-01 6.597462296485900879e-02 1.000000000000000000e+00 -8.994079232215881348e-01 4.098731279373168945e-01 6.376009434461593628e-02 1.000000000000000000e+00 -8.954709768295288086e-01 4.054440557956695557e-01 6.154555827379226685e-02 1.000000000000000000e+00 -8.915340304374694824e-01 4.010149836540222168e-01 5.933102592825889587e-02 1.000000000000000000e+00 -8.875970840454101562e-01 3.965859413146972656e-01 5.711649358272552490e-02 1.000000000000000000e+00 -8.836601376533508301e-01 3.921568691730499268e-01 5.490196123719215393e-02 1.000000000000000000e+00 -8.797231912612915039e-01 3.877277970314025879e-01 5.268742889165878296e-02 1.000000000000000000e+00 -8.757862448692321777e-01 3.832987248897552490e-01 5.047289654612541199e-02 1.000000000000000000e+00 -8.718492984771728516e-01 3.788696527481079102e-01 4.825836047530174255e-02 1.000000000000000000e+00 -8.679123520851135254e-01 3.744406104087829590e-01 4.604382812976837158e-02 1.000000000000000000e+00 -8.639754056930541992e-01 3.700115382671356201e-01 4.382929578423500061e-02 1.000000000000000000e+00 -8.600384593009948730e-01 3.655824661254882812e-01 4.161476343870162964e-02 1.000000000000000000e+00 -8.561015129089355469e-01 3.611533939838409424e-01 3.940023109316825867e-02 1.000000000000000000e+00 -8.521645665168762207e-01 3.567243516445159912e-01 3.718569874763488770e-02 1.000000000000000000e+00 -8.482276201248168945e-01 3.522952795028686523e-01 3.497116640210151672e-02 1.000000000000000000e+00 -8.442906737327575684e-01 3.478662073612213135e-01 3.275663033127784729e-02 1.000000000000000000e+00 -8.403537273406982422e-01 3.434371352195739746e-01 3.054209984838962555e-02 1.000000000000000000e+00 -8.364167809486389160e-01 3.390080630779266357e-01 2.832756564021110535e-02 1.000000000000000000e+00 -8.324798345565795898e-01 3.345790207386016846e-01 2.611303329467773438e-02 1.000000000000000000e+00 -8.285428881645202637e-01 3.301499485969543457e-01 2.389850094914436340e-02 1.000000000000000000e+00 -8.246059417724609375e-01 3.257208764553070068e-01 2.168396860361099243e-02 1.000000000000000000e+00 -8.206689953804016113e-01 3.212918043136596680e-01 1.946943439543247223e-02 1.000000000000000000e+00 -8.167320489883422852e-01 3.168627321720123291e-01 1.725490204989910126e-02 1.000000000000000000e+00 -8.127951025962829590e-01 3.124336898326873779e-01 1.504036877304315567e-02 1.000000000000000000e+00 -8.088581562042236328e-01 3.080046176910400391e-01 1.282583642750978470e-02 1.000000000000000000e+00 -8.049212098121643066e-01 3.035755455493927002e-01 1.061130315065383911e-02 1.000000000000000000e+00 -8.009842634201049805e-01 2.991464734077453613e-01 8.396770805120468140e-03 1.000000000000000000e+00 -7.952941060066223145e-01 2.958246767520904541e-01 8.027682080864906311e-03 1.000000000000000000e+00 -7.890195846557617188e-01 2.928719818592071533e-01 8.273741230368614197e-03 1.000000000000000000e+00 -7.827451229095458984e-01 2.899192571640014648e-01 8.519800379872322083e-03 1.000000000000000000e+00 -7.764706015586853027e-01 2.869665622711181641e-01 8.765859529376029968e-03 1.000000000000000000e+00 -7.701960802078247070e-01 2.840138375759124756e-01 9.011918678879737854e-03 1.000000000000000000e+00 -7.639215588569641113e-01 2.810611426830291748e-01 9.257977828383445740e-03 1.000000000000000000e+00 -7.576470375061035156e-01 2.781084179878234863e-01 9.504036977887153625e-03 1.000000000000000000e+00 -7.513725757598876953e-01 2.751557230949401855e-01 9.750096127390861511e-03 1.000000000000000000e+00 -7.450980544090270996e-01 2.722029983997344971e-01 9.996155276894569397e-03 1.000000000000000000e+00 -7.388235330581665039e-01 2.692502737045288086e-01 1.024221442639827728e-02 1.000000000000000000e+00 -7.325490117073059082e-01 2.662975788116455078e-01 1.048827357590198517e-02 1.000000000000000000e+00 -7.262744903564453125e-01 2.633448541164398193e-01 1.073433272540569305e-02 1.000000000000000000e+00 -7.200000286102294922e-01 2.603921592235565186e-01 1.098039187490940094e-02 1.000000000000000000e+00 -7.137255072593688965e-01 2.574394345283508301e-01 1.122645102441310883e-02 1.000000000000000000e+00 -7.074509859085083008e-01 2.544867396354675293e-01 1.147251017391681671e-02 1.000000000000000000e+00 -7.011764645576477051e-01 2.515340149402618408e-01 1.171856932342052460e-02 1.000000000000000000e+00 -6.949019432067871094e-01 2.485813200473785400e-01 1.196462940424680710e-02 1.000000000000000000e+00 -6.886274218559265137e-01 2.456286102533340454e-01 1.221068855375051498e-02 1.000000000000000000e+00 -6.823529601097106934e-01 2.426759004592895508e-01 1.245674770325422287e-02 1.000000000000000000e+00 -6.760784387588500977e-01 2.397231906652450562e-01 1.270280685275793076e-02 1.000000000000000000e+00 -6.698039174079895020e-01 2.367704659700393677e-01 1.294886600226163864e-02 1.000000000000000000e+00 -6.635293960571289062e-01 2.338177561759948730e-01 1.319492515176534653e-02 1.000000000000000000e+00 -6.572548747062683105e-01 2.308650463819503784e-01 1.344098430126905441e-02 1.000000000000000000e+00 -6.509804129600524902e-01 2.279123365879058838e-01 1.368704345077276230e-02 1.000000000000000000e+00 -6.447058916091918945e-01 2.249596267938613892e-01 1.393310260027647018e-02 1.000000000000000000e+00 -6.384313702583312988e-01 2.220069169998168945e-01 1.417916174978017807e-02 1.000000000000000000e+00 -6.321568489074707031e-01 2.190542072057723999e-01 1.442522089928388596e-02 1.000000000000000000e+00 -6.258823275566101074e-01 2.161014974117279053e-01 1.467128004878759384e-02 1.000000000000000000e+00 -6.196078658103942871e-01 2.131487876176834106e-01 1.491733919829130173e-02 1.000000000000000000e+00 -6.133333444595336914e-01 2.101960778236389160e-01 1.516339834779500961e-02 1.000000000000000000e+00 -6.070588231086730957e-01 2.072433680295944214e-01 1.540945749729871750e-02 1.000000000000000000e+00 -6.007843017578125000e-01 2.042906582355499268e-01 1.565551757812500000e-02 1.000000000000000000e+00 -5.945097804069519043e-01 2.023068070411682129e-01 1.590157672762870789e-02 1.000000000000000000e+00 -5.882353186607360840e-01 2.004613578319549561e-01 1.614763587713241577e-02 1.000000000000000000e+00 -5.819607973098754883e-01 1.986159235239028931e-01 1.639369502663612366e-02 1.000000000000000000e+00 -5.756862759590148926e-01 1.967704743146896362e-01 1.663975417613983154e-02 1.000000000000000000e+00 -5.694117546081542969e-01 1.949250251054763794e-01 1.688581332564353943e-02 1.000000000000000000e+00 -5.631372332572937012e-01 1.930795907974243164e-01 1.713187247514724731e-02 1.000000000000000000e+00 -5.568627715110778809e-01 1.912341415882110596e-01 1.737793162465095520e-02 1.000000000000000000e+00 -5.505882501602172852e-01 1.893886923789978027e-01 1.762399077415466309e-02 1.000000000000000000e+00 -5.443137288093566895e-01 1.875432580709457397e-01 1.787004992365837097e-02 1.000000000000000000e+00 -5.380392074584960938e-01 1.856978088617324829e-01 1.811610907316207886e-02 1.000000000000000000e+00 -5.317646861076354980e-01 1.838523596525192261e-01 1.836216822266578674e-02 1.000000000000000000e+00 -5.254902243614196777e-01 1.820069253444671631e-01 1.860822737216949463e-02 1.000000000000000000e+00 -5.192157030105590820e-01 1.801614761352539062e-01 1.885428652167320251e-02 1.000000000000000000e+00 -5.129411816596984863e-01 1.783160269260406494e-01 1.910034567117691040e-02 1.000000000000000000e+00 -5.066666603088378906e-01 1.764705926179885864e-01 1.934640482068061829e-02 1.000000000000000000e+00 -5.003921389579772949e-01 1.746251434087753296e-01 1.959246397018432617e-02 1.000000000000000000e+00 -4.941176474094390869e-01 1.727796941995620728e-01 1.983852311968803406e-02 1.000000000000000000e+00 -4.878431260585784912e-01 1.709342598915100098e-01 2.008458226919174194e-02 1.000000000000000000e+00 -4.815686345100402832e-01 1.690888106822967529e-01 2.033064141869544983e-02 1.000000000000000000e+00 -4.752941131591796875e-01 1.672433614730834961e-01 2.057670056819915771e-02 1.000000000000000000e+00 -4.690196216106414795e-01 1.653979271650314331e-01 2.082275971770286560e-02 1.000000000000000000e+00 -4.627451002597808838e-01 1.635524779558181763e-01 2.106881886720657349e-02 1.000000000000000000e+00 -4.564705789089202881e-01 1.617070287466049194e-01 2.131487801671028137e-02 1.000000000000000000e+00 -4.501960873603820801e-01 1.598615944385528564e-01 2.156093902885913849e-02 1.000000000000000000e+00 -4.439215660095214844e-01 1.580161452293395996e-01 2.180699817836284637e-02 1.000000000000000000e+00 -4.376470446586608887e-01 1.561707109212875366e-01 2.205305732786655426e-02 1.000000000000000000e+00 -4.313725531101226807e-01 1.543252617120742798e-01 2.229911647737026215e-02 1.000000000000000000e+00 -4.250980317592620850e-01 1.524798125028610229e-01 2.254517562687397003e-02 1.000000000000000000e+00 -4.188235402107238770e-01 1.506343781948089600e-01 2.279123477637767792e-02 1.000000000000000000e+00 -4.125490188598632812e-01 1.487889289855957031e-01 2.303729392588138580e-02 1.000000000000000000e+00 -4.062744975090026855e-01 1.469434797763824463e-01 2.328335307538509369e-02 1.000000000000000000e+00 -4.000000059604644775e-01 1.450980454683303833e-01 2.352941222488880157e-02 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/YlOrRd b/fastplotlib/utils/colormaps/YlOrRd deleted file mode 100644 index 84c507f5c..000000000 --- a/fastplotlib/utils/colormaps/YlOrRd +++ /dev/null @@ -1,256 +0,0 @@ -1.000000000000000000e+00 1.000000000000000000e+00 8.000000119209289551e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.977854490280151367e-01 7.945867180824279785e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.955709576606750488e-01 7.891734242439270020e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.933564066886901855e-01 7.837600708007812500e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.911418557167053223e-01 7.783467769622802734e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.889273643493652344e-01 7.729334831237792969e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.867128133773803711e-01 7.675201892852783203e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.844982624053955078e-01 7.621068954467773438e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.822837114334106445e-01 7.566936016082763672e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.800692200660705566e-01 7.512802481651306152e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.778546690940856934e-01 7.458669543266296387e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.756401181221008301e-01 7.404536604881286621e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.734256267547607422e-01 7.350403666496276855e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.712110757827758789e-01 7.296270728111267090e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.689965248107910156e-01 7.242137789726257324e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.667820334434509277e-01 7.188004851341247559e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.645674824714660645e-01 7.133871316909790039e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.623529314994812012e-01 7.079738378524780273e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.601383805274963379e-01 7.025605440139770508e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.579238891601562500e-01 6.971472501754760742e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.557093381881713867e-01 6.917339563369750977e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.534947872161865234e-01 6.863206624984741211e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.512802958488464355e-01 6.809073686599731445e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.490657448768615723e-01 6.754940152168273926e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.468511939048767090e-01 6.700807213783264160e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.446367025375366211e-01 6.646674275398254395e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.424221515655517578e-01 6.592541337013244629e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.402076005935668945e-01 6.538408398628234863e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.379931092262268066e-01 6.484275460243225098e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.357785582542419434e-01 6.430142521858215332e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.335640072822570801e-01 6.376008987426757812e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.313494563102722168e-01 6.321876049041748047e-01 1.000000000000000000e+00 -9.999846220016479492e-01 9.291042089462280273e-01 6.268050670623779297e-01 1.000000000000000000e+00 -9.998615980148315430e-01 9.266436100006103516e-01 6.216378211975097656e-01 1.000000000000000000e+00 -9.997385740280151367e-01 9.241830110549926758e-01 6.164705753326416016e-01 1.000000000000000000e+00 -9.996155500411987305e-01 9.217224121093750000e-01 6.113033294677734375e-01 1.000000000000000000e+00 -9.994925260543823242e-01 9.192618131637573242e-01 6.061360836029052734e-01 1.000000000000000000e+00 -9.993695020675659180e-01 9.168012142181396484e-01 6.009688377380371094e-01 1.000000000000000000e+00 -9.992464184761047363e-01 9.143406152725219727e-01 5.958015918731689453e-01 1.000000000000000000e+00 -9.991233944892883301e-01 9.118800759315490723e-01 5.906343460083007812e-01 1.000000000000000000e+00 -9.990003705024719238e-01 9.094194769859313965e-01 5.854671001434326172e-01 1.000000000000000000e+00 -9.988773465156555176e-01 9.069588780403137207e-01 5.802999138832092285e-01 1.000000000000000000e+00 -9.987543225288391113e-01 9.044982790946960449e-01 5.751326680183410645e-01 1.000000000000000000e+00 -9.986312985420227051e-01 9.020376801490783691e-01 5.699654221534729004e-01 1.000000000000000000e+00 -9.985082745552062988e-01 8.995770812034606934e-01 5.647981762886047363e-01 1.000000000000000000e+00 -9.983852505683898926e-01 8.971164822578430176e-01 5.596309304237365723e-01 1.000000000000000000e+00 -9.982622265815734863e-01 8.946558833122253418e-01 5.544636845588684082e-01 1.000000000000000000e+00 -9.981392025947570801e-01 8.921952843666076660e-01 5.492964386940002441e-01 1.000000000000000000e+00 -9.980161190032958984e-01 8.897347450256347656e-01 5.441291928291320801e-01 1.000000000000000000e+00 -9.978930950164794922e-01 8.872741460800170898e-01 5.389619469642639160e-01 1.000000000000000000e+00 -9.977700710296630859e-01 8.848135471343994141e-01 5.337947010993957520e-01 1.000000000000000000e+00 -9.976470470428466797e-01 8.823529481887817383e-01 5.286274552345275879e-01 1.000000000000000000e+00 -9.975240230560302734e-01 8.798923492431640625e-01 5.234602093696594238e-01 1.000000000000000000e+00 -9.974009990692138672e-01 8.774317502975463867e-01 5.182929635047912598e-01 1.000000000000000000e+00 -9.972779750823974609e-01 8.749711513519287109e-01 5.131257176399230957e-01 1.000000000000000000e+00 -9.971549510955810547e-01 8.725105524063110352e-01 5.079584717750549316e-01 1.000000000000000000e+00 -9.970319271087646484e-01 8.700499534606933594e-01 5.027912259101867676e-01 1.000000000000000000e+00 -9.969089031219482422e-01 8.675894141197204590e-01 4.976239800453186035e-01 1.000000000000000000e+00 -9.967858791351318359e-01 8.651288151741027832e-01 4.924567341804504395e-01 1.000000000000000000e+00 -9.966627955436706543e-01 8.626682162284851074e-01 4.872895181179046631e-01 1.000000000000000000e+00 -9.965397715568542480e-01 8.602076172828674316e-01 4.821222722530364990e-01 1.000000000000000000e+00 -9.964167475700378418e-01 8.577470183372497559e-01 4.769550263881683350e-01 1.000000000000000000e+00 -9.962937235832214355e-01 8.552864193916320801e-01 4.717877805233001709e-01 1.000000000000000000e+00 -9.961706995964050293e-01 8.528258204460144043e-01 4.666205346584320068e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.497808575630187988e-01 4.614532887935638428e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.449826836585998535e-01 4.562860429286956787e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.401845693588256836e-01 4.511187970638275146e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.353863954544067383e-01 4.459515511989593506e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.305882215499877930e-01 4.407843053340911865e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.257901072502136230e-01 4.356170594692230225e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.209919333457946777e-01 4.304498136043548584e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.161937594413757324e-01 4.252825975418090820e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.113956451416015625e-01 4.201153516769409180e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.065974712371826172e-01 4.149481058120727539e-01 1.000000000000000000e+00 -9.960784316062927246e-01 8.017992973327636719e-01 4.097808599472045898e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.970011830329895020e-01 4.046136140823364258e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.922030091285705566e-01 3.994463682174682617e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.874048352241516113e-01 3.942791223526000977e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.826066613197326660e-01 3.891118764877319336e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.778085470199584961e-01 3.839446306228637695e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.730103731155395508e-01 3.787773847579956055e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.682121992111206055e-01 3.736101388931274414e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.634140849113464355e-01 3.684428930282592773e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.586159110069274902e-01 3.632756769657135010e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.538177371025085449e-01 3.581084311008453369e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.490196228027343750e-01 3.529411852359771729e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.442214488983154297e-01 3.477739393711090088e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.394232749938964844e-01 3.426066935062408447e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.346251606941223145e-01 3.374394476413726807e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.298269867897033691e-01 3.322722017765045166e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.250288128852844238e-01 3.271049559116363525e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.202306985855102539e-01 3.219377100467681885e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.154325246810913086e-01 3.167704641819000244e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.106343507766723633e-01 3.116032183170318604e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.058362364768981934e-01 3.064359724521636963e-01 1.000000000000000000e+00 -9.960784316062927246e-01 7.010380625724792480e-01 3.012687563896179199e-01 1.000000000000000000e+00 -9.960322976112365723e-01 6.963321566581726074e-01 2.973010241985321045e-01 1.000000000000000000e+00 -9.959092736244201660e-01 6.917800903320312500e-01 2.953325510025024414e-01 1.000000000000000000e+00 -9.957862496376037598e-01 6.872279644012451172e-01 2.933640778064727783e-01 1.000000000000000000e+00 -9.956632256507873535e-01 6.826758980751037598e-01 2.913956046104431152e-01 1.000000000000000000e+00 -9.955402016639709473e-01 6.781237721443176270e-01 2.894271314144134521e-01 1.000000000000000000e+00 -9.954171180725097656e-01 6.735717058181762695e-01 2.874586582183837891e-01 1.000000000000000000e+00 -9.952940940856933594e-01 6.690195798873901367e-01 2.854901850223541260e-01 1.000000000000000000e+00 -9.951710700988769531e-01 6.644675135612487793e-01 2.835217118263244629e-01 1.000000000000000000e+00 -9.950480461120605469e-01 6.599153876304626465e-01 2.815532386302947998e-01 1.000000000000000000e+00 -9.949250221252441406e-01 6.553633213043212891e-01 2.795847654342651367e-01 1.000000000000000000e+00 -9.948019981384277344e-01 6.508112549781799316e-01 2.776162922382354736e-01 1.000000000000000000e+00 -9.946789741516113281e-01 6.462591290473937988e-01 2.756478190422058105e-01 1.000000000000000000e+00 -9.945559501647949219e-01 6.417070627212524414e-01 2.736793458461761475e-01 1.000000000000000000e+00 -9.944329261779785156e-01 6.371549367904663086e-01 2.717108726501464844e-01 1.000000000000000000e+00 -9.943099021911621094e-01 6.326028704643249512e-01 2.697423994541168213e-01 1.000000000000000000e+00 -9.941868782043457031e-01 6.280507445335388184e-01 2.677739262580871582e-01 1.000000000000000000e+00 -9.940637946128845215e-01 6.234986782073974609e-01 2.658054530620574951e-01 1.000000000000000000e+00 -9.939407706260681152e-01 6.189465522766113281e-01 2.638369798660278320e-01 1.000000000000000000e+00 -9.938177466392517090e-01 6.143944859504699707e-01 2.618685066699981689e-01 1.000000000000000000e+00 -9.936947226524353027e-01 6.098423600196838379e-01 2.599000334739685059e-01 1.000000000000000000e+00 -9.935716986656188965e-01 6.052902936935424805e-01 2.579315602779388428e-01 1.000000000000000000e+00 -9.934486746788024902e-01 6.007381677627563477e-01 2.559630870819091797e-01 1.000000000000000000e+00 -9.933256506919860840e-01 5.961861014366149902e-01 2.539946138858795166e-01 1.000000000000000000e+00 -9.932026267051696777e-01 5.916339755058288574e-01 2.520261406898498535e-01 1.000000000000000000e+00 -9.930796027183532715e-01 5.870819091796875000e-01 2.500576674938201904e-01 1.000000000000000000e+00 -9.929565787315368652e-01 5.825297832489013672e-01 2.480891942977905273e-01 1.000000000000000000e+00 -9.928335547447204590e-01 5.779777169227600098e-01 2.461207211017608643e-01 1.000000000000000000e+00 -9.927104711532592773e-01 5.734255909919738770e-01 2.441522479057312012e-01 1.000000000000000000e+00 -9.925874471664428711e-01 5.688735246658325195e-01 2.421837747097015381e-01 1.000000000000000000e+00 -9.924644231796264648e-01 5.643213987350463867e-01 2.402153015136718750e-01 1.000000000000000000e+00 -9.923413991928100586e-01 5.597693324089050293e-01 2.382468283176422119e-01 1.000000000000000000e+00 -9.922183752059936523e-01 5.552172064781188965e-01 2.362783551216125488e-01 1.000000000000000000e+00 -9.920953512191772461e-01 5.490657687187194824e-01 2.341868579387664795e-01 1.000000000000000000e+00 -9.919723272323608398e-01 5.413148999214172363e-01 2.319723218679428101e-01 1.000000000000000000e+00 -9.918493032455444336e-01 5.335640311241149902e-01 2.297577857971191406e-01 1.000000000000000000e+00 -9.917262792587280273e-01 5.258131623268127441e-01 2.275432497262954712e-01 1.000000000000000000e+00 -9.916032552719116211e-01 5.180622935295104980e-01 2.253287136554718018e-01 1.000000000000000000e+00 -9.914801716804504395e-01 5.103114247322082520e-01 2.231141924858093262e-01 1.000000000000000000e+00 -9.913571476936340332e-01 5.025605559349060059e-01 2.208996564149856567e-01 1.000000000000000000e+00 -9.912341237068176270e-01 4.948096871376037598e-01 2.186851203441619873e-01 1.000000000000000000e+00 -9.911110997200012207e-01 4.870588183403015137e-01 2.164705842733383179e-01 1.000000000000000000e+00 -9.909880757331848145e-01 4.793079495429992676e-01 2.142560482025146484e-01 1.000000000000000000e+00 -9.908650517463684082e-01 4.715570807456970215e-01 2.120415270328521729e-01 1.000000000000000000e+00 -9.907420277595520020e-01 4.638062417507171631e-01 2.098269909620285034e-01 1.000000000000000000e+00 -9.906190037727355957e-01 4.560553729534149170e-01 2.076124548912048340e-01 1.000000000000000000e+00 -9.904959797859191895e-01 4.483045041561126709e-01 2.053979188203811646e-01 1.000000000000000000e+00 -9.903729557991027832e-01 4.405536353588104248e-01 2.031833976507186890e-01 1.000000000000000000e+00 -9.902499318122863770e-01 4.328027665615081787e-01 2.009688615798950195e-01 1.000000000000000000e+00 -9.901268482208251953e-01 4.250518977642059326e-01 1.987543255090713501e-01 1.000000000000000000e+00 -9.900038242340087891e-01 4.173010289669036865e-01 1.965397894382476807e-01 1.000000000000000000e+00 -9.898808002471923828e-01 4.095501601696014404e-01 1.943252533674240112e-01 1.000000000000000000e+00 -9.897577762603759766e-01 4.017993211746215820e-01 1.921107321977615356e-01 1.000000000000000000e+00 -9.896347522735595703e-01 3.940484523773193359e-01 1.898961961269378662e-01 1.000000000000000000e+00 -9.895117282867431641e-01 3.862975835800170898e-01 1.876816600561141968e-01 1.000000000000000000e+00 -9.893887042999267578e-01 3.785467147827148438e-01 1.854671239852905273e-01 1.000000000000000000e+00 -9.892656803131103516e-01 3.707958459854125977e-01 1.832525879144668579e-01 1.000000000000000000e+00 -9.891426563262939453e-01 3.630449771881103516e-01 1.810380667448043823e-01 1.000000000000000000e+00 -9.890196323394775391e-01 3.552941083908081055e-01 1.788235306739807129e-01 1.000000000000000000e+00 -9.888965487480163574e-01 3.475432395935058594e-01 1.766089946031570435e-01 1.000000000000000000e+00 -9.887735247611999512e-01 3.397924005985260010e-01 1.743944585323333740e-01 1.000000000000000000e+00 -9.886505007743835449e-01 3.320415318012237549e-01 1.721799373626708984e-01 1.000000000000000000e+00 -9.885274767875671387e-01 3.242906630039215088e-01 1.699654012918472290e-01 1.000000000000000000e+00 -9.884044528007507324e-01 3.165397942066192627e-01 1.677508652210235596e-01 1.000000000000000000e+00 -9.882814288139343262e-01 3.087889254093170166e-01 1.655363291501998901e-01 1.000000000000000000e+00 -9.863129854202270508e-01 3.018838763236999512e-01 1.636293679475784302e-01 1.000000000000000000e+00 -9.832372069358825684e-01 2.954863607883453369e-01 1.619069576263427734e-01 1.000000000000000000e+00 -9.801614880561828613e-01 2.890888154506683350e-01 1.601845473051071167e-01 1.000000000000000000e+00 -9.770857095718383789e-01 2.826912701129913330e-01 1.584621369838714600e-01 1.000000000000000000e+00 -9.740099906921386719e-01 2.762937247753143311e-01 1.567397117614746094e-01 1.000000000000000000e+00 -9.709342718124389648e-01 2.698961794376373291e-01 1.550173014402389526e-01 1.000000000000000000e+00 -9.678584933280944824e-01 2.634986639022827148e-01 1.532948911190032959e-01 1.000000000000000000e+00 -9.647827744483947754e-01 2.571011185646057129e-01 1.515724658966064453e-01 1.000000000000000000e+00 -9.617070555686950684e-01 2.507035732269287109e-01 1.498500555753707886e-01 1.000000000000000000e+00 -9.586312770843505859e-01 2.443060427904129028e-01 1.481276452541351318e-01 1.000000000000000000e+00 -9.555555582046508789e-01 2.379084974527359009e-01 1.464052349328994751e-01 1.000000000000000000e+00 -9.524798393249511719e-01 2.315109521150588989e-01 1.446828097105026245e-01 1.000000000000000000e+00 -9.494040608406066895e-01 2.251134216785430908e-01 1.429603993892669678e-01 1.000000000000000000e+00 -9.463283419609069824e-01 2.187158763408660889e-01 1.412379890680313110e-01 1.000000000000000000e+00 -9.432526230812072754e-01 2.123183459043502808e-01 1.395155638456344604e-01 1.000000000000000000e+00 -9.401768445968627930e-01 2.059208005666732788e-01 1.377931535243988037e-01 1.000000000000000000e+00 -9.371011257171630859e-01 1.995232552289962769e-01 1.360707432031631470e-01 1.000000000000000000e+00 -9.340253472328186035e-01 1.931257247924804688e-01 1.343483328819274902e-01 1.000000000000000000e+00 -9.309496283531188965e-01 1.867281794548034668e-01 1.326259076595306396e-01 1.000000000000000000e+00 -9.278739094734191895e-01 1.803306490182876587e-01 1.309034973382949829e-01 1.000000000000000000e+00 -9.247981309890747070e-01 1.739331036806106567e-01 1.291810870170593262e-01 1.000000000000000000e+00 -9.217224121093750000e-01 1.675355583429336548e-01 1.274586766958236694e-01 1.000000000000000000e+00 -9.186466932296752930e-01 1.611380279064178467e-01 1.257362514734268188e-01 1.000000000000000000e+00 -9.155709147453308105e-01 1.547404825687408447e-01 1.240138411521911621e-01 1.000000000000000000e+00 -9.124951958656311035e-01 1.483429521322250366e-01 1.222914233803749084e-01 1.000000000000000000e+00 -9.094194769859313965e-01 1.419454067945480347e-01 1.205690130591392517e-01 1.000000000000000000e+00 -9.063436985015869141e-01 1.355478614568710327e-01 1.188465952873229980e-01 1.000000000000000000e+00 -9.032679796218872070e-01 1.291503310203552246e-01 1.171241849660873413e-01 1.000000000000000000e+00 -9.001922607421875000e-01 1.227527856826782227e-01 1.154017671942710876e-01 1.000000000000000000e+00 -8.971164822578430176e-01 1.163552477955818176e-01 1.136793568730354309e-01 1.000000000000000000e+00 -8.940407633781433105e-01 1.099577099084854126e-01 1.119569391012191772e-01 1.000000000000000000e+00 -8.909649848937988281e-01 1.035601720213890076e-01 1.102345287799835205e-01 1.000000000000000000e+00 -8.866897225379943848e-01 9.956170618534088135e-02 1.107266470789909363e-01 1.000000000000000000e+00 -8.820146322250366211e-01 9.636294096708297729e-02 1.119569391012191772e-01 1.000000000000000000e+00 -8.773394823074340820e-01 9.316416829824447632e-02 1.131872385740280151e-01 1.000000000000000000e+00 -8.726643323898315430e-01 8.996539562940597534e-02 1.144175305962562561e-01 1.000000000000000000e+00 -8.679892420768737793e-01 8.676663041114807129e-02 1.156478300690650940e-01 1.000000000000000000e+00 -8.633140921592712402e-01 8.356785774230957031e-02 1.168781220912933350e-01 1.000000000000000000e+00 -8.586390018463134766e-01 8.036909252405166626e-02 1.181084215641021729e-01 1.000000000000000000e+00 -8.539638519287109375e-01 7.717031985521316528e-02 1.193387135863304138e-01 1.000000000000000000e+00 -8.492887616157531738e-01 7.397154718637466431e-02 1.205690130591392517e-01 1.000000000000000000e+00 -8.446136116981506348e-01 7.077278196811676025e-02 1.217993050813674927e-01 1.000000000000000000e+00 -8.399384617805480957e-01 6.757400929927825928e-02 1.230296045541763306e-01 1.000000000000000000e+00 -8.352633714675903320e-01 6.437523663043975830e-02 1.242598965764045715e-01 1.000000000000000000e+00 -8.305882215499877930e-01 6.117647141218185425e-02 1.254902034997940063e-01 1.000000000000000000e+00 -8.259131312370300293e-01 5.797770246863365173e-02 1.267204880714416504e-01 1.000000000000000000e+00 -8.212379813194274902e-01 5.477892979979515076e-02 1.279507875442504883e-01 1.000000000000000000e+00 -8.165628314018249512e-01 5.158016085624694824e-02 1.291810870170593262e-01 1.000000000000000000e+00 -8.118877410888671875e-01 4.838139191269874573e-02 1.304113864898681641e-01 1.000000000000000000e+00 -8.072125911712646484e-01 4.518262296915054321e-02 1.316416710615158081e-01 1.000000000000000000e+00 -8.025375008583068848e-01 4.198385402560234070e-02 1.328719705343246460e-01 1.000000000000000000e+00 -7.978623509407043457e-01 3.878508135676383972e-02 1.341022700071334839e-01 1.000000000000000000e+00 -7.931872606277465820e-01 3.558631241321563721e-02 1.353325694799423218e-01 1.000000000000000000e+00 -7.885121107101440430e-01 3.238754346966743469e-02 1.365628540515899658e-01 1.000000000000000000e+00 -7.838369607925415039e-01 2.918877266347408295e-02 1.377931535243988037e-01 1.000000000000000000e+00 -7.791618704795837402e-01 2.599000371992588043e-02 1.390234529972076416e-01 1.000000000000000000e+00 -7.744867205619812012e-01 2.279123477637767792e-02 1.402537524700164795e-01 1.000000000000000000e+00 -7.698116302490234375e-01 1.959246397018432617e-02 1.414840519428253174e-01 1.000000000000000000e+00 -7.651364803314208984e-01 1.639369502663612366e-02 1.427143365144729614e-01 1.000000000000000000e+00 -7.604613900184631348e-01 1.319492515176534653e-02 1.439446359872817993e-01 1.000000000000000000e+00 -7.557862401008605957e-01 9.996155276894569397e-03 1.451749354600906372e-01 1.000000000000000000e+00 -7.511110901832580566e-01 6.797385402023792267e-03 1.464052349328994751e-01 1.000000000000000000e+00 -7.464359998703002930e-01 3.598615992814302444e-03 1.476355195045471191e-01 1.000000000000000000e+00 -7.417608499526977539e-01 3.998462052550166845e-04 1.488658189773559570e-01 1.000000000000000000e+00 -7.346097826957702637e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -7.271049618721008301e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -7.196001410484313965e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -7.120953202247619629e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -7.045905590057373047e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -6.970857381820678711e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -6.895809173583984375e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -6.820760965347290039e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -6.745713353157043457e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -6.670665144920349121e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -6.595616936683654785e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -6.520568728446960449e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -6.445521116256713867e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -6.370472908020019531e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -6.295424699783325195e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -6.220376491546630859e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -6.145328879356384277e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -6.070280671119689941e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -5.995232462882995605e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -5.920184254646301270e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -5.845136642456054688e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -5.770088434219360352e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -5.695040225982666016e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -5.619992017745971680e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -5.544944405555725098e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -5.469896197319030762e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -5.394847989082336426e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -5.319799780845642090e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -5.244752168655395508e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -5.169703960418701172e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -5.094655752182006836e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 -5.019608139991760254e-01 0.000000000000000000e+00 1.490196138620376587e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/__init__.py b/fastplotlib/utils/colormaps/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/fastplotlib/utils/colormaps/afmhot b/fastplotlib/utils/colormaps/afmhot deleted file mode 100644 index 41158d67c..000000000 --- a/fastplotlib/utils/colormaps/afmhot +++ /dev/null @@ -1,256 +0,0 @@ -0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.843137718737125397e-03 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.568627543747425079e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.352941222488880157e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.137255087494850159e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.921568766236305237e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.705882444977760315e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.490196123719215393e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.274510174989700317e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.058823853731155396e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.843137532472610474e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.627451211214065552e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.411764889955520630e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.019607856869697571e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.098039224743843079e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.176470592617988586e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.254902034997940063e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.333333402872085571e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.411764770746231079e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.490196138620376587e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.568627506494522095e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.647058874368667603e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.725490242242813110e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.803921610116958618e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.882352977991104126e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.960784345865249634e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.039215713739395142e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.117647081613540649e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.196078449487686157e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.274509817361831665e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.352941185235977173e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.431372553110122681e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.509804069995880127e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.588235437870025635e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.666666805744171143e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.745098173618316650e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.823529541492462158e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.901960909366607666e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.980392277240753174e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.058823645114898682e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.137255012989044189e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.215686380863189697e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.294117748737335205e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.372549116611480713e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.450980484485626221e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.529411852359771729e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.607843220233917236e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.686274588108062744e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.764705955982208252e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.843137323856353760e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.921568691730499268e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.000000059604644775e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.078431427478790283e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.156862795352935791e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.235294163227081299e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.313725531101226807e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.392156898975372314e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.470588266849517822e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.549019634723663330e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.627451002597808838e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.705882370471954346e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.784313738346099854e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.862745106220245361e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.941176474094390869e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.019608139991760254e-01 1.960784429684281349e-03 0.000000000000000000e+00 1.000000000000000000e+00 -5.098039507865905762e-01 9.803921915590763092e-03 0.000000000000000000e+00 1.000000000000000000e+00 -5.176470875740051270e-01 1.764705963432788849e-02 0.000000000000000000e+00 1.000000000000000000e+00 -5.254902243614196777e-01 2.549019642174243927e-02 0.000000000000000000e+00 1.000000000000000000e+00 -5.333333611488342285e-01 3.333333507180213928e-02 0.000000000000000000e+00 1.000000000000000000e+00 -5.411764979362487793e-01 4.117647185921669006e-02 0.000000000000000000e+00 1.000000000000000000e+00 -5.490196347236633301e-01 4.901960864663124084e-02 0.000000000000000000e+00 1.000000000000000000e+00 -5.568627715110778809e-01 5.686274543404579163e-02 0.000000000000000000e+00 1.000000000000000000e+00 -5.647059082984924316e-01 6.470588594675064087e-02 0.000000000000000000e+00 1.000000000000000000e+00 -5.725490450859069824e-01 7.254902273416519165e-02 0.000000000000000000e+00 1.000000000000000000e+00 -5.803921818733215332e-01 8.039215952157974243e-02 0.000000000000000000e+00 1.000000000000000000e+00 -5.882353186607360840e-01 8.823529630899429321e-02 0.000000000000000000e+00 1.000000000000000000e+00 -5.960784554481506348e-01 9.607843309640884399e-02 0.000000000000000000e+00 1.000000000000000000e+00 -6.039215922355651855e-01 1.039215698838233948e-01 0.000000000000000000e+00 1.000000000000000000e+00 -6.117647290229797363e-01 1.117647066712379456e-01 0.000000000000000000e+00 1.000000000000000000e+00 -6.196078658103942871e-01 1.196078434586524963e-01 0.000000000000000000e+00 1.000000000000000000e+00 -6.274510025978088379e-01 1.274509876966476440e-01 0.000000000000000000e+00 1.000000000000000000e+00 -6.352941393852233887e-01 1.352941244840621948e-01 0.000000000000000000e+00 1.000000000000000000e+00 -6.431372761726379395e-01 1.431372612714767456e-01 0.000000000000000000e+00 1.000000000000000000e+00 -6.509804129600524902e-01 1.509803980588912964e-01 0.000000000000000000e+00 1.000000000000000000e+00 -6.588235497474670410e-01 1.588235348463058472e-01 0.000000000000000000e+00 1.000000000000000000e+00 -6.666666865348815918e-01 1.666666716337203979e-01 0.000000000000000000e+00 1.000000000000000000e+00 -6.745098233222961426e-01 1.745098084211349487e-01 0.000000000000000000e+00 1.000000000000000000e+00 -6.823529601097106934e-01 1.823529452085494995e-01 0.000000000000000000e+00 1.000000000000000000e+00 -6.901960968971252441e-01 1.901960819959640503e-01 0.000000000000000000e+00 1.000000000000000000e+00 -6.980392336845397949e-01 1.980392187833786011e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.058823704719543457e-01 2.058823555707931519e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.137255072593688965e-01 2.137254923582077026e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.215686440467834473e-01 2.215686291456222534e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.294117808341979980e-01 2.294117659330368042e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.372549176216125488e-01 2.372549027204513550e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.450980544090270996e-01 2.450980395078659058e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.529411911964416504e-01 2.529411911964416504e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.607843279838562012e-01 2.607843279838562012e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.686274647712707520e-01 2.686274647712707520e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.764706015586853027e-01 2.764706015586853027e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.843137383460998535e-01 2.843137383460998535e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.921568751335144043e-01 2.921568751335144043e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.000000119209289551e-01 3.000000119209289551e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.078431487083435059e-01 3.078431487083435059e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.156862854957580566e-01 3.156862854957580566e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.235294222831726074e-01 3.235294222831726074e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.313725590705871582e-01 3.313725590705871582e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.392156958580017090e-01 3.392156958580017090e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.470588326454162598e-01 3.470588326454162598e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.549019694328308105e-01 3.549019694328308105e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.627451062202453613e-01 3.627451062202453613e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.705882430076599121e-01 3.705882430076599121e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.784313797950744629e-01 3.784313797950744629e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.862745165824890137e-01 3.862745165824890137e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.941176533699035645e-01 3.941176533699035645e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.019607901573181152e-01 4.019607901573181152e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.098039269447326660e-01 4.098039269447326660e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.176470637321472168e-01 4.176470637321472168e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.254902005195617676e-01 4.254902005195617676e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.333333373069763184e-01 4.333333373069763184e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.411764740943908691e-01 4.411764740943908691e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.490196108818054199e-01 4.490196108818054199e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.568627476692199707e-01 4.568627476692199707e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.647058844566345215e-01 4.647058844566345215e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.725490212440490723e-01 4.725490212440490723e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.803921580314636230e-01 4.803921580314636230e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.882352948188781738e-01 4.882352948188781738e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.960784316062927246e-01 4.960784316062927246e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.039215683937072754e-01 3.921568859368562698e-03 1.000000000000000000e+00 -1.000000000000000000e+00 5.117647051811218262e-01 1.176470611244440079e-02 1.000000000000000000e+00 -1.000000000000000000e+00 5.196078419685363770e-01 1.960784383118152618e-02 1.000000000000000000e+00 -1.000000000000000000e+00 5.274509787559509277e-01 2.745098061859607697e-02 1.000000000000000000e+00 -1.000000000000000000e+00 5.352941155433654785e-01 3.529411926865577698e-02 1.000000000000000000e+00 -1.000000000000000000e+00 5.431372523307800293e-01 4.313725605607032776e-02 1.000000000000000000e+00 -1.000000000000000000e+00 5.509803891181945801e-01 5.098039284348487854e-02 1.000000000000000000e+00 -1.000000000000000000e+00 5.588235259056091309e-01 5.882352963089942932e-02 1.000000000000000000e+00 -1.000000000000000000e+00 5.666666626930236816e-01 6.666667014360427856e-02 1.000000000000000000e+00 -1.000000000000000000e+00 5.745097994804382324e-01 7.450980693101882935e-02 1.000000000000000000e+00 -1.000000000000000000e+00 5.823529362678527832e-01 8.235294371843338013e-02 1.000000000000000000e+00 -1.000000000000000000e+00 5.901960730552673340e-01 9.019608050584793091e-02 1.000000000000000000e+00 -1.000000000000000000e+00 5.980392098426818848e-01 9.803921729326248169e-02 1.000000000000000000e+00 -1.000000000000000000e+00 6.058823466300964355e-01 1.058823540806770325e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.137254834175109863e-01 1.137254908680915833e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.215686202049255371e-01 1.215686276555061340e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.294117569923400879e-01 1.294117718935012817e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.372548937797546387e-01 1.372549086809158325e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.450980305671691895e-01 1.450980454683303833e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.529411673545837402e-01 1.529411822557449341e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.607843041419982910e-01 1.607843190431594849e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.686274409294128418e-01 1.686274558305740356e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.764705777168273926e-01 1.764705926179885864e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.843137145042419434e-01 1.843137294054031372e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.921568512916564941e-01 1.921568661928176880e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.999999880790710449e-01 2.000000029802322388e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.078431248664855957e-01 2.078431397676467896e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.156862616539001465e-01 2.156862765550613403e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.235293984413146973e-01 2.235294133424758911e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.313725352287292480e-01 2.313725501298904419e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.392156720161437988e-01 2.392156869173049927e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.470588088035583496e-01 2.470588237047195435e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.549019455909729004e-01 2.549019753932952881e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.627450823783874512e-01 2.627451121807098389e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.705882191658020020e-01 2.705882489681243896e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.784313559532165527e-01 2.784313857555389404e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.862744927406311035e-01 2.862745225429534912e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.941176295280456543e-01 2.941176593303680420e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.019607663154602051e-01 3.019607961177825928e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.098039031028747559e-01 3.098039329051971436e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.176470398902893066e-01 3.176470696926116943e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.254901766777038574e-01 3.254902064800262451e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.333333134651184082e-01 3.333333432674407959e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.411764502525329590e-01 3.411764800548553467e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.490195870399475098e-01 3.490196168422698975e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.568627238273620605e-01 3.568627536296844482e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.647058606147766113e-01 3.647058904170989990e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.725489974021911621e-01 3.725490272045135498e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.803921341896057129e-01 3.803921639919281006e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.882352709770202637e-01 3.882353007793426514e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.960784077644348145e-01 3.960784375667572021e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.039215445518493652e-01 4.039215743541717529e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.117646813392639160e-01 4.117647111415863037e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.196078181266784668e-01 4.196078479290008545e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.274509549140930176e-01 4.274509847164154053e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.352940917015075684e-01 4.352941215038299561e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.431372284889221191e-01 4.431372582912445068e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.509803652763366699e-01 4.509803950786590576e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.588235020637512207e-01 4.588235318660736084e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.666666388511657715e-01 4.666666686534881592e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.745097756385803223e-01 4.745098054409027100e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.823529124259948730e-01 4.823529422283172607e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.901960492134094238e-01 4.901960790157318115e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.980391860008239746e-01 4.980392158031463623e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 5.058823823928833008e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 5.137255191802978516e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 5.215686559677124023e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 5.294117927551269531e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 5.372549295425415039e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 5.450980663299560547e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 5.529412031173706055e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 5.607843399047851562e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 5.686274766921997070e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 5.764706134796142578e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 5.843137502670288086e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 5.921568870544433594e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 6.000000238418579102e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 6.078431606292724609e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 6.156862974166870117e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 6.235294342041015625e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 6.313725709915161133e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 6.392157077789306641e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 6.470588445663452148e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 6.549019813537597656e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 6.627451181411743164e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 6.705882549285888672e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 6.784313917160034180e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 6.862745285034179688e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 6.941176652908325195e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 7.019608020782470703e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 7.098039388656616211e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 7.176470756530761719e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 7.254902124404907227e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 7.333333492279052734e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 7.411764860153198242e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 7.490196228027343750e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 7.568627595901489258e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 7.647058963775634766e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 7.725490331649780273e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 7.803921699523925781e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 7.882353067398071289e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 7.960784435272216797e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 8.039215803146362305e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 8.117647171020507812e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 8.196078538894653320e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 8.274509906768798828e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 8.352941274642944336e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 8.431372642517089844e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 8.509804010391235352e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 8.588235378265380859e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 8.666666746139526367e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 8.745098114013671875e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 8.823529481887817383e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 8.901960849761962891e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 8.980392217636108398e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 9.058823585510253906e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 9.137254953384399414e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 9.215686321258544922e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 9.294117689132690430e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 9.372549057006835938e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 9.450980424880981445e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 9.529411792755126953e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 9.607843160629272461e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 9.686274528503417969e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 9.764705896377563477e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 9.843137264251708984e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 9.921568632125854492e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/autumn b/fastplotlib/utils/colormaps/autumn deleted file mode 100644 index b6c4be628..000000000 --- a/fastplotlib/utils/colormaps/autumn +++ /dev/null @@ -1,256 +0,0 @@ -1.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.921568859368562698e-03 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.843137718737125397e-03 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.176470611244440079e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.568627543747425079e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.960784383118152618e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.352941222488880157e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.745098061859607697e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.137255087494850159e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.529411926865577698e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.921568766236305237e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.313725605607032776e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.705882444977760315e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.098039284348487854e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.490196123719215393e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.882352963089942932e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.274510174989700317e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.666667014360427856e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.058823853731155396e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.450980693101882935e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.843137532472610474e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.235294371843338013e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.627451211214065552e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.019608050584793091e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.411764889955520630e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.803921729326248169e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.019607856869697571e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.058823540806770325e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.098039224743843079e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.137254908680915833e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.176470592617988586e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.215686276555061340e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.254902034997940063e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.294117718935012817e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.333333402872085571e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.372549086809158325e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.411764770746231079e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.450980454683303833e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.490196138620376587e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.529411822557449341e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.568627506494522095e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.607843190431594849e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.647058874368667603e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.686274558305740356e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.725490242242813110e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.764705926179885864e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.803921610116958618e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.843137294054031372e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.882352977991104126e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.921568661928176880e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.960784345865249634e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.000000029802322388e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.039215713739395142e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.078431397676467896e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.117647081613540649e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.156862765550613403e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.196078449487686157e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.235294133424758911e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.274509817361831665e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.313725501298904419e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.352941185235977173e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.392156869173049927e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.431372553110122681e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.470588237047195435e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.509804069995880127e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.549019753932952881e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.588235437870025635e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.627451121807098389e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.666666805744171143e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.705882489681243896e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.745098173618316650e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.784313857555389404e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.823529541492462158e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.862745225429534912e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.901960909366607666e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.941176593303680420e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.980392277240753174e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.019607961177825928e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.058823645114898682e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.098039329051971436e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.137255012989044189e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.176470696926116943e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.215686380863189697e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.254902064800262451e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.294117748737335205e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.333333432674407959e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.372549116611480713e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.411764800548553467e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.450980484485626221e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.490196168422698975e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.529411852359771729e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.568627536296844482e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.607843220233917236e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.647058904170989990e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.686274588108062744e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.725490272045135498e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.764705955982208252e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.803921639919281006e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.843137323856353760e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.882353007793426514e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.921568691730499268e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.960784375667572021e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.000000059604644775e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.039215743541717529e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.078431427478790283e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.117647111415863037e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.156862795352935791e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.196078479290008545e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.235294163227081299e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.274509847164154053e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.313725531101226807e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.352941215038299561e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.392156898975372314e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.431372582912445068e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.470588266849517822e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.509803950786590576e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.549019634723663330e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.588235318660736084e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.627451002597808838e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.666666686534881592e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.705882370471954346e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.745098054409027100e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.784313738346099854e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.823529422283172607e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.862745106220245361e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.901960790157318115e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.941176474094390869e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.980392158031463623e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.019608139991760254e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.058823823928833008e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.098039507865905762e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.137255191802978516e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.176470875740051270e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.215686559677124023e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.254902243614196777e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.294117927551269531e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.333333611488342285e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.372549295425415039e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.411764979362487793e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.450980663299560547e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.490196347236633301e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.529412031173706055e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.568627715110778809e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.607843399047851562e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.647059082984924316e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.686274766921997070e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.725490450859069824e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.764706134796142578e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.803921818733215332e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.843137502670288086e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.882353186607360840e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.921568870544433594e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.960784554481506348e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.000000238418579102e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.039215922355651855e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.078431606292724609e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.117647290229797363e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.156862974166870117e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.196078658103942871e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.235294342041015625e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.274510025978088379e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.313725709915161133e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.352941393852233887e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.392157077789306641e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.431372761726379395e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.470588445663452148e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.509804129600524902e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.549019813537597656e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.588235497474670410e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.627451181411743164e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.666666865348815918e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.705882549285888672e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.745098233222961426e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.784313917160034180e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.823529601097106934e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.862745285034179688e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.901960968971252441e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.941176652908325195e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.980392336845397949e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.019608020782470703e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.058823704719543457e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.098039388656616211e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.137255072593688965e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.176470756530761719e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.215686440467834473e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.254902124404907227e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.294117808341979980e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.333333492279052734e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.372549176216125488e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.411764860153198242e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.450980544090270996e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.490196228027343750e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.529411911964416504e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.568627595901489258e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.607843279838562012e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.647058963775634766e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.686274647712707520e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.725490331649780273e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.764706015586853027e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.803921699523925781e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.843137383460998535e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.882353067398071289e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.921568751335144043e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.960784435272216797e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.000000119209289551e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.039215803146362305e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.078431487083435059e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.117647171020507812e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.156862854957580566e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.196078538894653320e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.235294222831726074e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.274509906768798828e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.313725590705871582e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.352941274642944336e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.392156958580017090e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.431372642517089844e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.470588326454162598e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.509804010391235352e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.549019694328308105e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.588235378265380859e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.627451062202453613e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.666666746139526367e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.705882430076599121e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.745098114013671875e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.784313797950744629e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.823529481887817383e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.862745165824890137e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.901960849761962891e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.941176533699035645e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.980392217636108398e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.019607901573181152e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.058823585510253906e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.098039269447326660e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.137254953384399414e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.176470637321472168e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.215686321258544922e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.254902005195617676e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.294117689132690430e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.333333373069763184e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.372549057006835938e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.411764740943908691e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.450980424880981445e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.490196108818054199e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.529411792755126953e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.568627476692199707e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.607843160629272461e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.647058844566345215e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.686274528503417969e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.725490212440490723e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.764705896377563477e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.803921580314636230e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.843137264251708984e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.882352948188781738e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.921568632125854492e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.960784316062927246e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/binary b/fastplotlib/utils/colormaps/binary deleted file mode 100644 index 19ae9bd30..000000000 --- a/fastplotlib/utils/colormaps/binary +++ /dev/null @@ -1,256 +0,0 @@ -1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -9.960784316062927246e-01 9.960784316062927246e-01 9.960784316062927246e-01 1.000000000000000000e+00 -9.921568632125854492e-01 9.921568632125854492e-01 9.921568632125854492e-01 1.000000000000000000e+00 -9.882352948188781738e-01 9.882352948188781738e-01 9.882352948188781738e-01 1.000000000000000000e+00 -9.843137264251708984e-01 9.843137264251708984e-01 9.843137264251708984e-01 1.000000000000000000e+00 -9.803921580314636230e-01 9.803921580314636230e-01 9.803921580314636230e-01 1.000000000000000000e+00 -9.764705896377563477e-01 9.764705896377563477e-01 9.764705896377563477e-01 1.000000000000000000e+00 -9.725490212440490723e-01 9.725490212440490723e-01 9.725490212440490723e-01 1.000000000000000000e+00 -9.686274528503417969e-01 9.686274528503417969e-01 9.686274528503417969e-01 1.000000000000000000e+00 -9.647058844566345215e-01 9.647058844566345215e-01 9.647058844566345215e-01 1.000000000000000000e+00 -9.607843160629272461e-01 9.607843160629272461e-01 9.607843160629272461e-01 1.000000000000000000e+00 -9.568627476692199707e-01 9.568627476692199707e-01 9.568627476692199707e-01 1.000000000000000000e+00 -9.529411792755126953e-01 9.529411792755126953e-01 9.529411792755126953e-01 1.000000000000000000e+00 -9.490196108818054199e-01 9.490196108818054199e-01 9.490196108818054199e-01 1.000000000000000000e+00 -9.450980424880981445e-01 9.450980424880981445e-01 9.450980424880981445e-01 1.000000000000000000e+00 -9.411764740943908691e-01 9.411764740943908691e-01 9.411764740943908691e-01 1.000000000000000000e+00 -9.372549057006835938e-01 9.372549057006835938e-01 9.372549057006835938e-01 1.000000000000000000e+00 -9.333333373069763184e-01 9.333333373069763184e-01 9.333333373069763184e-01 1.000000000000000000e+00 -9.294117689132690430e-01 9.294117689132690430e-01 9.294117689132690430e-01 1.000000000000000000e+00 -9.254902005195617676e-01 9.254902005195617676e-01 9.254902005195617676e-01 1.000000000000000000e+00 -9.215686321258544922e-01 9.215686321258544922e-01 9.215686321258544922e-01 1.000000000000000000e+00 -9.176470637321472168e-01 9.176470637321472168e-01 9.176470637321472168e-01 1.000000000000000000e+00 -9.137254953384399414e-01 9.137254953384399414e-01 9.137254953384399414e-01 1.000000000000000000e+00 -9.098039269447326660e-01 9.098039269447326660e-01 9.098039269447326660e-01 1.000000000000000000e+00 -9.058823585510253906e-01 9.058823585510253906e-01 9.058823585510253906e-01 1.000000000000000000e+00 -9.019607901573181152e-01 9.019607901573181152e-01 9.019607901573181152e-01 1.000000000000000000e+00 -8.980392217636108398e-01 8.980392217636108398e-01 8.980392217636108398e-01 1.000000000000000000e+00 -8.941176533699035645e-01 8.941176533699035645e-01 8.941176533699035645e-01 1.000000000000000000e+00 -8.901960849761962891e-01 8.901960849761962891e-01 8.901960849761962891e-01 1.000000000000000000e+00 -8.862745165824890137e-01 8.862745165824890137e-01 8.862745165824890137e-01 1.000000000000000000e+00 -8.823529481887817383e-01 8.823529481887817383e-01 8.823529481887817383e-01 1.000000000000000000e+00 -8.784313797950744629e-01 8.784313797950744629e-01 8.784313797950744629e-01 1.000000000000000000e+00 -8.745098114013671875e-01 8.745098114013671875e-01 8.745098114013671875e-01 1.000000000000000000e+00 -8.705882430076599121e-01 8.705882430076599121e-01 8.705882430076599121e-01 1.000000000000000000e+00 -8.666666746139526367e-01 8.666666746139526367e-01 8.666666746139526367e-01 1.000000000000000000e+00 -8.627451062202453613e-01 8.627451062202453613e-01 8.627451062202453613e-01 1.000000000000000000e+00 -8.588235378265380859e-01 8.588235378265380859e-01 8.588235378265380859e-01 1.000000000000000000e+00 -8.549019694328308105e-01 8.549019694328308105e-01 8.549019694328308105e-01 1.000000000000000000e+00 -8.509804010391235352e-01 8.509804010391235352e-01 8.509804010391235352e-01 1.000000000000000000e+00 -8.470588326454162598e-01 8.470588326454162598e-01 8.470588326454162598e-01 1.000000000000000000e+00 -8.431372642517089844e-01 8.431372642517089844e-01 8.431372642517089844e-01 1.000000000000000000e+00 -8.392156958580017090e-01 8.392156958580017090e-01 8.392156958580017090e-01 1.000000000000000000e+00 -8.352941274642944336e-01 8.352941274642944336e-01 8.352941274642944336e-01 1.000000000000000000e+00 -8.313725590705871582e-01 8.313725590705871582e-01 8.313725590705871582e-01 1.000000000000000000e+00 -8.274509906768798828e-01 8.274509906768798828e-01 8.274509906768798828e-01 1.000000000000000000e+00 -8.235294222831726074e-01 8.235294222831726074e-01 8.235294222831726074e-01 1.000000000000000000e+00 -8.196078538894653320e-01 8.196078538894653320e-01 8.196078538894653320e-01 1.000000000000000000e+00 -8.156862854957580566e-01 8.156862854957580566e-01 8.156862854957580566e-01 1.000000000000000000e+00 -8.117647171020507812e-01 8.117647171020507812e-01 8.117647171020507812e-01 1.000000000000000000e+00 -8.078431487083435059e-01 8.078431487083435059e-01 8.078431487083435059e-01 1.000000000000000000e+00 -8.039215803146362305e-01 8.039215803146362305e-01 8.039215803146362305e-01 1.000000000000000000e+00 -8.000000119209289551e-01 8.000000119209289551e-01 8.000000119209289551e-01 1.000000000000000000e+00 -7.960784435272216797e-01 7.960784435272216797e-01 7.960784435272216797e-01 1.000000000000000000e+00 -7.921568751335144043e-01 7.921568751335144043e-01 7.921568751335144043e-01 1.000000000000000000e+00 -7.882353067398071289e-01 7.882353067398071289e-01 7.882353067398071289e-01 1.000000000000000000e+00 -7.843137383460998535e-01 7.843137383460998535e-01 7.843137383460998535e-01 1.000000000000000000e+00 -7.803921699523925781e-01 7.803921699523925781e-01 7.803921699523925781e-01 1.000000000000000000e+00 -7.764706015586853027e-01 7.764706015586853027e-01 7.764706015586853027e-01 1.000000000000000000e+00 -7.725490331649780273e-01 7.725490331649780273e-01 7.725490331649780273e-01 1.000000000000000000e+00 -7.686274647712707520e-01 7.686274647712707520e-01 7.686274647712707520e-01 1.000000000000000000e+00 -7.647058963775634766e-01 7.647058963775634766e-01 7.647058963775634766e-01 1.000000000000000000e+00 -7.607843279838562012e-01 7.607843279838562012e-01 7.607843279838562012e-01 1.000000000000000000e+00 -7.568627595901489258e-01 7.568627595901489258e-01 7.568627595901489258e-01 1.000000000000000000e+00 -7.529411911964416504e-01 7.529411911964416504e-01 7.529411911964416504e-01 1.000000000000000000e+00 -7.490196228027343750e-01 7.490196228027343750e-01 7.490196228027343750e-01 1.000000000000000000e+00 -7.450980544090270996e-01 7.450980544090270996e-01 7.450980544090270996e-01 1.000000000000000000e+00 -7.411764860153198242e-01 7.411764860153198242e-01 7.411764860153198242e-01 1.000000000000000000e+00 -7.372549176216125488e-01 7.372549176216125488e-01 7.372549176216125488e-01 1.000000000000000000e+00 -7.333333492279052734e-01 7.333333492279052734e-01 7.333333492279052734e-01 1.000000000000000000e+00 -7.294117808341979980e-01 7.294117808341979980e-01 7.294117808341979980e-01 1.000000000000000000e+00 -7.254902124404907227e-01 7.254902124404907227e-01 7.254902124404907227e-01 1.000000000000000000e+00 -7.215686440467834473e-01 7.215686440467834473e-01 7.215686440467834473e-01 1.000000000000000000e+00 -7.176470756530761719e-01 7.176470756530761719e-01 7.176470756530761719e-01 1.000000000000000000e+00 -7.137255072593688965e-01 7.137255072593688965e-01 7.137255072593688965e-01 1.000000000000000000e+00 -7.098039388656616211e-01 7.098039388656616211e-01 7.098039388656616211e-01 1.000000000000000000e+00 -7.058823704719543457e-01 7.058823704719543457e-01 7.058823704719543457e-01 1.000000000000000000e+00 -7.019608020782470703e-01 7.019608020782470703e-01 7.019608020782470703e-01 1.000000000000000000e+00 -6.980392336845397949e-01 6.980392336845397949e-01 6.980392336845397949e-01 1.000000000000000000e+00 -6.941176652908325195e-01 6.941176652908325195e-01 6.941176652908325195e-01 1.000000000000000000e+00 -6.901960968971252441e-01 6.901960968971252441e-01 6.901960968971252441e-01 1.000000000000000000e+00 -6.862745285034179688e-01 6.862745285034179688e-01 6.862745285034179688e-01 1.000000000000000000e+00 -6.823529601097106934e-01 6.823529601097106934e-01 6.823529601097106934e-01 1.000000000000000000e+00 -6.784313917160034180e-01 6.784313917160034180e-01 6.784313917160034180e-01 1.000000000000000000e+00 -6.745098233222961426e-01 6.745098233222961426e-01 6.745098233222961426e-01 1.000000000000000000e+00 -6.705882549285888672e-01 6.705882549285888672e-01 6.705882549285888672e-01 1.000000000000000000e+00 -6.666666865348815918e-01 6.666666865348815918e-01 6.666666865348815918e-01 1.000000000000000000e+00 -6.627451181411743164e-01 6.627451181411743164e-01 6.627451181411743164e-01 1.000000000000000000e+00 -6.588235497474670410e-01 6.588235497474670410e-01 6.588235497474670410e-01 1.000000000000000000e+00 -6.549019813537597656e-01 6.549019813537597656e-01 6.549019813537597656e-01 1.000000000000000000e+00 -6.509804129600524902e-01 6.509804129600524902e-01 6.509804129600524902e-01 1.000000000000000000e+00 -6.470588445663452148e-01 6.470588445663452148e-01 6.470588445663452148e-01 1.000000000000000000e+00 -6.431372761726379395e-01 6.431372761726379395e-01 6.431372761726379395e-01 1.000000000000000000e+00 -6.392157077789306641e-01 6.392157077789306641e-01 6.392157077789306641e-01 1.000000000000000000e+00 -6.352941393852233887e-01 6.352941393852233887e-01 6.352941393852233887e-01 1.000000000000000000e+00 -6.313725709915161133e-01 6.313725709915161133e-01 6.313725709915161133e-01 1.000000000000000000e+00 -6.274510025978088379e-01 6.274510025978088379e-01 6.274510025978088379e-01 1.000000000000000000e+00 -6.235294342041015625e-01 6.235294342041015625e-01 6.235294342041015625e-01 1.000000000000000000e+00 -6.196078658103942871e-01 6.196078658103942871e-01 6.196078658103942871e-01 1.000000000000000000e+00 -6.156862974166870117e-01 6.156862974166870117e-01 6.156862974166870117e-01 1.000000000000000000e+00 -6.117647290229797363e-01 6.117647290229797363e-01 6.117647290229797363e-01 1.000000000000000000e+00 -6.078431606292724609e-01 6.078431606292724609e-01 6.078431606292724609e-01 1.000000000000000000e+00 -6.039215922355651855e-01 6.039215922355651855e-01 6.039215922355651855e-01 1.000000000000000000e+00 -6.000000238418579102e-01 6.000000238418579102e-01 6.000000238418579102e-01 1.000000000000000000e+00 -5.960784554481506348e-01 5.960784554481506348e-01 5.960784554481506348e-01 1.000000000000000000e+00 -5.921568870544433594e-01 5.921568870544433594e-01 5.921568870544433594e-01 1.000000000000000000e+00 -5.882353186607360840e-01 5.882353186607360840e-01 5.882353186607360840e-01 1.000000000000000000e+00 -5.843137502670288086e-01 5.843137502670288086e-01 5.843137502670288086e-01 1.000000000000000000e+00 -5.803921818733215332e-01 5.803921818733215332e-01 5.803921818733215332e-01 1.000000000000000000e+00 -5.764706134796142578e-01 5.764706134796142578e-01 5.764706134796142578e-01 1.000000000000000000e+00 -5.725490450859069824e-01 5.725490450859069824e-01 5.725490450859069824e-01 1.000000000000000000e+00 -5.686274766921997070e-01 5.686274766921997070e-01 5.686274766921997070e-01 1.000000000000000000e+00 -5.647059082984924316e-01 5.647059082984924316e-01 5.647059082984924316e-01 1.000000000000000000e+00 -5.607843399047851562e-01 5.607843399047851562e-01 5.607843399047851562e-01 1.000000000000000000e+00 -5.568627715110778809e-01 5.568627715110778809e-01 5.568627715110778809e-01 1.000000000000000000e+00 -5.529412031173706055e-01 5.529412031173706055e-01 5.529412031173706055e-01 1.000000000000000000e+00 -5.490196347236633301e-01 5.490196347236633301e-01 5.490196347236633301e-01 1.000000000000000000e+00 -5.450980663299560547e-01 5.450980663299560547e-01 5.450980663299560547e-01 1.000000000000000000e+00 -5.411764979362487793e-01 5.411764979362487793e-01 5.411764979362487793e-01 1.000000000000000000e+00 -5.372549295425415039e-01 5.372549295425415039e-01 5.372549295425415039e-01 1.000000000000000000e+00 -5.333333611488342285e-01 5.333333611488342285e-01 5.333333611488342285e-01 1.000000000000000000e+00 -5.294117927551269531e-01 5.294117927551269531e-01 5.294117927551269531e-01 1.000000000000000000e+00 -5.254902243614196777e-01 5.254902243614196777e-01 5.254902243614196777e-01 1.000000000000000000e+00 -5.215686559677124023e-01 5.215686559677124023e-01 5.215686559677124023e-01 1.000000000000000000e+00 -5.176470875740051270e-01 5.176470875740051270e-01 5.176470875740051270e-01 1.000000000000000000e+00 -5.137255191802978516e-01 5.137255191802978516e-01 5.137255191802978516e-01 1.000000000000000000e+00 -5.098039507865905762e-01 5.098039507865905762e-01 5.098039507865905762e-01 1.000000000000000000e+00 -5.058823823928833008e-01 5.058823823928833008e-01 5.058823823928833008e-01 1.000000000000000000e+00 -5.019608139991760254e-01 5.019608139991760254e-01 5.019608139991760254e-01 1.000000000000000000e+00 -4.980392158031463623e-01 4.980392158031463623e-01 4.980392158031463623e-01 1.000000000000000000e+00 -4.941176474094390869e-01 4.941176474094390869e-01 4.941176474094390869e-01 1.000000000000000000e+00 -4.901960790157318115e-01 4.901960790157318115e-01 4.901960790157318115e-01 1.000000000000000000e+00 -4.862745106220245361e-01 4.862745106220245361e-01 4.862745106220245361e-01 1.000000000000000000e+00 -4.823529422283172607e-01 4.823529422283172607e-01 4.823529422283172607e-01 1.000000000000000000e+00 -4.784313738346099854e-01 4.784313738346099854e-01 4.784313738346099854e-01 1.000000000000000000e+00 -4.745098054409027100e-01 4.745098054409027100e-01 4.745098054409027100e-01 1.000000000000000000e+00 -4.705882370471954346e-01 4.705882370471954346e-01 4.705882370471954346e-01 1.000000000000000000e+00 -4.666666686534881592e-01 4.666666686534881592e-01 4.666666686534881592e-01 1.000000000000000000e+00 -4.627451002597808838e-01 4.627451002597808838e-01 4.627451002597808838e-01 1.000000000000000000e+00 -4.588235318660736084e-01 4.588235318660736084e-01 4.588235318660736084e-01 1.000000000000000000e+00 -4.549019634723663330e-01 4.549019634723663330e-01 4.549019634723663330e-01 1.000000000000000000e+00 -4.509803950786590576e-01 4.509803950786590576e-01 4.509803950786590576e-01 1.000000000000000000e+00 -4.470588266849517822e-01 4.470588266849517822e-01 4.470588266849517822e-01 1.000000000000000000e+00 -4.431372582912445068e-01 4.431372582912445068e-01 4.431372582912445068e-01 1.000000000000000000e+00 -4.392156898975372314e-01 4.392156898975372314e-01 4.392156898975372314e-01 1.000000000000000000e+00 -4.352941215038299561e-01 4.352941215038299561e-01 4.352941215038299561e-01 1.000000000000000000e+00 -4.313725531101226807e-01 4.313725531101226807e-01 4.313725531101226807e-01 1.000000000000000000e+00 -4.274509847164154053e-01 4.274509847164154053e-01 4.274509847164154053e-01 1.000000000000000000e+00 -4.235294163227081299e-01 4.235294163227081299e-01 4.235294163227081299e-01 1.000000000000000000e+00 -4.196078479290008545e-01 4.196078479290008545e-01 4.196078479290008545e-01 1.000000000000000000e+00 -4.156862795352935791e-01 4.156862795352935791e-01 4.156862795352935791e-01 1.000000000000000000e+00 -4.117647111415863037e-01 4.117647111415863037e-01 4.117647111415863037e-01 1.000000000000000000e+00 -4.078431427478790283e-01 4.078431427478790283e-01 4.078431427478790283e-01 1.000000000000000000e+00 -4.039215743541717529e-01 4.039215743541717529e-01 4.039215743541717529e-01 1.000000000000000000e+00 -4.000000059604644775e-01 4.000000059604644775e-01 4.000000059604644775e-01 1.000000000000000000e+00 -3.960784375667572021e-01 3.960784375667572021e-01 3.960784375667572021e-01 1.000000000000000000e+00 -3.921568691730499268e-01 3.921568691730499268e-01 3.921568691730499268e-01 1.000000000000000000e+00 -3.882353007793426514e-01 3.882353007793426514e-01 3.882353007793426514e-01 1.000000000000000000e+00 -3.843137323856353760e-01 3.843137323856353760e-01 3.843137323856353760e-01 1.000000000000000000e+00 -3.803921639919281006e-01 3.803921639919281006e-01 3.803921639919281006e-01 1.000000000000000000e+00 -3.764705955982208252e-01 3.764705955982208252e-01 3.764705955982208252e-01 1.000000000000000000e+00 -3.725490272045135498e-01 3.725490272045135498e-01 3.725490272045135498e-01 1.000000000000000000e+00 -3.686274588108062744e-01 3.686274588108062744e-01 3.686274588108062744e-01 1.000000000000000000e+00 -3.647058904170989990e-01 3.647058904170989990e-01 3.647058904170989990e-01 1.000000000000000000e+00 -3.607843220233917236e-01 3.607843220233917236e-01 3.607843220233917236e-01 1.000000000000000000e+00 -3.568627536296844482e-01 3.568627536296844482e-01 3.568627536296844482e-01 1.000000000000000000e+00 -3.529411852359771729e-01 3.529411852359771729e-01 3.529411852359771729e-01 1.000000000000000000e+00 -3.490196168422698975e-01 3.490196168422698975e-01 3.490196168422698975e-01 1.000000000000000000e+00 -3.450980484485626221e-01 3.450980484485626221e-01 3.450980484485626221e-01 1.000000000000000000e+00 -3.411764800548553467e-01 3.411764800548553467e-01 3.411764800548553467e-01 1.000000000000000000e+00 -3.372549116611480713e-01 3.372549116611480713e-01 3.372549116611480713e-01 1.000000000000000000e+00 -3.333333432674407959e-01 3.333333432674407959e-01 3.333333432674407959e-01 1.000000000000000000e+00 -3.294117748737335205e-01 3.294117748737335205e-01 3.294117748737335205e-01 1.000000000000000000e+00 -3.254902064800262451e-01 3.254902064800262451e-01 3.254902064800262451e-01 1.000000000000000000e+00 -3.215686380863189697e-01 3.215686380863189697e-01 3.215686380863189697e-01 1.000000000000000000e+00 -3.176470696926116943e-01 3.176470696926116943e-01 3.176470696926116943e-01 1.000000000000000000e+00 -3.137255012989044189e-01 3.137255012989044189e-01 3.137255012989044189e-01 1.000000000000000000e+00 -3.098039329051971436e-01 3.098039329051971436e-01 3.098039329051971436e-01 1.000000000000000000e+00 -3.058823645114898682e-01 3.058823645114898682e-01 3.058823645114898682e-01 1.000000000000000000e+00 -3.019607961177825928e-01 3.019607961177825928e-01 3.019607961177825928e-01 1.000000000000000000e+00 -2.980392277240753174e-01 2.980392277240753174e-01 2.980392277240753174e-01 1.000000000000000000e+00 -2.941176593303680420e-01 2.941176593303680420e-01 2.941176593303680420e-01 1.000000000000000000e+00 -2.901960909366607666e-01 2.901960909366607666e-01 2.901960909366607666e-01 1.000000000000000000e+00 -2.862745225429534912e-01 2.862745225429534912e-01 2.862745225429534912e-01 1.000000000000000000e+00 -2.823529541492462158e-01 2.823529541492462158e-01 2.823529541492462158e-01 1.000000000000000000e+00 -2.784313857555389404e-01 2.784313857555389404e-01 2.784313857555389404e-01 1.000000000000000000e+00 -2.745098173618316650e-01 2.745098173618316650e-01 2.745098173618316650e-01 1.000000000000000000e+00 -2.705882489681243896e-01 2.705882489681243896e-01 2.705882489681243896e-01 1.000000000000000000e+00 -2.666666805744171143e-01 2.666666805744171143e-01 2.666666805744171143e-01 1.000000000000000000e+00 -2.627451121807098389e-01 2.627451121807098389e-01 2.627451121807098389e-01 1.000000000000000000e+00 -2.588235437870025635e-01 2.588235437870025635e-01 2.588235437870025635e-01 1.000000000000000000e+00 -2.549019753932952881e-01 2.549019753932952881e-01 2.549019753932952881e-01 1.000000000000000000e+00 -2.509804069995880127e-01 2.509804069995880127e-01 2.509804069995880127e-01 1.000000000000000000e+00 -2.470588237047195435e-01 2.470588237047195435e-01 2.470588237047195435e-01 1.000000000000000000e+00 -2.431372553110122681e-01 2.431372553110122681e-01 2.431372553110122681e-01 1.000000000000000000e+00 -2.392156869173049927e-01 2.392156869173049927e-01 2.392156869173049927e-01 1.000000000000000000e+00 -2.352941185235977173e-01 2.352941185235977173e-01 2.352941185235977173e-01 1.000000000000000000e+00 -2.313725501298904419e-01 2.313725501298904419e-01 2.313725501298904419e-01 1.000000000000000000e+00 -2.274509817361831665e-01 2.274509817361831665e-01 2.274509817361831665e-01 1.000000000000000000e+00 -2.235294133424758911e-01 2.235294133424758911e-01 2.235294133424758911e-01 1.000000000000000000e+00 -2.196078449487686157e-01 2.196078449487686157e-01 2.196078449487686157e-01 1.000000000000000000e+00 -2.156862765550613403e-01 2.156862765550613403e-01 2.156862765550613403e-01 1.000000000000000000e+00 -2.117647081613540649e-01 2.117647081613540649e-01 2.117647081613540649e-01 1.000000000000000000e+00 -2.078431397676467896e-01 2.078431397676467896e-01 2.078431397676467896e-01 1.000000000000000000e+00 -2.039215713739395142e-01 2.039215713739395142e-01 2.039215713739395142e-01 1.000000000000000000e+00 -2.000000029802322388e-01 2.000000029802322388e-01 2.000000029802322388e-01 1.000000000000000000e+00 -1.960784345865249634e-01 1.960784345865249634e-01 1.960784345865249634e-01 1.000000000000000000e+00 -1.921568661928176880e-01 1.921568661928176880e-01 1.921568661928176880e-01 1.000000000000000000e+00 -1.882352977991104126e-01 1.882352977991104126e-01 1.882352977991104126e-01 1.000000000000000000e+00 -1.843137294054031372e-01 1.843137294054031372e-01 1.843137294054031372e-01 1.000000000000000000e+00 -1.803921610116958618e-01 1.803921610116958618e-01 1.803921610116958618e-01 1.000000000000000000e+00 -1.764705926179885864e-01 1.764705926179885864e-01 1.764705926179885864e-01 1.000000000000000000e+00 -1.725490242242813110e-01 1.725490242242813110e-01 1.725490242242813110e-01 1.000000000000000000e+00 -1.686274558305740356e-01 1.686274558305740356e-01 1.686274558305740356e-01 1.000000000000000000e+00 -1.647058874368667603e-01 1.647058874368667603e-01 1.647058874368667603e-01 1.000000000000000000e+00 -1.607843190431594849e-01 1.607843190431594849e-01 1.607843190431594849e-01 1.000000000000000000e+00 -1.568627506494522095e-01 1.568627506494522095e-01 1.568627506494522095e-01 1.000000000000000000e+00 -1.529411822557449341e-01 1.529411822557449341e-01 1.529411822557449341e-01 1.000000000000000000e+00 -1.490196138620376587e-01 1.490196138620376587e-01 1.490196138620376587e-01 1.000000000000000000e+00 -1.450980454683303833e-01 1.450980454683303833e-01 1.450980454683303833e-01 1.000000000000000000e+00 -1.411764770746231079e-01 1.411764770746231079e-01 1.411764770746231079e-01 1.000000000000000000e+00 -1.372549086809158325e-01 1.372549086809158325e-01 1.372549086809158325e-01 1.000000000000000000e+00 -1.333333402872085571e-01 1.333333402872085571e-01 1.333333402872085571e-01 1.000000000000000000e+00 -1.294117718935012817e-01 1.294117718935012817e-01 1.294117718935012817e-01 1.000000000000000000e+00 -1.254902034997940063e-01 1.254902034997940063e-01 1.254902034997940063e-01 1.000000000000000000e+00 -1.215686276555061340e-01 1.215686276555061340e-01 1.215686276555061340e-01 1.000000000000000000e+00 -1.176470592617988586e-01 1.176470592617988586e-01 1.176470592617988586e-01 1.000000000000000000e+00 -1.137254908680915833e-01 1.137254908680915833e-01 1.137254908680915833e-01 1.000000000000000000e+00 -1.098039224743843079e-01 1.098039224743843079e-01 1.098039224743843079e-01 1.000000000000000000e+00 -1.058823540806770325e-01 1.058823540806770325e-01 1.058823540806770325e-01 1.000000000000000000e+00 -1.019607856869697571e-01 1.019607856869697571e-01 1.019607856869697571e-01 1.000000000000000000e+00 -9.803921729326248169e-02 9.803921729326248169e-02 9.803921729326248169e-02 1.000000000000000000e+00 -9.411764889955520630e-02 9.411764889955520630e-02 9.411764889955520630e-02 1.000000000000000000e+00 -9.019608050584793091e-02 9.019608050584793091e-02 9.019608050584793091e-02 1.000000000000000000e+00 -8.627451211214065552e-02 8.627451211214065552e-02 8.627451211214065552e-02 1.000000000000000000e+00 -8.235294371843338013e-02 8.235294371843338013e-02 8.235294371843338013e-02 1.000000000000000000e+00 -7.843137532472610474e-02 7.843137532472610474e-02 7.843137532472610474e-02 1.000000000000000000e+00 -7.450980693101882935e-02 7.450980693101882935e-02 7.450980693101882935e-02 1.000000000000000000e+00 -7.058823853731155396e-02 7.058823853731155396e-02 7.058823853731155396e-02 1.000000000000000000e+00 -6.666667014360427856e-02 6.666667014360427856e-02 6.666667014360427856e-02 1.000000000000000000e+00 -6.274510174989700317e-02 6.274510174989700317e-02 6.274510174989700317e-02 1.000000000000000000e+00 -5.882352963089942932e-02 5.882352963089942932e-02 5.882352963089942932e-02 1.000000000000000000e+00 -5.490196123719215393e-02 5.490196123719215393e-02 5.490196123719215393e-02 1.000000000000000000e+00 -5.098039284348487854e-02 5.098039284348487854e-02 5.098039284348487854e-02 1.000000000000000000e+00 -4.705882444977760315e-02 4.705882444977760315e-02 4.705882444977760315e-02 1.000000000000000000e+00 -4.313725605607032776e-02 4.313725605607032776e-02 4.313725605607032776e-02 1.000000000000000000e+00 -3.921568766236305237e-02 3.921568766236305237e-02 3.921568766236305237e-02 1.000000000000000000e+00 -3.529411926865577698e-02 3.529411926865577698e-02 3.529411926865577698e-02 1.000000000000000000e+00 -3.137255087494850159e-02 3.137255087494850159e-02 3.137255087494850159e-02 1.000000000000000000e+00 -2.745098061859607697e-02 2.745098061859607697e-02 2.745098061859607697e-02 1.000000000000000000e+00 -2.352941222488880157e-02 2.352941222488880157e-02 2.352941222488880157e-02 1.000000000000000000e+00 -1.960784383118152618e-02 1.960784383118152618e-02 1.960784383118152618e-02 1.000000000000000000e+00 -1.568627543747425079e-02 1.568627543747425079e-02 1.568627543747425079e-02 1.000000000000000000e+00 -1.176470611244440079e-02 1.176470611244440079e-02 1.176470611244440079e-02 1.000000000000000000e+00 -7.843137718737125397e-03 7.843137718737125397e-03 7.843137718737125397e-03 1.000000000000000000e+00 -3.921568859368562698e-03 3.921568859368562698e-03 3.921568859368562698e-03 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/bone b/fastplotlib/utils/colormaps/bone deleted file mode 100644 index 4dea86b82..000000000 --- a/fastplotlib/utils/colormaps/bone +++ /dev/null @@ -1,256 +0,0 @@ -0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.431372577324509621e-03 3.431371180340647697e-03 4.774083383381366730e-03 1.000000000000000000e+00 -6.862745154649019241e-03 6.862742360681295395e-03 9.548166766762733459e-03 1.000000000000000000e+00 -1.029411796480417252e-02 1.029411330819129944e-02 1.432225108146667480e-02 1.000000000000000000e+00 -1.372549030929803848e-02 1.372548472136259079e-02 1.909633353352546692e-02 1.000000000000000000e+00 -1.715686358511447906e-02 1.715685613453388214e-02 2.387041784822940826e-02 1.000000000000000000e+00 -2.058823592960834503e-02 2.058822661638259888e-02 2.864450216293334961e-02 1.000000000000000000e+00 -2.401960827410221100e-02 2.401959896087646484e-02 3.341858461499214172e-02 1.000000000000000000e+00 -2.745098061859607697e-02 2.745096944272518158e-02 3.819266706705093384e-02 1.000000000000000000e+00 -3.088235296308994293e-02 3.088234178721904755e-02 4.296675324440002441e-02 1.000000000000000000e+00 -3.431372717022895813e-02 3.431371226906776428e-02 4.774083569645881653e-02 1.000000000000000000e+00 -3.774509951472282410e-02 3.774508461356163025e-02 5.251491814851760864e-02 1.000000000000000000e+00 -4.117647185921669006e-02 4.117645323276519775e-02 5.728900432586669922e-02 1.000000000000000000e+00 -4.460784420371055603e-02 4.460782557725906372e-02 6.206308677792549133e-02 1.000000000000000000e+00 -4.803921654820442200e-02 4.803919792175292969e-02 6.683716922998428345e-02 1.000000000000000000e+00 -5.147058889269828796e-02 5.147056654095649719e-02 7.161125540733337402e-02 1.000000000000000000e+00 -5.490196123719215393e-02 5.490193888545036316e-02 7.638533413410186768e-02 1.000000000000000000e+00 -5.833333358168601990e-02 5.833331122994422913e-02 8.115942031145095825e-02 1.000000000000000000e+00 -6.176470592617988586e-02 6.176468357443809509e-02 8.593350648880004883e-02 1.000000000000000000e+00 -6.519608199596405029e-02 6.519605219364166260e-02 9.070758521556854248e-02 1.000000000000000000e+00 -6.862745434045791626e-02 6.862742453813552856e-02 9.548167139291763306e-02 1.000000000000000000e+00 -7.205882668495178223e-02 7.205879688262939453e-02 1.002557575702667236e-01 1.000000000000000000e+00 -7.549019902944564819e-02 7.549016922712326050e-02 1.050298362970352173e-01 1.000000000000000000e+00 -7.892157137393951416e-02 7.892153412103652954e-02 1.098039224743843079e-01 1.000000000000000000e+00 -8.235294371843338013e-02 8.235290646553039551e-02 1.145780086517333984e-01 1.000000000000000000e+00 -8.578431606292724609e-02 8.578427881002426147e-02 1.193520873785018921e-01 1.000000000000000000e+00 -8.921568840742111206e-02 8.921565115451812744e-02 1.241261735558509827e-01 1.000000000000000000e+00 -9.264706075191497803e-02 9.264702349901199341e-02 1.289002597332000732e-01 1.000000000000000000e+00 -9.607843309640884399e-02 9.607839584350585938e-02 1.336743384599685669e-01 1.000000000000000000e+00 -9.950980544090270996e-02 9.950976818799972534e-02 1.384484171867370605e-01 1.000000000000000000e+00 -1.029411777853965759e-01 1.029411330819129944e-01 1.432225108146667480e-01 1.000000000000000000e+00 -1.063725501298904419e-01 1.063725054264068604e-01 1.479965895414352417e-01 1.000000000000000000e+00 -1.098039224743843079e-01 1.098038777709007263e-01 1.527706682682037354e-01 1.000000000000000000e+00 -1.132352948188781738e-01 1.132352501153945923e-01 1.575447618961334229e-01 1.000000000000000000e+00 -1.166666671633720398e-01 1.166666224598884583e-01 1.623188406229019165e-01 1.000000000000000000e+00 -1.200980395078659058e-01 1.200979948043823242e-01 1.670929193496704102e-01 1.000000000000000000e+00 -1.235294118523597717e-01 1.235293671488761902e-01 1.718670129776000977e-01 1.000000000000000000e+00 -1.269607841968536377e-01 1.269607394933700562e-01 1.766410917043685913e-01 1.000000000000000000e+00 -1.303921639919281006e-01 1.303921043872833252e-01 1.814151704311370850e-01 1.000000000000000000e+00 -1.338235288858413696e-01 1.338234841823577881e-01 1.861892640590667725e-01 1.000000000000000000e+00 -1.372549086809158325e-01 1.372548490762710571e-01 1.909633427858352661e-01 1.000000000000000000e+00 -1.406862735748291016e-01 1.406862139701843262e-01 1.957374215126037598e-01 1.000000000000000000e+00 -1.441176533699035645e-01 1.441175937652587891e-01 2.005115151405334473e-01 1.000000000000000000e+00 -1.475490182638168335e-01 1.475489586591720581e-01 2.052855938673019409e-01 1.000000000000000000e+00 -1.509803980588912964e-01 1.509803384542465210e-01 2.100596725940704346e-01 1.000000000000000000e+00 -1.544117629528045654e-01 1.544117033481597900e-01 2.148337662220001221e-01 1.000000000000000000e+00 -1.578431427478790283e-01 1.578430682420730591e-01 2.196078449487686157e-01 1.000000000000000000e+00 -1.612745076417922974e-01 1.612744480371475220e-01 2.243819236755371094e-01 1.000000000000000000e+00 -1.647058874368667603e-01 1.647058129310607910e-01 2.291560173034667969e-01 1.000000000000000000e+00 -1.681372523307800293e-01 1.681371927261352539e-01 2.339300960302352905e-01 1.000000000000000000e+00 -1.715686321258544922e-01 1.715685576200485229e-01 2.387041747570037842e-01 1.000000000000000000e+00 -1.749999970197677612e-01 1.749999374151229858e-01 2.434782534837722778e-01 1.000000000000000000e+00 -1.784313768148422241e-01 1.784313023090362549e-01 2.482523471117019653e-01 1.000000000000000000e+00 -1.818627417087554932e-01 1.818626672029495239e-01 2.530264258384704590e-01 1.000000000000000000e+00 -1.852941215038299561e-01 1.852940469980239868e-01 2.578005194664001465e-01 1.000000000000000000e+00 -1.887254863977432251e-01 1.887254118919372559e-01 2.625745832920074463e-01 1.000000000000000000e+00 -1.921568661928176880e-01 1.921567916870117188e-01 2.673486769199371338e-01 1.000000000000000000e+00 -1.955882310867309570e-01 1.955881565809249878e-01 2.721227705478668213e-01 1.000000000000000000e+00 -1.990196108818054199e-01 1.990195363759994507e-01 2.768968343734741211e-01 1.000000000000000000e+00 -2.024509757757186890e-01 2.024509012699127197e-01 2.816709280014038086e-01 1.000000000000000000e+00 -2.058823555707931519e-01 2.058822661638259888e-01 2.864450216293334961e-01 1.000000000000000000e+00 -2.093137204647064209e-01 2.093136459589004517e-01 2.912190854549407959e-01 1.000000000000000000e+00 -2.127451002597808838e-01 2.127450108528137207e-01 2.959931790828704834e-01 1.000000000000000000e+00 -2.161764651536941528e-01 2.161763906478881836e-01 3.007672727108001709e-01 1.000000000000000000e+00 -2.196078449487686157e-01 2.196077555418014526e-01 3.055413365364074707e-01 1.000000000000000000e+00 -2.230392098426818848e-01 2.230391353368759155e-01 3.103154301643371582e-01 1.000000000000000000e+00 -2.264705896377563477e-01 2.264705002307891846e-01 3.150895237922668457e-01 1.000000000000000000e+00 -2.299019545316696167e-01 2.299018651247024536e-01 3.198635876178741455e-01 1.000000000000000000e+00 -2.333333343267440796e-01 2.333332449197769165e-01 3.246376812458038330e-01 1.000000000000000000e+00 -2.367646992206573486e-01 2.367646098136901855e-01 3.294117748737335205e-01 1.000000000000000000e+00 -2.401960790157318115e-01 2.401959896087646484e-01 3.341858386993408203e-01 1.000000000000000000e+00 -2.436274439096450806e-01 2.436273545026779175e-01 3.389599323272705078e-01 1.000000000000000000e+00 -2.470588237047195435e-01 2.470587342977523804e-01 3.437340259552001953e-01 1.000000000000000000e+00 -2.504901885986328125e-01 2.504900991916656494e-01 3.485080897808074951e-01 1.000000000000000000e+00 -2.539215683937072754e-01 2.539214789867401123e-01 3.532821834087371826e-01 1.000000000000000000e+00 -2.573529481887817383e-01 2.573528289794921875e-01 3.580562770366668701e-01 1.000000000000000000e+00 -2.607843279838562012e-01 2.607842087745666504e-01 3.628303408622741699e-01 1.000000000000000000e+00 -2.642156779766082764e-01 2.642155885696411133e-01 3.676044344902038574e-01 1.000000000000000000e+00 -2.676470577716827393e-01 2.676469683647155762e-01 3.723785281181335449e-01 1.000000000000000000e+00 -2.710784375667572021e-01 2.710783183574676514e-01 3.771525919437408447e-01 1.000000000000000000e+00 -2.745098173618316650e-01 2.745096981525421143e-01 3.819266855716705322e-01 1.000000000000000000e+00 -2.779411673545837402e-01 2.779410779476165771e-01 3.867007791996002197e-01 1.000000000000000000e+00 -2.813725471496582031e-01 2.813724279403686523e-01 3.914748430252075195e-01 1.000000000000000000e+00 -2.848039269447326660e-01 2.848038077354431152e-01 3.962489366531372070e-01 1.000000000000000000e+00 -2.882353067398071289e-01 2.882351875305175781e-01 4.010230302810668945e-01 1.000000000000000000e+00 -2.916666567325592041e-01 2.916665673255920410e-01 4.057970941066741943e-01 1.000000000000000000e+00 -2.950980365276336670e-01 2.950979173183441162e-01 4.105711877346038818e-01 1.000000000000000000e+00 -2.985294163227081299e-01 2.985292971134185791e-01 4.153452813625335693e-01 1.000000000000000000e+00 -3.019607961177825928e-01 3.019606769084930420e-01 4.201193451881408691e-01 1.000000000000000000e+00 -3.053921461105346680e-01 3.053920269012451172e-01 4.248934388160705566e-01 1.000000000000000000e+00 -3.088235259056091309e-01 3.088234066963195801e-01 4.296675324440002441e-01 1.000000000000000000e+00 -3.122549057006835938e-01 3.122547864913940430e-01 4.344415962696075439e-01 1.000000000000000000e+00 -3.156862854957580566e-01 3.156861364841461182e-01 4.392156898975372314e-01 1.000000000000000000e+00 -3.191176354885101318e-01 3.191175162792205811e-01 4.439897835254669189e-01 1.000000000000000000e+00 -3.225490152835845947e-01 3.237132430076599121e-01 4.475488960742950439e-01 1.000000000000000000e+00 -3.259803950786590576e-01 3.284313678741455078e-01 4.509802758693695068e-01 1.000000000000000000e+00 -3.294117748737335205e-01 3.331494927406311035e-01 4.544116556644439697e-01 1.000000000000000000e+00 -3.328431248664855957e-01 3.378676474094390869e-01 4.578430056571960449e-01 1.000000000000000000e+00 -3.362745046615600586e-01 3.425857722759246826e-01 4.612743854522705078e-01 1.000000000000000000e+00 -3.397058844566345215e-01 3.473038971424102783e-01 4.647057652473449707e-01 1.000000000000000000e+00 -3.431372642517089844e-01 3.520220518112182617e-01 4.681371450424194336e-01 1.000000000000000000e+00 -3.465686142444610596e-01 3.567401766777038574e-01 4.715684950351715088e-01 1.000000000000000000e+00 -3.499999940395355225e-01 3.614583313465118408e-01 4.749998748302459717e-01 1.000000000000000000e+00 -3.534313738346099854e-01 3.661764562129974365e-01 4.784312546253204346e-01 1.000000000000000000e+00 -3.568627536296844482e-01 3.708945810794830322e-01 4.818626344203948975e-01 1.000000000000000000e+00 -3.602941036224365234e-01 3.756127357482910156e-01 4.852940142154693604e-01 1.000000000000000000e+00 -3.637254834175109863e-01 3.803308606147766113e-01 4.887253642082214355e-01 1.000000000000000000e+00 -3.671568632125854492e-01 3.850490152835845947e-01 4.921567440032958984e-01 1.000000000000000000e+00 -3.705882430076599121e-01 3.897671401500701904e-01 4.955881237983703613e-01 1.000000000000000000e+00 -3.740195930004119873e-01 3.944852650165557861e-01 4.990195035934448242e-01 1.000000000000000000e+00 -3.774509727954864502e-01 3.992034196853637695e-01 5.024508833885192871e-01 1.000000000000000000e+00 -3.808823525905609131e-01 4.039215445518493652e-01 5.058822631835937500e-01 1.000000000000000000e+00 -3.843137323856353760e-01 4.086396992206573486e-01 5.093136429786682129e-01 1.000000000000000000e+00 -3.877451121807098389e-01 4.133578240871429443e-01 5.127449631690979004e-01 1.000000000000000000e+00 -3.911764621734619141e-01 4.180759489536285400e-01 5.161763429641723633e-01 1.000000000000000000e+00 -3.946078419685363770e-01 4.227941036224365234e-01 5.196077227592468262e-01 1.000000000000000000e+00 -3.980392217636108398e-01 4.275122284889221191e-01 5.230391025543212891e-01 1.000000000000000000e+00 -4.014706015586853027e-01 4.322303533554077148e-01 5.264704823493957520e-01 1.000000000000000000e+00 -4.049019515514373779e-01 4.369485080242156982e-01 5.299018621444702148e-01 1.000000000000000000e+00 -4.083333313465118408e-01 4.416666328907012939e-01 5.333332419395446777e-01 1.000000000000000000e+00 -4.117647111415863037e-01 4.463847875595092773e-01 5.367646217346191406e-01 1.000000000000000000e+00 -4.151960909366607666e-01 4.511029124259948730e-01 5.401960015296936035e-01 1.000000000000000000e+00 -4.186274409294128418e-01 4.558210372924804688e-01 5.436273217201232910e-01 1.000000000000000000e+00 -4.220588207244873047e-01 4.605391919612884521e-01 5.470587015151977539e-01 1.000000000000000000e+00 -4.254902005195617676e-01 4.652573168277740479e-01 5.504900813102722168e-01 1.000000000000000000e+00 -4.289215803146362305e-01 4.699754714965820312e-01 5.539214611053466797e-01 1.000000000000000000e+00 -4.323529303073883057e-01 4.746935963630676270e-01 5.573528409004211426e-01 1.000000000000000000e+00 -4.357843101024627686e-01 4.794117212295532227e-01 5.607842206954956055e-01 1.000000000000000000e+00 -4.392156898975372314e-01 4.841298758983612061e-01 5.642156004905700684e-01 1.000000000000000000e+00 -4.426470696926116943e-01 4.888480007648468018e-01 5.676469802856445312e-01 1.000000000000000000e+00 -4.460784196853637695e-01 4.935661554336547852e-01 5.710783600807189941e-01 1.000000000000000000e+00 -4.495097994804382324e-01 4.982842803001403809e-01 5.745096802711486816e-01 1.000000000000000000e+00 -4.529411792755126953e-01 5.030024051666259766e-01 5.779410600662231445e-01 1.000000000000000000e+00 -4.563725590705871582e-01 5.077205300331115723e-01 5.813724398612976074e-01 1.000000000000000000e+00 -4.598039090633392334e-01 5.124387145042419434e-01 5.848038196563720703e-01 1.000000000000000000e+00 -4.632352888584136963e-01 5.171568393707275391e-01 5.882351994514465332e-01 1.000000000000000000e+00 -4.666666686534881592e-01 5.218749642372131348e-01 5.916665792465209961e-01 1.000000000000000000e+00 -4.700980484485626221e-01 5.265930891036987305e-01 5.950979590415954590e-01 1.000000000000000000e+00 -4.735293984413146973e-01 5.313112139701843262e-01 5.985293388366699219e-01 1.000000000000000000e+00 -4.769607782363891602e-01 5.360293984413146973e-01 6.019607186317443848e-01 1.000000000000000000e+00 -4.803921580314636230e-01 5.407475233078002930e-01 6.053920388221740723e-01 1.000000000000000000e+00 -4.838235378265380859e-01 5.454656481742858887e-01 6.088234186172485352e-01 1.000000000000000000e+00 -4.872548878192901611e-01 5.501837730407714844e-01 6.122547984123229980e-01 1.000000000000000000e+00 -4.906862676143646240e-01 5.549018979072570801e-01 6.156861782073974609e-01 1.000000000000000000e+00 -4.941176474094390869e-01 5.596200227737426758e-01 6.191175580024719238e-01 1.000000000000000000e+00 -4.975490272045135498e-01 5.643382072448730469e-01 6.225489377975463867e-01 1.000000000000000000e+00 -5.009803771972656250e-01 5.690563321113586426e-01 6.259803175926208496e-01 1.000000000000000000e+00 -5.044117569923400879e-01 5.737744569778442383e-01 6.294116973876953125e-01 1.000000000000000000e+00 -5.078431367874145508e-01 5.784925818443298340e-01 6.328430771827697754e-01 1.000000000000000000e+00 -5.112745165824890137e-01 5.832107067108154297e-01 6.362744569778442383e-01 1.000000000000000000e+00 -5.147058963775634766e-01 5.879288911819458008e-01 6.397057771682739258e-01 1.000000000000000000e+00 -5.181372761726379395e-01 5.926470160484313965e-01 6.431371569633483887e-01 1.000000000000000000e+00 -5.215686559677124023e-01 5.973651409149169922e-01 6.465685367584228516e-01 1.000000000000000000e+00 -5.249999761581420898e-01 6.020832657814025879e-01 6.499999165534973145e-01 1.000000000000000000e+00 -5.284313559532165527e-01 6.068013906478881836e-01 6.534312963485717773e-01 1.000000000000000000e+00 -5.318627357482910156e-01 6.115195751190185547e-01 6.568626761436462402e-01 1.000000000000000000e+00 -5.352941155433654785e-01 6.162376999855041504e-01 6.602940559387207031e-01 1.000000000000000000e+00 -5.387254953384399414e-01 6.209558248519897461e-01 6.637254357337951660e-01 1.000000000000000000e+00 -5.421568751335144043e-01 6.256739497184753418e-01 6.671568155288696289e-01 1.000000000000000000e+00 -5.455882549285888672e-01 6.303920745849609375e-01 6.705881357192993164e-01 1.000000000000000000e+00 -5.490196347236633301e-01 6.351102590560913086e-01 6.740195155143737793e-01 1.000000000000000000e+00 -5.524509549140930176e-01 6.398283839225769043e-01 6.774508953094482422e-01 1.000000000000000000e+00 -5.558823347091674805e-01 6.445465087890625000e-01 6.808822751045227051e-01 1.000000000000000000e+00 -5.593137145042419434e-01 6.492646336555480957e-01 6.843136548995971680e-01 1.000000000000000000e+00 -5.627450942993164062e-01 6.539827585220336914e-01 6.877450346946716309e-01 1.000000000000000000e+00 -5.661764740943908691e-01 6.587009429931640625e-01 6.911764144897460938e-01 1.000000000000000000e+00 -5.696078538894653320e-01 6.634190678596496582e-01 6.946077942848205566e-01 1.000000000000000000e+00 -5.730392336845397949e-01 6.681371927261352539e-01 6.980391740798950195e-01 1.000000000000000000e+00 -5.764706134796142578e-01 6.728553175926208496e-01 7.014704942703247070e-01 1.000000000000000000e+00 -5.799019336700439453e-01 6.775734424591064453e-01 7.049018740653991699e-01 1.000000000000000000e+00 -5.833333134651184082e-01 6.822916269302368164e-01 7.083332538604736328e-01 1.000000000000000000e+00 -5.867646932601928711e-01 6.870097517967224121e-01 7.117646336555480957e-01 1.000000000000000000e+00 -5.901960730552673340e-01 6.917278766632080078e-01 7.151960134506225586e-01 1.000000000000000000e+00 -5.936274528503417969e-01 6.964460015296936035e-01 7.186273932456970215e-01 1.000000000000000000e+00 -5.970588326454162598e-01 7.011641263961791992e-01 7.220587730407714844e-01 1.000000000000000000e+00 -6.004902124404907227e-01 7.058823108673095703e-01 7.254901528358459473e-01 1.000000000000000000e+00 -6.039215922355651855e-01 7.106004357337951660e-01 7.289215326309204102e-01 1.000000000000000000e+00 -6.073529124259948730e-01 7.153185606002807617e-01 7.323528528213500977e-01 1.000000000000000000e+00 -6.107842922210693359e-01 7.200366854667663574e-01 7.357842326164245605e-01 1.000000000000000000e+00 -6.142156720161437988e-01 7.247548103332519531e-01 7.392156124114990234e-01 1.000000000000000000e+00 -6.176470518112182617e-01 7.294729351997375488e-01 7.426469922065734863e-01 1.000000000000000000e+00 -6.210784316062927246e-01 7.341911196708679199e-01 7.460783720016479492e-01 1.000000000000000000e+00 -6.245098114013671875e-01 7.389092445373535156e-01 7.495097517967224121e-01 1.000000000000000000e+00 -6.279411911964416504e-01 7.436273694038391113e-01 7.529411315917968750e-01 1.000000000000000000e+00 -6.313725709915161133e-01 7.483454942703247070e-01 7.563725113868713379e-01 1.000000000000000000e+00 -6.348039507865905762e-01 7.530636191368103027e-01 7.598038911819458008e-01 1.000000000000000000e+00 -6.382352709770202637e-01 7.577818036079406738e-01 7.632352113723754883e-01 1.000000000000000000e+00 -6.416666507720947266e-01 7.624999284744262695e-01 7.666665911674499512e-01 1.000000000000000000e+00 -6.450980305671691895e-01 7.672180533409118652e-01 7.700979709625244141e-01 1.000000000000000000e+00 -6.485294103622436523e-01 7.719361782073974609e-01 7.735293507575988770e-01 1.000000000000000000e+00 -6.519607901573181152e-01 7.766543030738830566e-01 7.769607305526733398e-01 1.000000000000000000e+00 -6.568626165390014648e-01 7.803921699523925781e-01 7.803921103477478027e-01 1.000000000000000000e+00 -6.622241139411926270e-01 7.838235497474670410e-01 7.838234901428222656e-01 1.000000000000000000e+00 -6.675856709480285645e-01 7.872549295425415039e-01 7.872548699378967285e-01 1.000000000000000000e+00 -6.729471683502197266e-01 7.906862497329711914e-01 7.906862497329711914e-01 1.000000000000000000e+00 -6.783087253570556641e-01 7.941176295280456543e-01 7.941176295280456543e-01 1.000000000000000000e+00 -6.836702227592468262e-01 7.975490093231201172e-01 7.975489497184753418e-01 1.000000000000000000e+00 -6.890317797660827637e-01 8.009803891181945801e-01 8.009803295135498047e-01 1.000000000000000000e+00 -6.943932771682739258e-01 8.044117689132690430e-01 8.044117093086242676e-01 1.000000000000000000e+00 -6.997547745704650879e-01 8.078431487083435059e-01 8.078430891036987305e-01 1.000000000000000000e+00 -7.051163315773010254e-01 8.112745285034179688e-01 8.112744688987731934e-01 1.000000000000000000e+00 -7.104778289794921875e-01 8.147059082984924316e-01 8.147058486938476562e-01 1.000000000000000000e+00 -7.158393859863281250e-01 8.181372284889221191e-01 8.181372284889221191e-01 1.000000000000000000e+00 -7.212008833885192871e-01 8.215686082839965820e-01 8.215686082839965820e-01 1.000000000000000000e+00 -7.265623807907104492e-01 8.249999880790710449e-01 8.249999880790710449e-01 1.000000000000000000e+00 -7.319239377975463867e-01 8.284313678741455078e-01 8.284313082695007324e-01 1.000000000000000000e+00 -7.372854351997375488e-01 8.318627476692199707e-01 8.318626880645751953e-01 1.000000000000000000e+00 -7.426469922065734863e-01 8.352941274642944336e-01 8.352940678596496582e-01 1.000000000000000000e+00 -7.480084896087646484e-01 8.387255072593688965e-01 8.387254476547241211e-01 1.000000000000000000e+00 -7.533699870109558105e-01 8.421568870544433594e-01 8.421568274497985840e-01 1.000000000000000000e+00 -7.587315440177917480e-01 8.455882072448730469e-01 8.455882072448730469e-01 1.000000000000000000e+00 -7.640930414199829102e-01 8.490195870399475098e-01 8.490195870399475098e-01 1.000000000000000000e+00 -7.694545984268188477e-01 8.524509668350219727e-01 8.524509668350219727e-01 1.000000000000000000e+00 -7.748160958290100098e-01 8.558823466300964355e-01 8.558823466300964355e-01 1.000000000000000000e+00 -7.801775932312011719e-01 8.593137264251708984e-01 8.593136668205261230e-01 1.000000000000000000e+00 -7.855391502380371094e-01 8.627451062202453613e-01 8.627450466156005859e-01 1.000000000000000000e+00 -7.909006476402282715e-01 8.661764860153198242e-01 8.661764264106750488e-01 1.000000000000000000e+00 -7.962622046470642090e-01 8.696078658103942871e-01 8.696078062057495117e-01 1.000000000000000000e+00 -8.016237020492553711e-01 8.730391860008239746e-01 8.730391860008239746e-01 1.000000000000000000e+00 -8.069851994514465332e-01 8.764705657958984375e-01 8.764705657958984375e-01 1.000000000000000000e+00 -8.123467564582824707e-01 8.799019455909729004e-01 8.799019455909729004e-01 1.000000000000000000e+00 -8.177082538604736328e-01 8.833333253860473633e-01 8.833333253860473633e-01 1.000000000000000000e+00 -8.230698108673095703e-01 8.867647051811218262e-01 8.867647051811218262e-01 1.000000000000000000e+00 -8.284313082695007324e-01 8.901960849761962891e-01 8.901960253715515137e-01 1.000000000000000000e+00 -8.337928056716918945e-01 8.936274647712707520e-01 8.936274051666259766e-01 1.000000000000000000e+00 -8.391543626785278320e-01 8.970588445663452148e-01 8.970587849617004395e-01 1.000000000000000000e+00 -8.445158600807189941e-01 9.004902243614196777e-01 9.004901647567749023e-01 1.000000000000000000e+00 -8.498774170875549316e-01 9.039215445518493652e-01 9.039215445518493652e-01 1.000000000000000000e+00 -8.552389144897460938e-01 9.073529243469238281e-01 9.073529243469238281e-01 1.000000000000000000e+00 -8.606004118919372559e-01 9.107843041419982910e-01 9.107843041419982910e-01 1.000000000000000000e+00 -8.659619688987731934e-01 9.142156839370727539e-01 9.142156839370727539e-01 1.000000000000000000e+00 -8.713234663009643555e-01 9.176470637321472168e-01 9.176470637321472168e-01 1.000000000000000000e+00 -8.766850233078002930e-01 9.210784435272216797e-01 9.210783839225769043e-01 1.000000000000000000e+00 -8.820465207099914551e-01 9.245098233222961426e-01 9.245097637176513672e-01 1.000000000000000000e+00 -8.874080181121826172e-01 9.279412031173706055e-01 9.279411435127258301e-01 1.000000000000000000e+00 -8.927695751190185547e-01 9.313725233078002930e-01 9.313725233078002930e-01 1.000000000000000000e+00 -8.981310725212097168e-01 9.348039031028747559e-01 9.348039031028747559e-01 1.000000000000000000e+00 -9.034926295280456543e-01 9.382352828979492188e-01 9.382352828979492188e-01 1.000000000000000000e+00 -9.088541269302368164e-01 9.416666626930236816e-01 9.416666626930236816e-01 1.000000000000000000e+00 -9.142156839370727539e-01 9.450980424880981445e-01 9.450980424880981445e-01 1.000000000000000000e+00 -9.195771813392639160e-01 9.485294222831726074e-01 9.485294222831726074e-01 1.000000000000000000e+00 -9.249386787414550781e-01 9.519608020782470703e-01 9.519608020782470703e-01 1.000000000000000000e+00 -9.303002357482910156e-01 9.553921818733215332e-01 9.553921222686767578e-01 1.000000000000000000e+00 -9.356617331504821777e-01 9.588235020637512207e-01 9.588235020637512207e-01 1.000000000000000000e+00 -9.410232901573181152e-01 9.622548818588256836e-01 9.622548818588256836e-01 1.000000000000000000e+00 -9.463847875595092773e-01 9.656862616539001465e-01 9.656862616539001465e-01 1.000000000000000000e+00 -9.517462849617004395e-01 9.691176414489746094e-01 9.691176414489746094e-01 1.000000000000000000e+00 -9.571078419685363770e-01 9.725490212440490723e-01 9.725490212440490723e-01 1.000000000000000000e+00 -9.624693393707275391e-01 9.759804010391235352e-01 9.759804010391235352e-01 1.000000000000000000e+00 -9.678308963775634766e-01 9.794117808341979980e-01 9.794117808341979980e-01 1.000000000000000000e+00 -9.731923937797546387e-01 9.828431606292724609e-01 9.828431606292724609e-01 1.000000000000000000e+00 -9.785538911819458008e-01 9.862744808197021484e-01 9.862744808197021484e-01 1.000000000000000000e+00 -9.839154481887817383e-01 9.897058606147766113e-01 9.897058606147766113e-01 1.000000000000000000e+00 -9.892769455909729004e-01 9.931372404098510742e-01 9.931372404098510742e-01 1.000000000000000000e+00 -9.946385025978088379e-01 9.965686202049255371e-01 9.965686202049255371e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/brg b/fastplotlib/utils/colormaps/brg deleted file mode 100644 index 8ff668122..000000000 --- a/fastplotlib/utils/colormaps/brg +++ /dev/null @@ -1,256 +0,0 @@ -0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -7.843137718737125397e-03 0.000000000000000000e+00 9.921568632125854492e-01 1.000000000000000000e+00 -1.568627543747425079e-02 0.000000000000000000e+00 9.843137264251708984e-01 1.000000000000000000e+00 -2.352941222488880157e-02 0.000000000000000000e+00 9.764705896377563477e-01 1.000000000000000000e+00 -3.137255087494850159e-02 0.000000000000000000e+00 9.686274528503417969e-01 1.000000000000000000e+00 -3.921568766236305237e-02 0.000000000000000000e+00 9.607843160629272461e-01 1.000000000000000000e+00 -4.705882444977760315e-02 0.000000000000000000e+00 9.529411792755126953e-01 1.000000000000000000e+00 -5.490196123719215393e-02 0.000000000000000000e+00 9.450980424880981445e-01 1.000000000000000000e+00 -6.274510174989700317e-02 0.000000000000000000e+00 9.372549057006835938e-01 1.000000000000000000e+00 -7.058823853731155396e-02 0.000000000000000000e+00 9.294117689132690430e-01 1.000000000000000000e+00 -7.843137532472610474e-02 0.000000000000000000e+00 9.215686321258544922e-01 1.000000000000000000e+00 -8.627451211214065552e-02 0.000000000000000000e+00 9.137254953384399414e-01 1.000000000000000000e+00 -9.411764889955520630e-02 0.000000000000000000e+00 9.058823585510253906e-01 1.000000000000000000e+00 -1.019607856869697571e-01 0.000000000000000000e+00 8.980392217636108398e-01 1.000000000000000000e+00 -1.098039224743843079e-01 0.000000000000000000e+00 8.901960849761962891e-01 1.000000000000000000e+00 -1.176470592617988586e-01 0.000000000000000000e+00 8.823529481887817383e-01 1.000000000000000000e+00 -1.254902034997940063e-01 0.000000000000000000e+00 8.745098114013671875e-01 1.000000000000000000e+00 -1.333333402872085571e-01 0.000000000000000000e+00 8.666666746139526367e-01 1.000000000000000000e+00 -1.411764770746231079e-01 0.000000000000000000e+00 8.588235378265380859e-01 1.000000000000000000e+00 -1.490196138620376587e-01 0.000000000000000000e+00 8.509804010391235352e-01 1.000000000000000000e+00 -1.568627506494522095e-01 0.000000000000000000e+00 8.431372642517089844e-01 1.000000000000000000e+00 -1.647058874368667603e-01 0.000000000000000000e+00 8.352941274642944336e-01 1.000000000000000000e+00 -1.725490242242813110e-01 0.000000000000000000e+00 8.274509906768798828e-01 1.000000000000000000e+00 -1.803921610116958618e-01 0.000000000000000000e+00 8.196078538894653320e-01 1.000000000000000000e+00 -1.882352977991104126e-01 0.000000000000000000e+00 8.117647171020507812e-01 1.000000000000000000e+00 -1.960784345865249634e-01 0.000000000000000000e+00 8.039215803146362305e-01 1.000000000000000000e+00 -2.039215713739395142e-01 0.000000000000000000e+00 7.960784435272216797e-01 1.000000000000000000e+00 -2.117647081613540649e-01 0.000000000000000000e+00 7.882353067398071289e-01 1.000000000000000000e+00 -2.196078449487686157e-01 0.000000000000000000e+00 7.803921699523925781e-01 1.000000000000000000e+00 -2.274509817361831665e-01 0.000000000000000000e+00 7.725490331649780273e-01 1.000000000000000000e+00 -2.352941185235977173e-01 0.000000000000000000e+00 7.647058963775634766e-01 1.000000000000000000e+00 -2.431372553110122681e-01 0.000000000000000000e+00 7.568627595901489258e-01 1.000000000000000000e+00 -2.509804069995880127e-01 0.000000000000000000e+00 7.490196228027343750e-01 1.000000000000000000e+00 -2.588235437870025635e-01 0.000000000000000000e+00 7.411764860153198242e-01 1.000000000000000000e+00 -2.666666805744171143e-01 0.000000000000000000e+00 7.333333492279052734e-01 1.000000000000000000e+00 -2.745098173618316650e-01 0.000000000000000000e+00 7.254902124404907227e-01 1.000000000000000000e+00 -2.823529541492462158e-01 0.000000000000000000e+00 7.176470756530761719e-01 1.000000000000000000e+00 -2.901960909366607666e-01 0.000000000000000000e+00 7.098039388656616211e-01 1.000000000000000000e+00 -2.980392277240753174e-01 0.000000000000000000e+00 7.019608020782470703e-01 1.000000000000000000e+00 -3.058823645114898682e-01 0.000000000000000000e+00 6.941176652908325195e-01 1.000000000000000000e+00 -3.137255012989044189e-01 0.000000000000000000e+00 6.862745285034179688e-01 1.000000000000000000e+00 -3.215686380863189697e-01 0.000000000000000000e+00 6.784313917160034180e-01 1.000000000000000000e+00 -3.294117748737335205e-01 0.000000000000000000e+00 6.705882549285888672e-01 1.000000000000000000e+00 -3.372549116611480713e-01 0.000000000000000000e+00 6.627451181411743164e-01 1.000000000000000000e+00 -3.450980484485626221e-01 0.000000000000000000e+00 6.549019813537597656e-01 1.000000000000000000e+00 -3.529411852359771729e-01 0.000000000000000000e+00 6.470588445663452148e-01 1.000000000000000000e+00 -3.607843220233917236e-01 0.000000000000000000e+00 6.392157077789306641e-01 1.000000000000000000e+00 -3.686274588108062744e-01 0.000000000000000000e+00 6.313725709915161133e-01 1.000000000000000000e+00 -3.764705955982208252e-01 0.000000000000000000e+00 6.235294342041015625e-01 1.000000000000000000e+00 -3.843137323856353760e-01 0.000000000000000000e+00 6.156862974166870117e-01 1.000000000000000000e+00 -3.921568691730499268e-01 0.000000000000000000e+00 6.078431606292724609e-01 1.000000000000000000e+00 -4.000000059604644775e-01 0.000000000000000000e+00 6.000000238418579102e-01 1.000000000000000000e+00 -4.078431427478790283e-01 0.000000000000000000e+00 5.921568870544433594e-01 1.000000000000000000e+00 -4.156862795352935791e-01 0.000000000000000000e+00 5.843137502670288086e-01 1.000000000000000000e+00 -4.235294163227081299e-01 0.000000000000000000e+00 5.764706134796142578e-01 1.000000000000000000e+00 -4.313725531101226807e-01 0.000000000000000000e+00 5.686274766921997070e-01 1.000000000000000000e+00 -4.392156898975372314e-01 0.000000000000000000e+00 5.607843399047851562e-01 1.000000000000000000e+00 -4.470588266849517822e-01 0.000000000000000000e+00 5.529412031173706055e-01 1.000000000000000000e+00 -4.549019634723663330e-01 0.000000000000000000e+00 5.450980663299560547e-01 1.000000000000000000e+00 -4.627451002597808838e-01 0.000000000000000000e+00 5.372549295425415039e-01 1.000000000000000000e+00 -4.705882370471954346e-01 0.000000000000000000e+00 5.294117927551269531e-01 1.000000000000000000e+00 -4.784313738346099854e-01 0.000000000000000000e+00 5.215686559677124023e-01 1.000000000000000000e+00 -4.862745106220245361e-01 0.000000000000000000e+00 5.137255191802978516e-01 1.000000000000000000e+00 -4.941176474094390869e-01 0.000000000000000000e+00 5.058823823928833008e-01 1.000000000000000000e+00 -5.019608139991760254e-01 0.000000000000000000e+00 4.980392158031463623e-01 1.000000000000000000e+00 -5.098039507865905762e-01 0.000000000000000000e+00 4.901960790157318115e-01 1.000000000000000000e+00 -5.176470875740051270e-01 0.000000000000000000e+00 4.823529422283172607e-01 1.000000000000000000e+00 -5.254902243614196777e-01 0.000000000000000000e+00 4.745098054409027100e-01 1.000000000000000000e+00 -5.333333611488342285e-01 0.000000000000000000e+00 4.666666686534881592e-01 1.000000000000000000e+00 -5.411764979362487793e-01 0.000000000000000000e+00 4.588235318660736084e-01 1.000000000000000000e+00 -5.490196347236633301e-01 0.000000000000000000e+00 4.509803950786590576e-01 1.000000000000000000e+00 -5.568627715110778809e-01 0.000000000000000000e+00 4.431372582912445068e-01 1.000000000000000000e+00 -5.647059082984924316e-01 0.000000000000000000e+00 4.352941215038299561e-01 1.000000000000000000e+00 -5.725490450859069824e-01 0.000000000000000000e+00 4.274509847164154053e-01 1.000000000000000000e+00 -5.803921818733215332e-01 0.000000000000000000e+00 4.196078479290008545e-01 1.000000000000000000e+00 -5.882353186607360840e-01 0.000000000000000000e+00 4.117647111415863037e-01 1.000000000000000000e+00 -5.960784554481506348e-01 0.000000000000000000e+00 4.039215743541717529e-01 1.000000000000000000e+00 -6.039215922355651855e-01 0.000000000000000000e+00 3.960784375667572021e-01 1.000000000000000000e+00 -6.117647290229797363e-01 0.000000000000000000e+00 3.882353007793426514e-01 1.000000000000000000e+00 -6.196078658103942871e-01 0.000000000000000000e+00 3.803921639919281006e-01 1.000000000000000000e+00 -6.274510025978088379e-01 0.000000000000000000e+00 3.725490272045135498e-01 1.000000000000000000e+00 -6.352941393852233887e-01 0.000000000000000000e+00 3.647058904170989990e-01 1.000000000000000000e+00 -6.431372761726379395e-01 0.000000000000000000e+00 3.568627536296844482e-01 1.000000000000000000e+00 -6.509804129600524902e-01 0.000000000000000000e+00 3.490196168422698975e-01 1.000000000000000000e+00 -6.588235497474670410e-01 0.000000000000000000e+00 3.411764800548553467e-01 1.000000000000000000e+00 -6.666666865348815918e-01 0.000000000000000000e+00 3.333333432674407959e-01 1.000000000000000000e+00 -6.745098233222961426e-01 0.000000000000000000e+00 3.254902064800262451e-01 1.000000000000000000e+00 -6.823529601097106934e-01 0.000000000000000000e+00 3.176470696926116943e-01 1.000000000000000000e+00 -6.901960968971252441e-01 0.000000000000000000e+00 3.098039329051971436e-01 1.000000000000000000e+00 -6.980392336845397949e-01 0.000000000000000000e+00 3.019607961177825928e-01 1.000000000000000000e+00 -7.058823704719543457e-01 0.000000000000000000e+00 2.941176593303680420e-01 1.000000000000000000e+00 -7.137255072593688965e-01 0.000000000000000000e+00 2.862745225429534912e-01 1.000000000000000000e+00 -7.215686440467834473e-01 0.000000000000000000e+00 2.784313857555389404e-01 1.000000000000000000e+00 -7.294117808341979980e-01 0.000000000000000000e+00 2.705882489681243896e-01 1.000000000000000000e+00 -7.372549176216125488e-01 0.000000000000000000e+00 2.627451121807098389e-01 1.000000000000000000e+00 -7.450980544090270996e-01 0.000000000000000000e+00 2.549019753932952881e-01 1.000000000000000000e+00 -7.529411911964416504e-01 0.000000000000000000e+00 2.470588237047195435e-01 1.000000000000000000e+00 -7.607843279838562012e-01 0.000000000000000000e+00 2.392156869173049927e-01 1.000000000000000000e+00 -7.686274647712707520e-01 0.000000000000000000e+00 2.313725501298904419e-01 1.000000000000000000e+00 -7.764706015586853027e-01 0.000000000000000000e+00 2.235294133424758911e-01 1.000000000000000000e+00 -7.843137383460998535e-01 0.000000000000000000e+00 2.156862765550613403e-01 1.000000000000000000e+00 -7.921568751335144043e-01 0.000000000000000000e+00 2.078431397676467896e-01 1.000000000000000000e+00 -8.000000119209289551e-01 0.000000000000000000e+00 2.000000029802322388e-01 1.000000000000000000e+00 -8.078431487083435059e-01 0.000000000000000000e+00 1.921568661928176880e-01 1.000000000000000000e+00 -8.156862854957580566e-01 0.000000000000000000e+00 1.843137294054031372e-01 1.000000000000000000e+00 -8.235294222831726074e-01 0.000000000000000000e+00 1.764705926179885864e-01 1.000000000000000000e+00 -8.313725590705871582e-01 0.000000000000000000e+00 1.686274558305740356e-01 1.000000000000000000e+00 -8.392156958580017090e-01 0.000000000000000000e+00 1.607843190431594849e-01 1.000000000000000000e+00 -8.470588326454162598e-01 0.000000000000000000e+00 1.529411822557449341e-01 1.000000000000000000e+00 -8.549019694328308105e-01 0.000000000000000000e+00 1.450980454683303833e-01 1.000000000000000000e+00 -8.627451062202453613e-01 0.000000000000000000e+00 1.372549086809158325e-01 1.000000000000000000e+00 -8.705882430076599121e-01 0.000000000000000000e+00 1.294117718935012817e-01 1.000000000000000000e+00 -8.784313797950744629e-01 0.000000000000000000e+00 1.215686276555061340e-01 1.000000000000000000e+00 -8.862745165824890137e-01 0.000000000000000000e+00 1.137254908680915833e-01 1.000000000000000000e+00 -8.941176533699035645e-01 0.000000000000000000e+00 1.058823540806770325e-01 1.000000000000000000e+00 -9.019607901573181152e-01 0.000000000000000000e+00 9.803921729326248169e-02 1.000000000000000000e+00 -9.098039269447326660e-01 0.000000000000000000e+00 9.019608050584793091e-02 1.000000000000000000e+00 -9.176470637321472168e-01 0.000000000000000000e+00 8.235294371843338013e-02 1.000000000000000000e+00 -9.254902005195617676e-01 0.000000000000000000e+00 7.450980693101882935e-02 1.000000000000000000e+00 -9.333333373069763184e-01 0.000000000000000000e+00 6.666667014360427856e-02 1.000000000000000000e+00 -9.411764740943908691e-01 0.000000000000000000e+00 5.882352963089942932e-02 1.000000000000000000e+00 -9.490196108818054199e-01 0.000000000000000000e+00 5.098039284348487854e-02 1.000000000000000000e+00 -9.568627476692199707e-01 0.000000000000000000e+00 4.313725605607032776e-02 1.000000000000000000e+00 -9.647058844566345215e-01 0.000000000000000000e+00 3.529411926865577698e-02 1.000000000000000000e+00 -9.725490212440490723e-01 0.000000000000000000e+00 2.745098061859607697e-02 1.000000000000000000e+00 -9.803921580314636230e-01 0.000000000000000000e+00 1.960784383118152618e-02 1.000000000000000000e+00 -9.882352948188781738e-01 0.000000000000000000e+00 1.176470611244440079e-02 1.000000000000000000e+00 -9.960784316062927246e-01 0.000000000000000000e+00 3.921568859368562698e-03 1.000000000000000000e+00 -9.960784316062927246e-01 3.921568859368562698e-03 0.000000000000000000e+00 1.000000000000000000e+00 -9.882352948188781738e-01 1.176470611244440079e-02 0.000000000000000000e+00 1.000000000000000000e+00 -9.803921580314636230e-01 1.960784383118152618e-02 0.000000000000000000e+00 1.000000000000000000e+00 -9.725490212440490723e-01 2.745098061859607697e-02 0.000000000000000000e+00 1.000000000000000000e+00 -9.647058844566345215e-01 3.529411926865577698e-02 0.000000000000000000e+00 1.000000000000000000e+00 -9.568627476692199707e-01 4.313725605607032776e-02 0.000000000000000000e+00 1.000000000000000000e+00 -9.490196108818054199e-01 5.098039284348487854e-02 0.000000000000000000e+00 1.000000000000000000e+00 -9.411764740943908691e-01 5.882352963089942932e-02 0.000000000000000000e+00 1.000000000000000000e+00 -9.333333373069763184e-01 6.666667014360427856e-02 0.000000000000000000e+00 1.000000000000000000e+00 -9.254902005195617676e-01 7.450980693101882935e-02 0.000000000000000000e+00 1.000000000000000000e+00 -9.176470637321472168e-01 8.235294371843338013e-02 0.000000000000000000e+00 1.000000000000000000e+00 -9.098039269447326660e-01 9.019608050584793091e-02 0.000000000000000000e+00 1.000000000000000000e+00 -9.019607901573181152e-01 9.803921729326248169e-02 0.000000000000000000e+00 1.000000000000000000e+00 -8.941176533699035645e-01 1.058823540806770325e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.862745165824890137e-01 1.137254908680915833e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.784313797950744629e-01 1.215686276555061340e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.705882430076599121e-01 1.294117718935012817e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.627451062202453613e-01 1.372549086809158325e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.549019694328308105e-01 1.450980454683303833e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.470588326454162598e-01 1.529411822557449341e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.392156958580017090e-01 1.607843190431594849e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.313725590705871582e-01 1.686274558305740356e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.235294222831726074e-01 1.764705926179885864e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.156862854957580566e-01 1.843137294054031372e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.078431487083435059e-01 1.921568661928176880e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.000000119209289551e-01 2.000000029802322388e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.921568751335144043e-01 2.078431397676467896e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.843137383460998535e-01 2.156862765550613403e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.764706015586853027e-01 2.235294133424758911e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.686274647712707520e-01 2.313725501298904419e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.607843279838562012e-01 2.392156869173049927e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.529411911964416504e-01 2.470588237047195435e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.450980544090270996e-01 2.549019753932952881e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.372549176216125488e-01 2.627451121807098389e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.294117808341979980e-01 2.705882489681243896e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.215686440467834473e-01 2.784313857555389404e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.137255072593688965e-01 2.862745225429534912e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.058823704719543457e-01 2.941176593303680420e-01 0.000000000000000000e+00 1.000000000000000000e+00 -6.980392336845397949e-01 3.019607961177825928e-01 0.000000000000000000e+00 1.000000000000000000e+00 -6.901960968971252441e-01 3.098039329051971436e-01 0.000000000000000000e+00 1.000000000000000000e+00 -6.823529601097106934e-01 3.176470696926116943e-01 0.000000000000000000e+00 1.000000000000000000e+00 -6.745098233222961426e-01 3.254902064800262451e-01 0.000000000000000000e+00 1.000000000000000000e+00 -6.666666865348815918e-01 3.333333432674407959e-01 0.000000000000000000e+00 1.000000000000000000e+00 -6.588235497474670410e-01 3.411764800548553467e-01 0.000000000000000000e+00 1.000000000000000000e+00 -6.509804129600524902e-01 3.490196168422698975e-01 0.000000000000000000e+00 1.000000000000000000e+00 -6.431372761726379395e-01 3.568627536296844482e-01 0.000000000000000000e+00 1.000000000000000000e+00 -6.352941393852233887e-01 3.647058904170989990e-01 0.000000000000000000e+00 1.000000000000000000e+00 -6.274510025978088379e-01 3.725490272045135498e-01 0.000000000000000000e+00 1.000000000000000000e+00 -6.196078658103942871e-01 3.803921639919281006e-01 0.000000000000000000e+00 1.000000000000000000e+00 -6.117647290229797363e-01 3.882353007793426514e-01 0.000000000000000000e+00 1.000000000000000000e+00 -6.039215922355651855e-01 3.960784375667572021e-01 0.000000000000000000e+00 1.000000000000000000e+00 -5.960784554481506348e-01 4.039215743541717529e-01 0.000000000000000000e+00 1.000000000000000000e+00 -5.882353186607360840e-01 4.117647111415863037e-01 0.000000000000000000e+00 1.000000000000000000e+00 -5.803921818733215332e-01 4.196078479290008545e-01 0.000000000000000000e+00 1.000000000000000000e+00 -5.725490450859069824e-01 4.274509847164154053e-01 0.000000000000000000e+00 1.000000000000000000e+00 -5.647059082984924316e-01 4.352941215038299561e-01 0.000000000000000000e+00 1.000000000000000000e+00 -5.568627715110778809e-01 4.431372582912445068e-01 0.000000000000000000e+00 1.000000000000000000e+00 -5.490196347236633301e-01 4.509803950786590576e-01 0.000000000000000000e+00 1.000000000000000000e+00 -5.411764979362487793e-01 4.588235318660736084e-01 0.000000000000000000e+00 1.000000000000000000e+00 -5.333333611488342285e-01 4.666666686534881592e-01 0.000000000000000000e+00 1.000000000000000000e+00 -5.254902243614196777e-01 4.745098054409027100e-01 0.000000000000000000e+00 1.000000000000000000e+00 -5.176470875740051270e-01 4.823529422283172607e-01 0.000000000000000000e+00 1.000000000000000000e+00 -5.098039507865905762e-01 4.901960790157318115e-01 0.000000000000000000e+00 1.000000000000000000e+00 -5.019608139991760254e-01 4.980392158031463623e-01 0.000000000000000000e+00 1.000000000000000000e+00 -4.941176474094390869e-01 5.058823823928833008e-01 0.000000000000000000e+00 1.000000000000000000e+00 -4.862745106220245361e-01 5.137255191802978516e-01 0.000000000000000000e+00 1.000000000000000000e+00 -4.784313738346099854e-01 5.215686559677124023e-01 0.000000000000000000e+00 1.000000000000000000e+00 -4.705882370471954346e-01 5.294117927551269531e-01 0.000000000000000000e+00 1.000000000000000000e+00 -4.627451002597808838e-01 5.372549295425415039e-01 0.000000000000000000e+00 1.000000000000000000e+00 -4.549019634723663330e-01 5.450980663299560547e-01 0.000000000000000000e+00 1.000000000000000000e+00 -4.470588266849517822e-01 5.529412031173706055e-01 0.000000000000000000e+00 1.000000000000000000e+00 -4.392156898975372314e-01 5.607843399047851562e-01 0.000000000000000000e+00 1.000000000000000000e+00 -4.313725531101226807e-01 5.686274766921997070e-01 0.000000000000000000e+00 1.000000000000000000e+00 -4.235294163227081299e-01 5.764706134796142578e-01 0.000000000000000000e+00 1.000000000000000000e+00 -4.156862795352935791e-01 5.843137502670288086e-01 0.000000000000000000e+00 1.000000000000000000e+00 -4.078431427478790283e-01 5.921568870544433594e-01 0.000000000000000000e+00 1.000000000000000000e+00 -4.000000059604644775e-01 6.000000238418579102e-01 0.000000000000000000e+00 1.000000000000000000e+00 -3.921568691730499268e-01 6.078431606292724609e-01 0.000000000000000000e+00 1.000000000000000000e+00 -3.843137323856353760e-01 6.156862974166870117e-01 0.000000000000000000e+00 1.000000000000000000e+00 -3.764705955982208252e-01 6.235294342041015625e-01 0.000000000000000000e+00 1.000000000000000000e+00 -3.686274588108062744e-01 6.313725709915161133e-01 0.000000000000000000e+00 1.000000000000000000e+00 -3.607843220233917236e-01 6.392157077789306641e-01 0.000000000000000000e+00 1.000000000000000000e+00 -3.529411852359771729e-01 6.470588445663452148e-01 0.000000000000000000e+00 1.000000000000000000e+00 -3.450980484485626221e-01 6.549019813537597656e-01 0.000000000000000000e+00 1.000000000000000000e+00 -3.372549116611480713e-01 6.627451181411743164e-01 0.000000000000000000e+00 1.000000000000000000e+00 -3.294117748737335205e-01 6.705882549285888672e-01 0.000000000000000000e+00 1.000000000000000000e+00 -3.215686380863189697e-01 6.784313917160034180e-01 0.000000000000000000e+00 1.000000000000000000e+00 -3.137255012989044189e-01 6.862745285034179688e-01 0.000000000000000000e+00 1.000000000000000000e+00 -3.058823645114898682e-01 6.941176652908325195e-01 0.000000000000000000e+00 1.000000000000000000e+00 -2.980392277240753174e-01 7.019608020782470703e-01 0.000000000000000000e+00 1.000000000000000000e+00 -2.901960909366607666e-01 7.098039388656616211e-01 0.000000000000000000e+00 1.000000000000000000e+00 -2.823529541492462158e-01 7.176470756530761719e-01 0.000000000000000000e+00 1.000000000000000000e+00 -2.745098173618316650e-01 7.254902124404907227e-01 0.000000000000000000e+00 1.000000000000000000e+00 -2.666666805744171143e-01 7.333333492279052734e-01 0.000000000000000000e+00 1.000000000000000000e+00 -2.588235437870025635e-01 7.411764860153198242e-01 0.000000000000000000e+00 1.000000000000000000e+00 -2.509804069995880127e-01 7.490196228027343750e-01 0.000000000000000000e+00 1.000000000000000000e+00 -2.431372553110122681e-01 7.568627595901489258e-01 0.000000000000000000e+00 1.000000000000000000e+00 -2.352941185235977173e-01 7.647058963775634766e-01 0.000000000000000000e+00 1.000000000000000000e+00 -2.274509817361831665e-01 7.725490331649780273e-01 0.000000000000000000e+00 1.000000000000000000e+00 -2.196078449487686157e-01 7.803921699523925781e-01 0.000000000000000000e+00 1.000000000000000000e+00 -2.117647081613540649e-01 7.882353067398071289e-01 0.000000000000000000e+00 1.000000000000000000e+00 -2.039215713739395142e-01 7.960784435272216797e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.960784345865249634e-01 8.039215803146362305e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.882352977991104126e-01 8.117647171020507812e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.803921610116958618e-01 8.196078538894653320e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.725490242242813110e-01 8.274509906768798828e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.647058874368667603e-01 8.352941274642944336e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.568627506494522095e-01 8.431372642517089844e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.490196138620376587e-01 8.509804010391235352e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.411764770746231079e-01 8.588235378265380859e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.333333402872085571e-01 8.666666746139526367e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.254902034997940063e-01 8.745098114013671875e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.176470592617988586e-01 8.823529481887817383e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.098039224743843079e-01 8.901960849761962891e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.019607856869697571e-01 8.980392217636108398e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.411764889955520630e-02 9.058823585510253906e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.627451211214065552e-02 9.137254953384399414e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.843137532472610474e-02 9.215686321258544922e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.058823853731155396e-02 9.294117689132690430e-01 0.000000000000000000e+00 1.000000000000000000e+00 -6.274510174989700317e-02 9.372549057006835938e-01 0.000000000000000000e+00 1.000000000000000000e+00 -5.490196123719215393e-02 9.450980424880981445e-01 0.000000000000000000e+00 1.000000000000000000e+00 -4.705882444977760315e-02 9.529411792755126953e-01 0.000000000000000000e+00 1.000000000000000000e+00 -3.921568766236305237e-02 9.607843160629272461e-01 0.000000000000000000e+00 1.000000000000000000e+00 -3.137255087494850159e-02 9.686274528503417969e-01 0.000000000000000000e+00 1.000000000000000000e+00 -2.352941222488880157e-02 9.764705896377563477e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.568627543747425079e-02 9.843137264251708984e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.843137718737125397e-03 9.921568632125854492e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/bwr b/fastplotlib/utils/colormaps/bwr deleted file mode 100644 index 5cfe14afb..000000000 --- a/fastplotlib/utils/colormaps/bwr +++ /dev/null @@ -1,256 +0,0 @@ -0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -7.843137718737125397e-03 7.843137718737125397e-03 1.000000000000000000e+00 1.000000000000000000e+00 -1.568627543747425079e-02 1.568627543747425079e-02 1.000000000000000000e+00 1.000000000000000000e+00 -2.352941222488880157e-02 2.352941222488880157e-02 1.000000000000000000e+00 1.000000000000000000e+00 -3.137255087494850159e-02 3.137255087494850159e-02 1.000000000000000000e+00 1.000000000000000000e+00 -3.921568766236305237e-02 3.921568766236305237e-02 1.000000000000000000e+00 1.000000000000000000e+00 -4.705882444977760315e-02 4.705882444977760315e-02 1.000000000000000000e+00 1.000000000000000000e+00 -5.490196123719215393e-02 5.490196123719215393e-02 1.000000000000000000e+00 1.000000000000000000e+00 -6.274510174989700317e-02 6.274510174989700317e-02 1.000000000000000000e+00 1.000000000000000000e+00 -7.058823853731155396e-02 7.058823853731155396e-02 1.000000000000000000e+00 1.000000000000000000e+00 -7.843137532472610474e-02 7.843137532472610474e-02 1.000000000000000000e+00 1.000000000000000000e+00 -8.627451211214065552e-02 8.627451211214065552e-02 1.000000000000000000e+00 1.000000000000000000e+00 -9.411764889955520630e-02 9.411764889955520630e-02 1.000000000000000000e+00 1.000000000000000000e+00 -1.019607856869697571e-01 1.019607856869697571e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.098039224743843079e-01 1.098039224743843079e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.176470592617988586e-01 1.176470592617988586e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.254902034997940063e-01 1.254902034997940063e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.333333402872085571e-01 1.333333402872085571e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.411764770746231079e-01 1.411764770746231079e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.490196138620376587e-01 1.490196138620376587e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.568627506494522095e-01 1.568627506494522095e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.647058874368667603e-01 1.647058874368667603e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.725490242242813110e-01 1.725490242242813110e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.803921610116958618e-01 1.803921610116958618e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.882352977991104126e-01 1.882352977991104126e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.960784345865249634e-01 1.960784345865249634e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.039215713739395142e-01 2.039215713739395142e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.117647081613540649e-01 2.117647081613540649e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.196078449487686157e-01 2.196078449487686157e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.274509817361831665e-01 2.274509817361831665e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.352941185235977173e-01 2.352941185235977173e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.431372553110122681e-01 2.431372553110122681e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.509804069995880127e-01 2.509804069995880127e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.588235437870025635e-01 2.588235437870025635e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.666666805744171143e-01 2.666666805744171143e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.745098173618316650e-01 2.745098173618316650e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.823529541492462158e-01 2.823529541492462158e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.901960909366607666e-01 2.901960909366607666e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.980392277240753174e-01 2.980392277240753174e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.058823645114898682e-01 3.058823645114898682e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.137255012989044189e-01 3.137255012989044189e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.215686380863189697e-01 3.215686380863189697e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.294117748737335205e-01 3.294117748737335205e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.372549116611480713e-01 3.372549116611480713e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.450980484485626221e-01 3.450980484485626221e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.529411852359771729e-01 3.529411852359771729e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.607843220233917236e-01 3.607843220233917236e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.686274588108062744e-01 3.686274588108062744e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.764705955982208252e-01 3.764705955982208252e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.843137323856353760e-01 3.843137323856353760e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.921568691730499268e-01 3.921568691730499268e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.000000059604644775e-01 4.000000059604644775e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.078431427478790283e-01 4.078431427478790283e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.156862795352935791e-01 4.156862795352935791e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.235294163227081299e-01 4.235294163227081299e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.313725531101226807e-01 4.313725531101226807e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.392156898975372314e-01 4.392156898975372314e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.470588266849517822e-01 4.470588266849517822e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.549019634723663330e-01 4.549019634723663330e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.627451002597808838e-01 4.627451002597808838e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.705882370471954346e-01 4.705882370471954346e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.784313738346099854e-01 4.784313738346099854e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.862745106220245361e-01 4.862745106220245361e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.941176474094390869e-01 4.941176474094390869e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.019608139991760254e-01 5.019608139991760254e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.098039507865905762e-01 5.098039507865905762e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.176470875740051270e-01 5.176470875740051270e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.254902243614196777e-01 5.254902243614196777e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.333333611488342285e-01 5.333333611488342285e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.411764979362487793e-01 5.411764979362487793e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.490196347236633301e-01 5.490196347236633301e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.568627715110778809e-01 5.568627715110778809e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.647059082984924316e-01 5.647059082984924316e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.725490450859069824e-01 5.725490450859069824e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.803921818733215332e-01 5.803921818733215332e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.882353186607360840e-01 5.882353186607360840e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.960784554481506348e-01 5.960784554481506348e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.039215922355651855e-01 6.039215922355651855e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.117647290229797363e-01 6.117647290229797363e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.196078658103942871e-01 6.196078658103942871e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.274510025978088379e-01 6.274510025978088379e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.352941393852233887e-01 6.352941393852233887e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.431372761726379395e-01 6.431372761726379395e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.509804129600524902e-01 6.509804129600524902e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.588235497474670410e-01 6.588235497474670410e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.666666865348815918e-01 6.666666865348815918e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.745098233222961426e-01 6.745098233222961426e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.823529601097106934e-01 6.823529601097106934e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.901960968971252441e-01 6.901960968971252441e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.980392336845397949e-01 6.980392336845397949e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.058823704719543457e-01 7.058823704719543457e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.137255072593688965e-01 7.137255072593688965e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.215686440467834473e-01 7.215686440467834473e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.294117808341979980e-01 7.294117808341979980e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.372549176216125488e-01 7.372549176216125488e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.450980544090270996e-01 7.450980544090270996e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.529411911964416504e-01 7.529411911964416504e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.607843279838562012e-01 7.607843279838562012e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.686274647712707520e-01 7.686274647712707520e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.764706015586853027e-01 7.764706015586853027e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.843137383460998535e-01 7.843137383460998535e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.921568751335144043e-01 7.921568751335144043e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.000000119209289551e-01 8.000000119209289551e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.078431487083435059e-01 8.078431487083435059e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.156862854957580566e-01 8.156862854957580566e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.235294222831726074e-01 8.235294222831726074e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.313725590705871582e-01 8.313725590705871582e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.392156958580017090e-01 8.392156958580017090e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.470588326454162598e-01 8.470588326454162598e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.549019694328308105e-01 8.549019694328308105e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.627451062202453613e-01 8.627451062202453613e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.705882430076599121e-01 8.705882430076599121e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.784313797950744629e-01 8.784313797950744629e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.862745165824890137e-01 8.862745165824890137e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.941176533699035645e-01 8.941176533699035645e-01 1.000000000000000000e+00 1.000000000000000000e+00 -9.019607901573181152e-01 9.019607901573181152e-01 1.000000000000000000e+00 1.000000000000000000e+00 -9.098039269447326660e-01 9.098039269447326660e-01 1.000000000000000000e+00 1.000000000000000000e+00 -9.176470637321472168e-01 9.176470637321472168e-01 1.000000000000000000e+00 1.000000000000000000e+00 -9.254902005195617676e-01 9.254902005195617676e-01 1.000000000000000000e+00 1.000000000000000000e+00 -9.333333373069763184e-01 9.333333373069763184e-01 1.000000000000000000e+00 1.000000000000000000e+00 -9.411764740943908691e-01 9.411764740943908691e-01 1.000000000000000000e+00 1.000000000000000000e+00 -9.490196108818054199e-01 9.490196108818054199e-01 1.000000000000000000e+00 1.000000000000000000e+00 -9.568627476692199707e-01 9.568627476692199707e-01 1.000000000000000000e+00 1.000000000000000000e+00 -9.647058844566345215e-01 9.647058844566345215e-01 1.000000000000000000e+00 1.000000000000000000e+00 -9.725490212440490723e-01 9.725490212440490723e-01 1.000000000000000000e+00 1.000000000000000000e+00 -9.803921580314636230e-01 9.803921580314636230e-01 1.000000000000000000e+00 1.000000000000000000e+00 -9.882352948188781738e-01 9.882352948188781738e-01 1.000000000000000000e+00 1.000000000000000000e+00 -9.960784316062927246e-01 9.960784316062927246e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.960784316062927246e-01 9.960784316062927246e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.882352948188781738e-01 9.882352948188781738e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.803921580314636230e-01 9.803921580314636230e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.725490212440490723e-01 9.725490212440490723e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.647058844566345215e-01 9.647058844566345215e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.568627476692199707e-01 9.568627476692199707e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.490196108818054199e-01 9.490196108818054199e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.411764740943908691e-01 9.411764740943908691e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.333333373069763184e-01 9.333333373069763184e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.254902005195617676e-01 9.254902005195617676e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.176470637321472168e-01 9.176470637321472168e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.098039269447326660e-01 9.098039269447326660e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.019607901573181152e-01 9.019607901573181152e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.941176533699035645e-01 8.941176533699035645e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.862745165824890137e-01 8.862745165824890137e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.784313797950744629e-01 8.784313797950744629e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.705882430076599121e-01 8.705882430076599121e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.627451062202453613e-01 8.627451062202453613e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.549019694328308105e-01 8.549019694328308105e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.470588326454162598e-01 8.470588326454162598e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.392156958580017090e-01 8.392156958580017090e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.313725590705871582e-01 8.313725590705871582e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.235294222831726074e-01 8.235294222831726074e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.156862854957580566e-01 8.156862854957580566e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.078431487083435059e-01 8.078431487083435059e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.000000119209289551e-01 8.000000119209289551e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.921568751335144043e-01 7.921568751335144043e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.843137383460998535e-01 7.843137383460998535e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.764706015586853027e-01 7.764706015586853027e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.686274647712707520e-01 7.686274647712707520e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.607843279838562012e-01 7.607843279838562012e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.529411911964416504e-01 7.529411911964416504e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.450980544090270996e-01 7.450980544090270996e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.372549176216125488e-01 7.372549176216125488e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.294117808341979980e-01 7.294117808341979980e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.215686440467834473e-01 7.215686440467834473e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.137255072593688965e-01 7.137255072593688965e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.058823704719543457e-01 7.058823704719543457e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.980392336845397949e-01 6.980392336845397949e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.901960968971252441e-01 6.901960968971252441e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.823529601097106934e-01 6.823529601097106934e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.745098233222961426e-01 6.745098233222961426e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.666666865348815918e-01 6.666666865348815918e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.588235497474670410e-01 6.588235497474670410e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.509804129600524902e-01 6.509804129600524902e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.431372761726379395e-01 6.431372761726379395e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.352941393852233887e-01 6.352941393852233887e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.274510025978088379e-01 6.274510025978088379e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.196078658103942871e-01 6.196078658103942871e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.117647290229797363e-01 6.117647290229797363e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.039215922355651855e-01 6.039215922355651855e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.960784554481506348e-01 5.960784554481506348e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.882353186607360840e-01 5.882353186607360840e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.803921818733215332e-01 5.803921818733215332e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.725490450859069824e-01 5.725490450859069824e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.647059082984924316e-01 5.647059082984924316e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.568627715110778809e-01 5.568627715110778809e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.490196347236633301e-01 5.490196347236633301e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.411764979362487793e-01 5.411764979362487793e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.333333611488342285e-01 5.333333611488342285e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.254902243614196777e-01 5.254902243614196777e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.176470875740051270e-01 5.176470875740051270e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.098039507865905762e-01 5.098039507865905762e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.019608139991760254e-01 5.019608139991760254e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.941176474094390869e-01 4.941176474094390869e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.862745106220245361e-01 4.862745106220245361e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.784313738346099854e-01 4.784313738346099854e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.705882370471954346e-01 4.705882370471954346e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.627451002597808838e-01 4.627451002597808838e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.549019634723663330e-01 4.549019634723663330e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.470588266849517822e-01 4.470588266849517822e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.392156898975372314e-01 4.392156898975372314e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.313725531101226807e-01 4.313725531101226807e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.235294163227081299e-01 4.235294163227081299e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.156862795352935791e-01 4.156862795352935791e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.078431427478790283e-01 4.078431427478790283e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.000000059604644775e-01 4.000000059604644775e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.921568691730499268e-01 3.921568691730499268e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.843137323856353760e-01 3.843137323856353760e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.764705955982208252e-01 3.764705955982208252e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.686274588108062744e-01 3.686274588108062744e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.607843220233917236e-01 3.607843220233917236e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.529411852359771729e-01 3.529411852359771729e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.450980484485626221e-01 3.450980484485626221e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.372549116611480713e-01 3.372549116611480713e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.294117748737335205e-01 3.294117748737335205e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.215686380863189697e-01 3.215686380863189697e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.137255012989044189e-01 3.137255012989044189e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.058823645114898682e-01 3.058823645114898682e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.980392277240753174e-01 2.980392277240753174e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.901960909366607666e-01 2.901960909366607666e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.823529541492462158e-01 2.823529541492462158e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.745098173618316650e-01 2.745098173618316650e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.666666805744171143e-01 2.666666805744171143e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.588235437870025635e-01 2.588235437870025635e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.509804069995880127e-01 2.509804069995880127e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.431372553110122681e-01 2.431372553110122681e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.352941185235977173e-01 2.352941185235977173e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.274509817361831665e-01 2.274509817361831665e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.196078449487686157e-01 2.196078449487686157e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.117647081613540649e-01 2.117647081613540649e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.039215713739395142e-01 2.039215713739395142e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.960784345865249634e-01 1.960784345865249634e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.882352977991104126e-01 1.882352977991104126e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.803921610116958618e-01 1.803921610116958618e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.725490242242813110e-01 1.725490242242813110e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.647058874368667603e-01 1.647058874368667603e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.568627506494522095e-01 1.568627506494522095e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.490196138620376587e-01 1.490196138620376587e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.411764770746231079e-01 1.411764770746231079e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.333333402872085571e-01 1.333333402872085571e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.254902034997940063e-01 1.254902034997940063e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.176470592617988586e-01 1.176470592617988586e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.098039224743843079e-01 1.098039224743843079e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.019607856869697571e-01 1.019607856869697571e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.411764889955520630e-02 9.411764889955520630e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.627451211214065552e-02 8.627451211214065552e-02 1.000000000000000000e+00 -1.000000000000000000e+00 7.843137532472610474e-02 7.843137532472610474e-02 1.000000000000000000e+00 -1.000000000000000000e+00 7.058823853731155396e-02 7.058823853731155396e-02 1.000000000000000000e+00 -1.000000000000000000e+00 6.274510174989700317e-02 6.274510174989700317e-02 1.000000000000000000e+00 -1.000000000000000000e+00 5.490196123719215393e-02 5.490196123719215393e-02 1.000000000000000000e+00 -1.000000000000000000e+00 4.705882444977760315e-02 4.705882444977760315e-02 1.000000000000000000e+00 -1.000000000000000000e+00 3.921568766236305237e-02 3.921568766236305237e-02 1.000000000000000000e+00 -1.000000000000000000e+00 3.137255087494850159e-02 3.137255087494850159e-02 1.000000000000000000e+00 -1.000000000000000000e+00 2.352941222488880157e-02 2.352941222488880157e-02 1.000000000000000000e+00 -1.000000000000000000e+00 1.568627543747425079e-02 1.568627543747425079e-02 1.000000000000000000e+00 -1.000000000000000000e+00 7.843137718737125397e-03 7.843137718737125397e-03 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/cividis b/fastplotlib/utils/colormaps/cividis deleted file mode 100644 index 30005ec22..000000000 --- a/fastplotlib/utils/colormaps/cividis +++ /dev/null @@ -1,256 +0,0 @@ -0.000000000000000000e+00 1.351120024919509888e-01 3.047510087490081787e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.380680054426193237e-01 3.111050128936767578e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.410129964351654053e-01 3.175790011882781982e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.439509987831115723e-01 3.239820003509521484e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.468770056962966919e-01 3.304789960384368896e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.497910022735595703e-01 3.370650112628936768e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.526730060577392578e-01 3.437039852142333984e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.553770005702972412e-01 3.504999876022338867e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.579319983720779419e-01 3.575209975242614746e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.604949980974197388e-01 3.645339906215667725e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.630579978227615356e-01 3.716079890727996826e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.656209975481033325e-01 3.787690103054046631e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.682039946317672729e-01 3.859019875526428223e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.708000004291534424e-01 3.930999934673309326e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.734199970960617065e-01 4.003530144691467285e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.760820001363754272e-01 4.075770080089569092e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.788019984960556030e-01 4.147639870643615723e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.816100031137466431e-01 4.218589961528778076e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.845500022172927856e-01 4.288020133972167969e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.869149953126907349e-01 4.355320036411285400e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.887689977884292603e-01 4.395630061626434326e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.909500062465667725e-01 4.410850107669830322e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.933660060167312622e-01 4.415610134601593018e-01 1.000000000000000000e+00 -3.601999953389167786e-03 1.959110051393508911e-01 4.415639936923980713e-01 1.000000000000000000e+00 -1.785200089216232300e-02 1.985280066728591919e-01 4.412479996681213379e-01 1.000000000000000000e+00 -3.210999816656112671e-02 2.011989951133728027e-01 4.407849907875061035e-01 1.000000000000000000e+00 -4.620499908924102783e-02 2.039030045270919800e-01 4.401960074901580811e-01 1.000000000000000000e+00 -5.837799981236457825e-02 2.066289931535720825e-01 4.395309984683990479e-01 1.000000000000000000e+00 -6.896799802780151367e-02 2.093719989061355591e-01 4.388630092144012451e-01 1.000000000000000000e+00 -7.862400263547897339e-02 2.121219933032989502e-01 4.381049871444702148e-01 1.000000000000000000e+00 -8.746500313282012939e-02 2.148790061473846436e-01 4.373419880867004395e-01 1.000000000000000000e+00 -9.564500302076339722e-02 2.176429927349090576e-01 4.365929961204528809e-01 1.000000000000000000e+00 -1.034009978175163269e-01 2.204059958457946777e-01 4.357900023460388184e-01 1.000000000000000000e+00 -1.106579974293708801e-01 2.231699973344802856e-01 4.350669980049133301e-01 1.000000000000000000e+00 -1.176119968295097351e-01 2.259349972009658813e-01 4.343079924583435059e-01 1.000000000000000000e+00 -1.242910027503967285e-01 2.286970019340515137e-01 4.335469901561737061e-01 1.000000000000000000e+00 -1.306689977645874023e-01 2.314579933881759644e-01 4.328399896621704102e-01 1.000000000000000000e+00 -1.368300020694732666e-01 2.342160046100616455e-01 4.321480095386505127e-01 1.000000000000000000e+00 -1.428519934415817261e-01 2.369720041751861572e-01 4.314039945602416992e-01 1.000000000000000000e+00 -1.486379951238632202e-01 2.397239953279495239e-01 4.307520091533660889e-01 1.000000000000000000e+00 -1.542609930038452148e-01 2.424750030040740967e-01 4.301199913024902344e-01 1.000000000000000000e+00 -1.597329974174499512e-01 2.452210038900375366e-01 4.295279979705810547e-01 1.000000000000000000e+00 -1.651130020618438721e-01 2.479649931192398071e-01 4.289079904556274414e-01 1.000000000000000000e+00 -1.703619956970214844e-01 2.507070004940032959e-01 4.283249974250793457e-01 1.000000000000000000e+00 -1.754900068044662476e-01 2.534439861774444580e-01 4.277899861335754395e-01 1.000000000000000000e+00 -1.805029958486557007e-01 2.561799883842468262e-01 4.272989928722381592e-01 1.000000000000000000e+00 -1.854529976844787598e-01 2.589139938354492188e-01 4.267880022525787354e-01 1.000000000000000000e+00 -1.903029978275299072e-01 2.616440057754516602e-01 4.263289868831634521e-01 1.000000000000000000e+00 -1.950570046901702881e-01 2.643719911575317383e-01 4.259240031242370605e-01 1.000000000000000000e+00 -1.997639983892440796e-01 2.670989930629730225e-01 4.254969954490661621e-01 1.000000000000000000e+00 -2.043849974870681763e-01 2.698230147361755371e-01 4.251259863376617432e-01 1.000000000000000000e+00 -2.089260071516036987e-01 2.725459933280944824e-01 4.248090088367462158e-01 1.000000000000000000e+00 -2.134310007095336914e-01 2.752659916877746582e-01 4.244799911975860596e-01 1.000000000000000000e+00 -2.178629934787750244e-01 2.779850065708160400e-01 4.242059886455535889e-01 1.000000000000000000e+00 -2.222640067338943481e-01 2.807019948959350586e-01 4.239139854907989502e-01 1.000000000000000000e+00 -2.265979945659637451e-01 2.834190130233764648e-01 4.236780107021331787e-01 1.000000000000000000e+00 -2.308710068464279175e-01 2.861340045928955078e-01 4.234980046749114990e-01 1.000000000000000000e+00 -2.351199984550476074e-01 2.888480126857757568e-01 4.233039915561676025e-01 1.000000000000000000e+00 -2.393119931221008301e-01 2.915619909763336182e-01 4.231669902801513672e-01 1.000000000000000000e+00 -2.434850037097930908e-01 2.942740023136138916e-01 4.230139851570129395e-01 1.000000000000000000e+00 -2.476049959659576416e-01 2.969860136508941650e-01 4.229170083999633789e-01 1.000000000000000000e+00 -2.516750097274780273e-01 2.996979951858520508e-01 4.228729903697967529e-01 1.000000000000000000e+00 -2.557309865951538086e-01 3.024089932441711426e-01 4.228140115737915039e-01 1.000000000000000000e+00 -2.597399950027465820e-01 3.051199913024902344e-01 4.228099882602691650e-01 1.000000000000000000e+00 -2.637380063533782959e-01 3.078309893608093262e-01 4.227890074253082275e-01 1.000000000000000000e+00 -2.676930129528045654e-01 3.105419874191284180e-01 4.228209853172302246e-01 1.000000000000000000e+00 -2.716389894485473633e-01 3.132529854774475098e-01 4.228369891643524170e-01 1.000000000000000000e+00 -2.755129933357238770e-01 3.159649968147277832e-01 4.229789972305297852e-01 1.000000000000000000e+00 -2.794109880924224854e-01 3.186770081520080566e-01 4.230310022830963135e-01 1.000000000000000000e+00 -2.832399904727935791e-01 3.213900029659271240e-01 4.232110083103179932e-01 1.000000000000000000e+00 -2.870649993419647217e-01 3.241029977798461914e-01 4.233730137348175049e-01 1.000000000000000000e+00 -2.908839881420135498e-01 3.268159925937652588e-01 4.235169887542724609e-01 1.000000000000000000e+00 -2.946690022945404053e-01 3.295310139656066895e-01 4.237160086631774902e-01 1.000000000000000000e+00 -2.984209954738616943e-01 3.322469890117645264e-01 4.239729940891265869e-01 1.000000000000000000e+00 -3.021689951419830322e-01 3.349629938602447510e-01 4.242129921913146973e-01 1.000000000000000000e+00 -3.058860003948211670e-01 3.376809954643249512e-01 4.245119988918304443e-01 1.000000000000000000e+00 -3.096010088920593262e-01 3.403989970684051514e-01 4.247899949550628662e-01 1.000000000000000000e+00 -3.132869899272918701e-01 3.431200087070465088e-01 4.251199960708618164e-01 1.000000000000000000e+00 -3.169409930706024170e-01 3.458420038223266602e-01 4.255119860172271729e-01 1.000000000000000000e+00 -3.205949962139129639e-01 3.485650122165679932e-01 4.258889853954315186e-01 1.000000000000000000e+00 -3.242500126361846924e-01 3.512890040874481201e-01 4.262500107288360596e-01 1.000000000000000000e+00 -3.278749883174896240e-01 3.540160059928894043e-01 4.266700148582458496e-01 1.000000000000000000e+00 -3.314740061759948730e-01 3.567439913749694824e-01 4.271439909934997559e-01 1.000000000000000000e+00 -3.350729942321777344e-01 3.594740033149719238e-01 4.276050031185150146e-01 1.000000000000000000e+00 -3.386729955673217773e-01 3.622060120105743408e-01 4.280529916286468506e-01 1.000000000000000000e+00 -3.422459959983825684e-01 3.649390041828155518e-01 4.285590052604675293e-01 1.000000000000000000e+00 -3.457930088043212891e-01 3.676759898662567139e-01 4.291270077228546143e-01 1.000000000000000000e+00 -3.493410050868988037e-01 3.704139888286590576e-01 4.296849966049194336e-01 1.000000000000000000e+00 -3.528920114040374756e-01 3.731530010700225830e-01 4.302259981632232666e-01 1.000000000000000000e+00 -3.564180135726928711e-01 3.758960068225860596e-01 4.308229982852935791e-01 1.000000000000000000e+00 -3.599160015583038330e-01 3.786410093307495117e-01 4.315010011196136475e-01 1.000000000000000000e+00 -3.634459972381591797e-01 3.813880085945129395e-01 4.320749938488006592e-01 1.000000000000000000e+00 -3.669230043888092041e-01 3.841390013694763184e-01 4.327960014343261719e-01 1.000000000000000000e+00 -3.704299926757812500e-01 3.868899941444396973e-01 4.334279894828796387e-01 1.000000000000000000e+00 -3.738839924335479736e-01 3.896459937095642090e-01 4.342089891433715820e-01 1.000000000000000000e+00 -3.773710131645202637e-01 3.924039900302886963e-01 4.348900020122528076e-01 1.000000000000000000e+00 -3.808299899101257324e-01 3.951640129089355469e-01 4.356530010700225830e-01 1.000000000000000000e+00 -3.842679858207702637e-01 3.979279994964599609e-01 4.364750087261199951e-01 1.000000000000000000e+00 -3.877049982547760010e-01 4.006940126419067383e-01 4.373050034046173096e-01 1.000000000000000000e+00 -3.911510109901428223e-01 4.034639894962310791e-01 4.380959868431091309e-01 1.000000000000000000e+00 -3.945679962635040283e-01 4.062359929084777832e-01 4.389860033988952637e-01 1.000000000000000000e+00 -3.979910016059875488e-01 4.090110063552856445e-01 4.398480057716369629e-01 1.000000000000000000e+00 -4.014180004596710205e-01 4.117900133132934570e-01 4.407080113887786865e-01 1.000000000000000000e+00 -4.048199951648712158e-01 4.145720005035400391e-01 4.416419863700866699e-01 1.000000000000000000e+00 -4.082260131835937500e-01 4.173569977283477783e-01 4.425700008869171143e-01 1.000000000000000000e+00 -4.116069972515106201e-01 4.201450049877166748e-01 4.435769915580749512e-01 1.000000000000000000e+00 -4.149920046329498291e-01 4.229370057582855225e-01 4.445779919624328613e-01 1.000000000000000000e+00 -4.183830022811889648e-01 4.257330000400543213e-01 4.455600082874298096e-01 1.000000000000000000e+00 -4.217480123043060303e-01 4.285309910774230957e-01 4.466400146484375000e-01 1.000000000000000000e+00 -4.251199960708618164e-01 4.313339889049530029e-01 4.476920068264007568e-01 1.000000000000000000e+00 -4.284619987010955811e-01 4.341399967670440674e-01 4.488640129566192627e-01 1.000000000000000000e+00 -4.318169951438903809e-01 4.369499981403350830e-01 4.499819874763488770e-01 1.000000000000000000e+00 -4.351679980754852295e-01 4.397630095481872559e-01 4.511339962482452393e-01 1.000000000000000000e+00 -4.385040104389190674e-01 4.425800144672393799e-01 4.523409903049468994e-01 1.000000000000000000e+00 -4.418100118637084961e-01 4.454019963741302490e-01 4.536589980125427246e-01 1.000000000000000000e+00 -4.451479911804199219e-01 4.482260048389434814e-01 4.548850059509277344e-01 1.000000000000000000e+00 -4.484469890594482422e-01 4.510529935359954834e-01 4.562639892101287842e-01 1.000000000000000000e+00 -4.517590105533599854e-01 4.538869857788085938e-01 4.575819969177246094e-01 1.000000000000000000e+00 -4.550719857215881348e-01 4.567179977893829346e-01 4.589760005474090576e-01 1.000000000000000000e+00 -4.583660066127777100e-01 4.595519900321960449e-01 4.604569971561431885e-01 1.000000000000000000e+00 -4.616160094738006592e-01 4.624049961566925049e-01 4.619689881801605225e-01 1.000000000000000000e+00 -4.649469852447509766e-01 4.652409851551055908e-01 4.633949995040893555e-01 1.000000000000000000e+00 -4.682539999485015869e-01 4.680829942226409912e-01 4.649080038070678711e-01 1.000000000000000000e+00 -4.715009927749633789e-01 4.709599912166595459e-01 4.663569927215576172e-01 1.000000000000000000e+00 -4.748120009899139404e-01 4.738320112228393555e-01 4.676809906959533691e-01 1.000000000000000000e+00 -4.781860113143920898e-01 4.766989946365356445e-01 4.688450098037719727e-01 1.000000000000000000e+00 -4.816220104694366455e-01 4.795730113983154297e-01 4.697670042514801025e-01 1.000000000000000000e+00 -4.851410090923309326e-01 4.824509918689727783e-01 4.703840017318725586e-01 1.000000000000000000e+00 -4.886969923973083496e-01 4.853180050849914551e-01 4.710080027580261230e-01 1.000000000000000000e+00 -4.922780096530914307e-01 4.881980121135711670e-01 4.714530110359191895e-01 1.000000000000000000e+00 -4.959129989147186279e-01 4.910759925842285156e-01 4.717510044574737549e-01 1.000000000000000000e+00 -4.995520114898681641e-01 4.939599931240081787e-01 4.720320105552673340e-01 1.000000000000000000e+00 -5.031849741935729980e-01 4.968509972095489502e-01 4.723049998283386230e-01 1.000000000000000000e+00 -5.068659782409667969e-01 4.997430145740509033e-01 4.724319875240325928e-01 1.000000000000000000e+00 -5.105400085449218750e-01 5.026429891586303711e-01 4.725500047206878662e-01 1.000000000000000000e+00 -5.142260193824768066e-01 5.055459737777709961e-01 4.726400077342987061e-01 1.000000000000000000e+00 -5.179200172424316406e-01 5.084540247917175293e-01 4.727070033550262451e-01 1.000000000000000000e+00 -5.216429829597473145e-01 5.113670229911804199e-01 4.726389944553375244e-01 1.000000000000000000e+00 -5.253480076789855957e-01 5.142850279808044434e-01 4.726600050926208496e-01 1.000000000000000000e+00 -5.290859937667846680e-01 5.172070264816284180e-01 4.725430011749267578e-01 1.000000000000000000e+00 -5.328289866447448730e-01 5.201349854469299316e-01 4.724009931087493896e-01 1.000000000000000000e+00 -5.365530252456665039e-01 5.230669975280761719e-01 4.723519980907440186e-01 1.000000000000000000e+00 -5.403069853782653809e-01 5.260050296783447266e-01 4.721629917621612549e-01 1.000000000000000000e+00 -5.440689921379089355e-01 5.289480090141296387e-01 4.719470143318176270e-01 1.000000000000000000e+00 -5.478399991989135742e-01 5.318949818611145020e-01 4.717040061950683594e-01 1.000000000000000000e+00 -5.516120195388793945e-01 5.348489880561828613e-01 4.714390039443969727e-01 1.000000000000000000e+00 -5.553929805755615234e-01 5.378069877624511719e-01 4.711470007896423340e-01 1.000000000000000000e+00 -5.591809749603271484e-01 5.407710075378417969e-01 4.708290100097656250e-01 1.000000000000000000e+00 -5.629720091819763184e-01 5.437409877777099609e-01 4.704880118370056152e-01 1.000000000000000000e+00 -5.668020248413085938e-01 5.467150211334228516e-01 4.699879884719848633e-01 1.000000000000000000e+00 -5.706070065498352051e-01 5.496950149536132812e-01 4.695929884910583496e-01 1.000000000000000000e+00 -5.744169950485229492e-01 5.526819825172424316e-01 4.691720008850097656e-01 1.000000000000000000e+00 -5.782359838485717773e-01 5.556730031967163086e-01 4.687240123748779297e-01 1.000000000000000000e+00 -5.820869803428649902e-01 5.586699843406677246e-01 4.681180119514465332e-01 1.000000000000000000e+00 -5.859159827232360840e-01 5.616739988327026367e-01 4.676179885864257812e-01 1.000000000000000000e+00 -5.897529721260070801e-01 5.646820068359375000e-01 4.670900106430053711e-01 1.000000000000000000e+00 -5.936220288276672363e-01 5.676969885826110840e-01 4.664010107517242432e-01 1.000000000000000000e+00 -5.974689722061157227e-01 5.707179903984069824e-01 4.658209979534149170e-01 1.000000000000000000e+00 -6.013540029525756836e-01 5.737429857254028320e-01 4.650740027427673340e-01 1.000000000000000000e+00 -6.052110195159912109e-01 5.767769813537597656e-01 4.644410014152526855e-01 1.000000000000000000e+00 -6.091049909591674805e-01 5.798159837722778320e-01 4.636380076408386230e-01 1.000000000000000000e+00 -6.129770278930664062e-01 5.828610062599182129e-01 4.629499912261962891e-01 1.000000000000000000e+00 -6.168519854545593262e-01 5.859130024909973145e-01 4.622370004653930664e-01 1.000000000000000000e+00 -6.207649707794189453e-01 5.889700055122375488e-01 4.613510072231292725e-01 1.000000000000000000e+00 -6.246539950370788574e-01 5.920339822769165039e-01 4.605830013751983643e-01 1.000000000000000000e+00 -6.285759806632995605e-01 5.951039791107177734e-01 4.596410095691680908e-01 1.000000000000000000e+00 -6.325060129165649414e-01 5.981799960136413574e-01 4.586679935455322266e-01 1.000000000000000000e+00 -6.364120244979858398e-01 6.012639999389648438e-01 4.578180015087127686e-01 1.000000000000000000e+00 -6.403520107269287109e-01 6.043540239334106445e-01 4.567910134792327881e-01 1.000000000000000000e+00 -6.442700028419494629e-01 6.074500083923339844e-01 4.558860063552856445e-01 1.000000000000000000e+00 -6.482220292091369629e-01 6.105530261993408203e-01 4.548009932041168213e-01 1.000000000000000000e+00 -6.521779894828796387e-01 6.136639714241027832e-01 4.536890089511871338e-01 1.000000000000000000e+00 -6.561139822006225586e-01 6.167799830436706543e-01 4.527019858360290527e-01 1.000000000000000000e+00 -6.600819826126098633e-01 6.199039816856384277e-01 4.515340030193328857e-01 1.000000000000000000e+00 -6.640549898147583008e-01 6.230340003967285156e-01 4.503380060195922852e-01 1.000000000000000000e+00 -6.680080294609069824e-01 6.261709928512573242e-01 4.492700099945068359e-01 1.000000000000000000e+00 -6.719909906387329102e-01 6.293159723281860352e-01 4.480180144309997559e-01 1.000000000000000000e+00 -6.759809851646423340e-01 6.324679851531982422e-01 4.467360079288482666e-01 1.000000000000000000e+00 -6.799790263175964355e-01 6.356260180473327637e-01 4.454239904880523682e-01 1.000000000000000000e+00 -6.839500069618225098e-01 6.387929916381835938e-01 4.442510008811950684e-01 1.000000000000000000e+00 -6.879569888114929199e-01 6.419659852981567383e-01 4.428859949111938477e-01 1.000000000000000000e+00 -6.919710040092468262e-01 6.451449990272521973e-01 4.414910078048706055e-01 1.000000000000000000e+00 -6.959850192070007324e-01 6.483340263366699219e-01 4.400720000267028809e-01 1.000000000000000000e+00 -7.000079751014709473e-01 6.515290141105651855e-01 4.386239945888519287e-01 1.000000000000000000e+00 -7.040370106697082520e-01 6.547309756278991699e-01 4.371469914913177490e-01 1.000000000000000000e+00 -7.080669999122619629e-01 6.579419970512390137e-01 4.356470108032226562e-01 1.000000000000000000e+00 -7.121049761772155762e-01 6.611599922180175781e-01 4.341169893741607666e-01 1.000000000000000000e+00 -7.161769866943359375e-01 6.643840074539184570e-01 4.323860108852386475e-01 1.000000000000000000e+00 -7.202219963073730469e-01 6.676179766654968262e-01 4.308049976825714111e-01 1.000000000000000000e+00 -7.242739796638488770e-01 6.708589792251586914e-01 4.291940033435821533e-01 1.000000000000000000e+00 -7.283340096473693848e-01 6.741070151329040527e-01 4.275540113449096680e-01 1.000000000000000000e+00 -7.324219942092895508e-01 6.773639917373657227e-01 4.257169961929321289e-01 1.000000000000000000e+00 -7.364879846572875977e-01 6.806290149688720703e-01 4.240280091762542725e-01 1.000000000000000000e+00 -7.405890226364135742e-01 6.838999986648559570e-01 4.221310019493103027e-01 1.000000000000000000e+00 -7.446640133857727051e-01 6.871809959411621094e-01 4.203929901123046875e-01 1.000000000000000000e+00 -7.487720251083374023e-01 6.904699802398681641e-01 4.184480011463165283e-01 1.000000000000000000e+00 -7.528859972953796387e-01 6.937659978866577148e-01 4.164719879627227783e-01 1.000000000000000000e+00 -7.569749951362609863e-01 6.970710158348083496e-01 4.146589934825897217e-01 1.000000000000000000e+00 -7.610960006713867188e-01 7.003840208053588867e-01 4.126380085945129395e-01 1.000000000000000000e+00 -7.652230262756347656e-01 7.037050127983093262e-01 4.105870127677917480e-01 1.000000000000000000e+00 -7.693529725074768066e-01 7.070350050926208496e-01 4.085159897804260254e-01 1.000000000000000000e+00 -7.734860181808471680e-01 7.103729844093322754e-01 4.064219892024993896e-01 1.000000000000000000e+00 -7.776510119438171387e-01 7.137190103530883789e-01 4.041120111942291260e-01 1.000000000000000000e+00 -7.817950248718261719e-01 7.170739769935607910e-01 4.019660055637359619e-01 1.000000000000000000e+00 -7.859650254249572754e-01 7.204380035400390625e-01 3.996129930019378662e-01 1.000000000000000000e+00 -7.901160120964050293e-01 7.238100171089172363e-01 3.974229991436004639e-01 1.000000000000000000e+00 -7.942979931831359863e-01 7.271900177001953125e-01 3.950160145759582520e-01 1.000000000000000000e+00 -7.984799742698669434e-01 7.305799722671508789e-01 3.925969898700714111e-01 1.000000000000000000e+00 -8.026670217514038086e-01 7.339779734611511230e-01 3.901529908180236816e-01 1.000000000000000000e+00 -8.068590164184570312e-01 7.373849749565124512e-01 3.876839876174926758e-01 1.000000000000000000e+00 -8.110539913177490234e-01 7.408009767532348633e-01 3.851979970932006836e-01 1.000000000000000000e+00 -8.152740001678466797e-01 7.442259788513183594e-01 3.825039863586425781e-01 1.000000000000000000e+00 -8.194990158081054688e-01 7.476590275764465332e-01 3.797850012779235840e-01 1.000000000000000000e+00 -8.237289786338806152e-01 7.511010169982910156e-01 3.770430088043212891e-01 1.000000000000000000e+00 -8.279590010643005371e-01 7.545530200004577637e-01 3.742919862270355225e-01 1.000000000000000000e+00 -8.321920037269592285e-01 7.580140233039855957e-01 3.715290129184722900e-01 1.000000000000000000e+00 -8.364289999008178711e-01 7.614830136299133301e-01 3.687469959259033203e-01 1.000000000000000000e+00 -8.406929969787597656e-01 7.649620175361633301e-01 3.657459914684295654e-01 1.000000000000000000e+00 -8.449569940567016602e-01 7.684500217437744141e-01 3.627409934997558594e-01 1.000000000000000000e+00 -8.492230176925659180e-01 7.719470262527465820e-01 3.597289919853210449e-01 1.000000000000000000e+00 -8.535150289535522461e-01 7.754539847373962402e-01 3.564999997615814209e-01 1.000000000000000000e+00 -8.578090071678161621e-01 7.789689898490905762e-01 3.532589972019195557e-01 1.000000000000000000e+00 -8.621050119400024414e-01 7.824940085411071777e-01 3.500109910964965820e-01 1.000000000000000000e+00 -8.664209842681884766e-01 7.860280275344848633e-01 3.465709984302520752e-01 1.000000000000000000e+00 -8.707169890403747559e-01 7.895720005035400391e-01 3.433330059051513672e-01 1.000000000000000000e+00 -8.750569820404052734e-01 7.931249737739562988e-01 3.396849930286407471e-01 1.000000000000000000e+00 -8.793780207633972168e-01 7.966870069503784180e-01 3.362410068511962891e-01 1.000000000000000000e+00 -8.837199807167053223e-01 8.002579808235168457e-01 3.325990140438079834e-01 1.000000000000000000e+00 -8.880810141563415527e-01 8.038390278816223145e-01 3.287700116634368896e-01 1.000000000000000000e+00 -8.924400210380554199e-01 8.074300289154052734e-01 3.249680101871490479e-01 1.000000000000000000e+00 -8.968179821968078613e-01 8.110299706459045410e-01 3.209820091724395752e-01 1.000000000000000000e+00 -9.011949896812438965e-01 8.146389722824096680e-01 3.170210123062133789e-01 1.000000000000000000e+00 -9.055889844894409180e-01 8.182569742202758789e-01 3.128890097141265869e-01 1.000000000000000000e+00 -9.100000262260437012e-01 8.218849897384643555e-01 3.085939884185791016e-01 1.000000000000000000e+00 -9.144070148468017578e-01 8.255220055580139160e-01 3.043479919433593750e-01 1.000000000000000000e+00 -9.188280105590820312e-01 8.291680216789245605e-01 2.999599874019622803e-01 1.000000000000000000e+00 -9.232789874076843262e-01 8.328220248222351074e-01 2.952440083026885986e-01 1.000000000000000000e+00 -9.277240037918090820e-01 8.364859819412231445e-01 2.906109988689422607e-01 1.000000000000000000e+00 -9.321799874305725098e-01 8.401589989662170410e-01 2.858799993991851807e-01 1.000000000000000000e+00 -9.366599917411804199e-01 8.438410162925720215e-01 2.808760106563568115e-01 1.000000000000000000e+00 -9.411470293998718262e-01 8.475300073623657227e-01 2.758150100708007812e-01 1.000000000000000000e+00 -9.456539750099182129e-01 8.512279987335205078e-01 2.705320119857788086e-01 1.000000000000000000e+00 -9.501780271530151367e-01 8.549330234527587891e-01 2.650850117206573486e-01 1.000000000000000000e+00 -9.547250270843505859e-01 8.586459755897521973e-01 2.593649923801422119e-01 1.000000000000000000e+00 -9.592840075492858887e-01 8.623650074005126953e-01 2.535629868507385254e-01 1.000000000000000000e+00 -9.638720154762268066e-01 8.660889863967895508e-01 2.474450021982192993e-01 1.000000000000000000e+00 -9.684690237045288086e-01 8.698189854621887207e-01 2.413100004196166992e-01 1.000000000000000000e+00 -9.731140136718750000e-01 8.735499978065490723e-01 2.346770018339157104e-01 1.000000000000000000e+00 -9.777799844741821289e-01 8.772810101509094238e-01 2.279540002346038818e-01 1.000000000000000000e+00 -9.824969768524169922e-01 8.810080289840698242e-01 2.208780050277709961e-01 1.000000000000000000e+00 -9.872930049896240234e-01 8.847180008888244629e-01 2.133360058069229126e-01 1.000000000000000000e+00 -9.922180175781250000e-01 8.883849978446960449e-01 2.054679989814758301e-01 1.000000000000000000e+00 -9.948469996452331543e-01 8.929539918899536133e-01 2.034450024366378784e-01 1.000000000000000000e+00 -9.952489733695983887e-01 8.983839750289916992e-01 2.075610011816024780e-01 1.000000000000000000e+00 -9.955030083656311035e-01 9.038659930229187012e-01 2.123699933290481567e-01 1.000000000000000000e+00 -9.957370162010192871e-01 9.093440175056457520e-01 2.177720069885253906e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/cool b/fastplotlib/utils/colormaps/cool deleted file mode 100644 index 4af027533..000000000 --- a/fastplotlib/utils/colormaps/cool +++ /dev/null @@ -1,256 +0,0 @@ -0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -3.921568859368562698e-03 9.960784316062927246e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.843137718737125397e-03 9.921568632125854492e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.176470611244440079e-02 9.882352948188781738e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.568627543747425079e-02 9.843137264251708984e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.960784383118152618e-02 9.803921580314636230e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.352941222488880157e-02 9.764705896377563477e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.745098061859607697e-02 9.725490212440490723e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.137255087494850159e-02 9.686274528503417969e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.529411926865577698e-02 9.647058844566345215e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.921568766236305237e-02 9.607843160629272461e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.313725605607032776e-02 9.568627476692199707e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.705882444977760315e-02 9.529411792755126953e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.098039284348487854e-02 9.490196108818054199e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.490196123719215393e-02 9.450980424880981445e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.882352963089942932e-02 9.411764740943908691e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.274510174989700317e-02 9.372549057006835938e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.666667014360427856e-02 9.333333373069763184e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.058823853731155396e-02 9.294117689132690430e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.450980693101882935e-02 9.254902005195617676e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.843137532472610474e-02 9.215686321258544922e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.235294371843338013e-02 9.176470637321472168e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.627451211214065552e-02 9.137254953384399414e-01 1.000000000000000000e+00 1.000000000000000000e+00 -9.019608050584793091e-02 9.098039269447326660e-01 1.000000000000000000e+00 1.000000000000000000e+00 -9.411764889955520630e-02 9.058823585510253906e-01 1.000000000000000000e+00 1.000000000000000000e+00 -9.803921729326248169e-02 9.019607901573181152e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.019607856869697571e-01 8.980392217636108398e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.058823540806770325e-01 8.941176533699035645e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.098039224743843079e-01 8.901960849761962891e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.137254908680915833e-01 8.862745165824890137e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.176470592617988586e-01 8.823529481887817383e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.215686276555061340e-01 8.784313797950744629e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.254902034997940063e-01 8.745098114013671875e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.294117718935012817e-01 8.705882430076599121e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.333333402872085571e-01 8.666666746139526367e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.372549086809158325e-01 8.627451062202453613e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.411764770746231079e-01 8.588235378265380859e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.450980454683303833e-01 8.549019694328308105e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.490196138620376587e-01 8.509804010391235352e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.529411822557449341e-01 8.470588326454162598e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.568627506494522095e-01 8.431372642517089844e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.607843190431594849e-01 8.392156958580017090e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.647058874368667603e-01 8.352941274642944336e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.686274558305740356e-01 8.313725590705871582e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.725490242242813110e-01 8.274509906768798828e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.764705926179885864e-01 8.235294222831726074e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.803921610116958618e-01 8.196078538894653320e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.843137294054031372e-01 8.156862854957580566e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.882352977991104126e-01 8.117647171020507812e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.921568661928176880e-01 8.078431487083435059e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.960784345865249634e-01 8.039215803146362305e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.000000029802322388e-01 8.000000119209289551e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.039215713739395142e-01 7.960784435272216797e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.078431397676467896e-01 7.921568751335144043e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.117647081613540649e-01 7.882353067398071289e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.156862765550613403e-01 7.843137383460998535e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.196078449487686157e-01 7.803921699523925781e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.235294133424758911e-01 7.764706015586853027e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.274509817361831665e-01 7.725490331649780273e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.313725501298904419e-01 7.686274647712707520e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.352941185235977173e-01 7.647058963775634766e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.392156869173049927e-01 7.607843279838562012e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.431372553110122681e-01 7.568627595901489258e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.470588237047195435e-01 7.529411911964416504e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.509804069995880127e-01 7.490196228027343750e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.549019753932952881e-01 7.450980544090270996e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.588235437870025635e-01 7.411764860153198242e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.627451121807098389e-01 7.372549176216125488e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.666666805744171143e-01 7.333333492279052734e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.705882489681243896e-01 7.294117808341979980e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.745098173618316650e-01 7.254902124404907227e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.784313857555389404e-01 7.215686440467834473e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.823529541492462158e-01 7.176470756530761719e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.862745225429534912e-01 7.137255072593688965e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.901960909366607666e-01 7.098039388656616211e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.941176593303680420e-01 7.058823704719543457e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.980392277240753174e-01 7.019608020782470703e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.019607961177825928e-01 6.980392336845397949e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.058823645114898682e-01 6.941176652908325195e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.098039329051971436e-01 6.901960968971252441e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.137255012989044189e-01 6.862745285034179688e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.176470696926116943e-01 6.823529601097106934e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.215686380863189697e-01 6.784313917160034180e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.254902064800262451e-01 6.745098233222961426e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.294117748737335205e-01 6.705882549285888672e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.333333432674407959e-01 6.666666865348815918e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.372549116611480713e-01 6.627451181411743164e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.411764800548553467e-01 6.588235497474670410e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.450980484485626221e-01 6.549019813537597656e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.490196168422698975e-01 6.509804129600524902e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.529411852359771729e-01 6.470588445663452148e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.568627536296844482e-01 6.431372761726379395e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.607843220233917236e-01 6.392157077789306641e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.647058904170989990e-01 6.352941393852233887e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.686274588108062744e-01 6.313725709915161133e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.725490272045135498e-01 6.274510025978088379e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.764705955982208252e-01 6.235294342041015625e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.803921639919281006e-01 6.196078658103942871e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.843137323856353760e-01 6.156862974166870117e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.882353007793426514e-01 6.117647290229797363e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.921568691730499268e-01 6.078431606292724609e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.960784375667572021e-01 6.039215922355651855e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.000000059604644775e-01 6.000000238418579102e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.039215743541717529e-01 5.960784554481506348e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.078431427478790283e-01 5.921568870544433594e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.117647111415863037e-01 5.882353186607360840e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.156862795352935791e-01 5.843137502670288086e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.196078479290008545e-01 5.803921818733215332e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.235294163227081299e-01 5.764706134796142578e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.274509847164154053e-01 5.725490450859069824e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.313725531101226807e-01 5.686274766921997070e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.352941215038299561e-01 5.647059082984924316e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.392156898975372314e-01 5.607843399047851562e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.431372582912445068e-01 5.568627715110778809e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.470588266849517822e-01 5.529412031173706055e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.509803950786590576e-01 5.490196347236633301e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.549019634723663330e-01 5.450980663299560547e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.588235318660736084e-01 5.411764979362487793e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.627451002597808838e-01 5.372549295425415039e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.666666686534881592e-01 5.333333611488342285e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.705882370471954346e-01 5.294117927551269531e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.745098054409027100e-01 5.254902243614196777e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.784313738346099854e-01 5.215686559677124023e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.823529422283172607e-01 5.176470875740051270e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.862745106220245361e-01 5.137255191802978516e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.901960790157318115e-01 5.098039507865905762e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.941176474094390869e-01 5.058823823928833008e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.980392158031463623e-01 5.019608139991760254e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.019608139991760254e-01 4.980392158031463623e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.058823823928833008e-01 4.941176474094390869e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.098039507865905762e-01 4.901960790157318115e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.137255191802978516e-01 4.862745106220245361e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.176470875740051270e-01 4.823529422283172607e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.215686559677124023e-01 4.784313738346099854e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.254902243614196777e-01 4.745098054409027100e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.294117927551269531e-01 4.705882370471954346e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.333333611488342285e-01 4.666666686534881592e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.372549295425415039e-01 4.627451002597808838e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.411764979362487793e-01 4.588235318660736084e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.450980663299560547e-01 4.549019634723663330e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.490196347236633301e-01 4.509803950786590576e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.529412031173706055e-01 4.470588266849517822e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.568627715110778809e-01 4.431372582912445068e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.607843399047851562e-01 4.392156898975372314e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.647059082984924316e-01 4.352941215038299561e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.686274766921997070e-01 4.313725531101226807e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.725490450859069824e-01 4.274509847164154053e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.764706134796142578e-01 4.235294163227081299e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.803921818733215332e-01 4.196078479290008545e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.843137502670288086e-01 4.156862795352935791e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.882353186607360840e-01 4.117647111415863037e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.921568870544433594e-01 4.078431427478790283e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.960784554481506348e-01 4.039215743541717529e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.000000238418579102e-01 4.000000059604644775e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.039215922355651855e-01 3.960784375667572021e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.078431606292724609e-01 3.921568691730499268e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.117647290229797363e-01 3.882353007793426514e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.156862974166870117e-01 3.843137323856353760e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.196078658103942871e-01 3.803921639919281006e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.235294342041015625e-01 3.764705955982208252e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.274510025978088379e-01 3.725490272045135498e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.313725709915161133e-01 3.686274588108062744e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.352941393852233887e-01 3.647058904170989990e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.392157077789306641e-01 3.607843220233917236e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.431372761726379395e-01 3.568627536296844482e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.470588445663452148e-01 3.529411852359771729e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.509804129600524902e-01 3.490196168422698975e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.549019813537597656e-01 3.450980484485626221e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.588235497474670410e-01 3.411764800548553467e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.627451181411743164e-01 3.372549116611480713e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.666666865348815918e-01 3.333333432674407959e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.705882549285888672e-01 3.294117748737335205e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.745098233222961426e-01 3.254902064800262451e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.784313917160034180e-01 3.215686380863189697e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.823529601097106934e-01 3.176470696926116943e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.862745285034179688e-01 3.137255012989044189e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.901960968971252441e-01 3.098039329051971436e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.941176652908325195e-01 3.058823645114898682e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.980392336845397949e-01 3.019607961177825928e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.019608020782470703e-01 2.980392277240753174e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.058823704719543457e-01 2.941176593303680420e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.098039388656616211e-01 2.901960909366607666e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.137255072593688965e-01 2.862745225429534912e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.176470756530761719e-01 2.823529541492462158e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.215686440467834473e-01 2.784313857555389404e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.254902124404907227e-01 2.745098173618316650e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.294117808341979980e-01 2.705882489681243896e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.333333492279052734e-01 2.666666805744171143e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.372549176216125488e-01 2.627451121807098389e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.411764860153198242e-01 2.588235437870025635e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.450980544090270996e-01 2.549019753932952881e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.490196228027343750e-01 2.509804069995880127e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.529411911964416504e-01 2.470588237047195435e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.568627595901489258e-01 2.431372553110122681e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.607843279838562012e-01 2.392156869173049927e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.647058963775634766e-01 2.352941185235977173e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.686274647712707520e-01 2.313725501298904419e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.725490331649780273e-01 2.274509817361831665e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.764706015586853027e-01 2.235294133424758911e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.803921699523925781e-01 2.196078449487686157e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.843137383460998535e-01 2.156862765550613403e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.882353067398071289e-01 2.117647081613540649e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.921568751335144043e-01 2.078431397676467896e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.960784435272216797e-01 2.039215713739395142e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.000000119209289551e-01 2.000000029802322388e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.039215803146362305e-01 1.960784345865249634e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.078431487083435059e-01 1.921568661928176880e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.117647171020507812e-01 1.882352977991104126e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.156862854957580566e-01 1.843137294054031372e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.196078538894653320e-01 1.803921610116958618e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.235294222831726074e-01 1.764705926179885864e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.274509906768798828e-01 1.725490242242813110e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.313725590705871582e-01 1.686274558305740356e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.352941274642944336e-01 1.647058874368667603e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.392156958580017090e-01 1.607843190431594849e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.431372642517089844e-01 1.568627506494522095e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.470588326454162598e-01 1.529411822557449341e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.509804010391235352e-01 1.490196138620376587e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.549019694328308105e-01 1.450980454683303833e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.588235378265380859e-01 1.411764770746231079e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.627451062202453613e-01 1.372549086809158325e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.666666746139526367e-01 1.333333402872085571e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.705882430076599121e-01 1.294117718935012817e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.745098114013671875e-01 1.254902034997940063e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.784313797950744629e-01 1.215686276555061340e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.823529481887817383e-01 1.176470592617988586e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.862745165824890137e-01 1.137254908680915833e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.901960849761962891e-01 1.098039224743843079e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.941176533699035645e-01 1.058823540806770325e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.980392217636108398e-01 1.019607856869697571e-01 1.000000000000000000e+00 1.000000000000000000e+00 -9.019607901573181152e-01 9.803921729326248169e-02 1.000000000000000000e+00 1.000000000000000000e+00 -9.058823585510253906e-01 9.411764889955520630e-02 1.000000000000000000e+00 1.000000000000000000e+00 -9.098039269447326660e-01 9.019608050584793091e-02 1.000000000000000000e+00 1.000000000000000000e+00 -9.137254953384399414e-01 8.627451211214065552e-02 1.000000000000000000e+00 1.000000000000000000e+00 -9.176470637321472168e-01 8.235294371843338013e-02 1.000000000000000000e+00 1.000000000000000000e+00 -9.215686321258544922e-01 7.843137532472610474e-02 1.000000000000000000e+00 1.000000000000000000e+00 -9.254902005195617676e-01 7.450980693101882935e-02 1.000000000000000000e+00 1.000000000000000000e+00 -9.294117689132690430e-01 7.058823853731155396e-02 1.000000000000000000e+00 1.000000000000000000e+00 -9.333333373069763184e-01 6.666667014360427856e-02 1.000000000000000000e+00 1.000000000000000000e+00 -9.372549057006835938e-01 6.274510174989700317e-02 1.000000000000000000e+00 1.000000000000000000e+00 -9.411764740943908691e-01 5.882352963089942932e-02 1.000000000000000000e+00 1.000000000000000000e+00 -9.450980424880981445e-01 5.490196123719215393e-02 1.000000000000000000e+00 1.000000000000000000e+00 -9.490196108818054199e-01 5.098039284348487854e-02 1.000000000000000000e+00 1.000000000000000000e+00 -9.529411792755126953e-01 4.705882444977760315e-02 1.000000000000000000e+00 1.000000000000000000e+00 -9.568627476692199707e-01 4.313725605607032776e-02 1.000000000000000000e+00 1.000000000000000000e+00 -9.607843160629272461e-01 3.921568766236305237e-02 1.000000000000000000e+00 1.000000000000000000e+00 -9.647058844566345215e-01 3.529411926865577698e-02 1.000000000000000000e+00 1.000000000000000000e+00 -9.686274528503417969e-01 3.137255087494850159e-02 1.000000000000000000e+00 1.000000000000000000e+00 -9.725490212440490723e-01 2.745098061859607697e-02 1.000000000000000000e+00 1.000000000000000000e+00 -9.764705896377563477e-01 2.352941222488880157e-02 1.000000000000000000e+00 1.000000000000000000e+00 -9.803921580314636230e-01 1.960784383118152618e-02 1.000000000000000000e+00 1.000000000000000000e+00 -9.843137264251708984e-01 1.568627543747425079e-02 1.000000000000000000e+00 1.000000000000000000e+00 -9.882352948188781738e-01 1.176470611244440079e-02 1.000000000000000000e+00 1.000000000000000000e+00 -9.921568632125854492e-01 7.843137718737125397e-03 1.000000000000000000e+00 1.000000000000000000e+00 -9.960784316062927246e-01 3.921568859368562698e-03 1.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/coolwarm b/fastplotlib/utils/colormaps/coolwarm deleted file mode 100644 index fc1d170e9..000000000 --- a/fastplotlib/utils/colormaps/coolwarm +++ /dev/null @@ -1,256 +0,0 @@ -2.298056930303573608e-01 2.987179756164550781e-01 7.536831498146057129e-01 1.000000000000000000e+00 -2.343770861625671387e-01 3.055417239665985107e-01 7.596795558929443359e-01 1.000000000000000000e+00 -2.389484643936157227e-01 3.123655021190643311e-01 7.656759023666381836e-01 1.000000000000000000e+00 -2.435198426246643066e-01 3.191892504692077637e-01 7.716722488403320312e-01 1.000000000000000000e+00 -2.480912208557128906e-01 3.260130286216735840e-01 7.776686549186706543e-01 1.000000000000000000e+00 -2.526625990867614746e-01 3.328367769718170166e-01 7.836650013923645020e-01 1.000000000000000000e+00 -2.572339773178100586e-01 3.396605551242828369e-01 7.896614074707031250e-01 1.000000000000000000e+00 -2.618053555488586426e-01 3.464843034744262695e-01 7.956577539443969727e-01 1.000000000000000000e+00 -2.663814723491668701e-01 3.533044159412384033e-01 8.016372919082641602e-01 1.000000000000000000e+00 -2.711043059825897217e-01 3.600106537342071533e-01 8.070951104164123535e-01 1.000000000000000000e+00 -2.758271098136901855e-01 3.667169213294982910e-01 8.125529289245605469e-01 1.000000000000000000e+00 -2.805499434471130371e-01 3.734231591224670410e-01 8.180107474327087402e-01 1.000000000000000000e+00 -2.852727770805358887e-01 3.801294267177581787e-01 8.234685659408569336e-01 1.000000000000000000e+00 -2.899956107139587402e-01 3.868356645107269287e-01 8.289263844490051270e-01 1.000000000000000000e+00 -2.947184443473815918e-01 3.935419321060180664e-01 8.343841433525085449e-01 1.000000000000000000e+00 -2.994412481784820557e-01 4.002481698989868164e-01 8.398419618606567383e-01 1.000000000000000000e+00 -3.041742742061614990e-01 4.069448709487915039e-01 8.452627062797546387e-01 1.000000000000000000e+00 -3.090603053569793701e-01 4.134982824325561523e-01 8.501276373863220215e-01 1.000000000000000000e+00 -3.139463365077972412e-01 4.200516641139984131e-01 8.549925684928894043e-01 1.000000000000000000e+00 -3.188323974609375000e-01 4.266050457954406738e-01 8.598574399948120117e-01 1.000000000000000000e+00 -3.237184286117553711e-01 4.331584274768829346e-01 8.647223711013793945e-01 1.000000000000000000e+00 -3.286044597625732422e-01 4.397118389606475830e-01 8.695872426033020020e-01 1.000000000000000000e+00 -3.334904909133911133e-01 4.462652206420898438e-01 8.744521737098693848e-01 1.000000000000000000e+00 -3.383765220642089844e-01 4.528186023235321045e-01 8.793171048164367676e-01 1.000000000000000000e+00 -3.432775139808654785e-01 4.593536257743835449e-01 8.841218948364257812e-01 1.000000000000000000e+00 -3.483233451843261719e-01 4.657111465930938721e-01 8.883461356163024902e-01 1.000000000000000000e+00 -3.533691465854644775e-01 4.720686674118041992e-01 8.925703763961791992e-01 1.000000000000000000e+00 -3.584149777889251709e-01 4.784261584281921387e-01 8.967946171760559082e-01 1.000000000000000000e+00 -3.634608089923858643e-01 4.847836792469024658e-01 9.010188579559326172e-01 1.000000000000000000e+00 -3.685066103935241699e-01 4.911412000656127930e-01 9.052430987358093262e-01 1.000000000000000000e+00 -3.735524415969848633e-01 4.974986910820007324e-01 9.094673991203308105e-01 1.000000000000000000e+00 -3.785982429981231689e-01 5.038562417030334473e-01 9.136916399002075195e-01 1.000000000000000000e+00 -3.836620748043060303e-01 5.101833939552307129e-01 9.178306460380554199e-01 1.000000000000000000e+00 -3.888518810272216797e-01 5.162984132766723633e-01 9.213734865188598633e-01 1.000000000000000000e+00 -3.940416872501373291e-01 5.224134325981140137e-01 9.249162673950195312e-01 1.000000000000000000e+00 -3.992314934730529785e-01 5.285284519195556641e-01 9.284591078758239746e-01 1.000000000000000000e+00 -4.044212996959686279e-01 5.346434712409973145e-01 9.320018887519836426e-01 1.000000000000000000e+00 -4.096111059188842773e-01 5.407584905624389648e-01 9.355447292327880859e-01 1.000000000000000000e+00 -4.148009121417999268e-01 5.468735098838806152e-01 9.390875101089477539e-01 1.000000000000000000e+00 -4.199907183647155762e-01 5.529885292053222656e-01 9.426303505897521973e-01 1.000000000000000000e+00 -4.251989722251892090e-01 5.590581893920898438e-01 9.460614323616027832e-01 1.000000000000000000e+00 -4.305068850517272949e-01 5.648827552795410156e-01 9.488894343376159668e-01 1.000000000000000000e+00 -4.358147978782653809e-01 5.707073211669921875e-01 9.517173767089843750e-01 1.000000000000000000e+00 -4.411227107048034668e-01 5.765318870544433594e-01 9.545453190803527832e-01 1.000000000000000000e+00 -4.464306533336639404e-01 5.823564529418945312e-01 9.573733210563659668e-01 1.000000000000000000e+00 -4.517385661602020264e-01 5.881809592247009277e-01 9.602012634277343750e-01 1.000000000000000000e+00 -4.570464789867401123e-01 5.940055251121520996e-01 9.630292057991027832e-01 1.000000000000000000e+00 -4.623543918132781982e-01 5.998300909996032715e-01 9.658572077751159668e-01 1.000000000000000000e+00 -4.676780998706817627e-01 6.055912375450134277e-01 9.685462713241577148e-01 1.000000000000000000e+00 -4.730701744556427002e-01 6.110774278640747070e-01 9.706335663795471191e-01 1.000000000000000000e+00 -4.784622490406036377e-01 6.165636181831359863e-01 9.727209210395812988e-01 1.000000000000000000e+00 -4.838543236255645752e-01 6.220498681068420410e-01 9.748082160949707031e-01 1.000000000000000000e+00 -4.892463982105255127e-01 6.275360584259033203e-01 9.768955111503601074e-01 1.000000000000000000e+00 -4.946384727954864502e-01 6.330222487449645996e-01 9.789828062057495117e-01 1.000000000000000000e+00 -5.000305771827697754e-01 6.385084390640258789e-01 9.810701012611389160e-01 1.000000000000000000e+00 -5.054226517677307129e-01 6.439946889877319336e-01 9.831574559211730957e-01 1.000000000000000000e+00 -5.108243227005004883e-01 6.493965983390808105e-01 9.850787520408630371e-01 1.000000000000000000e+00 -5.162603259086608887e-01 6.544976234436035156e-01 9.864073991775512695e-01 1.000000000000000000e+00 -5.216962695121765137e-01 6.595985889434814453e-01 9.877360463142395020e-01 1.000000000000000000e+00 -5.271322727203369141e-01 6.646996140480041504e-01 9.890646338462829590e-01 1.000000000000000000e+00 -5.325682163238525391e-01 6.698005795478820801e-01 9.903932809829711914e-01 1.000000000000000000e+00 -5.380042195320129395e-01 6.749016046524047852e-01 9.917218685150146484e-01 1.000000000000000000e+00 -5.434402227401733398e-01 6.800025701522827148e-01 9.930505156517028809e-01 1.000000000000000000e+00 -5.488761663436889648e-01 6.851035952568054199e-01 9.943791627883911133e-01 1.000000000000000000e+00 -5.543118715286254883e-01 6.900970339775085449e-01 9.955155253410339355e-01 1.000000000000000000e+00 -5.597467422485351562e-01 6.947677135467529297e-01 9.960753321647644043e-01 1.000000000000000000e+00 -5.651815533638000488e-01 6.994384527206420898e-01 9.966350793838500977e-01 1.000000000000000000e+00 -5.706164240837097168e-01 7.041091322898864746e-01 9.971948266029357910e-01 1.000000000000000000e+00 -5.760512948036193848e-01 7.087798714637756348e-01 9.977545738220214844e-01 1.000000000000000000e+00 -5.814861655235290527e-01 7.134506106376647949e-01 9.983143806457519531e-01 1.000000000000000000e+00 -5.869209766387939453e-01 7.181212902069091797e-01 9.988741278648376465e-01 1.000000000000000000e+00 -5.923558473587036133e-01 7.227920293807983398e-01 9.994338750839233398e-01 1.000000000000000000e+00 -5.977767705917358398e-01 7.273297309875488281e-01 9.997767210006713867e-01 1.000000000000000000e+00 -6.031620502471923828e-01 7.315274477005004883e-01 9.995653033256530762e-01 1.000000000000000000e+00 -6.085473895072937012e-01 7.357252240180969238e-01 9.993538260459899902e-01 1.000000000000000000e+00 -6.139326691627502441e-01 7.399230003356933594e-01 9.991423487663269043e-01 1.000000000000000000e+00 -6.193179488182067871e-01 7.441207170486450195e-01 9.989309310913085938e-01 1.000000000000000000e+00 -6.247032284736633301e-01 7.483184933662414551e-01 9.987194538116455078e-01 1.000000000000000000e+00 -6.300885081291198730e-01 7.525162100791931152e-01 9.985080361366271973e-01 1.000000000000000000e+00 -6.354738473892211914e-01 7.567139863967895508e-01 9.982965588569641113e-01 1.000000000000000000e+00 -6.408277750015258789e-01 7.607514858245849609e-01 9.978457689285278320e-01 1.000000000000000000e+00 -6.461127996444702148e-01 7.644364833831787109e-01 9.968684911727905273e-01 1.000000000000000000e+00 -6.513978242874145508e-01 7.681214809417724609e-01 9.958911538124084473e-01 1.000000000000000000e+00 -6.566828489303588867e-01 7.718064785003662109e-01 9.949138164520263672e-01 1.000000000000000000e+00 -6.619678735733032227e-01 7.754914760589599609e-01 9.939365386962890625e-01 1.000000000000000000e+00 -6.672528982162475586e-01 7.791764736175537109e-01 9.929592013359069824e-01 1.000000000000000000e+00 -6.725379824638366699e-01 7.828614711761474609e-01 9.919819235801696777e-01 1.000000000000000000e+00 -6.778230071067810059e-01 7.865464091300964355e-01 9.910045862197875977e-01 1.000000000000000000e+00 -6.830556988716125488e-01 7.900426387786865234e-01 9.897684454917907715e-01 1.000000000000000000e+00 -6.881884932518005371e-01 7.931783795356750488e-01 9.880381226539611816e-01 1.000000000000000000e+00 -6.933212876319885254e-01 7.963141202926635742e-01 9.863077998161315918e-01 1.000000000000000000e+00 -6.984540820121765137e-01 7.994498610496520996e-01 9.845774769783020020e-01 1.000000000000000000e+00 -7.035868763923645020e-01 8.025856614112854004e-01 9.828471541404724121e-01 1.000000000000000000e+00 -7.087196707725524902e-01 8.057214021682739258e-01 9.811168313026428223e-01 1.000000000000000000e+00 -7.138524651527404785e-01 8.088571429252624512e-01 9.793865084648132324e-01 1.000000000000000000e+00 -7.189853191375732422e-01 8.119928836822509766e-01 9.776561856269836426e-01 1.000000000000000000e+00 -7.240413427352905273e-01 8.149104118347167969e-01 9.756509661674499512e-01 1.000000000000000000e+00 -7.289695739746093750e-01 8.174641132354736328e-01 9.731876850128173828e-01 1.000000000000000000e+00 -7.338978052139282227e-01 8.200178742408752441e-01 9.707243442535400391e-01 1.000000000000000000e+00 -7.388259768486022949e-01 8.225716352462768555e-01 9.682610630989074707e-01 1.000000000000000000e+00 -7.437542080879211426e-01 8.251253366470336914e-01 9.657977819442749023e-01 1.000000000000000000e+00 -7.486824393272399902e-01 8.276790976524353027e-01 9.633344411849975586e-01 1.000000000000000000e+00 -7.536106109619140625e-01 8.302328586578369141e-01 9.608711600303649902e-01 1.000000000000000000e+00 -7.585388422012329102e-01 8.327866196632385254e-01 9.584078788757324219e-01 1.000000000000000000e+00 -7.633627653121948242e-01 8.350922465324401855e-01 9.556576609611511230e-01 1.000000000000000000e+00 -7.680343389511108398e-01 8.370352387428283691e-01 9.524882435798645020e-01 1.000000000000000000e+00 -7.727059721946716309e-01 8.389782309532165527e-01 9.493187665939331055e-01 1.000000000000000000e+00 -7.773775458335876465e-01 8.409212231636047363e-01 9.461492896080017090e-01 1.000000000000000000e+00 -7.820491194725036621e-01 8.428642153739929199e-01 9.429798722267150879e-01 1.000000000000000000e+00 -7.867206931114196777e-01 8.448072075843811035e-01 9.398103952407836914e-01 1.000000000000000000e+00 -7.913922667503356934e-01 8.467501997947692871e-01 9.366409182548522949e-01 1.000000000000000000e+00 -7.960638403892517090e-01 8.486931920051574707e-01 9.334714412689208984e-01 1.000000000000000000e+00 -8.006008267402648926e-01 8.503583073616027832e-01 9.300075769424438477e-01 1.000000000000000000e+00 -8.049647808074951172e-01 8.516661524772644043e-01 9.261651039123535156e-01 1.000000000000000000e+00 -8.093286752700805664e-01 8.529739975929260254e-01 9.223225712776184082e-01 1.000000000000000000e+00 -8.136925697326660156e-01 8.542818427085876465e-01 9.184800982475280762e-01 1.000000000000000000e+00 -8.180564641952514648e-01 8.555896878242492676e-01 9.146376252174377441e-01 1.000000000000000000e+00 -8.224204182624816895e-01 8.568975329399108887e-01 9.107951521873474121e-01 1.000000000000000000e+00 -8.267843127250671387e-01 8.582053780555725098e-01 9.069526195526123047e-01 1.000000000000000000e+00 -8.311482071876525879e-01 8.595132231712341309e-01 9.031101465225219727e-01 1.000000000000000000e+00 -8.353447318077087402e-01 8.605139851570129395e-01 8.989704251289367676e-01 1.000000000000000000e+00 -8.393514156341552734e-01 8.611668348312377930e-01 8.944937586784362793e-01 1.000000000000000000e+00 -8.433581590652465820e-01 8.618196249008178711e-01 8.900170922279357910e-01 1.000000000000000000e+00 -8.473649024963378906e-01 8.624724745750427246e-01 8.855404853820800781e-01 1.000000000000000000e+00 -8.513716459274291992e-01 8.631253242492675781e-01 8.810638189315795898e-01 1.000000000000000000e+00 -8.553783893585205078e-01 8.637781143188476562e-01 8.765871524810791016e-01 1.000000000000000000e+00 -8.593850731849670410e-01 8.644309639930725098e-01 8.721105456352233887e-01 1.000000000000000000e+00 -8.633918166160583496e-01 8.650838136672973633e-01 8.676338791847229004e-01 1.000000000000000000e+00 -8.674276471138000488e-01 8.643766045570373535e-01 8.626024723052978516e-01 1.000000000000000000e+00 -8.714925050735473633e-01 8.623093962669372559e-01 8.570162653923034668e-01 1.000000000000000000e+00 -8.755573630332946777e-01 8.602421879768371582e-01 8.514300584793090820e-01 1.000000000000000000e+00 -8.796222805976867676e-01 8.581749200820922852e-01 8.458438515663146973e-01 1.000000000000000000e+00 -8.836871385574340820e-01 8.561077117919921875e-01 8.402576446533203125e-01 1.000000000000000000e+00 -8.877519965171813965e-01 8.540405035018920898e-01 8.346714973449707031e-01 1.000000000000000000e+00 -8.918169140815734863e-01 8.519732952117919922e-01 8.290852904319763184e-01 1.000000000000000000e+00 -8.958817720413208008e-01 8.499060273170471191e-01 8.234990835189819336e-01 1.000000000000000000e+00 -8.995432257652282715e-01 8.475002646446228027e-01 8.177890777587890625e-01 1.000000000000000000e+00 -9.028486609458923340e-01 8.447956442832946777e-01 8.119698166847229004e-01 1.000000000000000000e+00 -9.061541557312011719e-01 8.420910835266113281e-01 8.061506152153015137e-01 1.000000000000000000e+00 -9.094595909118652344e-01 8.393864631652832031e-01 8.003313541412353516e-01 1.000000000000000000e+00 -9.127650856971740723e-01 8.366819024085998535e-01 7.945120930671691895e-01 1.000000000000000000e+00 -9.160705208778381348e-01 8.339772820472717285e-01 7.886928915977478027e-01 1.000000000000000000e+00 -9.193760156631469727e-01 8.312727212905883789e-01 7.828736305236816406e-01 1.000000000000000000e+00 -9.226814508438110352e-01 8.285681605339050293e-01 7.770543694496154785e-01 1.000000000000000000e+00 -9.255633950233459473e-01 8.255172967910766602e-01 7.711362838745117188e-01 1.000000000000000000e+00 -9.281160235404968262e-01 8.221971392631530762e-01 7.651413679122924805e-01 1.000000000000000000e+00 -9.306685924530029297e-01 8.188769817352294922e-01 7.591463923454284668e-01 1.000000000000000000e+00 -9.332211613655090332e-01 8.155568242073059082e-01 7.531514167785644531e-01 1.000000000000000000e+00 -9.357737898826599121e-01 8.122367262840270996e-01 7.471565008163452148e-01 1.000000000000000000e+00 -9.383263587951660156e-01 8.089165687561035156e-01 7.411615252494812012e-01 1.000000000000000000e+00 -9.408789277076721191e-01 8.055964112281799316e-01 7.351665496826171875e-01 1.000000000000000000e+00 -9.434315562248229980e-01 8.022762537002563477e-01 7.291715741157531738e-01 1.000000000000000000e+00 -9.455403089523315430e-01 7.986057400703430176e-01 7.231054306030273438e-01 1.000000000000000000e+00 -9.473453760147094727e-01 7.946954965591430664e-01 7.169905304908752441e-01 1.000000000000000000e+00 -9.491505026817321777e-01 7.907852530479431152e-01 7.108755707740783691e-01 1.000000000000000000e+00 -9.509556293487548828e-01 7.868750095367431641e-01 7.047606706619262695e-01 1.000000000000000000e+00 -9.527606964111328125e-01 7.829648256301879883e-01 6.986457705497741699e-01 1.000000000000000000e+00 -9.545658230781555176e-01 7.790545821189880371e-01 6.925308704376220703e-01 1.000000000000000000e+00 -9.563709497451782227e-01 7.751443386077880859e-01 6.864159703254699707e-01 1.000000000000000000e+00 -9.581760168075561523e-01 7.712340950965881348e-01 6.803010106086730957e-01 1.000000000000000000e+00 -9.595176577568054199e-01 7.669728398323059082e-01 6.741446852684020996e-01 1.000000000000000000e+00 -9.605811834335327148e-01 7.625010013580322266e-01 6.679635643959045410e-01 1.000000000000000000e+00 -9.616447091102600098e-01 7.580291628837585449e-01 6.617823839187622070e-01 1.000000000000000000e+00 -9.627082943916320801e-01 7.535573244094848633e-01 6.556012034416198730e-01 1.000000000000000000e+00 -9.637718200683593750e-01 7.490854859352111816e-01 6.494200229644775391e-01 1.000000000000000000e+00 -9.648353457450866699e-01 7.446136474609375000e-01 6.432389020919799805e-01 1.000000000000000000e+00 -9.658988714218139648e-01 7.401418089866638184e-01 6.370577216148376465e-01 1.000000000000000000e+00 -9.669624567031860352e-01 7.356700301170349121e-01 6.308765411376953125e-01 1.000000000000000000e+00 -9.675443172454833984e-01 7.308497428894042969e-01 6.246854662895202637e-01 1.000000000000000000e+00 -9.678738713264465332e-01 7.258468866348266602e-01 6.184892058372497559e-01 1.000000000000000000e+00 -9.682034254074096680e-01 7.208440899848937988e-01 6.122930049896240234e-01 1.000000000000000000e+00 -9.685329198837280273e-01 7.158412933349609375e-01 6.060967445373535156e-01 1.000000000000000000e+00 -9.688624739646911621e-01 7.108384966850280762e-01 5.999004840850830078e-01 1.000000000000000000e+00 -9.691920280456542969e-01 7.058357000350952148e-01 5.937042832374572754e-01 1.000000000000000000e+00 -9.695215821266174316e-01 7.008328437805175781e-01 5.875080227851867676e-01 1.000000000000000000e+00 -9.698511362075805664e-01 6.958300471305847168e-01 5.813117623329162598e-01 1.000000000000000000e+00 -9.696829915046691895e-01 6.904839277267456055e-01 5.751383900642395020e-01 1.000000000000000000e+00 -9.692885875701904297e-01 6.849817633628845215e-01 5.689753293991088867e-01 1.000000000000000000e+00 -9.688941836357116699e-01 6.794795393943786621e-01 5.628122687339782715e-01 1.000000000000000000e+00 -9.684997200965881348e-01 6.739773750305175781e-01 5.566492676734924316e-01 1.000000000000000000e+00 -9.681053161621093750e-01 6.684752106666564941e-01 5.504862070083618164e-01 1.000000000000000000e+00 -9.677109122276306152e-01 6.629729866981506348e-01 5.443232059478759766e-01 1.000000000000000000e+00 -9.673165082931518555e-01 6.574708223342895508e-01 5.381601452827453613e-01 1.000000000000000000e+00 -9.669221043586730957e-01 6.519686579704284668e-01 5.319971442222595215e-01 1.000000000000000000e+00 -9.660167098045349121e-01 6.461297273635864258e-01 5.258903503417968750e-01 1.000000000000000000e+00 -9.649114012718200684e-01 6.401590704917907715e-01 5.198056101799011230e-01 1.000000000000000000e+00 -9.638060331344604492e-01 6.341884136199951172e-01 5.137208700180053711e-01 1.000000000000000000e+00 -9.627007246017456055e-01 6.282177567481994629e-01 5.076360702514648438e-01 1.000000000000000000e+00 -9.615954160690307617e-01 6.222470998764038086e-01 5.015513300895690918e-01 1.000000000000000000e+00 -9.604900479316711426e-01 6.162764430046081543e-01 4.954665899276733398e-01 1.000000000000000000e+00 -9.593847393989562988e-01 6.103057861328125000e-01 4.893818497657775879e-01 1.000000000000000000e+00 -9.582793712615966797e-01 6.043350696563720703e-01 4.832971096038818359e-01 1.000000000000000000e+00 -9.566532373428344727e-01 5.980338454246520996e-01 4.773022830486297607e-01 1.000000000000000000e+00 -9.548534154891967773e-01 5.916223526000976562e-01 4.713374674320220947e-01 1.000000000000000000e+00 -9.530535936355590820e-01 5.852108597755432129e-01 4.653726220130920410e-01 1.000000000000000000e+00 -9.512537717819213867e-01 5.787993669509887695e-01 4.594078063964843750e-01 1.000000000000000000e+00 -9.494540095329284668e-01 5.723879337310791016e-01 4.534429907798767090e-01 1.000000000000000000e+00 -9.476541876792907715e-01 5.659764409065246582e-01 4.474781453609466553e-01 1.000000000000000000e+00 -9.458543658256530762e-01 5.595649480819702148e-01 4.415133297443389893e-01 1.000000000000000000e+00 -9.440545439720153809e-01 5.531534552574157715e-01 4.355484843254089355e-01 1.000000000000000000e+00 -9.417279362678527832e-01 5.464134812355041504e-01 4.297070801258087158e-01 1.000000000000000000e+00 -9.392537474632263184e-01 5.395814776420593262e-01 4.239002168178558350e-01 1.000000000000000000e+00 -9.367796182632446289e-01 5.327494740486145020e-01 4.180933535099029541e-01 1.000000000000000000e+00 -9.343054294586181641e-01 5.259175300598144531e-01 4.122864603996276855e-01 1.000000000000000000e+00 -9.318313002586364746e-01 5.190855264663696289e-01 4.064795970916748047e-01 1.000000000000000000e+00 -9.293571114540100098e-01 5.122535228729248047e-01 4.006727337837219238e-01 1.000000000000000000e+00 -9.268829822540283203e-01 5.054215192794799805e-01 3.948658704757690430e-01 1.000000000000000000e+00 -9.244087934494018555e-01 4.985895454883575439e-01 3.890590071678161621e-01 1.000000000000000000e+00 -9.214062094688415527e-01 4.914204180240631104e-01 3.834084272384643555e-01 1.000000000000000000e+00 -9.182816743850708008e-01 4.841734766960144043e-01 3.777939379215240479e-01 1.000000000000000000e+00 -9.151571393013000488e-01 4.769265353679656982e-01 3.721794188022613525e-01 1.000000000000000000e+00 -9.120326042175292969e-01 4.696795940399169922e-01 3.665648996829986572e-01 1.000000000000000000e+00 -9.089080095291137695e-01 4.624326229095458984e-01 3.609503805637359619e-01 1.000000000000000000e+00 -9.057834744453430176e-01 4.551856815814971924e-01 3.553358912467956543e-01 1.000000000000000000e+00 -9.026589393615722656e-01 4.479387402534484863e-01 3.497213721275329590e-01 1.000000000000000000e+00 -8.995344042778015137e-01 4.406917989253997803e-01 3.441068530082702637e-01 1.000000000000000000e+00 -8.958845734596252441e-01 4.330745637416839600e-01 3.386806249618530273e-01 1.000000000000000000e+00 -8.921375274658203125e-01 4.253887236118316650e-01 3.332892656326293945e-01 1.000000000000000000e+00 -8.883904814720153809e-01 4.177029132843017578e-01 3.278979063034057617e-01 1.000000000000000000e+00 -8.846434354782104492e-01 4.100171029567718506e-01 3.225065469741821289e-01 1.000000000000000000e+00 -8.808963894844055176e-01 4.023312926292419434e-01 3.171151876449584961e-01 1.000000000000000000e+00 -8.771493434906005859e-01 3.946454524993896484e-01 3.117238283157348633e-01 1.000000000000000000e+00 -8.734022974967956543e-01 3.869596421718597412e-01 3.063324689865112305e-01 1.000000000000000000e+00 -8.696552515029907227e-01 3.792738318443298340e-01 3.009411096572875977e-01 1.000000000000000000e+00 -8.653913140296936035e-01 3.711276650428771973e-01 2.957689464092254639e-01 1.000000000000000000e+00 -8.610535860061645508e-01 3.629157543182373047e-01 2.906281352043151855e-01 1.000000000000000000e+00 -8.567158579826354980e-01 3.547038435935974121e-01 2.854872941970825195e-01 1.000000000000000000e+00 -8.523781299591064453e-01 3.464919328689575195e-01 2.803464829921722412e-01 1.000000000000000000e+00 -8.480404019355773926e-01 3.382800519466400146e-01 2.752056419849395752e-01 1.000000000000000000e+00 -8.437026739120483398e-01 3.300681412220001221e-01 2.700648009777069092e-01 1.000000000000000000e+00 -8.393649458885192871e-01 3.218562304973602295e-01 2.649239897727966309e-01 1.000000000000000000e+00 -8.350272178649902344e-01 3.136443197727203369e-01 2.597831487655639648e-01 1.000000000000000000e+00 -8.301865458488464355e-01 3.047327697277069092e-01 2.548914253711700439e-01 1.000000000000000000e+00 -8.252938389778137207e-01 2.957488298416137695e-01 2.500254809856414795e-01 1.000000000000000000e+00 -8.204010725021362305e-01 2.867649197578430176e-01 2.451595216989517212e-01 1.000000000000000000e+00 -8.155083656311035156e-01 2.777809798717498779e-01 2.402935624122619629e-01 1.000000000000000000e+00 -8.106156587600708008e-01 2.687970697879791260e-01 2.354276180267333984e-01 1.000000000000000000e+00 -8.057229518890380859e-01 2.598131299018859863e-01 2.305616587400436401e-01 1.000000000000000000e+00 -8.008302450180053711e-01 2.508292198181152344e-01 2.256956994533538818e-01 1.000000000000000000e+00 -7.959375381469726562e-01 2.418452799320220947e-01 2.208297550678253174e-01 1.000000000000000000e+00 -7.905615568161010742e-01 2.313970029354095459e-01 2.162420451641082764e-01 1.000000000000000000e+00 -7.851533293724060059e-01 2.208510935306549072e-01 2.116728723049163818e-01 1.000000000000000000e+00 -7.797451019287109375e-01 2.103051841259002686e-01 2.071037143468856812e-01 1.000000000000000000e+00 -7.743368744850158691e-01 1.997592747211456299e-01 2.025345563888549805e-01 1.000000000000000000e+00 -7.689286470413208008e-01 1.892133504152297974e-01 1.979653984308242798e-01 1.000000000000000000e+00 -7.635204195976257324e-01 1.786674410104751587e-01 1.933962255716323853e-01 1.000000000000000000e+00 -7.581121921539306641e-01 1.681215316057205200e-01 1.888270676136016846e-01 1.000000000000000000e+00 -7.527039647102355957e-01 1.575756222009658813e-01 1.842579096555709839e-01 1.000000000000000000e+00 -7.468380331993103027e-01 1.400210261344909668e-01 1.799961030483245850e-01 1.000000000000000000e+00 -7.409573197364807129e-01 1.222403272986412048e-01 1.757442057132720947e-01 1.000000000000000000e+00 -7.350766062736511230e-01 1.044596284627914429e-01 1.714923083782196045e-01 1.000000000000000000e+00 -7.291959524154663086e-01 8.667893707752227783e-02 1.672403961420059204e-01 1.000000000000000000e+00 -7.233152389526367188e-01 6.889824569225311279e-02 1.629884988069534302e-01 1.000000000000000000e+00 -7.174345254898071289e-01 5.111754685640335083e-02 1.587366014719009399e-01 1.000000000000000000e+00 -7.115538716316223145e-01 3.333685547113418579e-02 1.544847041368484497e-01 1.000000000000000000e+00 -7.056731581687927246e-01 1.555616036057472229e-02 1.502328068017959595e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/copper b/fastplotlib/utils/colormaps/copper deleted file mode 100644 index aad93521a..000000000 --- a/fastplotlib/utils/colormaps/copper +++ /dev/null @@ -1,256 +0,0 @@ -0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.844289738684892654e-03 3.063529497012495995e-03 1.950980396941304207e-03 1.000000000000000000e+00 -9.688579477369785309e-03 6.127058994024991989e-03 3.901960793882608414e-03 1.000000000000000000e+00 -1.453286875039339066e-02 9.190588258206844330e-03 5.852940957993268967e-03 1.000000000000000000e+00 -1.937715895473957062e-02 1.225411798804998398e-02 7.803921587765216827e-03 1.000000000000000000e+00 -2.422144822776317596e-02 1.531764678657054901e-02 9.754901751875877380e-03 1.000000000000000000e+00 -2.906573750078678131e-02 1.838117651641368866e-02 1.170588191598653793e-02 1.000000000000000000e+00 -3.391002491116523743e-02 2.144470624625682831e-02 1.365686301141977310e-02 1.000000000000000000e+00 -3.875431790947914124e-02 2.450823597609996796e-02 1.560784317553043365e-02 1.000000000000000000e+00 -4.359860718250274658e-02 2.757176384329795837e-02 1.755882427096366882e-02 1.000000000000000000e+00 -4.844289645552635193e-02 3.063529357314109802e-02 1.950980350375175476e-02 1.000000000000000000e+00 -5.328718572854995728e-02 3.369882330298423767e-02 2.146078459918498993e-02 1.000000000000000000e+00 -5.813147500157356262e-02 3.676235303282737732e-02 2.341176383197307587e-02 1.000000000000000000e+00 -6.297576427459716797e-02 3.982588276267051697e-02 2.536274492740631104e-02 1.000000000000000000e+00 -6.782004982233047485e-02 4.288941249251365662e-02 2.731372602283954620e-02 1.000000000000000000e+00 -7.266434282064437866e-02 4.595294222235679626e-02 2.926470525562763214e-02 1.000000000000000000e+00 -7.750863581895828247e-02 4.901647195219993591e-02 3.121568635106086731e-02 1.000000000000000000e+00 -8.235292136669158936e-02 5.208000168204307556e-02 3.316666558384895325e-02 1.000000000000000000e+00 -8.719721436500549316e-02 5.514352768659591675e-02 3.511764854192733765e-02 1.000000000000000000e+00 -9.204149991273880005e-02 5.820705741643905640e-02 3.706862777471542358e-02 1.000000000000000000e+00 -9.688579291105270386e-02 6.127058714628219604e-02 3.901960700750350952e-02 1.000000000000000000e+00 -1.017300784587860107e-01 6.433411687612533569e-02 4.097058996558189392e-02 1.000000000000000000e+00 -1.065743714570999146e-01 6.739764660596847534e-02 4.292156919836997986e-02 1.000000000000000000e+00 -1.114186570048332214e-01 7.046117633581161499e-02 4.487254843115806580e-02 1.000000000000000000e+00 -1.162629500031471252e-01 7.352470606565475464e-02 4.682352766394615173e-02 1.000000000000000000e+00 -1.211072355508804321e-01 7.658823579549789429e-02 4.877451062202453613e-02 1.000000000000000000e+00 -1.259515285491943359e-01 7.965176552534103394e-02 5.072548985481262207e-02 1.000000000000000000e+00 -1.307958215475082397e-01 8.271529525518417358e-02 5.267646908760070801e-02 1.000000000000000000e+00 -1.356400996446609497e-01 8.577882498502731323e-02 5.462745204567909241e-02 1.000000000000000000e+00 -1.404843926429748535e-01 8.884235471487045288e-02 5.657843127846717834e-02 1.000000000000000000e+00 -1.453286856412887573e-01 9.190588444471359253e-02 5.852941051125526428e-02 1.000000000000000000e+00 -1.501729786396026611e-01 9.496941417455673218e-02 6.048039346933364868e-02 1.000000000000000000e+00 -1.550172716379165649e-01 9.803294390439987183e-02 6.243137270212173462e-02 1.000000000000000000e+00 -1.598615497350692749e-01 1.010964736342430115e-01 6.438235193490982056e-02 1.000000000000000000e+00 -1.647058427333831787e-01 1.041600033640861511e-01 6.633333116769790649e-02 1.000000000000000000e+00 -1.695501357316970825e-01 1.072235330939292908e-01 6.828431040048599243e-02 1.000000000000000000e+00 -1.743944287300109863e-01 1.102870553731918335e-01 7.023529708385467529e-02 1.000000000000000000e+00 -1.792387068271636963e-01 1.133505851030349731e-01 7.218627631664276123e-02 1.000000000000000000e+00 -1.840829998254776001e-01 1.164141148328781128e-01 7.413725554943084717e-02 1.000000000000000000e+00 -1.889272928237915039e-01 1.194776445627212524e-01 7.608823478221893311e-02 1.000000000000000000e+00 -1.937715858221054077e-01 1.225411742925643921e-01 7.803921401500701904e-02 1.000000000000000000e+00 -1.986158639192581177e-01 1.256047040224075317e-01 7.999019324779510498e-02 1.000000000000000000e+00 -2.034601569175720215e-01 1.286682337522506714e-01 8.194117993116378784e-02 1.000000000000000000e+00 -2.083044499158859253e-01 1.317317634820938110e-01 8.389215916395187378e-02 1.000000000000000000e+00 -2.131487429141998291e-01 1.347952932119369507e-01 8.584313839673995972e-02 1.000000000000000000e+00 -2.179930210113525391e-01 1.378588229417800903e-01 8.779411762952804565e-02 1.000000000000000000e+00 -2.228373140096664429e-01 1.409223526716232300e-01 8.974509686231613159e-02 1.000000000000000000e+00 -2.276816070079803467e-01 1.439858824014663696e-01 9.169607609510421753e-02 1.000000000000000000e+00 -2.325259000062942505e-01 1.470494121313095093e-01 9.364705532789230347e-02 1.000000000000000000e+00 -2.373701930046081543e-01 1.501129418611526489e-01 9.559804201126098633e-02 1.000000000000000000e+00 -2.422144711017608643e-01 1.531764715909957886e-01 9.754902124404907227e-02 1.000000000000000000e+00 -2.470587641000747681e-01 1.562400013208389282e-01 9.950000047683715820e-02 1.000000000000000000e+00 -2.519030570983886719e-01 1.593035310506820679e-01 1.014509797096252441e-01 1.000000000000000000e+00 -2.567473351955413818e-01 1.623670607805252075e-01 1.034019589424133301e-01 1.000000000000000000e+00 -2.615916430950164795e-01 1.654305905103683472e-01 1.053529381752014160e-01 1.000000000000000000e+00 -2.664359211921691895e-01 1.684941202402114868e-01 1.073039248585700989e-01 1.000000000000000000e+00 -2.712801992893218994e-01 1.715576499700546265e-01 1.092549040913581848e-01 1.000000000000000000e+00 -2.761245071887969971e-01 1.746211796998977661e-01 1.112058833241462708e-01 1.000000000000000000e+00 -2.809687852859497070e-01 1.776847094297409058e-01 1.131568625569343567e-01 1.000000000000000000e+00 -2.858130931854248047e-01 1.807482391595840454e-01 1.151078417897224426e-01 1.000000000000000000e+00 -2.906573712825775146e-01 1.838117688894271851e-01 1.170588210225105286e-01 1.000000000000000000e+00 -2.955016493797302246e-01 1.868752986192703247e-01 1.190098002552986145e-01 1.000000000000000000e+00 -3.003459572792053223e-01 1.899388283491134644e-01 1.209607869386672974e-01 1.000000000000000000e+00 -3.051902353763580322e-01 1.930023580789566040e-01 1.229117661714553833e-01 1.000000000000000000e+00 -3.100345432758331299e-01 1.960658878087997437e-01 1.248627454042434692e-01 1.000000000000000000e+00 -3.148788213729858398e-01 1.991294175386428833e-01 1.268137246370315552e-01 1.000000000000000000e+00 -3.197230994701385498e-01 2.021929472684860229e-01 1.287647038698196411e-01 1.000000000000000000e+00 -3.245674073696136475e-01 2.052564769983291626e-01 1.307156831026077271e-01 1.000000000000000000e+00 -3.294116854667663574e-01 2.083200067281723022e-01 1.326666623353958130e-01 1.000000000000000000e+00 -3.342559635639190674e-01 2.113835364580154419e-01 1.346176415681838989e-01 1.000000000000000000e+00 -3.391002714633941650e-01 2.144470661878585815e-01 1.365686208009719849e-01 1.000000000000000000e+00 -3.439445495605468750e-01 2.175105810165405273e-01 1.385196149349212646e-01 1.000000000000000000e+00 -3.487888574600219727e-01 2.205741107463836670e-01 1.404705941677093506e-01 1.000000000000000000e+00 -3.536331355571746826e-01 2.236376404762268066e-01 1.424215734004974365e-01 1.000000000000000000e+00 -3.584774136543273926e-01 2.267011702060699463e-01 1.443725526332855225e-01 1.000000000000000000e+00 -3.633217215538024902e-01 2.297646999359130859e-01 1.463235318660736084e-01 1.000000000000000000e+00 -3.681659996509552002e-01 2.328282296657562256e-01 1.482745110988616943e-01 1.000000000000000000e+00 -3.730103075504302979e-01 2.358917593955993652e-01 1.502254903316497803e-01 1.000000000000000000e+00 -3.778545856475830078e-01 2.389552891254425049e-01 1.521764695644378662e-01 1.000000000000000000e+00 -3.826988637447357178e-01 2.420188188552856445e-01 1.541274487972259521e-01 1.000000000000000000e+00 -3.875431716442108154e-01 2.450823485851287842e-01 1.560784280300140381e-01 1.000000000000000000e+00 -3.923874497413635254e-01 2.481458783149719238e-01 1.580294072628021240e-01 1.000000000000000000e+00 -3.972317278385162354e-01 2.512094080448150635e-01 1.599803864955902100e-01 1.000000000000000000e+00 -4.020760357379913330e-01 2.542729377746582031e-01 1.619313657283782959e-01 1.000000000000000000e+00 -4.069203138351440430e-01 2.573364675045013428e-01 1.638823598623275757e-01 1.000000000000000000e+00 -4.117646217346191406e-01 2.603999972343444824e-01 1.658333390951156616e-01 1.000000000000000000e+00 -4.166088998317718506e-01 2.634635269641876221e-01 1.677843183279037476e-01 1.000000000000000000e+00 -4.214531779289245605e-01 2.665270566940307617e-01 1.697352975606918335e-01 1.000000000000000000e+00 -4.262974858283996582e-01 2.695905864238739014e-01 1.716862767934799194e-01 1.000000000000000000e+00 -4.311417639255523682e-01 2.726541161537170410e-01 1.736372560262680054e-01 1.000000000000000000e+00 -4.359860420227050781e-01 2.757176458835601807e-01 1.755882352590560913e-01 1.000000000000000000e+00 -4.408303499221801758e-01 2.787811756134033203e-01 1.775392144918441772e-01 1.000000000000000000e+00 -4.456746280193328857e-01 2.818447053432464600e-01 1.794901937246322632e-01 1.000000000000000000e+00 -4.505189359188079834e-01 2.849082350730895996e-01 1.814411729574203491e-01 1.000000000000000000e+00 -4.553632140159606934e-01 2.879717648029327393e-01 1.833921521902084351e-01 1.000000000000000000e+00 -4.602074921131134033e-01 2.910352945327758789e-01 1.853431314229965210e-01 1.000000000000000000e+00 -4.650518000125885010e-01 2.940988242626190186e-01 1.872941106557846069e-01 1.000000000000000000e+00 -4.698960781097412109e-01 2.971623539924621582e-01 1.892451047897338867e-01 1.000000000000000000e+00 -4.747403860092163086e-01 3.002258837223052979e-01 1.911960840225219727e-01 1.000000000000000000e+00 -4.795846641063690186e-01 3.032894134521484375e-01 1.931470632553100586e-01 1.000000000000000000e+00 -4.844289422035217285e-01 3.063529431819915771e-01 1.950980424880981445e-01 1.000000000000000000e+00 -4.892732501029968262e-01 3.094164729118347168e-01 1.970490217208862305e-01 1.000000000000000000e+00 -4.941175282001495361e-01 3.124800026416778564e-01 1.990000009536743164e-01 1.000000000000000000e+00 -4.989618062973022461e-01 3.155435323715209961e-01 2.009509801864624023e-01 1.000000000000000000e+00 -5.038061141967773438e-01 3.186070621013641357e-01 2.029019594192504883e-01 1.000000000000000000e+00 -5.086504220962524414e-01 3.216705918312072754e-01 2.048529386520385742e-01 1.000000000000000000e+00 -5.134946703910827637e-01 3.247341215610504150e-01 2.068039178848266602e-01 1.000000000000000000e+00 -5.183389782905578613e-01 3.277976512908935547e-01 2.087548971176147461e-01 1.000000000000000000e+00 -5.231832861900329590e-01 3.308611810207366943e-01 2.107058763504028320e-01 1.000000000000000000e+00 -5.280275344848632812e-01 3.339247107505798340e-01 2.126568555831909180e-01 1.000000000000000000e+00 -5.328718423843383789e-01 3.369882404804229736e-01 2.146078497171401978e-01 1.000000000000000000e+00 -5.377161502838134766e-01 3.400517702102661133e-01 2.165588289499282837e-01 1.000000000000000000e+00 -5.425603985786437988e-01 3.431152999401092529e-01 2.185098081827163696e-01 1.000000000000000000e+00 -5.474047064781188965e-01 3.461788296699523926e-01 2.204607874155044556e-01 1.000000000000000000e+00 -5.522490143775939941e-01 3.492423593997955322e-01 2.224117666482925415e-01 1.000000000000000000e+00 -5.570933222770690918e-01 3.523058891296386719e-01 2.243627458810806274e-01 1.000000000000000000e+00 -5.619375705718994141e-01 3.553694188594818115e-01 2.263137251138687134e-01 1.000000000000000000e+00 -5.667818784713745117e-01 3.584329485893249512e-01 2.282647043466567993e-01 1.000000000000000000e+00 -5.716261863708496094e-01 3.614964783191680908e-01 2.302156835794448853e-01 1.000000000000000000e+00 -5.764704346656799316e-01 3.645600080490112305e-01 2.321666628122329712e-01 1.000000000000000000e+00 -5.813147425651550293e-01 3.676235377788543701e-01 2.341176420450210571e-01 1.000000000000000000e+00 -5.861590504646301270e-01 3.706870675086975098e-01 2.360686212778091431e-01 1.000000000000000000e+00 -5.910032987594604492e-01 3.737505972385406494e-01 2.380196005105972290e-01 1.000000000000000000e+00 -5.958476066589355469e-01 3.768141269683837891e-01 2.399705946445465088e-01 1.000000000000000000e+00 -6.006919145584106445e-01 3.798776566982269287e-01 2.419215738773345947e-01 1.000000000000000000e+00 -6.055361628532409668e-01 3.829411864280700684e-01 2.438725531101226807e-01 1.000000000000000000e+00 -6.103804707527160645e-01 3.860047161579132080e-01 2.458235323429107666e-01 1.000000000000000000e+00 -6.152247786521911621e-01 3.890682458877563477e-01 2.477745115756988525e-01 1.000000000000000000e+00 -6.200690865516662598e-01 3.921317756175994873e-01 2.497254908084869385e-01 1.000000000000000000e+00 -6.249133348464965820e-01 3.951953053474426270e-01 2.516764700412750244e-01 1.000000000000000000e+00 -6.297576427459716797e-01 3.982588350772857666e-01 2.536274492740631104e-01 1.000000000000000000e+00 -6.346019506454467773e-01 4.013223648071289062e-01 2.555784285068511963e-01 1.000000000000000000e+00 -6.394461989402770996e-01 4.043858945369720459e-01 2.575294077396392822e-01 1.000000000000000000e+00 -6.442905068397521973e-01 4.074494242668151855e-01 2.594803869724273682e-01 1.000000000000000000e+00 -6.491348147392272949e-01 4.105129539966583252e-01 2.614313662052154541e-01 1.000000000000000000e+00 -6.539790630340576172e-01 4.135764837265014648e-01 2.633823454380035400e-01 1.000000000000000000e+00 -6.588233709335327148e-01 4.166400134563446045e-01 2.653333246707916260e-01 1.000000000000000000e+00 -6.636676788330078125e-01 4.197035431861877441e-01 2.672843039035797119e-01 1.000000000000000000e+00 -6.685119271278381348e-01 4.227670729160308838e-01 2.692352831363677979e-01 1.000000000000000000e+00 -6.733562350273132324e-01 4.258306026458740234e-01 2.711862623691558838e-01 1.000000000000000000e+00 -6.782005429267883301e-01 4.288941323757171631e-01 2.731372416019439697e-01 1.000000000000000000e+00 -6.830448508262634277e-01 4.319576323032379150e-01 2.750882208347320557e-01 1.000000000000000000e+00 -6.878890991210937500e-01 4.350211620330810547e-01 2.770392298698425293e-01 1.000000000000000000e+00 -6.927334070205688477e-01 4.380846917629241943e-01 2.789902091026306152e-01 1.000000000000000000e+00 -6.975777149200439453e-01 4.411482214927673340e-01 2.809411883354187012e-01 1.000000000000000000e+00 -7.024219632148742676e-01 4.442117512226104736e-01 2.828921675682067871e-01 1.000000000000000000e+00 -7.072662711143493652e-01 4.472752809524536133e-01 2.848431468009948730e-01 1.000000000000000000e+00 -7.121105790138244629e-01 4.503388106822967529e-01 2.867941260337829590e-01 1.000000000000000000e+00 -7.169548273086547852e-01 4.534023404121398926e-01 2.887451052665710449e-01 1.000000000000000000e+00 -7.217991352081298828e-01 4.564658701419830322e-01 2.906960844993591309e-01 1.000000000000000000e+00 -7.266434431076049805e-01 4.595293998718261719e-01 2.926470637321472168e-01 1.000000000000000000e+00 -7.314876914024353027e-01 4.625929296016693115e-01 2.945980429649353027e-01 1.000000000000000000e+00 -7.363319993019104004e-01 4.656564593315124512e-01 2.965490221977233887e-01 1.000000000000000000e+00 -7.411763072013854980e-01 4.687199890613555908e-01 2.985000014305114746e-01 1.000000000000000000e+00 -7.460206151008605957e-01 4.717835187911987305e-01 3.004509806632995605e-01 1.000000000000000000e+00 -7.508648633956909180e-01 4.748470485210418701e-01 3.024019598960876465e-01 1.000000000000000000e+00 -7.557091712951660156e-01 4.779105782508850098e-01 3.043529391288757324e-01 1.000000000000000000e+00 -7.605534791946411133e-01 4.809741079807281494e-01 3.063039183616638184e-01 1.000000000000000000e+00 -7.653977274894714355e-01 4.840376377105712891e-01 3.082548975944519043e-01 1.000000000000000000e+00 -7.702420353889465332e-01 4.871011674404144287e-01 3.102058768272399902e-01 1.000000000000000000e+00 -7.750863432884216309e-01 4.901646971702575684e-01 3.121568560600280762e-01 1.000000000000000000e+00 -7.799305915832519531e-01 4.932282269001007080e-01 3.141078352928161621e-01 1.000000000000000000e+00 -7.847748994827270508e-01 4.962917566299438477e-01 3.160588145256042480e-01 1.000000000000000000e+00 -7.896192073822021484e-01 4.993552863597869873e-01 3.180097937583923340e-01 1.000000000000000000e+00 -7.944634556770324707e-01 5.024188160896301270e-01 3.199607729911804199e-01 1.000000000000000000e+00 -7.993077635765075684e-01 5.054823756217956543e-01 3.219117522239685059e-01 1.000000000000000000e+00 -8.041520714759826660e-01 5.085458755493164062e-01 3.238627314567565918e-01 1.000000000000000000e+00 -8.089963197708129883e-01 5.116094350814819336e-01 3.258137106895446777e-01 1.000000000000000000e+00 -8.138406276702880859e-01 5.146729350090026855e-01 3.277647197246551514e-01 1.000000000000000000e+00 -8.186849355697631836e-01 5.177364945411682129e-01 3.297156989574432373e-01 1.000000000000000000e+00 -8.235292434692382812e-01 5.207999944686889648e-01 3.316666781902313232e-01 1.000000000000000000e+00 -8.283734917640686035e-01 5.238635540008544922e-01 3.336176574230194092e-01 1.000000000000000000e+00 -8.332177996635437012e-01 5.269270539283752441e-01 3.355686366558074951e-01 1.000000000000000000e+00 -8.380621075630187988e-01 5.299906134605407715e-01 3.375196158885955811e-01 1.000000000000000000e+00 -8.429063558578491211e-01 5.330541133880615234e-01 3.394705951213836670e-01 1.000000000000000000e+00 -8.477506637573242188e-01 5.361176729202270508e-01 3.414215743541717529e-01 1.000000000000000000e+00 -8.525949716567993164e-01 5.391811728477478027e-01 3.433725535869598389e-01 1.000000000000000000e+00 -8.574392199516296387e-01 5.422447323799133301e-01 3.453235328197479248e-01 1.000000000000000000e+00 -8.622835278511047363e-01 5.453082323074340820e-01 3.472745120525360107e-01 1.000000000000000000e+00 -8.671278357505798340e-01 5.483717918395996094e-01 3.492254912853240967e-01 1.000000000000000000e+00 -8.719720840454101562e-01 5.514352917671203613e-01 3.511764705181121826e-01 1.000000000000000000e+00 -8.768163919448852539e-01 5.544988512992858887e-01 3.531274497509002686e-01 1.000000000000000000e+00 -8.816606998443603516e-01 5.575623512268066406e-01 3.550784289836883545e-01 1.000000000000000000e+00 -8.865050077438354492e-01 5.606259107589721680e-01 3.570294082164764404e-01 1.000000000000000000e+00 -8.913492560386657715e-01 5.636894106864929199e-01 3.589803874492645264e-01 1.000000000000000000e+00 -8.961935639381408691e-01 5.667529702186584473e-01 3.609313666820526123e-01 1.000000000000000000e+00 -9.010378718376159668e-01 5.698164701461791992e-01 3.628823459148406982e-01 1.000000000000000000e+00 -9.058821201324462891e-01 5.728800296783447266e-01 3.648333251476287842e-01 1.000000000000000000e+00 -9.107264280319213867e-01 5.759435296058654785e-01 3.667843043804168701e-01 1.000000000000000000e+00 -9.155707359313964844e-01 5.790070295333862305e-01 3.687352836132049561e-01 1.000000000000000000e+00 -9.204149842262268066e-01 5.820705890655517578e-01 3.706862628459930420e-01 1.000000000000000000e+00 -9.252592921257019043e-01 5.851340889930725098e-01 3.726372420787811279e-01 1.000000000000000000e+00 -9.301036000251770020e-01 5.881976485252380371e-01 3.745882213115692139e-01 1.000000000000000000e+00 -9.349478483200073242e-01 5.912611484527587891e-01 3.765392303466796875e-01 1.000000000000000000e+00 -9.397921562194824219e-01 5.943247079849243164e-01 3.784902095794677734e-01 1.000000000000000000e+00 -9.446364641189575195e-01 5.973882079124450684e-01 3.804411888122558594e-01 1.000000000000000000e+00 -9.494807720184326172e-01 6.004517674446105957e-01 3.823921680450439453e-01 1.000000000000000000e+00 -9.543250203132629395e-01 6.035152673721313477e-01 3.843431472778320312e-01 1.000000000000000000e+00 -9.591693282127380371e-01 6.065788269042968750e-01 3.862941265106201172e-01 1.000000000000000000e+00 -9.640136361122131348e-01 6.096423268318176270e-01 3.882451057434082031e-01 1.000000000000000000e+00 -9.688578844070434570e-01 6.127058863639831543e-01 3.901960849761962891e-01 1.000000000000000000e+00 -9.737021923065185547e-01 6.157693862915039062e-01 3.921470642089843750e-01 1.000000000000000000e+00 -9.785465002059936523e-01 6.188329458236694336e-01 3.940980434417724609e-01 1.000000000000000000e+00 -9.833907485008239746e-01 6.218964457511901855e-01 3.960490226745605469e-01 1.000000000000000000e+00 -9.882350564002990723e-01 6.249600052833557129e-01 3.980000019073486328e-01 1.000000000000000000e+00 -9.930793642997741699e-01 6.280235052108764648e-01 3.999509811401367188e-01 1.000000000000000000e+00 -9.979236125946044922e-01 6.310870647430419922e-01 4.019019603729248047e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.341505646705627441e-01 4.038529396057128906e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.372141242027282715e-01 4.058039188385009766e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.402776241302490234e-01 4.077548980712890625e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.433411836624145508e-01 4.097058773040771484e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.464046835899353027e-01 4.116568565368652344e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.494682431221008301e-01 4.136078357696533203e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.525317430496215820e-01 4.155588150024414062e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.555953025817871094e-01 4.175097942352294922e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.586588025093078613e-01 4.194607734680175781e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.617223620414733887e-01 4.214117527008056641e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.647858619689941406e-01 4.233627319335937500e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.678494215011596680e-01 4.253137111663818359e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.709129214286804199e-01 4.272647202014923096e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.739764809608459473e-01 4.292156994342803955e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.770399808883666992e-01 4.311666786670684814e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.801035404205322266e-01 4.331176578998565674e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.831670403480529785e-01 4.350686371326446533e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.862305998802185059e-01 4.370196163654327393e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.892940998077392578e-01 4.389705955982208252e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.923576593399047852e-01 4.409215748310089111e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.954211592674255371e-01 4.428725540637969971e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.984847187995910645e-01 4.448235332965850830e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.015482187271118164e-01 4.467745125293731689e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.046117782592773438e-01 4.487254917621612549e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.076752781867980957e-01 4.506764709949493408e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.107388377189636230e-01 4.526274502277374268e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.138023376464843750e-01 4.545784294605255127e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.168658971786499023e-01 4.565294086933135986e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.199293971061706543e-01 4.584803879261016846e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.229929566383361816e-01 4.604313671588897705e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.260564565658569336e-01 4.623823463916778564e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.291200160980224609e-01 4.643333256244659424e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.321835160255432129e-01 4.662843048572540283e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.352470755577087402e-01 4.682352840900421143e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.383105754852294922e-01 4.701862633228302002e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.413741350173950195e-01 4.721372425556182861e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.444376349449157715e-01 4.740882217884063721e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.475011944770812988e-01 4.760392010211944580e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.505646944046020508e-01 4.779902100563049316e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.536282539367675781e-01 4.799411892890930176e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.566917538642883301e-01 4.818921685218811035e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.597553133964538574e-01 4.838431477546691895e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.628188133239746094e-01 4.857941269874572754e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.658823728561401367e-01 4.877451062202453613e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.689458727836608887e-01 4.896960854530334473e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.720094323158264160e-01 4.916470646858215332e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.750729322433471680e-01 4.935980439186096191e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.781364917755126953e-01 4.955490231513977051e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.811999917030334473e-01 4.975000023841857910e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/cubehelix b/fastplotlib/utils/colormaps/cubehelix deleted file mode 100644 index 58103ea52..000000000 --- a/fastplotlib/utils/colormaps/cubehelix +++ /dev/null @@ -1,256 +0,0 @@ -0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.716294679790735245e-03 2.118574455380439758e-03 5.970232654362916946e-03 1.000000000000000000e+00 -1.325241569429636002e-02 4.287499003112316132e-03 1.216178853064775467e-02 1.000000000000000000e+00 -1.959919743239879608e-02 6.513601168990135193e-03 1.856303960084915161e-02 1.000000000000000000e+00 -2.574810385704040527e-02 8.803482167422771454e-03 2.516186796128749847e-02 1.000000000000000000e+00 -3.169123455882072449e-02 1.116350293159484863e-02 3.194570168852806091e-02 1.000000000000000000e+00 -3.742133826017379761e-02 1.359977014362812042e-02 3.890155255794525146e-02 1.000000000000000000e+00 -4.293183609843254089e-02 1.611812412738800049e-02 4.601604491472244263e-02 1.000000000000000000e+00 -4.821681976318359375e-02 1.872412860393524170e-02 5.327545478940010071e-02 1.000000000000000000e+00 -5.327106639742851257e-02 2.142305485904216766e-02 6.066573783755302429e-02 1.000000000000000000e+00 -5.809004604816436768e-02 2.421987615525722504e-02 6.817258149385452271e-02 1.000000000000000000e+00 -6.266992539167404175e-02 2.711925655603408813e-02 7.578142732381820679e-02 1.000000000000000000e+00 -6.700757890939712524e-02 3.012553974986076355e-02 8.347751200199127197e-02 1.000000000000000000e+00 -7.110057771205902100e-02 3.324273973703384399e-02 9.124591946601867676e-02 1.000000000000000000e+00 -7.494720071554183960e-02 3.647453710436820984e-02 9.907157719135284424e-02 1.000000000000000000e+00 -7.854642719030380249e-02 3.982427716255187988e-02 1.069393530488014221e-01 1.000000000000000000e+00 -8.189795911312103271e-02 4.329494759440422058e-02 1.148340404033660889e-01 1.000000000000000000e+00 -8.500218391418457031e-02 4.688918963074684143e-02 1.227404102683067322e-01 1.000000000000000000e+00 -8.786017447710037231e-02 5.060928687453269958e-02 1.306432783603668213e-01 1.000000000000000000e+00 -9.047371149063110352e-02 5.445716157555580139e-02 1.385274827480316162e-01 1.000000000000000000e+00 -9.284523874521255493e-02 5.843437463045120239e-02 1.463779956102371216e-01 1.000000000000000000e+00 -9.497788548469543457e-02 6.254211813211441040e-02 1.541798710823059082e-01 1.000000000000000000e+00 -9.687542170286178589e-02 6.678122282028198242e-02 1.619183719158172607e-01 1.000000000000000000e+00 -9.854228049516677856e-02 7.115215808153152466e-02 1.695789247751235962e-01 1.000000000000000000e+00 -9.998352825641632080e-02 7.565501332283020020e-02 1.771471947431564331e-01 1.000000000000000000e+00 -1.012048274278640747e-01 8.028952032327651978e-02 1.846091449260711670e-01 1.000000000000000000e+00 -1.022124737501144409e-01 8.505506813526153564e-02 1.919510066509246826e-01 1.000000000000000000e+00 -1.030133217573165894e-01 8.995065093040466309e-02 1.991593539714813232e-01 1.000000000000000000e+00 -1.036147922277450562e-01 9.497494250535964966e-02 2.062211036682128906e-01 1.000000000000000000e+00 -1.040248721837997437e-01 1.001262441277503967e-01 2.131235897541046143e-01 1.000000000000000000e+00 -1.042520552873611450e-01 1.054025292396545410e-01 2.198545634746551514e-01 1.000000000000000000e+00 -1.043053343892097473e-01 1.108014136552810669e-01 2.264022082090377808e-01 1.000000000000000000e+00 -1.041941866278648376e-01 1.163201928138732910e-01 2.327551990747451782e-01 1.000000000000000000e+00 -1.039285436272621155e-01 1.219558417797088623e-01 2.389027029275894165e-01 1.000000000000000000e+00 -1.035187691450119019e-01 1.277050077915191650e-01 2.448344230651855469e-01 1.000000000000000000e+00 -1.029756292700767517e-01 1.335640400648117065e-01 2.505405843257904053e-01 1.000000000000000000e+00 -1.023102551698684692e-01 1.395289897918701172e-01 2.560120224952697754e-01 1.000000000000000000e+00 -1.015341356396675110e-01 1.455956101417541504e-01 2.612401545047760010e-01 1.000000000000000000e+00 -1.006590873003005981e-01 1.517593860626220703e-01 2.662169635295867920e-01 1.000000000000000000e+00 -9.969720989465713501e-02 1.580155491828918457e-01 2.709350883960723877e-01 1.000000000000000000e+00 -9.866087138652801514e-02 1.643590480089187622e-01 2.753878235816955566e-01 1.000000000000000000e+00 -9.756266325712203979e-02 1.707846075296401978e-01 2.795691490173339844e-01 1.000000000000000000e+00 -9.641540795564651489e-02 1.772867143154144287e-01 2.834736406803131104e-01 1.000000000000000000e+00 -9.523206204175949097e-02 1.838596761226654053e-01 2.870965898036956787e-01 1.000000000000000000e+00 -9.402576088905334473e-02 1.904975324869155884e-01 2.904340028762817383e-01 1.000000000000000000e+00 -9.280972182750701904e-02 1.971942037343978882e-01 2.934825420379638672e-01 1.000000000000000000e+00 -9.159726649522781372e-02 2.039433866739273071e-01 2.962396442890167236e-01 1.000000000000000000e+00 -9.040175378322601318e-02 2.107386440038681030e-01 2.987034320831298828e-01 1.000000000000000000e+00 -8.923655748367309570e-02 2.175733894109725952e-01 3.008726537227630615e-01 1.000000000000000000e+00 -8.811505138874053955e-02 2.244409173727035522e-01 3.027469515800476074e-01 1.000000000000000000e+00 -8.705056458711624146e-02 2.313344031572341919e-01 3.043265044689178467e-01 1.000000000000000000e+00 -8.605633676052093506e-02 2.382469177246093750e-01 3.056123554706573486e-01 1.000000000000000000e+00 -8.514551818370819092e-02 2.451714724302291870e-01 3.066062033176422119e-01 1.000000000000000000e+00 -8.433111011981964111e-02 2.521010041236877441e-01 3.073104321956634521e-01 1.000000000000000000e+00 -8.362597227096557617e-02 2.590283751487731934e-01 3.077281713485717773e-01 1.000000000000000000e+00 -8.304274082183837891e-02 2.659464776515960693e-01 3.078632354736328125e-01 1.000000000000000000e+00 -8.259385824203491211e-02 2.728480994701385498e-01 3.077201247215270996e-01 1.000000000000000000e+00 -8.229149132966995239e-02 2.797261476516723633e-01 3.073040246963500977e-01 1.000000000000000000e+00 -8.214754611253738403e-02 2.865734398365020752e-01 3.066208362579345703e-01 1.000000000000000000e+00 -8.217360824346542358e-02 2.933828532695770264e-01 3.056769967079162598e-01 1.000000000000000000e+00 -8.238093554973602295e-02 3.001473844051361084e-01 3.044796884059906006e-01 1.000000000000000000e+00 -8.278044313192367554e-02 3.068599998950958252e-01 3.030366599559783936e-01 1.000000000000000000e+00 -8.338262885808944702e-02 3.135137856006622314e-01 3.013563454151153564e-01 1.000000000000000000e+00 -8.419763296842575073e-02 3.201019465923309326e-01 2.994476556777954102e-01 1.000000000000000000e+00 -8.523511886596679688e-02 3.266177773475646973e-01 2.973201274871826172e-01 1.000000000000000000e+00 -8.650432527065277100e-02 3.330547213554382324e-01 2.949838638305664062e-01 1.000000000000000000e+00 -8.801401406526565552e-02 3.394063115119934082e-01 2.924494743347167969e-01 1.000000000000000000e+00 -8.977246284484863281e-02 3.456662893295288086e-01 2.897280752658843994e-01 1.000000000000000000e+00 -9.178742021322250366e-02 3.518285453319549561e-01 2.868312299251556396e-01 1.000000000000000000e+00 -9.406612068414688110e-02 3.578871488571166992e-01 2.837709784507751465e-01 1.000000000000000000e+00 -9.661524742841720581e-02 3.638363778591156006e-01 2.805597782135009766e-01 1.000000000000000000e+00 -9.944093972444534302e-02 3.696707487106323242e-01 2.772105336189270020e-01 1.000000000000000000e+00 -1.025487333536148071e-01 3.753849267959594727e-01 2.737364470958709717e-01 1.000000000000000000e+00 -1.059436127543449402e-01 3.809739053249359131e-01 2.701511085033416748e-01 1.000000000000000000e+00 -1.096299365162849426e-01 3.864328265190124512e-01 2.664684057235717773e-01 1.000000000000000000e+00 -1.136114671826362610e-01 3.917571604251861572e-01 2.627024948596954346e-01 1.000000000000000000e+00 -1.178913488984107971e-01 3.969425857067108154e-01 2.588678300380706787e-01 1.000000000000000000e+00 -1.224720999598503113e-01 4.019851386547088623e-01 2.549790441989898682e-01 1.000000000000000000e+00 -1.273556202650070190e-01 4.068810641765594482e-01 2.510509788990020752e-01 1.000000000000000000e+00 -1.325431615114212036e-01 4.116269350051879883e-01 2.470986098051071167e-01 1.000000000000000000e+00 -1.380353271961212158e-01 4.162196218967437744e-01 2.431370615959167480e-01 1.000000000000000000e+00 -1.438320875167846680e-01 4.206563234329223633e-01 2.391815632581710815e-01 1.000000000000000000e+00 -1.499328017234802246e-01 4.249344766139984131e-01 2.352473586797714233e-01 1.000000000000000000e+00 -1.563361436128616333e-01 4.290519356727600098e-01 2.313497662544250488e-01 1.000000000000000000e+00 -1.630401760339736938e-01 4.330068230628967285e-01 2.275040894746780396e-01 1.000000000000000000e+00 -1.700423210859298706e-01 4.367975890636444092e-01 2.237255573272705078e-01 1.000000000000000000e+00 -1.773393601179122925e-01 4.404230713844299316e-01 2.200293689966201782e-01 1.000000000000000000e+00 -1.849274486303329468e-01 4.438824057579040527e-01 2.164306044578552246e-01 1.000000000000000000e+00 -1.928021460771560669e-01 4.471750557422637939e-01 2.129441946744918823e-01 1.000000000000000000e+00 -2.009583711624145508e-01 4.503008425235748291e-01 2.095849364995956421e-01 1.000000000000000000e+00 -2.093905061483383179e-01 4.532599449157714844e-01 2.063674032688140869e-01 1.000000000000000000e+00 -2.180922627449035645e-01 4.560528099536895752e-01 2.033059448003768921e-01 1.000000000000000000e+00 -2.270568460226058960e-01 4.586803615093231201e-01 2.004146575927734375e-01 1.000000000000000000e+00 -2.362768501043319702e-01 4.611437022686004639e-01 1.977073252201080322e-01 1.000000000000000000e+00 -2.457443773746490479e-01 4.634443819522857666e-01 1.951974183320999146e-01 1.000000000000000000e+00 -2.554509639739990234e-01 4.655842483043670654e-01 1.928980797529220581e-01 1.000000000000000000e+00 -2.653876245021820068e-01 4.675654768943786621e-01 1.908220648765563965e-01 1.000000000000000000e+00 -2.755448818206787109e-01 4.693906307220458984e-01 1.889817118644714355e-01 1.000000000000000000e+00 -2.859128713607788086e-01 4.710624516010284424e-01 1.873889416456222534e-01 1.000000000000000000e+00 -2.964811027050018311e-01 4.725841879844665527e-01 1.860552132129669189e-01 1.000000000000000000e+00 -3.072388172149658203e-01 4.739592075347900391e-01 1.849915087223052979e-01 1.000000000000000000e+00 -3.181747496128082275e-01 4.751913249492645264e-01 1.842083036899566650e-01 1.000000000000000000e+00 -3.292773067951202393e-01 4.762845635414123535e-01 1.837155520915985107e-01 1.000000000000000000e+00 -3.405344486236572266e-01 4.772432744503021240e-01 1.835226714611053467e-01 1.000000000000000000e+00 -3.519338667392730713e-01 4.780721068382263184e-01 1.836384832859039307e-01 1.000000000000000000e+00 -3.634629249572753906e-01 4.787759184837341309e-01 1.840712577104568481e-01 1.000000000000000000e+00 -3.751086592674255371e-01 4.793598949909210205e-01 1.848286241292953491e-01 1.000000000000000000e+00 -3.868579268455505371e-01 4.798294007778167725e-01 1.859176158905029297e-01 1.000000000000000000e+00 -3.986972570419311523e-01 4.801900684833526611e-01 1.873446404933929443e-01 1.000000000000000000e+00 -4.106130301952362061e-01 4.804477989673614502e-01 1.891154348850250244e-01 1.000000000000000000e+00 -4.225914180278778076e-01 4.806086421012878418e-01 1.912350803613662720e-01 1.000000000000000000e+00 -4.346184432506561279e-01 4.806789159774780273e-01 1.937079876661300659e-01 1.000000000000000000e+00 -4.466800093650817871e-01 4.806650280952453613e-01 1.965378969907760620e-01 1.000000000000000000e+00 -4.587619900703430176e-01 4.805736541748046875e-01 1.997278481721878052e-01 1.000000000000000000e+00 -4.708500504493713379e-01 4.804116189479827881e-01 2.032801955938339233e-01 1.000000000000000000e+00 -4.829299449920654297e-01 4.801858663558959961e-01 2.071965634822845459e-01 1.000000000000000000e+00 -4.949873983860015869e-01 4.799034893512725830e-01 2.114778906106948853e-01 1.000000000000000000e+00 -5.070081353187561035e-01 4.795717000961303711e-01 2.161244302988052368e-01 1.000000000000000000e+00 -5.189779400825500488e-01 4.791978001594543457e-01 2.211356908082962036e-01 1.000000000000000000e+00 -5.308826565742492676e-01 4.787892103195190430e-01 2.265104800462722778e-01 1.000000000000000000e+00 -5.427082777023315430e-01 4.783534109592437744e-01 2.322469204664230347e-01 1.000000000000000000e+00 -5.544409155845642090e-01 4.778979718685150146e-01 2.383424043655395508e-01 1.000000000000000000e+00 -5.660668611526489258e-01 4.774304330348968506e-01 2.447936534881591797e-01 1.000000000000000000e+00 -5.775726437568664551e-01 4.769584238529205322e-01 2.515966892242431641e-01 1.000000000000000000e+00 -5.889448523521423340e-01 4.764896035194396973e-01 2.587468326091766357e-01 1.000000000000000000e+00 -6.001705527305603027e-01 4.760315716266632080e-01 2.662387788295745850e-01 1.000000000000000000e+00 -6.112369298934936523e-01 4.755919277667999268e-01 2.740665078163146973e-01 1.000000000000000000e+00 -6.221315264701843262e-01 4.751782715320587158e-01 2.822233736515045166e-01 1.000000000000000000e+00 -6.328422427177429199e-01 4.747981131076812744e-01 2.907021045684814453e-01 1.000000000000000000e+00 -6.433572769165039062e-01 4.744589328765869141e-01 2.994947731494903564e-01 1.000000000000000000e+00 -6.536651849746704102e-01 4.741680920124053955e-01 3.085928559303283691e-01 1.000000000000000000e+00 -6.637550592422485352e-01 4.739328920841217041e-01 3.179873228073120117e-01 1.000000000000000000e+00 -6.736162304878234863e-01 4.737605154514312744e-01 3.276684284210205078e-01 1.000000000000000000e+00 -6.832386851310729980e-01 4.736579954624176025e-01 3.376260101795196533e-01 1.000000000000000000e+00 -6.926126480102539062e-01 4.736322760581970215e-01 3.478492796421051025e-01 1.000000000000000000e+00 -7.017289996147155762e-01 4.736901223659515381e-01 3.583270013332366943e-01 1.000000000000000000e+00 -7.105790376663208008e-01 4.738381206989288330e-01 3.690474331378936768e-01 1.000000000000000000e+00 -7.191546559333801270e-01 4.740826785564422607e-01 3.799983859062194824e-01 1.000000000000000000e+00 -7.274482250213623047e-01 4.744300246238708496e-01 3.911672532558441162e-01 1.000000000000000000e+00 -7.354526519775390625e-01 4.748861789703369141e-01 4.025409519672393799e-01 1.000000000000000000e+00 -7.431614995002746582e-01 4.754569530487060547e-01 4.141060709953308105e-01 1.000000000000000000e+00 -7.505688667297363281e-01 4.761479198932647705e-01 4.258488714694976807e-01 1.000000000000000000e+00 -7.576693892478942871e-01 4.769644141197204590e-01 4.377551972866058350e-01 1.000000000000000000e+00 -7.644583582878112793e-01 4.779114723205566406e-01 4.498107135295867920e-01 1.000000000000000000e+00 -7.709317207336425781e-01 4.789939522743225098e-01 4.620007574558258057e-01 1.000000000000000000e+00 -7.770860195159912109e-01 4.802163839340209961e-01 4.743103682994842529e-01 1.000000000000000000e+00 -7.829183340072631836e-01 4.815830290317535400e-01 4.867245256900787354e-01 1.000000000000000000e+00 -7.884265184402465820e-01 4.830978810787200928e-01 4.992278814315795898e-01 1.000000000000000000e+00 -7.936089038848876953e-01 4.847646057605743408e-01 5.118050575256347656e-01 1.000000000000000000e+00 -7.984646558761596680e-01 4.865865409374237061e-01 5.244405269622802734e-01 1.000000000000000000e+00 -8.029934167861938477e-01 4.885667860507965088e-01 5.371186733245849609e-01 1.000000000000000000e+00 -8.071955442428588867e-01 4.907080829143524170e-01 5.498238801956176758e-01 1.000000000000000000e+00 -8.110720515251159668e-01 4.930128455162048340e-01 5.625403523445129395e-01 1.000000000000000000e+00 -8.146245479583740234e-01 4.954831600189208984e-01 5.752525925636291504e-01 1.000000000000000000e+00 -8.178552389144897461e-01 4.981207847595214844e-01 5.879449248313903809e-01 1.000000000000000000e+00 -8.207671046257019043e-01 5.009271502494812012e-01 6.006018519401550293e-01 1.000000000000000000e+00 -8.233636021614074707e-01 5.039033293724060059e-01 6.132079362869262695e-01 1.000000000000000000e+00 -8.256489038467407227e-01 5.070500969886779785e-01 6.257479786872863770e-01 1.000000000000000000e+00 -8.276276588439941406e-01 5.103678107261657715e-01 6.382068991661071777e-01 1.000000000000000000e+00 -8.293052315711975098e-01 5.138565897941589355e-01 6.505697965621948242e-01 1.000000000000000000e+00 -8.306875824928283691e-01 5.175161361694335938e-01 6.628221273422241211e-01 1.000000000000000000e+00 -8.317810893058776855e-01 5.213457942008972168e-01 6.749494075775146484e-01 1.000000000000000000e+00 -8.325928449630737305e-01 5.253446698188781738e-01 6.869376897811889648e-01 1.000000000000000000e+00 -8.331304192543029785e-01 5.295114517211914062e-01 6.987732052803039551e-01 1.000000000000000000e+00 -8.334019184112548828e-01 5.338444709777832031e-01 7.104426622390747070e-01 1.000000000000000000e+00 -8.334159255027770996e-01 5.383418202400207520e-01 7.219330072402954102e-01 1.000000000000000000e+00 -8.331815004348754883e-01 5.430011749267578125e-01 7.332316637039184570e-01 1.000000000000000000e+00 -8.327082395553588867e-01 5.478200316429138184e-01 7.443265318870544434e-01 1.000000000000000000e+00 -8.320061564445495605e-01 5.527953505516052246e-01 7.552060484886169434e-01 1.000000000000000000e+00 -8.310856819152832031e-01 5.579239726066589355e-01 7.658588886260986328e-01 1.000000000000000000e+00 -8.299576640129089355e-01 5.632023811340332031e-01 7.762744426727294922e-01 1.000000000000000000e+00 -8.286333084106445312e-01 5.686267614364624023e-01 7.864426374435424805e-01 1.000000000000000000e+00 -8.271241188049316406e-01 5.741930007934570312e-01 7.963538169860839844e-01 1.000000000000000000e+00 -8.254420757293701172e-01 5.798967480659484863e-01 8.059990406036376953e-01 1.000000000000000000e+00 -8.235993981361389160e-01 5.857333540916442871e-01 8.153699040412902832e-01 1.000000000000000000e+00 -8.216084837913513184e-01 5.916978716850280762e-01 8.244585394859313965e-01 1.000000000000000000e+00 -8.194820880889892578e-01 5.977852940559387207e-01 8.332578539848327637e-01 1.000000000000000000e+00 -8.172332644462585449e-01 6.039900779724121094e-01 8.417612314224243164e-01 1.000000000000000000e+00 -8.148750066757202148e-01 6.103067994117736816e-01 8.499628901481628418e-01 1.000000000000000000e+00 -8.124207854270935059e-01 6.167295575141906738e-01 8.578575849533081055e-01 1.000000000000000000e+00 -8.098839521408081055e-01 6.232523918151855469e-01 8.654407262802124023e-01 1.000000000000000000e+00 -8.072780370712280273e-01 6.298691034317016602e-01 8.727085590362548828e-01 1.000000000000000000e+00 -8.046168088912963867e-01 6.365733742713928223e-01 8.796578645706176758e-01 1.000000000000000000e+00 -8.019139170646667480e-01 6.433586478233337402e-01 8.862861394882202148e-01 1.000000000000000000e+00 -7.991830110549926758e-01 6.502183675765991211e-01 8.925917148590087891e-01 1.000000000000000000e+00 -7.964378595352172852e-01 6.571456789970397949e-01 8.985735177993774414e-01 1.000000000000000000e+00 -7.936920523643493652e-01 6.641337275505065918e-01 9.042311906814575195e-01 1.000000000000000000e+00 -7.909592390060424805e-01 6.711755394935607910e-01 9.095650911331176758e-01 1.000000000000000000e+00 -7.882528901100158691e-01 6.782640814781188965e-01 9.145763516426086426e-01 1.000000000000000000e+00 -7.855862975120544434e-01 6.853922009468078613e-01 9.192667007446289062e-01 1.000000000000000000e+00 -7.829727530479431152e-01 6.925527453422546387e-01 9.236386418342590332e-01 1.000000000000000000e+00 -7.804252505302429199e-01 6.997384428977966309e-01 9.276953339576721191e-01 1.000000000000000000e+00 -7.779565453529357910e-01 7.069422006607055664e-01 9.314405918121337891e-01 1.000000000000000000e+00 -7.755791544914245605e-01 7.141566872596740723e-01 9.348790645599365234e-01 1.000000000000000000e+00 -7.733053565025329590e-01 7.213746905326843262e-01 9.380158782005310059e-01 1.000000000000000000e+00 -7.711471915245056152e-01 7.285891175270080566e-01 9.408568739891052246e-01 1.000000000000000000e+00 -7.691162824630737305e-01 7.357927560806274414e-01 9.434086084365844727e-01 1.000000000000000000e+00 -7.672238945960998535e-01 7.429785728454589844e-01 9.456781744956970215e-01 1.000000000000000000e+00 -7.654808759689331055e-01 7.501395940780639648e-01 9.476732611656188965e-01 1.000000000000000000e+00 -7.638978362083435059e-01 7.572689056396484375e-01 9.494022727012634277e-01 1.000000000000000000e+00 -7.624848484992980957e-01 7.643596529960632324e-01 9.508740901947021484e-01 1.000000000000000000e+00 -7.612514495849609375e-01 7.714053392410278320e-01 9.520981311798095703e-01 1.000000000000000000e+00 -7.602068781852722168e-01 7.783992886543273926e-01 9.530844092369079590e-01 1.000000000000000000e+00 -7.593597769737243652e-01 7.853352427482604980e-01 9.538434147834777832e-01 1.000000000000000000e+00 -7.587183117866516113e-01 7.922069430351257324e-01 9.543861150741577148e-01 1.000000000000000000e+00 -7.582900524139404297e-01 7.990084290504455566e-01 9.547239542007446289e-01 1.000000000000000000e+00 -7.580821514129638672e-01 8.057338595390319824e-01 9.548687934875488281e-01 1.000000000000000000e+00 -7.581010460853576660e-01 8.123776316642761230e-01 9.548329114913940430e-01 1.000000000000000000e+00 -7.583526968955993652e-01 8.189343810081481934e-01 9.546289443969726562e-01 1.000000000000000000e+00 -7.588424682617187500e-01 8.253990411758422852e-01 9.542699456214904785e-01 1.000000000000000000e+00 -7.595750093460083008e-01 8.317666053771972656e-01 9.537692070007324219e-01 1.000000000000000000e+00 -7.605544924736022949e-01 8.380325436592102051e-01 9.531403183937072754e-01 1.000000000000000000e+00 -7.617843747138977051e-01 8.441924452781677246e-01 9.523972272872924805e-01 1.000000000000000000e+00 -7.632674574851989746e-01 8.502422571182250977e-01 9.515540003776550293e-01 1.000000000000000000e+00 -7.650059461593627930e-01 8.561782240867614746e-01 9.506248831748962402e-01 1.000000000000000000e+00 -7.670014500617980957e-01 8.619968295097351074e-01 9.496243596076965332e-01 1.000000000000000000e+00 -7.692547440528869629e-01 8.676949143409729004e-01 9.485669732093811035e-01 1.000000000000000000e+00 -7.717661857604980469e-01 8.732696771621704102e-01 9.474674463272094727e-01 1.000000000000000000e+00 -7.745352387428283691e-01 8.787184953689575195e-01 9.463404417037963867e-01 1.000000000000000000e+00 -7.775608301162719727e-01 8.840392231941223145e-01 9.452008008956909180e-01 1.000000000000000000e+00 -7.808412313461303711e-01 8.892300724983215332e-01 9.440631866455078125e-01 1.000000000000000000e+00 -7.843739986419677734e-01 8.942894339561462402e-01 9.429422616958618164e-01 1.000000000000000000e+00 -7.881561517715454102e-01 8.992161750793457031e-01 9.418526887893676758e-01 1.000000000000000000e+00 -7.921838164329528809e-01 9.040095210075378418e-01 9.408089518547058105e-01 1.000000000000000000e+00 -7.964528203010559082e-01 9.086689949035644531e-01 9.398253560066223145e-01 1.000000000000000000e+00 -8.009580373764038086e-01 9.131944179534912109e-01 9.389160871505737305e-01 1.000000000000000000e+00 -8.056939840316772461e-01 9.175861477851867676e-01 9.380950331687927246e-01 1.000000000000000000e+00 -8.106543421745300293e-01 9.218447208404541016e-01 9.373759031295776367e-01 1.000000000000000000e+00 -8.158323168754577637e-01 9.259710907936096191e-01 9.367721080780029297e-01 1.000000000000000000e+00 -8.212205767631530762e-01 9.299666881561279297e-01 9.362966418266296387e-01 1.000000000000000000e+00 -8.268111348152160645e-01 9.338331222534179688e-01 9.359622597694396973e-01 1.000000000000000000e+00 -8.325954675674438477e-01 9.375724196434020996e-01 9.357812404632568359e-01 1.000000000000000000e+00 -8.385645151138305664e-01 9.411869645118713379e-01 9.357655644416809082e-01 1.000000000000000000e+00 -8.447087407112121582e-01 9.446794390678405762e-01 9.359266161918640137e-01 1.000000000000000000e+00 -8.510181307792663574e-01 9.480530023574829102e-01 9.362754225730895996e-01 1.000000000000000000e+00 -8.574820756912231445e-01 9.513109922409057617e-01 9.368224740028381348e-01 1.000000000000000000e+00 -8.640896677970886230e-01 9.544571042060852051e-01 9.375776648521423340e-01 1.000000000000000000e+00 -8.708295822143554688e-01 9.574954509735107422e-01 9.385503530502319336e-01 1.000000000000000000e+00 -8.776899576187133789e-01 9.604302644729614258e-01 9.397493004798889160e-01 1.000000000000000000e+00 -8.846586346626281738e-01 9.632663726806640625e-01 9.411827921867370605e-01 1.000000000000000000e+00 -8.917231559753417969e-01 9.660085439682006836e-01 9.428583383560180664e-01 1.000000000000000000e+00 -8.988707065582275391e-01 9.686621427536010742e-01 9.447827339172363281e-01 1.000000000000000000e+00 -9.060882329940795898e-01 9.712325930595397949e-01 9.469622969627380371e-01 1.000000000000000000e+00 -9.133623242378234863e-01 9.737257361412048340e-01 9.494024515151977539e-01 1.000000000000000000e+00 -9.206793904304504395e-01 9.761474728584289551e-01 9.521080255508422852e-01 1.000000000000000000e+00 -9.280257821083068848e-01 9.785040616989135742e-01 9.550830721855163574e-01 1.000000000000000000e+00 -9.353874921798706055e-01 9.808020591735839844e-01 9.583308696746826172e-01 1.000000000000000000e+00 -9.427505135536193848e-01 9.830480217933654785e-01 9.618541002273559570e-01 1.000000000000000000e+00 -9.501006603240966797e-01 9.852488636970520020e-01 9.656543731689453125e-01 1.000000000000000000e+00 -9.574237465858459473e-01 9.874115586280822754e-01 9.697328209877014160e-01 1.000000000000000000e+00 -9.647055268287658691e-01 9.895434379577636719e-01 9.740896224975585938e-01 1.000000000000000000e+00 -9.719318151473999023e-01 9.916517138481140137e-01 9.787241816520690918e-01 1.000000000000000000e+00 -9.790884852409362793e-01 9.937438368797302246e-01 9.836350679397583008e-01 1.000000000000000000e+00 -9.861613512039184570e-01 9.958274960517883301e-01 9.888201355934143066e-01 1.000000000000000000e+00 -9.931364655494689941e-01 9.979103207588195801e-01 9.942764043807983398e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/flag b/fastplotlib/utils/colormaps/flag deleted file mode 100644 index 0b54453c0..000000000 --- a/fastplotlib/utils/colormaps/flag +++ /dev/null @@ -1,256 +0,0 @@ -1.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.784110546112060547e-01 2.097892612218856812e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.005430459976196289e-01 4.930701255798339844e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.184870123863220215e-01 7.773815989494323730e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.998292326927185059e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.029407262802124023e-01 9.324722290039062500e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.207872986793518066e-01 7.264335751533508301e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.355422377586364746e-01 4.123563170433044434e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 3.695150092244148254e-02 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.155673146247863770e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 5.346375703811645508e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 2.485564053058624268e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.719138771295547485e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.515239298343658447e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.383435368537902832e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.897156357765197754e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.090170025825500488e-01 1.595071256160736084e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.459280848503112793e-01 4.377020001411437988e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.867737054824829102e-01 7.251621484756469727e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.957341551780700684e-01 9.791350960731506348e-01 1.000000000000000000e+00 -8.527833819389343262e-01 9.566044211387634277e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.760986208915710449e-01 7.752040028572082520e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.880961894989013672e-01 4.785115718841552734e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.160904347896575928e-02 1.106526851654052734e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.649533390998840332e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 5.898733139038085938e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 3.014268577098846436e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 4.251315072178840637e-02 1.000000000000000000e+00 -1.230012699961662292e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.963827192783355713e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.851746439933776855e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.464265108108520508e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.379352003335952759e-01 1.110846400260925293e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.877852439880371094e-01 3.826741576194763184e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.502171635627746582e-01 6.717129349708557129e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.862007498741149902e-01 9.352137446403503418e-01 1.000000000000000000e+00 -9.006991982460021973e-01 9.755119681358337402e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.309943795204162598e-01 8.197404742240905762e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.418074548244476318e-01 5.420533418655395508e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.614769041538238525e-02 1.837495118379592896e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 9.123461246490478516e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 6.446181535720825195e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 3.553818464279174805e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.765384554862976074e-02 1.000000000000000000e+00 -7.614769041538238525e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.418074548244476318e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.309943795204162598e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.006991982460021973e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.655538827180862427e-01 6.478627771139144897e-02 1.000000000000000000e+00 -1.000000000000000000e+00 5.264321565628051758e-01 3.282870948314666748e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.090170025825500488e-01 6.173258423805236816e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.712810516357421875e-01 8.889153599739074707e-01 1.000000000000000000e+00 -9.464265108108520508e-01 9.890916347503662109e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.851746439933776855e-01 8.597998619079589844e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.963827192783355713e-01 6.026346087455749512e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.230012699961662292e-01 2.558427751064300537e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 9.574868679046630859e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 6.985731124877929688e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 4.101267158985137939e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 1.350466459989547729e-01 1.000000000000000000e+00 -3.160904347896575928e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.880961894989013672e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.760986208915710449e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.527833819389343262e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.226836264133453369e-02 2.086489647626876831e-02 1.000000000000000000e+00 -1.000000000000000000e+00 4.622038900852203369e-01 2.748378515243530273e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.633982896804809570e-01 5.622979998588562012e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.510565400123596191e-01 8.404929041862487793e-01 1.000000000000000000e+00 -9.897156357765197754e-01 9.972691535949707031e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.383435368537902832e-01 8.951632976531982422e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.515239298343658447e-01 6.599245071411132812e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.719138771295547485e-01 3.265387117862701416e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.514436244964599609e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 4.653623998165130615e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 1.844326853752136230e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.355422377586364746e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.207872986793518066e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.029407262802124023e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.847890578210353851e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.954512178897857666e-01 2.226183861494064331e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.136101722717285156e-01 5.069298744201660156e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.256376624107360840e-01 7.902107238769531250e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -7.902107238769531250e-01 9.256376624107360840e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.069298744201660156e-01 7.136101722717285156e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.226183861494064331e-01 3.954512178897857666e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 1.847890578210353851e-02 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.029407262802124023e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 5.207872986793518066e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 2.355422377586364746e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.844326853752136230e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.653623998165130615e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.514436244964599609e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.265387117862701416e-01 1.719138771295547485e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.599245071411132812e-01 4.515239298343658447e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.951632976531982422e-01 7.383435368537902832e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.972691535949707031e-01 9.897156357765197754e-01 1.000000000000000000e+00 -8.404929041862487793e-01 9.510565400123596191e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.622979998588562012e-01 7.633982896804809570e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.748378515243530273e-01 4.622038900852203369e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.086489647626876831e-02 9.226836264133453369e-02 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.527833819389343262e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 5.760986208915710449e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 2.880961894989013672e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 3.160904347896575928e-02 1.000000000000000000e+00 -1.350466459989547729e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.101267158985137939e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.985731124877929688e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.574868679046630859e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.558427751064300537e-01 1.230012699961662292e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.026346087455749512e-01 3.963827192783355713e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.597998619079589844e-01 6.851746439933776855e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.890916347503662109e-01 9.464265108108520508e-01 1.000000000000000000e+00 -8.889153599739074707e-01 9.712810516357421875e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.173258423805236816e-01 8.090170025825500488e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.282870948314666748e-01 5.264321565628051758e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.478627771139144897e-02 1.655538827180862427e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 9.006991982460021973e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 6.309943795204162598e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 3.418074548244476318e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.614769041538238525e-02 1.000000000000000000e+00 -8.765384554862976074e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.553818464279174805e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.446181535720825195e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.123461246490478516e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.837495118379592896e-01 7.614769041538238525e-02 1.000000000000000000e+00 -1.000000000000000000e+00 5.420533418655395508e-01 3.418074548244476318e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.197404742240905762e-01 6.309943795204162598e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.755119681358337402e-01 9.006991982460021973e-01 1.000000000000000000e+00 -9.352137446403503418e-01 9.862007498741149902e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.717129349708557129e-01 8.502171635627746582e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.826741576194763184e-01 5.877852439880371094e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.110846400260925293e-01 2.379352003335952759e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 9.464265108108520508e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 6.851746439933776855e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 3.963827192783355713e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 1.230012699961662292e-01 1.000000000000000000e+00 -4.251315072178840637e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.014268577098846436e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.898733139038085938e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.649533390998840332e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.106526851654052734e-01 3.160904347896575928e-02 1.000000000000000000e+00 -1.000000000000000000e+00 4.785115718841552734e-01 2.880961894989013672e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.752040028572082520e-01 5.760986208915710449e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.566044211387634277e-01 8.527833819389343262e-01 1.000000000000000000e+00 -9.791350960731506348e-01 9.957341551780700684e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.251621484756469727e-01 8.867737054824829102e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.377020001411437988e-01 6.459280848503112793e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.595071256160736084e-01 3.090170025825500488e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 9.897156357765197754e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.383435368537902832e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 4.515239298343658447e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 1.719138771295547485e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.485564053058624268e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.346375703811645508e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.155673146247863770e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.695150092244148254e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.123563170433044434e-01 2.355422377586364746e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.264335751533508301e-01 5.207872986793518066e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.324722290039062500e-01 8.029407262802124023e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.998292326927185059e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.773815989494323730e-01 9.184870123863220215e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.930701255798339844e-01 7.005430459976196289e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.097892612218856812e-01 3.784110546112060547e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.902107238769531250e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 5.069298744201660156e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 2.226183861494064331e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.970592439174652100e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.792127013206481934e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.644577622413635254e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.439489305019378662e-01 1.844326853752136230e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.736956238746643066e-01 4.653623998165130615e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.032471776008605957e-01 7.514436244964599609e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.984636306762695312e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.280861377716064453e-01 9.451838135719299316e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.484760999679565430e-01 7.513318657875061035e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.616564333438873291e-01 4.457383453845977783e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.028437074273824692e-02 7.385252416133880615e-02 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.404929041862487793e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 5.622979998588562012e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 2.748378515243530273e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 2.086489647626876831e-02 1.000000000000000000e+00 -1.472166478633880615e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.239013493061065674e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.119038105010986328e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.683909416198730469e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.736629843711853027e-01 1.350466459989547729e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.172782182693481445e-01 4.101267158985137939e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.690889477729797363e-01 6.985731124877929688e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.916446805000305176e-01 9.574868679046630859e-01 1.000000000000000000e+00 -8.769987225532531738e-01 9.667183756828308105e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.036172509193420410e-01 7.980172038078308105e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.148253560066223145e-01 5.106312036514282227e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.357348546385765076e-02 1.473017036914825439e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.889153599739074707e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 6.173258423805236816e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 3.282870948314666748e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 6.478627771139144897e-02 1.000000000000000000e+00 -9.930082410573959351e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.690056204795837402e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.581925153732299805e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.238523244857788086e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.018824070692062378e-01 8.765384554862976074e-02 1.000000000000000000e+00 -1.000000000000000000e+00 5.574894547462463379e-01 3.553818464279174805e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.301840424537658691e-01 6.446181535720825195e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.794097542762756348e-01 9.123461246490478516e-01 1.000000000000000000e+00 -9.238523244857788086e-01 9.829730987548828125e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.581925153732299805e-01 8.403440713882446289e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.690056204795837402e-01 5.727351307868957520e-01 1.000000000000000000e+00 1.000000000000000000e+00 -9.930082410573959351e-02 2.199463546276092529e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 9.352137446403503418e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 6.717129349708557129e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 3.826741576194763184e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 1.110846400260925293e-01 1.000000000000000000e+00 -5.357348546385765076e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.148253560066223145e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.036172509193420410e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.769987225532531738e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.289992183446884155e-01 4.251315072178840637e-02 1.000000000000000000e+00 -1.000000000000000000e+00 4.946558475494384766e-01 3.014268577098846436e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.867449522018432617e-01 5.898733139038085938e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.618256688117980957e-01 8.649533390998840332e-01 1.000000000000000000e+00 -9.683909416198730469e-01 9.938591122627258301e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.119038105010986328e-01 8.780812621116638184e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.239013493061065674e-01 6.317110061645507812e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.472166478633880615e-01 2.913897335529327393e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 9.791350960731506348e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.251621484756469727e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 4.377020001411437988e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 1.595071256160736084e-01 1.000000000000000000e+00 -1.028437074273824692e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.616564333438873291e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.484760999679565430e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.280861377716064453e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.541147664189338684e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.291206002235412598e-01 2.485564053058624268e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.390089035034179688e-01 5.346375703811645508e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.389883875846862793e-01 8.155673146247863770e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.993170499801635742e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.644577622413635254e-01 9.110226631164550781e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.792127013206481934e-01 6.872366666793823242e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.970592439174652100e-01 3.612416684627532959e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.773815989494323730e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 4.930701255798339844e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 2.097892612218856812e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/gist_earth b/fastplotlib/utils/colormaps/gist_earth deleted file mode 100644 index 86667b3f7..000000000 --- a/fastplotlib/utils/colormaps/gist_earth +++ /dev/null @@ -1,256 +0,0 @@ -0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.613453427329659462e-03 0.000000000000000000e+00 1.686920076608657837e-01 1.000000000000000000e+00 -5.226906854659318924e-03 0.000000000000000000e+00 2.216635644435882568e-01 1.000000000000000000e+00 -7.840359583497047424e-03 0.000000000000000000e+00 2.638055086135864258e-01 1.000000000000000000e+00 -1.045381370931863785e-02 0.000000000000000000e+00 3.059474229812622070e-01 1.000000000000000000e+00 -1.306726690381765366e-02 0.000000000000000000e+00 3.480893671512603760e-01 1.000000000000000000e+00 -1.568071916699409485e-02 0.000000000000000000e+00 3.902312815189361572e-01 1.000000000000000000e+00 -1.829417236149311066e-02 0.000000000000000000e+00 4.323732256889343262e-01 1.000000000000000000e+00 -2.090762741863727570e-02 8.907333016395568848e-03 4.547451436519622803e-01 1.000000000000000000e+00 -2.352108061313629150e-02 1.792741753160953522e-02 4.556058943271636963e-01 1.000000000000000000e+00 -2.613453380763530731e-02 2.694750204682350159e-02 4.563167989253997803e-01 1.000000000000000000e+00 -2.874798700213432312e-02 3.596758469939231873e-02 4.570276737213134766e-01 1.000000000000000000e+00 -3.136143833398818970e-02 4.498767107725143433e-02 4.577385485172271729e-01 1.000000000000000000e+00 -3.397489339113235474e-02 5.400775372982025146e-02 4.584494233131408691e-01 1.000000000000000000e+00 -3.658834472298622131e-02 6.302783638238906860e-02 4.591603279113769531e-01 1.000000000000000000e+00 -3.920179978013038635e-02 7.204792648553848267e-02 4.598712027072906494e-01 1.000000000000000000e+00 -4.181525483727455139e-02 8.106800913810729980e-02 4.605820775032043457e-01 1.000000000000000000e+00 -4.442870616912841797e-02 9.008809179067611694e-02 4.612929522991180420e-01 1.000000000000000000e+00 -4.704216122627258301e-02 9.910817444324493408e-02 4.620038568973541260e-01 1.000000000000000000e+00 -4.965561255812644958e-02 1.081282645463943481e-01 4.627147316932678223e-01 1.000000000000000000e+00 -5.226906761527061462e-02 1.171483471989631653e-01 4.634256064891815186e-01 1.000000000000000000e+00 -5.488251894712448120e-02 1.261684298515319824e-01 4.641364812850952148e-01 1.000000000000000000e+00 -5.749597400426864624e-02 1.351885199546813965e-01 4.648473858833312988e-01 1.000000000000000000e+00 -6.010942533612251282e-02 1.442085951566696167e-01 4.655582606792449951e-01 1.000000000000000000e+00 -6.272287666797637939e-02 1.532286852598190308e-01 4.662691354751586914e-01 1.000000000000000000e+00 -6.533633172512054443e-02 1.622487604618072510e-01 4.669800102710723877e-01 1.000000000000000000e+00 -6.794978678226470947e-02 1.712688505649566650e-01 4.676908850669860840e-01 1.000000000000000000e+00 -7.056324183940887451e-02 1.802889406681060791e-01 4.684017896652221680e-01 1.000000000000000000e+00 -7.317668944597244263e-02 1.893081516027450562e-01 4.691126644611358643e-01 1.000000000000000000e+00 -7.579014450311660767e-02 1.974655985832214355e-01 4.698235392570495605e-01 1.000000000000000000e+00 -7.840359956026077271e-02 2.056230306625366211e-01 4.705344140529632568e-01 1.000000000000000000e+00 -8.101705461740493774e-02 2.137804627418518066e-01 4.712453186511993408e-01 1.000000000000000000e+00 -8.363050967454910278e-02 2.219378948211669922e-01 4.719561934471130371e-01 1.000000000000000000e+00 -8.624395728111267090e-02 2.300953269004821777e-01 4.726670682430267334e-01 1.000000000000000000e+00 -8.885741233825683594e-02 2.382527589797973633e-01 4.733779430389404297e-01 1.000000000000000000e+00 -9.147086739540100098e-02 2.464101910591125488e-01 4.740888476371765137e-01 1.000000000000000000e+00 -9.408432245254516602e-02 2.545676231384277344e-01 4.747997224330902100e-01 1.000000000000000000e+00 -9.669777005910873413e-02 2.627250552177429199e-01 4.755105972290039062e-01 1.000000000000000000e+00 -9.931122511625289917e-02 2.708824872970581055e-01 4.762214720249176025e-01 1.000000000000000000e+00 -1.019246801733970642e-01 2.790399193763732910e-01 4.769323766231536865e-01 1.000000000000000000e+00 -1.045381352305412292e-01 2.871973812580108643e-01 4.776432514190673828e-01 1.000000000000000000e+00 -1.071515828371047974e-01 2.953548133373260498e-01 4.783541262149810791e-01 1.000000000000000000e+00 -1.097650378942489624e-01 3.035109937191009521e-01 4.790650010108947754e-01 1.000000000000000000e+00 -1.123784929513931274e-01 3.108446002006530762e-01 4.797759056091308594e-01 1.000000000000000000e+00 -1.149919480085372925e-01 3.181782066822052002e-01 4.804867804050445557e-01 1.000000000000000000e+00 -1.176053956151008606e-01 3.255118131637573242e-01 4.811976552009582520e-01 1.000000000000000000e+00 -1.202188506722450256e-01 3.328454196453094482e-01 4.819085299968719482e-01 1.000000000000000000e+00 -1.228323057293891907e-01 3.401790261268615723e-01 4.826194345951080322e-01 1.000000000000000000e+00 -1.254457533359527588e-01 3.475126326084136963e-01 4.833303093910217285e-01 1.000000000000000000e+00 -1.280592083930969238e-01 3.548462390899658203e-01 4.840411841869354248e-01 1.000000000000000000e+00 -1.306726634502410889e-01 3.621798455715179443e-01 4.847520589828491211e-01 1.000000000000000000e+00 -1.332861185073852539e-01 3.695134520530700684e-01 4.854629337787628174e-01 1.000000000000000000e+00 -1.358995735645294189e-01 3.768470585346221924e-01 4.861738383769989014e-01 1.000000000000000000e+00 -1.385130286216735840e-01 3.841681778430938721e-01 4.868847131729125977e-01 1.000000000000000000e+00 -1.411264836788177490e-01 3.903659284114837646e-01 4.875955879688262939e-01 1.000000000000000000e+00 -1.437399387359619141e-01 3.965637087821960449e-01 4.883064627647399902e-01 1.000000000000000000e+00 -1.463533788919448853e-01 4.027614593505859375e-01 4.890173673629760742e-01 1.000000000000000000e+00 -1.489668339490890503e-01 4.089592099189758301e-01 4.897282421588897705e-01 1.000000000000000000e+00 -1.515802890062332153e-01 4.151569902896881104e-01 4.904391169548034668e-01 1.000000000000000000e+00 -1.541937440633773804e-01 4.213547408580780029e-01 4.911499917507171631e-01 1.000000000000000000e+00 -1.568071991205215454e-01 4.275524914264678955e-01 4.918608963489532471e-01 1.000000000000000000e+00 -1.594206541776657104e-01 4.337502717971801758e-01 4.925717711448669434e-01 1.000000000000000000e+00 -1.620341092348098755e-01 4.399480223655700684e-01 4.932826459407806396e-01 1.000000000000000000e+00 -1.646475642919540405e-01 4.461457729339599609e-01 4.939935207366943359e-01 1.000000000000000000e+00 -1.672610193490982056e-01 4.523435533046722412e-01 4.947044253349304199e-01 1.000000000000000000e+00 -1.698744595050811768e-01 4.585413038730621338e-01 4.954153001308441162e-01 1.000000000000000000e+00 -1.724879145622253418e-01 4.647390544414520264e-01 4.961261749267578125e-01 1.000000000000000000e+00 -1.751013696193695068e-01 4.709368348121643066e-01 4.968370497226715088e-01 1.000000000000000000e+00 -1.777148246765136719e-01 4.771345853805541992e-01 4.975479543209075928e-01 1.000000000000000000e+00 -1.803282797336578369e-01 4.833323359489440918e-01 4.982588291168212891e-01 1.000000000000000000e+00 -1.829417347908020020e-01 4.895301163196563721e-01 4.989697039127349854e-01 1.000000000000000000e+00 -1.855551898479461670e-01 4.957278668880462646e-01 4.996805787086486816e-01 1.000000000000000000e+00 -1.881686449050903320e-01 5.019256472587585449e-01 5.003914833068847656e-01 1.000000000000000000e+00 -1.900274306535720825e-01 5.042304396629333496e-01 4.956572353839874268e-01 1.000000000000000000e+00 -1.918770670890808105e-01 5.064879655838012695e-01 4.908568859100341797e-01 1.000000000000000000e+00 -1.937266886234283447e-01 5.087454915046691895e-01 4.860565364360809326e-01 1.000000000000000000e+00 -1.955763250589370728e-01 5.110030174255371094e-01 4.812561869621276855e-01 1.000000000000000000e+00 -1.974259465932846069e-01 5.132605433464050293e-01 4.764558076858520508e-01 1.000000000000000000e+00 -1.992755830287933350e-01 5.155180692672729492e-01 4.716554582118988037e-01 1.000000000000000000e+00 -2.011252045631408691e-01 5.177755951881408691e-01 4.668551087379455566e-01 1.000000000000000000e+00 -2.029748409986495972e-01 5.200331211090087891e-01 4.620547592639923096e-01 1.000000000000000000e+00 -2.048244625329971313e-01 5.222906470298767090e-01 4.572543799877166748e-01 1.000000000000000000e+00 -2.066740989685058594e-01 5.245481729507446289e-01 4.524540305137634277e-01 1.000000000000000000e+00 -2.085237205028533936e-01 5.268056988716125488e-01 4.476536810398101807e-01 1.000000000000000000e+00 -2.103733420372009277e-01 5.290632247924804688e-01 4.428533017635345459e-01 1.000000000000000000e+00 -2.122229784727096558e-01 5.313207507133483887e-01 4.380529522895812988e-01 1.000000000000000000e+00 -2.140726000070571899e-01 5.335782766342163086e-01 4.332526028156280518e-01 1.000000000000000000e+00 -2.159222364425659180e-01 5.358358025550842285e-01 4.284522533416748047e-01 1.000000000000000000e+00 -2.177718579769134521e-01 5.380933284759521484e-01 4.236518740653991699e-01 1.000000000000000000e+00 -2.196214944124221802e-01 5.403508543968200684e-01 4.188515245914459229e-01 1.000000000000000000e+00 -2.214711159467697144e-01 5.426083803176879883e-01 4.140511751174926758e-01 1.000000000000000000e+00 -2.233207523822784424e-01 5.448659062385559082e-01 4.092508256435394287e-01 1.000000000000000000e+00 -2.251703739166259766e-01 5.471234321594238281e-01 4.044504463672637939e-01 1.000000000000000000e+00 -2.270200103521347046e-01 5.493809580802917480e-01 3.996500968933105469e-01 1.000000000000000000e+00 -2.288696318864822388e-01 5.516384840011596680e-01 3.948497474193572998e-01 1.000000000000000000e+00 -2.307192683219909668e-01 5.538960099220275879e-01 3.900493681430816650e-01 1.000000000000000000e+00 -2.325688898563385010e-01 5.561535358428955078e-01 3.852490186691284180e-01 1.000000000000000000e+00 -2.344185262918472290e-01 5.584110617637634277e-01 3.804486691951751709e-01 1.000000000000000000e+00 -2.362681478261947632e-01 5.606685876846313477e-01 3.756483197212219238e-01 1.000000000000000000e+00 -2.381177842617034912e-01 5.629261136054992676e-01 3.708479404449462891e-01 1.000000000000000000e+00 -2.399674057960510254e-01 5.651836395263671875e-01 3.660475909709930420e-01 1.000000000000000000e+00 -2.418170422315597534e-01 5.674411654472351074e-01 3.612472414970397949e-01 1.000000000000000000e+00 -2.436666637659072876e-01 5.696986913681030273e-01 3.564468920230865479e-01 1.000000000000000000e+00 -2.455163002014160156e-01 5.719561576843261719e-01 3.516465127468109131e-01 1.000000000000000000e+00 -2.473659217357635498e-01 5.742136836051940918e-01 3.468461632728576660e-01 1.000000000000000000e+00 -2.492155581712722778e-01 5.764712095260620117e-01 3.420458137989044189e-01 1.000000000000000000e+00 -2.510651946067810059e-01 5.787287354469299316e-01 3.372454643249511719e-01 1.000000000000000000e+00 -2.529148161411285400e-01 5.809862613677978516e-01 3.324450850486755371e-01 1.000000000000000000e+00 -2.547644376754760742e-01 5.832437872886657715e-01 3.276447355747222900e-01 1.000000000000000000e+00 -2.566140592098236084e-01 5.855013132095336914e-01 3.228443861007690430e-01 1.000000000000000000e+00 -2.584637105464935303e-01 5.877588391304016113e-01 3.180440068244934082e-01 1.000000000000000000e+00 -2.603133320808410645e-01 5.900163650512695312e-01 3.132436573505401611e-01 1.000000000000000000e+00 -2.621629536151885986e-01 5.922738909721374512e-01 3.084433078765869141e-01 1.000000000000000000e+00 -2.640125751495361328e-01 5.945314168930053711e-01 3.036429584026336670e-01 1.000000000000000000e+00 -2.658621966838836670e-01 5.967889428138732910e-01 2.988425791263580322e-01 1.000000000000000000e+00 -2.677118480205535889e-01 5.990464687347412109e-01 2.940422296524047852e-01 1.000000000000000000e+00 -2.695614695549011230e-01 6.013039946556091309e-01 2.892418801784515381e-01 1.000000000000000000e+00 -2.714523077011108398e-01 6.035615205764770508e-01 2.844415307044982910e-01 1.000000000000000000e+00 -2.801693081855773926e-01 6.058190464973449707e-01 2.796411514282226562e-01 1.000000000000000000e+00 -2.888863384723663330e-01 6.080765724182128906e-01 2.748408019542694092e-01 1.000000000000000000e+00 -2.976033389568328857e-01 6.103340983390808105e-01 2.770664691925048828e-01 1.000000000000000000e+00 -3.063203394412994385e-01 6.125916242599487305e-01 2.793523967266082764e-01 1.000000000000000000e+00 -3.150373697280883789e-01 6.148491501808166504e-01 2.816383242607116699e-01 1.000000000000000000e+00 -3.237543702125549316e-01 6.171066761016845703e-01 2.839242219924926758e-01 1.000000000000000000e+00 -3.324714004993438721e-01 6.193642020225524902e-01 2.862101495265960693e-01 1.000000000000000000e+00 -3.411884009838104248e-01 6.216217279434204102e-01 2.884960472583770752e-01 1.000000000000000000e+00 -3.499054014682769775e-01 6.238792538642883301e-01 2.907819747924804688e-01 1.000000000000000000e+00 -3.586224317550659180e-01 6.261367797851562500e-01 2.930678725242614746e-01 1.000000000000000000e+00 -3.673394322395324707e-01 6.283943057060241699e-01 2.953538000583648682e-01 1.000000000000000000e+00 -3.760564625263214111e-01 6.306518316268920898e-01 2.976397275924682617e-01 1.000000000000000000e+00 -3.847734630107879639e-01 6.329093575477600098e-01 2.999256253242492676e-01 1.000000000000000000e+00 -3.934904634952545166e-01 6.351668834686279297e-01 3.022115528583526611e-01 1.000000000000000000e+00 -4.022074937820434570e-01 6.374244093894958496e-01 3.044974505901336670e-01 1.000000000000000000e+00 -4.109244942665100098e-01 6.396819353103637695e-01 3.067833781242370605e-01 1.000000000000000000e+00 -4.196415245532989502e-01 6.414068937301635742e-01 3.090692758560180664e-01 1.000000000000000000e+00 -4.283585250377655029e-01 6.431276202201843262e-01 3.113552033901214600e-01 1.000000000000000000e+00 -4.370755255222320557e-01 6.448482871055603027e-01 3.136411011219024658e-01 1.000000000000000000e+00 -4.457925558090209961e-01 6.465690135955810547e-01 3.159270286560058594e-01 1.000000000000000000e+00 -4.545095562934875488e-01 6.482896804809570312e-01 3.182129561901092529e-01 1.000000000000000000e+00 -4.632265865802764893e-01 6.500103473663330078e-01 3.204988539218902588e-01 1.000000000000000000e+00 -4.719323217868804932e-01 6.517310738563537598e-01 3.217388093471527100e-01 1.000000000000000000e+00 -4.783989787101745605e-01 6.534517407417297363e-01 3.229782283306121826e-01 1.000000000000000000e+00 -4.848656058311462402e-01 6.551724076271057129e-01 3.242176473140716553e-01 1.000000000000000000e+00 -4.913322627544403076e-01 6.568931341171264648e-01 3.254570960998535156e-01 1.000000000000000000e+00 -4.977988898754119873e-01 6.586138010025024414e-01 3.266965150833129883e-01 1.000000000000000000e+00 -5.042655467987060547e-01 6.603344678878784180e-01 3.279359340667724609e-01 1.000000000000000000e+00 -5.107321739196777344e-01 6.620551943778991699e-01 3.291753530502319336e-01 1.000000000000000000e+00 -5.171988010406494141e-01 6.637758612632751465e-01 3.304147720336914062e-01 1.000000000000000000e+00 -5.236654281616210938e-01 6.654965877532958984e-01 3.316542208194732666e-01 1.000000000000000000e+00 -5.301321148872375488e-01 6.672172546386718750e-01 3.328936398029327393e-01 1.000000000000000000e+00 -5.365987420082092285e-01 6.689379215240478516e-01 3.341330587863922119e-01 1.000000000000000000e+00 -5.430653691291809082e-01 6.706586480140686035e-01 3.353724777698516846e-01 1.000000000000000000e+00 -5.495319962501525879e-01 6.723793148994445801e-01 3.366119265556335449e-01 1.000000000000000000e+00 -5.559986829757690430e-01 6.740999817848205566e-01 3.378513455390930176e-01 1.000000000000000000e+00 -5.624653100967407227e-01 6.758207082748413086e-01 3.390907645225524902e-01 1.000000000000000000e+00 -5.689319372177124023e-01 6.775413751602172852e-01 3.403301835060119629e-01 1.000000000000000000e+00 -5.753985643386840820e-01 6.792620420455932617e-01 3.415696024894714355e-01 1.000000000000000000e+00 -5.818651914596557617e-01 6.809827685356140137e-01 3.428090512752532959e-01 1.000000000000000000e+00 -5.883318781852722168e-01 6.827034354209899902e-01 3.440484702587127686e-01 1.000000000000000000e+00 -5.947985053062438965e-01 6.844241023063659668e-01 3.452878892421722412e-01 1.000000000000000000e+00 -6.012651324272155762e-01 6.861448287963867188e-01 3.465273082256317139e-01 1.000000000000000000e+00 -6.077317595481872559e-01 6.878654956817626953e-01 3.477667272090911865e-01 1.000000000000000000e+00 -6.141984462738037109e-01 6.895862221717834473e-01 3.490061759948730469e-01 1.000000000000000000e+00 -6.206650733947753906e-01 6.913068890571594238e-01 3.502455949783325195e-01 1.000000000000000000e+00 -6.271317005157470703e-01 6.930275559425354004e-01 3.514850139617919922e-01 1.000000000000000000e+00 -6.335983276367187500e-01 6.947482824325561523e-01 3.527244329452514648e-01 1.000000000000000000e+00 -6.400649547576904297e-01 6.964689493179321289e-01 3.539638817310333252e-01 1.000000000000000000e+00 -6.465316414833068848e-01 6.981896162033081055e-01 3.552033007144927979e-01 1.000000000000000000e+00 -6.529982686042785645e-01 6.999103426933288574e-01 3.564427196979522705e-01 1.000000000000000000e+00 -6.594648957252502441e-01 7.016310095787048340e-01 3.576821386814117432e-01 1.000000000000000000e+00 -6.659315228462219238e-01 7.033516764640808105e-01 3.589215576648712158e-01 1.000000000000000000e+00 -6.723982095718383789e-01 7.050724029541015625e-01 3.601610064506530762e-01 1.000000000000000000e+00 -6.788648366928100586e-01 7.067930698394775391e-01 3.614004254341125488e-01 1.000000000000000000e+00 -6.853314638137817383e-01 7.085137367248535156e-01 3.626398444175720215e-01 1.000000000000000000e+00 -6.917980909347534180e-01 7.102344632148742676e-01 3.638792634010314941e-01 1.000000000000000000e+00 -6.982647180557250977e-01 7.119551301002502441e-01 3.651187121868133545e-01 1.000000000000000000e+00 -7.047314047813415527e-01 7.136758565902709961e-01 3.663581311702728271e-01 1.000000000000000000e+00 -7.111980319023132324e-01 7.153965234756469727e-01 3.675975501537322998e-01 1.000000000000000000e+00 -7.176163792610168457e-01 7.170661091804504395e-01 3.688369691371917725e-01 1.000000000000000000e+00 -7.192554473876953125e-01 7.136793136596679688e-01 3.700763881206512451e-01 1.000000000000000000e+00 -7.208945155143737793e-01 7.102925181388854980e-01 3.713158369064331055e-01 1.000000000000000000e+00 -7.225335836410522461e-01 7.069057226181030273e-01 3.725552558898925781e-01 1.000000000000000000e+00 -7.241726517677307129e-01 7.035188674926757812e-01 3.737946748733520508e-01 1.000000000000000000e+00 -7.258116602897644043e-01 7.001320719718933105e-01 3.750340938568115234e-01 1.000000000000000000e+00 -7.274507284164428711e-01 6.967452764511108398e-01 3.762735426425933838e-01 1.000000000000000000e+00 -7.290897965431213379e-01 6.933584809303283691e-01 3.775129616260528564e-01 1.000000000000000000e+00 -7.307288646697998047e-01 6.899716854095458984e-01 3.787523806095123291e-01 1.000000000000000000e+00 -7.323679327964782715e-01 6.865848302841186523e-01 3.799917995929718018e-01 1.000000000000000000e+00 -7.340070009231567383e-01 6.831980347633361816e-01 3.812312185764312744e-01 1.000000000000000000e+00 -7.356460690498352051e-01 6.798112392425537109e-01 3.824706673622131348e-01 1.000000000000000000e+00 -7.372850775718688965e-01 6.764244437217712402e-01 3.837100863456726074e-01 1.000000000000000000e+00 -7.389241456985473633e-01 6.730375885963439941e-01 3.849495053291320801e-01 1.000000000000000000e+00 -7.405632138252258301e-01 6.696507930755615234e-01 3.861889243125915527e-01 1.000000000000000000e+00 -7.422022819519042969e-01 6.662639975547790527e-01 3.874283730983734131e-01 1.000000000000000000e+00 -7.438413500785827637e-01 6.628772020339965820e-01 3.886677920818328857e-01 1.000000000000000000e+00 -7.454804182052612305e-01 6.594903469085693359e-01 3.899072110652923584e-01 1.000000000000000000e+00 -7.471194267272949219e-01 6.561035513877868652e-01 3.911466300487518311e-01 1.000000000000000000e+00 -7.487584948539733887e-01 6.527167558670043945e-01 3.923860490322113037e-01 1.000000000000000000e+00 -7.503975629806518555e-01 6.493299603462219238e-01 3.936254978179931641e-01 1.000000000000000000e+00 -7.520366311073303223e-01 6.459431648254394531e-01 3.948649168014526367e-01 1.000000000000000000e+00 -7.536756992340087891e-01 6.425563097000122070e-01 3.961336314678192139e-01 1.000000000000000000e+00 -7.553395032882690430e-01 6.392185091972351074e-01 4.057411253452301025e-01 1.000000000000000000e+00 -7.597258090972900391e-01 6.412773728370666504e-01 4.153485894203186035e-01 1.000000000000000000e+00 -7.641121149063110352e-01 6.429905891418457031e-01 4.249560832977294922e-01 1.000000000000000000e+00 -7.684984207153320312e-01 6.446999907493591309e-01 4.345635771751403809e-01 1.000000000000000000e+00 -7.728847265243530273e-01 6.464093923568725586e-01 4.441710412502288818e-01 1.000000000000000000e+00 -7.772710323333740234e-01 6.481371521949768066e-01 4.537785351276397705e-01 1.000000000000000000e+00 -7.816573381423950195e-01 6.515126824378967285e-01 4.633860290050506592e-01 1.000000000000000000e+00 -7.860436439514160156e-01 6.548882126808166504e-01 4.729935228824615479e-01 1.000000000000000000e+00 -7.904299497604370117e-01 6.582868099212646484e-01 4.826009869575500488e-01 1.000000000000000000e+00 -7.948162555694580078e-01 6.616854667663574219e-01 4.922084808349609375e-01 1.000000000000000000e+00 -7.992025613784790039e-01 6.650841832160949707e-01 5.018159747123718262e-01 1.000000000000000000e+00 -8.035888671875000000e-01 6.684828996658325195e-01 5.114234685897827148e-01 1.000000000000000000e+00 -8.079751729965209961e-01 6.718815565109252930e-01 5.210309624671936035e-01 1.000000000000000000e+00 -8.123614788055419922e-01 6.752802729606628418e-01 5.306384563446044922e-01 1.000000000000000000e+00 -8.167477846145629883e-01 6.786789298057556152e-01 5.402458906173706055e-01 1.000000000000000000e+00 -8.211340904235839844e-01 6.820776462554931641e-01 5.498533844947814941e-01 1.000000000000000000e+00 -8.255203962326049805e-01 6.854763627052307129e-01 5.594608783721923828e-01 1.000000000000000000e+00 -8.299067020416259766e-01 6.888750195503234863e-01 5.690683722496032715e-01 1.000000000000000000e+00 -8.342930078506469727e-01 6.922737360000610352e-01 5.786758661270141602e-01 1.000000000000000000e+00 -8.386793136596679688e-01 6.956723928451538086e-01 5.882833600044250488e-01 1.000000000000000000e+00 -8.430656194686889648e-01 6.990711092948913574e-01 5.978908538818359375e-01 1.000000000000000000e+00 -8.474519252777099609e-01 7.046831250190734863e-01 6.074982881546020508e-01 1.000000000000000000e+00 -8.518382310867309570e-01 7.103140354156494141e-01 6.171057820320129395e-01 1.000000000000000000e+00 -8.562245368957519531e-01 7.159233689308166504e-01 6.267132759094238281e-01 1.000000000000000000e+00 -8.606108427047729492e-01 7.215327024459838867e-01 6.363207697868347168e-01 1.000000000000000000e+00 -8.649971485137939453e-01 7.269150614738464355e-01 6.459282636642456055e-01 1.000000000000000000e+00 -8.693834543228149414e-01 7.322946190834045410e-01 6.555357575416564941e-01 1.000000000000000000e+00 -8.737697601318359375e-01 7.376742362976074219e-01 6.651532053947448730e-01 1.000000000000000000e+00 -8.781560659408569336e-01 7.430766820907592773e-01 6.769734621047973633e-01 1.000000000000000000e+00 -8.825423717498779297e-01 7.507473826408386230e-01 6.887937188148498535e-01 1.000000000000000000e+00 -8.869286775588989258e-01 7.584180235862731934e-01 7.006139755249023438e-01 1.000000000000000000e+00 -8.913149833679199219e-01 7.660886645317077637e-01 7.124341726303100586e-01 1.000000000000000000e+00 -8.957012891769409180e-01 7.737593650817871094e-01 7.242544293403625488e-01 1.000000000000000000e+00 -9.000875949859619141e-01 7.814300060272216797e-01 7.360746860504150391e-01 1.000000000000000000e+00 -9.044739007949829102e-01 7.891006469726562500e-01 7.478949427604675293e-01 1.000000000000000000e+00 -9.088602066040039062e-01 7.967713475227355957e-01 7.597151994705200195e-01 1.000000000000000000e+00 -9.132465124130249023e-01 8.044419884681701660e-01 7.715354561805725098e-01 1.000000000000000000e+00 -9.176328182220458984e-01 8.121126294136047363e-01 7.833557128906250000e-01 1.000000000000000000e+00 -9.220191240310668945e-01 8.197833299636840820e-01 7.951759696006774902e-01 1.000000000000000000e+00 -9.264054298400878906e-01 8.274539709091186523e-01 8.069962263107299805e-01 1.000000000000000000e+00 -9.307917356491088867e-01 8.364381790161132812e-01 8.188164830207824707e-01 1.000000000000000000e+00 -9.351780414581298828e-01 8.454303145408630371e-01 8.306367397308349609e-01 1.000000000000000000e+00 -9.395643472671508789e-01 8.544224500656127930e-01 8.424569964408874512e-01 1.000000000000000000e+00 -9.439506530761718750e-01 8.634145855903625488e-01 8.542772531509399414e-01 1.000000000000000000e+00 -9.483369588851928711e-01 8.725135922431945801e-01 8.660974502563476562e-01 1.000000000000000000e+00 -9.527232646942138672e-01 8.816171884536743164e-01 8.779177069664001465e-01 1.000000000000000000e+00 -9.571095705032348633e-01 8.930696845054626465e-01 8.897379636764526367e-01 1.000000000000000000e+00 -9.614958763122558594e-01 9.045221209526062012e-01 9.015582203865051270e-01 1.000000000000000000e+00 -9.658821821212768555e-01 9.159746170043945312e-01 9.133784770965576172e-01 1.000000000000000000e+00 -9.702684879302978516e-01 9.274271130561828613e-01 9.251987338066101074e-01 1.000000000000000000e+00 -9.746547937393188477e-01 9.388795495033264160e-01 9.370189905166625977e-01 1.000000000000000000e+00 -9.790410995483398438e-01 9.503320455551147461e-01 9.488392472267150879e-01 1.000000000000000000e+00 -9.834274053573608398e-01 9.617845416069030762e-01 9.606595039367675781e-01 1.000000000000000000e+00 -9.878137111663818359e-01 9.732370376586914062e-01 9.724797606468200684e-01 1.000000000000000000e+00 -9.922000169754028320e-01 9.843000173568725586e-01 9.843000173568725586e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/gist_gray b/fastplotlib/utils/colormaps/gist_gray deleted file mode 100644 index 42b875285..000000000 --- a/fastplotlib/utils/colormaps/gist_gray +++ /dev/null @@ -1,256 +0,0 @@ -0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.921568859368562698e-03 3.921568859368562698e-03 3.921568859368562698e-03 1.000000000000000000e+00 -7.843137718737125397e-03 7.843137718737125397e-03 7.843137718737125397e-03 1.000000000000000000e+00 -1.176470611244440079e-02 1.176470611244440079e-02 1.176470611244440079e-02 1.000000000000000000e+00 -1.568627543747425079e-02 1.568627543747425079e-02 1.568627543747425079e-02 1.000000000000000000e+00 -1.960784383118152618e-02 1.960784383118152618e-02 1.960784383118152618e-02 1.000000000000000000e+00 -2.352941222488880157e-02 2.352941222488880157e-02 2.352941222488880157e-02 1.000000000000000000e+00 -2.745098061859607697e-02 2.745098061859607697e-02 2.745098061859607697e-02 1.000000000000000000e+00 -3.137255087494850159e-02 3.137255087494850159e-02 3.137255087494850159e-02 1.000000000000000000e+00 -3.529411926865577698e-02 3.529411926865577698e-02 3.529411926865577698e-02 1.000000000000000000e+00 -3.921568766236305237e-02 3.921568766236305237e-02 3.921568766236305237e-02 1.000000000000000000e+00 -4.313725605607032776e-02 4.313725605607032776e-02 4.313725605607032776e-02 1.000000000000000000e+00 -4.705882444977760315e-02 4.705882444977760315e-02 4.705882444977760315e-02 1.000000000000000000e+00 -5.098039284348487854e-02 5.098039284348487854e-02 5.098039284348487854e-02 1.000000000000000000e+00 -5.490196123719215393e-02 5.490196123719215393e-02 5.490196123719215393e-02 1.000000000000000000e+00 -5.882352963089942932e-02 5.882352963089942932e-02 5.882352963089942932e-02 1.000000000000000000e+00 -6.274510174989700317e-02 6.274510174989700317e-02 6.274510174989700317e-02 1.000000000000000000e+00 -6.666667014360427856e-02 6.666667014360427856e-02 6.666667014360427856e-02 1.000000000000000000e+00 -7.058823853731155396e-02 7.058823853731155396e-02 7.058823853731155396e-02 1.000000000000000000e+00 -7.450980693101882935e-02 7.450980693101882935e-02 7.450980693101882935e-02 1.000000000000000000e+00 -7.843137532472610474e-02 7.843137532472610474e-02 7.843137532472610474e-02 1.000000000000000000e+00 -8.235294371843338013e-02 8.235294371843338013e-02 8.235294371843338013e-02 1.000000000000000000e+00 -8.627451211214065552e-02 8.627451211214065552e-02 8.627451211214065552e-02 1.000000000000000000e+00 -9.019608050584793091e-02 9.019608050584793091e-02 9.019608050584793091e-02 1.000000000000000000e+00 -9.411764889955520630e-02 9.411764889955520630e-02 9.411764889955520630e-02 1.000000000000000000e+00 -9.803921729326248169e-02 9.803921729326248169e-02 9.803921729326248169e-02 1.000000000000000000e+00 -1.019607856869697571e-01 1.019607856869697571e-01 1.019607856869697571e-01 1.000000000000000000e+00 -1.058823540806770325e-01 1.058823540806770325e-01 1.058823540806770325e-01 1.000000000000000000e+00 -1.098039224743843079e-01 1.098039224743843079e-01 1.098039224743843079e-01 1.000000000000000000e+00 -1.137254908680915833e-01 1.137254908680915833e-01 1.137254908680915833e-01 1.000000000000000000e+00 -1.176470592617988586e-01 1.176470592617988586e-01 1.176470592617988586e-01 1.000000000000000000e+00 -1.215686276555061340e-01 1.215686276555061340e-01 1.215686276555061340e-01 1.000000000000000000e+00 -1.254902034997940063e-01 1.254902034997940063e-01 1.254902034997940063e-01 1.000000000000000000e+00 -1.294117718935012817e-01 1.294117718935012817e-01 1.294117718935012817e-01 1.000000000000000000e+00 -1.333333402872085571e-01 1.333333402872085571e-01 1.333333402872085571e-01 1.000000000000000000e+00 -1.372549086809158325e-01 1.372549086809158325e-01 1.372549086809158325e-01 1.000000000000000000e+00 -1.411764770746231079e-01 1.411764770746231079e-01 1.411764770746231079e-01 1.000000000000000000e+00 -1.450980454683303833e-01 1.450980454683303833e-01 1.450980454683303833e-01 1.000000000000000000e+00 -1.490196138620376587e-01 1.490196138620376587e-01 1.490196138620376587e-01 1.000000000000000000e+00 -1.529411822557449341e-01 1.529411822557449341e-01 1.529411822557449341e-01 1.000000000000000000e+00 -1.568627506494522095e-01 1.568627506494522095e-01 1.568627506494522095e-01 1.000000000000000000e+00 -1.607843190431594849e-01 1.607843190431594849e-01 1.607843190431594849e-01 1.000000000000000000e+00 -1.647058874368667603e-01 1.647058874368667603e-01 1.647058874368667603e-01 1.000000000000000000e+00 -1.686274558305740356e-01 1.686274558305740356e-01 1.686274558305740356e-01 1.000000000000000000e+00 -1.725490242242813110e-01 1.725490242242813110e-01 1.725490242242813110e-01 1.000000000000000000e+00 -1.764705926179885864e-01 1.764705926179885864e-01 1.764705926179885864e-01 1.000000000000000000e+00 -1.803921610116958618e-01 1.803921610116958618e-01 1.803921610116958618e-01 1.000000000000000000e+00 -1.843137294054031372e-01 1.843137294054031372e-01 1.843137294054031372e-01 1.000000000000000000e+00 -1.882352977991104126e-01 1.882352977991104126e-01 1.882352977991104126e-01 1.000000000000000000e+00 -1.921568661928176880e-01 1.921568661928176880e-01 1.921568661928176880e-01 1.000000000000000000e+00 -1.960784345865249634e-01 1.960784345865249634e-01 1.960784345865249634e-01 1.000000000000000000e+00 -2.000000029802322388e-01 2.000000029802322388e-01 2.000000029802322388e-01 1.000000000000000000e+00 -2.039215713739395142e-01 2.039215713739395142e-01 2.039215713739395142e-01 1.000000000000000000e+00 -2.078431397676467896e-01 2.078431397676467896e-01 2.078431397676467896e-01 1.000000000000000000e+00 -2.117647081613540649e-01 2.117647081613540649e-01 2.117647081613540649e-01 1.000000000000000000e+00 -2.156862765550613403e-01 2.156862765550613403e-01 2.156862765550613403e-01 1.000000000000000000e+00 -2.196078449487686157e-01 2.196078449487686157e-01 2.196078449487686157e-01 1.000000000000000000e+00 -2.235294133424758911e-01 2.235294133424758911e-01 2.235294133424758911e-01 1.000000000000000000e+00 -2.274509817361831665e-01 2.274509817361831665e-01 2.274509817361831665e-01 1.000000000000000000e+00 -2.313725501298904419e-01 2.313725501298904419e-01 2.313725501298904419e-01 1.000000000000000000e+00 -2.352941185235977173e-01 2.352941185235977173e-01 2.352941185235977173e-01 1.000000000000000000e+00 -2.392156869173049927e-01 2.392156869173049927e-01 2.392156869173049927e-01 1.000000000000000000e+00 -2.431372553110122681e-01 2.431372553110122681e-01 2.431372553110122681e-01 1.000000000000000000e+00 -2.470588237047195435e-01 2.470588237047195435e-01 2.470588237047195435e-01 1.000000000000000000e+00 -2.509804069995880127e-01 2.509804069995880127e-01 2.509804069995880127e-01 1.000000000000000000e+00 -2.549019753932952881e-01 2.549019753932952881e-01 2.549019753932952881e-01 1.000000000000000000e+00 -2.588235437870025635e-01 2.588235437870025635e-01 2.588235437870025635e-01 1.000000000000000000e+00 -2.627451121807098389e-01 2.627451121807098389e-01 2.627451121807098389e-01 1.000000000000000000e+00 -2.666666805744171143e-01 2.666666805744171143e-01 2.666666805744171143e-01 1.000000000000000000e+00 -2.705882489681243896e-01 2.705882489681243896e-01 2.705882489681243896e-01 1.000000000000000000e+00 -2.745098173618316650e-01 2.745098173618316650e-01 2.745098173618316650e-01 1.000000000000000000e+00 -2.784313857555389404e-01 2.784313857555389404e-01 2.784313857555389404e-01 1.000000000000000000e+00 -2.823529541492462158e-01 2.823529541492462158e-01 2.823529541492462158e-01 1.000000000000000000e+00 -2.862745225429534912e-01 2.862745225429534912e-01 2.862745225429534912e-01 1.000000000000000000e+00 -2.901960909366607666e-01 2.901960909366607666e-01 2.901960909366607666e-01 1.000000000000000000e+00 -2.941176593303680420e-01 2.941176593303680420e-01 2.941176593303680420e-01 1.000000000000000000e+00 -2.980392277240753174e-01 2.980392277240753174e-01 2.980392277240753174e-01 1.000000000000000000e+00 -3.019607961177825928e-01 3.019607961177825928e-01 3.019607961177825928e-01 1.000000000000000000e+00 -3.058823645114898682e-01 3.058823645114898682e-01 3.058823645114898682e-01 1.000000000000000000e+00 -3.098039329051971436e-01 3.098039329051971436e-01 3.098039329051971436e-01 1.000000000000000000e+00 -3.137255012989044189e-01 3.137255012989044189e-01 3.137255012989044189e-01 1.000000000000000000e+00 -3.176470696926116943e-01 3.176470696926116943e-01 3.176470696926116943e-01 1.000000000000000000e+00 -3.215686380863189697e-01 3.215686380863189697e-01 3.215686380863189697e-01 1.000000000000000000e+00 -3.254902064800262451e-01 3.254902064800262451e-01 3.254902064800262451e-01 1.000000000000000000e+00 -3.294117748737335205e-01 3.294117748737335205e-01 3.294117748737335205e-01 1.000000000000000000e+00 -3.333333432674407959e-01 3.333333432674407959e-01 3.333333432674407959e-01 1.000000000000000000e+00 -3.372549116611480713e-01 3.372549116611480713e-01 3.372549116611480713e-01 1.000000000000000000e+00 -3.411764800548553467e-01 3.411764800548553467e-01 3.411764800548553467e-01 1.000000000000000000e+00 -3.450980484485626221e-01 3.450980484485626221e-01 3.450980484485626221e-01 1.000000000000000000e+00 -3.490196168422698975e-01 3.490196168422698975e-01 3.490196168422698975e-01 1.000000000000000000e+00 -3.529411852359771729e-01 3.529411852359771729e-01 3.529411852359771729e-01 1.000000000000000000e+00 -3.568627536296844482e-01 3.568627536296844482e-01 3.568627536296844482e-01 1.000000000000000000e+00 -3.607843220233917236e-01 3.607843220233917236e-01 3.607843220233917236e-01 1.000000000000000000e+00 -3.647058904170989990e-01 3.647058904170989990e-01 3.647058904170989990e-01 1.000000000000000000e+00 -3.686274588108062744e-01 3.686274588108062744e-01 3.686274588108062744e-01 1.000000000000000000e+00 -3.725490272045135498e-01 3.725490272045135498e-01 3.725490272045135498e-01 1.000000000000000000e+00 -3.764705955982208252e-01 3.764705955982208252e-01 3.764705955982208252e-01 1.000000000000000000e+00 -3.803921639919281006e-01 3.803921639919281006e-01 3.803921639919281006e-01 1.000000000000000000e+00 -3.843137323856353760e-01 3.843137323856353760e-01 3.843137323856353760e-01 1.000000000000000000e+00 -3.882353007793426514e-01 3.882353007793426514e-01 3.882353007793426514e-01 1.000000000000000000e+00 -3.921568691730499268e-01 3.921568691730499268e-01 3.921568691730499268e-01 1.000000000000000000e+00 -3.960784375667572021e-01 3.960784375667572021e-01 3.960784375667572021e-01 1.000000000000000000e+00 -4.000000059604644775e-01 4.000000059604644775e-01 4.000000059604644775e-01 1.000000000000000000e+00 -4.039215743541717529e-01 4.039215743541717529e-01 4.039215743541717529e-01 1.000000000000000000e+00 -4.078431427478790283e-01 4.078431427478790283e-01 4.078431427478790283e-01 1.000000000000000000e+00 -4.117647111415863037e-01 4.117647111415863037e-01 4.117647111415863037e-01 1.000000000000000000e+00 -4.156862795352935791e-01 4.156862795352935791e-01 4.156862795352935791e-01 1.000000000000000000e+00 -4.196078479290008545e-01 4.196078479290008545e-01 4.196078479290008545e-01 1.000000000000000000e+00 -4.235294163227081299e-01 4.235294163227081299e-01 4.235294163227081299e-01 1.000000000000000000e+00 -4.274509847164154053e-01 4.274509847164154053e-01 4.274509847164154053e-01 1.000000000000000000e+00 -4.313725531101226807e-01 4.313725531101226807e-01 4.313725531101226807e-01 1.000000000000000000e+00 -4.352941215038299561e-01 4.352941215038299561e-01 4.352941215038299561e-01 1.000000000000000000e+00 -4.392156898975372314e-01 4.392156898975372314e-01 4.392156898975372314e-01 1.000000000000000000e+00 -4.431372582912445068e-01 4.431372582912445068e-01 4.431372582912445068e-01 1.000000000000000000e+00 -4.470588266849517822e-01 4.470588266849517822e-01 4.470588266849517822e-01 1.000000000000000000e+00 -4.509803950786590576e-01 4.509803950786590576e-01 4.509803950786590576e-01 1.000000000000000000e+00 -4.549019634723663330e-01 4.549019634723663330e-01 4.549019634723663330e-01 1.000000000000000000e+00 -4.588235318660736084e-01 4.588235318660736084e-01 4.588235318660736084e-01 1.000000000000000000e+00 -4.627451002597808838e-01 4.627451002597808838e-01 4.627451002597808838e-01 1.000000000000000000e+00 -4.666666686534881592e-01 4.666666686534881592e-01 4.666666686534881592e-01 1.000000000000000000e+00 -4.705882370471954346e-01 4.705882370471954346e-01 4.705882370471954346e-01 1.000000000000000000e+00 -4.745098054409027100e-01 4.745098054409027100e-01 4.745098054409027100e-01 1.000000000000000000e+00 -4.784313738346099854e-01 4.784313738346099854e-01 4.784313738346099854e-01 1.000000000000000000e+00 -4.823529422283172607e-01 4.823529422283172607e-01 4.823529422283172607e-01 1.000000000000000000e+00 -4.862745106220245361e-01 4.862745106220245361e-01 4.862745106220245361e-01 1.000000000000000000e+00 -4.901960790157318115e-01 4.901960790157318115e-01 4.901960790157318115e-01 1.000000000000000000e+00 -4.941176474094390869e-01 4.941176474094390869e-01 4.941176474094390869e-01 1.000000000000000000e+00 -4.980392158031463623e-01 4.980392158031463623e-01 4.980392158031463623e-01 1.000000000000000000e+00 -5.019608139991760254e-01 5.019608139991760254e-01 5.019608139991760254e-01 1.000000000000000000e+00 -5.058823823928833008e-01 5.058823823928833008e-01 5.058823823928833008e-01 1.000000000000000000e+00 -5.098039507865905762e-01 5.098039507865905762e-01 5.098039507865905762e-01 1.000000000000000000e+00 -5.137255191802978516e-01 5.137255191802978516e-01 5.137255191802978516e-01 1.000000000000000000e+00 -5.176470875740051270e-01 5.176470875740051270e-01 5.176470875740051270e-01 1.000000000000000000e+00 -5.215686559677124023e-01 5.215686559677124023e-01 5.215686559677124023e-01 1.000000000000000000e+00 -5.254902243614196777e-01 5.254902243614196777e-01 5.254902243614196777e-01 1.000000000000000000e+00 -5.294117927551269531e-01 5.294117927551269531e-01 5.294117927551269531e-01 1.000000000000000000e+00 -5.333333611488342285e-01 5.333333611488342285e-01 5.333333611488342285e-01 1.000000000000000000e+00 -5.372549295425415039e-01 5.372549295425415039e-01 5.372549295425415039e-01 1.000000000000000000e+00 -5.411764979362487793e-01 5.411764979362487793e-01 5.411764979362487793e-01 1.000000000000000000e+00 -5.450980663299560547e-01 5.450980663299560547e-01 5.450980663299560547e-01 1.000000000000000000e+00 -5.490196347236633301e-01 5.490196347236633301e-01 5.490196347236633301e-01 1.000000000000000000e+00 -5.529412031173706055e-01 5.529412031173706055e-01 5.529412031173706055e-01 1.000000000000000000e+00 -5.568627715110778809e-01 5.568627715110778809e-01 5.568627715110778809e-01 1.000000000000000000e+00 -5.607843399047851562e-01 5.607843399047851562e-01 5.607843399047851562e-01 1.000000000000000000e+00 -5.647059082984924316e-01 5.647059082984924316e-01 5.647059082984924316e-01 1.000000000000000000e+00 -5.686274766921997070e-01 5.686274766921997070e-01 5.686274766921997070e-01 1.000000000000000000e+00 -5.725490450859069824e-01 5.725490450859069824e-01 5.725490450859069824e-01 1.000000000000000000e+00 -5.764706134796142578e-01 5.764706134796142578e-01 5.764706134796142578e-01 1.000000000000000000e+00 -5.803921818733215332e-01 5.803921818733215332e-01 5.803921818733215332e-01 1.000000000000000000e+00 -5.843137502670288086e-01 5.843137502670288086e-01 5.843137502670288086e-01 1.000000000000000000e+00 -5.882353186607360840e-01 5.882353186607360840e-01 5.882353186607360840e-01 1.000000000000000000e+00 -5.921568870544433594e-01 5.921568870544433594e-01 5.921568870544433594e-01 1.000000000000000000e+00 -5.960784554481506348e-01 5.960784554481506348e-01 5.960784554481506348e-01 1.000000000000000000e+00 -6.000000238418579102e-01 6.000000238418579102e-01 6.000000238418579102e-01 1.000000000000000000e+00 -6.039215922355651855e-01 6.039215922355651855e-01 6.039215922355651855e-01 1.000000000000000000e+00 -6.078431606292724609e-01 6.078431606292724609e-01 6.078431606292724609e-01 1.000000000000000000e+00 -6.117647290229797363e-01 6.117647290229797363e-01 6.117647290229797363e-01 1.000000000000000000e+00 -6.156862974166870117e-01 6.156862974166870117e-01 6.156862974166870117e-01 1.000000000000000000e+00 -6.196078658103942871e-01 6.196078658103942871e-01 6.196078658103942871e-01 1.000000000000000000e+00 -6.235294342041015625e-01 6.235294342041015625e-01 6.235294342041015625e-01 1.000000000000000000e+00 -6.274510025978088379e-01 6.274510025978088379e-01 6.274510025978088379e-01 1.000000000000000000e+00 -6.313725709915161133e-01 6.313725709915161133e-01 6.313725709915161133e-01 1.000000000000000000e+00 -6.352941393852233887e-01 6.352941393852233887e-01 6.352941393852233887e-01 1.000000000000000000e+00 -6.392157077789306641e-01 6.392157077789306641e-01 6.392157077789306641e-01 1.000000000000000000e+00 -6.431372761726379395e-01 6.431372761726379395e-01 6.431372761726379395e-01 1.000000000000000000e+00 -6.470588445663452148e-01 6.470588445663452148e-01 6.470588445663452148e-01 1.000000000000000000e+00 -6.509804129600524902e-01 6.509804129600524902e-01 6.509804129600524902e-01 1.000000000000000000e+00 -6.549019813537597656e-01 6.549019813537597656e-01 6.549019813537597656e-01 1.000000000000000000e+00 -6.588235497474670410e-01 6.588235497474670410e-01 6.588235497474670410e-01 1.000000000000000000e+00 -6.627451181411743164e-01 6.627451181411743164e-01 6.627451181411743164e-01 1.000000000000000000e+00 -6.666666865348815918e-01 6.666666865348815918e-01 6.666666865348815918e-01 1.000000000000000000e+00 -6.705882549285888672e-01 6.705882549285888672e-01 6.705882549285888672e-01 1.000000000000000000e+00 -6.745098233222961426e-01 6.745098233222961426e-01 6.745098233222961426e-01 1.000000000000000000e+00 -6.784313917160034180e-01 6.784313917160034180e-01 6.784313917160034180e-01 1.000000000000000000e+00 -6.823529601097106934e-01 6.823529601097106934e-01 6.823529601097106934e-01 1.000000000000000000e+00 -6.862745285034179688e-01 6.862745285034179688e-01 6.862745285034179688e-01 1.000000000000000000e+00 -6.901960968971252441e-01 6.901960968971252441e-01 6.901960968971252441e-01 1.000000000000000000e+00 -6.941176652908325195e-01 6.941176652908325195e-01 6.941176652908325195e-01 1.000000000000000000e+00 -6.980392336845397949e-01 6.980392336845397949e-01 6.980392336845397949e-01 1.000000000000000000e+00 -7.019608020782470703e-01 7.019608020782470703e-01 7.019608020782470703e-01 1.000000000000000000e+00 -7.058823704719543457e-01 7.058823704719543457e-01 7.058823704719543457e-01 1.000000000000000000e+00 -7.098039388656616211e-01 7.098039388656616211e-01 7.098039388656616211e-01 1.000000000000000000e+00 -7.137255072593688965e-01 7.137255072593688965e-01 7.137255072593688965e-01 1.000000000000000000e+00 -7.176470756530761719e-01 7.176470756530761719e-01 7.176470756530761719e-01 1.000000000000000000e+00 -7.215686440467834473e-01 7.215686440467834473e-01 7.215686440467834473e-01 1.000000000000000000e+00 -7.254902124404907227e-01 7.254902124404907227e-01 7.254902124404907227e-01 1.000000000000000000e+00 -7.294117808341979980e-01 7.294117808341979980e-01 7.294117808341979980e-01 1.000000000000000000e+00 -7.333333492279052734e-01 7.333333492279052734e-01 7.333333492279052734e-01 1.000000000000000000e+00 -7.372549176216125488e-01 7.372549176216125488e-01 7.372549176216125488e-01 1.000000000000000000e+00 -7.411764860153198242e-01 7.411764860153198242e-01 7.411764860153198242e-01 1.000000000000000000e+00 -7.450980544090270996e-01 7.450980544090270996e-01 7.450980544090270996e-01 1.000000000000000000e+00 -7.490196228027343750e-01 7.490196228027343750e-01 7.490196228027343750e-01 1.000000000000000000e+00 -7.529411911964416504e-01 7.529411911964416504e-01 7.529411911964416504e-01 1.000000000000000000e+00 -7.568627595901489258e-01 7.568627595901489258e-01 7.568627595901489258e-01 1.000000000000000000e+00 -7.607843279838562012e-01 7.607843279838562012e-01 7.607843279838562012e-01 1.000000000000000000e+00 -7.647058963775634766e-01 7.647058963775634766e-01 7.647058963775634766e-01 1.000000000000000000e+00 -7.686274647712707520e-01 7.686274647712707520e-01 7.686274647712707520e-01 1.000000000000000000e+00 -7.725490331649780273e-01 7.725490331649780273e-01 7.725490331649780273e-01 1.000000000000000000e+00 -7.764706015586853027e-01 7.764706015586853027e-01 7.764706015586853027e-01 1.000000000000000000e+00 -7.803921699523925781e-01 7.803921699523925781e-01 7.803921699523925781e-01 1.000000000000000000e+00 -7.843137383460998535e-01 7.843137383460998535e-01 7.843137383460998535e-01 1.000000000000000000e+00 -7.882353067398071289e-01 7.882353067398071289e-01 7.882353067398071289e-01 1.000000000000000000e+00 -7.921568751335144043e-01 7.921568751335144043e-01 7.921568751335144043e-01 1.000000000000000000e+00 -7.960784435272216797e-01 7.960784435272216797e-01 7.960784435272216797e-01 1.000000000000000000e+00 -8.000000119209289551e-01 8.000000119209289551e-01 8.000000119209289551e-01 1.000000000000000000e+00 -8.039215803146362305e-01 8.039215803146362305e-01 8.039215803146362305e-01 1.000000000000000000e+00 -8.078431487083435059e-01 8.078431487083435059e-01 8.078431487083435059e-01 1.000000000000000000e+00 -8.117647171020507812e-01 8.117647171020507812e-01 8.117647171020507812e-01 1.000000000000000000e+00 -8.156862854957580566e-01 8.156862854957580566e-01 8.156862854957580566e-01 1.000000000000000000e+00 -8.196078538894653320e-01 8.196078538894653320e-01 8.196078538894653320e-01 1.000000000000000000e+00 -8.235294222831726074e-01 8.235294222831726074e-01 8.235294222831726074e-01 1.000000000000000000e+00 -8.274509906768798828e-01 8.274509906768798828e-01 8.274509906768798828e-01 1.000000000000000000e+00 -8.313725590705871582e-01 8.313725590705871582e-01 8.313725590705871582e-01 1.000000000000000000e+00 -8.352941274642944336e-01 8.352941274642944336e-01 8.352941274642944336e-01 1.000000000000000000e+00 -8.392156958580017090e-01 8.392156958580017090e-01 8.392156958580017090e-01 1.000000000000000000e+00 -8.431372642517089844e-01 8.431372642517089844e-01 8.431372642517089844e-01 1.000000000000000000e+00 -8.470588326454162598e-01 8.470588326454162598e-01 8.470588326454162598e-01 1.000000000000000000e+00 -8.509804010391235352e-01 8.509804010391235352e-01 8.509804010391235352e-01 1.000000000000000000e+00 -8.549019694328308105e-01 8.549019694328308105e-01 8.549019694328308105e-01 1.000000000000000000e+00 -8.588235378265380859e-01 8.588235378265380859e-01 8.588235378265380859e-01 1.000000000000000000e+00 -8.627451062202453613e-01 8.627451062202453613e-01 8.627451062202453613e-01 1.000000000000000000e+00 -8.666666746139526367e-01 8.666666746139526367e-01 8.666666746139526367e-01 1.000000000000000000e+00 -8.705882430076599121e-01 8.705882430076599121e-01 8.705882430076599121e-01 1.000000000000000000e+00 -8.745098114013671875e-01 8.745098114013671875e-01 8.745098114013671875e-01 1.000000000000000000e+00 -8.784313797950744629e-01 8.784313797950744629e-01 8.784313797950744629e-01 1.000000000000000000e+00 -8.823529481887817383e-01 8.823529481887817383e-01 8.823529481887817383e-01 1.000000000000000000e+00 -8.862745165824890137e-01 8.862745165824890137e-01 8.862745165824890137e-01 1.000000000000000000e+00 -8.901960849761962891e-01 8.901960849761962891e-01 8.901960849761962891e-01 1.000000000000000000e+00 -8.941176533699035645e-01 8.941176533699035645e-01 8.941176533699035645e-01 1.000000000000000000e+00 -8.980392217636108398e-01 8.980392217636108398e-01 8.980392217636108398e-01 1.000000000000000000e+00 -9.019607901573181152e-01 9.019607901573181152e-01 9.019607901573181152e-01 1.000000000000000000e+00 -9.058823585510253906e-01 9.058823585510253906e-01 9.058823585510253906e-01 1.000000000000000000e+00 -9.098039269447326660e-01 9.098039269447326660e-01 9.098039269447326660e-01 1.000000000000000000e+00 -9.137254953384399414e-01 9.137254953384399414e-01 9.137254953384399414e-01 1.000000000000000000e+00 -9.176470637321472168e-01 9.176470637321472168e-01 9.176470637321472168e-01 1.000000000000000000e+00 -9.215686321258544922e-01 9.215686321258544922e-01 9.215686321258544922e-01 1.000000000000000000e+00 -9.254902005195617676e-01 9.254902005195617676e-01 9.254902005195617676e-01 1.000000000000000000e+00 -9.294117689132690430e-01 9.294117689132690430e-01 9.294117689132690430e-01 1.000000000000000000e+00 -9.333333373069763184e-01 9.333333373069763184e-01 9.333333373069763184e-01 1.000000000000000000e+00 -9.372549057006835938e-01 9.372549057006835938e-01 9.372549057006835938e-01 1.000000000000000000e+00 -9.411764740943908691e-01 9.411764740943908691e-01 9.411764740943908691e-01 1.000000000000000000e+00 -9.450980424880981445e-01 9.450980424880981445e-01 9.450980424880981445e-01 1.000000000000000000e+00 -9.490196108818054199e-01 9.490196108818054199e-01 9.490196108818054199e-01 1.000000000000000000e+00 -9.529411792755126953e-01 9.529411792755126953e-01 9.529411792755126953e-01 1.000000000000000000e+00 -9.568627476692199707e-01 9.568627476692199707e-01 9.568627476692199707e-01 1.000000000000000000e+00 -9.607843160629272461e-01 9.607843160629272461e-01 9.607843160629272461e-01 1.000000000000000000e+00 -9.647058844566345215e-01 9.647058844566345215e-01 9.647058844566345215e-01 1.000000000000000000e+00 -9.686274528503417969e-01 9.686274528503417969e-01 9.686274528503417969e-01 1.000000000000000000e+00 -9.725490212440490723e-01 9.725490212440490723e-01 9.725490212440490723e-01 1.000000000000000000e+00 -9.764705896377563477e-01 9.764705896377563477e-01 9.764705896377563477e-01 1.000000000000000000e+00 -9.803921580314636230e-01 9.803921580314636230e-01 9.803921580314636230e-01 1.000000000000000000e+00 -9.843137264251708984e-01 9.843137264251708984e-01 9.843137264251708984e-01 1.000000000000000000e+00 -9.882352948188781738e-01 9.882352948188781738e-01 9.882352948188781738e-01 1.000000000000000000e+00 -9.921568632125854492e-01 9.921568632125854492e-01 9.921568632125854492e-01 1.000000000000000000e+00 -9.960784316062927246e-01 9.960784316062927246e-01 9.960784316062927246e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/gist_heat b/fastplotlib/utils/colormaps/gist_heat deleted file mode 100644 index 9e17b7574..000000000 --- a/fastplotlib/utils/colormaps/gist_heat +++ /dev/null @@ -1,256 +0,0 @@ -0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.882353056222200394e-03 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.176470611244440079e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.764705963432788849e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.352941222488880157e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.941176481544971466e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.529411926865577698e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.117647185921669006e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.705882444977760315e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.294117704033851624e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.882352963089942932e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.470588594675064087e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.058823853731155396e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.647059112787246704e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.235294371843338013e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.823529630899429321e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.411764889955520630e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000014901161194e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.058823540806770325e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.117647066712379456e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.176470592617988586e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.235294118523597717e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.294117718935012817e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.352941244840621948e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.411764770746231079e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.470588296651840210e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.529411822557449341e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.588235348463058472e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.647058874368667603e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.705882400274276733e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.764705926179885864e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.823529452085494995e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.882352977991104126e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.941176503896713257e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.000000029802322388e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.058823555707931519e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.117647081613540649e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.176470607519149780e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.235294133424758911e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.294117659330368042e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.352941185235977173e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.411764711141586304e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.470588237047195435e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.529411911964416504e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.588235437870025635e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.647058963775634766e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.705882489681243896e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.764706015586853027e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.823529541492462158e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.882353067398071289e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.941176593303680420e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.000000119209289551e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.058823645114898682e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.117647171020507812e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.176470696926116943e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.235294222831726074e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.294117748737335205e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.352941274642944336e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.411764800548553467e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.470588326454162598e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.529411852359771729e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.588235378265380859e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.647058904170989990e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.705882430076599121e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.764705955982208252e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.823529481887817383e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.882353007793426514e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.941176533699035645e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.000000059604644775e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.058823585510253906e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.117647111415863037e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.176470637321472168e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.235294163227081299e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.294117689132690430e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.352941215038299561e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.411764740943908691e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.470588266849517822e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.529411792755126953e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.588235318660736084e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.647058844566345215e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.705882370471954346e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.764705896377563477e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.823529422283172607e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.882352948188781738e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.941176474094390869e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.000000000000000000e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.058823823928833008e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.117647051811218262e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.176470875740051270e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.235294103622436523e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.294117927551269531e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.352941155433654785e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.411764979362487793e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.470588207244873047e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.529412031173706055e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.588235259056091309e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.647059082984924316e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.705882310867309570e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.764706134796142578e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.823529362678527832e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.882353186607360840e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.941176414489746094e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.000000238418579102e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.058823466300964355e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.117647290229797363e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.176470518112182617e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.235294342041015625e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.294117569923400879e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.352941393852233887e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.411764621734619141e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.470588445663452148e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.529411673545837402e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.588235497474670410e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.647058725357055664e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.705882549285888672e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.764705777168273926e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.823529601097106934e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.882352828979492188e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.941176652908325195e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.999999880790710449e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.058823704719543457e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.117646932601928711e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.176470756530761719e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.235293984413146973e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.294117808341979980e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.352941036224365234e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.411764860153198242e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.470588088035583496e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.529411911964416504e-01 3.921568859368562698e-03 0.000000000000000000e+00 1.000000000000000000e+00 -7.588235139846801758e-01 1.176470611244440079e-02 0.000000000000000000e+00 1.000000000000000000e+00 -7.647058963775634766e-01 1.960784383118152618e-02 0.000000000000000000e+00 1.000000000000000000e+00 -7.705882191658020020e-01 2.745098061859607697e-02 0.000000000000000000e+00 1.000000000000000000e+00 -7.764706015586853027e-01 3.529411926865577698e-02 0.000000000000000000e+00 1.000000000000000000e+00 -7.823529243469238281e-01 4.313725605607032776e-02 0.000000000000000000e+00 1.000000000000000000e+00 -7.882353067398071289e-01 5.098039284348487854e-02 0.000000000000000000e+00 1.000000000000000000e+00 -7.941176295280456543e-01 5.882352963089942932e-02 0.000000000000000000e+00 1.000000000000000000e+00 -8.000000119209289551e-01 6.666667014360427856e-02 0.000000000000000000e+00 1.000000000000000000e+00 -8.058823347091674805e-01 7.450980693101882935e-02 0.000000000000000000e+00 1.000000000000000000e+00 -8.117647171020507812e-01 8.235294371843338013e-02 0.000000000000000000e+00 1.000000000000000000e+00 -8.176470398902893066e-01 9.019608050584793091e-02 0.000000000000000000e+00 1.000000000000000000e+00 -8.235294222831726074e-01 9.803921729326248169e-02 0.000000000000000000e+00 1.000000000000000000e+00 -8.294117450714111328e-01 1.058823540806770325e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.352941274642944336e-01 1.137254908680915833e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.411764502525329590e-01 1.215686276555061340e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.470588326454162598e-01 1.294117718935012817e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.529411554336547852e-01 1.372549086809158325e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.588235378265380859e-01 1.450980454683303833e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.647058606147766113e-01 1.529411822557449341e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.705882430076599121e-01 1.607843190431594849e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.764705657958984375e-01 1.686274558305740356e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.823529481887817383e-01 1.764705926179885864e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.882352709770202637e-01 1.843137294054031372e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.941176533699035645e-01 1.921568661928176880e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.999999761581420898e-01 2.000000029802322388e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.058823585510253906e-01 2.078431397676467896e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.117646813392639160e-01 2.156862765550613403e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.176470637321472168e-01 2.235294133424758911e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.235293865203857422e-01 2.313725501298904419e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.294117689132690430e-01 2.392156869173049927e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.352940917015075684e-01 2.470588237047195435e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.411764740943908691e-01 2.549019753932952881e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.470587968826293945e-01 2.627451121807098389e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.529411792755126953e-01 2.705882489681243896e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.588235020637512207e-01 2.784313857555389404e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.647058844566345215e-01 2.862745225429534912e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.705882072448730469e-01 2.941176593303680420e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.764705896377563477e-01 3.019607961177825928e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.823529124259948730e-01 3.098039329051971436e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.882352948188781738e-01 3.176470696926116943e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.941176176071166992e-01 3.254902064800262451e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.333333432674407959e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.411764800548553467e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.490196168422698975e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.568627536296844482e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.647058904170989990e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.725490272045135498e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.803921639919281006e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.882353007793426514e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.960784375667572021e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.039215743541717529e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.117647111415863037e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.196078479290008545e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.274509847164154053e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.352941215038299561e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.431372582912445068e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.509803950786590576e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.588235318660736084e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.666666686534881592e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.745098054409027100e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.823529422283172607e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.901960790157318115e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.980392158031463623e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.058823823928833008e-01 1.176470611244440079e-02 1.000000000000000000e+00 -1.000000000000000000e+00 5.137255191802978516e-01 2.745098061859607697e-02 1.000000000000000000e+00 -1.000000000000000000e+00 5.215686559677124023e-01 4.313725605607032776e-02 1.000000000000000000e+00 -1.000000000000000000e+00 5.294117927551269531e-01 5.882352963089942932e-02 1.000000000000000000e+00 -1.000000000000000000e+00 5.372549295425415039e-01 7.450980693101882935e-02 1.000000000000000000e+00 -1.000000000000000000e+00 5.450980663299560547e-01 9.019608050584793091e-02 1.000000000000000000e+00 -1.000000000000000000e+00 5.529412031173706055e-01 1.058823540806770325e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.607843399047851562e-01 1.215686276555061340e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.686274766921997070e-01 1.372549086809158325e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.764706134796142578e-01 1.529411822557449341e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.843137502670288086e-01 1.686274558305740356e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.921568870544433594e-01 1.843137294054031372e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.000000238418579102e-01 2.000000029802322388e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.078431606292724609e-01 2.156862765550613403e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.156862974166870117e-01 2.313725501298904419e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.235294342041015625e-01 2.470588237047195435e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.313725709915161133e-01 2.627451121807098389e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.392157077789306641e-01 2.784313857555389404e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.470588445663452148e-01 2.941176593303680420e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.549019813537597656e-01 3.098039329051971436e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.627451181411743164e-01 3.254902064800262451e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.705882549285888672e-01 3.411764800548553467e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.784313917160034180e-01 3.568627536296844482e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.862745285034179688e-01 3.725490272045135498e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.941176652908325195e-01 3.882353007793426514e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.019608020782470703e-01 4.039215743541717529e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.098039388656616211e-01 4.196078479290008545e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.176470756530761719e-01 4.352941215038299561e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.254902124404907227e-01 4.509803950786590576e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.333333492279052734e-01 4.666666686534881592e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.411764860153198242e-01 4.823529422283172607e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.490196228027343750e-01 4.980392158031463623e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.568627595901489258e-01 5.137255191802978516e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.647058963775634766e-01 5.294117927551269531e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.725490331649780273e-01 5.450980663299560547e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.803921699523925781e-01 5.607843399047851562e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.882353067398071289e-01 5.764706134796142578e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.960784435272216797e-01 5.921568870544433594e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.039215803146362305e-01 6.078431606292724609e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.117647171020507812e-01 6.235294342041015625e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.196078538894653320e-01 6.392157077789306641e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.274509906768798828e-01 6.549019813537597656e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.352941274642944336e-01 6.705882549285888672e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.431372642517089844e-01 6.862745285034179688e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.509804010391235352e-01 7.019608020782470703e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.588235378265380859e-01 7.176470756530761719e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.666666746139526367e-01 7.333333492279052734e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.745098114013671875e-01 7.490196228027343750e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.823529481887817383e-01 7.647058963775634766e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.901960849761962891e-01 7.803921699523925781e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.980392217636108398e-01 7.960784435272216797e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.058823585510253906e-01 8.117647171020507812e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.137254953384399414e-01 8.274509906768798828e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.215686321258544922e-01 8.431372642517089844e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.294117689132690430e-01 8.588235378265380859e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.372549057006835938e-01 8.745098114013671875e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.450980424880981445e-01 8.901960849761962891e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.529411792755126953e-01 9.058823585510253906e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.607843160629272461e-01 9.215686321258544922e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.686274528503417969e-01 9.372549057006835938e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.764705896377563477e-01 9.529411792755126953e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.843137264251708984e-01 9.686274528503417969e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.921568632125854492e-01 9.843137264251708984e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/gist_ncar b/fastplotlib/utils/colormaps/gist_ncar deleted file mode 100644 index 333046723..000000000 --- a/fastplotlib/utils/colormaps/gist_ncar +++ /dev/null @@ -1,256 +0,0 @@ -0.000000000000000000e+00 0.000000000000000000e+00 5.019999742507934570e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.861976251006126404e-02 4.651064872741699219e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.723952502012252808e-02 4.282130002975463867e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.585928380489349365e-02 3.913194835186004639e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.144790500402450562e-01 3.544259965419769287e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.430988013744354248e-01 3.175324797630310059e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.717185676097869873e-01 2.806389927864074707e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.003383338451385498e-01 2.437454760074615479e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.289581000804901123e-01 2.068519741296768188e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.575778663158416748e-01 1.699584722518920898e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.861976027488708496e-01 1.330649703741073608e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.148173689842224121e-01 9.617147594690322876e-02 1.000000000000000000e+00 -0.000000000000000000e+00 3.434371352195739746e-01 5.927797034382820129e-02 1.000000000000000000e+00 -0.000000000000000000e+00 3.720569014549255371e-01 2.238446660339832306e-02 1.000000000000000000e+00 -0.000000000000000000e+00 3.457462787628173828e-01 8.708668500185012817e-02 1.000000000000000000e+00 -0.000000000000000000e+00 3.191595971584320068e-01 1.522994339466094971e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.925729453563690186e-01 2.175121903419494629e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.659862637519836426e-01 2.827249467372894287e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.393996119499206543e-01 3.479377031326293945e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.128129452466964722e-01 4.131504595279693604e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.862262934446334839e-01 4.783631861209869385e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.596396267414093018e-01 5.435759425163269043e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.330529600381851196e-01 6.087887287139892578e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.064662933349609375e-01 6.740014553070068359e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.987963408231735229e-02 7.392141819000244141e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.329296737909317017e-02 8.044269680976867676e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.670630440115928650e-02 8.696396946907043457e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.196399898617528379e-04 9.348524808883666992e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.512949451804161072e-02 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 1.105081960558891296e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 1.658868938684463501e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 2.212655991315841675e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 2.766442894935607910e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 3.320229947566986084e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 3.874017000198364258e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 4.427804052829742432e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 4.981591105461120605e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 5.535377860069274902e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 6.089165210723876953e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 6.642951965332031250e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 7.196739315986633301e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 7.535652518272399902e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 7.752259373664855957e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 7.925115823745727539e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.097972273826599121e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.270829319953918457e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.443685770034790039e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.616542220115661621e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.789398670196533203e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.962255716323852539e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 9.135112166404724121e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 9.307968616485595703e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 9.480825066566467285e-01 9.998586177825927734e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.653682112693786621e-01 9.741483330726623535e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.826538562774658203e-01 9.484380483627319336e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.999395012855529785e-01 9.227277636528015137e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.982228875160217285e-01 8.970174789428710938e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.964395165443420410e-01 8.713071942329406738e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.946561455726623535e-01 8.455969095230102539e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.928728342056274414e-01 8.198866248130798340e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.910894632339477539e-01 7.941763401031494141e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.893060922622680664e-01 7.684660553932189941e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.875227212905883789e-01 7.427557706832885742e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.857393503189086914e-01 7.170454859733581543e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.839560389518737793e-01 6.913352012634277344e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.821726679801940918e-01 6.656249165534973145e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.804000258445739746e-01 6.399146318435668945e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.804000258445739746e-01 6.140294671058654785e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.804000258445739746e-01 5.731160044670104980e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.804000258445739746e-01 5.322025418281555176e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.820304512977600098e-01 4.912890493869781494e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.836658239364624023e-01 4.503755867481231689e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.853012561798095703e-01 4.094620943069458008e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.869366288185119629e-01 3.685486316680908203e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.885720014572143555e-01 3.276351392269134521e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.902073740959167480e-01 2.867216765880584717e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.918427467346191406e-01 2.458081841468811035e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.934781193733215332e-01 2.048947066068649292e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.951134920120239258e-01 1.639812290668487549e-01 1.000000000000000000e+00 -2.497420064173638821e-05 9.967488646507263184e-01 1.230677440762519836e-01 1.000000000000000000e+00 -2.499917522072792053e-02 9.983842372894287109e-01 8.215426653623580933e-02 1.000000000000000000e+00 -4.997337609529495239e-02 9.998229146003723145e-01 4.124078527092933655e-02 1.000000000000000000e+00 -7.494757324457168579e-02 9.850670695304870605e-01 3.273078473284840584e-04 1.000000000000000000e+00 -9.992177784442901611e-02 9.703112244606018066e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.248959749937057495e-01 9.555553197860717773e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.498701721429824829e-01 9.407994747161865234e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.748443692922592163e-01 9.260436296463012695e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.998185813426971436e-01 9.112877249717712402e-01 0.000000000000000000e+00 1.000000000000000000e+00 -2.247927784919738770e-01 8.965318799018859863e-01 0.000000000000000000e+00 1.000000000000000000e+00 -2.497669756412506104e-01 8.817760348320007324e-01 0.000000000000000000e+00 1.000000000000000000e+00 -2.747411727905273438e-01 8.670201897621154785e-01 0.000000000000000000e+00 1.000000000000000000e+00 -2.997153699398040771e-01 8.522642850875854492e-01 0.000000000000000000e+00 1.000000000000000000e+00 -3.246895670890808105e-01 8.375084400177001953e-01 0.000000000000000000e+00 1.000000000000000000e+00 -3.496637642383575439e-01 8.227525949478149414e-01 0.000000000000000000e+00 1.000000000000000000e+00 -3.746379911899566650e-01 8.081894516944885254e-01 0.000000000000000000e+00 1.000000000000000000e+00 -3.993970751762390137e-01 8.209661841392517090e-01 0.000000000000000000e+00 1.000000000000000000e+00 -4.071633219718933105e-01 8.337428569793701172e-01 0.000000000000000000e+00 1.000000000000000000e+00 -4.149295687675476074e-01 8.465195894241333008e-01 0.000000000000000000e+00 1.000000000000000000e+00 -4.226958155632019043e-01 8.592963218688964844e-01 0.000000000000000000e+00 1.000000000000000000e+00 -4.304620623588562012e-01 8.720730543136596680e-01 0.000000000000000000e+00 1.000000000000000000e+00 -4.382283091545104980e-01 8.848497867584228516e-01 0.000000000000000000e+00 1.000000000000000000e+00 -4.459945261478424072e-01 8.976265192031860352e-01 0.000000000000000000e+00 1.000000000000000000e+00 -4.537607729434967041e-01 9.104032516479492188e-01 0.000000000000000000e+00 1.000000000000000000e+00 -4.615270197391510010e-01 9.231799244880676270e-01 0.000000000000000000e+00 1.000000000000000000e+00 -4.692932665348052979e-01 9.359566569328308105e-01 0.000000000000000000e+00 1.000000000000000000e+00 -4.770595133304595947e-01 9.487333893775939941e-01 0.000000000000000000e+00 1.000000000000000000e+00 -4.848257601261138916e-01 9.615101218223571777e-01 0.000000000000000000e+00 1.000000000000000000e+00 -4.925920069217681885e-01 9.742868542671203613e-01 1.556491293013095856e-02 1.000000000000000000e+00 -5.004338622093200684e-01 9.870635867118835449e-01 3.118449449539184570e-02 1.000000000000000000e+00 -5.182809233665466309e-01 9.998403191566467285e-01 4.680407419800758362e-02 1.000000000000000000e+00 -5.361279845237731934e-01 1.000000000000000000e+00 6.242365762591362000e-02 1.000000000000000000e+00 -5.539750456809997559e-01 1.000000000000000000e+00 7.804323732852935791e-02 1.000000000000000000e+00 -5.718221068382263184e-01 1.000000000000000000e+00 9.366282075643539429e-02 1.000000000000000000e+00 -5.896691679954528809e-01 1.000000000000000000e+00 1.092823967337608337e-01 1.000000000000000000e+00 -6.075162291526794434e-01 1.000000000000000000e+00 1.249019801616668701e-01 1.000000000000000000e+00 -6.253632903099060059e-01 1.000000000000000000e+00 1.405215561389923096e-01 1.000000000000000000e+00 -6.432103514671325684e-01 1.000000000000000000e+00 1.561411470174789429e-01 1.000000000000000000e+00 -6.610574722290039062e-01 1.000000000000000000e+00 1.717607229948043823e-01 1.000000000000000000e+00 -6.789045333862304688e-01 1.000000000000000000e+00 1.873802989721298218e-01 1.000000000000000000e+00 -6.967515945434570312e-01 1.000000000000000000e+00 2.029998898506164551e-01 1.000000000000000000e+00 -7.145986557006835938e-01 1.000000000000000000e+00 2.186194658279418945e-01 1.000000000000000000e+00 -7.324457168579101562e-01 1.000000000000000000e+00 2.341609448194503784e-01 1.000000000000000000e+00 -7.502927780151367188e-01 1.000000000000000000e+00 2.185413688421249390e-01 1.000000000000000000e+00 -7.681398391723632812e-01 1.000000000000000000e+00 2.029217928647994995e-01 1.000000000000000000e+00 -7.859869003295898438e-01 1.000000000000000000e+00 1.873022019863128662e-01 1.000000000000000000e+00 -8.038339614868164062e-01 1.000000000000000000e+00 1.716826260089874268e-01 1.000000000000000000e+00 -8.216810226440429688e-01 1.000000000000000000e+00 1.560630500316619873e-01 1.000000000000000000e+00 -8.395280838012695312e-01 1.000000000000000000e+00 1.404434591531753540e-01 1.000000000000000000e+00 -8.573751449584960938e-01 1.000000000000000000e+00 1.248238831758499146e-01 1.000000000000000000e+00 -8.752222657203674316e-01 1.000000000000000000e+00 1.092042997479438782e-01 1.000000000000000000e+00 -8.930693268775939941e-01 1.000000000000000000e+00 9.358472377061843872e-02 1.000000000000000000e+00 -9.109163880348205566e-01 1.000000000000000000e+00 7.796514034271240234e-02 1.000000000000000000e+00 -9.287634491920471191e-01 1.000000000000000000e+00 6.234555691480636597e-02 1.000000000000000000e+00 -9.466105103492736816e-01 1.000000000000000000e+00 4.672597721219062805e-02 1.000000000000000000e+00 -9.644575715065002441e-01 9.904056191444396973e-01 3.110639564692974091e-02 1.000000000000000000e+00 -9.823046326637268066e-01 9.807338118553161621e-01 1.548681501299142838e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.710620641708374023e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.613902568817138672e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.517185091972351074e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.420467019081115723e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.323749542236328125e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.227032065391540527e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.130313992500305176e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.033596515655517578e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.936878442764282227e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.840160965919494629e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.743442893028259277e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.646725416183471680e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.550007939338684082e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.453289866447448730e-01 4.213010426610708237e-03 1.000000000000000000e+00 -1.000000000000000000e+00 8.356572389602661133e-01 8.434463292360305786e-03 1.000000000000000000e+00 -1.000000000000000000e+00 8.259854316711425781e-01 1.265591662377119064e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.163136839866638184e-01 1.687736995518207550e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.066418766975402832e-01 2.109882421791553497e-02 1.000000000000000000e+00 -1.000000000000000000e+00 7.969701290130615234e-01 2.532027661800384521e-02 1.000000000000000000e+00 -1.000000000000000000e+00 7.872983217239379883e-01 2.954173088073730469e-02 1.000000000000000000e+00 -1.000000000000000000e+00 7.776265740394592285e-01 3.376318514347076416e-02 1.000000000000000000e+00 -1.000000000000000000e+00 7.679548263549804688e-01 3.798463568091392517e-02 1.000000000000000000e+00 -1.000000000000000000e+00 7.582830190658569336e-01 4.220608994364738464e-02 1.000000000000000000e+00 -1.000000000000000000e+00 7.486112713813781738e-01 4.642754420638084412e-02 1.000000000000000000e+00 -1.000000000000000000e+00 7.389394640922546387e-01 5.064899474382400513e-02 1.000000000000000000e+00 -1.000000000000000000e+00 7.292677164077758789e-01 5.487044900655746460e-02 1.000000000000000000e+00 -1.000000000000000000e+00 6.973093748092651367e-01 5.126416683197021484e-02 1.000000000000000000e+00 -1.000000000000000000e+00 6.651939153671264648e-01 4.760270193219184875e-02 1.000000000000000000e+00 -1.000000000000000000e+00 6.330785155296325684e-01 4.394123703241348267e-02 1.000000000000000000e+00 -1.000000000000000000e+00 6.009630560874938965e-01 4.027977213263511658e-02 1.000000000000000000e+00 -1.000000000000000000e+00 5.688476562500000000e-01 3.661830723285675049e-02 1.000000000000000000e+00 -1.000000000000000000e+00 5.367321968078613281e-01 3.295684233307838440e-02 1.000000000000000000e+00 -1.000000000000000000e+00 5.046167969703674316e-01 2.929537743330001831e-02 1.000000000000000000e+00 -1.000000000000000000e+00 4.725013375282287598e-01 2.563391439616680145e-02 1.000000000000000000e+00 -1.000000000000000000e+00 4.403859078884124756e-01 2.197244949638843536e-02 1.000000000000000000e+00 -1.000000000000000000e+00 4.082704782485961914e-01 1.831098459661006927e-02 1.000000000000000000e+00 -1.000000000000000000e+00 3.761550486087799072e-01 1.464951969683170319e-02 1.000000000000000000e+00 -1.000000000000000000e+00 3.440396189689636230e-01 1.098805479705333710e-02 1.000000000000000000e+00 -1.000000000000000000e+00 3.119241893291473389e-01 7.326590828597545624e-03 1.000000000000000000e+00 -1.000000000000000000e+00 2.798087596893310547e-01 3.665126161649823189e-03 1.000000000000000000e+00 -1.000000000000000000e+00 2.610737383365631104e-01 3.661464688775595278e-06 1.000000000000000000e+00 -1.000000000000000000e+00 2.424262911081314087e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.237788289785385132e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.051313668489456177e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.864839196205139160e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.678364574909210205e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.491889953613281250e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.305415332317352295e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.118940785527229309e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.324661642313003540e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.459916174411773682e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.595169961452484131e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.730424121022224426e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.865678280591964722e-02 6.875969469547271729e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.323729500465560704e-06 1.383193135261535645e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 2.078789472579956055e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 2.774385809898376465e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 3.469982147216796875e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 4.165578186511993408e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 4.861174523830413818e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 5.556770563125610352e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 6.252366900444030762e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 6.947963237762451172e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 7.643559575080871582e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 8.339155912399291992e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 9.034752249717712402e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 9.730348587036132812e-01 1.000000000000000000e+00 -9.732819199562072754e-01 1.335734780877828598e-02 9.868275523185729980e-01 1.000000000000000000e+00 -9.462666511535644531e-01 2.686326205730438232e-02 1.000000000000000000e+00 1.000000000000000000e+00 -9.192514419555664062e-01 4.036917537450790405e-02 1.000000000000000000e+00 1.000000000000000000e+00 -8.922361731529235840e-01 5.387508869171142578e-02 1.000000000000000000e+00 1.000000000000000000e+00 -8.652209043502807617e-01 6.738100200891494751e-02 1.000000000000000000e+00 1.000000000000000000e+00 -8.382056355476379395e-01 8.088691532611846924e-02 1.000000000000000000e+00 1.000000000000000000e+00 -8.111904263496398926e-01 9.439282864332199097e-02 1.000000000000000000e+00 1.000000000000000000e+00 -7.841751575469970703e-01 1.078987419605255127e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.571598887443542480e-01 1.214046552777290344e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.301446795463562012e-01 1.349105685949325562e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.031294107437133789e-01 1.484164744615554810e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.761141419410705566e-01 1.619223952293395996e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.490989327430725098e-01 1.755203455686569214e-01 9.999552965164184570e-01 1.000000000000000000e+00 -6.220836639404296875e-01 1.987140327692031860e-01 9.952479600906372070e-01 1.000000000000000000e+00 -6.448003053665161133e-01 2.219077050685882568e-01 9.905406832695007324e-01 1.000000000000000000e+00 -6.680446267127990723e-01 2.451013922691345215e-01 9.858333468437194824e-01 1.000000000000000000e+00 -6.912889480590820312e-01 2.682950794696807861e-01 9.811260104179382324e-01 1.000000000000000000e+00 -7.145333290100097656e-01 2.914887666702270508e-01 9.764187335968017578e-01 1.000000000000000000e+00 -7.377776503562927246e-01 3.146824538707733154e-01 9.717113971710205078e-01 1.000000000000000000e+00 -7.610220313072204590e-01 3.378761410713195801e-01 9.670041203498840332e-01 1.000000000000000000e+00 -7.842663526535034180e-01 3.610698282718658447e-01 9.622967839241027832e-01 1.000000000000000000e+00 -8.075107336044311523e-01 3.842635154724121094e-01 9.575895071029663086e-01 1.000000000000000000e+00 -8.307550549507141113e-01 4.074572026729583740e-01 9.528821706771850586e-01 1.000000000000000000e+00 -8.539993762969970703e-01 4.306508898735046387e-01 9.481748342514038086e-01 1.000000000000000000e+00 -8.772437572479248047e-01 4.538445770740509033e-01 9.434675574302673340e-01 1.000000000000000000e+00 -9.004880785942077637e-01 4.770382642745971680e-01 9.387602210044860840e-01 1.000000000000000000e+00 -9.235278964042663574e-01 5.001816749572753906e-01 9.341238141059875488e-01 1.000000000000000000e+00 -9.263191223144531250e-01 5.183477401733398438e-01 9.365075230598449707e-01 1.000000000000000000e+00 -9.291104078292846680e-01 5.365138649940490723e-01 9.388912320137023926e-01 1.000000000000000000e+00 -9.319016337394714355e-01 5.546799302101135254e-01 9.412749409675598145e-01 1.000000000000000000e+00 -9.346928596496582031e-01 5.728459954261779785e-01 9.436586499214172363e-01 1.000000000000000000e+00 -9.374840855598449707e-01 5.910121202468872070e-01 9.460423588752746582e-01 1.000000000000000000e+00 -9.402753114700317383e-01 6.091781854629516602e-01 9.484260082244873047e-01 1.000000000000000000e+00 -9.430665373802185059e-01 6.273443102836608887e-01 9.508097171783447266e-01 1.000000000000000000e+00 -9.458577632904052734e-01 6.455103754997253418e-01 9.531934261322021484e-01 1.000000000000000000e+00 -9.486490488052368164e-01 6.636765003204345703e-01 9.555771350860595703e-01 1.000000000000000000e+00 -9.514402747154235840e-01 6.818425655364990234e-01 9.579608440399169922e-01 1.000000000000000000e+00 -9.542315006256103516e-01 7.000086307525634766e-01 9.603444933891296387e-01 1.000000000000000000e+00 -9.570227265357971191e-01 7.181747555732727051e-01 9.627282023429870605e-01 1.000000000000000000e+00 -9.598139524459838867e-01 7.363408207893371582e-01 9.651119112968444824e-01 1.000000000000000000e+00 -9.626051783561706543e-01 7.545069456100463867e-01 9.674956202507019043e-01 1.000000000000000000e+00 -9.653964042663574219e-01 7.726730108261108398e-01 9.698793292045593262e-01 1.000000000000000000e+00 -9.681876301765441895e-01 7.908390760421752930e-01 9.722630381584167480e-01 1.000000000000000000e+00 -9.709789156913757324e-01 8.090052008628845215e-01 9.746466875076293945e-01 1.000000000000000000e+00 -9.737701416015625000e-01 8.271712660789489746e-01 9.770303964614868164e-01 1.000000000000000000e+00 -9.765613675117492676e-01 8.453373908996582031e-01 9.794141054153442383e-01 1.000000000000000000e+00 -9.793525934219360352e-01 8.635034561157226562e-01 9.817978143692016602e-01 1.000000000000000000e+00 -9.821438193321228027e-01 8.816695213317871094e-01 9.841815233230590820e-01 1.000000000000000000e+00 -9.849350452423095703e-01 8.998356461524963379e-01 9.865652322769165039e-01 1.000000000000000000e+00 -9.877262711524963379e-01 9.180017113685607910e-01 9.889488816261291504e-01 1.000000000000000000e+00 -9.905175566673278809e-01 9.361678361892700195e-01 9.913325905799865723e-01 1.000000000000000000e+00 -9.933087825775146484e-01 9.543339014053344727e-01 9.937162995338439941e-01 1.000000000000000000e+00 -9.961000084877014160e-01 9.725000262260437012e-01 9.961000084877014160e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/gist_rainbow b/fastplotlib/utils/colormaps/gist_rainbow deleted file mode 100644 index fb672f385..000000000 --- a/fastplotlib/utils/colormaps/gist_rainbow +++ /dev/null @@ -1,256 +0,0 @@ -1.000000000000000000e+00 0.000000000000000000e+00 1.599999964237213135e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 1.390849649906158447e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 1.181699335575103760e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 9.725490212440490723e-02 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 7.633987069129943848e-02 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 5.542483553290367126e-02 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 3.450980409979820251e-02 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 1.359477080404758453e-02 1.000000000000000000e+00 -1.000000000000000000e+00 7.419183850288391113e-03 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.861685305833816528e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.981451854109764099e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.101219147443771362e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.220985323190689087e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.134075224399566650e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.346051990985870361e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.558028608560562134e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.770005226135253906e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.981981992721557617e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.193958610296249390e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.405935376882553101e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.617911994457244873e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.829888761043548584e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.041865527629852295e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.253841996192932129e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.465818762779235840e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.677795529365539551e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.889771997928619385e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.101748764514923096e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.313725531101226807e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.525702297687530518e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.737678766250610352e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.949655532836914062e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.161632299423217773e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.373609066009521484e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.585585832595825195e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.797562003135681152e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.009538769721984863e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.221515536308288574e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.433492302894592285e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.645469069480895996e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.857445836067199707e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.069422602653503418e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.281398773193359375e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.493375539779663086e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.705352306365966797e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.917329072952270508e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.129305839538574219e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.341282606124877930e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.553259372711181641e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.765235543251037598e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.977212309837341309e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.189189076423645020e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.401165843009948730e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.613142609596252441e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.825119376182556152e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.962903857231140137e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.750927686691284180e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.538950920104980469e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.326974153518676758e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.114997386932373047e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.903020620346069336e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.691043853759765625e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.479067087173461914e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.267090916633605957e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.055114150047302246e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.843137383460998535e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.631160616874694824e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.419183850288391113e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.207207083702087402e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.995230317115783691e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.783253550529479980e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.571277379989624023e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.359300613403320312e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.147323846817016602e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.935347080230712891e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.723370313644409180e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.511393547058105469e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.299416780471801758e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.087440609931945801e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.875463843345642090e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.663487076759338379e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.451510310173034668e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.239533543586730957e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.027557075023651123e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.815580308437347412e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.603603541851043701e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.391626775264739990e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.179650306701660156e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.967673540115356445e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.755696773529052734e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.543720304965972900e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.331743538379669189e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.119766771793365479e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.907790154218673706e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.695813387632369995e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.483836770057678223e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.271860152482986450e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.059883385896682739e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.479066938161849976e-02 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.359300762414932251e-02 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.239533469080924988e-02 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.119766734540462494e-02 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 2.108370140194892883e-02 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 4.216740280389785767e-02 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 6.325110793113708496e-02 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 8.433480560779571533e-02 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 1.054185107350349426e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 1.265022158622741699e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 1.475859135389328003e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 1.686696112155914307e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 1.897533237934112549e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 2.108370214700698853e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 2.319207191467285156e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 2.530044317245483398e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 2.740881443023681641e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 2.951718270778656006e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 3.162555396556854248e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 3.373392224311828613e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 3.584229350090026855e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 3.795066475868225098e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 4.005903303623199463e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 4.216740429401397705e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 4.427577555179595947e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 4.638414382934570312e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 4.849251508712768555e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 5.060088634490966797e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 5.270925760269165039e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 5.481762886047363281e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 5.692599415779113770e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 5.903436541557312012e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 6.114273667335510254e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 6.325110793113708496e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 6.535947918891906738e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 6.746784448623657227e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 6.957621574401855469e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 7.168458700180053711e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 7.379295825958251953e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 7.590132951736450195e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 7.800970077514648438e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 8.011806607246398926e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 8.222643733024597168e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 8.433480858802795410e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 8.644317984580993652e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 8.855155110359191895e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 9.065992236137390137e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 9.276828765869140625e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 9.487665891647338867e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 9.698503017425537109e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 9.909340143203735352e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.878516793251037598e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 9.665387868881225586e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 9.452258944511413574e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 9.239130616188049316e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 9.026001691818237305e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.812872767448425293e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.599744439125061035e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.386615514755249023e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.173486590385437012e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 7.960358262062072754e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 7.747229337692260742e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 7.534100413322448730e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 7.320972084999084473e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 7.107843160629272461e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 6.894714236259460449e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 6.681585907936096191e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 6.468456983566284180e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 6.255328059196472168e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 6.042199730873107910e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 5.829070806503295898e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 5.615941882133483887e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 5.402813553810119629e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 5.189684629440307617e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 4.976555705070495605e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 4.763427078723907471e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 4.550298452377319336e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 4.337169528007507324e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 4.124040901660919189e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 3.910912275314331055e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 3.697783350944519043e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 3.484654724597930908e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 3.271526098251342773e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 3.058397173881530762e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 2.845268547534942627e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 2.632139921188354492e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 2.419011145830154419e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 2.205882370471954346e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 1.992753595113754272e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 1.779624819755554199e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 1.566496193408966064e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 1.353367418050765991e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 1.140238717198371887e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 9.271099418401718140e-02 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 7.139812409877777100e-02 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 5.008525028824806213e-02 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 2.877237834036350250e-02 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 7.459505461156368256e-03 1.000000000000000000e+00 1.000000000000000000e+00 -1.385336741805076599e-02 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -3.516624122858047485e-02 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -5.647911503911018372e-02 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -7.779198884963989258e-02 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -9.910485893487930298e-02 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -1.204177290201187134e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -1.417306065559387207e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -1.630434840917587280e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -1.843563467264175415e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -2.056692242622375488e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -2.269821017980575562e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -2.482949644327163696e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -2.696078419685363770e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -2.909207046031951904e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -3.122335970401763916e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -3.335464596748352051e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -3.548593223094940186e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -3.761722147464752197e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -3.974850773811340332e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -4.187979400157928467e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -4.401108324527740479e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -4.614236950874328613e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -4.827365875244140625e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -5.040494203567504883e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -5.253623127937316895e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -5.466752052307128906e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -5.679880380630493164e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -5.893009305000305176e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -6.106138229370117188e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -6.319266557693481445e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -6.532395482063293457e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -6.745524406433105469e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -6.958652734756469727e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -7.171781659126281738e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -7.384910583496093750e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -7.598039507865905762e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -7.811167836189270020e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -8.024296760559082031e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -8.237425684928894043e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -8.450554013252258301e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -8.663682937622070312e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -8.876811861991882324e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -9.089940190315246582e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -9.303069114685058594e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -9.516198039054870605e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -9.729326367378234863e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -9.942455291748046875e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 9.844415783882141113e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 9.631287455558776855e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 9.418158531188964844e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 9.205029606819152832e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 8.991901278495788574e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 8.778772354125976562e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 8.565643429756164551e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 8.352515101432800293e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 8.139386177062988281e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 7.926257252693176270e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 7.713128924369812012e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 7.500000000000000000e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/gist_stern b/fastplotlib/utils/colormaps/gist_stern deleted file mode 100644 index 797229f41..000000000 --- a/fastplotlib/utils/colormaps/gist_stern +++ /dev/null @@ -1,256 +0,0 @@ -0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.169229537248611450e-02 3.921568859368562698e-03 7.843137718737125397e-03 1.000000000000000000e+00 -1.433845907449722290e-01 7.843137718737125397e-03 1.568627543747425079e-02 1.000000000000000000e+00 -2.150768935680389404e-01 1.176470611244440079e-02 2.352941222488880157e-02 1.000000000000000000e+00 -2.867691814899444580e-01 1.568627543747425079e-02 3.137255087494850159e-02 1.000000000000000000e+00 -3.584614694118499756e-01 1.960784383118152618e-02 3.921568766236305237e-02 1.000000000000000000e+00 -4.301537871360778809e-01 2.352941222488880157e-02 4.705882444977760315e-02 1.000000000000000000e+00 -5.018460750579833984e-01 2.745098061859607697e-02 5.490196123719215393e-02 1.000000000000000000e+00 -5.735383629798889160e-01 3.137255087494850159e-02 6.274510174989700317e-02 1.000000000000000000e+00 -6.452306509017944336e-01 3.529411926865577698e-02 7.058823853731155396e-02 1.000000000000000000e+00 -7.169229388236999512e-01 3.921568766236305237e-02 7.843137532472610474e-02 1.000000000000000000e+00 -7.886152863502502441e-01 4.313725605607032776e-02 8.627451211214065552e-02 1.000000000000000000e+00 -8.603075742721557617e-01 4.705882444977760315e-02 9.411764889955520630e-02 1.000000000000000000e+00 -9.319998621940612793e-01 5.098039284348487854e-02 1.019607856869697571e-01 1.000000000000000000e+00 -9.989938139915466309e-01 5.490196123719215393e-02 1.098039224743843079e-01 1.000000000000000000e+00 -9.794562458992004395e-01 5.882352963089942932e-02 1.176470592617988586e-01 1.000000000000000000e+00 -9.599186778068542480e-01 6.274510174989700317e-02 1.254902034997940063e-01 1.000000000000000000e+00 -9.403811097145080566e-01 6.666667014360427856e-02 1.333333402872085571e-01 1.000000000000000000e+00 -9.208435416221618652e-01 7.058823853731155396e-02 1.411764770746231079e-01 1.000000000000000000e+00 -9.013059735298156738e-01 7.450980693101882935e-02 1.490196138620376587e-01 1.000000000000000000e+00 -8.817684054374694824e-01 7.843137532472610474e-02 1.568627506494522095e-01 1.000000000000000000e+00 -8.622308373451232910e-01 8.235294371843338013e-02 1.647058874368667603e-01 1.000000000000000000e+00 -8.426933288574218750e-01 8.627451211214065552e-02 1.725490242242813110e-01 1.000000000000000000e+00 -8.231557607650756836e-01 9.019608050584793091e-02 1.803921610116958618e-01 1.000000000000000000e+00 -8.036181926727294922e-01 9.411764889955520630e-02 1.882352977991104126e-01 1.000000000000000000e+00 -7.840806245803833008e-01 9.803921729326248169e-02 1.960784345865249634e-01 1.000000000000000000e+00 -7.645430564880371094e-01 1.019607856869697571e-01 2.039215713739395142e-01 1.000000000000000000e+00 -7.450054883956909180e-01 1.058823540806770325e-01 2.117647081613540649e-01 1.000000000000000000e+00 -7.254679203033447266e-01 1.098039224743843079e-01 2.196078449487686157e-01 1.000000000000000000e+00 -7.059303522109985352e-01 1.137254908680915833e-01 2.274509817361831665e-01 1.000000000000000000e+00 -6.863927841186523438e-01 1.176470592617988586e-01 2.352941185235977173e-01 1.000000000000000000e+00 -6.668552160263061523e-01 1.215686276555061340e-01 2.431372553110122681e-01 1.000000000000000000e+00 -6.473176479339599609e-01 1.254902034997940063e-01 2.509804069995880127e-01 1.000000000000000000e+00 -6.277800798416137695e-01 1.294117718935012817e-01 2.588235437870025635e-01 1.000000000000000000e+00 -6.082425117492675781e-01 1.333333402872085571e-01 2.666666805744171143e-01 1.000000000000000000e+00 -5.887049436569213867e-01 1.372549086809158325e-01 2.745098173618316650e-01 1.000000000000000000e+00 -5.691673755645751953e-01 1.411764770746231079e-01 2.823529541492462158e-01 1.000000000000000000e+00 -5.496298670768737793e-01 1.450980454683303833e-01 2.901960909366607666e-01 1.000000000000000000e+00 -5.300922989845275879e-01 1.490196138620376587e-01 2.980392277240753174e-01 1.000000000000000000e+00 -5.105547308921813965e-01 1.529411822557449341e-01 3.058823645114898682e-01 1.000000000000000000e+00 -4.910171627998352051e-01 1.568627506494522095e-01 3.137255012989044189e-01 1.000000000000000000e+00 -4.714795947074890137e-01 1.607843190431594849e-01 3.215686380863189697e-01 1.000000000000000000e+00 -4.519420266151428223e-01 1.647058874368667603e-01 3.294117748737335205e-01 1.000000000000000000e+00 -4.324044585227966309e-01 1.686274558305740356e-01 3.372549116611480713e-01 1.000000000000000000e+00 -4.128668904304504395e-01 1.725490242242813110e-01 3.450980484485626221e-01 1.000000000000000000e+00 -3.933293223381042480e-01 1.764705926179885864e-01 3.529411852359771729e-01 1.000000000000000000e+00 -3.737917542457580566e-01 1.803921610116958618e-01 3.607843220233917236e-01 1.000000000000000000e+00 -3.542541861534118652e-01 1.843137294054031372e-01 3.686274588108062744e-01 1.000000000000000000e+00 -3.347166478633880615e-01 1.882352977991104126e-01 3.764705955982208252e-01 1.000000000000000000e+00 -3.151790797710418701e-01 1.921568661928176880e-01 3.843137323856353760e-01 1.000000000000000000e+00 -2.956415116786956787e-01 1.960784345865249634e-01 3.921568691730499268e-01 1.000000000000000000e+00 -2.761039435863494873e-01 2.000000029802322388e-01 4.000000059604644775e-01 1.000000000000000000e+00 -2.565663754940032959e-01 2.039215713739395142e-01 4.078431427478790283e-01 1.000000000000000000e+00 -2.370288074016571045e-01 2.078431397676467896e-01 4.156862795352935791e-01 1.000000000000000000e+00 -2.174912542104721069e-01 2.117647081613540649e-01 4.235294163227081299e-01 1.000000000000000000e+00 -1.979536861181259155e-01 2.156862765550613403e-01 4.313725531101226807e-01 1.000000000000000000e+00 -1.784161180257797241e-01 2.196078449487686157e-01 4.392156898975372314e-01 1.000000000000000000e+00 -1.588785648345947266e-01 2.235294133424758911e-01 4.470588266849517822e-01 1.000000000000000000e+00 -1.393409967422485352e-01 2.274509817361831665e-01 4.549019634723663330e-01 1.000000000000000000e+00 -1.198034286499023438e-01 2.313725501298904419e-01 4.627451002597808838e-01 1.000000000000000000e+00 -1.002658680081367493e-01 2.352941185235977173e-01 4.705882370471954346e-01 1.000000000000000000e+00 -8.072829991579055786e-02 2.392156869173049927e-01 4.784313738346099854e-01 1.000000000000000000e+00 -6.119073554873466492e-02 2.431372553110122681e-01 4.862745106220245361e-01 1.000000000000000000e+00 -4.165317490696907043e-02 2.470588237047195435e-01 4.941176474094390869e-01 1.000000000000000000e+00 -2.509804069995880127e-01 2.509804069995880127e-01 5.019608139991760254e-01 1.000000000000000000e+00 -2.549019753932952881e-01 2.549019753932952881e-01 5.098039507865905762e-01 1.000000000000000000e+00 -2.588235437870025635e-01 2.588235437870025635e-01 5.176470875740051270e-01 1.000000000000000000e+00 -2.627451121807098389e-01 2.627451121807098389e-01 5.254902243614196777e-01 1.000000000000000000e+00 -2.666666805744171143e-01 2.666666805744171143e-01 5.333333611488342285e-01 1.000000000000000000e+00 -2.705882489681243896e-01 2.705882489681243896e-01 5.411764979362487793e-01 1.000000000000000000e+00 -2.745098173618316650e-01 2.745098173618316650e-01 5.490196347236633301e-01 1.000000000000000000e+00 -2.784313857555389404e-01 2.784313857555389404e-01 5.568627715110778809e-01 1.000000000000000000e+00 -2.823529541492462158e-01 2.823529541492462158e-01 5.647059082984924316e-01 1.000000000000000000e+00 -2.862745225429534912e-01 2.862745225429534912e-01 5.725490450859069824e-01 1.000000000000000000e+00 -2.901960909366607666e-01 2.901960909366607666e-01 5.803921818733215332e-01 1.000000000000000000e+00 -2.941176593303680420e-01 2.941176593303680420e-01 5.882353186607360840e-01 1.000000000000000000e+00 -2.980392277240753174e-01 2.980392277240753174e-01 5.960784554481506348e-01 1.000000000000000000e+00 -3.019607961177825928e-01 3.019607961177825928e-01 6.039215922355651855e-01 1.000000000000000000e+00 -3.058823645114898682e-01 3.058823645114898682e-01 6.117647290229797363e-01 1.000000000000000000e+00 -3.098039329051971436e-01 3.098039329051971436e-01 6.196078658103942871e-01 1.000000000000000000e+00 -3.137255012989044189e-01 3.137255012989044189e-01 6.274510025978088379e-01 1.000000000000000000e+00 -3.176470696926116943e-01 3.176470696926116943e-01 6.352941393852233887e-01 1.000000000000000000e+00 -3.215686380863189697e-01 3.215686380863189697e-01 6.431372761726379395e-01 1.000000000000000000e+00 -3.254902064800262451e-01 3.254902064800262451e-01 6.509804129600524902e-01 1.000000000000000000e+00 -3.294117748737335205e-01 3.294117748737335205e-01 6.588235497474670410e-01 1.000000000000000000e+00 -3.333333432674407959e-01 3.333333432674407959e-01 6.666666865348815918e-01 1.000000000000000000e+00 -3.372549116611480713e-01 3.372549116611480713e-01 6.745098233222961426e-01 1.000000000000000000e+00 -3.411764800548553467e-01 3.411764800548553467e-01 6.823529601097106934e-01 1.000000000000000000e+00 -3.450980484485626221e-01 3.450980484485626221e-01 6.901960968971252441e-01 1.000000000000000000e+00 -3.490196168422698975e-01 3.490196168422698975e-01 6.980392336845397949e-01 1.000000000000000000e+00 -3.529411852359771729e-01 3.529411852359771729e-01 7.058823704719543457e-01 1.000000000000000000e+00 -3.568627536296844482e-01 3.568627536296844482e-01 7.137255072593688965e-01 1.000000000000000000e+00 -3.607843220233917236e-01 3.607843220233917236e-01 7.215686440467834473e-01 1.000000000000000000e+00 -3.647058904170989990e-01 3.647058904170989990e-01 7.294117808341979980e-01 1.000000000000000000e+00 -3.686274588108062744e-01 3.686274588108062744e-01 7.372549176216125488e-01 1.000000000000000000e+00 -3.725490272045135498e-01 3.725490272045135498e-01 7.450980544090270996e-01 1.000000000000000000e+00 -3.764705955982208252e-01 3.764705955982208252e-01 7.529411911964416504e-01 1.000000000000000000e+00 -3.803921639919281006e-01 3.803921639919281006e-01 7.607843279838562012e-01 1.000000000000000000e+00 -3.843137323856353760e-01 3.843137323856353760e-01 7.686274647712707520e-01 1.000000000000000000e+00 -3.882353007793426514e-01 3.882353007793426514e-01 7.764706015586853027e-01 1.000000000000000000e+00 -3.921568691730499268e-01 3.921568691730499268e-01 7.843137383460998535e-01 1.000000000000000000e+00 -3.960784375667572021e-01 3.960784375667572021e-01 7.921568751335144043e-01 1.000000000000000000e+00 -4.000000059604644775e-01 4.000000059604644775e-01 8.000000119209289551e-01 1.000000000000000000e+00 -4.039215743541717529e-01 4.039215743541717529e-01 8.078431487083435059e-01 1.000000000000000000e+00 -4.078431427478790283e-01 4.078431427478790283e-01 8.156862854957580566e-01 1.000000000000000000e+00 -4.117647111415863037e-01 4.117647111415863037e-01 8.235294222831726074e-01 1.000000000000000000e+00 -4.156862795352935791e-01 4.156862795352935791e-01 8.313725590705871582e-01 1.000000000000000000e+00 -4.196078479290008545e-01 4.196078479290008545e-01 8.392156958580017090e-01 1.000000000000000000e+00 -4.235294163227081299e-01 4.235294163227081299e-01 8.470588326454162598e-01 1.000000000000000000e+00 -4.274509847164154053e-01 4.274509847164154053e-01 8.549019694328308105e-01 1.000000000000000000e+00 -4.313725531101226807e-01 4.313725531101226807e-01 8.627451062202453613e-01 1.000000000000000000e+00 -4.352941215038299561e-01 4.352941215038299561e-01 8.705882430076599121e-01 1.000000000000000000e+00 -4.392156898975372314e-01 4.392156898975372314e-01 8.784313797950744629e-01 1.000000000000000000e+00 -4.431372582912445068e-01 4.431372582912445068e-01 8.862745165824890137e-01 1.000000000000000000e+00 -4.470588266849517822e-01 4.470588266849517822e-01 8.941176533699035645e-01 1.000000000000000000e+00 -4.509803950786590576e-01 4.509803950786590576e-01 9.019607901573181152e-01 1.000000000000000000e+00 -4.549019634723663330e-01 4.549019634723663330e-01 9.098039269447326660e-01 1.000000000000000000e+00 -4.588235318660736084e-01 4.588235318660736084e-01 9.176470637321472168e-01 1.000000000000000000e+00 -4.627451002597808838e-01 4.627451002597808838e-01 9.254902005195617676e-01 1.000000000000000000e+00 -4.666666686534881592e-01 4.666666686534881592e-01 9.333333373069763184e-01 1.000000000000000000e+00 -4.705882370471954346e-01 4.705882370471954346e-01 9.411764740943908691e-01 1.000000000000000000e+00 -4.745098054409027100e-01 4.745098054409027100e-01 9.490196108818054199e-01 1.000000000000000000e+00 -4.784313738346099854e-01 4.784313738346099854e-01 9.568627476692199707e-01 1.000000000000000000e+00 -4.823529422283172607e-01 4.823529422283172607e-01 9.647058844566345215e-01 1.000000000000000000e+00 -4.862745106220245361e-01 4.862745106220245361e-01 9.725490212440490723e-01 1.000000000000000000e+00 -4.901960790157318115e-01 4.901960790157318115e-01 9.803921580314636230e-01 1.000000000000000000e+00 -4.941176474094390869e-01 4.941176474094390869e-01 9.882352948188781738e-01 1.000000000000000000e+00 -4.980392158031463623e-01 4.980392158031463623e-01 9.960784316062927246e-01 1.000000000000000000e+00 -5.019608139991760254e-01 5.019608139991760254e-01 9.916562438011169434e-01 1.000000000000000000e+00 -5.058823823928833008e-01 5.058823823928833008e-01 9.749687314033508301e-01 1.000000000000000000e+00 -5.098039507865905762e-01 5.098039507865905762e-01 9.582811594009399414e-01 1.000000000000000000e+00 -5.137255191802978516e-01 5.137255191802978516e-01 9.415936470031738281e-01 1.000000000000000000e+00 -5.176470875740051270e-01 5.176470875740051270e-01 9.249061346054077148e-01 1.000000000000000000e+00 -5.215686559677124023e-01 5.215686559677124023e-01 9.082186222076416016e-01 1.000000000000000000e+00 -5.254902243614196777e-01 5.254902243614196777e-01 8.915311098098754883e-01 1.000000000000000000e+00 -5.294117927551269531e-01 5.294117927551269531e-01 8.748435378074645996e-01 1.000000000000000000e+00 -5.333333611488342285e-01 5.333333611488342285e-01 8.581560254096984863e-01 1.000000000000000000e+00 -5.372549295425415039e-01 5.372549295425415039e-01 8.414685130119323730e-01 1.000000000000000000e+00 -5.411764979362487793e-01 5.411764979362487793e-01 8.247810006141662598e-01 1.000000000000000000e+00 -5.450980663299560547e-01 5.450980663299560547e-01 8.080934286117553711e-01 1.000000000000000000e+00 -5.490196347236633301e-01 5.490196347236633301e-01 7.914059162139892578e-01 1.000000000000000000e+00 -5.529412031173706055e-01 5.529412031173706055e-01 7.747184038162231445e-01 1.000000000000000000e+00 -5.568627715110778809e-01 5.568627715110778809e-01 7.580308914184570312e-01 1.000000000000000000e+00 -5.607843399047851562e-01 5.607843399047851562e-01 7.413433194160461426e-01 1.000000000000000000e+00 -5.647059082984924316e-01 5.647059082984924316e-01 7.246558070182800293e-01 1.000000000000000000e+00 -5.686274766921997070e-01 5.686274766921997070e-01 7.079682946205139160e-01 1.000000000000000000e+00 -5.725490450859069824e-01 5.725490450859069824e-01 6.912807822227478027e-01 1.000000000000000000e+00 -5.764706134796142578e-01 5.764706134796142578e-01 6.745932698249816895e-01 1.000000000000000000e+00 -5.803921818733215332e-01 5.803921818733215332e-01 6.579056978225708008e-01 1.000000000000000000e+00 -5.843137502670288086e-01 5.843137502670288086e-01 6.412181854248046875e-01 1.000000000000000000e+00 -5.882353186607360840e-01 5.882353186607360840e-01 6.245306730270385742e-01 1.000000000000000000e+00 -5.921568870544433594e-01 5.921568870544433594e-01 6.078431606292724609e-01 1.000000000000000000e+00 -5.960784554481506348e-01 5.960784554481506348e-01 5.911555886268615723e-01 1.000000000000000000e+00 -6.000000238418579102e-01 6.000000238418579102e-01 5.744680762290954590e-01 1.000000000000000000e+00 -6.039215922355651855e-01 6.039215922355651855e-01 5.577805638313293457e-01 1.000000000000000000e+00 -6.078431606292724609e-01 6.078431606292724609e-01 5.410930514335632324e-01 1.000000000000000000e+00 -6.117647290229797363e-01 6.117647290229797363e-01 5.244054794311523438e-01 1.000000000000000000e+00 -6.156862974166870117e-01 6.156862974166870117e-01 5.077179670333862305e-01 1.000000000000000000e+00 -6.196078658103942871e-01 6.196078658103942871e-01 4.910304546356201172e-01 1.000000000000000000e+00 -6.235294342041015625e-01 6.235294342041015625e-01 4.743429422378540039e-01 1.000000000000000000e+00 -6.274510025978088379e-01 6.274510025978088379e-01 4.576554000377655029e-01 1.000000000000000000e+00 -6.313725709915161133e-01 6.313725709915161133e-01 4.409678876399993896e-01 1.000000000000000000e+00 -6.352941393852233887e-01 6.352941393852233887e-01 4.242803454399108887e-01 1.000000000000000000e+00 -6.392157077789306641e-01 6.392157077789306641e-01 4.075928330421447754e-01 1.000000000000000000e+00 -6.431372761726379395e-01 6.431372761726379395e-01 3.909052908420562744e-01 1.000000000000000000e+00 -6.470588445663452148e-01 6.470588445663452148e-01 3.742177784442901611e-01 1.000000000000000000e+00 -6.509804129600524902e-01 6.509804129600524902e-01 3.575302362442016602e-01 1.000000000000000000e+00 -6.549019813537597656e-01 6.549019813537597656e-01 3.408427238464355469e-01 1.000000000000000000e+00 -6.588235497474670410e-01 6.588235497474670410e-01 3.241551816463470459e-01 1.000000000000000000e+00 -6.627451181411743164e-01 6.627451181411743164e-01 3.074676692485809326e-01 1.000000000000000000e+00 -6.666666865348815918e-01 6.666666865348815918e-01 2.907801270484924316e-01 1.000000000000000000e+00 -6.705882549285888672e-01 6.705882549285888672e-01 2.740926146507263184e-01 1.000000000000000000e+00 -6.745098233222961426e-01 6.745098233222961426e-01 2.574051022529602051e-01 1.000000000000000000e+00 -6.784313917160034180e-01 6.784313917160034180e-01 2.407175600528717041e-01 1.000000000000000000e+00 -6.823529601097106934e-01 6.823529601097106934e-01 2.240300327539443970e-01 1.000000000000000000e+00 -6.862745285034179688e-01 6.862745285034179688e-01 2.073425054550170898e-01 1.000000000000000000e+00 -6.901960968971252441e-01 6.901960968971252441e-01 1.906549781560897827e-01 1.000000000000000000e+00 -6.941176652908325195e-01 6.941176652908325195e-01 1.739674657583236694e-01 1.000000000000000000e+00 -6.980392336845397949e-01 6.980392336845397949e-01 1.572799384593963623e-01 1.000000000000000000e+00 -7.019608020782470703e-01 7.019608020782470703e-01 1.405924111604690552e-01 1.000000000000000000e+00 -7.058823704719543457e-01 7.058823704719543457e-01 1.239048838615417480e-01 1.000000000000000000e+00 -7.098039388656616211e-01 7.098039388656616211e-01 1.072173565626144409e-01 1.000000000000000000e+00 -7.137255072593688965e-01 7.137255072593688965e-01 9.052982926368713379e-02 1.000000000000000000e+00 -7.176470756530761719e-01 7.176470756530761719e-01 7.384230196475982666e-02 1.000000000000000000e+00 -7.215686440467834473e-01 7.215686440467834473e-01 5.715477839112281799e-02 1.000000000000000000e+00 -7.254902124404907227e-01 7.254902124404907227e-01 4.046725109219551086e-02 1.000000000000000000e+00 -7.294117808341979980e-01 7.294117808341979980e-01 2.377972379326820374e-02 1.000000000000000000e+00 -7.333333492279052734e-01 7.333333492279052734e-01 7.092198356986045837e-03 1.000000000000000000e+00 -7.372549176216125488e-01 7.372549176216125488e-01 8.509064093232154846e-03 1.000000000000000000e+00 -7.411764860153198242e-01 7.411764860153198242e-01 2.330743707716464996e-02 1.000000000000000000e+00 -7.450980544090270996e-01 7.450980544090270996e-01 3.810580819845199585e-02 1.000000000000000000e+00 -7.490196228027343750e-01 7.490196228027343750e-01 5.290418118238449097e-02 1.000000000000000000e+00 -7.529411911964416504e-01 7.529411911964416504e-01 6.770255416631698608e-02 1.000000000000000000e+00 -7.568627595901489258e-01 7.568627595901489258e-01 8.250092715024948120e-02 1.000000000000000000e+00 -7.607843279838562012e-01 7.607843279838562012e-01 9.729930013418197632e-02 1.000000000000000000e+00 -7.647058963775634766e-01 7.647058963775634766e-01 1.120976656675338745e-01 1.000000000000000000e+00 -7.686274647712707520e-01 7.686274647712707520e-01 1.268960386514663696e-01 1.000000000000000000e+00 -7.725490331649780273e-01 7.725490331649780273e-01 1.416944116353988647e-01 1.000000000000000000e+00 -7.764706015586853027e-01 7.764706015586853027e-01 1.564927846193313599e-01 1.000000000000000000e+00 -7.803921699523925781e-01 7.803921699523925781e-01 1.712911576032638550e-01 1.000000000000000000e+00 -7.843137383460998535e-01 7.843137383460998535e-01 1.860895305871963501e-01 1.000000000000000000e+00 -7.882353067398071289e-01 7.882353067398071289e-01 2.008879035711288452e-01 1.000000000000000000e+00 -7.921568751335144043e-01 7.921568751335144043e-01 2.156862765550613403e-01 1.000000000000000000e+00 -7.960784435272216797e-01 7.960784435272216797e-01 2.304846495389938354e-01 1.000000000000000000e+00 -8.000000119209289551e-01 8.000000119209289551e-01 2.452830225229263306e-01 1.000000000000000000e+00 -8.039215803146362305e-01 8.039215803146362305e-01 2.600813806056976318e-01 1.000000000000000000e+00 -8.078431487083435059e-01 8.078431487083435059e-01 2.748797535896301270e-01 1.000000000000000000e+00 -8.117647171020507812e-01 8.117647171020507812e-01 2.896781265735626221e-01 1.000000000000000000e+00 -8.156862854957580566e-01 8.156862854957580566e-01 3.044764995574951172e-01 1.000000000000000000e+00 -8.196078538894653320e-01 8.196078538894653320e-01 3.192748725414276123e-01 1.000000000000000000e+00 -8.235294222831726074e-01 8.235294222831726074e-01 3.340732455253601074e-01 1.000000000000000000e+00 -8.274509906768798828e-01 8.274509906768798828e-01 3.488716185092926025e-01 1.000000000000000000e+00 -8.313725590705871582e-01 8.313725590705871582e-01 3.636699914932250977e-01 1.000000000000000000e+00 -8.352941274642944336e-01 8.352941274642944336e-01 3.784683644771575928e-01 1.000000000000000000e+00 -8.392156958580017090e-01 8.392156958580017090e-01 3.932667374610900879e-01 1.000000000000000000e+00 -8.431372642517089844e-01 8.431372642517089844e-01 4.080651104450225830e-01 1.000000000000000000e+00 -8.470588326454162598e-01 8.470588326454162598e-01 4.228634834289550781e-01 1.000000000000000000e+00 -8.509804010391235352e-01 8.509804010391235352e-01 4.376618564128875732e-01 1.000000000000000000e+00 -8.549019694328308105e-01 8.549019694328308105e-01 4.524602293968200684e-01 1.000000000000000000e+00 -8.588235378265380859e-01 8.588235378265380859e-01 4.672586023807525635e-01 1.000000000000000000e+00 -8.627451062202453613e-01 8.627451062202453613e-01 4.820569753646850586e-01 1.000000000000000000e+00 -8.666666746139526367e-01 8.666666746139526367e-01 4.968553483486175537e-01 1.000000000000000000e+00 -8.705882430076599121e-01 8.705882430076599121e-01 5.116537213325500488e-01 1.000000000000000000e+00 -8.745098114013671875e-01 8.745098114013671875e-01 5.264520645141601562e-01 1.000000000000000000e+00 -8.784313797950744629e-01 8.784313797950744629e-01 5.412504673004150391e-01 1.000000000000000000e+00 -8.823529481887817383e-01 8.823529481887817383e-01 5.560488104820251465e-01 1.000000000000000000e+00 -8.862745165824890137e-01 8.862745165824890137e-01 5.708472132682800293e-01 1.000000000000000000e+00 -8.901960849761962891e-01 8.901960849761962891e-01 5.856455564498901367e-01 1.000000000000000000e+00 -8.941176533699035645e-01 8.941176533699035645e-01 6.004439592361450195e-01 1.000000000000000000e+00 -8.980392217636108398e-01 8.980392217636108398e-01 6.152423024177551270e-01 1.000000000000000000e+00 -9.019607901573181152e-01 9.019607901573181152e-01 6.300407052040100098e-01 1.000000000000000000e+00 -9.058823585510253906e-01 9.058823585510253906e-01 6.448390483856201172e-01 1.000000000000000000e+00 -9.098039269447326660e-01 9.098039269447326660e-01 6.596374511718750000e-01 1.000000000000000000e+00 -9.137254953384399414e-01 9.137254953384399414e-01 6.744357943534851074e-01 1.000000000000000000e+00 -9.176470637321472168e-01 9.176470637321472168e-01 6.892341971397399902e-01 1.000000000000000000e+00 -9.215686321258544922e-01 9.215686321258544922e-01 7.040325403213500977e-01 1.000000000000000000e+00 -9.254902005195617676e-01 9.254902005195617676e-01 7.188309431076049805e-01 1.000000000000000000e+00 -9.294117689132690430e-01 9.294117689132690430e-01 7.336292862892150879e-01 1.000000000000000000e+00 -9.333333373069763184e-01 9.333333373069763184e-01 7.484276890754699707e-01 1.000000000000000000e+00 -9.372549057006835938e-01 9.372549057006835938e-01 7.632260322570800781e-01 1.000000000000000000e+00 -9.411764740943908691e-01 9.411764740943908691e-01 7.780244350433349609e-01 1.000000000000000000e+00 -9.450980424880981445e-01 9.450980424880981445e-01 7.928227782249450684e-01 1.000000000000000000e+00 -9.490196108818054199e-01 9.490196108818054199e-01 8.076211810111999512e-01 1.000000000000000000e+00 -9.529411792755126953e-01 9.529411792755126953e-01 8.224195241928100586e-01 1.000000000000000000e+00 -9.568627476692199707e-01 9.568627476692199707e-01 8.372179269790649414e-01 1.000000000000000000e+00 -9.607843160629272461e-01 9.607843160629272461e-01 8.520162701606750488e-01 1.000000000000000000e+00 -9.647058844566345215e-01 9.647058844566345215e-01 8.668146729469299316e-01 1.000000000000000000e+00 -9.686274528503417969e-01 9.686274528503417969e-01 8.816130161285400391e-01 1.000000000000000000e+00 -9.725490212440490723e-01 9.725490212440490723e-01 8.964114189147949219e-01 1.000000000000000000e+00 -9.764705896377563477e-01 9.764705896377563477e-01 9.112097620964050293e-01 1.000000000000000000e+00 -9.803921580314636230e-01 9.803921580314636230e-01 9.260081648826599121e-01 1.000000000000000000e+00 -9.843137264251708984e-01 9.843137264251708984e-01 9.408065080642700195e-01 1.000000000000000000e+00 -9.882352948188781738e-01 9.882352948188781738e-01 9.556049108505249023e-01 1.000000000000000000e+00 -9.921568632125854492e-01 9.921568632125854492e-01 9.704032540321350098e-01 1.000000000000000000e+00 -9.960784316062927246e-01 9.960784316062927246e-01 9.852016568183898926e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/gist_yarg b/fastplotlib/utils/colormaps/gist_yarg deleted file mode 100644 index 19ae9bd30..000000000 --- a/fastplotlib/utils/colormaps/gist_yarg +++ /dev/null @@ -1,256 +0,0 @@ -1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -9.960784316062927246e-01 9.960784316062927246e-01 9.960784316062927246e-01 1.000000000000000000e+00 -9.921568632125854492e-01 9.921568632125854492e-01 9.921568632125854492e-01 1.000000000000000000e+00 -9.882352948188781738e-01 9.882352948188781738e-01 9.882352948188781738e-01 1.000000000000000000e+00 -9.843137264251708984e-01 9.843137264251708984e-01 9.843137264251708984e-01 1.000000000000000000e+00 -9.803921580314636230e-01 9.803921580314636230e-01 9.803921580314636230e-01 1.000000000000000000e+00 -9.764705896377563477e-01 9.764705896377563477e-01 9.764705896377563477e-01 1.000000000000000000e+00 -9.725490212440490723e-01 9.725490212440490723e-01 9.725490212440490723e-01 1.000000000000000000e+00 -9.686274528503417969e-01 9.686274528503417969e-01 9.686274528503417969e-01 1.000000000000000000e+00 -9.647058844566345215e-01 9.647058844566345215e-01 9.647058844566345215e-01 1.000000000000000000e+00 -9.607843160629272461e-01 9.607843160629272461e-01 9.607843160629272461e-01 1.000000000000000000e+00 -9.568627476692199707e-01 9.568627476692199707e-01 9.568627476692199707e-01 1.000000000000000000e+00 -9.529411792755126953e-01 9.529411792755126953e-01 9.529411792755126953e-01 1.000000000000000000e+00 -9.490196108818054199e-01 9.490196108818054199e-01 9.490196108818054199e-01 1.000000000000000000e+00 -9.450980424880981445e-01 9.450980424880981445e-01 9.450980424880981445e-01 1.000000000000000000e+00 -9.411764740943908691e-01 9.411764740943908691e-01 9.411764740943908691e-01 1.000000000000000000e+00 -9.372549057006835938e-01 9.372549057006835938e-01 9.372549057006835938e-01 1.000000000000000000e+00 -9.333333373069763184e-01 9.333333373069763184e-01 9.333333373069763184e-01 1.000000000000000000e+00 -9.294117689132690430e-01 9.294117689132690430e-01 9.294117689132690430e-01 1.000000000000000000e+00 -9.254902005195617676e-01 9.254902005195617676e-01 9.254902005195617676e-01 1.000000000000000000e+00 -9.215686321258544922e-01 9.215686321258544922e-01 9.215686321258544922e-01 1.000000000000000000e+00 -9.176470637321472168e-01 9.176470637321472168e-01 9.176470637321472168e-01 1.000000000000000000e+00 -9.137254953384399414e-01 9.137254953384399414e-01 9.137254953384399414e-01 1.000000000000000000e+00 -9.098039269447326660e-01 9.098039269447326660e-01 9.098039269447326660e-01 1.000000000000000000e+00 -9.058823585510253906e-01 9.058823585510253906e-01 9.058823585510253906e-01 1.000000000000000000e+00 -9.019607901573181152e-01 9.019607901573181152e-01 9.019607901573181152e-01 1.000000000000000000e+00 -8.980392217636108398e-01 8.980392217636108398e-01 8.980392217636108398e-01 1.000000000000000000e+00 -8.941176533699035645e-01 8.941176533699035645e-01 8.941176533699035645e-01 1.000000000000000000e+00 -8.901960849761962891e-01 8.901960849761962891e-01 8.901960849761962891e-01 1.000000000000000000e+00 -8.862745165824890137e-01 8.862745165824890137e-01 8.862745165824890137e-01 1.000000000000000000e+00 -8.823529481887817383e-01 8.823529481887817383e-01 8.823529481887817383e-01 1.000000000000000000e+00 -8.784313797950744629e-01 8.784313797950744629e-01 8.784313797950744629e-01 1.000000000000000000e+00 -8.745098114013671875e-01 8.745098114013671875e-01 8.745098114013671875e-01 1.000000000000000000e+00 -8.705882430076599121e-01 8.705882430076599121e-01 8.705882430076599121e-01 1.000000000000000000e+00 -8.666666746139526367e-01 8.666666746139526367e-01 8.666666746139526367e-01 1.000000000000000000e+00 -8.627451062202453613e-01 8.627451062202453613e-01 8.627451062202453613e-01 1.000000000000000000e+00 -8.588235378265380859e-01 8.588235378265380859e-01 8.588235378265380859e-01 1.000000000000000000e+00 -8.549019694328308105e-01 8.549019694328308105e-01 8.549019694328308105e-01 1.000000000000000000e+00 -8.509804010391235352e-01 8.509804010391235352e-01 8.509804010391235352e-01 1.000000000000000000e+00 -8.470588326454162598e-01 8.470588326454162598e-01 8.470588326454162598e-01 1.000000000000000000e+00 -8.431372642517089844e-01 8.431372642517089844e-01 8.431372642517089844e-01 1.000000000000000000e+00 -8.392156958580017090e-01 8.392156958580017090e-01 8.392156958580017090e-01 1.000000000000000000e+00 -8.352941274642944336e-01 8.352941274642944336e-01 8.352941274642944336e-01 1.000000000000000000e+00 -8.313725590705871582e-01 8.313725590705871582e-01 8.313725590705871582e-01 1.000000000000000000e+00 -8.274509906768798828e-01 8.274509906768798828e-01 8.274509906768798828e-01 1.000000000000000000e+00 -8.235294222831726074e-01 8.235294222831726074e-01 8.235294222831726074e-01 1.000000000000000000e+00 -8.196078538894653320e-01 8.196078538894653320e-01 8.196078538894653320e-01 1.000000000000000000e+00 -8.156862854957580566e-01 8.156862854957580566e-01 8.156862854957580566e-01 1.000000000000000000e+00 -8.117647171020507812e-01 8.117647171020507812e-01 8.117647171020507812e-01 1.000000000000000000e+00 -8.078431487083435059e-01 8.078431487083435059e-01 8.078431487083435059e-01 1.000000000000000000e+00 -8.039215803146362305e-01 8.039215803146362305e-01 8.039215803146362305e-01 1.000000000000000000e+00 -8.000000119209289551e-01 8.000000119209289551e-01 8.000000119209289551e-01 1.000000000000000000e+00 -7.960784435272216797e-01 7.960784435272216797e-01 7.960784435272216797e-01 1.000000000000000000e+00 -7.921568751335144043e-01 7.921568751335144043e-01 7.921568751335144043e-01 1.000000000000000000e+00 -7.882353067398071289e-01 7.882353067398071289e-01 7.882353067398071289e-01 1.000000000000000000e+00 -7.843137383460998535e-01 7.843137383460998535e-01 7.843137383460998535e-01 1.000000000000000000e+00 -7.803921699523925781e-01 7.803921699523925781e-01 7.803921699523925781e-01 1.000000000000000000e+00 -7.764706015586853027e-01 7.764706015586853027e-01 7.764706015586853027e-01 1.000000000000000000e+00 -7.725490331649780273e-01 7.725490331649780273e-01 7.725490331649780273e-01 1.000000000000000000e+00 -7.686274647712707520e-01 7.686274647712707520e-01 7.686274647712707520e-01 1.000000000000000000e+00 -7.647058963775634766e-01 7.647058963775634766e-01 7.647058963775634766e-01 1.000000000000000000e+00 -7.607843279838562012e-01 7.607843279838562012e-01 7.607843279838562012e-01 1.000000000000000000e+00 -7.568627595901489258e-01 7.568627595901489258e-01 7.568627595901489258e-01 1.000000000000000000e+00 -7.529411911964416504e-01 7.529411911964416504e-01 7.529411911964416504e-01 1.000000000000000000e+00 -7.490196228027343750e-01 7.490196228027343750e-01 7.490196228027343750e-01 1.000000000000000000e+00 -7.450980544090270996e-01 7.450980544090270996e-01 7.450980544090270996e-01 1.000000000000000000e+00 -7.411764860153198242e-01 7.411764860153198242e-01 7.411764860153198242e-01 1.000000000000000000e+00 -7.372549176216125488e-01 7.372549176216125488e-01 7.372549176216125488e-01 1.000000000000000000e+00 -7.333333492279052734e-01 7.333333492279052734e-01 7.333333492279052734e-01 1.000000000000000000e+00 -7.294117808341979980e-01 7.294117808341979980e-01 7.294117808341979980e-01 1.000000000000000000e+00 -7.254902124404907227e-01 7.254902124404907227e-01 7.254902124404907227e-01 1.000000000000000000e+00 -7.215686440467834473e-01 7.215686440467834473e-01 7.215686440467834473e-01 1.000000000000000000e+00 -7.176470756530761719e-01 7.176470756530761719e-01 7.176470756530761719e-01 1.000000000000000000e+00 -7.137255072593688965e-01 7.137255072593688965e-01 7.137255072593688965e-01 1.000000000000000000e+00 -7.098039388656616211e-01 7.098039388656616211e-01 7.098039388656616211e-01 1.000000000000000000e+00 -7.058823704719543457e-01 7.058823704719543457e-01 7.058823704719543457e-01 1.000000000000000000e+00 -7.019608020782470703e-01 7.019608020782470703e-01 7.019608020782470703e-01 1.000000000000000000e+00 -6.980392336845397949e-01 6.980392336845397949e-01 6.980392336845397949e-01 1.000000000000000000e+00 -6.941176652908325195e-01 6.941176652908325195e-01 6.941176652908325195e-01 1.000000000000000000e+00 -6.901960968971252441e-01 6.901960968971252441e-01 6.901960968971252441e-01 1.000000000000000000e+00 -6.862745285034179688e-01 6.862745285034179688e-01 6.862745285034179688e-01 1.000000000000000000e+00 -6.823529601097106934e-01 6.823529601097106934e-01 6.823529601097106934e-01 1.000000000000000000e+00 -6.784313917160034180e-01 6.784313917160034180e-01 6.784313917160034180e-01 1.000000000000000000e+00 -6.745098233222961426e-01 6.745098233222961426e-01 6.745098233222961426e-01 1.000000000000000000e+00 -6.705882549285888672e-01 6.705882549285888672e-01 6.705882549285888672e-01 1.000000000000000000e+00 -6.666666865348815918e-01 6.666666865348815918e-01 6.666666865348815918e-01 1.000000000000000000e+00 -6.627451181411743164e-01 6.627451181411743164e-01 6.627451181411743164e-01 1.000000000000000000e+00 -6.588235497474670410e-01 6.588235497474670410e-01 6.588235497474670410e-01 1.000000000000000000e+00 -6.549019813537597656e-01 6.549019813537597656e-01 6.549019813537597656e-01 1.000000000000000000e+00 -6.509804129600524902e-01 6.509804129600524902e-01 6.509804129600524902e-01 1.000000000000000000e+00 -6.470588445663452148e-01 6.470588445663452148e-01 6.470588445663452148e-01 1.000000000000000000e+00 -6.431372761726379395e-01 6.431372761726379395e-01 6.431372761726379395e-01 1.000000000000000000e+00 -6.392157077789306641e-01 6.392157077789306641e-01 6.392157077789306641e-01 1.000000000000000000e+00 -6.352941393852233887e-01 6.352941393852233887e-01 6.352941393852233887e-01 1.000000000000000000e+00 -6.313725709915161133e-01 6.313725709915161133e-01 6.313725709915161133e-01 1.000000000000000000e+00 -6.274510025978088379e-01 6.274510025978088379e-01 6.274510025978088379e-01 1.000000000000000000e+00 -6.235294342041015625e-01 6.235294342041015625e-01 6.235294342041015625e-01 1.000000000000000000e+00 -6.196078658103942871e-01 6.196078658103942871e-01 6.196078658103942871e-01 1.000000000000000000e+00 -6.156862974166870117e-01 6.156862974166870117e-01 6.156862974166870117e-01 1.000000000000000000e+00 -6.117647290229797363e-01 6.117647290229797363e-01 6.117647290229797363e-01 1.000000000000000000e+00 -6.078431606292724609e-01 6.078431606292724609e-01 6.078431606292724609e-01 1.000000000000000000e+00 -6.039215922355651855e-01 6.039215922355651855e-01 6.039215922355651855e-01 1.000000000000000000e+00 -6.000000238418579102e-01 6.000000238418579102e-01 6.000000238418579102e-01 1.000000000000000000e+00 -5.960784554481506348e-01 5.960784554481506348e-01 5.960784554481506348e-01 1.000000000000000000e+00 -5.921568870544433594e-01 5.921568870544433594e-01 5.921568870544433594e-01 1.000000000000000000e+00 -5.882353186607360840e-01 5.882353186607360840e-01 5.882353186607360840e-01 1.000000000000000000e+00 -5.843137502670288086e-01 5.843137502670288086e-01 5.843137502670288086e-01 1.000000000000000000e+00 -5.803921818733215332e-01 5.803921818733215332e-01 5.803921818733215332e-01 1.000000000000000000e+00 -5.764706134796142578e-01 5.764706134796142578e-01 5.764706134796142578e-01 1.000000000000000000e+00 -5.725490450859069824e-01 5.725490450859069824e-01 5.725490450859069824e-01 1.000000000000000000e+00 -5.686274766921997070e-01 5.686274766921997070e-01 5.686274766921997070e-01 1.000000000000000000e+00 -5.647059082984924316e-01 5.647059082984924316e-01 5.647059082984924316e-01 1.000000000000000000e+00 -5.607843399047851562e-01 5.607843399047851562e-01 5.607843399047851562e-01 1.000000000000000000e+00 -5.568627715110778809e-01 5.568627715110778809e-01 5.568627715110778809e-01 1.000000000000000000e+00 -5.529412031173706055e-01 5.529412031173706055e-01 5.529412031173706055e-01 1.000000000000000000e+00 -5.490196347236633301e-01 5.490196347236633301e-01 5.490196347236633301e-01 1.000000000000000000e+00 -5.450980663299560547e-01 5.450980663299560547e-01 5.450980663299560547e-01 1.000000000000000000e+00 -5.411764979362487793e-01 5.411764979362487793e-01 5.411764979362487793e-01 1.000000000000000000e+00 -5.372549295425415039e-01 5.372549295425415039e-01 5.372549295425415039e-01 1.000000000000000000e+00 -5.333333611488342285e-01 5.333333611488342285e-01 5.333333611488342285e-01 1.000000000000000000e+00 -5.294117927551269531e-01 5.294117927551269531e-01 5.294117927551269531e-01 1.000000000000000000e+00 -5.254902243614196777e-01 5.254902243614196777e-01 5.254902243614196777e-01 1.000000000000000000e+00 -5.215686559677124023e-01 5.215686559677124023e-01 5.215686559677124023e-01 1.000000000000000000e+00 -5.176470875740051270e-01 5.176470875740051270e-01 5.176470875740051270e-01 1.000000000000000000e+00 -5.137255191802978516e-01 5.137255191802978516e-01 5.137255191802978516e-01 1.000000000000000000e+00 -5.098039507865905762e-01 5.098039507865905762e-01 5.098039507865905762e-01 1.000000000000000000e+00 -5.058823823928833008e-01 5.058823823928833008e-01 5.058823823928833008e-01 1.000000000000000000e+00 -5.019608139991760254e-01 5.019608139991760254e-01 5.019608139991760254e-01 1.000000000000000000e+00 -4.980392158031463623e-01 4.980392158031463623e-01 4.980392158031463623e-01 1.000000000000000000e+00 -4.941176474094390869e-01 4.941176474094390869e-01 4.941176474094390869e-01 1.000000000000000000e+00 -4.901960790157318115e-01 4.901960790157318115e-01 4.901960790157318115e-01 1.000000000000000000e+00 -4.862745106220245361e-01 4.862745106220245361e-01 4.862745106220245361e-01 1.000000000000000000e+00 -4.823529422283172607e-01 4.823529422283172607e-01 4.823529422283172607e-01 1.000000000000000000e+00 -4.784313738346099854e-01 4.784313738346099854e-01 4.784313738346099854e-01 1.000000000000000000e+00 -4.745098054409027100e-01 4.745098054409027100e-01 4.745098054409027100e-01 1.000000000000000000e+00 -4.705882370471954346e-01 4.705882370471954346e-01 4.705882370471954346e-01 1.000000000000000000e+00 -4.666666686534881592e-01 4.666666686534881592e-01 4.666666686534881592e-01 1.000000000000000000e+00 -4.627451002597808838e-01 4.627451002597808838e-01 4.627451002597808838e-01 1.000000000000000000e+00 -4.588235318660736084e-01 4.588235318660736084e-01 4.588235318660736084e-01 1.000000000000000000e+00 -4.549019634723663330e-01 4.549019634723663330e-01 4.549019634723663330e-01 1.000000000000000000e+00 -4.509803950786590576e-01 4.509803950786590576e-01 4.509803950786590576e-01 1.000000000000000000e+00 -4.470588266849517822e-01 4.470588266849517822e-01 4.470588266849517822e-01 1.000000000000000000e+00 -4.431372582912445068e-01 4.431372582912445068e-01 4.431372582912445068e-01 1.000000000000000000e+00 -4.392156898975372314e-01 4.392156898975372314e-01 4.392156898975372314e-01 1.000000000000000000e+00 -4.352941215038299561e-01 4.352941215038299561e-01 4.352941215038299561e-01 1.000000000000000000e+00 -4.313725531101226807e-01 4.313725531101226807e-01 4.313725531101226807e-01 1.000000000000000000e+00 -4.274509847164154053e-01 4.274509847164154053e-01 4.274509847164154053e-01 1.000000000000000000e+00 -4.235294163227081299e-01 4.235294163227081299e-01 4.235294163227081299e-01 1.000000000000000000e+00 -4.196078479290008545e-01 4.196078479290008545e-01 4.196078479290008545e-01 1.000000000000000000e+00 -4.156862795352935791e-01 4.156862795352935791e-01 4.156862795352935791e-01 1.000000000000000000e+00 -4.117647111415863037e-01 4.117647111415863037e-01 4.117647111415863037e-01 1.000000000000000000e+00 -4.078431427478790283e-01 4.078431427478790283e-01 4.078431427478790283e-01 1.000000000000000000e+00 -4.039215743541717529e-01 4.039215743541717529e-01 4.039215743541717529e-01 1.000000000000000000e+00 -4.000000059604644775e-01 4.000000059604644775e-01 4.000000059604644775e-01 1.000000000000000000e+00 -3.960784375667572021e-01 3.960784375667572021e-01 3.960784375667572021e-01 1.000000000000000000e+00 -3.921568691730499268e-01 3.921568691730499268e-01 3.921568691730499268e-01 1.000000000000000000e+00 -3.882353007793426514e-01 3.882353007793426514e-01 3.882353007793426514e-01 1.000000000000000000e+00 -3.843137323856353760e-01 3.843137323856353760e-01 3.843137323856353760e-01 1.000000000000000000e+00 -3.803921639919281006e-01 3.803921639919281006e-01 3.803921639919281006e-01 1.000000000000000000e+00 -3.764705955982208252e-01 3.764705955982208252e-01 3.764705955982208252e-01 1.000000000000000000e+00 -3.725490272045135498e-01 3.725490272045135498e-01 3.725490272045135498e-01 1.000000000000000000e+00 -3.686274588108062744e-01 3.686274588108062744e-01 3.686274588108062744e-01 1.000000000000000000e+00 -3.647058904170989990e-01 3.647058904170989990e-01 3.647058904170989990e-01 1.000000000000000000e+00 -3.607843220233917236e-01 3.607843220233917236e-01 3.607843220233917236e-01 1.000000000000000000e+00 -3.568627536296844482e-01 3.568627536296844482e-01 3.568627536296844482e-01 1.000000000000000000e+00 -3.529411852359771729e-01 3.529411852359771729e-01 3.529411852359771729e-01 1.000000000000000000e+00 -3.490196168422698975e-01 3.490196168422698975e-01 3.490196168422698975e-01 1.000000000000000000e+00 -3.450980484485626221e-01 3.450980484485626221e-01 3.450980484485626221e-01 1.000000000000000000e+00 -3.411764800548553467e-01 3.411764800548553467e-01 3.411764800548553467e-01 1.000000000000000000e+00 -3.372549116611480713e-01 3.372549116611480713e-01 3.372549116611480713e-01 1.000000000000000000e+00 -3.333333432674407959e-01 3.333333432674407959e-01 3.333333432674407959e-01 1.000000000000000000e+00 -3.294117748737335205e-01 3.294117748737335205e-01 3.294117748737335205e-01 1.000000000000000000e+00 -3.254902064800262451e-01 3.254902064800262451e-01 3.254902064800262451e-01 1.000000000000000000e+00 -3.215686380863189697e-01 3.215686380863189697e-01 3.215686380863189697e-01 1.000000000000000000e+00 -3.176470696926116943e-01 3.176470696926116943e-01 3.176470696926116943e-01 1.000000000000000000e+00 -3.137255012989044189e-01 3.137255012989044189e-01 3.137255012989044189e-01 1.000000000000000000e+00 -3.098039329051971436e-01 3.098039329051971436e-01 3.098039329051971436e-01 1.000000000000000000e+00 -3.058823645114898682e-01 3.058823645114898682e-01 3.058823645114898682e-01 1.000000000000000000e+00 -3.019607961177825928e-01 3.019607961177825928e-01 3.019607961177825928e-01 1.000000000000000000e+00 -2.980392277240753174e-01 2.980392277240753174e-01 2.980392277240753174e-01 1.000000000000000000e+00 -2.941176593303680420e-01 2.941176593303680420e-01 2.941176593303680420e-01 1.000000000000000000e+00 -2.901960909366607666e-01 2.901960909366607666e-01 2.901960909366607666e-01 1.000000000000000000e+00 -2.862745225429534912e-01 2.862745225429534912e-01 2.862745225429534912e-01 1.000000000000000000e+00 -2.823529541492462158e-01 2.823529541492462158e-01 2.823529541492462158e-01 1.000000000000000000e+00 -2.784313857555389404e-01 2.784313857555389404e-01 2.784313857555389404e-01 1.000000000000000000e+00 -2.745098173618316650e-01 2.745098173618316650e-01 2.745098173618316650e-01 1.000000000000000000e+00 -2.705882489681243896e-01 2.705882489681243896e-01 2.705882489681243896e-01 1.000000000000000000e+00 -2.666666805744171143e-01 2.666666805744171143e-01 2.666666805744171143e-01 1.000000000000000000e+00 -2.627451121807098389e-01 2.627451121807098389e-01 2.627451121807098389e-01 1.000000000000000000e+00 -2.588235437870025635e-01 2.588235437870025635e-01 2.588235437870025635e-01 1.000000000000000000e+00 -2.549019753932952881e-01 2.549019753932952881e-01 2.549019753932952881e-01 1.000000000000000000e+00 -2.509804069995880127e-01 2.509804069995880127e-01 2.509804069995880127e-01 1.000000000000000000e+00 -2.470588237047195435e-01 2.470588237047195435e-01 2.470588237047195435e-01 1.000000000000000000e+00 -2.431372553110122681e-01 2.431372553110122681e-01 2.431372553110122681e-01 1.000000000000000000e+00 -2.392156869173049927e-01 2.392156869173049927e-01 2.392156869173049927e-01 1.000000000000000000e+00 -2.352941185235977173e-01 2.352941185235977173e-01 2.352941185235977173e-01 1.000000000000000000e+00 -2.313725501298904419e-01 2.313725501298904419e-01 2.313725501298904419e-01 1.000000000000000000e+00 -2.274509817361831665e-01 2.274509817361831665e-01 2.274509817361831665e-01 1.000000000000000000e+00 -2.235294133424758911e-01 2.235294133424758911e-01 2.235294133424758911e-01 1.000000000000000000e+00 -2.196078449487686157e-01 2.196078449487686157e-01 2.196078449487686157e-01 1.000000000000000000e+00 -2.156862765550613403e-01 2.156862765550613403e-01 2.156862765550613403e-01 1.000000000000000000e+00 -2.117647081613540649e-01 2.117647081613540649e-01 2.117647081613540649e-01 1.000000000000000000e+00 -2.078431397676467896e-01 2.078431397676467896e-01 2.078431397676467896e-01 1.000000000000000000e+00 -2.039215713739395142e-01 2.039215713739395142e-01 2.039215713739395142e-01 1.000000000000000000e+00 -2.000000029802322388e-01 2.000000029802322388e-01 2.000000029802322388e-01 1.000000000000000000e+00 -1.960784345865249634e-01 1.960784345865249634e-01 1.960784345865249634e-01 1.000000000000000000e+00 -1.921568661928176880e-01 1.921568661928176880e-01 1.921568661928176880e-01 1.000000000000000000e+00 -1.882352977991104126e-01 1.882352977991104126e-01 1.882352977991104126e-01 1.000000000000000000e+00 -1.843137294054031372e-01 1.843137294054031372e-01 1.843137294054031372e-01 1.000000000000000000e+00 -1.803921610116958618e-01 1.803921610116958618e-01 1.803921610116958618e-01 1.000000000000000000e+00 -1.764705926179885864e-01 1.764705926179885864e-01 1.764705926179885864e-01 1.000000000000000000e+00 -1.725490242242813110e-01 1.725490242242813110e-01 1.725490242242813110e-01 1.000000000000000000e+00 -1.686274558305740356e-01 1.686274558305740356e-01 1.686274558305740356e-01 1.000000000000000000e+00 -1.647058874368667603e-01 1.647058874368667603e-01 1.647058874368667603e-01 1.000000000000000000e+00 -1.607843190431594849e-01 1.607843190431594849e-01 1.607843190431594849e-01 1.000000000000000000e+00 -1.568627506494522095e-01 1.568627506494522095e-01 1.568627506494522095e-01 1.000000000000000000e+00 -1.529411822557449341e-01 1.529411822557449341e-01 1.529411822557449341e-01 1.000000000000000000e+00 -1.490196138620376587e-01 1.490196138620376587e-01 1.490196138620376587e-01 1.000000000000000000e+00 -1.450980454683303833e-01 1.450980454683303833e-01 1.450980454683303833e-01 1.000000000000000000e+00 -1.411764770746231079e-01 1.411764770746231079e-01 1.411764770746231079e-01 1.000000000000000000e+00 -1.372549086809158325e-01 1.372549086809158325e-01 1.372549086809158325e-01 1.000000000000000000e+00 -1.333333402872085571e-01 1.333333402872085571e-01 1.333333402872085571e-01 1.000000000000000000e+00 -1.294117718935012817e-01 1.294117718935012817e-01 1.294117718935012817e-01 1.000000000000000000e+00 -1.254902034997940063e-01 1.254902034997940063e-01 1.254902034997940063e-01 1.000000000000000000e+00 -1.215686276555061340e-01 1.215686276555061340e-01 1.215686276555061340e-01 1.000000000000000000e+00 -1.176470592617988586e-01 1.176470592617988586e-01 1.176470592617988586e-01 1.000000000000000000e+00 -1.137254908680915833e-01 1.137254908680915833e-01 1.137254908680915833e-01 1.000000000000000000e+00 -1.098039224743843079e-01 1.098039224743843079e-01 1.098039224743843079e-01 1.000000000000000000e+00 -1.058823540806770325e-01 1.058823540806770325e-01 1.058823540806770325e-01 1.000000000000000000e+00 -1.019607856869697571e-01 1.019607856869697571e-01 1.019607856869697571e-01 1.000000000000000000e+00 -9.803921729326248169e-02 9.803921729326248169e-02 9.803921729326248169e-02 1.000000000000000000e+00 -9.411764889955520630e-02 9.411764889955520630e-02 9.411764889955520630e-02 1.000000000000000000e+00 -9.019608050584793091e-02 9.019608050584793091e-02 9.019608050584793091e-02 1.000000000000000000e+00 -8.627451211214065552e-02 8.627451211214065552e-02 8.627451211214065552e-02 1.000000000000000000e+00 -8.235294371843338013e-02 8.235294371843338013e-02 8.235294371843338013e-02 1.000000000000000000e+00 -7.843137532472610474e-02 7.843137532472610474e-02 7.843137532472610474e-02 1.000000000000000000e+00 -7.450980693101882935e-02 7.450980693101882935e-02 7.450980693101882935e-02 1.000000000000000000e+00 -7.058823853731155396e-02 7.058823853731155396e-02 7.058823853731155396e-02 1.000000000000000000e+00 -6.666667014360427856e-02 6.666667014360427856e-02 6.666667014360427856e-02 1.000000000000000000e+00 -6.274510174989700317e-02 6.274510174989700317e-02 6.274510174989700317e-02 1.000000000000000000e+00 -5.882352963089942932e-02 5.882352963089942932e-02 5.882352963089942932e-02 1.000000000000000000e+00 -5.490196123719215393e-02 5.490196123719215393e-02 5.490196123719215393e-02 1.000000000000000000e+00 -5.098039284348487854e-02 5.098039284348487854e-02 5.098039284348487854e-02 1.000000000000000000e+00 -4.705882444977760315e-02 4.705882444977760315e-02 4.705882444977760315e-02 1.000000000000000000e+00 -4.313725605607032776e-02 4.313725605607032776e-02 4.313725605607032776e-02 1.000000000000000000e+00 -3.921568766236305237e-02 3.921568766236305237e-02 3.921568766236305237e-02 1.000000000000000000e+00 -3.529411926865577698e-02 3.529411926865577698e-02 3.529411926865577698e-02 1.000000000000000000e+00 -3.137255087494850159e-02 3.137255087494850159e-02 3.137255087494850159e-02 1.000000000000000000e+00 -2.745098061859607697e-02 2.745098061859607697e-02 2.745098061859607697e-02 1.000000000000000000e+00 -2.352941222488880157e-02 2.352941222488880157e-02 2.352941222488880157e-02 1.000000000000000000e+00 -1.960784383118152618e-02 1.960784383118152618e-02 1.960784383118152618e-02 1.000000000000000000e+00 -1.568627543747425079e-02 1.568627543747425079e-02 1.568627543747425079e-02 1.000000000000000000e+00 -1.176470611244440079e-02 1.176470611244440079e-02 1.176470611244440079e-02 1.000000000000000000e+00 -7.843137718737125397e-03 7.843137718737125397e-03 7.843137718737125397e-03 1.000000000000000000e+00 -3.921568859368562698e-03 3.921568859368562698e-03 3.921568859368562698e-03 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/gnuplot b/fastplotlib/utils/colormaps/gnuplot deleted file mode 100644 index 481a27626..000000000 --- a/fastplotlib/utils/colormaps/gnuplot +++ /dev/null @@ -1,256 +0,0 @@ -0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.262242794036865234e-02 6.030862920169965946e-08 2.463744953274726868e-02 1.000000000000000000e+00 -8.856149017810821533e-02 4.824690336135972757e-07 4.925994202494621277e-02 1.000000000000000000e+00 -1.084652319550514221e-01 1.628332938707899302e-06 7.385252416133880615e-02 1.000000000000000000e+00 -1.252448558807373047e-01 3.859752268908778206e-06 9.840027987957000732e-02 1.000000000000000000e+00 -1.400280147790908813e-01 7.538578756793867797e-06 1.228882893919944763e-01 1.000000000000000000e+00 -1.533930003643035889e-01 1.302666350966319442e-05 1.473017036914825439e-01 1.000000000000000000e+00 -1.656833738088607788e-01 2.068586036330088973e-05 1.716256737709045410e-01 1.000000000000000000e+00 -1.771229803562164307e-01 3.087801815127022564e-05 1.958454698324203491e-01 1.000000000000000000e+00 -1.878672838211059570e-01 4.396499207359738648e-05 2.199463546276092529e-01 1.000000000000000000e+00 -1.980295032262802124e-01 6.030863005435094237e-05 2.439137250185012817e-01 1.000000000000000000e+00 -2.076950967311859131e-01 8.027078729355707765e-05 2.677330076694488525e-01 1.000000000000000000e+00 -2.169304639101028442e-01 1.042133080773055553e-04 2.913897335529327393e-01 1.000000000000000000e+00 -2.257883846759796143e-01 1.324980548815801740e-04 3.148695826530456543e-01 1.000000000000000000e+00 -2.343116700649261475e-01 1.654868829064071178e-04 3.381582796573638916e-01 1.000000000000000000e+00 -2.425356209278106689e-01 2.035416255239397287e-04 3.612416684627532959e-01 1.000000000000000000e+00 -2.504897117614746094e-01 2.470241452101618052e-04 3.841057419776916504e-01 1.000000000000000000e+00 -2.581988871097564697e-01 2.962962898891419172e-04 4.067366421222686768e-01 1.000000000000000000e+00 -2.656844556331634521e-01 3.517199365887790918e-04 4.291206002235412598e-01 1.000000000000000000e+00 -2.729648351669311523e-01 4.136568750254809856e-04 4.512440562248229980e-01 1.000000000000000000e+00 -2.800560295581817627e-01 4.824690404348075390e-04 4.730935692787170410e-01 1.000000000000000000e+00 -2.869720160961151123e-01 5.585182225331664085e-04 4.946558475494384766e-01 1.000000000000000000e+00 -2.937252223491668701e-01 6.421662983484566212e-04 5.159178376197814941e-01 1.000000000000000000e+00 -3.003266155719757080e-01 7.337750867009162903e-04 5.368666052818298340e-01 1.000000000000000000e+00 -3.067860007286071777e-01 8.337064646184444427e-04 5.574894547462463379e-01 1.000000000000000000e+00 -3.131121397018432617e-01 9.423223091289401054e-04 5.777738094329833984e-01 1.000000000000000000e+00 -3.193129897117614746e-01 1.059984439052641392e-03 5.977074503898620605e-01 1.000000000000000000e+00 -3.253956735134124756e-01 1.187054789625108242e-03 6.172782182693481445e-01 1.000000000000000000e+00 -3.313667476177215576e-01 1.323895063251256943e-03 6.364742517471313477e-01 1.000000000000000000e+00 -3.372321128845214844e-01 1.470867195166647434e-03 6.552838683128356934e-01 1.000000000000000000e+00 -3.429971635341644287e-01 1.628333004191517830e-03 6.736956238746643066e-01 1.000000000000000000e+00 -3.486669361591339111e-01 1.796654425561428070e-03 6.916984319686889648e-01 1.000000000000000000e+00 -3.542459607124328613e-01 1.976193161681294441e-03 7.092813253402709961e-01 1.000000000000000000e+00 -3.597384691238403320e-01 2.167311264201998711e-03 7.264335751533508301e-01 1.000000000000000000e+00 -3.651483654975891113e-01 2.370370319113135338e-03 7.431448101997375488e-01 1.000000000000000000e+00 -3.704792857170104980e-01 2.585732378065586090e-03 7.594048976898193359e-01 1.000000000000000000e+00 -3.757345676422119141e-01 2.813759492710232735e-03 7.752040028572082520e-01 1.000000000000000000e+00 -3.809173703193664551e-01 3.054813016206026077e-03 7.905324101448059082e-01 1.000000000000000000e+00 -3.860305845737457275e-01 3.309255000203847885e-03 8.053809404373168945e-01 1.000000000000000000e+00 -3.910769522190093994e-01 3.577447496354579926e-03 8.197404742240905762e-01 1.000000000000000000e+00 -3.960590064525604248e-01 3.859752323478460312e-03 8.336023688316345215e-01 1.000000000000000000e+00 -4.009791910648345947e-01 4.156530834734439850e-03 8.469582200050354004e-01 1.000000000000000000e+00 -4.058397114276885986e-01 4.468145780265331268e-03 8.597998619079589844e-01 1.000000000000000000e+00 -4.106427431106567383e-01 4.794958047568798065e-03 8.721194863319396973e-01 1.000000000000000000e+00 -4.153901934623718262e-01 5.137330386787652969e-03 8.839097023010253906e-01 1.000000000000000000e+00 -4.200840294361114502e-01 5.495623685419559479e-03 8.951632976531982422e-01 1.000000000000000000e+00 -4.247259795665740967e-01 5.870200693607330322e-03 9.058734178543090820e-01 1.000000000000000000e+00 -4.293177425861358643e-01 6.261422764509916306e-03 9.160336256027221680e-01 1.000000000000000000e+00 -4.338609278202056885e-01 6.669651716947555542e-03 9.256376624107360840e-01 1.000000000000000000e+00 -4.383569955825805664e-01 7.095249835401773453e-03 9.346797466278076172e-01 1.000000000000000000e+00 -4.428074359893798828e-01 7.538578473031520844e-03 9.431544542312622070e-01 1.000000000000000000e+00 -4.472135901451110840e-01 8.000000379979610443e-03 9.510565400123596191e-01 1.000000000000000000e+00 -4.515767693519592285e-01 8.479875512421131134e-03 9.583812355995178223e-01 1.000000000000000000e+00 -4.558981657028198242e-01 8.978568017482757568e-03 9.651240706443786621e-01 1.000000000000000000e+00 -4.601790010929107666e-01 9.496438317000865936e-03 9.712810516357421875e-01 1.000000000000000000e+00 -4.644203782081604004e-01 1.003384776413440704e-02 9.768483042716979980e-01 1.000000000000000000e+00 -4.686233401298522949e-01 1.059116050601005554e-02 9.818225502967834473e-01 1.000000000000000000e+00 -4.727889597415924072e-01 1.116873603314161301e-02 9.862007498741149902e-01 1.000000000000000000e+00 -4.769182205200195312e-01 1.176693756133317947e-02 9.899802207946777344e-01 1.000000000000000000e+00 -4.810120165348052979e-01 1.238612644374370575e-02 9.931586384773254395e-01 1.000000000000000000e+00 -4.850712418556213379e-01 1.302666403353214264e-02 9.957341551780700684e-01 1.000000000000000000e+00 -4.890968203544616699e-01 1.368891261518001556e-02 9.977051615715026855e-01 1.000000000000000000e+00 -4.930894970893859863e-01 1.437323540449142456e-02 9.990704655647277832e-01 1.000000000000000000e+00 -4.970501363277435303e-01 1.507999189198017120e-02 9.998292326927185059e-01 1.000000000000000000e+00 -5.009794235229492188e-01 1.580954529345035553e-02 9.999810457229614258e-01 1.000000000000000000e+00 -5.048781633377075195e-01 1.656225696206092834e-02 9.995257258415222168e-01 1.000000000000000000e+00 -5.087470412254333496e-01 1.733849011361598969e-02 9.984636306762695312e-01 1.000000000000000000e+00 -5.125866532325744629e-01 1.813860423862934113e-02 9.967952966690063477e-01 1.000000000000000000e+00 -5.163977742195129395e-01 1.896296255290508270e-02 9.945219159126281738e-01 1.000000000000000000e+00 -5.201809406280517578e-01 1.981192827224731445e-02 9.916446805000305176e-01 1.000000000000000000e+00 -5.239368081092834473e-01 2.068585902452468872e-02 9.881654977798461914e-01 1.000000000000000000e+00 -5.276659727096557617e-01 2.158512175083160400e-02 9.840863347053527832e-01 1.000000000000000000e+00 -5.313689112663269043e-01 2.251007594168186188e-02 9.794097542762756348e-01 1.000000000000000000e+00 -5.350462794303894043e-01 2.346108295023441315e-02 9.741386175155639648e-01 1.000000000000000000e+00 -5.386984944343566895e-01 2.443850412964820862e-02 9.682760238647460938e-01 1.000000000000000000e+00 -5.423261523246765137e-01 2.544270269572734833e-02 9.618256688117980957e-01 1.000000000000000000e+00 -5.459296703338623047e-01 2.647404000163078308e-02 9.547913074493408203e-01 1.000000000000000000e+00 -5.495095849037170410e-01 2.753287926316261292e-02 9.471773505210876465e-01 1.000000000000000000e+00 -5.530663132667541504e-01 2.861957997083663940e-02 9.389883875846862793e-01 1.000000000000000000e+00 -5.566003322601318359e-01 2.973450720310211182e-02 9.302293062210083008e-01 1.000000000000000000e+00 -5.601120591163635254e-01 3.087801858782768250e-02 9.209055304527282715e-01 1.000000000000000000e+00 -5.636018514633178711e-01 3.205047920346260071e-02 9.110226631164550781e-01 1.000000000000000000e+00 -5.670701861381530762e-01 3.325224667787551880e-02 9.005867242813110352e-01 1.000000000000000000e+00 -5.705174803733825684e-01 3.448368981480598450e-02 8.896040320396423340e-01 1.000000000000000000e+00 -5.739440321922302246e-01 3.574516624212265015e-02 8.780812621116638184e-01 1.000000000000000000e+00 -5.773502588272094727e-01 3.703703731298446655e-02 8.660253882408142090e-01 1.000000000000000000e+00 -5.807365179061889648e-01 3.835966438055038452e-02 8.534438014030456543e-01 1.000000000000000000e+00 -5.841031074523925781e-01 3.971341252326965332e-02 8.403440713882446289e-01 1.000000000000000000e+00 -5.874504446983337402e-01 4.109864309430122375e-02 8.267341852188110352e-01 1.000000000000000000e+00 -5.907788276672363281e-01 4.251571372151374817e-02 8.126223683357238770e-01 1.000000000000000000e+00 -5.940885543823242188e-01 4.396498948335647583e-02 7.980172038078308105e-01 1.000000000000000000e+00 -5.973799228668212891e-01 4.544683545827865601e-02 7.829276323318481445e-01 1.000000000000000000e+00 -6.006532311439514160e-01 4.696160554885864258e-02 7.673626542091369629e-01 1.000000000000000000e+00 -6.039088368415832520e-01 4.850966855883598328e-02 7.513318657875061035e-01 1.000000000000000000e+00 -6.071469783782958984e-01 5.009138211607933044e-02 7.348449826240539551e-01 1.000000000000000000e+00 -6.103679537773132324e-01 5.170711129903793335e-02 7.179118990898132324e-01 1.000000000000000000e+00 -6.135720014572143555e-01 5.335721373558044434e-02 7.005430459976196289e-01 1.000000000000000000e+00 -6.167594194412231445e-01 5.504205822944641113e-02 6.827488541603088379e-01 1.000000000000000000e+00 -6.199304461479187012e-01 5.676199868321418762e-02 6.645401716232299805e-01 1.000000000000000000e+00 -6.230853199958801270e-01 5.851740390062332153e-02 6.459280848503112793e-01 1.000000000000000000e+00 -6.262242794036865234e-01 6.030862778425216675e-02 6.269237995147705078e-01 1.000000000000000000e+00 -6.293476223945617676e-01 6.213604286313056946e-02 6.075389385223388672e-01 1.000000000000000000e+00 -6.324555277824401855e-01 6.400000303983688354e-02 5.877852439880371094e-01 1.000000000000000000e+00 -6.355482339859008789e-01 6.590086966753005981e-02 5.676746964454650879e-01 1.000000000000000000e+00 -6.386259794235229492e-01 6.783900409936904907e-02 5.472195744514465332e-01 1.000000000000000000e+00 -6.416889429092407227e-01 6.981477886438369751e-02 5.264321565628051758e-01 1.000000000000000000e+00 -6.447373628616333008e-01 7.182854413986206055e-02 5.053251981735229492e-01 1.000000000000000000e+00 -6.477714180946350098e-01 7.388066500425338745e-02 4.839114248752593994e-01 1.000000000000000000e+00 -6.507913470268249512e-01 7.597150653600692749e-02 4.622038900852203369e-01 1.000000000000000000e+00 -6.537973284721374512e-01 7.810142636299133301e-02 4.402157366275787354e-01 1.000000000000000000e+00 -6.567896008491516113e-01 8.027078211307525635e-02 4.179603457450866699e-01 1.000000000000000000e+00 -6.597682237625122070e-01 8.247995376586914062e-02 3.954512178897857666e-01 1.000000000000000000e+00 -6.627334952354431152e-01 8.472928404808044434e-02 3.727020025253295898e-01 1.000000000000000000e+00 -6.656855344772338867e-01 8.701913803815841675e-02 3.497264981269836426e-01 1.000000000000000000e+00 -6.686245799064636230e-01 8.934988826513290405e-02 3.265387117862701416e-01 1.000000000000000000e+00 -6.715507507324218750e-01 9.172188490629196167e-02 3.031526803970336914e-01 1.000000000000000000e+00 -6.744642257690429688e-01 9.413550049066543579e-02 2.795825898647308350e-01 1.000000000000000000e+00 -6.773651242256164551e-01 9.659108519554138184e-02 2.558427751064300537e-01 1.000000000000000000e+00 -6.802536845207214355e-01 9.908901154994964600e-02 2.319476455450057983e-01 1.000000000000000000e+00 -6.831300258636474609e-01 1.016296297311782837e-01 2.079116851091384888e-01 1.000000000000000000e+00 -6.859943270683288574e-01 1.042133122682571411e-01 1.837495118379592896e-01 1.000000000000000000e+00 -6.888467073440551758e-01 1.068404167890548706e-01 1.594757884740829468e-01 1.000000000000000000e+00 -6.916873455047607422e-01 1.095113009214401245e-01 1.351052522659301758e-01 1.000000000000000000e+00 -6.945163607597351074e-01 1.122263371944427490e-01 1.106526851654052734e-01 1.000000000000000000e+00 -6.973338723182678223e-01 1.149858832359313965e-01 8.613293617963790894e-02 1.000000000000000000e+00 -7.001400589942932129e-01 1.177902892231941223e-01 6.156090646982192993e-02 1.000000000000000000e+00 -7.029350399971008301e-01 1.206399351358413696e-01 3.695150092244148254e-02 1.000000000000000000e+00 -7.057189345359802246e-01 1.235351711511611938e-01 1.231965981423854828e-02 1.000000000000000000e+00 -7.084919214248657227e-01 1.264763623476028442e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.112540602684020996e-01 1.294638663530349731e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.140055298805236816e-01 1.324980556964874268e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.167464494705200195e-01 1.355792880058288574e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.194769382476806641e-01 1.387079209089279175e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.221970558166503906e-01 1.418843120336532593e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.249070405960083008e-01 1.451088339090347290e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.276068925857543945e-01 1.483818441629409790e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.302967309951782227e-01 1.517037004232406616e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.329767346382141113e-01 1.550747752189636230e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.356469631195068359e-01 1.584954261779785156e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.383075356483459473e-01 1.619659960269927979e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.409585714340209961e-01 1.654868721961975098e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.436001300811767578e-01 1.690584123134613037e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.462323904037475586e-01 1.726809740066528320e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.488553524017333984e-01 1.763549149036407471e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.514691352844238281e-01 1.800806075334548950e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.540739178657531738e-01 1.838583946228027344e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.566697001457214355e-01 1.876886636018753052e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.592566013336181641e-01 1.915717422962188721e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.618347406387329102e-01 1.955080330371856689e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.644041776657104492e-01 1.994978636503219604e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.669649720191955566e-01 2.035416215658187866e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.695173025131225586e-01 2.076396495103836060e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.720611691474914551e-01 2.117923200130462646e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.745966911315917969e-01 2.160000056028366089e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.771239280700683594e-01 2.202630341053009033e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.796429395675659180e-01 2.245817929506301880e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.821539044380187988e-01 2.289566397666931152e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.846567630767822266e-01 2.333879470825195312e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.871517539024353027e-01 2.378760576248168945e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.896387577056884766e-01 2.424213290214538574e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.921180129051208496e-01 2.470241487026214600e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.945895195007324219e-01 2.516848444938659668e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.970533967018127441e-01 2.564038336277008057e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.995096445083618164e-01 2.611814141273498535e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.019583821296691895e-01 2.660179734230041504e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.043996691703796387e-01 2.709138989448547363e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.068335652351379395e-01 2.758695185184478760e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.092601299285888672e-01 2.808852195739746094e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.116794228553771973e-01 2.859613299369812012e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.140915632247924805e-01 2.910982370376586914e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.164966106414794922e-01 2.962962985038757324e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.188945055007934570e-01 3.015558719635009766e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.212854862213134766e-01 3.068773150444030762e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.236694335937500000e-01 3.122610151767730713e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.260465860366821289e-01 3.177073001861572266e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.284168839454650879e-01 3.232165575027465820e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.307803869247436523e-01 3.287891447544097900e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.331372141838073730e-01 3.344253897666931152e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.354874253273010254e-01 3.401257097721099854e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.378310203552246094e-01 3.458904325962066650e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.401680588722229004e-01 3.517199158668518066e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.424986004829406738e-01 3.576145470142364502e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.448227643966674805e-01 3.635746836662292480e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.471404910087585449e-01 3.696006536483764648e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.494519591331481934e-01 3.756928443908691406e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.517571091651916504e-01 3.818516135215759277e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.540560603141784668e-01 3.880773484706878662e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.563488125801086426e-01 3.943703770637512207e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.586354851722717285e-01 4.007310569286346436e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.609160780906677246e-01 4.071597754955291748e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.631905913352966309e-01 4.136568903923034668e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.654592037200927734e-01 4.202227592468261719e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.677218556404113770e-01 4.268577098846435547e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.699786067008972168e-01 4.335621595382690430e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.722295165061950684e-01 4.403364658355712891e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.744746446609497070e-01 4.471809566020965576e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.767139911651611328e-01 4.540959894657135010e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.789476752281188965e-01 4.610819816589355469e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.811756968498229980e-01 4.681392312049865723e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.833980560302734375e-01 4.752681255340576172e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.856148719787597656e-01 4.824690222740173340e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.878261446952819824e-01 4.897423088550567627e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.900319337844848633e-01 4.970883429050445557e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.922322988510131836e-01 5.045074224472045898e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.944271802902221680e-01 5.120000243186950684e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.966167569160461426e-01 5.195663571357727051e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.988009691238403320e-01 5.272069573402404785e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.009798765182495117e-01 5.349220633506774902e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.031535387039184570e-01 5.427120327949523926e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.053219556808471680e-01 5.505773425102233887e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.074851870536804199e-01 5.585182309150695801e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.096433520317077637e-01 5.665351152420043945e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.117963314056396484e-01 5.746283531188964844e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.139442443847656250e-01 5.827983021736145020e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.160871505737304688e-01 5.910453200340270996e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.182250499725341797e-01 5.993697643280029297e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.203580021858215332e-01 6.077720522880554199e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.224860072135925293e-01 6.162524223327636719e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.246090650558471680e-01 6.248114109039306641e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.267272949218750000e-01 6.334491968154907227e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.288407564163208008e-01 6.421662569046020508e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.309493303298950195e-01 6.509629487991333008e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.330531954765319824e-01 6.598396301269531250e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.351522922515869141e-01 6.687965989112854004e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.372466802597045898e-01 6.778342723846435547e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.393364191055297852e-01 6.869530081748962402e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.414215087890625000e-01 6.961531043052673340e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.435020089149475098e-01 7.054350376129150391e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.455779194831848145e-01 7.147991061210632324e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.476493000984191895e-01 7.242456674575805664e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.497161507606506348e-01 7.337750792503356934e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.517785310745239258e-01 7.433877587318420410e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.538364410400390625e-01 7.530840039253234863e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.558898806571960449e-01 7.628641724586486816e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.579389691352844238e-01 7.727286815643310547e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.599836468696594238e-01 7.826778292655944824e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.620240330696105957e-01 7.927120923995971680e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.640600681304931641e-01 8.028316497802734375e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.660918116569519043e-01 8.130370378494262695e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.681192636489868164e-01 8.233284950256347656e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.701424837112426758e-01 8.337064981460571289e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.721615314483642578e-01 8.441712856292724609e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.741763472557067871e-01 8.547233343124389648e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.761870503425598145e-01 8.653629422187805176e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.781936407089233398e-01 8.760904073715209961e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.801960587501525879e-01 8.869062662124633789e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.821944236755371094e-01 8.978106975555419922e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.841887354850769043e-01 9.088041782379150391e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.861789941787719727e-01 9.198870658874511719e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.881652593612670898e-01 9.310596585273742676e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.901475310325622559e-01 9.423223137855529785e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.921258687973022461e-01 9.536755084991455078e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.941002726554870605e-01 9.651194810867309570e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.960706830024719238e-01 9.766546487808227539e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.980372786521911621e-01 9.882813692092895508e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/gnuplot2 b/fastplotlib/utils/colormaps/gnuplot2 deleted file mode 100644 index 6c9146d47..000000000 --- a/fastplotlib/utils/colormaps/gnuplot2 +++ /dev/null @@ -1,256 +0,0 @@ -0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 1.568627543747425079e-02 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 3.137255087494850159e-02 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 4.705882444977760315e-02 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 6.274510174989700317e-02 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.843137532472610474e-02 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 9.411764889955520630e-02 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 1.098039224743843079e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 1.254902034997940063e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 1.411764770746231079e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 1.568627506494522095e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 1.725490242242813110e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 1.882352977991104126e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 2.039215713739395142e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 2.196078449487686157e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 2.352941185235977173e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 2.509804069995880127e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 2.666666805744171143e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 2.823529541492462158e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 2.980392277240753174e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 3.137255012989044189e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 3.294117748737335205e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 3.450980484485626221e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 3.607843220233917236e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 3.764705955982208252e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 3.921568691730499268e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 4.078431427478790283e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 4.235294163227081299e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 4.392156898975372314e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 4.549019634723663330e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 4.705882370471954346e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 4.862745106220245361e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 5.019608139991760254e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 5.176470875740051270e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 5.333333611488342285e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 5.490196347236633301e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 5.647059082984924316e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 5.803921818733215332e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 5.960784554481506348e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 6.117647290229797363e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 6.274510025978088379e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 6.431372761726379395e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 6.588235497474670410e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 6.745098233222961426e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 6.901960968971252441e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.058823704719543457e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.215686440467834473e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.372549176216125488e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.529411911964416504e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.686274647712707520e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.843137383460998535e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.000000119209289551e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.156862854957580566e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.313725590705871582e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.470588326454162598e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.627451062202453613e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.784313797950744629e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.941176533699035645e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 9.098039269447326660e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 9.254902005195617676e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 9.411764740943908691e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 9.568627476692199707e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 9.725490212440490723e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 9.882352948188781738e-01 1.000000000000000000e+00 -3.063725540414452553e-03 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -1.531862746924161911e-02 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -2.757352963089942932e-02 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -3.982843086123466492e-02 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -5.208333209156990051e-02 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -6.433823704719543457e-02 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -7.659313827753067017e-02 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -8.884803950786590576e-02 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -1.011029407382011414e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -1.133578419685363770e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -1.256127506494522095e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -1.378676444292068481e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -1.501225531101226807e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -1.623774468898773193e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -1.746323555707931519e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -1.868872493505477905e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -1.991421580314636230e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -2.113970518112182617e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -2.236519604921340942e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -2.359068691730499268e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -2.481617629528045654e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -2.604166567325592041e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -2.726715803146362305e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -2.849264740943908691e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -2.971813678741455078e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -3.094362616539001465e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -3.216911852359771729e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -3.339460790157318115e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -3.462009727954864502e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -3.584558963775634766e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -3.707107901573181152e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -3.829656839370727539e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -3.952205777168273926e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -4.074755012989044189e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -4.197303950786590576e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -4.319852888584136963e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -4.442401826381683350e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -4.564951062202453613e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -4.687500000000000000e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -4.810048937797546387e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -4.932598173618316650e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -5.055146813392639160e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -5.177696347236633301e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -5.300245285034179688e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -5.422794222831726074e-01 7.058823481202125549e-03 9.929412007331848145e-01 1.000000000000000000e+00 -5.545343160629272461e-01 1.490196119993925095e-02 9.850980639457702637e-01 1.000000000000000000e+00 -5.667892098426818848e-01 2.274509891867637634e-02 9.772549271583557129e-01 1.000000000000000000e+00 -5.790441036224365234e-01 3.058823570609092712e-02 9.694117903709411621e-01 1.000000000000000000e+00 -5.912989974021911621e-01 3.843137249350547791e-02 9.615686535835266113e-01 1.000000000000000000e+00 -6.035539507865905762e-01 4.627450928092002869e-02 9.537255167961120605e-01 1.000000000000000000e+00 -6.158088445663452148e-01 5.411764606833457947e-02 9.458823800086975098e-01 1.000000000000000000e+00 -6.280637383460998535e-01 6.196078285574913025e-02 9.380392432212829590e-01 1.000000000000000000e+00 -6.403186321258544922e-01 6.980392336845397949e-02 9.301961064338684082e-01 1.000000000000000000e+00 -6.525735259056091309e-01 7.764706015586853027e-02 9.223529696464538574e-01 1.000000000000000000e+00 -6.648284196853637695e-01 8.549019694328308105e-02 9.145098328590393066e-01 1.000000000000000000e+00 -6.770833134651184082e-01 9.333333373069763184e-02 9.066666960716247559e-01 1.000000000000000000e+00 -6.893382072448730469e-01 1.011764705181121826e-01 8.988234996795654297e-01 1.000000000000000000e+00 -7.015931606292724609e-01 1.090196073055267334e-01 8.909803628921508789e-01 1.000000000000000000e+00 -7.138480544090270996e-01 1.168627440929412842e-01 8.831372261047363281e-01 1.000000000000000000e+00 -7.261029481887817383e-01 1.247058808803558350e-01 8.752940893173217773e-01 1.000000000000000000e+00 -7.383578419685363770e-01 1.325490176677703857e-01 8.674509525299072266e-01 1.000000000000000000e+00 -7.506127357482910156e-01 1.403921544551849365e-01 8.596078157424926758e-01 1.000000000000000000e+00 -7.628676295280456543e-01 1.482352912425994873e-01 8.517646789550781250e-01 1.000000000000000000e+00 -7.751225233078002930e-01 1.560784280300140381e-01 8.439215421676635742e-01 1.000000000000000000e+00 -7.873774766921997070e-01 1.639215648174285889e-01 8.360784053802490234e-01 1.000000000000000000e+00 -7.996323704719543457e-01 1.717647016048431396e-01 8.282352685928344727e-01 1.000000000000000000e+00 -8.118872642517089844e-01 1.796078383922576904e-01 8.203921318054199219e-01 1.000000000000000000e+00 -8.241421580314636230e-01 1.874509751796722412e-01 8.125489950180053711e-01 1.000000000000000000e+00 -8.363970518112182617e-01 1.952941119670867920e-01 8.047058582305908203e-01 1.000000000000000000e+00 -8.486519455909729004e-01 2.031372487545013428e-01 7.968627214431762695e-01 1.000000000000000000e+00 -8.609068393707275391e-01 2.109803855419158936e-01 7.890195846557617188e-01 1.000000000000000000e+00 -8.731617927551269531e-01 2.188235223293304443e-01 7.811764478683471680e-01 1.000000000000000000e+00 -8.854166865348815918e-01 2.266666740179061890e-01 7.733333110809326172e-01 1.000000000000000000e+00 -8.976715803146362305e-01 2.345098108053207397e-01 7.654901742935180664e-01 1.000000000000000000e+00 -9.099264740943908691e-01 2.423529475927352905e-01 7.576470375061035156e-01 1.000000000000000000e+00 -9.221813678741455078e-01 2.501960694789886475e-01 7.498039007186889648e-01 1.000000000000000000e+00 -9.344362616539001465e-01 2.580392062664031982e-01 7.419607639312744141e-01 1.000000000000000000e+00 -9.466911554336547852e-01 2.658823430538177490e-01 7.341176271438598633e-01 1.000000000000000000e+00 -9.589460492134094238e-01 2.737254798412322998e-01 7.262744903564453125e-01 1.000000000000000000e+00 -9.712010025978088379e-01 2.815686166286468506e-01 7.184313535690307617e-01 1.000000000000000000e+00 -9.834558963775634766e-01 2.894117534160614014e-01 7.105882167816162109e-01 1.000000000000000000e+00 -9.957107901573181152e-01 2.972548902034759521e-01 7.027450799942016602e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.050980269908905029e-01 6.949019432067871094e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.129411637783050537e-01 6.870588064193725586e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.207843005657196045e-01 6.792156696319580078e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.286274373531341553e-01 6.713725328445434570e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.364705741405487061e-01 6.635293960571289062e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.443137109279632568e-01 6.556862592697143555e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.521568775177001953e-01 6.478431224822998047e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.600000143051147461e-01 6.399999856948852539e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.678431510925292969e-01 6.321568489074707031e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.756862878799438477e-01 6.243137121200561523e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.835294246673583984e-01 6.164705753326416016e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.913725614547729492e-01 6.086274385452270508e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.992156982421875000e-01 6.007843017578125000e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.070588350296020508e-01 5.929411649703979492e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.149019718170166016e-01 5.850980281829833984e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.227451086044311523e-01 5.772548913955688477e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.305882453918457031e-01 5.694117546081542969e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.384313821792602539e-01 5.615686178207397461e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.462745189666748047e-01 5.537254810333251953e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.541176557540893555e-01 5.458823442459106445e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.619607925415039062e-01 5.380392074584960938e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.698039293289184570e-01 5.301960706710815430e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.776470661163330078e-01 5.223529338836669922e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.854902029037475586e-01 5.145097970962524414e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.933333396911621094e-01 5.066666603088378906e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.011764764785766602e-01 4.988235235214233398e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.090196132659912109e-01 4.909803867340087891e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.168627500534057617e-01 4.831372499465942383e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.247058868408203125e-01 4.752941131591796875e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.325490236282348633e-01 4.674509763717651367e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.403921604156494141e-01 4.596078395843505859e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.482352972030639648e-01 4.517647027969360352e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.560784339904785156e-01 4.439215660095214844e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.639215707778930664e-01 4.360784292221069336e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.717647075653076172e-01 4.282352924346923828e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.796078443527221680e-01 4.203921556472778320e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.874509811401367188e-01 4.125490188598632812e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.952941179275512695e-01 4.047058820724487305e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.031372547149658203e-01 3.968627452850341797e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.109803915023803711e-01 3.890196084976196289e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.188235282897949219e-01 3.811764717102050781e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.266666650772094727e-01 3.733333349227905273e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.345098018646240234e-01 3.654901981353759766e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.423529386520385742e-01 3.576470613479614258e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.501960754394531250e-01 3.498039245605468750e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.580392122268676758e-01 3.419607877731323242e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.658823490142822266e-01 3.341176509857177734e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.737254858016967773e-01 3.262745141983032227e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.815686225891113281e-01 3.184313774108886719e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.894117593765258789e-01 3.105882406234741211e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.972548961639404297e-01 3.027451038360595703e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.050980329513549805e-01 2.949019670486450195e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.129411697387695312e-01 2.870588302612304688e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.207843065261840820e-01 2.792156934738159180e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.286274433135986328e-01 2.713725566864013672e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.364705801010131836e-01 2.635294198989868164e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.443137168884277344e-01 2.556862831115722656e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.521568536758422852e-01 2.478431314229965210e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.599999904632568359e-01 2.399999946355819702e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.678431272506713867e-01 2.321568578481674194e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.756862640380859375e-01 2.243137210607528687e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.835294008255004883e-01 2.164705842733383179e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.913725376129150391e-01 2.086274474859237671e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.992156744003295898e-01 2.007843106985092163e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.070588111877441406e-01 1.929411739110946655e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.149019479751586914e-01 1.850980371236801147e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.227450847625732422e-01 1.772549003362655640e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.305882215499877930e-01 1.694117635488510132e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.384313583374023438e-01 1.615686267614364624e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.462744951248168945e-01 1.537254899740219116e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.541176319122314453e-01 1.458823531866073608e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.619607686996459961e-01 1.380392163991928101e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.698039054870605469e-01 1.301960796117782593e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.776470422744750977e-01 1.223529428243637085e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.854901790618896484e-01 1.145098060369491577e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.933333158493041992e-01 1.066666692495346069e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.011764526367187500e-01 9.882353246212005615e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.090195894241333008e-01 9.098039567470550537e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.168627262115478516e-01 8.313725143671035767e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.247058629989624023e-01 7.529411464929580688e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.325489997863769531e-01 6.745097786188125610e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.403921365737915039e-01 5.960784479975700378e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.482352733612060547e-01 5.176470428705215454e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.560784101486206055e-01 4.392156749963760376e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.639215469360351562e-01 3.607843071222305298e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.717646837234497070e-01 2.823529392480850220e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.796078205108642578e-01 2.039215713739395142e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.874509572982788086e-01 1.254901941865682602e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.952940940856933594e-01 4.705882165580987930e-03 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 1.960784383118152618e-02 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 6.862745434045791626e-02 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 1.176470592617988586e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 1.666666716337203979e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 2.156862765550613403e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 2.647058963775634766e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 3.137255012989044189e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 3.627451062202453613e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 4.117647111415863037e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 4.607843160629272461e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 5.098039507865905762e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 5.588235259056091309e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 6.078431606292724609e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 6.568627357482910156e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 7.058823704719543457e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 7.549019455909729004e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 8.039215803146362305e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 8.529411554336547852e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 9.019607901573181152e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 9.509803652763366699e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/gray b/fastplotlib/utils/colormaps/gray deleted file mode 100644 index 42b875285..000000000 --- a/fastplotlib/utils/colormaps/gray +++ /dev/null @@ -1,256 +0,0 @@ -0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.921568859368562698e-03 3.921568859368562698e-03 3.921568859368562698e-03 1.000000000000000000e+00 -7.843137718737125397e-03 7.843137718737125397e-03 7.843137718737125397e-03 1.000000000000000000e+00 -1.176470611244440079e-02 1.176470611244440079e-02 1.176470611244440079e-02 1.000000000000000000e+00 -1.568627543747425079e-02 1.568627543747425079e-02 1.568627543747425079e-02 1.000000000000000000e+00 -1.960784383118152618e-02 1.960784383118152618e-02 1.960784383118152618e-02 1.000000000000000000e+00 -2.352941222488880157e-02 2.352941222488880157e-02 2.352941222488880157e-02 1.000000000000000000e+00 -2.745098061859607697e-02 2.745098061859607697e-02 2.745098061859607697e-02 1.000000000000000000e+00 -3.137255087494850159e-02 3.137255087494850159e-02 3.137255087494850159e-02 1.000000000000000000e+00 -3.529411926865577698e-02 3.529411926865577698e-02 3.529411926865577698e-02 1.000000000000000000e+00 -3.921568766236305237e-02 3.921568766236305237e-02 3.921568766236305237e-02 1.000000000000000000e+00 -4.313725605607032776e-02 4.313725605607032776e-02 4.313725605607032776e-02 1.000000000000000000e+00 -4.705882444977760315e-02 4.705882444977760315e-02 4.705882444977760315e-02 1.000000000000000000e+00 -5.098039284348487854e-02 5.098039284348487854e-02 5.098039284348487854e-02 1.000000000000000000e+00 -5.490196123719215393e-02 5.490196123719215393e-02 5.490196123719215393e-02 1.000000000000000000e+00 -5.882352963089942932e-02 5.882352963089942932e-02 5.882352963089942932e-02 1.000000000000000000e+00 -6.274510174989700317e-02 6.274510174989700317e-02 6.274510174989700317e-02 1.000000000000000000e+00 -6.666667014360427856e-02 6.666667014360427856e-02 6.666667014360427856e-02 1.000000000000000000e+00 -7.058823853731155396e-02 7.058823853731155396e-02 7.058823853731155396e-02 1.000000000000000000e+00 -7.450980693101882935e-02 7.450980693101882935e-02 7.450980693101882935e-02 1.000000000000000000e+00 -7.843137532472610474e-02 7.843137532472610474e-02 7.843137532472610474e-02 1.000000000000000000e+00 -8.235294371843338013e-02 8.235294371843338013e-02 8.235294371843338013e-02 1.000000000000000000e+00 -8.627451211214065552e-02 8.627451211214065552e-02 8.627451211214065552e-02 1.000000000000000000e+00 -9.019608050584793091e-02 9.019608050584793091e-02 9.019608050584793091e-02 1.000000000000000000e+00 -9.411764889955520630e-02 9.411764889955520630e-02 9.411764889955520630e-02 1.000000000000000000e+00 -9.803921729326248169e-02 9.803921729326248169e-02 9.803921729326248169e-02 1.000000000000000000e+00 -1.019607856869697571e-01 1.019607856869697571e-01 1.019607856869697571e-01 1.000000000000000000e+00 -1.058823540806770325e-01 1.058823540806770325e-01 1.058823540806770325e-01 1.000000000000000000e+00 -1.098039224743843079e-01 1.098039224743843079e-01 1.098039224743843079e-01 1.000000000000000000e+00 -1.137254908680915833e-01 1.137254908680915833e-01 1.137254908680915833e-01 1.000000000000000000e+00 -1.176470592617988586e-01 1.176470592617988586e-01 1.176470592617988586e-01 1.000000000000000000e+00 -1.215686276555061340e-01 1.215686276555061340e-01 1.215686276555061340e-01 1.000000000000000000e+00 -1.254902034997940063e-01 1.254902034997940063e-01 1.254902034997940063e-01 1.000000000000000000e+00 -1.294117718935012817e-01 1.294117718935012817e-01 1.294117718935012817e-01 1.000000000000000000e+00 -1.333333402872085571e-01 1.333333402872085571e-01 1.333333402872085571e-01 1.000000000000000000e+00 -1.372549086809158325e-01 1.372549086809158325e-01 1.372549086809158325e-01 1.000000000000000000e+00 -1.411764770746231079e-01 1.411764770746231079e-01 1.411764770746231079e-01 1.000000000000000000e+00 -1.450980454683303833e-01 1.450980454683303833e-01 1.450980454683303833e-01 1.000000000000000000e+00 -1.490196138620376587e-01 1.490196138620376587e-01 1.490196138620376587e-01 1.000000000000000000e+00 -1.529411822557449341e-01 1.529411822557449341e-01 1.529411822557449341e-01 1.000000000000000000e+00 -1.568627506494522095e-01 1.568627506494522095e-01 1.568627506494522095e-01 1.000000000000000000e+00 -1.607843190431594849e-01 1.607843190431594849e-01 1.607843190431594849e-01 1.000000000000000000e+00 -1.647058874368667603e-01 1.647058874368667603e-01 1.647058874368667603e-01 1.000000000000000000e+00 -1.686274558305740356e-01 1.686274558305740356e-01 1.686274558305740356e-01 1.000000000000000000e+00 -1.725490242242813110e-01 1.725490242242813110e-01 1.725490242242813110e-01 1.000000000000000000e+00 -1.764705926179885864e-01 1.764705926179885864e-01 1.764705926179885864e-01 1.000000000000000000e+00 -1.803921610116958618e-01 1.803921610116958618e-01 1.803921610116958618e-01 1.000000000000000000e+00 -1.843137294054031372e-01 1.843137294054031372e-01 1.843137294054031372e-01 1.000000000000000000e+00 -1.882352977991104126e-01 1.882352977991104126e-01 1.882352977991104126e-01 1.000000000000000000e+00 -1.921568661928176880e-01 1.921568661928176880e-01 1.921568661928176880e-01 1.000000000000000000e+00 -1.960784345865249634e-01 1.960784345865249634e-01 1.960784345865249634e-01 1.000000000000000000e+00 -2.000000029802322388e-01 2.000000029802322388e-01 2.000000029802322388e-01 1.000000000000000000e+00 -2.039215713739395142e-01 2.039215713739395142e-01 2.039215713739395142e-01 1.000000000000000000e+00 -2.078431397676467896e-01 2.078431397676467896e-01 2.078431397676467896e-01 1.000000000000000000e+00 -2.117647081613540649e-01 2.117647081613540649e-01 2.117647081613540649e-01 1.000000000000000000e+00 -2.156862765550613403e-01 2.156862765550613403e-01 2.156862765550613403e-01 1.000000000000000000e+00 -2.196078449487686157e-01 2.196078449487686157e-01 2.196078449487686157e-01 1.000000000000000000e+00 -2.235294133424758911e-01 2.235294133424758911e-01 2.235294133424758911e-01 1.000000000000000000e+00 -2.274509817361831665e-01 2.274509817361831665e-01 2.274509817361831665e-01 1.000000000000000000e+00 -2.313725501298904419e-01 2.313725501298904419e-01 2.313725501298904419e-01 1.000000000000000000e+00 -2.352941185235977173e-01 2.352941185235977173e-01 2.352941185235977173e-01 1.000000000000000000e+00 -2.392156869173049927e-01 2.392156869173049927e-01 2.392156869173049927e-01 1.000000000000000000e+00 -2.431372553110122681e-01 2.431372553110122681e-01 2.431372553110122681e-01 1.000000000000000000e+00 -2.470588237047195435e-01 2.470588237047195435e-01 2.470588237047195435e-01 1.000000000000000000e+00 -2.509804069995880127e-01 2.509804069995880127e-01 2.509804069995880127e-01 1.000000000000000000e+00 -2.549019753932952881e-01 2.549019753932952881e-01 2.549019753932952881e-01 1.000000000000000000e+00 -2.588235437870025635e-01 2.588235437870025635e-01 2.588235437870025635e-01 1.000000000000000000e+00 -2.627451121807098389e-01 2.627451121807098389e-01 2.627451121807098389e-01 1.000000000000000000e+00 -2.666666805744171143e-01 2.666666805744171143e-01 2.666666805744171143e-01 1.000000000000000000e+00 -2.705882489681243896e-01 2.705882489681243896e-01 2.705882489681243896e-01 1.000000000000000000e+00 -2.745098173618316650e-01 2.745098173618316650e-01 2.745098173618316650e-01 1.000000000000000000e+00 -2.784313857555389404e-01 2.784313857555389404e-01 2.784313857555389404e-01 1.000000000000000000e+00 -2.823529541492462158e-01 2.823529541492462158e-01 2.823529541492462158e-01 1.000000000000000000e+00 -2.862745225429534912e-01 2.862745225429534912e-01 2.862745225429534912e-01 1.000000000000000000e+00 -2.901960909366607666e-01 2.901960909366607666e-01 2.901960909366607666e-01 1.000000000000000000e+00 -2.941176593303680420e-01 2.941176593303680420e-01 2.941176593303680420e-01 1.000000000000000000e+00 -2.980392277240753174e-01 2.980392277240753174e-01 2.980392277240753174e-01 1.000000000000000000e+00 -3.019607961177825928e-01 3.019607961177825928e-01 3.019607961177825928e-01 1.000000000000000000e+00 -3.058823645114898682e-01 3.058823645114898682e-01 3.058823645114898682e-01 1.000000000000000000e+00 -3.098039329051971436e-01 3.098039329051971436e-01 3.098039329051971436e-01 1.000000000000000000e+00 -3.137255012989044189e-01 3.137255012989044189e-01 3.137255012989044189e-01 1.000000000000000000e+00 -3.176470696926116943e-01 3.176470696926116943e-01 3.176470696926116943e-01 1.000000000000000000e+00 -3.215686380863189697e-01 3.215686380863189697e-01 3.215686380863189697e-01 1.000000000000000000e+00 -3.254902064800262451e-01 3.254902064800262451e-01 3.254902064800262451e-01 1.000000000000000000e+00 -3.294117748737335205e-01 3.294117748737335205e-01 3.294117748737335205e-01 1.000000000000000000e+00 -3.333333432674407959e-01 3.333333432674407959e-01 3.333333432674407959e-01 1.000000000000000000e+00 -3.372549116611480713e-01 3.372549116611480713e-01 3.372549116611480713e-01 1.000000000000000000e+00 -3.411764800548553467e-01 3.411764800548553467e-01 3.411764800548553467e-01 1.000000000000000000e+00 -3.450980484485626221e-01 3.450980484485626221e-01 3.450980484485626221e-01 1.000000000000000000e+00 -3.490196168422698975e-01 3.490196168422698975e-01 3.490196168422698975e-01 1.000000000000000000e+00 -3.529411852359771729e-01 3.529411852359771729e-01 3.529411852359771729e-01 1.000000000000000000e+00 -3.568627536296844482e-01 3.568627536296844482e-01 3.568627536296844482e-01 1.000000000000000000e+00 -3.607843220233917236e-01 3.607843220233917236e-01 3.607843220233917236e-01 1.000000000000000000e+00 -3.647058904170989990e-01 3.647058904170989990e-01 3.647058904170989990e-01 1.000000000000000000e+00 -3.686274588108062744e-01 3.686274588108062744e-01 3.686274588108062744e-01 1.000000000000000000e+00 -3.725490272045135498e-01 3.725490272045135498e-01 3.725490272045135498e-01 1.000000000000000000e+00 -3.764705955982208252e-01 3.764705955982208252e-01 3.764705955982208252e-01 1.000000000000000000e+00 -3.803921639919281006e-01 3.803921639919281006e-01 3.803921639919281006e-01 1.000000000000000000e+00 -3.843137323856353760e-01 3.843137323856353760e-01 3.843137323856353760e-01 1.000000000000000000e+00 -3.882353007793426514e-01 3.882353007793426514e-01 3.882353007793426514e-01 1.000000000000000000e+00 -3.921568691730499268e-01 3.921568691730499268e-01 3.921568691730499268e-01 1.000000000000000000e+00 -3.960784375667572021e-01 3.960784375667572021e-01 3.960784375667572021e-01 1.000000000000000000e+00 -4.000000059604644775e-01 4.000000059604644775e-01 4.000000059604644775e-01 1.000000000000000000e+00 -4.039215743541717529e-01 4.039215743541717529e-01 4.039215743541717529e-01 1.000000000000000000e+00 -4.078431427478790283e-01 4.078431427478790283e-01 4.078431427478790283e-01 1.000000000000000000e+00 -4.117647111415863037e-01 4.117647111415863037e-01 4.117647111415863037e-01 1.000000000000000000e+00 -4.156862795352935791e-01 4.156862795352935791e-01 4.156862795352935791e-01 1.000000000000000000e+00 -4.196078479290008545e-01 4.196078479290008545e-01 4.196078479290008545e-01 1.000000000000000000e+00 -4.235294163227081299e-01 4.235294163227081299e-01 4.235294163227081299e-01 1.000000000000000000e+00 -4.274509847164154053e-01 4.274509847164154053e-01 4.274509847164154053e-01 1.000000000000000000e+00 -4.313725531101226807e-01 4.313725531101226807e-01 4.313725531101226807e-01 1.000000000000000000e+00 -4.352941215038299561e-01 4.352941215038299561e-01 4.352941215038299561e-01 1.000000000000000000e+00 -4.392156898975372314e-01 4.392156898975372314e-01 4.392156898975372314e-01 1.000000000000000000e+00 -4.431372582912445068e-01 4.431372582912445068e-01 4.431372582912445068e-01 1.000000000000000000e+00 -4.470588266849517822e-01 4.470588266849517822e-01 4.470588266849517822e-01 1.000000000000000000e+00 -4.509803950786590576e-01 4.509803950786590576e-01 4.509803950786590576e-01 1.000000000000000000e+00 -4.549019634723663330e-01 4.549019634723663330e-01 4.549019634723663330e-01 1.000000000000000000e+00 -4.588235318660736084e-01 4.588235318660736084e-01 4.588235318660736084e-01 1.000000000000000000e+00 -4.627451002597808838e-01 4.627451002597808838e-01 4.627451002597808838e-01 1.000000000000000000e+00 -4.666666686534881592e-01 4.666666686534881592e-01 4.666666686534881592e-01 1.000000000000000000e+00 -4.705882370471954346e-01 4.705882370471954346e-01 4.705882370471954346e-01 1.000000000000000000e+00 -4.745098054409027100e-01 4.745098054409027100e-01 4.745098054409027100e-01 1.000000000000000000e+00 -4.784313738346099854e-01 4.784313738346099854e-01 4.784313738346099854e-01 1.000000000000000000e+00 -4.823529422283172607e-01 4.823529422283172607e-01 4.823529422283172607e-01 1.000000000000000000e+00 -4.862745106220245361e-01 4.862745106220245361e-01 4.862745106220245361e-01 1.000000000000000000e+00 -4.901960790157318115e-01 4.901960790157318115e-01 4.901960790157318115e-01 1.000000000000000000e+00 -4.941176474094390869e-01 4.941176474094390869e-01 4.941176474094390869e-01 1.000000000000000000e+00 -4.980392158031463623e-01 4.980392158031463623e-01 4.980392158031463623e-01 1.000000000000000000e+00 -5.019608139991760254e-01 5.019608139991760254e-01 5.019608139991760254e-01 1.000000000000000000e+00 -5.058823823928833008e-01 5.058823823928833008e-01 5.058823823928833008e-01 1.000000000000000000e+00 -5.098039507865905762e-01 5.098039507865905762e-01 5.098039507865905762e-01 1.000000000000000000e+00 -5.137255191802978516e-01 5.137255191802978516e-01 5.137255191802978516e-01 1.000000000000000000e+00 -5.176470875740051270e-01 5.176470875740051270e-01 5.176470875740051270e-01 1.000000000000000000e+00 -5.215686559677124023e-01 5.215686559677124023e-01 5.215686559677124023e-01 1.000000000000000000e+00 -5.254902243614196777e-01 5.254902243614196777e-01 5.254902243614196777e-01 1.000000000000000000e+00 -5.294117927551269531e-01 5.294117927551269531e-01 5.294117927551269531e-01 1.000000000000000000e+00 -5.333333611488342285e-01 5.333333611488342285e-01 5.333333611488342285e-01 1.000000000000000000e+00 -5.372549295425415039e-01 5.372549295425415039e-01 5.372549295425415039e-01 1.000000000000000000e+00 -5.411764979362487793e-01 5.411764979362487793e-01 5.411764979362487793e-01 1.000000000000000000e+00 -5.450980663299560547e-01 5.450980663299560547e-01 5.450980663299560547e-01 1.000000000000000000e+00 -5.490196347236633301e-01 5.490196347236633301e-01 5.490196347236633301e-01 1.000000000000000000e+00 -5.529412031173706055e-01 5.529412031173706055e-01 5.529412031173706055e-01 1.000000000000000000e+00 -5.568627715110778809e-01 5.568627715110778809e-01 5.568627715110778809e-01 1.000000000000000000e+00 -5.607843399047851562e-01 5.607843399047851562e-01 5.607843399047851562e-01 1.000000000000000000e+00 -5.647059082984924316e-01 5.647059082984924316e-01 5.647059082984924316e-01 1.000000000000000000e+00 -5.686274766921997070e-01 5.686274766921997070e-01 5.686274766921997070e-01 1.000000000000000000e+00 -5.725490450859069824e-01 5.725490450859069824e-01 5.725490450859069824e-01 1.000000000000000000e+00 -5.764706134796142578e-01 5.764706134796142578e-01 5.764706134796142578e-01 1.000000000000000000e+00 -5.803921818733215332e-01 5.803921818733215332e-01 5.803921818733215332e-01 1.000000000000000000e+00 -5.843137502670288086e-01 5.843137502670288086e-01 5.843137502670288086e-01 1.000000000000000000e+00 -5.882353186607360840e-01 5.882353186607360840e-01 5.882353186607360840e-01 1.000000000000000000e+00 -5.921568870544433594e-01 5.921568870544433594e-01 5.921568870544433594e-01 1.000000000000000000e+00 -5.960784554481506348e-01 5.960784554481506348e-01 5.960784554481506348e-01 1.000000000000000000e+00 -6.000000238418579102e-01 6.000000238418579102e-01 6.000000238418579102e-01 1.000000000000000000e+00 -6.039215922355651855e-01 6.039215922355651855e-01 6.039215922355651855e-01 1.000000000000000000e+00 -6.078431606292724609e-01 6.078431606292724609e-01 6.078431606292724609e-01 1.000000000000000000e+00 -6.117647290229797363e-01 6.117647290229797363e-01 6.117647290229797363e-01 1.000000000000000000e+00 -6.156862974166870117e-01 6.156862974166870117e-01 6.156862974166870117e-01 1.000000000000000000e+00 -6.196078658103942871e-01 6.196078658103942871e-01 6.196078658103942871e-01 1.000000000000000000e+00 -6.235294342041015625e-01 6.235294342041015625e-01 6.235294342041015625e-01 1.000000000000000000e+00 -6.274510025978088379e-01 6.274510025978088379e-01 6.274510025978088379e-01 1.000000000000000000e+00 -6.313725709915161133e-01 6.313725709915161133e-01 6.313725709915161133e-01 1.000000000000000000e+00 -6.352941393852233887e-01 6.352941393852233887e-01 6.352941393852233887e-01 1.000000000000000000e+00 -6.392157077789306641e-01 6.392157077789306641e-01 6.392157077789306641e-01 1.000000000000000000e+00 -6.431372761726379395e-01 6.431372761726379395e-01 6.431372761726379395e-01 1.000000000000000000e+00 -6.470588445663452148e-01 6.470588445663452148e-01 6.470588445663452148e-01 1.000000000000000000e+00 -6.509804129600524902e-01 6.509804129600524902e-01 6.509804129600524902e-01 1.000000000000000000e+00 -6.549019813537597656e-01 6.549019813537597656e-01 6.549019813537597656e-01 1.000000000000000000e+00 -6.588235497474670410e-01 6.588235497474670410e-01 6.588235497474670410e-01 1.000000000000000000e+00 -6.627451181411743164e-01 6.627451181411743164e-01 6.627451181411743164e-01 1.000000000000000000e+00 -6.666666865348815918e-01 6.666666865348815918e-01 6.666666865348815918e-01 1.000000000000000000e+00 -6.705882549285888672e-01 6.705882549285888672e-01 6.705882549285888672e-01 1.000000000000000000e+00 -6.745098233222961426e-01 6.745098233222961426e-01 6.745098233222961426e-01 1.000000000000000000e+00 -6.784313917160034180e-01 6.784313917160034180e-01 6.784313917160034180e-01 1.000000000000000000e+00 -6.823529601097106934e-01 6.823529601097106934e-01 6.823529601097106934e-01 1.000000000000000000e+00 -6.862745285034179688e-01 6.862745285034179688e-01 6.862745285034179688e-01 1.000000000000000000e+00 -6.901960968971252441e-01 6.901960968971252441e-01 6.901960968971252441e-01 1.000000000000000000e+00 -6.941176652908325195e-01 6.941176652908325195e-01 6.941176652908325195e-01 1.000000000000000000e+00 -6.980392336845397949e-01 6.980392336845397949e-01 6.980392336845397949e-01 1.000000000000000000e+00 -7.019608020782470703e-01 7.019608020782470703e-01 7.019608020782470703e-01 1.000000000000000000e+00 -7.058823704719543457e-01 7.058823704719543457e-01 7.058823704719543457e-01 1.000000000000000000e+00 -7.098039388656616211e-01 7.098039388656616211e-01 7.098039388656616211e-01 1.000000000000000000e+00 -7.137255072593688965e-01 7.137255072593688965e-01 7.137255072593688965e-01 1.000000000000000000e+00 -7.176470756530761719e-01 7.176470756530761719e-01 7.176470756530761719e-01 1.000000000000000000e+00 -7.215686440467834473e-01 7.215686440467834473e-01 7.215686440467834473e-01 1.000000000000000000e+00 -7.254902124404907227e-01 7.254902124404907227e-01 7.254902124404907227e-01 1.000000000000000000e+00 -7.294117808341979980e-01 7.294117808341979980e-01 7.294117808341979980e-01 1.000000000000000000e+00 -7.333333492279052734e-01 7.333333492279052734e-01 7.333333492279052734e-01 1.000000000000000000e+00 -7.372549176216125488e-01 7.372549176216125488e-01 7.372549176216125488e-01 1.000000000000000000e+00 -7.411764860153198242e-01 7.411764860153198242e-01 7.411764860153198242e-01 1.000000000000000000e+00 -7.450980544090270996e-01 7.450980544090270996e-01 7.450980544090270996e-01 1.000000000000000000e+00 -7.490196228027343750e-01 7.490196228027343750e-01 7.490196228027343750e-01 1.000000000000000000e+00 -7.529411911964416504e-01 7.529411911964416504e-01 7.529411911964416504e-01 1.000000000000000000e+00 -7.568627595901489258e-01 7.568627595901489258e-01 7.568627595901489258e-01 1.000000000000000000e+00 -7.607843279838562012e-01 7.607843279838562012e-01 7.607843279838562012e-01 1.000000000000000000e+00 -7.647058963775634766e-01 7.647058963775634766e-01 7.647058963775634766e-01 1.000000000000000000e+00 -7.686274647712707520e-01 7.686274647712707520e-01 7.686274647712707520e-01 1.000000000000000000e+00 -7.725490331649780273e-01 7.725490331649780273e-01 7.725490331649780273e-01 1.000000000000000000e+00 -7.764706015586853027e-01 7.764706015586853027e-01 7.764706015586853027e-01 1.000000000000000000e+00 -7.803921699523925781e-01 7.803921699523925781e-01 7.803921699523925781e-01 1.000000000000000000e+00 -7.843137383460998535e-01 7.843137383460998535e-01 7.843137383460998535e-01 1.000000000000000000e+00 -7.882353067398071289e-01 7.882353067398071289e-01 7.882353067398071289e-01 1.000000000000000000e+00 -7.921568751335144043e-01 7.921568751335144043e-01 7.921568751335144043e-01 1.000000000000000000e+00 -7.960784435272216797e-01 7.960784435272216797e-01 7.960784435272216797e-01 1.000000000000000000e+00 -8.000000119209289551e-01 8.000000119209289551e-01 8.000000119209289551e-01 1.000000000000000000e+00 -8.039215803146362305e-01 8.039215803146362305e-01 8.039215803146362305e-01 1.000000000000000000e+00 -8.078431487083435059e-01 8.078431487083435059e-01 8.078431487083435059e-01 1.000000000000000000e+00 -8.117647171020507812e-01 8.117647171020507812e-01 8.117647171020507812e-01 1.000000000000000000e+00 -8.156862854957580566e-01 8.156862854957580566e-01 8.156862854957580566e-01 1.000000000000000000e+00 -8.196078538894653320e-01 8.196078538894653320e-01 8.196078538894653320e-01 1.000000000000000000e+00 -8.235294222831726074e-01 8.235294222831726074e-01 8.235294222831726074e-01 1.000000000000000000e+00 -8.274509906768798828e-01 8.274509906768798828e-01 8.274509906768798828e-01 1.000000000000000000e+00 -8.313725590705871582e-01 8.313725590705871582e-01 8.313725590705871582e-01 1.000000000000000000e+00 -8.352941274642944336e-01 8.352941274642944336e-01 8.352941274642944336e-01 1.000000000000000000e+00 -8.392156958580017090e-01 8.392156958580017090e-01 8.392156958580017090e-01 1.000000000000000000e+00 -8.431372642517089844e-01 8.431372642517089844e-01 8.431372642517089844e-01 1.000000000000000000e+00 -8.470588326454162598e-01 8.470588326454162598e-01 8.470588326454162598e-01 1.000000000000000000e+00 -8.509804010391235352e-01 8.509804010391235352e-01 8.509804010391235352e-01 1.000000000000000000e+00 -8.549019694328308105e-01 8.549019694328308105e-01 8.549019694328308105e-01 1.000000000000000000e+00 -8.588235378265380859e-01 8.588235378265380859e-01 8.588235378265380859e-01 1.000000000000000000e+00 -8.627451062202453613e-01 8.627451062202453613e-01 8.627451062202453613e-01 1.000000000000000000e+00 -8.666666746139526367e-01 8.666666746139526367e-01 8.666666746139526367e-01 1.000000000000000000e+00 -8.705882430076599121e-01 8.705882430076599121e-01 8.705882430076599121e-01 1.000000000000000000e+00 -8.745098114013671875e-01 8.745098114013671875e-01 8.745098114013671875e-01 1.000000000000000000e+00 -8.784313797950744629e-01 8.784313797950744629e-01 8.784313797950744629e-01 1.000000000000000000e+00 -8.823529481887817383e-01 8.823529481887817383e-01 8.823529481887817383e-01 1.000000000000000000e+00 -8.862745165824890137e-01 8.862745165824890137e-01 8.862745165824890137e-01 1.000000000000000000e+00 -8.901960849761962891e-01 8.901960849761962891e-01 8.901960849761962891e-01 1.000000000000000000e+00 -8.941176533699035645e-01 8.941176533699035645e-01 8.941176533699035645e-01 1.000000000000000000e+00 -8.980392217636108398e-01 8.980392217636108398e-01 8.980392217636108398e-01 1.000000000000000000e+00 -9.019607901573181152e-01 9.019607901573181152e-01 9.019607901573181152e-01 1.000000000000000000e+00 -9.058823585510253906e-01 9.058823585510253906e-01 9.058823585510253906e-01 1.000000000000000000e+00 -9.098039269447326660e-01 9.098039269447326660e-01 9.098039269447326660e-01 1.000000000000000000e+00 -9.137254953384399414e-01 9.137254953384399414e-01 9.137254953384399414e-01 1.000000000000000000e+00 -9.176470637321472168e-01 9.176470637321472168e-01 9.176470637321472168e-01 1.000000000000000000e+00 -9.215686321258544922e-01 9.215686321258544922e-01 9.215686321258544922e-01 1.000000000000000000e+00 -9.254902005195617676e-01 9.254902005195617676e-01 9.254902005195617676e-01 1.000000000000000000e+00 -9.294117689132690430e-01 9.294117689132690430e-01 9.294117689132690430e-01 1.000000000000000000e+00 -9.333333373069763184e-01 9.333333373069763184e-01 9.333333373069763184e-01 1.000000000000000000e+00 -9.372549057006835938e-01 9.372549057006835938e-01 9.372549057006835938e-01 1.000000000000000000e+00 -9.411764740943908691e-01 9.411764740943908691e-01 9.411764740943908691e-01 1.000000000000000000e+00 -9.450980424880981445e-01 9.450980424880981445e-01 9.450980424880981445e-01 1.000000000000000000e+00 -9.490196108818054199e-01 9.490196108818054199e-01 9.490196108818054199e-01 1.000000000000000000e+00 -9.529411792755126953e-01 9.529411792755126953e-01 9.529411792755126953e-01 1.000000000000000000e+00 -9.568627476692199707e-01 9.568627476692199707e-01 9.568627476692199707e-01 1.000000000000000000e+00 -9.607843160629272461e-01 9.607843160629272461e-01 9.607843160629272461e-01 1.000000000000000000e+00 -9.647058844566345215e-01 9.647058844566345215e-01 9.647058844566345215e-01 1.000000000000000000e+00 -9.686274528503417969e-01 9.686274528503417969e-01 9.686274528503417969e-01 1.000000000000000000e+00 -9.725490212440490723e-01 9.725490212440490723e-01 9.725490212440490723e-01 1.000000000000000000e+00 -9.764705896377563477e-01 9.764705896377563477e-01 9.764705896377563477e-01 1.000000000000000000e+00 -9.803921580314636230e-01 9.803921580314636230e-01 9.803921580314636230e-01 1.000000000000000000e+00 -9.843137264251708984e-01 9.843137264251708984e-01 9.843137264251708984e-01 1.000000000000000000e+00 -9.882352948188781738e-01 9.882352948188781738e-01 9.882352948188781738e-01 1.000000000000000000e+00 -9.921568632125854492e-01 9.921568632125854492e-01 9.921568632125854492e-01 1.000000000000000000e+00 -9.960784316062927246e-01 9.960784316062927246e-01 9.960784316062927246e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/hot b/fastplotlib/utils/colormaps/hot deleted file mode 100644 index a85a40219..000000000 --- a/fastplotlib/utils/colormaps/hot +++ /dev/null @@ -1,256 +0,0 @@ -4.160000011324882507e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.189484357833862305e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.218968704342842102e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.248453050851821899e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.277937769889831543e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.307421743869781494e-02 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.033690646290779114e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.136639118194580078e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.239587515592575073e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.342535912990570068e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.445484459400177002e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.548432856798171997e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.651381254196166992e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.754329800605773926e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.857278198003768921e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.960226595401763916e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.063174992799758911e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.166123539209365845e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.269071936607360840e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.372020334005355835e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.474968880414962769e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.577917277812957764e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.680865824222564697e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.783814072608947754e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.886762619018554688e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.989710867404937744e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.092659413814544678e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.195607960224151611e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.298556208610534668e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.401504755020141602e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.504453301429748535e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.607401549816131592e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.710350096225738525e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.813298642635345459e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.916246891021728516e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.019195437431335449e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.122143983840942383e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.225092232227325439e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.328040778636932373e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.430989325046539307e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.533937573432922363e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.636886119842529297e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.739834368228912354e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.842782914638519287e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.945731461048126221e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.048679709434509277e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.151628255844116211e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.254576802253723145e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.357525348663330078e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.460473299026489258e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.563421845436096191e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.666370391845703125e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.769318938255310059e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.872267484664916992e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.975216031074523926e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.078163981437683105e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.181112527847290039e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.284061074256896973e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.387009620666503906e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.489958167076110840e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.592906713485717773e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.695854663848876953e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.798803210258483887e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.901751756668090820e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.004700303077697754e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.107648849487304688e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.210596799850463867e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.313545346260070801e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.416493892669677734e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.519442439079284668e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.622390985488891602e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.725339531898498535e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.828287482261657715e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.931236028671264648e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.034184575080871582e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.137133121490478516e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.240081667900085449e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.343030214309692383e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.445978164672851562e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.548926711082458496e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.651875257492065430e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.754823803901672363e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.857772350311279297e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.960720300674438477e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.063668847084045410e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.166617393493652344e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.269565939903259277e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.372514486312866211e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.475463032722473145e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.578410983085632324e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.681359529495239258e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.784308075904846191e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.887256622314453125e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.990205168724060059e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.314668364822864532e-03 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.960876956582069397e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.990286983549594879e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.019697010517120361e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.049107223749160767e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.078517436981201172e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.107927650213241577e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.137337863445281982e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.166747331619262695e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.019615754485130310e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.122556775808334351e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.225497797131538391e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.328438818454742432e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.431379765272140503e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.534320861101150513e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.637261807918548584e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.740202903747558594e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.843143850564956665e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.946084797382354736e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.049025893211364746e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.151966840028762817e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.254907935857772827e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.357848882675170898e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.460789829492568970e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.563730776309967041e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.666671872138977051e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.769612967967987061e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.872554063796997070e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.975494861602783203e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.078435957431793213e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.181377053260803223e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.284317851066589355e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.387258946895599365e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.490200042724609375e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.593141138553619385e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.696081936359405518e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.799023032188415527e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.901964128017425537e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.004904925823211670e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.107846021652221680e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.210787117481231689e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.313727915287017822e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.416669011116027832e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.519610106945037842e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.622551202774047852e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.725492000579833984e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.828433096408843994e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.931374192237854004e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.034314990043640137e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.137256383895874023e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.240197181701660156e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.343137979507446289e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.446079373359680176e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.549020171165466309e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.651960968971252441e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.754902362823486328e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.857843160629272461e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.960783958435058594e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.063725352287292480e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.166666150093078613e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.269606947898864746e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.372548341751098633e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.475489139556884766e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.578430533409118652e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.681371331214904785e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.784312129020690918e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.887253522872924805e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.990194320678710938e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.093135118484497070e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.196076512336730957e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.299017310142517090e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.401958107948303223e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.504899501800537109e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.607840299606323242e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.710781097412109375e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.813722491264343262e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.916663289070129395e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.019604682922363281e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.122545480728149414e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.225486278533935547e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.328427672386169434e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.431368470191955566e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.534309267997741699e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.637250661849975586e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.740191459655761719e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.843132257461547852e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.946073651313781738e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.049014449119567871e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.151955246925354004e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.254896640777587891e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.357837438583374023e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.460778236389160156e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.563719630241394043e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.666660428047180176e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.769601821899414062e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.872542619705200195e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.975483417510986328e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 1.176371797919273376e-02 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 2.720491029322147369e-02 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 4.264610260725021362e-02 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 5.808729305863380432e-02 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 7.352848351001739502e-02 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 8.896967768669128418e-02 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 1.044108718633651733e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 1.198520585894584656e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 1.352932602167129517e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 1.507344394922256470e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 1.661756336688995361e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 1.816168278455734253e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 1.970580220222473145e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 2.124992161989212036e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 2.279404103755950928e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 2.433815896511077881e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 2.588227987289428711e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 2.742639780044555664e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 2.897051572799682617e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 3.051463663578033447e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 3.205875456333160400e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 3.360287547111511230e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 3.514699339866638184e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 3.669111430644989014e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 3.823523223400115967e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 3.977935016155242920e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 4.132347106933593750e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 4.286758899688720703e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 4.441170990467071533e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 4.595582783222198486e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 4.749994874000549316e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 4.904406666755676270e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 5.058818459510803223e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 5.213230252265930176e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 5.367642641067504883e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 5.522054433822631836e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 5.676466226577758789e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 5.830878019332885742e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 5.985289812088012695e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 6.139702200889587402e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 6.294113993644714355e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 6.448525786399841309e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 6.602937579154968262e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 6.757349967956542969e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 6.911761760711669922e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 7.066173553466796875e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 7.220585346221923828e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 7.374997138977050781e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 7.529409527778625488e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 7.683821320533752441e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 7.838233113288879395e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 7.992644906044006348e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 8.147056698799133301e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 8.301469087600708008e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 8.455880880355834961e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 8.610292673110961914e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 8.764704465866088867e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 8.919116854667663574e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 9.073528647422790527e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 9.227940440177917480e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 9.382352232933044434e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 9.536764025688171387e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 9.691176414489746094e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 9.845588207244873047e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/hsv b/fastplotlib/utils/colormaps/hsv deleted file mode 100644 index 126d76f39..000000000 --- a/fastplotlib/utils/colormaps/hsv +++ /dev/null @@ -1,256 +0,0 @@ -1.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.316178753972053528e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.632357507944107056e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.948536634445190430e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.264715015888214111e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.158089414238929749e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.389707326889038086e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.621325165033340454e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.852943003177642822e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.084560841321945190e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.316178828477859497e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.547796666622161865e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.779414653778076172e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.011032342910766602e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.242650330066680908e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.474268317222595215e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.705886006355285645e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.937503993511199951e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.169121682643890381e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.400739669799804688e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.632357656955718994e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.863975346088409424e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.095593333244323730e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.327211022377014160e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.558829307556152344e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.790446996688842773e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.022064685821533203e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.253682971000671387e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.485300660133361816e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.716918349266052246e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.948536634445190430e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.180154323577880859e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.411772012710571289e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.643389701843261719e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.875007987022399902e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.106625676155090332e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.338243365287780762e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.569861650466918945e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.801479339599609375e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.033097028732299805e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.264715313911437988e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.959555864334106445e-01 9.455888867378234863e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.882349967956542969e-01 9.610300660133361816e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.805143475532531738e-01 9.764712452888488770e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.727937579154968262e-01 9.919124245643615723e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.577195644378662109e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.345577359199523926e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.113959670066833496e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.882341980934143066e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.650723695755004883e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.419106006622314453e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.187488317489624023e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.955870032310485840e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.724252343177795410e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.492634654045104980e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.261016964912414551e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.029398679733276367e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.797780990600585938e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.566163301467895508e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.334545016288757324e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.102927327156066895e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.871309638023376465e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.639691352844238281e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.408073663711547852e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.176455974578857422e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.944837987422943115e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.713220000267028809e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.481602013111114502e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.249984323978424072e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.018366336822509766e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.786748349666595459e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.555130660533905029e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.323512673377990723e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.091894984245300293e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.860276997089385986e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.628659009933471680e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.397041171789169312e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.165423333644866943e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.933805495500564575e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.702187657356262207e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.470569670200347900e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.238951832056045532e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.007333919405937195e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.757160812616348267e-02 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.440982058644294739e-02 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.124934434890747070e-02 1.000000000000000000e+00 1.312501353822881356e-06 1.000000000000000000e+00 -2.352874726057052612e-02 1.000000000000000000e+00 1.544250454753637314e-02 1.000000000000000000e+00 -1.580815203487873077e-02 1.000000000000000000e+00 3.088369593024253845e-02 1.000000000000000000e+00 -8.087555877864360809e-03 1.000000000000000000e+00 4.632488638162612915e-02 1.000000000000000000e+00 -3.669599245768040419e-04 1.000000000000000000e+00 6.176608055830001831e-02 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 8.456076681613922119e-02 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 1.077224090695381165e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 1.308840513229370117e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 1.540457010269165039e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 1.772073358297348022e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 2.003689855337142944e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 2.235306203365325928e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 2.466922700405120850e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 2.698538899421691895e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 2.930155396461486816e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 3.161771893501281738e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 3.393388390541076660e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 3.625004589557647705e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 3.856621086597442627e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 4.088237583637237549e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 4.319854080677032471e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 4.551470279693603516e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 4.783086776733398438e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 5.014703273773193359e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 5.246319770812988281e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 5.477936267852783203e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 5.709552764892578125e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 5.941168665885925293e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 6.172785162925720215e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 6.404401659965515137e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 6.636018157005310059e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 6.867634654045104980e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 7.099251151084899902e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 7.330867648124694824e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 7.562484145164489746e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 7.794100046157836914e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 8.025716543197631836e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 8.257333040237426758e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 8.488949537277221680e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 8.720566034317016602e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 8.952182531356811523e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 9.183799028396606445e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 9.415414929389953613e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 9.647031426429748535e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 9.878647923469543457e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.889734983444213867e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 9.658116698265075684e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 9.426499009132385254e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 9.194881319999694824e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.963263034820556641e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.731645345687866211e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.500027656555175781e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.268409967422485352e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.036791682243347168e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 7.805173993110656738e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 7.573556303977966309e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 7.341938018798828125e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 7.110320329666137695e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 6.878702640533447266e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 6.647084355354309082e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 6.415466666221618652e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 6.183848977088928223e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 5.952230691909790039e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 5.720613002777099609e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 5.488995313644409180e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 5.257377028465270996e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 5.025759339332580566e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 4.794141650199890137e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 4.562523663043975830e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 4.330905675888061523e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 4.099287986755371094e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 3.867669999599456787e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 3.636052012443542480e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 3.404434323310852051e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 3.172816336154937744e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 2.941198348999023438e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 2.709580659866333008e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 2.477962672710418701e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 2.246344834566116333e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 2.014726996421813965e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 1.783109009265899658e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 1.551491171121597290e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 1.319873332977294922e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 1.088255420327186584e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.566375821828842163e-02 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 6.250196695327758789e-02 1.000000000000000000e+00 1.000000000000000000e+00 -7.719939574599266052e-03 4.706012085080146790e-02 1.000000000000000000e+00 1.000000000000000000e+00 -1.544053573161363602e-02 3.161893039941787720e-02 1.000000000000000000e+00 1.000000000000000000e+00 -2.316113188862800598e-02 1.617773622274398804e-02 1.000000000000000000e+00 1.000000000000000000e+00 -3.088172711431980133e-02 7.365448400378227234e-04 1.000000000000000000e+00 1.000000000000000000e+00 -5.330697074532508850e-02 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -7.646875828504562378e-02 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -9.963054955005645752e-02 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -1.227923333644866943e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -1.459541171789169312e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -1.691159158945083618e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -1.922776997089385986e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -2.154394835233688354e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -2.386012673377990723e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -2.617630660533905029e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -2.849248349666595459e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -3.080866336822509766e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -3.312484323978424072e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -3.544102013111114502e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -3.775720000267028809e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -4.007337987422943115e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -4.238955676555633545e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -4.470573663711547852e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -4.702191650867462158e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -4.933809340000152588e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -5.165427327156066895e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -5.397045016288757324e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -5.628663301467895508e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -5.860280990600585938e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -6.091898679733276367e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -6.323516964912414551e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -6.555134654045104980e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -6.786752343177795410e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -7.018370032310485840e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -7.249988317489624023e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -7.481606006622314453e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -7.713223695755004883e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -7.944841980934143066e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -8.176459670066833496e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -8.408077359199523926e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -8.639695644378662109e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -8.871313333511352539e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -9.102931022644042969e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -9.334549307823181152e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -9.566166996955871582e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -9.724261760711669922e-01 0.000000000000000000e+00 9.926476478576660156e-01 1.000000000000000000e+00 -9.801467657089233398e-01 0.000000000000000000e+00 9.772064685821533203e-01 1.000000000000000000e+00 -9.878673553466796875e-01 0.000000000000000000e+00 9.617652893066406250e-01 1.000000000000000000e+00 -9.955879449844360352e-01 0.000000000000000000e+00 9.463241100311279297e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 9.275743365287780762e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 9.044125676155090332e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 8.812507987022399902e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 8.580889701843261719e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 8.349272012710571289e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 8.117654323577880859e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 7.886036634445190430e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 7.654418349266052246e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 7.422800660133361816e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 7.191182971000671387e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 6.959564685821533203e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 6.727946996688842773e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 6.496329307556152344e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 6.264711022377014160e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 6.033093333244323730e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 5.801475644111633301e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 5.569857358932495117e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 5.338239669799804688e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 5.106621980667114258e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 4.875003993511199951e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 4.643386006355285645e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 4.411768317222595215e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 4.180150330066680908e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 3.948532342910766602e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 3.716914653778076172e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 3.485296666622161865e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 3.253678679466247559e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 3.022060990333557129e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 2.790443003177642822e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 2.558825016021728516e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 2.327207326889038086e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 2.095589339733123779e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 1.863971501588821411e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 1.632353663444519043e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 1.400735825300216675e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 1.169117912650108337e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 9.375000000000000000e-02 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/inferno b/fastplotlib/utils/colormaps/inferno deleted file mode 100644 index dc84e7b0e..000000000 --- a/fastplotlib/utils/colormaps/inferno +++ /dev/null @@ -1,256 +0,0 @@ -1.461999956518411636e-03 4.659999976865947247e-04 1.386599987745285034e-02 1.000000000000000000e+00 -2.267000032588839531e-03 1.270000007934868336e-03 1.857000030577182770e-02 1.000000000000000000e+00 -3.298999974504113197e-03 2.248999895527958870e-03 2.423899993300437927e-02 1.000000000000000000e+00 -4.546999931335449219e-03 3.391999984160065651e-03 3.090899996459484100e-02 1.000000000000000000e+00 -6.006000097841024399e-03 4.691999871283769608e-03 3.855799883604049683e-02 1.000000000000000000e+00 -7.675999775528907776e-03 6.136000156402587891e-03 4.683599993586540222e-02 1.000000000000000000e+00 -9.561000391840934753e-03 7.712999824434518814e-03 5.514299869537353516e-02 1.000000000000000000e+00 -1.166300009936094284e-02 9.417000226676464081e-03 6.345999985933303833e-02 1.000000000000000000e+00 -1.399500016123056412e-02 1.122500002384185791e-02 7.186199724674224854e-02 1.000000000000000000e+00 -1.656099967658519745e-02 1.313600037246942520e-02 8.028200268745422363e-02 1.000000000000000000e+00 -1.937299966812133789e-02 1.513299997895956039e-02 8.876699954271316528e-02 1.000000000000000000e+00 -2.244699932634830475e-02 1.719900034368038177e-02 9.732700139284133911e-02 1.000000000000000000e+00 -2.579299919307231903e-02 1.933100074529647827e-02 1.059300005435943604e-01 1.000000000000000000e+00 -2.943200059235095978e-02 2.150299958884716034e-02 1.146209985017776489e-01 1.000000000000000000e+00 -3.338500112295150757e-02 2.370199933648109436e-02 1.233970001339912415e-01 1.000000000000000000e+00 -3.766800090670585632e-02 2.592100016772747040e-02 1.322319954633712769e-01 1.000000000000000000e+00 -4.225299879908561707e-02 2.813900075852870941e-02 1.411409974098205566e-01 1.000000000000000000e+00 -4.691499844193458557e-02 3.032400086522102356e-02 1.501639932394027710e-01 1.000000000000000000e+00 -5.164400115609169006e-02 3.247400000691413879e-02 1.592539995908737183e-01 1.000000000000000000e+00 -5.644899979233741760e-02 3.456899896264076233e-02 1.684139966964721680e-01 1.000000000000000000e+00 -6.134000048041343689e-02 3.658999875187873840e-02 1.776420027017593384e-01 1.000000000000000000e+00 -6.633099913597106934e-02 3.850400075316429138e-02 1.869619935750961304e-01 1.000000000000000000e+00 -7.142899930477142334e-02 4.029399901628494263e-02 1.963540017604827881e-01 1.000000000000000000e+00 -7.663699984550476074e-02 4.190500080585479736e-02 2.057989984750747681e-01 1.000000000000000000e+00 -8.196199685335159302e-02 4.332799836993217468e-02 2.152889966964721680e-01 1.000000000000000000e+00 -8.741100132465362549e-02 4.455599933862686157e-02 2.248129993677139282e-01 1.000000000000000000e+00 -9.299000352621078491e-02 4.558299854397773743e-02 2.343579977750778198e-01 1.000000000000000000e+00 -9.870199859142303467e-02 4.640199989080429077e-02 2.439039945602416992e-01 1.000000000000000000e+00 -1.045510023832321167e-01 4.700800031423568726e-02 2.534300088882446289e-01 1.000000000000000000e+00 -1.105360016226768494e-01 4.739899933338165283e-02 2.629120051860809326e-01 1.000000000000000000e+00 -1.166559979319572449e-01 4.757399857044219971e-02 2.723209857940673828e-01 1.000000000000000000e+00 -1.229080036282539368e-01 4.753600060939788818e-02 2.816239893436431885e-01 1.000000000000000000e+00 -1.292849928140640259e-01 4.729299992322921753e-02 2.907879948616027832e-01 1.000000000000000000e+00 -1.357779949903488159e-01 4.685600101947784424e-02 2.997759878635406494e-01 1.000000000000000000e+00 -1.423780024051666260e-01 4.624199867248535156e-02 3.085530102252960205e-01 1.000000000000000000e+00 -1.490730047225952148e-01 4.546799883246421814e-02 3.170849978923797607e-01 1.000000000000000000e+00 -1.558499932289123535e-01 4.455899819731712341e-02 3.253380060195922852e-01 1.000000000000000000e+00 -1.626890003681182861e-01 4.355400055646896362e-02 3.332769870758056641e-01 1.000000000000000000e+00 -1.695750057697296143e-01 4.248899966478347778e-02 3.408739864826202393e-01 1.000000000000000000e+00 -1.764930039644241333e-01 4.140200093388557434e-02 3.481110036373138428e-01 1.000000000000000000e+00 -1.834290027618408203e-01 4.032900184392929077e-02 3.549709916114807129e-01 1.000000000000000000e+00 -1.903669983148574829e-01 3.930899873375892639e-02 3.614470064640045166e-01 1.000000000000000000e+00 -1.972970068454742432e-01 3.840000182390213013e-02 3.675349950790405273e-01 1.000000000000000000e+00 -2.042089998722076416e-01 3.763199970126152039e-02 3.732379972934722900e-01 1.000000000000000000e+00 -2.110950052738189697e-01 3.703000023961067200e-02 3.785629868507385254e-01 1.000000000000000000e+00 -2.179490029811859131e-01 3.661499917507171631e-02 3.835220038890838623e-01 1.000000000000000000e+00 -2.247630059719085693e-01 3.640500083565711975e-02 3.881289958953857422e-01 1.000000000000000000e+00 -2.315379977226257324e-01 3.640500083565711975e-02 3.923999965190887451e-01 1.000000000000000000e+00 -2.382729947566986084e-01 3.662100061774253845e-02 3.963530063629150391e-01 1.000000000000000000e+00 -2.449669986963272095e-01 3.705500066280364990e-02 4.000070095062255859e-01 1.000000000000000000e+00 -2.516199946403503418e-01 3.770500048995018005e-02 4.033780097961425781e-01 1.000000000000000000e+00 -2.582339942455291748e-01 3.857100009918212891e-02 4.064849913120269775e-01 1.000000000000000000e+00 -2.648099958896636963e-01 3.964700177311897278e-02 4.093450009822845459e-01 1.000000000000000000e+00 -2.713469862937927246e-01 4.092200100421905518e-02 4.119760096073150635e-01 1.000000000000000000e+00 -2.778500020503997803e-01 4.235300049185752869e-02 4.143919944763183594e-01 1.000000000000000000e+00 -2.843210101127624512e-01 4.393300041556358337e-02 4.166080057621002197e-01 1.000000000000000000e+00 -2.907629907131195068e-01 4.564400017261505127e-02 4.186370074748992920e-01 1.000000000000000000e+00 -2.971780002117156982e-01 4.746999964118003845e-02 4.204910099506378174e-01 1.000000000000000000e+00 -3.035680055618286133e-01 4.939600080251693726e-02 4.221819937229156494e-01 1.000000000000000000e+00 -3.099350035190582275e-01 5.140699818730354309e-02 4.237209856510162354e-01 1.000000000000000000e+00 -3.162820041179656982e-01 5.349000170826911926e-02 4.251160025596618652e-01 1.000000000000000000e+00 -3.226099908351898193e-01 5.563399940729141235e-02 4.263769984245300293e-01 1.000000000000000000e+00 -3.289209902286529541e-01 5.782699957489967346e-02 4.275110065937042236e-01 1.000000000000000000e+00 -3.352169990539550781e-01 6.005999818444252014e-02 4.285239875316619873e-01 1.000000000000000000e+00 -3.415000140666961670e-01 6.232500076293945312e-02 4.294250011444091797e-01 1.000000000000000000e+00 -3.477709889411926270e-01 6.461600214242935181e-02 4.302169978618621826e-01 1.000000000000000000e+00 -3.540320098400115967e-01 6.692499667406082153e-02 4.309059977531433105e-01 1.000000000000000000e+00 -3.602840006351470947e-01 6.924699991941452026e-02 4.314970076084136963e-01 1.000000000000000000e+00 -3.665289878845214844e-01 7.157900184392929077e-02 4.319939911365509033e-01 1.000000000000000000e+00 -3.727680146694183350e-01 7.391499727964401245e-02 4.323999881744384766e-01 1.000000000000000000e+00 -3.790009915828704834e-01 7.625299692153930664e-02 4.327189922332763672e-01 1.000000000000000000e+00 -3.852280080318450928e-01 7.859099656343460083e-02 4.329549968242645264e-01 1.000000000000000000e+00 -3.914529979228973389e-01 8.092699944972991943e-02 4.331089854240417480e-01 1.000000000000000000e+00 -3.976739943027496338e-01 8.325699716806411743e-02 4.331830143928527832e-01 1.000000000000000000e+00 -4.038940072059631348e-01 8.557999879121780396e-02 4.331789910793304443e-01 1.000000000000000000e+00 -4.101130068302154541e-01 8.789599686861038208e-02 4.330979883670806885e-01 1.000000000000000000e+00 -4.163309931755065918e-01 9.020300209522247314e-02 4.329429864883422852e-01 1.000000000000000000e+00 -4.225490093231201172e-01 9.250099956989288330e-02 4.327139854431152344e-01 1.000000000000000000e+00 -4.287680089473724365e-01 9.478999674320220947e-02 4.324119985103607178e-01 1.000000000000000000e+00 -4.349870085716247559e-01 9.706900268793106079e-02 4.320389926433563232e-01 1.000000000000000000e+00 -4.412069916725158691e-01 9.933800250291824341e-02 4.315940141677856445e-01 1.000000000000000000e+00 -4.474279880523681641e-01 1.015970036387443542e-01 4.310800135135650635e-01 1.000000000000000000e+00 -4.536510109901428223e-01 1.038480028510093689e-01 4.304980039596557617e-01 1.000000000000000000e+00 -4.598749876022338867e-01 1.060890033841133118e-01 4.298459887504577637e-01 1.000000000000000000e+00 -4.661000072956085205e-01 1.083220019936561584e-01 4.291250109672546387e-01 1.000000000000000000e+00 -4.723280072212219238e-01 1.105469986796379089e-01 4.283339977264404297e-01 1.000000000000000000e+00 -4.785580039024353027e-01 1.127640008926391602e-01 4.274750053882598877e-01 1.000000000000000000e+00 -4.847890138626098633e-01 1.149739995598793030e-01 4.265480041503906250e-01 1.000000000000000000e+00 -4.910219907760620117e-01 1.171789988875389099e-01 4.255520105361938477e-01 1.000000000000000000e+00 -4.972569942474365234e-01 1.193789988756179810e-01 4.244880080223083496e-01 1.000000000000000000e+00 -5.034930109977722168e-01 1.215749979019165039e-01 4.233559966087341309e-01 1.000000000000000000e+00 -5.097299814224243164e-01 1.237690001726150513e-01 4.221560060977935791e-01 1.000000000000000000e+00 -5.159670114517211914e-01 1.259600073099136353e-01 4.208869934082031250e-01 1.000000000000000000e+00 -5.222060084342956543e-01 1.281500011682510376e-01 4.195489883422851562e-01 1.000000000000000000e+00 -5.284439921379089355e-01 1.303409934043884277e-01 4.181419909000396729e-01 1.000000000000000000e+00 -5.346829891204833984e-01 1.325339972972869873e-01 4.166670143604278564e-01 1.000000000000000000e+00 -5.409200191497802734e-01 1.347289979457855225e-01 4.151229858398437500e-01 1.000000000000000000e+00 -5.471569895744323730e-01 1.369290053844451904e-01 4.135110080242156982e-01 1.000000000000000000e+00 -5.533919930458068848e-01 1.391340047121047974e-01 4.118289947509765625e-01 1.000000000000000000e+00 -5.596240162849426270e-01 1.413459926843643188e-01 4.100779891014099121e-01 1.000000000000000000e+00 -5.658540129661560059e-01 1.435669958591461182e-01 4.082579910755157471e-01 1.000000000000000000e+00 -5.720810294151306152e-01 1.457969993352890015e-01 4.063690006732940674e-01 1.000000000000000000e+00 -5.783039927482604980e-01 1.480389982461929321e-01 4.044109880924224854e-01 1.000000000000000000e+00 -5.845209956169128418e-01 1.502940058708190918e-01 4.023849964141845703e-01 1.000000000000000000e+00 -5.907340049743652344e-01 1.525630056858062744e-01 4.002900123596191406e-01 1.000000000000000000e+00 -5.969399809837341309e-01 1.548479944467544556e-01 3.981249928474426270e-01 1.000000000000000000e+00 -6.031389832496643066e-01 1.571509987115859985e-01 3.958910107612609863e-01 1.000000000000000000e+00 -6.093299984931945801e-01 1.594740003347396851e-01 3.935889899730682373e-01 1.000000000000000000e+00 -6.155130267143249512e-01 1.618169993162155151e-01 3.912189900875091553e-01 1.000000000000000000e+00 -6.216850280761718750e-01 1.641840040683746338e-01 3.887810111045837402e-01 1.000000000000000000e+00 -6.278470158576965332e-01 1.665749996900558472e-01 3.862760066986083984e-01 1.000000000000000000e+00 -6.339979767799377441e-01 1.689919978380203247e-01 3.837040066719055176e-01 1.000000000000000000e+00 -6.401349902153015137e-01 1.714379936456680298e-01 3.810650110244750977e-01 1.000000000000000000e+00 -6.462600231170654297e-01 1.739140003919601440e-01 3.783589899539947510e-01 1.000000000000000000e+00 -6.523690223693847656e-01 1.764210015535354614e-01 3.755860030651092529e-01 1.000000000000000000e+00 -6.584630012512207031e-01 1.789620071649551392e-01 3.727479875087738037e-01 1.000000000000000000e+00 -6.645399928092956543e-01 1.815389990806579590e-01 3.698459863662719727e-01 1.000000000000000000e+00 -6.705989837646484375e-01 1.841530054807662964e-01 3.668789863586425781e-01 1.000000000000000000e+00 -6.766380071640014648e-01 1.868070065975189209e-01 3.638490140438079834e-01 1.000000000000000000e+00 -6.826559901237487793e-01 1.895010024309158325e-01 3.607569932937622070e-01 1.000000000000000000e+00 -6.886529922485351562e-01 1.922390013933181763e-01 3.576030135154724121e-01 1.000000000000000000e+00 -6.946269869804382324e-01 1.950210034847259521e-01 3.543879985809326172e-01 1.000000000000000000e+00 -7.005760073661804199e-01 1.978510022163391113e-01 3.511129915714263916e-01 1.000000000000000000e+00 -7.064999938011169434e-01 2.007279992103576660e-01 3.477770090103149414e-01 1.000000000000000000e+00 -7.123960256576538086e-01 2.036560028791427612e-01 3.443830013275146484e-01 1.000000000000000000e+00 -7.182639837265014648e-01 2.066359966993331909e-01 3.409309983253479004e-01 1.000000000000000000e+00 -7.241029739379882812e-01 2.096700072288513184e-01 3.374240100383758545e-01 1.000000000000000000e+00 -7.299090027809143066e-01 2.127590030431747437e-01 3.338609933853149414e-01 1.000000000000000000e+00 -7.356830239295959473e-01 2.159059941768646240e-01 3.302449882030487061e-01 1.000000000000000000e+00 -7.414230108261108398e-01 2.191119939088821411e-01 3.265759944915771484e-01 1.000000000000000000e+00 -7.471269965171813965e-01 2.223780006170272827e-01 3.228560090065002441e-01 1.000000000000000000e+00 -7.527940273284912109e-01 2.257059961557388306e-01 3.190850019454956055e-01 1.000000000000000000e+00 -7.584220170974731445e-01 2.290969938039779663e-01 3.152660131454467773e-01 1.000000000000000000e+00 -7.640100121498107910e-01 2.325540035963058472e-01 3.113990128040313721e-01 1.000000000000000000e+00 -7.695559859275817871e-01 2.360769957304000854e-01 3.074850142002105713e-01 1.000000000000000000e+00 -7.750589847564697266e-01 2.396669983863830566e-01 3.035260140895843506e-01 1.000000000000000000e+00 -7.805169820785522461e-01 2.433270066976547241e-01 2.995229959487915039e-01 1.000000000000000000e+00 -7.859290242195129395e-01 2.470560073852539062e-01 2.954770028591156006e-01 1.000000000000000000e+00 -7.912930250167846680e-01 2.508560121059417725e-01 2.913900017738342285e-01 1.000000000000000000e+00 -7.966070175170898438e-01 2.547279894351959229e-01 2.872639894485473633e-01 1.000000000000000000e+00 -8.018710017204284668e-01 2.586739957332611084e-01 2.830989956855773926e-01 1.000000000000000000e+00 -8.070819973945617676e-01 2.626920044422149658e-01 2.788980007171630859e-01 1.000000000000000000e+00 -8.122389912605285645e-01 2.667860090732574463e-01 2.746610045433044434e-01 1.000000000000000000e+00 -8.173410296440124512e-01 2.709540128707885742e-01 2.703900039196014404e-01 1.000000000000000000e+00 -8.223860263824462891e-01 2.751969993114471436e-01 2.660849988460540771e-01 1.000000000000000000e+00 -8.273720145225524902e-01 2.795169949531555176e-01 2.617500126361846924e-01 1.000000000000000000e+00 -8.322989940643310547e-01 2.839129865169525146e-01 2.573829889297485352e-01 1.000000000000000000e+00 -8.371649980545043945e-01 2.883850038051605225e-01 2.529880106449127197e-01 1.000000000000000000e+00 -8.419690132141113281e-01 2.929329872131347656e-01 2.485640048980712891e-01 1.000000000000000000e+00 -8.467090129852294922e-01 2.975589931011199951e-01 2.441129982471466064e-01 1.000000000000000000e+00 -8.513839840888977051e-01 3.022600114345550537e-01 2.396360039710998535e-01 1.000000000000000000e+00 -8.559920191764831543e-01 3.070380091667175293e-01 2.351330071687698364e-01 1.000000000000000000e+00 -8.605329990386962891e-01 3.118920028209686279e-01 2.306060045957565308e-01 1.000000000000000000e+00 -8.650060296058654785e-01 3.168219923973083496e-01 2.260549962520599365e-01 1.000000000000000000e+00 -8.694090247154235840e-01 3.218269944190979004e-01 2.214819937944412231e-01 1.000000000000000000e+00 -8.737409710884094238e-01 3.269059956073760986e-01 2.168859988451004028e-01 1.000000000000000000e+00 -8.780009746551513672e-01 3.320600092411041260e-01 2.122679948806762695e-01 1.000000000000000000e+00 -8.821880221366882324e-01 3.372870087623596191e-01 2.076279968023300171e-01 1.000000000000000000e+00 -8.863019943237304688e-01 3.425860106945037842e-01 2.029680013656616211e-01 1.000000000000000000e+00 -8.903409838676452637e-01 3.479569852352142334e-01 1.982859969139099121e-01 1.000000000000000000e+00 -8.943049907684326172e-01 3.533990085124969482e-01 1.935839951038360596e-01 1.000000000000000000e+00 -8.981919884681701660e-01 3.589110076427459717e-01 1.888599991798400879e-01 1.000000000000000000e+00 -9.020029902458190918e-01 3.644919991493225098e-01 1.841160058975219727e-01 1.000000000000000000e+00 -9.057350158691406250e-01 3.701399862766265869e-01 1.793500036001205444e-01 1.000000000000000000e+00 -9.093899726867675781e-01 3.758560121059417725e-01 1.745630055665969849e-01 1.000000000000000000e+00 -9.129660129547119141e-01 3.816359937191009521e-01 1.697549968957901001e-01 1.000000000000000000e+00 -9.164620041847229004e-01 3.874810039997100830e-01 1.649239957332611084e-01 1.000000000000000000e+00 -9.198790192604064941e-01 3.933889865875244141e-01 1.600700020790100098e-01 1.000000000000000000e+00 -9.232149720191955566e-01 3.993589878082275391e-01 1.551930010318756104e-01 1.000000000000000000e+00 -9.264699816703796387e-01 4.053890109062194824e-01 1.502919942140579224e-01 1.000000000000000000e+00 -9.296439886093139648e-01 4.114789962768554688e-01 1.453669965267181396e-01 1.000000000000000000e+00 -9.327369928359985352e-01 4.176270067691802979e-01 1.404169946908950806e-01 1.000000000000000000e+00 -9.357470273971557617e-01 4.238309860229492188e-01 1.354400068521499634e-01 1.000000000000000000e+00 -9.386749863624572754e-01 4.300909936428070068e-01 1.304379999637603760e-01 1.000000000000000000e+00 -9.415209889411926270e-01 4.364050030708312988e-01 1.254090070724487305e-01 1.000000000000000000e+00 -9.442849755287170410e-01 4.427720010280609131e-01 1.203539967536926270e-01 1.000000000000000000e+00 -9.469649791717529297e-01 4.491910040378570557e-01 1.152720004320144653e-01 1.000000000000000000e+00 -9.495620131492614746e-01 4.556599855422973633e-01 1.101640015840530396e-01 1.000000000000000000e+00 -9.520750045776367188e-01 4.621779918670654297e-01 1.050309985876083374e-01 1.000000000000000000e+00 -9.545059800148010254e-01 4.687440097332000732e-01 9.987399727106094360e-02 1.000000000000000000e+00 -9.568520188331604004e-01 4.753560125827789307e-01 9.469500184059143066e-02 1.000000000000000000e+00 -9.591140151023864746e-01 4.820140004158020020e-01 8.949899673461914062e-02 1.000000000000000000e+00 -9.612929821014404297e-01 4.887160062789916992e-01 8.428899943828582764e-02 1.000000000000000000e+00 -9.633870124816894531e-01 4.954620003700256348e-01 7.907299697399139404e-02 1.000000000000000000e+00 -9.653970003128051758e-01 5.022490024566650391e-01 7.385899871587753296e-02 1.000000000000000000e+00 -9.673219919204711914e-01 5.090780258178710938e-01 6.865900009870529175e-02 1.000000000000000000e+00 -9.691630005836486816e-01 5.159459710121154785e-01 6.348799914121627808e-02 1.000000000000000000e+00 -9.709190130233764648e-01 5.228530168533325195e-01 5.836699903011322021e-02 1.000000000000000000e+00 -9.725900292396545410e-01 5.297979712486267090e-01 5.332399904727935791e-02 1.000000000000000000e+00 -9.741759896278381348e-01 5.367799997329711914e-01 4.839200153946876526e-02 1.000000000000000000e+00 -9.756770133972167969e-01 5.437980294227600098e-01 4.361800104379653931e-02 1.000000000000000000e+00 -9.770920276641845703e-01 5.508499741554260254e-01 3.905000165104866028e-02 1.000000000000000000e+00 -9.784219861030578613e-01 5.579370260238647461e-01 3.493100032210350037e-02 1.000000000000000000e+00 -9.796659946441650391e-01 5.650569796562194824e-01 3.140899911522865295e-02 1.000000000000000000e+00 -9.808239936828613281e-01 5.722090005874633789e-01 2.850800007581710815e-02 1.000000000000000000e+00 -9.818950295448303223e-01 5.793920159339904785e-01 2.624999918043613434e-02 1.000000000000000000e+00 -9.828810095787048340e-01 5.866060256958007812e-01 2.466100081801414490e-02 1.000000000000000000e+00 -9.837790131568908691e-01 5.938490033149719238e-01 2.377000078558921814e-02 1.000000000000000000e+00 -9.845910072326660156e-01 6.011220216751098633e-01 2.360600046813488007e-02 1.000000000000000000e+00 -9.853150248527526855e-01 6.084219813346862793e-01 2.420200034976005554e-02 1.000000000000000000e+00 -9.859520196914672852e-01 6.157500147819519043e-01 2.559199929237365723e-02 1.000000000000000000e+00 -9.865019917488098145e-01 6.231049895286560059e-01 2.781400084495544434e-02 1.000000000000000000e+00 -9.869639873504638672e-01 6.304849982261657715e-01 3.090799972414970398e-02 1.000000000000000000e+00 -9.873369932174682617e-01 6.378899812698364258e-01 3.491599857807159424e-02 1.000000000000000000e+00 -9.876220226287841797e-01 6.453199982643127441e-01 3.988600149750709534e-02 1.000000000000000000e+00 -9.878190159797668457e-01 6.527730226516723633e-01 4.558100178837776184e-02 1.000000000000000000e+00 -9.879260063171386719e-01 6.602500081062316895e-01 5.175000056624412537e-02 1.000000000000000000e+00 -9.879450201988220215e-01 6.677479743957519531e-01 5.832900106906890869e-02 1.000000000000000000e+00 -9.878739714622497559e-01 6.752669811248779297e-01 6.525699794292449951e-02 1.000000000000000000e+00 -9.877139925956726074e-01 6.828070282936096191e-01 7.248900085687637329e-02 1.000000000000000000e+00 -9.874640107154846191e-01 6.903660297393798828e-01 7.998999953269958496e-02 1.000000000000000000e+00 -9.871240258216857910e-01 6.979439854621887207e-01 8.773099631071090698e-02 1.000000000000000000e+00 -9.866939783096313477e-01 7.055400013923645020e-01 9.569399803876876831e-02 1.000000000000000000e+00 -9.861750006675720215e-01 7.131530046463012695e-01 1.038630008697509766e-01 1.000000000000000000e+00 -9.855660200119018555e-01 7.207819819450378418e-01 1.122289970517158508e-01 1.000000000000000000e+00 -9.848650097846984863e-01 7.284269928932189941e-01 1.207849979400634766e-01 1.000000000000000000e+00 -9.840750098228454590e-01 7.360870242118835449e-01 1.295270025730133057e-01 1.000000000000000000e+00 -9.831960201263427734e-01 7.437580227851867676e-01 1.384530067443847656e-01 1.000000000000000000e+00 -9.822279810905456543e-01 7.514420151710510254e-01 1.475650072097778320e-01 1.000000000000000000e+00 -9.811729788780212402e-01 7.591350078582763672e-01 1.568630039691925049e-01 1.000000000000000000e+00 -9.800320267677307129e-01 7.668370008468627930e-01 1.663530021905899048e-01 1.000000000000000000e+00 -9.788060188293457031e-01 7.745450139045715332e-01 1.760369986295700073e-01 1.000000000000000000e+00 -9.774969816207885742e-01 7.822579741477966309e-01 1.859229952096939087e-01 1.000000000000000000e+00 -9.761080145835876465e-01 7.899739742279052734e-01 1.960179954767227173e-01 1.000000000000000000e+00 -9.746379852294921875e-01 7.976920008659362793e-01 2.063319981098175049e-01 1.000000000000000000e+00 -9.730880260467529297e-01 8.054090142250061035e-01 2.168769985437393188e-01 1.000000000000000000e+00 -9.714679718017578125e-01 8.131219744682312012e-01 2.276580035686492920e-01 1.000000000000000000e+00 -9.697830080986022949e-01 8.208249807357788086e-01 2.386859953403472900e-01 1.000000000000000000e+00 -9.680410027503967285e-01 8.285149931907653809e-01 2.499720007181167603e-01 1.000000000000000000e+00 -9.662430286407470703e-01 8.361909985542297363e-01 2.615340054035186768e-01 1.000000000000000000e+00 -9.643939733505249023e-01 8.438479900360107422e-01 2.733910083770751953e-01 1.000000000000000000e+00 -9.625170230865478516e-01 8.514760136604309082e-01 2.855460047721862793e-01 1.000000000000000000e+00 -9.606260061264038086e-01 8.590689897537231445e-01 2.980099916458129883e-01 1.000000000000000000e+00 -9.587200284004211426e-01 8.666239976882934570e-01 3.108200132846832275e-01 1.000000000000000000e+00 -9.568340182304382324e-01 8.741289973258972168e-01 3.239740133285522461e-01 1.000000000000000000e+00 -9.549970030784606934e-01 8.815690279006958008e-01 3.374750018119812012e-01 1.000000000000000000e+00 -9.532150030136108398e-01 8.889420032501220703e-01 3.513689935207366943e-01 1.000000000000000000e+00 -9.515460133552551270e-01 8.962259888648986816e-01 3.656269907951354980e-01 1.000000000000000000e+00 -9.500179886817932129e-01 9.034090042114257812e-01 3.802709877490997314e-01 1.000000000000000000e+00 -9.486830234527587891e-01 9.104729890823364258e-01 3.952890038490295410e-01 1.000000000000000000e+00 -9.475939869880676270e-01 9.173989892005920410e-01 4.106650054454803467e-01 1.000000000000000000e+00 -9.468089938163757324e-01 9.241679906845092773e-01 4.263730049133300781e-01 1.000000000000000000e+00 -9.463919997215270996e-01 9.307609796524047852e-01 4.423669874668121338e-01 1.000000000000000000e+00 -9.464030265808105469e-01 9.371590018272399902e-01 4.585919976234436035e-01 1.000000000000000000e+00 -9.469029903411865234e-01 9.433479905128479004e-01 4.749700129032135010e-01 1.000000000000000000e+00 -9.479370117187500000e-01 9.493179917335510254e-01 4.914259910583496094e-01 1.000000000000000000e+00 -9.495450258255004883e-01 9.550629854202270508e-01 5.078600049018859863e-01 1.000000000000000000e+00 -9.517400264739990234e-01 9.605870246887207031e-01 5.242030024528503418e-01 1.000000000000000000e+00 -9.545289874076843262e-01 9.658960103988647461e-01 5.403609871864318848e-01 1.000000000000000000e+00 -9.578959941864013672e-01 9.710029959678649902e-01 5.562750101089477539e-01 1.000000000000000000e+00 -9.618120193481445312e-01 9.759240150451660156e-01 5.719249844551086426e-01 1.000000000000000000e+00 -9.662489891052246094e-01 9.806780219078063965e-01 5.872060060501098633e-01 1.000000000000000000e+00 -9.711620211601257324e-01 9.852820038795471191e-01 6.021540164947509766e-01 1.000000000000000000e+00 -9.765110015869140625e-01 9.897530078887939453e-01 6.167600154876708984e-01 1.000000000000000000e+00 -9.822570085525512695e-01 9.941089749336242676e-01 6.310170292854309082e-01 1.000000000000000000e+00 -9.883620142936706543e-01 9.983639717102050781e-01 6.449239850044250488e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/jet b/fastplotlib/utils/colormaps/jet deleted file mode 100644 index 9ca10bb71..000000000 --- a/fastplotlib/utils/colormaps/jet +++ /dev/null @@ -1,256 +0,0 @@ -0.000000000000000000e+00 0.000000000000000000e+00 5.000000000000000000e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 5.178253054618835449e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 5.356506109237670898e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 5.534759163856506348e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 5.713012218475341797e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 5.891265869140625000e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 6.069518923759460449e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 6.247771978378295898e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 6.426025032997131348e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 6.604278087615966797e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 6.782531142234802246e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 6.960784196853637695e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.139037251472473145e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.317290306091308594e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.495543956756591797e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.673797011375427246e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.852050065994262695e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.030303120613098145e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.208556175231933594e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.386809229850769043e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.565062284469604492e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.743315339088439941e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.921568393707275391e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 9.099822044372558594e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 9.278075098991394043e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 9.456328153610229492e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 9.634581208229064941e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 9.812834262847900391e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 9.991087317466735840e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 1.960784429684281349e-03 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 1.764705963432788849e-02 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 3.333333507180213928e-02 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 4.901960864663124084e-02 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 6.470588594675064087e-02 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.039215952157974243e-02 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 9.607843309640884399e-02 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 1.117647066712379456e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 1.274509876966476440e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 1.431372612714767456e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 1.588235348463058472e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 1.745098084211349487e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 1.901960819959640503e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 2.058823555707931519e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 2.215686291456222534e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 2.372549027204513550e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 2.529411911964416504e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 2.686274647712707520e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 2.843137383460998535e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 3.000000119209289551e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 3.156862854957580566e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 3.313725590705871582e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 3.470588326454162598e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 3.627451062202453613e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 3.784313797950744629e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 3.941176533699035645e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 4.098039269447326660e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 4.254902005195617676e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 4.411764740943908691e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 4.568627476692199707e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 4.725490212440490723e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 4.882352948188781738e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 5.039215683937072754e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 5.196078419685363770e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 5.352941155433654785e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 5.509803891181945801e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 5.666666626930236816e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 5.823529362678527832e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 5.980392098426818848e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 6.137254834175109863e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 6.294117569923400879e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 6.450980305671691895e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 6.607843041419982910e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 6.764705777168273926e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 6.921568512916564941e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 7.078431248664855957e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 7.235293984413146973e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 7.392156720161437988e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 7.549019455909729004e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 7.705882191658020020e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 7.862744927406311035e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.019607663154602051e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.176470398902893066e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.333333134651184082e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.490195870399475098e-01 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.647058606147766113e-01 9.962049126625061035e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.803921341896057129e-01 9.835547208786010742e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.960784077644348145e-01 9.709044694900512695e-01 1.000000000000000000e+00 -9.487666189670562744e-03 9.117646813392639160e-01 9.582542777061462402e-01 1.000000000000000000e+00 -2.213788777589797974e-02 9.274509549140930176e-01 9.456040263175964355e-01 1.000000000000000000e+00 -3.478810936212539673e-02 9.431372284889221191e-01 9.329538345336914062e-01 1.000000000000000000e+00 -4.743833094835281372e-02 9.588235020637512207e-01 9.203035831451416016e-01 1.000000000000000000e+00 -6.008855253458023071e-02 9.745097756385803223e-01 9.076533913612365723e-01 1.000000000000000000e+00 -7.273877412080764771e-02 9.901960492134094238e-01 8.950031399726867676e-01 1.000000000000000000e+00 -8.538899570703506470e-02 1.000000000000000000e+00 8.823529481887817383e-01 1.000000000000000000e+00 -9.803921729326248169e-02 1.000000000000000000e+00 8.697026968002319336e-01 1.000000000000000000e+00 -1.106894388794898987e-01 1.000000000000000000e+00 8.570525050163269043e-01 1.000000000000000000e+00 -1.233396604657173157e-01 1.000000000000000000e+00 8.444022536277770996e-01 1.000000000000000000e+00 -1.359898746013641357e-01 1.000000000000000000e+00 8.317520618438720703e-01 1.000000000000000000e+00 -1.486400961875915527e-01 1.000000000000000000e+00 8.191018104553222656e-01 1.000000000000000000e+00 -1.612903177738189697e-01 1.000000000000000000e+00 8.064516186714172363e-01 1.000000000000000000e+00 -1.739405393600463867e-01 1.000000000000000000e+00 7.938013672828674316e-01 1.000000000000000000e+00 -1.865907609462738037e-01 1.000000000000000000e+00 7.811511754989624023e-01 1.000000000000000000e+00 -1.992409825325012207e-01 1.000000000000000000e+00 7.685009241104125977e-01 1.000000000000000000e+00 -2.118912041187286377e-01 1.000000000000000000e+00 7.558507323265075684e-01 1.000000000000000000e+00 -2.245414257049560547e-01 1.000000000000000000e+00 7.432004809379577637e-01 1.000000000000000000e+00 -2.371916472911834717e-01 1.000000000000000000e+00 7.305502891540527344e-01 1.000000000000000000e+00 -2.498418688774108887e-01 1.000000000000000000e+00 7.179000377655029297e-01 1.000000000000000000e+00 -2.624920904636383057e-01 1.000000000000000000e+00 7.052498459815979004e-01 1.000000000000000000e+00 -2.751423120498657227e-01 1.000000000000000000e+00 6.925995945930480957e-01 1.000000000000000000e+00 -2.877925336360931396e-01 1.000000000000000000e+00 6.799494028091430664e-01 1.000000000000000000e+00 -3.004427552223205566e-01 1.000000000000000000e+00 6.672991514205932617e-01 1.000000000000000000e+00 -3.130929768085479736e-01 1.000000000000000000e+00 6.546489596366882324e-01 1.000000000000000000e+00 -3.257431983947753906e-01 1.000000000000000000e+00 6.419987082481384277e-01 1.000000000000000000e+00 -3.383934199810028076e-01 1.000000000000000000e+00 6.293485164642333984e-01 1.000000000000000000e+00 -3.510436415672302246e-01 1.000000000000000000e+00 6.166982650756835938e-01 1.000000000000000000e+00 -3.636938631534576416e-01 1.000000000000000000e+00 6.040480732917785645e-01 1.000000000000000000e+00 -3.763440847396850586e-01 1.000000000000000000e+00 5.913978219032287598e-01 1.000000000000000000e+00 -3.889943063259124756e-01 1.000000000000000000e+00 5.787476301193237305e-01 1.000000000000000000e+00 -4.016445279121398926e-01 1.000000000000000000e+00 5.660973787307739258e-01 1.000000000000000000e+00 -4.142947494983673096e-01 1.000000000000000000e+00 5.534471869468688965e-01 1.000000000000000000e+00 -4.269449710845947266e-01 1.000000000000000000e+00 5.407969355583190918e-01 1.000000000000000000e+00 -4.395951926708221436e-01 1.000000000000000000e+00 5.281467437744140625e-01 1.000000000000000000e+00 -4.522454142570495605e-01 1.000000000000000000e+00 5.154964923858642578e-01 1.000000000000000000e+00 -4.648956358432769775e-01 1.000000000000000000e+00 5.028463006019592285e-01 1.000000000000000000e+00 -4.775458574295043945e-01 1.000000000000000000e+00 4.901960790157318115e-01 1.000000000000000000e+00 -4.901960790157318115e-01 1.000000000000000000e+00 4.775458574295043945e-01 1.000000000000000000e+00 -5.028463006019592285e-01 1.000000000000000000e+00 4.648956358432769775e-01 1.000000000000000000e+00 -5.154964923858642578e-01 1.000000000000000000e+00 4.522454142570495605e-01 1.000000000000000000e+00 -5.281467437744140625e-01 1.000000000000000000e+00 4.395951926708221436e-01 1.000000000000000000e+00 -5.407969355583190918e-01 1.000000000000000000e+00 4.269449710845947266e-01 1.000000000000000000e+00 -5.534471869468688965e-01 1.000000000000000000e+00 4.142947494983673096e-01 1.000000000000000000e+00 -5.660973787307739258e-01 1.000000000000000000e+00 4.016445279121398926e-01 1.000000000000000000e+00 -5.787476301193237305e-01 1.000000000000000000e+00 3.889943063259124756e-01 1.000000000000000000e+00 -5.913978219032287598e-01 1.000000000000000000e+00 3.763440847396850586e-01 1.000000000000000000e+00 -6.040480732917785645e-01 1.000000000000000000e+00 3.636938631534576416e-01 1.000000000000000000e+00 -6.166982650756835938e-01 1.000000000000000000e+00 3.510436415672302246e-01 1.000000000000000000e+00 -6.293485164642333984e-01 1.000000000000000000e+00 3.383934199810028076e-01 1.000000000000000000e+00 -6.419987082481384277e-01 1.000000000000000000e+00 3.257431983947753906e-01 1.000000000000000000e+00 -6.546489596366882324e-01 1.000000000000000000e+00 3.130929768085479736e-01 1.000000000000000000e+00 -6.672991514205932617e-01 1.000000000000000000e+00 3.004427552223205566e-01 1.000000000000000000e+00 -6.799494028091430664e-01 1.000000000000000000e+00 2.877925336360931396e-01 1.000000000000000000e+00 -6.925995945930480957e-01 1.000000000000000000e+00 2.751423120498657227e-01 1.000000000000000000e+00 -7.052498459815979004e-01 1.000000000000000000e+00 2.624920904636383057e-01 1.000000000000000000e+00 -7.179000377655029297e-01 1.000000000000000000e+00 2.498418688774108887e-01 1.000000000000000000e+00 -7.305502891540527344e-01 1.000000000000000000e+00 2.371916472911834717e-01 1.000000000000000000e+00 -7.432004809379577637e-01 1.000000000000000000e+00 2.245414257049560547e-01 1.000000000000000000e+00 -7.558507323265075684e-01 1.000000000000000000e+00 2.118912041187286377e-01 1.000000000000000000e+00 -7.685009241104125977e-01 1.000000000000000000e+00 1.992409825325012207e-01 1.000000000000000000e+00 -7.811511754989624023e-01 1.000000000000000000e+00 1.865907609462738037e-01 1.000000000000000000e+00 -7.938013672828674316e-01 1.000000000000000000e+00 1.739405393600463867e-01 1.000000000000000000e+00 -8.064516186714172363e-01 1.000000000000000000e+00 1.612903177738189697e-01 1.000000000000000000e+00 -8.191018104553222656e-01 1.000000000000000000e+00 1.486400961875915527e-01 1.000000000000000000e+00 -8.317520618438720703e-01 1.000000000000000000e+00 1.359898746013641357e-01 1.000000000000000000e+00 -8.444022536277770996e-01 1.000000000000000000e+00 1.233396604657173157e-01 1.000000000000000000e+00 -8.570525050163269043e-01 1.000000000000000000e+00 1.106894388794898987e-01 1.000000000000000000e+00 -8.697026968002319336e-01 1.000000000000000000e+00 9.803921729326248169e-02 1.000000000000000000e+00 -8.823529481887817383e-01 1.000000000000000000e+00 8.538899570703506470e-02 1.000000000000000000e+00 -8.950031399726867676e-01 1.000000000000000000e+00 7.273877412080764771e-02 1.000000000000000000e+00 -9.076533913612365723e-01 1.000000000000000000e+00 6.008855253458023071e-02 1.000000000000000000e+00 -9.203035831451416016e-01 1.000000000000000000e+00 4.743833094835281372e-02 1.000000000000000000e+00 -9.329538345336914062e-01 1.000000000000000000e+00 3.478810936212539673e-02 1.000000000000000000e+00 -9.456040263175964355e-01 9.883805513381958008e-01 2.213788777589797974e-02 1.000000000000000000e+00 -9.582542777061462402e-01 9.738562107086181641e-01 9.487666189670562744e-03 1.000000000000000000e+00 -9.709044694900512695e-01 9.593318700790405273e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.835547208786010742e-01 9.448075294494628906e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.962049126625061035e-01 9.302832484245300293e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.157589077949523926e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.012345671653747559e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.867102265357971191e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.721858859062194824e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.576616048812866211e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.431372642517089844e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.286129236221313477e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.140885829925537109e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.995642423629760742e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.850399613380432129e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.705156207084655762e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.559912800788879395e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.414669394493103027e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.269426584243774414e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.124183177947998047e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.978939771652221680e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.833696365356445312e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.688452959060668945e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.543210148811340332e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.397966742515563965e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.252723336219787598e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.107479929924011230e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.962236523628234863e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.816993713378906250e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.671750307083129883e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.526506900787353516e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.381263494491577148e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.236020088195800781e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.090777277946472168e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.945533871650695801e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.800290465354919434e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.655047059059143066e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.509803950786590576e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.364560544490814209e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.219317436218261719e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.074074029922485352e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.928830921649932861e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.783587515354156494e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.638344109058380127e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.493101000785827637e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.347857594490051270e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.202614486217498779e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.057371079921722412e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.912127673625946045e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.766884565353393555e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.621641159057617188e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.476397901773452759e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.331154644489288330e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.185911387205123901e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.040668129920959473e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.895424872636795044e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.750181615352630615e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.604938209056854248e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.459694951772689819e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.314451694488525391e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.169208437204360962e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.023965105414390564e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.787218481302261353e-02 0.000000000000000000e+00 1.000000000000000000e+00 -9.991087317466735840e-01 7.334785908460617065e-02 0.000000000000000000e+00 1.000000000000000000e+00 -9.812834262847900391e-01 5.882352963089942932e-02 0.000000000000000000e+00 1.000000000000000000e+00 -9.634581208229064941e-01 4.429920017719268799e-02 0.000000000000000000e+00 1.000000000000000000e+00 -9.456328153610229492e-01 2.977487258613109589e-02 0.000000000000000000e+00 1.000000000000000000e+00 -9.278075098991394043e-01 1.525054499506950378e-02 0.000000000000000000e+00 1.000000000000000000e+00 -9.099822044372558594e-01 7.262164144776761532e-04 0.000000000000000000e+00 1.000000000000000000e+00 -8.921568393707275391e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.743315339088439941e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.565062284469604492e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.386809229850769043e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.208556175231933594e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.030303120613098145e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.852050065994262695e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.673797011375427246e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.495543956756591797e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.317290306091308594e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.139037251472473145e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.960784196853637695e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.782531142234802246e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.604278087615966797e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.426025032997131348e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.247771978378295898e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.069518923759460449e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.891265869140625000e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.713012218475341797e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.534759163856506348e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.356506109237670898e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.178253054618835449e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.000000000000000000e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/magma b/fastplotlib/utils/colormaps/magma deleted file mode 100644 index 674bb9963..000000000 --- a/fastplotlib/utils/colormaps/magma +++ /dev/null @@ -1,256 +0,0 @@ -1.461999956518411636e-03 4.659999976865947247e-04 1.386599987745285034e-02 1.000000000000000000e+00 -2.257999964058399200e-03 1.294999965466558933e-03 1.833100058138370514e-02 1.000000000000000000e+00 -3.279000055044889450e-03 2.305000089108943939e-03 2.370800077915191650e-02 1.000000000000000000e+00 -4.511999897658824921e-03 3.490000031888484955e-03 2.996500022709369659e-02 1.000000000000000000e+00 -5.950000137090682983e-03 4.842999856919050217e-03 3.712999820709228516e-02 1.000000000000000000e+00 -7.588000036776065826e-03 6.355999968945980072e-03 4.497300088405609131e-02 1.000000000000000000e+00 -9.425999596714973450e-03 8.022000081837177277e-03 5.284399911761283875e-02 1.000000000000000000e+00 -1.146499998867511749e-02 9.828000329434871674e-03 6.075000017881393433e-02 1.000000000000000000e+00 -1.370800007134675980e-02 1.177099999040365219e-02 6.866700202226638794e-02 1.000000000000000000e+00 -1.615599915385246277e-02 1.384000014513731003e-02 7.660300284624099731e-02 1.000000000000000000e+00 -1.881499961018562317e-02 1.602599956095218658e-02 8.458399772644042969e-02 1.000000000000000000e+00 -2.169200032949447632e-02 1.831999979913234711e-02 9.261000156402587891e-02 1.000000000000000000e+00 -2.479200065135955811e-02 2.071500010788440704e-02 1.006760001182556152e-01 1.000000000000000000e+00 -2.812300063669681549e-02 2.320099994540214539e-02 1.087870001792907715e-01 1.000000000000000000e+00 -3.169599920511245728e-02 2.576499991118907928e-02 1.169650033116340637e-01 1.000000000000000000e+00 -3.551999852061271667e-02 2.839699946343898773e-02 1.252090036869049072e-01 1.000000000000000000e+00 -3.960800170898437500e-02 3.109000064432621002e-02 1.335150003433227539e-01 1.000000000000000000e+00 -4.382999986410140991e-02 3.382999822497367859e-02 1.418859958648681641e-01 1.000000000000000000e+00 -4.806200042366981506e-02 3.660700097680091858e-02 1.503269970417022705e-01 1.000000000000000000e+00 -5.231999978423118591e-02 3.940699994564056396e-02 1.588409990072250366e-01 1.000000000000000000e+00 -5.661499872803688049e-02 4.216000065207481384e-02 1.674460023641586304e-01 1.000000000000000000e+00 -6.094900146126747131e-02 4.479400068521499634e-02 1.761289983987808228e-01 1.000000000000000000e+00 -6.532999873161315918e-02 4.731800034642219543e-02 1.848919987678527832e-01 1.000000000000000000e+00 -6.976400315761566162e-02 4.972599819302558899e-02 1.937350034713745117e-01 1.000000000000000000e+00 -7.425700128078460693e-02 5.201699957251548767e-02 2.026599943637847900e-01 1.000000000000000000e+00 -7.881499826908111572e-02 5.418400093913078308e-02 2.116670012474060059e-01 1.000000000000000000e+00 -8.344600349664688110e-02 5.622500181198120117e-02 2.207549959421157837e-01 1.000000000000000000e+00 -8.815500140190124512e-02 5.813299864530563354e-02 2.299219965934753418e-01 1.000000000000000000e+00 -9.294900298118591309e-02 5.990400165319442749e-02 2.391639947891235352e-01 1.000000000000000000e+00 -9.783300012350082397e-02 6.153099983930587769e-02 2.484769970178604126e-01 1.000000000000000000e+00 -1.028150022029876709e-01 6.300999969244003296e-02 2.578540146350860596e-01 1.000000000000000000e+00 -1.078990027308464050e-01 6.433500349521636963e-02 2.672890126705169678e-01 1.000000000000000000e+00 -1.130940020084381104e-01 6.549199670553207397e-02 2.767840027809143066e-01 1.000000000000000000e+00 -1.184049993753433228e-01 6.647899746894836426e-02 2.863210141658782959e-01 1.000000000000000000e+00 -1.238330006599426270e-01 6.729499995708465576e-02 2.958790063858032227e-01 1.000000000000000000e+00 -1.293800026178359985e-01 6.793499737977981567e-02 3.054429888725280762e-01 1.000000000000000000e+00 -1.350529938936233521e-01 6.839100271463394165e-02 3.149999976158142090e-01 1.000000000000000000e+00 -1.408579945564270020e-01 6.865400075912475586e-02 3.245379924774169922e-01 1.000000000000000000e+00 -1.467850059270858765e-01 6.873799860477447510e-02 3.340109884738922119e-01 1.000000000000000000e+00 -1.528390049934387207e-01 6.863699853420257568e-02 3.434039950370788574e-01 1.000000000000000000e+00 -1.590179949998855591e-01 6.835400313138961792e-02 3.526880145072937012e-01 1.000000000000000000e+00 -1.653079986572265625e-01 6.791099905967712402e-02 3.618159890174865723e-01 1.000000000000000000e+00 -1.717129945755004883e-01 6.730499863624572754e-02 3.707709908485412598e-01 1.000000000000000000e+00 -1.782120019197463989e-01 6.657599657773971558e-02 3.794969916343688965e-01 1.000000000000000000e+00 -1.848009973764419556e-01 6.573200225830078125e-02 3.879730105400085449e-01 1.000000000000000000e+00 -1.914599984884262085e-01 6.481800228357315063e-02 3.961519896984100342e-01 1.000000000000000000e+00 -1.981769949197769165e-01 6.386200338602066040e-02 4.040090143680572510e-01 1.000000000000000000e+00 -2.049349993467330933e-01 6.290700286626815796e-02 4.115140140056610107e-01 1.000000000000000000e+00 -2.117179930210113525e-01 6.199200078845024109e-02 4.186469912528991699e-01 1.000000000000000000e+00 -2.185119986534118652e-01 6.115800142288208008e-02 4.253920018672943115e-01 1.000000000000000000e+00 -2.253019958734512329e-01 6.044499948620796204e-02 4.317420125007629395e-01 1.000000000000000000e+00 -2.320770025253295898e-01 5.988899990916252136e-02 4.376949965953826904e-01 1.000000000000000000e+00 -2.388260066509246826e-01 5.951699987053871155e-02 4.432559907436370850e-01 1.000000000000000000e+00 -2.455430030822753906e-01 5.935199931263923645e-02 4.484359920024871826e-01 1.000000000000000000e+00 -2.522200047969818115e-01 5.941500142216682434e-02 4.532479941844940186e-01 1.000000000000000000e+00 -2.588570117950439453e-01 5.970599874854087830e-02 4.577099978923797607e-01 1.000000000000000000e+00 -2.654469907283782959e-01 6.023700162768363953e-02 4.618400037288665771e-01 1.000000000000000000e+00 -2.719939947128295898e-01 6.099399924278259277e-02 4.656600058078765869e-01 1.000000000000000000e+00 -2.784929871559143066e-01 6.197800114750862122e-02 4.691900014877319336e-01 1.000000000000000000e+00 -2.849510014057159424e-01 6.316799670457839966e-02 4.724510014057159424e-01 1.000000000000000000e+00 -2.913660109043121338e-01 6.455300003290176392e-02 4.754619896411895752e-01 1.000000000000000000e+00 -2.977400124073028564e-01 6.611700356006622314e-02 4.782429933547973633e-01 1.000000000000000000e+00 -3.040809929370880127e-01 6.783500313758850098e-02 4.808120131492614746e-01 1.000000000000000000e+00 -3.103820085525512695e-01 6.970199942588806152e-02 4.831860065460205078e-01 1.000000000000000000e+00 -3.166539967060089111e-01 7.169000059366226196e-02 4.853799939155578613e-01 1.000000000000000000e+00 -3.228990137577056885e-01 7.378199696540832520e-02 4.874080121517181396e-01 1.000000000000000000e+00 -3.291139900684356689e-01 7.597199827432632446e-02 4.892869889736175537e-01 1.000000000000000000e+00 -3.353079855442047119e-01 7.823599874973297119e-02 4.910239875316619873e-01 1.000000000000000000e+00 -3.414820134639739990e-01 8.056399971246719360e-02 4.926309883594512939e-01 1.000000000000000000e+00 -3.476360142230987549e-01 8.294600248336791992e-02 4.941209852695465088e-01 1.000000000000000000e+00 -3.537729978561401367e-01 8.537299931049346924e-02 4.955010116100311279e-01 1.000000000000000000e+00 -3.598980009555816650e-01 8.783099800348281860e-02 4.967780113220214844e-01 1.000000000000000000e+00 -3.660120069980621338e-01 9.031400084495544434e-02 4.979600012302398682e-01 1.000000000000000000e+00 -3.721159994602203369e-01 9.281600266695022583e-02 4.990530014038085938e-01 1.000000000000000000e+00 -3.782109916210174561e-01 9.533199667930603027e-02 5.000669956207275391e-01 1.000000000000000000e+00 -3.842990100383758545e-01 9.785500168800354004e-02 5.010020136833190918e-01 1.000000000000000000e+00 -3.903839886188507080e-01 1.003789976239204407e-01 5.018640160560607910e-01 1.000000000000000000e+00 -3.964670002460479736e-01 1.029020026326179504e-01 5.026580095291137695e-01 1.000000000000000000e+00 -4.025479853153228760e-01 1.054200008511543274e-01 5.033860206604003906e-01 1.000000000000000000e+00 -4.086290001869201660e-01 1.079299971461296082e-01 5.040519833564758301e-01 1.000000000000000000e+00 -4.147090017795562744e-01 1.104310005903244019e-01 5.046619772911071777e-01 1.000000000000000000e+00 -4.207910001277923584e-01 1.129200011491775513e-01 5.052149891853332520e-01 1.000000000000000000e+00 -4.268769919872283936e-01 1.153950020670890808e-01 5.057139992713928223e-01 1.000000000000000000e+00 -4.329670071601867676e-01 1.178549975156784058e-01 5.061600208282470703e-01 1.000000000000000000e+00 -4.390619993209838867e-01 1.202979981899261475e-01 5.065550208091735840e-01 1.000000000000000000e+00 -4.451630115509033203e-01 1.227239966392517090e-01 5.069010257720947266e-01 1.000000000000000000e+00 -4.512709975242614746e-01 1.251319944858551025e-01 5.071979761123657227e-01 1.000000000000000000e+00 -4.573859870433807373e-01 1.275220066308975220e-01 5.074480175971984863e-01 1.000000000000000000e+00 -4.635080099105834961e-01 1.298930048942565918e-01 5.076519846916198730e-01 1.000000000000000000e+00 -4.696399867534637451e-01 1.322450041770935059e-01 5.078089833259582520e-01 1.000000000000000000e+00 -4.757800102233886719e-01 1.345770061016082764e-01 5.079209804534912109e-01 1.000000000000000000e+00 -4.819290041923522949e-01 1.368910074234008789e-01 5.079889893531799316e-01 1.000000000000000000e+00 -4.880880117416381836e-01 1.391859948635101318e-01 5.080109834671020508e-01 1.000000000000000000e+00 -4.942579865455627441e-01 1.414619982242584229e-01 5.079879760742187500e-01 1.000000000000000000e+00 -5.004379749298095703e-01 1.437190026044845581e-01 5.079200267791748047e-01 1.000000000000000000e+00 -5.066289901733398438e-01 1.459580063819885254e-01 5.078060030937194824e-01 1.000000000000000000e+00 -5.128309726715087891e-01 1.481789946556091309e-01 5.076479911804199219e-01 1.000000000000000000e+00 -5.190449953079223633e-01 1.503829956054687500e-01 5.074430108070373535e-01 1.000000000000000000e+00 -5.252699851989746094e-01 1.525689959526062012e-01 5.071920156478881836e-01 1.000000000000000000e+00 -5.315070152282714844e-01 1.547390073537826538e-01 5.068950057029724121e-01 1.000000000000000000e+00 -5.377550125122070312e-01 1.568939983844757080e-01 5.065510272979736328e-01 1.000000000000000000e+00 -5.440149903297424316e-01 1.590330004692077637e-01 5.061590075492858887e-01 1.000000000000000000e+00 -5.502870082855224609e-01 1.611579954624176025e-01 5.057190060615539551e-01 1.000000000000000000e+00 -5.565710067749023438e-01 1.632689982652664185e-01 5.052300095558166504e-01 1.000000000000000000e+00 -5.628659725189208984e-01 1.653680056333541870e-01 5.046920180320739746e-01 1.000000000000000000e+00 -5.691720247268676758e-01 1.674540042877197266e-01 5.041049718856811523e-01 1.000000000000000000e+00 -5.754899978637695312e-01 1.695300042629241943e-01 5.034660100936889648e-01 1.000000000000000000e+00 -5.818189978599548340e-01 1.715960055589675903e-01 5.027769804000854492e-01 1.000000000000000000e+00 -5.881580114364624023e-01 1.736519932746887207e-01 5.020350217819213867e-01 1.000000000000000000e+00 -5.945079922676086426e-01 1.757010072469711304e-01 5.012410283088684082e-01 1.000000000000000000e+00 -6.008679866790771484e-01 1.777430027723312378e-01 5.003939867019653320e-01 1.000000000000000000e+00 -6.072379946708679199e-01 1.797789931297302246e-01 4.994919896125793457e-01 1.000000000000000000e+00 -6.136170029640197754e-01 1.818110048770904541e-01 4.985359907150268555e-01 1.000000000000000000e+00 -6.200050115585327148e-01 1.838400065898895264e-01 4.975239932537078857e-01 1.000000000000000000e+00 -6.264010071754455566e-01 1.858669966459274292e-01 4.964559972286224365e-01 1.000000000000000000e+00 -6.328049898147583008e-01 1.878930032253265381e-01 4.953320026397705078e-01 1.000000000000000000e+00 -6.392160058021545410e-01 1.899210065603256226e-01 4.941500127315521240e-01 1.000000000000000000e+00 -6.456329822540283203e-01 1.919520050287246704e-01 4.929099977016448975e-01 1.000000000000000000e+00 -6.520559787750244141e-01 1.939859986305236816e-01 4.916110038757324219e-01 1.000000000000000000e+00 -6.584830284118652344e-01 1.960269957780838013e-01 4.902530014514923096e-01 1.000000000000000000e+00 -6.649150252342224121e-01 1.980749964714050293e-01 4.888359904289245605e-01 1.000000000000000000e+00 -6.713489890098571777e-01 2.001329958438873291e-01 4.873580038547515869e-01 1.000000000000000000e+00 -6.777859926223754883e-01 2.022030055522918701e-01 4.858190119266510010e-01 1.000000000000000000e+00 -6.842240095138549805e-01 2.042859941720962524e-01 4.842190146446228027e-01 1.000000000000000000e+00 -6.906610131263732910e-01 2.063840031623840332e-01 4.825580120086669922e-01 1.000000000000000000e+00 -6.970980167388916016e-01 2.085009962320327759e-01 4.808349907398223877e-01 1.000000000000000000e+00 -7.035319805145263672e-01 2.106380015611648560e-01 4.790489971637725830e-01 1.000000000000000000e+00 -7.099620103836059570e-01 2.127970010042190552e-01 4.772010147571563721e-01 1.000000000000000000e+00 -7.163869738578796387e-01 2.149820029735565186e-01 4.752900004386901855e-01 1.000000000000000000e+00 -7.228050231933593750e-01 2.171940058469772339e-01 4.733160138130187988e-01 1.000000000000000000e+00 -7.292159795761108398e-01 2.194370031356811523e-01 4.712789952754974365e-01 1.000000000000000000e+00 -7.356160283088684082e-01 2.217130064964294434e-01 4.691799879074096680e-01 1.000000000000000000e+00 -7.420039772987365723e-01 2.240249961614608765e-01 4.670180082321166992e-01 1.000000000000000000e+00 -7.483779788017272949e-01 2.263769954442977905e-01 4.647940099239349365e-01 1.000000000000000000e+00 -7.547370195388793945e-01 2.287719994783401489e-01 4.625090062618255615e-01 1.000000000000000000e+00 -7.610769867897033691e-01 2.312140017747879028e-01 4.601620137691497803e-01 1.000000000000000000e+00 -7.673979997634887695e-01 2.337049990892410278e-01 4.577549993991851807e-01 1.000000000000000000e+00 -7.736949920654296875e-01 2.362489998340606689e-01 4.552890062332153320e-01 1.000000000000000000e+00 -7.799680233001708984e-01 2.388509958982467651e-01 4.527649879455566406e-01 1.000000000000000000e+00 -7.862120270729064941e-01 2.415139973163604736e-01 4.501839876174926758e-01 1.000000000000000000e+00 -7.924270033836364746e-01 2.442419975996017456e-01 4.475429952144622803e-01 1.000000000000000000e+00 -7.986080050468444824e-01 2.470400035381317139e-01 4.448480010032653809e-01 1.000000000000000000e+00 -8.047519922256469727e-01 2.499109953641891479e-01 4.421019852161407471e-01 1.000000000000000000e+00 -8.108549714088439941e-01 2.528609931468963623e-01 4.393050074577331543e-01 1.000000000000000000e+00 -8.169140219688415527e-01 2.558949887752532959e-01 4.364610016345977783e-01 1.000000000000000000e+00 -8.229259848594665527e-01 2.590160071849822998e-01 4.335730075836181641e-01 1.000000000000000000e+00 -8.288859724998474121e-01 2.622289955615997314e-01 4.306440055370330811e-01 1.000000000000000000e+00 -8.347910046577453613e-01 2.655400037765502930e-01 4.276709854602813721e-01 1.000000000000000000e+00 -8.406360149383544922e-01 2.689529955387115479e-01 4.246659874916076660e-01 1.000000000000000000e+00 -8.464159965515136719e-01 2.724730074405670166e-01 4.216310083866119385e-01 1.000000000000000000e+00 -8.521260023117065430e-01 2.761059999465942383e-01 4.185729920864105225e-01 1.000000000000000000e+00 -8.577629923820495605e-01 2.798570096492767334e-01 4.154959917068481445e-01 1.000000000000000000e+00 -8.633199930191040039e-01 2.837289869785308838e-01 4.124029874801635742e-01 1.000000000000000000e+00 -8.687930107116699219e-01 2.877280116081237793e-01 4.093030095100402832e-01 1.000000000000000000e+00 -8.741760253906250000e-01 2.918590009212493896e-01 4.062049984931945801e-01 1.000000000000000000e+00 -8.794639706611633301e-01 2.961249947547912598e-01 4.031180143356323242e-01 1.000000000000000000e+00 -8.846510052680969238e-01 3.005299866199493408e-01 4.000470042228698730e-01 1.000000000000000000e+00 -8.897309899330139160e-01 3.050790131092071533e-01 3.970020115375518799e-01 1.000000000000000000e+00 -8.946999907493591309e-01 3.097729980945587158e-01 3.939949870109558105e-01 1.000000000000000000e+00 -8.995519876480102539e-01 3.146159946918487549e-01 3.910369873046875000e-01 1.000000000000000000e+00 -9.042810201644897461e-01 3.196099996566772461e-01 3.881370127201080322e-01 1.000000000000000000e+00 -9.088839888572692871e-01 3.247550129890441895e-01 3.853079974651336670e-01 1.000000000000000000e+00 -9.133539795875549316e-01 3.300519883632659912e-01 3.825629949569702148e-01 1.000000000000000000e+00 -9.176890254020690918e-01 3.355000019073486328e-01 3.799149990081787109e-01 1.000000000000000000e+00 -9.218840003013610840e-01 3.410980105400085449e-01 3.773759901523590088e-01 1.000000000000000000e+00 -9.259369969367980957e-01 3.468439877033233643e-01 3.749589920043945312e-01 1.000000000000000000e+00 -9.298449754714965820e-01 3.527339994907379150e-01 3.726769983768463135e-01 1.000000000000000000e+00 -9.336060285568237305e-01 3.587639927864074707e-01 3.705410063266754150e-01 1.000000000000000000e+00 -9.372209906578063965e-01 3.649289906024932861e-01 3.685669898986816406e-01 1.000000000000000000e+00 -9.406870007514953613e-01 3.712239861488342285e-01 3.667620122432708740e-01 1.000000000000000000e+00 -9.440060257911682129e-01 3.776429891586303711e-01 3.651359975337982178e-01 1.000000000000000000e+00 -9.471799731254577637e-01 3.841780126094818115e-01 3.637009859085083008e-01 1.000000000000000000e+00 -9.502099752426147461e-01 3.908199965953826904e-01 3.624680042266845703e-01 1.000000000000000000e+00 -9.530990123748779297e-01 3.975630104541778564e-01 3.614380061626434326e-01 1.000000000000000000e+00 -9.558489918708801270e-01 4.043999910354614258e-01 3.606190085411071777e-01 1.000000000000000000e+00 -9.584640264511108398e-01 4.113239943981170654e-01 3.600139915943145752e-01 1.000000000000000000e+00 -9.609490036964416504e-01 4.183230102062225342e-01 3.596299886703491211e-01 1.000000000000000000e+00 -9.633100032806396484e-01 4.253900051116943359e-01 3.594689965248107910e-01 1.000000000000000000e+00 -9.655489921569824219e-01 4.325189888477325439e-01 3.595289885997772217e-01 1.000000000000000000e+00 -9.676709771156311035e-01 4.397029876708984375e-01 3.598099946975708008e-01 1.000000000000000000e+00 -9.696800112724304199e-01 4.469360113143920898e-01 3.603110015392303467e-01 1.000000000000000000e+00 -9.715819954872131348e-01 4.542100131511688232e-01 3.610300123691558838e-01 1.000000000000000000e+00 -9.733809828758239746e-01 4.615199863910675049e-01 3.619650006294250488e-01 1.000000000000000000e+00 -9.750819802284240723e-01 4.688610136508941650e-01 3.631109893321990967e-01 1.000000000000000000e+00 -9.766899943351745605e-01 4.762260019779205322e-01 3.644660115242004395e-01 1.000000000000000000e+00 -9.782099723815917969e-01 4.836120009422302246e-01 3.660250008106231689e-01 1.000000000000000000e+00 -9.796450138092041016e-01 4.910140037536621094e-01 3.677830100059509277e-01 1.000000000000000000e+00 -9.810000061988830566e-01 4.984279870986938477e-01 3.697339892387390137e-01 1.000000000000000000e+00 -9.822790026664733887e-01 5.058509707450866699e-01 3.718740046024322510e-01 1.000000000000000000e+00 -9.834849834442138672e-01 5.132799744606018066e-01 3.741979897022247314e-01 1.000000000000000000e+00 -9.846220016479492188e-01 5.207129716873168945e-01 3.766979873180389404e-01 1.000000000000000000e+00 -9.856929779052734375e-01 5.281479954719543457e-01 3.793709874153137207e-01 1.000000000000000000e+00 -9.866999983787536621e-01 5.355820059776306152e-01 3.822099864482879639e-01 1.000000000000000000e+00 -9.876459836959838867e-01 5.430150032043457031e-01 3.852100074291229248e-01 1.000000000000000000e+00 -9.885330200195312500e-01 5.504459738731384277e-01 3.883650004863739014e-01 1.000000000000000000e+00 -9.893630146980285645e-01 5.578730106353759766e-01 3.916710019111633301e-01 1.000000000000000000e+00 -9.901379942893981934e-01 5.652959942817687988e-01 3.951219916343688965e-01 1.000000000000000000e+00 -9.908710122108459473e-01 5.727059841156005859e-01 3.987140059471130371e-01 1.000000000000000000e+00 -9.915580153465270996e-01 5.801069736480712891e-01 4.024409949779510498e-01 1.000000000000000000e+00 -9.921960234642028809e-01 5.875020027160644531e-01 4.062989950180053711e-01 1.000000000000000000e+00 -9.927849769592285156e-01 5.948910117149353027e-01 4.102829992771148682e-01 1.000000000000000000e+00 -9.933260083198547363e-01 6.022750139236450195e-01 4.143899977207183838e-01 1.000000000000000000e+00 -9.938340187072753906e-01 6.096439957618713379e-01 4.186129868030548096e-01 1.000000000000000000e+00 -9.943090081214904785e-01 6.169989705085754395e-01 4.229499995708465576e-01 1.000000000000000000e+00 -9.947379827499389648e-01 6.243500113487243652e-01 4.273970127105712891e-01 1.000000000000000000e+00 -9.951220154762268066e-01 6.316959857940673828e-01 4.319509863853454590e-01 1.000000000000000000e+00 -9.954800009727478027e-01 6.390269994735717773e-01 4.366070032119750977e-01 1.000000000000000000e+00 -9.958099722862243652e-01 6.463440060615539551e-01 4.413610100746154785e-01 1.000000000000000000e+00 -9.960960149765014648e-01 6.536589860916137695e-01 4.462130069732666016e-01 1.000000000000000000e+00 -9.963409900665283203e-01 6.609690189361572266e-01 4.511600136756896973e-01 1.000000000000000000e+00 -9.965800046920776367e-01 6.682559847831726074e-01 4.561919867992401123e-01 1.000000000000000000e+00 -9.967749714851379395e-01 6.755409836769104004e-01 4.613139927387237549e-01 1.000000000000000000e+00 -9.969249963760375977e-01 6.828280091285705566e-01 4.665260016918182373e-01 1.000000000000000000e+00 -9.970769882202148438e-01 6.900879740715026855e-01 4.718109965324401855e-01 1.000000000000000000e+00 -9.971860051155090332e-01 6.973490118980407715e-01 4.771820008754730225e-01 1.000000000000000000e+00 -9.972540140151977539e-01 7.046110033988952637e-01 4.826349914073944092e-01 1.000000000000000000e+00 -9.973250031471252441e-01 7.118480205535888672e-01 4.881539940834045410e-01 1.000000000000000000e+00 -9.973509907722473145e-01 7.190889716148376465e-01 4.937550127506256104e-01 1.000000000000000000e+00 -9.973509907722473145e-01 7.263240218162536621e-01 4.994280040264129639e-01 1.000000000000000000e+00 -9.973409771919250488e-01 7.335450053215026855e-01 5.051670074462890625e-01 1.000000000000000000e+00 -9.972850084304809570e-01 7.407720088958740234e-01 5.109829902648925781e-01 1.000000000000000000e+00 -9.972280263900756836e-01 7.479810118675231934e-01 5.168589949607849121e-01 1.000000000000000000e+00 -9.971380233764648438e-01 7.551900148391723633e-01 5.228059887886047363e-01 1.000000000000000000e+00 -9.970189929008483887e-01 7.623980045318603516e-01 5.288209915161132812e-01 1.000000000000000000e+00 -9.968979954719543457e-01 7.695909738540649414e-01 5.348920226097106934e-01 1.000000000000000000e+00 -9.967269897460937500e-01 7.767950296401977539e-01 5.410389900207519531e-01 1.000000000000000000e+00 -9.965710043907165527e-01 7.839769721031188965e-01 5.472329854965209961e-01 1.000000000000000000e+00 -9.963690042495727539e-01 7.911670207977294922e-01 5.534989833831787109e-01 1.000000000000000000e+00 -9.961619973182678223e-01 7.983480095863342285e-01 5.598199963569641113e-01 1.000000000000000000e+00 -9.959319829940795898e-01 8.055269718170166016e-01 5.662019848823547363e-01 1.000000000000000000e+00 -9.956799745559692383e-01 8.127059936523437500e-01 5.726450085639953613e-01 1.000000000000000000e+00 -9.954239726066589355e-01 8.198750019073486328e-01 5.791400074958801270e-01 1.000000000000000000e+00 -9.951310157775878906e-01 8.270519971847534180e-01 5.857009887695312500e-01 1.000000000000000000e+00 -9.948509931564331055e-01 8.342130184173583984e-01 5.923069715499877930e-01 1.000000000000000000e+00 -9.945240020751953125e-01 8.413869738578796387e-01 5.989829897880554199e-01 1.000000000000000000e+00 -9.942219853401184082e-01 8.485400080680847168e-01 6.056960225105285645e-01 1.000000000000000000e+00 -9.938660264015197754e-01 8.557109832763671875e-01 6.124820113182067871e-01 1.000000000000000000e+00 -9.935449957847595215e-01 8.628590106964111328e-01 6.192989945411682129e-01 1.000000000000000000e+00 -9.931700229644775391e-01 8.700240254402160645e-01 6.261889934539794922e-01 1.000000000000000000e+00 -9.928309917449951172e-01 8.771679997444152832e-01 6.331089735031127930e-01 1.000000000000000000e+00 -9.924399852752685547e-01 8.843299746513366699e-01 6.400989890098571777e-01 1.000000000000000000e+00 -9.920889735221862793e-01 8.914700150489807129e-01 6.471160054206848145e-01 1.000000000000000000e+00 -9.916880130767822266e-01 8.986269831657409668e-01 6.542019844055175781e-01 1.000000000000000000e+00 -9.913319945335388184e-01 9.057629704475402832e-01 6.613090038299560547e-01 1.000000000000000000e+00 -9.909300208091735840e-01 9.129149913787841797e-01 6.684809923171997070e-01 1.000000000000000000e+00 -9.905700087547302246e-01 9.200490117073059082e-01 6.756749749183654785e-01 1.000000000000000000e+00 -9.901750087738037109e-01 9.271960258483886719e-01 6.829259991645812988e-01 1.000000000000000000e+00 -9.898149967193603516e-01 9.343289732933044434e-01 6.901980042457580566e-01 1.000000000000000000e+00 -9.894340038299560547e-01 9.414700269699096680e-01 6.975190043449401855e-01 1.000000000000000000e+00 -9.890769720077514648e-01 9.486039876937866211e-01 7.048630118370056152e-01 1.000000000000000000e+00 -9.887170195579528809e-01 9.557420015335083008e-01 7.122420072555541992e-01 1.000000000000000000e+00 -9.883670210838317871e-01 9.628779888153076172e-01 7.196490168571472168e-01 1.000000000000000000e+00 -9.880329966545104980e-01 9.700120091438293457e-01 7.270770072937011719e-01 1.000000000000000000e+00 -9.876909852027893066e-01 9.771540164947509766e-01 7.345359921455383301e-01 1.000000000000000000e+00 -9.873870015144348145e-01 9.842879772186279297e-01 7.420020103454589844e-01 1.000000000000000000e+00 -9.870529770851135254e-01 9.914379715919494629e-01 7.495040297508239746e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/nipy_spectral b/fastplotlib/utils/colormaps/nipy_spectral deleted file mode 100644 index ff914a0fe..000000000 --- a/fastplotlib/utils/colormaps/nipy_spectral +++ /dev/null @@ -1,256 +0,0 @@ -0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.660392016172409058e-02 0.000000000000000000e+00 4.182745143771171570e-02 1.000000000000000000e+00 -7.320784032344818115e-02 0.000000000000000000e+00 8.365490287542343140e-02 1.000000000000000000e+00 -1.098117679357528687e-01 0.000000000000000000e+00 1.254823505878448486e-01 1.000000000000000000e+00 -1.464156806468963623e-01 0.000000000000000000e+00 1.673098057508468628e-01 1.000000000000000000e+00 -1.830196082592010498e-01 0.000000000000000000e+00 2.091372609138488770e-01 1.000000000000000000e+00 -2.196235358715057373e-01 0.000000000000000000e+00 2.509647011756896973e-01 1.000000000000000000e+00 -2.562274634838104248e-01 0.000000000000000000e+00 2.927921712398529053e-01 1.000000000000000000e+00 -2.928313612937927246e-01 0.000000000000000000e+00 3.346196115016937256e-01 1.000000000000000000e+00 -3.294352889060974121e-01 0.000000000000000000e+00 3.764470517635345459e-01 1.000000000000000000e+00 -3.660392165184020996e-01 0.000000000000000000e+00 4.182745218276977539e-01 1.000000000000000000e+00 -4.026431441307067871e-01 0.000000000000000000e+00 4.601019620895385742e-01 1.000000000000000000e+00 -4.392470717430114746e-01 0.000000000000000000e+00 5.019294023513793945e-01 1.000000000000000000e+00 -4.680058956146240234e-01 0.000000000000000000e+00 5.346078276634216309e-01 1.000000000000000000e+00 -4.732294082641601562e-01 0.000000000000000000e+00 5.398392081260681152e-01 1.000000000000000000e+00 -4.784529507160186768e-01 0.000000000000000000e+00 5.450705885887145996e-01 1.000000000000000000e+00 -4.836764633655548096e-01 0.000000000000000000e+00 5.503019690513610840e-01 1.000000000000000000e+00 -4.889000058174133301e-01 0.000000000000000000e+00 5.555333495140075684e-01 1.000000000000000000e+00 -4.941235184669494629e-01 0.000000000000000000e+00 5.607647299766540527e-01 1.000000000000000000e+00 -4.993470609188079834e-01 0.000000000000000000e+00 5.659960508346557617e-01 1.000000000000000000e+00 -5.045706033706665039e-01 0.000000000000000000e+00 5.712274312973022461e-01 1.000000000000000000e+00 -5.097941160202026367e-01 0.000000000000000000e+00 5.764588117599487305e-01 1.000000000000000000e+00 -5.150176286697387695e-01 0.000000000000000000e+00 5.816901922225952148e-01 1.000000000000000000e+00 -5.202412009239196777e-01 0.000000000000000000e+00 5.869215726852416992e-01 1.000000000000000000e+00 -5.254647135734558105e-01 0.000000000000000000e+00 5.921529531478881836e-01 1.000000000000000000e+00 -5.306882262229919434e-01 0.000000000000000000e+00 5.973843336105346680e-01 1.000000000000000000e+00 -5.123862624168395996e-01 0.000000000000000000e+00 6.026157140731811523e-01 1.000000000000000000e+00 -4.705588221549987793e-01 0.000000000000000000e+00 6.078470349311828613e-01 1.000000000000000000e+00 -4.287313818931579590e-01 0.000000000000000000e+00 6.130784153938293457e-01 1.000000000000000000e+00 -3.869039118289947510e-01 0.000000000000000000e+00 6.183097958564758301e-01 1.000000000000000000e+00 -3.450764715671539307e-01 0.000000000000000000e+00 6.235411763191223145e-01 1.000000000000000000e+00 -3.032490313053131104e-01 0.000000000000000000e+00 6.287725567817687988e-01 1.000000000000000000e+00 -2.614215612411499023e-01 0.000000000000000000e+00 6.340039372444152832e-01 1.000000000000000000e+00 -2.195941209793090820e-01 0.000000000000000000e+00 6.392353177070617676e-01 1.000000000000000000e+00 -1.777666658163070679e-01 0.000000000000000000e+00 6.444666385650634766e-01 1.000000000000000000e+00 -1.359392106533050537e-01 0.000000000000000000e+00 6.496980190277099609e-01 1.000000000000000000e+00 -9.411176294088363647e-02 0.000000000000000000e+00 6.549293994903564453e-01 1.000000000000000000e+00 -5.228431522846221924e-02 0.000000000000000000e+00 6.601607799530029297e-01 1.000000000000000000e+00 -1.045686285942792892e-02 0.000000000000000000e+00 6.653921604156494141e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 6.784647107124328613e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 6.941509842872619629e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.098372578620910645e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.255235314369201660e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.412098050117492676e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.568960785865783691e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.725823521614074707e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.882686257362365723e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.039548993110656738e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.196411728858947754e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.353274464607238770e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.510137200355529785e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.666999936103820801e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.660392016172409058e-02 8.666999936103820801e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.320784032344818115e-02 8.666999936103820801e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.098117679357528687e-01 8.666999936103820801e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.464156806468963623e-01 8.666999936103820801e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.830196082592010498e-01 8.666999936103820801e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.196235358715057373e-01 8.666999936103820801e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.562274634838104248e-01 8.666999936103820801e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.928313612937927246e-01 8.666999936103820801e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.294352889060974121e-01 8.666999936103820801e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.660392165184020996e-01 8.666999936103820801e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.026431441307067871e-01 8.666999936103820801e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.392470717430114746e-01 8.666999936103820801e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.693137109279632568e-01 8.666999936103820801e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.797686338424682617e-01 8.666999936103820801e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.902235269546508789e-01 8.666999936103820801e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.006784200668334961e-01 8.666999936103820801e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.111333131790161133e-01 8.666999936103820801e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.215882062911987305e-01 8.666999936103820801e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.320431590080261230e-01 8.666999936103820801e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.424980521202087402e-01 8.666999936103820801e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.529529452323913574e-01 8.666999936103820801e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.634078383445739746e-01 8.666999936103820801e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.738627314567565918e-01 8.666999936103820801e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.843176245689392090e-01 8.666999936103820801e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.947725772857666016e-01 8.666999936103820801e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.026157140731811523e-01 8.588568568229675293e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.078470349311828613e-01 8.431705832481384277e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.130784153938293457e-01 8.274843096733093262e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.183097958564758301e-01 8.117980360984802246e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.235411763191223145e-01 7.961117625236511230e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.287725567817687988e-01 7.804254889488220215e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.340039372444152832e-01 7.647392153739929199e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.392353177070617676e-01 7.490529417991638184e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.444666385650634766e-01 7.333666682243347168e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.496980190277099609e-01 7.176803946495056152e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.549293994903564453e-01 7.019941210746765137e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.601607799530029297e-01 6.863078474998474121e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.653921604156494141e-01 6.706215739250183105e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.667000055313110352e-01 6.588529348373413086e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.667000055313110352e-01 6.483901739120483398e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.667000055313110352e-01 6.379274725914001465e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.667000055313110352e-01 6.274647116661071777e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.667000055313110352e-01 6.170019507408142090e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.667000055313110352e-01 6.065391898155212402e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.667000055313110352e-01 5.960764884948730469e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.667000055313110352e-01 5.856137275695800781e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.667000055313110352e-01 5.751509666442871094e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.667000055313110352e-01 5.646882057189941406e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.667000055313110352e-01 5.542255043983459473e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.667000055313110352e-01 5.437627434730529785e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.667000055313110352e-01 5.332999825477600098e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.614686250686645508e-01 4.914725422859191895e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.562372446060180664e-01 4.496451020240783691e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.510058641433715820e-01 4.078176617622375488e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.457744836807250977e-01 3.659901916980743408e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.405431628227233887e-01 3.241627514362335205e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.353117823600769043e-01 2.823352813720703125e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.300804018974304199e-01 2.405078411102294922e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.248490214347839355e-01 1.986803859472274780e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.196176409721374512e-01 1.568529456853866577e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.143862605094909668e-01 1.150254905223846436e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.091548800468444824e-01 7.319804280996322632e-02 1.000000000000000000e+00 -0.000000000000000000e+00 6.039235591888427734e-01 3.137058764696121216e-02 1.000000000000000000e+00 -0.000000000000000000e+00 6.026137471199035645e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 6.130686402320861816e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 6.235235333442687988e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 6.339784264564514160e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 6.444333195686340332e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 6.548882126808166504e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 6.653431653976440430e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 6.757980585098266602e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 6.862529516220092773e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 6.967078447341918945e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 7.071627378463745117e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 7.176176309585571289e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 7.280725240707397461e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 7.385313510894775391e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 7.489941120147705078e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 7.594568729400634766e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 7.699196338653564453e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 7.803823351860046387e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 7.908450961112976074e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.013078570365905762e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.117706179618835449e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.222333192825317383e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.326960802078247070e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.431588411331176758e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.536215424537658691e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.640843033790588379e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.745411634445190430e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.849960565567016602e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 8.954510092735290527e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 9.059059023857116699e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 9.163607954978942871e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 9.268156886100769043e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 9.372705817222595215e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 9.477254748344421387e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 9.581803679466247559e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 9.686353206634521484e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 9.790902137756347656e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 9.895451068878173828e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.751372501254081726e-02 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.150274500250816345e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.725411713123321533e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.300549000501632690e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.875686287879943848e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.450823426246643066e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.025960862636566162e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.601098001003265381e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.176235437393188477e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.751372575759887695e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.326509714126586914e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.901646852493286133e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.372215390205383301e-01 9.986921548843383789e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.529078722000122070e-01 9.934607744216918945e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.685941457748413086e-01 9.882293939590454102e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.842804193496704102e-01 9.829980134963989258e-01 0.000000000000000000e+00 1.000000000000000000e+00 -7.999666929244995117e-01 9.777666926383972168e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.156529664993286133e-01 9.725353121757507324e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.313392400741577148e-01 9.673039317131042480e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.470255136489868164e-01 9.620725512504577637e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.627117872238159180e-01 9.568411707878112793e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.783980607986450195e-01 9.516097903251647949e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.940843343734741211e-01 9.463784098625183105e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.097706079483032227e-01 9.411470293998718262e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.254568815231323242e-01 9.359157085418701172e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.359157085418701172e-01 9.280725717544555664e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.411470293998718262e-01 9.176176190376281738e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.463784098625183105e-01 9.071627259254455566e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.516097903251647949e-01 8.967078328132629395e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.568411707878112793e-01 8.862529397010803223e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.620725512504577637e-01 8.757980465888977051e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.673039317131042480e-01 8.653431534767150879e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.725353121757507324e-01 8.548882603645324707e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.777666926383972168e-01 8.444333076477050781e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.829980134963989258e-01 8.339784145355224609e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.882293939590454102e-01 8.235235214233398438e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.934607744216918945e-01 8.130686283111572266e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.986921548843383789e-01 8.026137351989746094e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.882353067398071289e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.725490331649780273e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.568627595901489258e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.411764860153198242e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.254902124404907227e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.098039388656616211e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.941176652908325195e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.784313917160034180e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.627451181411743164e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.470588445663452148e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.313725709915161133e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.156862974166870117e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.000000238418579102e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.529412031173706055e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.058823823928833008e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.588235318660736084e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.117647111415863037e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.647058904170989990e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.176470696926116943e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.705882489681243896e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.235294133424758911e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.764705926179885864e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.294117718935012817e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.235294371843338013e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.529411926865577698e-02 0.000000000000000000e+00 1.000000000000000000e+00 -9.973862767219543457e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.869313836097717285e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.764764904975891113e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.660215973854064941e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.555666446685791016e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.451117515563964844e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.346568584442138672e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.242019653320312500e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.137470722198486328e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.032921791076660156e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.928372263908386230e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.823823332786560059e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.719274401664733887e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.640843033790588379e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.588529229164123535e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.536215424537658691e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.483902215957641602e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.431588411331176758e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.379274606704711914e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.326960802078247070e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.274646997451782227e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.222333192825317383e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.170019388198852539e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.117706179618835449e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.065392374992370605e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.013078570365905762e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.000000119209289551e-01 4.705882444977760315e-02 4.705882444977760315e-02 1.000000000000000000e+00 -8.000000119209289551e-01 1.098039224743843079e-01 1.098039224743843079e-01 1.000000000000000000e+00 -8.000000119209289551e-01 1.725490242242813110e-01 1.725490242242813110e-01 1.000000000000000000e+00 -8.000000119209289551e-01 2.352941185235977173e-01 2.352941185235977173e-01 1.000000000000000000e+00 -8.000000119209289551e-01 2.980392277240753174e-01 2.980392277240753174e-01 1.000000000000000000e+00 -8.000000119209289551e-01 3.607843220233917236e-01 3.607843220233917236e-01 1.000000000000000000e+00 -8.000000119209289551e-01 4.235294163227081299e-01 4.235294163227081299e-01 1.000000000000000000e+00 -8.000000119209289551e-01 4.862745106220245361e-01 4.862745106220245361e-01 1.000000000000000000e+00 -8.000000119209289551e-01 5.490196347236633301e-01 5.490196347236633301e-01 1.000000000000000000e+00 -8.000000119209289551e-01 6.117647290229797363e-01 6.117647290229797363e-01 1.000000000000000000e+00 -8.000000119209289551e-01 6.745098233222961426e-01 6.745098233222961426e-01 1.000000000000000000e+00 -8.000000119209289551e-01 7.372549176216125488e-01 7.372549176216125488e-01 1.000000000000000000e+00 -8.000000119209289551e-01 8.000000119209289551e-01 8.000000119209289551e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/ocean b/fastplotlib/utils/colormaps/ocean deleted file mode 100644 index e42719b48..000000000 --- a/fastplotlib/utils/colormaps/ocean +++ /dev/null @@ -1,256 +0,0 @@ -0.000000000000000000e+00 5.000000000000000000e-01 0.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 4.941176474094390869e-01 3.921568859368562698e-03 1.000000000000000000e+00 -0.000000000000000000e+00 4.882352948188781738e-01 7.843137718737125397e-03 1.000000000000000000e+00 -0.000000000000000000e+00 4.823529422283172607e-01 1.176470611244440079e-02 1.000000000000000000e+00 -0.000000000000000000e+00 4.764705896377563477e-01 1.568627543747425079e-02 1.000000000000000000e+00 -0.000000000000000000e+00 4.705882370471954346e-01 1.960784383118152618e-02 1.000000000000000000e+00 -0.000000000000000000e+00 4.647058844566345215e-01 2.352941222488880157e-02 1.000000000000000000e+00 -0.000000000000000000e+00 4.588235318660736084e-01 2.745098061859607697e-02 1.000000000000000000e+00 -0.000000000000000000e+00 4.529411792755126953e-01 3.137255087494850159e-02 1.000000000000000000e+00 -0.000000000000000000e+00 4.470588266849517822e-01 3.529411926865577698e-02 1.000000000000000000e+00 -0.000000000000000000e+00 4.411764740943908691e-01 3.921568766236305237e-02 1.000000000000000000e+00 -0.000000000000000000e+00 4.352941215038299561e-01 4.313725605607032776e-02 1.000000000000000000e+00 -0.000000000000000000e+00 4.294117689132690430e-01 4.705882444977760315e-02 1.000000000000000000e+00 -0.000000000000000000e+00 4.235294163227081299e-01 5.098039284348487854e-02 1.000000000000000000e+00 -0.000000000000000000e+00 4.176470637321472168e-01 5.490196123719215393e-02 1.000000000000000000e+00 -0.000000000000000000e+00 4.117647111415863037e-01 5.882352963089942932e-02 1.000000000000000000e+00 -0.000000000000000000e+00 4.058823585510253906e-01 6.274510174989700317e-02 1.000000000000000000e+00 -0.000000000000000000e+00 4.000000059604644775e-01 6.666667014360427856e-02 1.000000000000000000e+00 -0.000000000000000000e+00 3.941176533699035645e-01 7.058823853731155396e-02 1.000000000000000000e+00 -0.000000000000000000e+00 3.882353007793426514e-01 7.450980693101882935e-02 1.000000000000000000e+00 -0.000000000000000000e+00 3.823529481887817383e-01 7.843137532472610474e-02 1.000000000000000000e+00 -0.000000000000000000e+00 3.764705955982208252e-01 8.235294371843338013e-02 1.000000000000000000e+00 -0.000000000000000000e+00 3.705882430076599121e-01 8.627451211214065552e-02 1.000000000000000000e+00 -0.000000000000000000e+00 3.647058904170989990e-01 9.019608050584793091e-02 1.000000000000000000e+00 -0.000000000000000000e+00 3.588235378265380859e-01 9.411764889955520630e-02 1.000000000000000000e+00 -0.000000000000000000e+00 3.529411852359771729e-01 9.803921729326248169e-02 1.000000000000000000e+00 -0.000000000000000000e+00 3.470588326454162598e-01 1.019607856869697571e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.411764800548553467e-01 1.058823540806770325e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.352941274642944336e-01 1.098039224743843079e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.294117748737335205e-01 1.137254908680915833e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.235294222831726074e-01 1.176470592617988586e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.176470696926116943e-01 1.215686276555061340e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.117647171020507812e-01 1.254902034997940063e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.058823645114898682e-01 1.294117718935012817e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.000000119209289551e-01 1.333333402872085571e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.941176593303680420e-01 1.372549086809158325e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.882353067398071289e-01 1.411764770746231079e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.823529541492462158e-01 1.450980454683303833e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.764706015586853027e-01 1.490196138620376587e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.705882489681243896e-01 1.529411822557449341e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.647058963775634766e-01 1.568627506494522095e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.588235437870025635e-01 1.607843190431594849e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.529411911964416504e-01 1.647058874368667603e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.470588237047195435e-01 1.686274558305740356e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.411764711141586304e-01 1.725490242242813110e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.352941185235977173e-01 1.764705926179885864e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.294117659330368042e-01 1.803921610116958618e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.235294133424758911e-01 1.843137294054031372e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.176470607519149780e-01 1.882352977991104126e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.117647081613540649e-01 1.921568661928176880e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.058823555707931519e-01 1.960784345865249634e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.000000029802322388e-01 2.000000029802322388e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.941176503896713257e-01 2.039215713739395142e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.882352977991104126e-01 2.078431397676467896e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.823529452085494995e-01 2.117647081613540649e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.764705926179885864e-01 2.156862765550613403e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.705882400274276733e-01 2.196078449487686157e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.647058874368667603e-01 2.235294133424758911e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.588235348463058472e-01 2.274509817361831665e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.529411822557449341e-01 2.313725501298904419e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.470588296651840210e-01 2.352941185235977173e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.411764770746231079e-01 2.392156869173049927e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.352941244840621948e-01 2.431372553110122681e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.294117718935012817e-01 2.470588237047195435e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.235294118523597717e-01 2.509804069995880127e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.176470592617988586e-01 2.549019753932952881e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.117647066712379456e-01 2.588235437870025635e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.058823540806770325e-01 2.627451121807098389e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000014901161194e-01 2.666666805744171143e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.411764889955520630e-02 2.705882489681243896e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.823529630899429321e-02 2.745098173618316650e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.235294371843338013e-02 2.784313857555389404e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.647059112787246704e-02 2.823529541492462158e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.058823853731155396e-02 2.862745225429534912e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.470588594675064087e-02 2.901960909366607666e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.882352963089942932e-02 2.941176593303680420e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.294117704033851624e-02 2.980392277240753174e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.705882444977760315e-02 3.019607961177825928e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.117647185921669006e-02 3.058823645114898682e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.529411926865577698e-02 3.098039329051971436e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.941176481544971466e-02 3.137255012989044189e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.352941222488880157e-02 3.176470696926116943e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.764705963432788849e-02 3.215686380863189697e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.176470611244440079e-02 3.254902064800262451e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.882353056222200394e-03 3.294117748737335205e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 3.333333432674407959e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.882353056222200394e-03 3.372549116611480713e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.176470611244440079e-02 3.411764800548553467e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.764705963432788849e-02 3.450980484485626221e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.352941222488880157e-02 3.490196168422698975e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.941176481544971466e-02 3.529411852359771729e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.529411926865577698e-02 3.568627536296844482e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.117647185921669006e-02 3.607843220233917236e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.705882444977760315e-02 3.647058904170989990e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.294117704033851624e-02 3.686274588108062744e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.882352963089942932e-02 3.725490272045135498e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.470588594675064087e-02 3.764705955982208252e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.058823853731155396e-02 3.803921639919281006e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.647059112787246704e-02 3.843137323856353760e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.235294371843338013e-02 3.882353007793426514e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.823529630899429321e-02 3.921568691730499268e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.411764889955520630e-02 3.960784375667572021e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000014901161194e-01 4.000000059604644775e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.058823540806770325e-01 4.039215743541717529e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.117647066712379456e-01 4.078431427478790283e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.176470592617988586e-01 4.117647111415863037e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.235294118523597717e-01 4.156862795352935791e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.294117718935012817e-01 4.196078479290008545e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.352941244840621948e-01 4.235294163227081299e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.411764770746231079e-01 4.274509847164154053e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.470588296651840210e-01 4.313725531101226807e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.529411822557449341e-01 4.352941215038299561e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.588235348463058472e-01 4.392156898975372314e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.647058874368667603e-01 4.431372582912445068e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.705882400274276733e-01 4.470588266849517822e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.764705926179885864e-01 4.509803950786590576e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.823529452085494995e-01 4.549019634723663330e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.882352977991104126e-01 4.588235318660736084e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.941176503896713257e-01 4.627451002597808838e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.000000029802322388e-01 4.666666686534881592e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.058823555707931519e-01 4.705882370471954346e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.117647081613540649e-01 4.745098054409027100e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.176470607519149780e-01 4.784313738346099854e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.235294133424758911e-01 4.823529422283172607e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.294117659330368042e-01 4.862745106220245361e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.352941185235977173e-01 4.901960790157318115e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.411764711141586304e-01 4.941176474094390869e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.470588237047195435e-01 4.980392158031463623e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.529411911964416504e-01 5.019608139991760254e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.588235437870025635e-01 5.058823823928833008e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.647058963775634766e-01 5.098039507865905762e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.705882489681243896e-01 5.137255191802978516e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.764706015586853027e-01 5.176470875740051270e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.823529541492462158e-01 5.215686559677124023e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.882353067398071289e-01 5.254902243614196777e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.941176593303680420e-01 5.294117927551269531e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.000000119209289551e-01 5.333333611488342285e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.058823645114898682e-01 5.372549295425415039e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.117647171020507812e-01 5.411764979362487793e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.176470696926116943e-01 5.450980663299560547e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.235294222831726074e-01 5.490196347236633301e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.294117748737335205e-01 5.529412031173706055e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.352941274642944336e-01 5.568627715110778809e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.411764800548553467e-01 5.607843399047851562e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.470588326454162598e-01 5.647059082984924316e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.529411852359771729e-01 5.686274766921997070e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.588235378265380859e-01 5.725490450859069824e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.647058904170989990e-01 5.764706134796142578e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.705882430076599121e-01 5.803921818733215332e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.764705955982208252e-01 5.843137502670288086e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.823529481887817383e-01 5.882353186607360840e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.882353007793426514e-01 5.921568870544433594e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.941176533699035645e-01 5.960784554481506348e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.000000059604644775e-01 6.000000238418579102e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.058823585510253906e-01 6.039215922355651855e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.117647111415863037e-01 6.078431606292724609e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.176470637321472168e-01 6.117647290229797363e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.235294163227081299e-01 6.156862974166870117e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.294117689132690430e-01 6.196078658103942871e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.352941215038299561e-01 6.235294342041015625e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.411764740943908691e-01 6.274510025978088379e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.470588266849517822e-01 6.313725709915161133e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.529411792755126953e-01 6.352941393852233887e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.588235318660736084e-01 6.392157077789306641e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.647058844566345215e-01 6.431372761726379395e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.705882370471954346e-01 6.470588445663452148e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.764705896377563477e-01 6.509804129600524902e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.823529422283172607e-01 6.549019813537597656e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.882352948188781738e-01 6.588235497474670410e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.941176474094390869e-01 6.627451181411743164e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.000000000000000000e-01 6.666666865348815918e-01 1.000000000000000000e+00 -1.176470611244440079e-02 5.058823823928833008e-01 6.705882549285888672e-01 1.000000000000000000e+00 -2.352941222488880157e-02 5.117647051811218262e-01 6.745098233222961426e-01 1.000000000000000000e+00 -3.529411926865577698e-02 5.176470875740051270e-01 6.784313917160034180e-01 1.000000000000000000e+00 -4.705882444977760315e-02 5.235294103622436523e-01 6.823529601097106934e-01 1.000000000000000000e+00 -5.882352963089942932e-02 5.294117927551269531e-01 6.862745285034179688e-01 1.000000000000000000e+00 -7.058823853731155396e-02 5.352941155433654785e-01 6.901960968971252441e-01 1.000000000000000000e+00 -8.235294371843338013e-02 5.411764979362487793e-01 6.941176652908325195e-01 1.000000000000000000e+00 -9.411764889955520630e-02 5.470588207244873047e-01 6.980392336845397949e-01 1.000000000000000000e+00 -1.058823540806770325e-01 5.529412031173706055e-01 7.019608020782470703e-01 1.000000000000000000e+00 -1.176470592617988586e-01 5.588235259056091309e-01 7.058823704719543457e-01 1.000000000000000000e+00 -1.294117718935012817e-01 5.647059082984924316e-01 7.098039388656616211e-01 1.000000000000000000e+00 -1.411764770746231079e-01 5.705882310867309570e-01 7.137255072593688965e-01 1.000000000000000000e+00 -1.529411822557449341e-01 5.764706134796142578e-01 7.176470756530761719e-01 1.000000000000000000e+00 -1.647058874368667603e-01 5.823529362678527832e-01 7.215686440467834473e-01 1.000000000000000000e+00 -1.764705926179885864e-01 5.882353186607360840e-01 7.254902124404907227e-01 1.000000000000000000e+00 -1.882352977991104126e-01 5.941176414489746094e-01 7.294117808341979980e-01 1.000000000000000000e+00 -2.000000029802322388e-01 6.000000238418579102e-01 7.333333492279052734e-01 1.000000000000000000e+00 -2.117647081613540649e-01 6.058823466300964355e-01 7.372549176216125488e-01 1.000000000000000000e+00 -2.235294133424758911e-01 6.117647290229797363e-01 7.411764860153198242e-01 1.000000000000000000e+00 -2.352941185235977173e-01 6.176470518112182617e-01 7.450980544090270996e-01 1.000000000000000000e+00 -2.470588237047195435e-01 6.235294342041015625e-01 7.490196228027343750e-01 1.000000000000000000e+00 -2.588235437870025635e-01 6.294117569923400879e-01 7.529411911964416504e-01 1.000000000000000000e+00 -2.705882489681243896e-01 6.352941393852233887e-01 7.568627595901489258e-01 1.000000000000000000e+00 -2.823529541492462158e-01 6.411764621734619141e-01 7.607843279838562012e-01 1.000000000000000000e+00 -2.941176593303680420e-01 6.470588445663452148e-01 7.647058963775634766e-01 1.000000000000000000e+00 -3.058823645114898682e-01 6.529411673545837402e-01 7.686274647712707520e-01 1.000000000000000000e+00 -3.176470696926116943e-01 6.588235497474670410e-01 7.725490331649780273e-01 1.000000000000000000e+00 -3.294117748737335205e-01 6.647058725357055664e-01 7.764706015586853027e-01 1.000000000000000000e+00 -3.411764800548553467e-01 6.705882549285888672e-01 7.803921699523925781e-01 1.000000000000000000e+00 -3.529411852359771729e-01 6.764705777168273926e-01 7.843137383460998535e-01 1.000000000000000000e+00 -3.647058904170989990e-01 6.823529601097106934e-01 7.882353067398071289e-01 1.000000000000000000e+00 -3.764705955982208252e-01 6.882352828979492188e-01 7.921568751335144043e-01 1.000000000000000000e+00 -3.882353007793426514e-01 6.941176652908325195e-01 7.960784435272216797e-01 1.000000000000000000e+00 -4.000000059604644775e-01 6.999999880790710449e-01 8.000000119209289551e-01 1.000000000000000000e+00 -4.117647111415863037e-01 7.058823704719543457e-01 8.039215803146362305e-01 1.000000000000000000e+00 -4.235294163227081299e-01 7.117646932601928711e-01 8.078431487083435059e-01 1.000000000000000000e+00 -4.352941215038299561e-01 7.176470756530761719e-01 8.117647171020507812e-01 1.000000000000000000e+00 -4.470588266849517822e-01 7.235293984413146973e-01 8.156862854957580566e-01 1.000000000000000000e+00 -4.588235318660736084e-01 7.294117808341979980e-01 8.196078538894653320e-01 1.000000000000000000e+00 -4.705882370471954346e-01 7.352941036224365234e-01 8.235294222831726074e-01 1.000000000000000000e+00 -4.823529422283172607e-01 7.411764860153198242e-01 8.274509906768798828e-01 1.000000000000000000e+00 -4.941176474094390869e-01 7.470588088035583496e-01 8.313725590705871582e-01 1.000000000000000000e+00 -5.058823823928833008e-01 7.529411911964416504e-01 8.352941274642944336e-01 1.000000000000000000e+00 -5.176470875740051270e-01 7.588235139846801758e-01 8.392156958580017090e-01 1.000000000000000000e+00 -5.294117927551269531e-01 7.647058963775634766e-01 8.431372642517089844e-01 1.000000000000000000e+00 -5.411764979362487793e-01 7.705882191658020020e-01 8.470588326454162598e-01 1.000000000000000000e+00 -5.529412031173706055e-01 7.764706015586853027e-01 8.509804010391235352e-01 1.000000000000000000e+00 -5.647059082984924316e-01 7.823529243469238281e-01 8.549019694328308105e-01 1.000000000000000000e+00 -5.764706134796142578e-01 7.882353067398071289e-01 8.588235378265380859e-01 1.000000000000000000e+00 -5.882353186607360840e-01 7.941176295280456543e-01 8.627451062202453613e-01 1.000000000000000000e+00 -6.000000238418579102e-01 8.000000119209289551e-01 8.666666746139526367e-01 1.000000000000000000e+00 -6.117647290229797363e-01 8.058823347091674805e-01 8.705882430076599121e-01 1.000000000000000000e+00 -6.235294342041015625e-01 8.117647171020507812e-01 8.745098114013671875e-01 1.000000000000000000e+00 -6.352941393852233887e-01 8.176470398902893066e-01 8.784313797950744629e-01 1.000000000000000000e+00 -6.470588445663452148e-01 8.235294222831726074e-01 8.823529481887817383e-01 1.000000000000000000e+00 -6.588235497474670410e-01 8.294117450714111328e-01 8.862745165824890137e-01 1.000000000000000000e+00 -6.705882549285888672e-01 8.352941274642944336e-01 8.901960849761962891e-01 1.000000000000000000e+00 -6.823529601097106934e-01 8.411764502525329590e-01 8.941176533699035645e-01 1.000000000000000000e+00 -6.941176652908325195e-01 8.470588326454162598e-01 8.980392217636108398e-01 1.000000000000000000e+00 -7.058823704719543457e-01 8.529411554336547852e-01 9.019607901573181152e-01 1.000000000000000000e+00 -7.176470756530761719e-01 8.588235378265380859e-01 9.058823585510253906e-01 1.000000000000000000e+00 -7.294117808341979980e-01 8.647058606147766113e-01 9.098039269447326660e-01 1.000000000000000000e+00 -7.411764860153198242e-01 8.705882430076599121e-01 9.137254953384399414e-01 1.000000000000000000e+00 -7.529411911964416504e-01 8.764705657958984375e-01 9.176470637321472168e-01 1.000000000000000000e+00 -7.647058963775634766e-01 8.823529481887817383e-01 9.215686321258544922e-01 1.000000000000000000e+00 -7.764706015586853027e-01 8.882352709770202637e-01 9.254902005195617676e-01 1.000000000000000000e+00 -7.882353067398071289e-01 8.941176533699035645e-01 9.294117689132690430e-01 1.000000000000000000e+00 -8.000000119209289551e-01 8.999999761581420898e-01 9.333333373069763184e-01 1.000000000000000000e+00 -8.117647171020507812e-01 9.058823585510253906e-01 9.372549057006835938e-01 1.000000000000000000e+00 -8.235294222831726074e-01 9.117646813392639160e-01 9.411764740943908691e-01 1.000000000000000000e+00 -8.352941274642944336e-01 9.176470637321472168e-01 9.450980424880981445e-01 1.000000000000000000e+00 -8.470588326454162598e-01 9.235293865203857422e-01 9.490196108818054199e-01 1.000000000000000000e+00 -8.588235378265380859e-01 9.294117689132690430e-01 9.529411792755126953e-01 1.000000000000000000e+00 -8.705882430076599121e-01 9.352940917015075684e-01 9.568627476692199707e-01 1.000000000000000000e+00 -8.823529481887817383e-01 9.411764740943908691e-01 9.607843160629272461e-01 1.000000000000000000e+00 -8.941176533699035645e-01 9.470587968826293945e-01 9.647058844566345215e-01 1.000000000000000000e+00 -9.058823585510253906e-01 9.529411792755126953e-01 9.686274528503417969e-01 1.000000000000000000e+00 -9.176470637321472168e-01 9.588235020637512207e-01 9.725490212440490723e-01 1.000000000000000000e+00 -9.294117689132690430e-01 9.647058844566345215e-01 9.764705896377563477e-01 1.000000000000000000e+00 -9.411764740943908691e-01 9.705882072448730469e-01 9.803921580314636230e-01 1.000000000000000000e+00 -9.529411792755126953e-01 9.764705896377563477e-01 9.843137264251708984e-01 1.000000000000000000e+00 -9.647058844566345215e-01 9.823529124259948730e-01 9.882352948188781738e-01 1.000000000000000000e+00 -9.764705896377563477e-01 9.882352948188781738e-01 9.921568632125854492e-01 1.000000000000000000e+00 -9.882352948188781738e-01 9.941176176071166992e-01 9.960784316062927246e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/pink b/fastplotlib/utils/colormaps/pink deleted file mode 100644 index bf4d1310f..000000000 --- a/fastplotlib/utils/colormaps/pink +++ /dev/null @@ -1,256 +0,0 @@ -1.177999973297119141e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.370846927165985107e-01 2.541472017765045166e-02 2.541472017765045166e-02 1.000000000000000000e+00 -1.563693732023239136e-01 5.082944035530090332e-02 5.082944035530090332e-02 1.000000000000000000e+00 -1.756540685892105103e-01 7.624416053295135498e-02 7.624416053295135498e-02 1.000000000000000000e+00 -1.949387639760971069e-01 1.016588807106018066e-01 1.016588807106018066e-01 1.000000000000000000e+00 -2.087521255016326904e-01 1.128949373960494995e-01 1.128949373960494995e-01 1.000000000000000000e+00 -2.222919464111328125e-01 1.234221234917640686e-01 1.234221234917640686e-01 1.000000000000000000e+00 -2.358317822217941284e-01 1.339493095874786377e-01 1.339493095874786377e-01 1.000000000000000000e+00 -2.493716031312942505e-01 1.444765031337738037e-01 1.444765031337738037e-01 1.000000000000000000e+00 -2.606767714023590088e-01 1.527873724699020386e-01 1.527873724699020386e-01 1.000000000000000000e+00 -2.717467546463012695e-01 1.608649641275405884e-01 1.608649641275405884e-01 1.000000000000000000e+00 -2.828167378902435303e-01 1.689425557851791382e-01 1.689425557851791382e-01 1.000000000000000000e+00 -2.938867211341857910e-01 1.770201623439788818e-01 1.770201623439788818e-01 1.000000000000000000e+00 -3.036964535713195801e-01 1.840111762285232544e-01 1.840111762285232544e-01 1.000000000000000000e+00 -3.132961690425872803e-01 1.908211112022399902e-01 1.908211112022399902e-01 1.000000000000000000e+00 -3.228959143161773682e-01 1.976310461759567261e-01 1.976310461759567261e-01 1.000000000000000000e+00 -3.324956297874450684e-01 2.044409811496734619e-01 2.044409811496734619e-01 1.000000000000000000e+00 -3.412817418575286865e-01 2.105949074029922485e-01 2.105949074029922485e-01 1.000000000000000000e+00 -3.498764336109161377e-01 2.165944874286651611e-01 2.165944874286651611e-01 1.000000000000000000e+00 -3.584711253643035889e-01 2.225940674543380737e-01 2.225940674543380737e-01 1.000000000000000000e+00 -3.670658171176910400e-01 2.285936474800109863e-01 2.285936474800109863e-01 1.000000000000000000e+00 -3.750942945480346680e-01 2.341546267271041870e-01 2.341546267271041870e-01 1.000000000000000000e+00 -3.829458057880401611e-01 2.395785599946975708e-01 2.395785599946975708e-01 1.000000000000000000e+00 -3.907973468303680420e-01 2.450025081634521484e-01 2.450025081634521484e-01 1.000000000000000000e+00 -3.986488878726959229e-01 2.504264414310455322e-01 2.504264414310455322e-01 1.000000000000000000e+00 -4.060873091220855713e-01 2.555390596389770508e-01 2.555390596389770508e-01 1.000000000000000000e+00 -4.133604764938354492e-01 2.605271935462951660e-01 2.605271935462951660e-01 1.000000000000000000e+00 -4.206336438655853271e-01 2.655152976512908936e-01 2.655152976512908936e-01 1.000000000000000000e+00 -4.279068112373352051e-01 2.705034315586090088e-01 2.705034315586090088e-01 1.000000000000000000e+00 -4.348690211772918701e-01 2.752611339092254639e-01 2.752611339092254639e-01 1.000000000000000000e+00 -4.416757225990295410e-01 2.799036204814910889e-01 2.799036204814910889e-01 1.000000000000000000e+00 -4.484824538230895996e-01 2.845461070537567139e-01 2.845461070537567139e-01 1.000000000000000000e+00 -4.552891850471496582e-01 2.891885936260223389e-01 2.891885936260223389e-01 1.000000000000000000e+00 -4.618563950061798096e-01 2.936565577983856201e-01 2.936565577983856201e-01 1.000000000000000000e+00 -4.682762324810028076e-01 2.980171442031860352e-01 2.980171442031860352e-01 1.000000000000000000e+00 -4.746960401535034180e-01 3.023777306079864502e-01 3.023777306079864502e-01 1.000000000000000000e+00 -4.811158776283264160e-01 3.067383468151092529e-01 3.067383468151092529e-01 1.000000000000000000e+00 -4.873483479022979736e-01 3.109638094902038574e-01 3.109638094902038574e-01 1.000000000000000000e+00 -4.934403300285339355e-01 3.150879740715026855e-01 3.150879740715026855e-01 1.000000000000000000e+00 -4.995323121547698975e-01 3.192121386528015137e-01 3.192121386528015137e-01 1.000000000000000000e+00 -5.056242942810058594e-01 3.233362734317779541e-01 3.233362734317779541e-01 1.000000000000000000e+00 -5.115686058998107910e-01 3.273549675941467285e-01 3.273549675941467285e-01 1.000000000000000000e+00 -5.173786878585815430e-01 3.312777578830718994e-01 3.312777578830718994e-01 1.000000000000000000e+00 -5.231887698173522949e-01 3.352005779743194580e-01 3.352005779743194580e-01 1.000000000000000000e+00 -5.289988517761230469e-01 3.391233682632446289e-01 3.391233682632446289e-01 1.000000000000000000e+00 -5.346917510032653809e-01 3.429628610610961914e-01 3.429628610610961914e-01 1.000000000000000000e+00 -5.402557849884033203e-01 3.467107713222503662e-01 3.467107713222503662e-01 1.000000000000000000e+00 -5.458198189735412598e-01 3.504586517810821533e-01 3.504586517810821533e-01 1.000000000000000000e+00 -5.513838529586791992e-01 3.542065322399139404e-01 3.542065322399139404e-01 1.000000000000000000e+00 -5.568546652793884277e-01 3.578888773918151855e-01 3.578888773918151855e-01 1.000000000000000000e+00 -5.622012615203857422e-01 3.614838123321533203e-01 3.614838123321533203e-01 1.000000000000000000e+00 -5.675478577613830566e-01 3.650787770748138428e-01 3.650787770748138428e-01 1.000000000000000000e+00 -5.728944540023803711e-01 3.686737418174743652e-01 3.686737418174743652e-01 1.000000000000000000e+00 -5.781672596931457520e-01 3.722169101238250732e-01 3.722169101238250732e-01 1.000000000000000000e+00 -5.833202004432678223e-01 3.756760060787200928e-01 3.756760060787200928e-01 1.000000000000000000e+00 -5.884730815887451172e-01 3.791350722312927246e-01 3.791350722312927246e-01 1.000000000000000000e+00 -5.936260223388671875e-01 3.825941383838653564e-01 3.825941383838653564e-01 1.000000000000000000e+00 -5.987208485603332520e-01 3.860127925872802734e-01 3.860127925872802734e-01 1.000000000000000000e+00 -6.036995649337768555e-01 3.893505334854125977e-01 3.893505334854125977e-01 1.000000000000000000e+00 -6.086783409118652344e-01 3.926883041858673096e-01 3.926883041858673096e-01 1.000000000000000000e+00 -6.136570572853088379e-01 3.960260748863220215e-01 3.960260748863220215e-01 1.000000000000000000e+00 -6.185908913612365723e-01 3.993324935436248779e-01 3.993324935436248779e-01 1.000000000000000000e+00 -6.234124898910522461e-01 4.025605618953704834e-01 4.025605618953704834e-01 1.000000000000000000e+00 -6.282340884208679199e-01 4.057886600494384766e-01 4.057886600494384766e-01 1.000000000000000000e+00 -6.330556869506835938e-01 4.090167284011840820e-01 4.090167284011840820e-01 1.000000000000000000e+00 -6.378430724143981934e-01 4.122210741043090820e-01 4.122210741043090820e-01 1.000000000000000000e+00 -6.425209045410156250e-01 4.153496026992797852e-01 4.153496026992797852e-01 1.000000000000000000e+00 -6.471986770629882812e-01 4.184781014919281006e-01 4.184781014919281006e-01 1.000000000000000000e+00 -6.518765091896057129e-01 4.216066002845764160e-01 4.216066002845764160e-01 1.000000000000000000e+00 -6.565293669700622559e-01 4.247179031372070312e-01 4.247179031372070312e-01 1.000000000000000000e+00 -6.610759496688842773e-01 4.277559816837310791e-01 4.277559816837310791e-01 1.000000000000000000e+00 -6.656225919723510742e-01 4.307940602302551270e-01 4.307940602302551270e-01 1.000000000000000000e+00 -6.701692342758178711e-01 4.338321387767791748e-01 4.338321387767791748e-01 1.000000000000000000e+00 -6.746985912322998047e-01 4.368582963943481445e-01 4.368582963943481445e-01 1.000000000000000000e+00 -6.791244149208068848e-01 4.398128688335418701e-01 4.398128688335418701e-01 1.000000000000000000e+00 -6.835502386093139648e-01 4.427674710750579834e-01 4.427674710750579834e-01 1.000000000000000000e+00 -6.879760026931762695e-01 4.457220435142517090e-01 4.457220435142517090e-01 1.000000000000000000e+00 -6.923911571502685547e-01 4.486693143844604492e-01 4.486693143844604492e-01 1.000000000000000000e+00 -6.967051029205322266e-01 4.515472948551177979e-01 4.515472948551177979e-01 1.000000000000000000e+00 -7.010189890861511230e-01 4.544253051280975342e-01 4.544253051280975342e-01 1.000000000000000000e+00 -7.053328752517700195e-01 4.573032855987548828e-01 4.573032855987548828e-01 1.000000000000000000e+00 -7.096418142318725586e-01 4.601778984069824219e-01 4.601778984069824219e-01 1.000000000000000000e+00 -7.138522267341613770e-01 4.629847109317779541e-01 4.629847109317779541e-01 1.000000000000000000e+00 -7.180625796318054199e-01 4.657915532588958740e-01 4.657915532588958740e-01 1.000000000000000000e+00 -7.222729921340942383e-01 4.685983955860137939e-01 4.685983955860137939e-01 1.000000000000000000e+00 -7.264833450317382812e-01 4.714052379131317139e-01 4.714052379131317139e-01 1.000000000000000000e+00 -7.305971384048461914e-01 4.741458594799041748e-01 4.741458594799041748e-01 1.000000000000000000e+00 -7.347109317779541016e-01 4.768864810466766357e-01 4.768864810466766357e-01 1.000000000000000000e+00 -7.388246655464172363e-01 4.796271026134490967e-01 4.796271026134490967e-01 1.000000000000000000e+00 -7.429384589195251465e-01 4.823677241802215576e-01 4.823677241802215576e-01 1.000000000000000000e+00 -7.469666004180908203e-01 4.850497841835021973e-01 4.850497841835021973e-01 1.000000000000000000e+00 -7.509904503822326660e-01 4.877288937568664551e-01 4.877288937568664551e-01 1.000000000000000000e+00 -7.550143003463745117e-01 4.904079735279083252e-01 4.904079735279083252e-01 1.000000000000000000e+00 -7.590381503105163574e-01 4.930870831012725830e-01 4.930870831012725830e-01 1.000000000000000000e+00 -7.609713077545166016e-01 4.987535476684570312e-01 4.957141280174255371e-01 1.000000000000000000e+00 -7.626847028732299805e-01 5.047340989112854004e-01 4.983356595039367676e-01 1.000000000000000000e+00 -7.643980383872985840e-01 5.107146501541137695e-01 5.009571909904479980e-01 1.000000000000000000e+00 -7.661113739013671875e-01 5.166952013969421387e-01 5.035787224769592285e-01 1.000000000000000000e+00 -7.678115963935852051e-01 5.224466323852539062e-01 5.061537027359008789e-01 1.000000000000000000e+00 -7.695096731185913086e-01 5.281598567962646484e-01 5.087208747863769531e-01 1.000000000000000000e+00 -7.712076902389526367e-01 5.338730812072753906e-01 5.112881064414978027e-01 1.000000000000000000e+00 -7.729057073593139648e-01 5.395863652229309082e-01 5.138552784919738770e-01 1.000000000000000000e+00 -7.745917439460754395e-01 5.451095700263977051e-01 5.163816809654235840e-01 1.000000000000000000e+00 -7.762749791145324707e-01 5.505880713462829590e-01 5.188984274864196777e-01 1.000000000000000000e+00 -7.779582142829895020e-01 5.560666322708129883e-01 5.214152336120605469e-01 1.000000000000000000e+00 -7.796413898468017578e-01 5.615451931953430176e-01 5.239320397377014160e-01 1.000000000000000000e+00 -7.813135385513305664e-01 5.668653845787048340e-01 5.264118909835815430e-01 1.000000000000000000e+00 -7.829821705818176270e-01 5.721361041069030762e-01 5.288802981376647949e-01 1.000000000000000000e+00 -7.846508026123046875e-01 5.774068832397460938e-01 5.313486456871032715e-01 1.000000000000000000e+00 -7.863194346427917480e-01 5.826776623725891113e-01 5.338169932365417480e-01 1.000000000000000000e+00 -7.879778146743774414e-01 5.878157019615173340e-01 5.362532734870910645e-01 1.000000000000000000e+00 -7.896321415901184082e-01 5.929006338119506836e-01 5.386766791343688965e-01 1.000000000000000000e+00 -7.912864685058593750e-01 5.979856252670288086e-01 5.411000847816467285e-01 1.000000000000000000e+00 -7.929407358169555664e-01 6.030705571174621582e-01 5.435234904289245605e-01 1.000000000000000000e+00 -7.945858240127563477e-01 6.080438494682312012e-01 5.459182262420654297e-01 1.000000000000000000e+00 -7.962263226509094238e-01 6.129613518714904785e-01 5.482985973358154297e-01 1.000000000000000000e+00 -7.978667616844177246e-01 6.178787946701049805e-01 5.506790280342102051e-01 1.000000000000000000e+00 -7.995072603225708008e-01 6.227962374687194824e-01 5.530594587326049805e-01 1.000000000000000000e+00 -8.011394739151000977e-01 6.276196241378784180e-01 5.554146170616149902e-01 1.000000000000000000e+00 -8.027666211128234863e-01 6.323851943016052246e-01 5.577542781829833984e-01 1.000000000000000000e+00 -8.043937087059020996e-01 6.371507048606872559e-01 5.600939393043518066e-01 1.000000000000000000e+00 -8.060208559036254883e-01 6.419162154197692871e-01 5.624336004257202148e-01 1.000000000000000000e+00 -8.076403737068176270e-01 6.466026306152343750e-01 5.647512078285217285e-01 1.000000000000000000e+00 -8.092541694641113281e-01 6.512297987937927246e-01 5.670523047447204590e-01 1.000000000000000000e+00 -8.108679652214050293e-01 6.558570265769958496e-01 5.693534016609191895e-01 1.000000000000000000e+00 -8.124817013740539551e-01 6.604841947555541992e-01 5.716544985771179199e-01 1.000000000000000000e+00 -8.140887618064880371e-01 6.650443673133850098e-01 5.739361643791198730e-01 1.000000000000000000e+00 -8.156895637512207031e-01 6.695438027381896973e-01 5.762000679969787598e-01 1.000000000000000000e+00 -8.172904253005981445e-01 6.740431785583496094e-01 5.784639716148376465e-01 1.000000000000000000e+00 -8.188912868499755859e-01 6.785426139831542969e-01 5.807278752326965332e-01 1.000000000000000000e+00 -8.204862475395202637e-01 6.829862594604492188e-01 5.829752683639526367e-01 1.000000000000000000e+00 -8.220748901367187500e-01 6.873686313629150391e-01 5.852044820785522461e-01 1.000000000000000000e+00 -8.236634731292724609e-01 6.917509436607360840e-01 5.874336957931518555e-01 1.000000000000000000e+00 -8.252520561218261719e-01 6.961332559585571289e-01 5.896629095077514648e-01 1.000000000000000000e+00 -8.268352150917053223e-01 7.004691362380981445e-01 5.918776988983154297e-01 1.000000000000000000e+00 -8.284112215042114258e-01 7.047430276870727539e-01 5.940732955932617188e-01 1.000000000000000000e+00 -8.299872279167175293e-01 7.090169191360473633e-01 5.962689518928527832e-01 1.000000000000000000e+00 -8.315631747245788574e-01 7.132907509803771973e-01 5.984645485877990723e-01 1.000000000000000000e+00 -8.331346511840820312e-01 7.175262570381164551e-01 6.006479263305664062e-01 1.000000000000000000e+00 -8.346987962722778320e-01 7.216993570327758789e-01 6.028114557266235352e-01 1.000000000000000000e+00 -8.362629413604736328e-01 7.258723974227905273e-01 6.049749255180358887e-01 1.000000000000000000e+00 -8.378270864486694336e-01 7.300454974174499512e-01 6.071383953094482422e-01 1.000000000000000000e+00 -8.393873572349548340e-01 7.341871857643127441e-01 6.092916131019592285e-01 1.000000000000000000e+00 -8.409398794174194336e-01 7.382661104202270508e-01 6.114242672920227051e-01 1.000000000000000000e+00 -8.424923419952392578e-01 7.423450946807861328e-01 6.135568618774414062e-01 1.000000000000000000e+00 -8.440448641777038574e-01 7.464240193367004395e-01 6.156894564628601074e-01 1.000000000000000000e+00 -8.455941677093505859e-01 7.504779100418090820e-01 6.178137660026550293e-01 1.000000000000000000e+00 -8.471353054046630859e-01 7.544691562652587891e-01 6.199172139167785645e-01 1.000000000000000000e+00 -8.486764430999755859e-01 7.584604024887084961e-01 6.220206618309020996e-01 1.000000000000000000e+00 -8.502176403999328613e-01 7.624516487121582031e-01 6.241241693496704102e-01 1.000000000000000000e+00 -8.517560958862304688e-01 7.664231657981872559e-01 6.262208223342895508e-01 1.000000000000000000e+00 -8.532858490943908691e-01 7.703316807746887207e-01 6.282958984375000000e-01 1.000000000000000000e+00 -8.548156619071960449e-01 7.742401361465454102e-01 6.303709149360656738e-01 1.000000000000000000e+00 -8.563454151153564453e-01 7.781485915184020996e-01 6.324459910392761230e-01 1.000000000000000000e+00 -8.578731417655944824e-01 7.820423245429992676e-01 6.345158815383911133e-01 1.000000000000000000e+00 -8.593918085098266602e-01 7.858732342720031738e-01 6.365640163421630859e-01 1.000000000000000000e+00 -8.609104752540588379e-01 7.897040843963623047e-01 6.386121511459350586e-01 1.000000000000000000e+00 -8.624291419982910156e-01 7.935349941253662109e-01 6.406602859497070312e-01 1.000000000000000000e+00 -8.639463186264038086e-01 7.973554730415344238e-01 6.427046656608581543e-01 1.000000000000000000e+00 -8.654543161392211914e-01 8.011132478713989258e-01 6.447265744209289551e-01 1.000000000000000000e+00 -8.669623732566833496e-01 8.048710227012634277e-01 6.467485427856445312e-01 1.000000000000000000e+00 -8.684704303741455078e-01 8.086287379264831543e-01 6.487704515457153320e-01 1.000000000000000000e+00 -8.699774742126464844e-01 8.123799562454223633e-01 6.507899761199951172e-01 1.000000000000000000e+00 -8.714751601219177246e-01 8.160688281059265137e-01 6.527867317199707031e-01 1.000000000000000000e+00 -8.729728460311889648e-01 8.197576403617858887e-01 6.547834277153015137e-01 1.000000000000000000e+00 -8.744705319404602051e-01 8.234465122222900391e-01 6.567801833152770996e-01 1.000000000000000000e+00 -8.759676814079284668e-01 8.271322250366210938e-01 6.587757468223571777e-01 1.000000000000000000e+00 -8.774549961090087891e-01 8.307553529739379883e-01 6.607485413551330566e-01 1.000000000000000000e+00 -8.789423108100891113e-01 8.343784213066101074e-01 6.627212762832641602e-01 1.000000000000000000e+00 -8.804295659065246582e-01 8.380015492439270020e-01 6.646940708160400391e-01 1.000000000000000000e+00 -8.819168806076049805e-01 8.416246771812438965e-01 6.666668057441711426e-01 1.000000000000000000e+00 -8.833940625190734863e-01 8.451860547065734863e-01 6.686158776283264160e-01 1.000000000000000000e+00 -8.848711848258972168e-01 8.487474322319030762e-01 6.705649495124816895e-01 1.000000000000000000e+00 -8.863483667373657227e-01 8.523087501525878906e-01 6.725139617919921875e-01 1.000000000000000000e+00 -8.878255486488342285e-01 8.558701276779174805e-01 6.744630336761474609e-01 1.000000000000000000e+00 -8.892933130264282227e-01 8.593752384185791016e-01 6.763908863067626953e-01 1.000000000000000000e+00 -8.907606005668640137e-01 8.628775477409362793e-01 6.783177256584167480e-01 1.000000000000000000e+00 -8.922278881072998047e-01 8.663798570632934570e-01 6.802445054054260254e-01 1.000000000000000000e+00 -8.936951160430908203e-01 8.698821663856506348e-01 6.821713447570800781e-01 1.000000000000000000e+00 -8.951537013053894043e-01 8.733335137367248535e-01 6.840785145759582520e-01 1.000000000000000000e+00 -8.966113328933715820e-01 8.767794966697692871e-01 6.859835386276245117e-01 1.000000000000000000e+00 -8.980690240859985352e-01 8.802254796028137207e-01 6.878886222839355469e-01 1.000000000000000000e+00 -8.995266556739807129e-01 8.836714625358581543e-01 6.897937059402465820e-01 1.000000000000000000e+00 -9.009762406349182129e-01 8.870717287063598633e-01 6.916805505752563477e-01 1.000000000000000000e+00 -9.024245142936706543e-01 8.904643058776855469e-01 6.935644149780273438e-01 1.000000000000000000e+00 -9.038727879524230957e-01 8.938569426536560059e-01 6.954482197761535645e-01 1.000000000000000000e+00 -9.053210616111755371e-01 8.972495794296264648e-01 6.973320245742797852e-01 1.000000000000000000e+00 -9.067617058753967285e-01 9.006007909774780273e-01 6.991994976997375488e-01 1.000000000000000000e+00 -9.082005620002746582e-01 9.039422273635864258e-01 7.010630369186401367e-01 1.000000000000000000e+00 -9.096394181251525879e-01 9.072837233543395996e-01 7.029266357421875000e-01 1.000000000000000000e+00 -9.110783338546752930e-01 9.106252193450927734e-01 7.047901749610900879e-01 1.000000000000000000e+00 -9.125102162361145020e-01 9.125102162361145020e-01 7.093620300292968750e-01 1.000000000000000000e+00 -9.139399528503417969e-01 9.139399528503417969e-01 7.147805094718933105e-01 1.000000000000000000e+00 -9.153696894645690918e-01 9.153696894645690918e-01 7.201990485191345215e-01 1.000000000000000000e+00 -9.167994260787963867e-01 9.167994260787963867e-01 7.256175279617309570e-01 1.000000000000000000e+00 -9.182226061820983887e-01 9.182226061820983887e-01 7.309225797653198242e-01 1.000000000000000000e+00 -9.196432232856750488e-01 9.196432232856750488e-01 7.361822128295898438e-01 1.000000000000000000e+00 -9.210637807846069336e-01 9.210637807846069336e-01 7.414418458938598633e-01 1.000000000000000000e+00 -9.224843978881835938e-01 9.224843978881835938e-01 7.467014789581298828e-01 1.000000000000000000e+00 -9.238992333412170410e-01 9.238992333412170410e-01 7.518643140792846680e-01 1.000000000000000000e+00 -9.253111481666564941e-01 9.253111481666564941e-01 7.569786310195922852e-01 1.000000000000000000e+00 -9.267231225967407227e-01 9.267231225967407227e-01 7.620930075645446777e-01 1.000000000000000000e+00 -9.281350374221801758e-01 9.281350374221801758e-01 7.672073841094970703e-01 1.000000000000000000e+00 -9.295416474342346191e-01 9.295416474342346191e-01 7.722387313842773438e-01 1.000000000000000000e+00 -9.309449195861816406e-01 9.309449195861816406e-01 7.772189378738403320e-01 1.000000000000000000e+00 -9.323482513427734375e-01 9.323482513427734375e-01 7.821991443634033203e-01 1.000000000000000000e+00 -9.337515234947204590e-01 9.337515234947204590e-01 7.871793508529663086e-01 1.000000000000000000e+00 -9.351500272750854492e-01 9.351500272750854492e-01 7.920885682106018066e-01 1.000000000000000000e+00 -9.365448951721191406e-01 9.365448951721191406e-01 7.969445586204528809e-01 1.000000000000000000e+00 -9.379398226737976074e-01 9.379398226737976074e-01 8.018004894256591797e-01 1.000000000000000000e+00 -9.393346905708312988e-01 9.393346905708312988e-01 8.066564202308654785e-01 1.000000000000000000e+00 -9.407252073287963867e-01 9.407252073287963867e-01 8.114522099494934082e-01 1.000000000000000000e+00 -9.421116709709167480e-01 9.421116709709167480e-01 8.161932826042175293e-01 1.000000000000000000e+00 -9.434981942176818848e-01 9.434981942176818848e-01 8.209343552589416504e-01 1.000000000000000000e+00 -9.448846578598022461e-01 9.448846578598022461e-01 8.256753683090209961e-01 1.000000000000000000e+00 -9.462673068046569824e-01 9.462673068046569824e-01 8.303651809692382812e-01 1.000000000000000000e+00 -9.476456642150878906e-01 9.476456642150878906e-01 8.349984884262084961e-01 1.000000000000000000e+00 -9.490239620208740234e-01 9.490239620208740234e-01 8.396318554878234863e-01 1.000000000000000000e+00 -9.504023194313049316e-01 9.504023194313049316e-01 8.442652225494384766e-01 1.000000000000000000e+00 -9.517771601676940918e-01 9.517771601676940918e-01 8.488555550575256348e-01 1.000000000000000000e+00 -9.531473517417907715e-01 9.531473517417907715e-01 8.533886075019836426e-01 1.000000000000000000e+00 -9.545175433158874512e-01 9.545175433158874512e-01 8.579216599464416504e-01 1.000000000000000000e+00 -9.558877348899841309e-01 9.558877348899841309e-01 8.624547123908996582e-01 1.000000000000000000e+00 -9.572549462318420410e-01 9.572549462318420410e-01 8.669519424438476562e-01 1.000000000000000000e+00 -9.586172103881835938e-01 9.586172103881835938e-01 8.713911175727844238e-01 1.000000000000000000e+00 -9.599794745445251465e-01 9.599794745445251465e-01 8.758302927017211914e-01 1.000000000000000000e+00 -9.613417983055114746e-01 9.613417983055114746e-01 8.802694082260131836e-01 1.000000000000000000e+00 -9.627014994621276855e-01 9.627014994621276855e-01 8.846789598464965820e-01 1.000000000000000000e+00 -9.640561342239379883e-01 9.640561342239379883e-01 8.890291452407836914e-01 1.000000000000000000e+00 -9.654107689857482910e-01 9.654107689857482910e-01 8.933793902397155762e-01 1.000000000000000000e+00 -9.667654037475585938e-01 9.667654037475585938e-01 8.977295756340026855e-01 1.000000000000000000e+00 -9.681178331375122070e-01 9.681178331375122070e-01 9.020560979843139648e-01 1.000000000000000000e+00 -9.694647789001464844e-01 9.694647789001464844e-01 9.063233137130737305e-01 1.000000000000000000e+00 -9.708117246627807617e-01 9.708117246627807617e-01 9.105905294418334961e-01 1.000000000000000000e+00 -9.721587300300598145e-01 9.721587300300598145e-01 9.148576855659484863e-01 1.000000000000000000e+00 -9.735038876533508301e-01 9.735038876533508301e-01 9.191060662269592285e-01 1.000000000000000000e+00 -9.748434424400329590e-01 9.748434424400329590e-01 9.232942461967468262e-01 1.000000000000000000e+00 -9.761829972267150879e-01 9.761829972267150879e-01 9.274823665618896484e-01 1.000000000000000000e+00 -9.775225520133972168e-01 9.775225520133972168e-01 9.316705465316772461e-01 1.000000000000000000e+00 -9.788607358932495117e-01 9.788607358932495117e-01 9.358444809913635254e-01 1.000000000000000000e+00 -9.801928400993347168e-01 9.801928400993347168e-01 9.399579763412475586e-01 1.000000000000000000e+00 -9.815250039100646973e-01 9.815250039100646973e-01 9.440715312957763672e-01 1.000000000000000000e+00 -9.828571677207946777e-01 9.828571677207946777e-01 9.481850862503051758e-01 1.000000000000000000e+00 -9.841882586479187012e-01 9.841882586479187012e-01 9.522885084152221680e-01 1.000000000000000000e+00 -9.855129718780517578e-01 9.855129718780517578e-01 9.563313722610473633e-01 1.000000000000000000e+00 -9.868376851081848145e-01 9.868376851081848145e-01 9.603742361068725586e-01 1.000000000000000000e+00 -9.881623983383178711e-01 9.881623983383178711e-01 9.644170999526977539e-01 1.000000000000000000e+00 -9.894865155220031738e-01 9.894865155220031738e-01 9.684535861015319824e-01 1.000000000000000000e+00 -9.908043146133422852e-01 9.908043146133422852e-01 9.724292755126953125e-01 1.000000000000000000e+00 -9.921221137046813965e-01 9.921221137046813965e-01 9.764049649238586426e-01 1.000000000000000000e+00 -9.934399127960205078e-01 9.934399127960205078e-01 9.803806543350219727e-01 1.000000000000000000e+00 -9.947574138641357422e-01 9.947574138641357422e-01 9.843532443046569824e-01 1.000000000000000000e+00 -9.960680603981018066e-01 9.960680603981018066e-01 9.882649183273315430e-01 1.000000000000000000e+00 -9.973787069320678711e-01 9.973787069320678711e-01 9.921766519546508789e-01 1.000000000000000000e+00 -9.986893534660339355e-01 9.986893534660339355e-01 9.960883259773254395e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/plasma b/fastplotlib/utils/colormaps/plasma deleted file mode 100644 index 3675e89ce..000000000 --- a/fastplotlib/utils/colormaps/plasma +++ /dev/null @@ -1,256 +0,0 @@ -5.038300156593322754e-02 2.980300039052963257e-02 5.279750227928161621e-01 1.000000000000000000e+00 -6.353600323200225830e-02 2.842600084841251373e-02 5.331240296363830566e-01 1.000000000000000000e+00 -7.535299658775329590e-02 2.720599994063377380e-02 5.380070209503173828e-01 1.000000000000000000e+00 -8.622200042009353638e-02 2.612500078976154327e-02 5.426579713821411133e-01 1.000000000000000000e+00 -9.637899696826934814e-02 2.516500093042850494e-02 5.471029877662658691e-01 1.000000000000000000e+00 -1.059800013899803162e-01 2.430900000035762787e-02 5.513679981231689453e-01 1.000000000000000000e+00 -1.151240020990371704e-01 2.355599962174892426e-02 5.554680228233337402e-01 1.000000000000000000e+00 -1.239029988646507263e-01 2.287800051271915436e-02 5.594230294227600098e-01 1.000000000000000000e+00 -1.323810070753097534e-01 2.225800044834613800e-02 5.632500052452087402e-01 1.000000000000000000e+00 -1.406030058860778809e-01 2.168699912726879120e-02 5.669590234756469727e-01 1.000000000000000000e+00 -1.486070007085800171e-01 2.115399949252605438e-02 5.705620050430297852e-01 1.000000000000000000e+00 -1.564210057258605957e-01 2.065099962055683136e-02 5.740650296211242676e-01 1.000000000000000000e+00 -1.640699952840805054e-01 2.017099969089031219e-02 5.774779915809631348e-01 1.000000000000000000e+00 -1.715739965438842773e-01 1.970599964261054993e-02 5.808060169219970703e-01 1.000000000000000000e+00 -1.789499968290328979e-01 1.925200037658214569e-02 5.840539932250976562e-01 1.000000000000000000e+00 -1.862130016088485718e-01 1.880300045013427734e-02 5.872280001640319824e-01 1.000000000000000000e+00 -1.933739930391311646e-01 1.835400052368640900e-02 5.903300046920776367e-01 1.000000000000000000e+00 -2.004449963569641113e-01 1.790199987590312958e-02 5.933640003204345703e-01 1.000000000000000000e+00 -2.074349969625473022e-01 1.744199916720390320e-02 5.963330268859863281e-01 1.000000000000000000e+00 -2.143500000238418579e-01 1.697300001978874207e-02 5.992389917373657227e-01 1.000000000000000000e+00 -2.211969941854476929e-01 1.649699918925762177e-02 6.020830273628234863e-01 1.000000000000000000e+00 -2.279829978942871094e-01 1.600700058043003082e-02 6.048669815063476562e-01 1.000000000000000000e+00 -2.347149997949600220e-01 1.550200022757053375e-02 6.075919866561889648e-01 1.000000000000000000e+00 -2.413959950208663940e-01 1.497900020331144333e-02 6.102589964866638184e-01 1.000000000000000000e+00 -2.480320036411285400e-01 1.443899981677532196e-02 6.128680109977722168e-01 1.000000000000000000e+00 -2.546269893646240234e-01 1.388199999928474426e-02 6.154189705848693848e-01 1.000000000000000000e+00 -2.611829936504364014e-01 1.330799981951713562e-02 6.179109811782836914e-01 1.000000000000000000e+00 -2.677029967308044434e-01 1.271599996834993362e-02 6.203460097312927246e-01 1.000000000000000000e+00 -2.741909921169281006e-01 1.210900023579597473e-02 6.227220296859741211e-01 1.000000000000000000e+00 -2.806479930877685547e-01 1.148799993097782135e-02 6.250380277633666992e-01 1.000000000000000000e+00 -2.870759963989257812e-01 1.085499953478574753e-02 6.272950172424316406e-01 1.000000000000000000e+00 -2.934780120849609375e-01 1.021299976855516434e-02 6.294900178909301758e-01 1.000000000000000000e+00 -2.998549938201904297e-01 9.561000391840934753e-03 6.316239833831787109e-01 1.000000000000000000e+00 -3.062100112438201904e-01 8.902000263333320618e-03 6.336939930915832520e-01 1.000000000000000000e+00 -3.125430047512054443e-01 8.239000104367733002e-03 6.356999874114990234e-01 1.000000000000000000e+00 -3.188560009002685547e-01 7.575999945402145386e-03 6.376399993896484375e-01 1.000000000000000000e+00 -3.251500129699707031e-01 6.914999801665544510e-03 6.395120024681091309e-01 1.000000000000000000e+00 -3.314259946346282959e-01 6.260999944061040878e-03 6.413159966468811035e-01 1.000000000000000000e+00 -3.376829922199249268e-01 5.617999937385320663e-03 6.430490016937255859e-01 1.000000000000000000e+00 -3.439249992370605469e-01 4.991000052541494370e-03 6.447100043296813965e-01 1.000000000000000000e+00 -3.501499891281127930e-01 4.381999839097261429e-03 6.462979912757873535e-01 1.000000000000000000e+00 -3.563590049743652344e-01 3.798000048846006393e-03 6.478099822998046875e-01 1.000000000000000000e+00 -3.625530004501342773e-01 3.243000013753771782e-03 6.492450237274169922e-01 1.000000000000000000e+00 -3.687329888343811035e-01 2.724000019952654839e-03 6.506010293960571289e-01 1.000000000000000000e+00 -3.748970031738281250e-01 2.245000097900629044e-03 6.518759727478027344e-01 1.000000000000000000e+00 -3.810470104217529297e-01 1.813999959267675877e-03 6.530680060386657715e-01 1.000000000000000000e+00 -3.871830105781555176e-01 1.433999976143240929e-03 6.541770100593566895e-01 1.000000000000000000e+00 -3.933039903640747070e-01 1.113999984227120876e-03 6.551989912986755371e-01 1.000000000000000000e+00 -3.994109928607940674e-01 8.590000215917825699e-04 6.561329960823059082e-01 1.000000000000000000e+00 -4.055030047893524170e-01 6.779999821446835995e-04 6.569769978523254395e-01 1.000000000000000000e+00 -4.115799963474273682e-01 5.770000279881060123e-04 6.577299833297729492e-01 1.000000000000000000e+00 -4.176419973373413086e-01 5.639999872073531151e-04 6.583899855613708496e-01 1.000000000000000000e+00 -4.236890077590942383e-01 6.459999713115394115e-04 6.589559912681579590e-01 1.000000000000000000e+00 -4.297190010547637939e-01 8.309999830089509487e-04 6.594250202178955078e-01 1.000000000000000000e+00 -4.357340037822723389e-01 1.126999966800212860e-03 6.597970128059387207e-01 1.000000000000000000e+00 -4.417319893836975098e-01 1.539999968372285366e-03 6.600689888000488281e-01 1.000000000000000000e+00 -4.477140009403228760e-01 2.080000005662441254e-03 6.602399945259094238e-01 1.000000000000000000e+00 -4.536769986152648926e-01 2.755000023171305656e-03 6.603099703788757324e-01 1.000000000000000000e+00 -4.596230089664459229e-01 3.573999973013997078e-03 6.602770090103149414e-01 1.000000000000000000e+00 -4.655500054359436035e-01 4.544999916106462479e-03 6.601390242576599121e-01 1.000000000000000000e+00 -4.714570045471191406e-01 5.677999928593635559e-03 6.598970293998718262e-01 1.000000000000000000e+00 -4.773440062999725342e-01 6.980000063776969910e-03 6.595489978790283203e-01 1.000000000000000000e+00 -4.832099974155426025e-01 8.460000157356262207e-03 6.590949892997741699e-01 1.000000000000000000e+00 -4.890550076961517334e-01 1.012699957937002182e-02 6.585339903831481934e-01 1.000000000000000000e+00 -4.948770105838775635e-01 1.198999956250190735e-02 6.578649878501892090e-01 1.000000000000000000e+00 -5.006780028343200684e-01 1.405499968677759171e-02 6.570879817008972168e-01 1.000000000000000000e+00 -5.064539909362792969e-01 1.633300073444843292e-02 6.562020182609558105e-01 1.000000000000000000e+00 -5.122060179710388184e-01 1.883300021290779114e-02 6.552090048789978027e-01 1.000000000000000000e+00 -5.179330110549926758e-01 2.156299911439418793e-02 6.541090011596679688e-01 1.000000000000000000e+00 -5.236330032348632812e-01 2.453199960291385651e-02 6.529009938240051270e-01 1.000000000000000000e+00 -5.293059945106506348e-01 2.774699963629245758e-02 6.515859961509704590e-01 1.000000000000000000e+00 -5.349519848823547363e-01 3.121699951589107513e-02 6.501650214195251465e-01 1.000000000000000000e+00 -5.405700206756591797e-01 3.494999930262565613e-02 6.486399769783020020e-01 1.000000000000000000e+00 -5.461570024490356445e-01 3.895400092005729675e-02 6.470100283622741699e-01 1.000000000000000000e+00 -5.517150163650512695e-01 4.313600063323974609e-02 6.452770233154296875e-01 1.000000000000000000e+00 -5.572429895401000977e-01 4.733100160956382751e-02 6.434429883956909180e-01 1.000000000000000000e+00 -5.627380013465881348e-01 5.154500156641006470e-02 6.415089964866638184e-01 1.000000000000000000e+00 -5.682010054588317871e-01 5.577800050377845764e-02 6.394770145416259766e-01 1.000000000000000000e+00 -5.736320018768310547e-01 6.002800166606903076e-02 6.373490095138549805e-01 1.000000000000000000e+00 -5.790290236473083496e-01 6.429599970579147339e-02 6.351259946823120117e-01 1.000000000000000000e+00 -5.843909978866577148e-01 6.857900321483612061e-02 6.328120231628417969e-01 1.000000000000000000e+00 -5.897189974784851074e-01 7.287800312042236328e-02 6.304079890251159668e-01 1.000000000000000000e+00 -5.950109958648681641e-01 7.718999683856964111e-02 6.279169917106628418e-01 1.000000000000000000e+00 -6.002659797668457031e-01 8.151599764823913574e-02 6.253420114517211914e-01 1.000000000000000000e+00 -6.054850220680236816e-01 8.585400134325027466e-02 6.226860284805297852e-01 1.000000000000000000e+00 -6.106669902801513672e-01 9.020400047302246094e-02 6.199510097503662109e-01 1.000000000000000000e+00 -6.158120036125183105e-01 9.456399828195571899e-02 6.171399950981140137e-01 1.000000000000000000e+00 -6.209189891815185547e-01 9.893400222063064575e-02 6.142569780349731445e-01 1.000000000000000000e+00 -6.259869933128356934e-01 1.033120006322860718e-01 6.113049983978271484e-01 1.000000000000000000e+00 -6.310170292854309082e-01 1.076989993453025818e-01 6.082869768142700195e-01 1.000000000000000000e+00 -6.360080242156982422e-01 1.120920032262802124e-01 6.052049994468688965e-01 1.000000000000000000e+00 -6.409590244293212891e-01 1.164920032024383545e-01 6.020650267601013184e-01 1.000000000000000000e+00 -6.458719968795776367e-01 1.208980008959770203e-01 5.988669991493225098e-01 1.000000000000000000e+00 -6.507459878921508789e-01 1.253090053796768188e-01 5.956169962882995605e-01 1.000000000000000000e+00 -6.555799841880798340e-01 1.297249943017959595e-01 5.923169851303100586e-01 1.000000000000000000e+00 -6.603739857673645020e-01 1.341439932584762573e-01 5.889710187911987305e-01 1.000000000000000000e+00 -6.651290059089660645e-01 1.385660022497177124e-01 5.855820178985595703e-01 1.000000000000000000e+00 -6.698449850082397461e-01 1.429920047521591187e-01 5.821539759635925293e-01 1.000000000000000000e+00 -6.745219826698303223e-01 1.474190056324005127e-01 5.786880254745483398e-01 1.000000000000000000e+00 -6.791599988937377930e-01 1.518480032682418823e-01 5.751889944076538086e-01 1.000000000000000000e+00 -6.837580204010009766e-01 1.562779992818832397e-01 5.716599822044372559e-01 1.000000000000000000e+00 -6.883180141448974609e-01 1.607089936733245850e-01 5.681030154228210449e-01 1.000000000000000000e+00 -6.928399801254272461e-01 1.651410013437271118e-01 5.645220279693603516e-01 1.000000000000000000e+00 -6.973239779472351074e-01 1.695729941129684448e-01 5.609189867973327637e-01 1.000000000000000000e+00 -7.017689943313598633e-01 1.740050017833709717e-01 5.572959780693054199e-01 1.000000000000000000e+00 -7.061780095100402832e-01 1.784369945526123047e-01 5.536569952964782715e-01 1.000000000000000000e+00 -7.105489969253540039e-01 1.828680038452148438e-01 5.500040054321289062e-01 1.000000000000000000e+00 -7.148830294609069824e-01 1.872989982366561890e-01 5.463380217552185059e-01 1.000000000000000000e+00 -7.191810011863708496e-01 1.917289942502975464e-01 5.426629781723022461e-01 1.000000000000000000e+00 -7.234439849853515625e-01 1.961580067873001099e-01 5.389810204505920410e-01 1.000000000000000000e+00 -7.276700139045715332e-01 2.005860060453414917e-01 5.352929830551147461e-01 1.000000000000000000e+00 -7.318620085716247559e-01 2.050130069255828857e-01 5.316010117530822754e-01 1.000000000000000000e+00 -7.360190153121948242e-01 2.094389945268630981e-01 5.279080271720886230e-01 1.000000000000000000e+00 -7.401430010795593262e-01 2.138639986515045166e-01 5.242159962654113770e-01 1.000000000000000000e+00 -7.442319989204406738e-01 2.182880043983459473e-01 5.205240249633789062e-01 1.000000000000000000e+00 -7.482889890670776367e-01 2.227109968662261963e-01 5.168340206146240234e-01 1.000000000000000000e+00 -7.523120045661926270e-01 2.271330058574676514e-01 5.131490230560302734e-01 1.000000000000000000e+00 -7.563040256500244141e-01 2.315549999475479126e-01 5.094680190086364746e-01 1.000000000000000000e+00 -7.602639794349670410e-01 2.359759956598281860e-01 5.057939887046813965e-01 1.000000000000000000e+00 -7.641929984092712402e-01 2.403959929943084717e-01 5.021259784698486328e-01 1.000000000000000000e+00 -7.680900096893310547e-01 2.448170036077499390e-01 4.984650015830993652e-01 1.000000000000000000e+00 -7.719579935073852539e-01 2.492370009422302246e-01 4.948129951953887939e-01 1.000000000000000000e+00 -7.757959961891174316e-01 2.536579966545104980e-01 4.911710023880004883e-01 1.000000000000000000e+00 -7.796040177345275879e-01 2.580780088901519775e-01 4.875389933586120605e-01 1.000000000000000000e+00 -7.833830118179321289e-01 2.624999880790710449e-01 4.839180111885070801e-01 1.000000000000000000e+00 -7.871329784393310547e-01 2.669219970703125000e-01 4.803070127964019775e-01 1.000000000000000000e+00 -7.908549904823303223e-01 2.713449895381927490e-01 4.767059981822967529e-01 1.000000000000000000e+00 -7.945489883422851562e-01 2.757700085639953613e-01 4.731169939041137695e-01 1.000000000000000000e+00 -7.982159852981567383e-01 2.801969945430755615e-01 4.695380032062530518e-01 1.000000000000000000e+00 -8.018550276756286621e-01 2.846260070800781250e-01 4.659709930419921875e-01 1.000000000000000000e+00 -8.054670095443725586e-01 2.890569865703582764e-01 4.624150097370147705e-01 1.000000000000000000e+00 -8.090519905090332031e-01 2.934910058975219727e-01 4.588699936866760254e-01 1.000000000000000000e+00 -8.126119971275329590e-01 2.979280054569244385e-01 4.553380012512207031e-01 1.000000000000000000e+00 -8.161439895629882812e-01 3.023679852485656738e-01 4.518159925937652588e-01 1.000000000000000000e+00 -8.196510076522827148e-01 3.068119883537292480e-01 4.483059942722320557e-01 1.000000000000000000e+00 -8.231319785118103027e-01 3.112609982490539551e-01 4.448060095310211182e-01 1.000000000000000000e+00 -8.265879750251770020e-01 3.157140016555786133e-01 4.413160085678100586e-01 1.000000000000000000e+00 -8.300179839134216309e-01 3.201720118522644043e-01 4.378359913825988770e-01 1.000000000000000000e+00 -8.334220051765441895e-01 3.246349990367889404e-01 4.343659877777099609e-01 1.000000000000000000e+00 -8.368009924888610840e-01 3.291049897670745850e-01 4.309050142765045166e-01 1.000000000000000000e+00 -8.401550054550170898e-01 3.335799872875213623e-01 4.274550080299377441e-01 1.000000000000000000e+00 -8.434839844703674316e-01 3.380619883537292480e-01 4.240129888057708740e-01 1.000000000000000000e+00 -8.467879891395568848e-01 3.425509929656982422e-01 4.205789864063262939e-01 1.000000000000000000e+00 -8.500660061836242676e-01 3.470480144023895264e-01 4.171530008316040039e-01 1.000000000000000000e+00 -8.533189892768859863e-01 3.515529930591583252e-01 4.137339890003204346e-01 1.000000000000000000e+00 -8.565469980239868164e-01 3.560659885406494141e-01 4.103220105171203613e-01 1.000000000000000000e+00 -8.597499728202819824e-01 3.605880141258239746e-01 4.069170057773590088e-01 1.000000000000000000e+00 -8.629270195960998535e-01 3.651190102100372314e-01 4.035190045833587646e-01 1.000000000000000000e+00 -8.660780191421508789e-01 3.696599900722503662e-01 4.001260101795196533e-01 1.000000000000000000e+00 -8.692029714584350586e-01 3.742119967937469482e-01 3.967379927635192871e-01 1.000000000000000000e+00 -8.723030090332031250e-01 3.787739872932434082e-01 3.933550119400024414e-01 1.000000000000000000e+00 -8.753759860992431641e-01 3.833470046520233154e-01 3.899759948253631592e-01 1.000000000000000000e+00 -8.784229755401611328e-01 3.879320025444030762e-01 3.865999877452850342e-01 1.000000000000000000e+00 -8.814430236816406250e-01 3.925290107727050781e-01 3.832289874553680420e-01 1.000000000000000000e+00 -8.844360113143920898e-01 3.971390128135681152e-01 3.798600137233734131e-01 1.000000000000000000e+00 -8.874019980430603027e-01 4.017620086669921875e-01 3.764939904212951660e-01 1.000000000000000000e+00 -8.903399705886840820e-01 4.063979983329772949e-01 3.731299936771392822e-01 1.000000000000000000e+00 -8.932499885559082031e-01 4.110479950904846191e-01 3.697679936885833740e-01 1.000000000000000000e+00 -8.961309790611267090e-01 4.157119989395141602e-01 3.664070069789886475e-01 1.000000000000000000e+00 -8.989840149879455566e-01 4.203920066356658936e-01 3.630470037460327148e-01 1.000000000000000000e+00 -9.018070101737976074e-01 4.250870048999786377e-01 3.596880137920379639e-01 1.000000000000000000e+00 -9.046009778976440430e-01 4.297969937324523926e-01 3.563289940357208252e-01 1.000000000000000000e+00 -9.073650240898132324e-01 4.345239996910095215e-01 3.529700040817260742e-01 1.000000000000000000e+00 -9.100980162620544434e-01 4.392679929733276367e-01 3.496100008487701416e-01 1.000000000000000000e+00 -9.128000140190124512e-01 4.440290033817291260e-01 3.462510108947753906e-01 1.000000000000000000e+00 -9.154710173606872559e-01 4.488070011138916016e-01 3.428899943828582764e-01 1.000000000000000000e+00 -9.181089997291564941e-01 4.536029994487762451e-01 3.395290076732635498e-01 1.000000000000000000e+00 -9.207140207290649414e-01 4.584169983863830566e-01 3.361659944057464600e-01 1.000000000000000000e+00 -9.232869744300842285e-01 4.632509946823120117e-01 3.328010141849517822e-01 1.000000000000000000e+00 -9.258249998092651367e-01 4.681029915809631348e-01 3.294349908828735352e-01 1.000000000000000000e+00 -9.283289909362792969e-01 4.729749858379364014e-01 3.260670006275177002e-01 1.000000000000000000e+00 -9.307979941368103027e-01 4.778670072555541992e-01 3.226970136165618896e-01 1.000000000000000000e+00 -9.332320094108581543e-01 4.827800095081329346e-01 3.193250000476837158e-01 1.000000000000000000e+00 -9.356300234794616699e-01 4.877119958400726318e-01 3.159520030021667480e-01 1.000000000000000000e+00 -9.379900097846984863e-01 4.926669895648956299e-01 3.125750124454498291e-01 1.000000000000000000e+00 -9.403129816055297852e-01 4.976420104503631592e-01 3.091970086097717285e-01 1.000000000000000000e+00 -9.425979852676391602e-01 5.026389956474304199e-01 3.058159947395324707e-01 1.000000000000000000e+00 -9.448440074920654297e-01 5.076580047607421875e-01 3.024330139160156250e-01 1.000000000000000000e+00 -9.470509886741638184e-01 5.126990079879760742e-01 2.990489900112152100e-01 1.000000000000000000e+00 -9.492170214653015137e-01 5.177630186080932617e-01 2.956619858741760254e-01 1.000000000000000000e+00 -9.513440132141113281e-01 5.228499770164489746e-01 2.922750115394592285e-01 1.000000000000000000e+00 -9.534279704093933105e-01 5.279600024223327637e-01 2.888830006122589111e-01 1.000000000000000000e+00 -9.554700255393981934e-01 5.330929756164550781e-01 2.854900062084197998e-01 1.000000000000000000e+00 -9.574689865112304688e-01 5.382500290870666504e-01 2.820959985256195068e-01 1.000000000000000000e+00 -9.594240188598632812e-01 5.434309840202331543e-01 2.787010073661804199e-01 1.000000000000000000e+00 -9.613360166549682617e-01 5.486360192298889160e-01 2.753050029277801514e-01 1.000000000000000000e+00 -9.632030129432678223e-01 5.538650155067443848e-01 2.719089984893798828e-01 1.000000000000000000e+00 -9.650239944458007812e-01 5.591179728507995605e-01 2.685129940509796143e-01 1.000000000000000000e+00 -9.667980074882507324e-01 5.643960237503051758e-01 2.651180028915405273e-01 1.000000000000000000e+00 -9.685260057449340820e-01 5.697000026702880859e-01 2.617209851741790771e-01 1.000000000000000000e+00 -9.702050089836120605e-01 5.750280022621154785e-01 2.583250105381011963e-01 1.000000000000000000e+00 -9.718350172042846680e-01 5.803819894790649414e-01 2.549310028553009033e-01 1.000000000000000000e+00 -9.734159708023071289e-01 5.857610106468200684e-01 2.515400052070617676e-01 1.000000000000000000e+00 -9.749469757080078125e-01 5.911650061607360840e-01 2.481510043144226074e-01 1.000000000000000000e+00 -9.764279723167419434e-01 5.965949892997741699e-01 2.447669953107833862e-01 1.000000000000000000e+00 -9.778559803962707520e-01 6.020510196685791016e-01 2.413869947195053101e-01 1.000000000000000000e+00 -9.792330265045166016e-01 6.075320243835449219e-01 2.380129992961883545e-01 1.000000000000000000e+00 -9.805560111999511719e-01 6.130390167236328125e-01 2.346460074186325073e-01 1.000000000000000000e+00 -9.818260073661804199e-01 6.185719966888427734e-01 2.312870025634765625e-01 1.000000000000000000e+00 -9.830409884452819824e-01 6.241310238838195801e-01 2.279369980096817017e-01 1.000000000000000000e+00 -9.841989874839782715e-01 6.297180056571960449e-01 2.245949953794479370e-01 1.000000000000000000e+00 -9.853010177612304688e-01 6.353300213813781738e-01 2.212650030851364136e-01 1.000000000000000000e+00 -9.863449931144714355e-01 6.409689784049987793e-01 2.179480046033859253e-01 1.000000000000000000e+00 -9.873319864273071289e-01 6.466330289840698242e-01 2.146479934453964233e-01 1.000000000000000000e+00 -9.882599711418151855e-01 6.523249745368957520e-01 2.113640010356903076e-01 1.000000000000000000e+00 -9.891279935836791992e-01 6.580430269241333008e-01 2.081000059843063354e-01 1.000000000000000000e+00 -9.899349808692932129e-01 6.637870073318481445e-01 2.048590034246444702e-01 1.000000000000000000e+00 -9.906809926033020020e-01 6.695579886436462402e-01 2.016420066356658936e-01 1.000000000000000000e+00 -9.913650155067443848e-01 6.753550171852111816e-01 1.984529942274093628e-01 1.000000000000000000e+00 -9.919850230216979980e-01 6.811789870262145996e-01 1.952950060367584229e-01 1.000000000000000000e+00 -9.925410151481628418e-01 6.870300173759460449e-01 1.921699941158294678e-01 1.000000000000000000e+00 -9.930319786071777344e-01 6.929069757461547852e-01 1.890839934349060059e-01 1.000000000000000000e+00 -9.934560060501098633e-01 6.988099813461303711e-01 1.860409975051879883e-01 1.000000000000000000e+00 -9.938139915466308594e-01 7.047410011291503906e-01 1.830430030822753906e-01 1.000000000000000000e+00 -9.941030144691467285e-01 7.106980085372924805e-01 1.800969988107681274e-01 1.000000000000000000e+00 -9.943240284919738770e-01 7.166810035705566406e-01 1.772080063819885254e-01 1.000000000000000000e+00 -9.944739937782287598e-01 7.226909995079040527e-01 1.743810027837753296e-01 1.000000000000000000e+00 -9.945530295372009277e-01 7.287279963493347168e-01 1.716219931840896606e-01 1.000000000000000000e+00 -9.945610165596008301e-01 7.347909808158874512e-01 1.689379960298538208e-01 1.000000000000000000e+00 -9.944949746131896973e-01 7.408800125122070312e-01 1.663350015878677368e-01 1.000000000000000000e+00 -9.943550229072570801e-01 7.469949722290039062e-01 1.638209968805313110e-01 1.000000000000000000e+00 -9.941409826278686523e-01 7.531369924545288086e-01 1.614039987325668335e-01 1.000000000000000000e+00 -9.938510060310363770e-01 7.593039870262145996e-01 1.590919941663742065e-01 1.000000000000000000e+00 -9.934819936752319336e-01 7.654989957809448242e-01 1.568910032510757446e-01 1.000000000000000000e+00 -9.930329918861389160e-01 7.717199921607971191e-01 1.548079997301101685e-01 1.000000000000000000e+00 -9.925050139427185059e-01 7.779669761657714844e-01 1.528549939393997192e-01 1.000000000000000000e+00 -9.918969869613647461e-01 7.842389941215515137e-01 1.510419994592666626e-01 1.000000000000000000e+00 -9.912089705467224121e-01 7.905369997024536133e-01 1.493770033121109009e-01 1.000000000000000000e+00 -9.904389977455139160e-01 7.968590259552001953e-01 1.478700041770935059e-01 1.000000000000000000e+00 -9.895870089530944824e-01 8.032050132751464844e-01 1.465290039777755737e-01 1.000000000000000000e+00 -9.886479973793029785e-01 8.095790147781372070e-01 1.453569978475570679e-01 1.000000000000000000e+00 -9.876210093498229980e-01 8.159779906272888184e-01 1.443630009889602661e-01 1.000000000000000000e+00 -9.865090250968933105e-01 8.224009871482849121e-01 1.435569971799850464e-01 1.000000000000000000e+00 -9.853140115737915039e-01 8.288459777832031250e-01 1.429450064897537231e-01 1.000000000000000000e+00 -9.840310215950012207e-01 8.353149890899658203e-01 1.425279974937438965e-01 1.000000000000000000e+00 -9.826530218124389648e-01 8.418120145797729492e-01 1.423030048608779907e-01 1.000000000000000000e+00 -9.811900258064270020e-01 8.483290076255798340e-01 1.422789990901947021e-01 1.000000000000000000e+00 -9.796440005302429199e-01 8.548660278320312500e-01 1.424529999494552612e-01 1.000000000000000000e+00 -9.779949784278869629e-01 8.614320158958435059e-01 1.428080052137374878e-01 1.000000000000000000e+00 -9.762650132179260254e-01 8.680160045623779297e-01 1.433510035276412964e-01 1.000000000000000000e+00 -9.744430184364318848e-01 8.746219873428344727e-01 1.440609991550445557e-01 1.000000000000000000e+00 -9.725300073623657227e-01 8.812500238418579102e-01 1.449230015277862549e-01 1.000000000000000000e+00 -9.705330133438110352e-01 8.878960013389587402e-01 1.459189951419830322e-01 1.000000000000000000e+00 -9.684429764747619629e-01 8.945639729499816895e-01 1.470140069723129272e-01 1.000000000000000000e+00 -9.662709832191467285e-01 9.012489914894104004e-01 1.481799930334091187e-01 1.000000000000000000e+00 -9.640210270881652832e-01 9.079499840736389160e-01 1.493699997663497925e-01 1.000000000000000000e+00 -9.616810083389282227e-01 9.146720170974731445e-01 1.505199968814849854e-01 1.000000000000000000e+00 -9.592760205268859863e-01 9.214069843292236328e-01 1.515659987926483154e-01 1.000000000000000000e+00 -9.568079710006713867e-01 9.281520247459411621e-01 1.524090021848678589e-01 1.000000000000000000e+00 -9.542869925498962402e-01 9.349079728126525879e-01 1.529210060834884644e-01 1.000000000000000000e+00 -9.517260193824768066e-01 9.416710138320922852e-01 1.529249995946884155e-01 1.000000000000000000e+00 -9.491509795188903809e-01 9.484350085258483887e-01 1.521780043840408325e-01 1.000000000000000000e+00 -9.466019868850708008e-01 9.551900029182434082e-01 1.503279954195022583e-01 1.000000000000000000e+00 -9.441519975662231445e-01 9.619160294532775879e-01 1.468610018491744995e-01 1.000000000000000000e+00 -9.418960213661193848e-01 9.685900211334228516e-01 1.409559994935989380e-01 1.000000000000000000e+00 -9.400150179862976074e-01 9.751579761505126953e-01 1.313260048627853394e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/prism b/fastplotlib/utils/colormaps/prism deleted file mode 100644 index 2fa55cbc4..000000000 --- a/fastplotlib/utils/colormaps/prism +++ /dev/null @@ -1,256 +0,0 @@ -1.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.296454221010208130e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.202982842922210693e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.115908384323120117e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.909103393554687500e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.464334607124328613e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.679059386253356934e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.889842033386230469e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.990986466407775879e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.072944164276123047e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.262181282043457031e-01 9.965688586235046387e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.678088009357452393e-01 8.870493769645690918e-01 0.000000000000000000e+00 1.000000000000000000e+00 -4.251110181212425232e-02 7.408012747764587402e-01 2.247245609760284424e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.674672722816467285e-01 4.915249347686767578e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.784760832786560059e-01 7.259169816970825195e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.862886250019073486e-01 9.124462604522705078e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.576675429940223694e-03 1.000000000000000000e+00 1.000000000000000000e+00 -1.001458391547203064e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -2.431036680936813354e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -4.142085909843444824e-01 0.000000000000000000e+00 9.964607357978820801e-01 1.000000000000000000e+00 -6.021789312362670898e-01 0.000000000000000000e+00 8.449673056602478027e-01 1.000000000000000000e+00 -7.946209907531738281e-01 0.000000000000000000e+00 6.377614736557006836e-01 1.000000000000000000e+00 -9.788463115692138672e-01 0.000000000000000000e+00 3.885053694248199463e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 1.136334463953971863e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.605566874146461487e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.428793311119079590e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.354472160339355469e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.210625171661376953e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.874868512153625488e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.237471222877502441e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.619138836860656738e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.763619422912597656e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.837971568107604980e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.969160318374633789e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.280405163764953613e-01 9.359470605850219727e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.830527961254119873e-02 8.034250140190124512e-01 1.122854202985763550e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.396880745887756348e-01 3.872372210025787354e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.555320739746093750e-01 6.366568207740783691e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.630991935729980469e-01 8.440989255905151367e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.507738471031188965e-02 9.958860278129577637e-01 1.000000000000000000e+00 -5.282267183065414429e-02 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -1.816855221986770630e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -3.427450358867645264e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -5.253818631172180176e-01 0.000000000000000000e+00 9.132024049758911133e-01 1.000000000000000000e+00 -7.175539731979370117e-01 0.000000000000000000e+00 7.269346117973327637e-01 1.000000000000000000e+00 -9.065906405448913574e-01 0.000000000000000000e+00 4.927369356155395508e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 2.260510027408599854e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.663925647735595703e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.581753075122833252e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.481002926826477051e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.236450314521789551e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.732351064682006836e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.870073199272155762e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.524872064590454102e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.612222194671630859e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.705359935760498047e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.930012643337249756e-01 9.783609509468078613e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.403236836194992065e-01 8.609830737113952637e-01 0.000000000000000000e+00 1.000000000000000000e+00 -2.256991341710090637e-02 7.085951566696166992e-01 2.788060307502746582e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.312448740005493164e-01 5.405843853950500488e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.406256139278411865e-01 7.667196989059448242e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.493058055639266968e-01 9.423018693923950195e-01 1.000000000000000000e+00 -1.210340391844511032e-02 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -1.254924237728118896e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -2.747831642627716064e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -4.501322209835052490e-01 0.000000000000000000e+00 9.716661572456359863e-01 1.000000000000000000e+00 -6.399781107902526855e-01 0.000000000000000000e+00 8.083294630050659180e-01 1.000000000000000000e+00 -8.318034410476684570e-01 0.000000000000000000e+00 5.916961431503295898e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 3.360497653484344482e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 5.824621021747589111e-02 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.165643900632858276e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.806018888950347900e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.728043973445892334e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.555911898612976074e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.169103860855102539e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.461254477500915527e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.266598224639892578e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.387412190437316895e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.462902188301086426e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.619959652423858643e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.980096995830535889e-01 9.128594994544982910e-01 0.000000000000000000e+00 1.000000000000000000e+00 -6.514377892017364502e-02 7.734512090682983398e-01 1.673915386199951172e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.048042774200439453e-01 4.387275278568267822e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.180383384227752686e-01 6.811363697052001953e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.254676818847656250e-01 8.786349892616271973e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.978926688432693481e-02 1.000000000000000000e+00 1.000000000000000000e+00 -7.512564957141876221e-02 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -2.110501527786254883e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -3.772352039813995361e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -5.627234578132629395e-01 0.000000000000000000e+00 8.810750246047973633e-01 1.000000000000000000e+00 -7.552849054336547852e-01 0.000000000000000000e+00 6.843240857124328613e-01 1.000000000000000000e+00 -9.422231912612915039e-01 0.000000000000000000e+00 4.424527585506439209e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 1.714086234569549561e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.947061717510223389e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.035570740699768066e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.959804475307464600e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.840534567832946777e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.553756237030029297e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.986509442329406738e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.980860948562622070e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.155246973037719727e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.233682036399841309e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.342863559722900391e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.607460916042327881e-01 9.584991931915283203e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.141897067427635193e-01 8.335622549057006836e-01 5.418593436479568481e-02 1.000000000000000000e+00 -4.280258435755968094e-03 6.754232645034790039e-01 3.321762681007385254e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.945090413093566895e-01 5.882648229598999023e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.027480542659759521e-01 8.055665493011474609e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.127839162945747375e-01 9.697538018226623535e-01 1.000000000000000000e+00 -3.112411871552467346e-02 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -1.522279977798461914e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -3.074707984924316406e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -4.866167008876800537e-01 0.000000000000000000e+00 9.443929791450500488e-01 1.000000000000000000e+00 -6.778538227081298828e-01 0.000000000000000000e+00 7.696296572685241699e-01 1.000000000000000000e+00 -8.685731291770935059e-01 0.000000000000000000e+00 5.441214442253112793e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 2.827369272708892822e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 2.710390836000442505e-03 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.278651952743530273e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.184504806995391846e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.097972750663757324e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.892892718315124512e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.450918197631835938e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.669321179389953613e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.907510042190551758e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.009451389312744141e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.090988874435424805e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.278615772724151611e-01 9.974138736724853516e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.691828966140747070e-01 8.882851004600524902e-01 0.000000000000000000e+00 1.000000000000000000e+00 -4.352521896362304688e-02 7.423461675643920898e-01 2.220706492662429810e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.692194700241088867e-01 4.890986979007720947e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.803200423717498779e-01 7.238783836364746094e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.881028115749359131e-01 9.109296798706054688e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.241449922323226929e-03 1.000000000000000000e+00 1.000000000000000000e+00 -9.894609451293945312e-02 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -2.415855377912521362e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -4.124721586704254150e-01 0.000000000000000000e+00 9.976057410240173340e-01 1.000000000000000000e+00 -6.003386974334716797e-01 0.000000000000000000e+00 8.467000722885131836e-01 1.000000000000000000e+00 -7.927983403205871582e-01 0.000000000000000000e+00 6.399679183959960938e-01 1.000000000000000000e+00 -9.771612882614135742e-01 0.000000000000000000e+00 3.910399079322814941e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 1.163289919495582581e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.433619394898414612e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.410441040992736816e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.336172640323638916e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.193584799766540527e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.860211133956909180e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.226162433624267578e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.636152982711791992e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.781909704208374023e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.856331586837768555e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.986380100250244141e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.295349091291427612e-01 9.370341897010803223e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.947356045246124268e-02 8.048568964004516602e-01 1.095888465642929077e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.413702368736267090e-01 3.846991658210754395e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.573536217212677002e-01 6.344446539878845215e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.649400234222412109e-01 8.423584699630737305e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.681612670421600342e-02 9.947319626808166504e-01 1.000000000000000000e+00 -5.177454650402069092e-02 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -1.802843660116195679e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -3.410832285881042480e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -5.235689878463745117e-01 0.000000000000000000e+00 9.147107005119323730e-01 1.000000000000000000e+00 -7.157095670700073242e-01 0.000000000000000000e+00 7.289666533470153809e-01 1.000000000000000000e+00 -9.048362970352172852e-01 0.000000000000000000e+00 4.951587021350860596e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 2.287028580904006958e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.645895838737487793e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.563285171985626221e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.463315248489379883e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.220708727836608887e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.719593286514282227e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.861140251159667969e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.542791008949279785e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.630701422691345215e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.723180234432220459e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.945999801158905029e-01 9.792879223823547363e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.416336297988891602e-01 8.622865676879882812e-01 0.000000000000000000e+00 1.000000000000000000e+00 -2.350473403930664062e-02 7.101892828941345215e-01 2.761832773685455322e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.330244898796081543e-01 5.382221937179565430e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.424733877182006836e-01 7.647738456726074219e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.510999053716659546e-01 9.409006834030151367e-01 1.000000000000000000e+00 -1.121811661869287491e-02 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -1.242232397198677063e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -2.732137441635131836e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -4.483660757541656494e-01 0.000000000000000000e+00 9.729337096214294434e-01 1.000000000000000000e+00 -6.381316781044006348e-01 0.000000000000000000e+00 8.101652860641479492e-01 1.000000000000000000e+00 -8.299984931945800781e-01 0.000000000000000000e+00 5.939792394638061523e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 3.386295735836029053e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 6.095262244343757629e-02 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.990496397018432617e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.787580788135528564e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 4.709897637367248535e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.539254188537597656e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.155032992362976074e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.450698494911193848e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.283954501152038574e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.405812144279479980e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.481132864952087402e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.636818826198577881e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.994473040103912354e-01 9.140206575393676758e-01 0.000000000000000000e+00 1.000000000000000000e+00 -6.623827666044235229e-02 7.749401926994323730e-01 1.647122055292129517e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.065229177474975586e-01 4.362407326698303223e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.198732972145080566e-01 6.790060400962829590e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.272979468107223511e-01 8.770015835762023926e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.149418324232101440e-02 1.000000000000000000e+00 1.000000000000000000e+00 -7.400201261043548584e-02 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -2.095899581909179688e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -3.755346834659576416e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -5.608947873115539551e-01 0.000000000000000000e+00 8.826950788497924805e-01 1.000000000000000000e+00 -7.534486651420593262e-01 0.000000000000000000e+00 6.864440441131591797e-01 1.000000000000000000e+00 -9.405003786087036133e-01 0.000000000000000000e+00 4.449328780174255371e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 1.740853786468505859e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.778940670192241669e-02 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 2.017359137535095215e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.941394090652465820e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.823139548301696777e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 7.538523077964782715e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.974443078041076660e-01 0.000000000000000000e+00 1.000000000000000000e+00 -9.997469186782836914e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.173370957374572754e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.252127885818481445e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -4.360414147377014160e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -2.622959613800048828e-01 9.595056772232055664e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.154321730136871338e-01 8.349302411079406738e-01 5.147866904735565186e-02 1.000000000000000000e+00 -5.133399274200201035e-03 6.770625114440917969e-01 3.295913934707641602e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.963115453720092773e-01 5.859727859497070312e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.045949339866638184e-01 8.037184476852416992e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.145533621311187744e-01 9.684715270996093750e-01 1.000000000000000000e+00 -3.015805967152118683e-02 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -1.508926153182983398e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -3.058541417121887207e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -4.848253428936004639e-01 0.000000000000000000e+00 9.457798600196838379e-01 1.000000000000000000e+00 -6.760058999061584473e-01 0.000000000000000000e+00 7.715638279914855957e-01 1.000000000000000000e+00 -8.667904734611511230e-01 0.000000000000000000e+00 5.464753508567810059e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 2.853554189205169678e-01 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 5.420765373855829239e-03 1.000000000000000000e+00 -1.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 1.260861903429031372e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.166027367115020752e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 5.080026388168334961e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 6.876660585403442383e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 8.437470197677612305e-01 0.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.659544229507446289e-01 0.000000000000000000e+00 1.000000000000000000e+00 -8.925164937973022461e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.027914524078369141e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.109043717384338379e-01 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -3.295071125030517578e-01 9.982548952102661133e-01 0.000000000000000000e+00 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/rainbow b/fastplotlib/utils/colormaps/rainbow deleted file mode 100644 index f90067236..000000000 --- a/fastplotlib/utils/colormaps/rainbow +++ /dev/null @@ -1,256 +0,0 @@ -5.000000000000000000e-01 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -4.921568632125854492e-01 1.231965981423854828e-02 9.999810457229614258e-01 1.000000000000000000e+00 -4.843137264251708984e-01 2.463744953274726868e-02 9.999241232872009277e-01 1.000000000000000000e+00 -4.764705896377563477e-01 3.695150092244148254e-02 9.998292326927185059e-01 1.000000000000000000e+00 -4.686274528503417969e-01 4.925994202494621277e-02 9.996964335441589355e-01 1.000000000000000000e+00 -4.607843160629272461e-01 6.156090646982192993e-02 9.995257258415222168e-01 1.000000000000000000e+00 -4.529411792755126953e-01 7.385252416133880615e-02 9.993170499801635742e-01 1.000000000000000000e+00 -4.450980424880981445e-01 8.613293617963790894e-02 9.990704655647277832e-01 1.000000000000000000e+00 -4.372549057006835938e-01 9.840027987957000732e-02 9.987859725952148438e-01 1.000000000000000000e+00 -4.294117689132690430e-01 1.106526851654052734e-01 9.984636306762695312e-01 1.000000000000000000e+00 -4.215686321258544922e-01 1.228882893919944763e-01 9.981033205986022949e-01 1.000000000000000000e+00 -4.137254953384399414e-01 1.351052522659301758e-01 9.977051615715026855e-01 1.000000000000000000e+00 -4.058823585510253906e-01 1.473017036914825439e-01 9.972691535949707031e-01 1.000000000000000000e+00 -3.980392217636108398e-01 1.594757884740829468e-01 9.967952966690063477e-01 1.000000000000000000e+00 -3.901960849761962891e-01 1.716256737709045410e-01 9.962836503982543945e-01 1.000000000000000000e+00 -3.823529481887817383e-01 1.837495118379592896e-01 9.957341551780700684e-01 1.000000000000000000e+00 -3.745098114013671875e-01 1.958454698324203491e-01 9.951469302177429199e-01 1.000000000000000000e+00 -3.666666746139526367e-01 2.079116851091384888e-01 9.945219159126281738e-01 1.000000000000000000e+00 -3.588235378265380859e-01 2.199463546276092529e-01 9.938591122627258301e-01 1.000000000000000000e+00 -3.509804010391235352e-01 2.319476455450057983e-01 9.931586384773254395e-01 1.000000000000000000e+00 -3.431372642517089844e-01 2.439137250185012817e-01 9.924204945564270020e-01 1.000000000000000000e+00 -3.352941274642944336e-01 2.558427751064300537e-01 9.916446805000305176e-01 1.000000000000000000e+00 -3.274509906768798828e-01 2.677330076694488525e-01 9.908312559127807617e-01 1.000000000000000000e+00 -3.196078538894653320e-01 2.795825898647308350e-01 9.899802207946777344e-01 1.000000000000000000e+00 -3.117647171020507812e-01 2.913897335529327393e-01 9.890916347503662109e-01 1.000000000000000000e+00 -3.039215803146362305e-01 3.031526803970336914e-01 9.881654977798461914e-01 1.000000000000000000e+00 -2.960784435272216797e-01 3.148695826530456543e-01 9.872018098831176758e-01 1.000000000000000000e+00 -2.882353067398071289e-01 3.265387117862701416e-01 9.862007498741149902e-01 1.000000000000000000e+00 -2.803921699523925781e-01 3.381582796573638916e-01 9.851622581481933594e-01 1.000000000000000000e+00 -2.725490331649780273e-01 3.497264981269836426e-01 9.840863347053527832e-01 1.000000000000000000e+00 -2.647058963775634766e-01 3.612416684627532959e-01 9.829730987548828125e-01 1.000000000000000000e+00 -2.568627595901489258e-01 3.727020025253295898e-01 9.818225502967834473e-01 1.000000000000000000e+00 -2.490196079015731812e-01 3.841057419776916504e-01 9.806347489356994629e-01 1.000000000000000000e+00 -2.411764711141586304e-01 3.954512178897857666e-01 9.794097542762756348e-01 1.000000000000000000e+00 -2.333333343267440796e-01 4.067366421222686768e-01 9.781476259231567383e-01 1.000000000000000000e+00 -2.254901975393295288e-01 4.179603457450866699e-01 9.768483042716979980e-01 1.000000000000000000e+00 -2.176470607519149780e-01 4.291206002235412598e-01 9.755119681358337402e-01 1.000000000000000000e+00 -2.098039239645004272e-01 4.402157366275787354e-01 9.741386175155639648e-01 1.000000000000000000e+00 -2.019607871770858765e-01 4.512440562248229980e-01 9.727282524108886719e-01 1.000000000000000000e+00 -1.941176503896713257e-01 4.622038900852203369e-01 9.712810516357421875e-01 1.000000000000000000e+00 -1.862745136022567749e-01 4.730935692787170410e-01 9.697969555854797363e-01 1.000000000000000000e+00 -1.784313768148422241e-01 4.839114248752593994e-01 9.682760238647460938e-01 1.000000000000000000e+00 -1.705882400274276733e-01 4.946558475494384766e-01 9.667183756828308105e-01 1.000000000000000000e+00 -1.627451032400131226e-01 5.053251981735229492e-01 9.651240706443786621e-01 1.000000000000000000e+00 -1.549019664525985718e-01 5.159178376197814941e-01 9.634931683540344238e-01 1.000000000000000000e+00 -1.470588296651840210e-01 5.264321565628051758e-01 9.618256688117980957e-01 1.000000000000000000e+00 -1.392156928777694702e-01 5.368666052818298340e-01 9.601216316223144531e-01 1.000000000000000000e+00 -1.313725560903549194e-01 5.472195744514465332e-01 9.583812355995178223e-01 1.000000000000000000e+00 -1.235294118523597717e-01 5.574894547462463379e-01 9.566044211387634277e-01 1.000000000000000000e+00 -1.156862750649452209e-01 5.676746964454650879e-01 9.547913074493408203e-01 1.000000000000000000e+00 -1.078431382775306702e-01 5.777738094329833984e-01 9.529420137405395508e-01 1.000000000000000000e+00 -1.000000014901161194e-01 5.877852439880371094e-01 9.510565400123596191e-01 1.000000000000000000e+00 -9.215686470270156860e-02 5.977074503898620605e-01 9.491349458694458008e-01 1.000000000000000000e+00 -8.431372791528701782e-02 6.075389385223388672e-01 9.471773505210876465e-01 1.000000000000000000e+00 -7.647059112787246704e-02 6.172782182693481445e-01 9.451838135719299316e-01 1.000000000000000000e+00 -6.862745434045791626e-02 6.269237995147705078e-01 9.431544542312622070e-01 1.000000000000000000e+00 -6.078431382775306702e-02 6.364742517471313477e-01 9.410892724990844727e-01 1.000000000000000000e+00 -5.294117704033851624e-02 6.459280848503112793e-01 9.389883875846862793e-01 1.000000000000000000e+00 -4.509804025292396545e-02 6.552838683128356934e-01 9.368518590927124023e-01 1.000000000000000000e+00 -3.725490346550941467e-02 6.645401716232299805e-01 9.346797466278076172e-01 1.000000000000000000e+00 -2.941176481544971466e-02 6.736956238746643066e-01 9.324722290039062500e-01 1.000000000000000000e+00 -2.156862802803516388e-02 6.827488541603088379e-01 9.302293062210083008e-01 1.000000000000000000e+00 -1.372549030929803848e-02 6.916984319686889648e-01 9.279510974884033203e-01 1.000000000000000000e+00 -5.882353056222200394e-03 7.005430459976196289e-01 9.256376624107360840e-01 1.000000000000000000e+00 -1.960784429684281349e-03 7.092813253402709961e-01 9.232891201972961426e-01 1.000000000000000000e+00 -9.803921915590763092e-03 7.179118990898132324e-01 9.209055304527282715e-01 1.000000000000000000e+00 -1.764705963432788849e-02 7.264335751533508301e-01 9.184870123863220215e-01 1.000000000000000000e+00 -2.549019642174243927e-02 7.348449826240539551e-01 9.160336256027221680e-01 1.000000000000000000e+00 -3.333333507180213928e-02 7.431448101997375488e-01 9.135454297065734863e-01 1.000000000000000000e+00 -4.117647185921669006e-02 7.513318657875061035e-01 9.110226631164550781e-01 1.000000000000000000e+00 -4.901960864663124084e-02 7.594048976898193359e-01 9.084652662277221680e-01 1.000000000000000000e+00 -5.686274543404579163e-02 7.673626542091369629e-01 9.058734178543090820e-01 1.000000000000000000e+00 -6.470588594675064087e-02 7.752040028572082520e-01 9.032471776008605957e-01 1.000000000000000000e+00 -7.254902273416519165e-02 7.829276323318481445e-01 9.005867242813110352e-01 1.000000000000000000e+00 -8.039215952157974243e-02 7.905324101448059082e-01 8.978920578956604004e-01 1.000000000000000000e+00 -8.823529630899429321e-02 7.980172038078308105e-01 8.951632976531982422e-01 1.000000000000000000e+00 -9.607843309640884399e-02 8.053809404373168945e-01 8.924005627632141113e-01 1.000000000000000000e+00 -1.039215698838233948e-01 8.126223683357238770e-01 8.896040320396423340e-01 1.000000000000000000e+00 -1.117647066712379456e-01 8.197404742240905762e-01 8.867737054824829102e-01 1.000000000000000000e+00 -1.196078434586524963e-01 8.267341852188110352e-01 8.839097023010253906e-01 1.000000000000000000e+00 -1.274509876966476440e-01 8.336023688316345215e-01 8.810122013092041016e-01 1.000000000000000000e+00 -1.352941244840621948e-01 8.403440713882446289e-01 8.780812621116638184e-01 1.000000000000000000e+00 -1.431372612714767456e-01 8.469582200050354004e-01 8.751170039176940918e-01 1.000000000000000000e+00 -1.509803980588912964e-01 8.534438014030456543e-01 8.721194863319396973e-01 1.000000000000000000e+00 -1.588235348463058472e-01 8.597998619079589844e-01 8.690889477729797363e-01 1.000000000000000000e+00 -1.666666716337203979e-01 8.660253882408142090e-01 8.660253882408142090e-01 1.000000000000000000e+00 -1.745098084211349487e-01 8.721194863319396973e-01 8.629289865493774414e-01 1.000000000000000000e+00 -1.823529452085494995e-01 8.780812621116638184e-01 8.597998619079589844e-01 1.000000000000000000e+00 -1.901960819959640503e-01 8.839097023010253906e-01 8.566380739212036133e-01 1.000000000000000000e+00 -1.980392187833786011e-01 8.896040320396423340e-01 8.534438014030456543e-01 1.000000000000000000e+00 -2.058823555707931519e-01 8.951632976531982422e-01 8.502171635627746582e-01 1.000000000000000000e+00 -2.137254923582077026e-01 9.005867242813110352e-01 8.469582200050354004e-01 1.000000000000000000e+00 -2.215686291456222534e-01 9.058734178543090820e-01 8.436671495437622070e-01 1.000000000000000000e+00 -2.294117659330368042e-01 9.110226631164550781e-01 8.403440713882446289e-01 1.000000000000000000e+00 -2.372549027204513550e-01 9.160336256027221680e-01 8.369891047477722168e-01 1.000000000000000000e+00 -2.450980395078659058e-01 9.209055304527282715e-01 8.336023688316345215e-01 1.000000000000000000e+00 -2.529411911964416504e-01 9.256376624107360840e-01 8.301840424537658691e-01 1.000000000000000000e+00 -2.607843279838562012e-01 9.302293062210083008e-01 8.267341852188110352e-01 1.000000000000000000e+00 -2.686274647712707520e-01 9.346797466278076172e-01 8.232529759407043457e-01 1.000000000000000000e+00 -2.764706015586853027e-01 9.389883875846862793e-01 8.197404742240905762e-01 1.000000000000000000e+00 -2.843137383460998535e-01 9.431544542312622070e-01 8.161969184875488281e-01 1.000000000000000000e+00 -2.921568751335144043e-01 9.471773505210876465e-01 8.126223683357238770e-01 1.000000000000000000e+00 -3.000000119209289551e-01 9.510565400123596191e-01 8.090170025825500488e-01 1.000000000000000000e+00 -3.078431487083435059e-01 9.547913074493408203e-01 8.053809404373168945e-01 1.000000000000000000e+00 -3.156862854957580566e-01 9.583812355995178223e-01 8.017143011093139648e-01 1.000000000000000000e+00 -3.235294222831726074e-01 9.618256688117980957e-01 7.980172038078308105e-01 1.000000000000000000e+00 -3.313725590705871582e-01 9.651240706443786621e-01 7.942898869514465332e-01 1.000000000000000000e+00 -3.392156958580017090e-01 9.682760238647460938e-01 7.905324101448059082e-01 1.000000000000000000e+00 -3.470588326454162598e-01 9.712810516357421875e-01 7.867449522018432617e-01 1.000000000000000000e+00 -3.549019694328308105e-01 9.741386175155639648e-01 7.829276323318481445e-01 1.000000000000000000e+00 -3.627451062202453613e-01 9.768483042716979980e-01 7.790805697441101074e-01 1.000000000000000000e+00 -3.705882430076599121e-01 9.794097542762756348e-01 7.752040028572082520e-01 1.000000000000000000e+00 -3.784313797950744629e-01 9.818225502967834473e-01 7.712979912757873535e-01 1.000000000000000000e+00 -3.862745165824890137e-01 9.840863347053527832e-01 7.673626542091369629e-01 1.000000000000000000e+00 -3.941176533699035645e-01 9.862007498741149902e-01 7.633982896804809570e-01 1.000000000000000000e+00 -4.019607901573181152e-01 9.881654977798461914e-01 7.594048976898193359e-01 1.000000000000000000e+00 -4.098039269447326660e-01 9.899802207946777344e-01 7.553827166557312012e-01 1.000000000000000000e+00 -4.176470637321472168e-01 9.916446805000305176e-01 7.513318657875061035e-01 1.000000000000000000e+00 -4.254902005195617676e-01 9.931586384773254395e-01 7.472525238990783691e-01 1.000000000000000000e+00 -4.333333373069763184e-01 9.945219159126281738e-01 7.431448101997375488e-01 1.000000000000000000e+00 -4.411764740943908691e-01 9.957341551780700684e-01 7.390089035034179688e-01 1.000000000000000000e+00 -4.490196108818054199e-01 9.967952966690063477e-01 7.348449826240539551e-01 1.000000000000000000e+00 -4.568627476692199707e-01 9.977051615715026855e-01 7.306531071662902832e-01 1.000000000000000000e+00 -4.647058844566345215e-01 9.984636306762695312e-01 7.264335751533508301e-01 1.000000000000000000e+00 -4.725490212440490723e-01 9.990704655647277832e-01 7.221864461898803711e-01 1.000000000000000000e+00 -4.803921580314636230e-01 9.995257258415222168e-01 7.179118990898132324e-01 1.000000000000000000e+00 -4.882352948188781738e-01 9.998292326927185059e-01 7.136101722717285156e-01 1.000000000000000000e+00 -4.960784316062927246e-01 9.999810457229614258e-01 7.092813253402709961e-01 1.000000000000000000e+00 -5.039215683937072754e-01 9.999810457229614258e-01 7.049255371093750000e-01 1.000000000000000000e+00 -5.117647051811218262e-01 9.998292326927185059e-01 7.005430459976196289e-01 1.000000000000000000e+00 -5.196078419685363770e-01 9.995257258415222168e-01 6.961339712142944336e-01 1.000000000000000000e+00 -5.274509787559509277e-01 9.990704655647277832e-01 6.916984319686889648e-01 1.000000000000000000e+00 -5.352941155433654785e-01 9.984636306762695312e-01 6.872366666793823242e-01 1.000000000000000000e+00 -5.431372523307800293e-01 9.977051615715026855e-01 6.827488541603088379e-01 1.000000000000000000e+00 -5.509803891181945801e-01 9.967952966690063477e-01 6.782351136207580566e-01 1.000000000000000000e+00 -5.588235259056091309e-01 9.957341551780700684e-01 6.736956238746643066e-01 1.000000000000000000e+00 -5.666666626930236816e-01 9.945219159126281738e-01 6.691306233406066895e-01 1.000000000000000000e+00 -5.745097994804382324e-01 9.931586384773254395e-01 6.645401716232299805e-01 1.000000000000000000e+00 -5.823529362678527832e-01 9.916446805000305176e-01 6.599245071411132812e-01 1.000000000000000000e+00 -5.901960730552673340e-01 9.899802207946777344e-01 6.552838683128356934e-01 1.000000000000000000e+00 -5.980392098426818848e-01 9.881654977798461914e-01 6.506183147430419922e-01 1.000000000000000000e+00 -6.058823466300964355e-01 9.862007498741149902e-01 6.459280848503112793e-01 1.000000000000000000e+00 -6.137254834175109863e-01 9.840863347053527832e-01 6.412132978439331055e-01 1.000000000000000000e+00 -6.215686202049255371e-01 9.818225502967834473e-01 6.364742517471313477e-01 1.000000000000000000e+00 -6.294117569923400879e-01 9.794097542762756348e-01 6.317110061645507812e-01 1.000000000000000000e+00 -6.372548937797546387e-01 9.768483042716979980e-01 6.269237995147705078e-01 1.000000000000000000e+00 -6.450980305671691895e-01 9.741386175155639648e-01 6.221128106117248535e-01 1.000000000000000000e+00 -6.529411673545837402e-01 9.712810516357421875e-01 6.172782182693481445e-01 1.000000000000000000e+00 -6.607843041419982910e-01 9.682760238647460938e-01 6.124202013015747070e-01 1.000000000000000000e+00 -6.686274409294128418e-01 9.651240706443786621e-01 6.075389385223388672e-01 1.000000000000000000e+00 -6.764705777168273926e-01 9.618256688117980957e-01 6.026346087455749512e-01 1.000000000000000000e+00 -6.843137145042419434e-01 9.583812355995178223e-01 5.977074503898620605e-01 1.000000000000000000e+00 -6.921568512916564941e-01 9.547913074493408203e-01 5.927575826644897461e-01 1.000000000000000000e+00 -6.999999880790710449e-01 9.510565400123596191e-01 5.877852439880371094e-01 1.000000000000000000e+00 -7.078431248664855957e-01 9.471773505210876465e-01 5.827906131744384766e-01 1.000000000000000000e+00 -7.156862616539001465e-01 9.431544542312622070e-01 5.777738094329833984e-01 1.000000000000000000e+00 -7.235293984413146973e-01 9.389883875846862793e-01 5.727351307868957520e-01 1.000000000000000000e+00 -7.313725352287292480e-01 9.346797466278076172e-01 5.676746964454650879e-01 1.000000000000000000e+00 -7.392156720161437988e-01 9.302293062210083008e-01 5.625927448272705078e-01 1.000000000000000000e+00 -7.470588088035583496e-01 9.256376624107360840e-01 5.574894547462463379e-01 1.000000000000000000e+00 -7.549019455909729004e-01 9.209055304527282715e-01 5.523649454116821289e-01 1.000000000000000000e+00 -7.627450823783874512e-01 9.160336256027221680e-01 5.472195744514465332e-01 1.000000000000000000e+00 -7.705882191658020020e-01 9.110226631164550781e-01 5.420533418655395508e-01 1.000000000000000000e+00 -7.784313559532165527e-01 9.058734178543090820e-01 5.368666052818298340e-01 1.000000000000000000e+00 -7.862744927406311035e-01 9.005867242813110352e-01 5.316594839096069336e-01 1.000000000000000000e+00 -7.941176295280456543e-01 8.951632976531982422e-01 5.264321565628051758e-01 1.000000000000000000e+00 -8.019607663154602051e-01 8.896040320396423340e-01 5.211848616600036621e-01 1.000000000000000000e+00 -8.098039031028747559e-01 8.839097023010253906e-01 5.159178376197814941e-01 1.000000000000000000e+00 -8.176470398902893066e-01 8.780812621116638184e-01 5.106312036514282227e-01 1.000000000000000000e+00 -8.254901766777038574e-01 8.721194863319396973e-01 5.053251981735229492e-01 1.000000000000000000e+00 -8.333333134651184082e-01 8.660253882408142090e-01 5.000000000000000000e-01 1.000000000000000000e+00 -8.411764502525329590e-01 8.597998619079589844e-01 4.946558475494384766e-01 1.000000000000000000e+00 -8.490195870399475098e-01 8.534438014030456543e-01 4.892929196357727051e-01 1.000000000000000000e+00 -8.568627238273620605e-01 8.469582200050354004e-01 4.839114248752593994e-01 1.000000000000000000e+00 -8.647058606147766113e-01 8.403440713882446289e-01 4.785115718841552734e-01 1.000000000000000000e+00 -8.725489974021911621e-01 8.336023688316345215e-01 4.730935692787170410e-01 1.000000000000000000e+00 -8.803921341896057129e-01 8.267341852188110352e-01 4.676575958728790283e-01 1.000000000000000000e+00 -8.882352709770202637e-01 8.197404742240905762e-01 4.622038900852203369e-01 1.000000000000000000e+00 -8.960784077644348145e-01 8.126223683357238770e-01 4.567326307296752930e-01 1.000000000000000000e+00 -9.039215445518493652e-01 8.053809404373168945e-01 4.512440562248229980e-01 1.000000000000000000e+00 -9.117646813392639160e-01 7.980172038078308105e-01 4.457383453845977783e-01 1.000000000000000000e+00 -9.196078181266784668e-01 7.905324101448059082e-01 4.402157366275787354e-01 1.000000000000000000e+00 -9.274509549140930176e-01 7.829276323318481445e-01 4.346764087677001953e-01 1.000000000000000000e+00 -9.352940917015075684e-01 7.752040028572082520e-01 4.291206002235412598e-01 1.000000000000000000e+00 -9.431372284889221191e-01 7.673626542091369629e-01 4.235485196113586426e-01 1.000000000000000000e+00 -9.509803652763366699e-01 7.594048976898193359e-01 4.179603457450866699e-01 1.000000000000000000e+00 -9.588235020637512207e-01 7.513318657875061035e-01 4.123563170433044434e-01 1.000000000000000000e+00 -9.666666388511657715e-01 7.431448101997375488e-01 4.067366421222686768e-01 1.000000000000000000e+00 -9.745097756385803223e-01 7.348449826240539551e-01 4.011015295982360840e-01 1.000000000000000000e+00 -9.823529124259948730e-01 7.264335751533508301e-01 3.954512178897857666e-01 1.000000000000000000e+00 -9.901960492134094238e-01 7.179118990898132324e-01 3.897858858108520508e-01 1.000000000000000000e+00 -9.980391860008239746e-01 7.092813253402709961e-01 3.841057419776916504e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.005430459976196289e-01 3.784110546112060547e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.916984319686889648e-01 3.727020025253295898e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.827488541603088379e-01 3.669787943363189697e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.736956238746643066e-01 3.612416684627532959e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.645401716232299805e-01 3.554908335208892822e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.552838683128356934e-01 3.497264981269836426e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.459280848503112793e-01 3.439489305019378662e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.364742517471313477e-01 3.381582796573638916e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.269237995147705078e-01 3.323548138141632080e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.172782182693481445e-01 3.265387117862701416e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.075389385223388672e-01 3.207102417945861816e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.977074503898620605e-01 3.148695826530456543e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.877852439880371094e-01 3.090170025825500488e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.777738094329833984e-01 3.031526803970336914e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.676746964454650879e-01 2.972768545150756836e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.574894547462463379e-01 2.913897335529327393e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.472195744514465332e-01 2.854915857315063477e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.368666052818298340e-01 2.795825898647308350e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.264321565628051758e-01 2.736629843711853027e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.159178376197814941e-01 2.677330076694488525e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.053251981735229492e-01 2.617928683757781982e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.946558475494384766e-01 2.558427751064300537e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.839114248752593994e-01 2.498829960823059082e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.730935692787170410e-01 2.439137250185012817e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.622038900852203369e-01 2.379352003335952759e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.512440562248229980e-01 2.319476455450057983e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.402157366275787354e-01 2.259512841701507568e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.291206002235412598e-01 2.199463546276092529e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.179603457450866699e-01 2.139330804347991943e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.067366421222686768e-01 2.079116851091384888e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.954512178897857666e-01 2.018824070692062378e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.841057419776916504e-01 1.958454698324203491e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.727020025253295898e-01 1.898010969161987305e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.612416684627532959e-01 1.837495118379592896e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.497264981269836426e-01 1.776909679174423218e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.381582796573638916e-01 1.716256737709045410e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.265387117862701416e-01 1.655538827180862427e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.148695826530456543e-01 1.594757884740829468e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.031526803970336914e-01 1.533916592597961426e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.913897335529327393e-01 1.473017036914825439e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.795825898647308350e-01 1.412061452865600586e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.677330076694488525e-01 1.351052522659301758e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.558427751064300537e-01 1.289992183446884155e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.439137250185012817e-01 1.228882893919944763e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.319476455450057983e-01 1.167727038264274597e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.199463546276092529e-01 1.106526851654052734e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.079116851091384888e-01 1.045284643769264221e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.958454698324203491e-01 9.840027987957000732e-02 1.000000000000000000e+00 -1.000000000000000000e+00 1.837495118379592896e-01 9.226836264133453369e-02 1.000000000000000000e+00 -1.000000000000000000e+00 1.716256737709045410e-01 8.613293617963790894e-02 1.000000000000000000e+00 -1.000000000000000000e+00 1.594757884740829468e-01 7.999425381422042847e-02 1.000000000000000000e+00 -1.000000000000000000e+00 1.473017036914825439e-01 7.385252416133880615e-02 1.000000000000000000e+00 -1.000000000000000000e+00 1.351052522659301758e-01 6.770800054073333740e-02 1.000000000000000000e+00 -1.000000000000000000e+00 1.228882893919944763e-01 6.156090646982192993e-02 1.000000000000000000e+00 -1.000000000000000000e+00 1.106526851654052734e-01 5.541147664189338684e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.840027987957000732e-02 4.925994202494621277e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.613293617963790894e-02 4.310653731226921082e-02 1.000000000000000000e+00 -1.000000000000000000e+00 7.385252416133880615e-02 3.695150092244148254e-02 1.000000000000000000e+00 -1.000000000000000000e+00 6.156090646982192993e-02 3.079505823552608490e-02 1.000000000000000000e+00 -1.000000000000000000e+00 4.925994202494621277e-02 2.463744953274726868e-02 1.000000000000000000e+00 -1.000000000000000000e+00 3.695150092244148254e-02 1.847890578210353851e-02 1.000000000000000000e+00 -1.000000000000000000e+00 2.463744953274726868e-02 1.231965981423854828e-02 1.000000000000000000e+00 -1.000000000000000000e+00 1.231965981423854828e-02 6.159946788102388382e-03 1.000000000000000000e+00 -1.000000000000000000e+00 1.224646852585167854e-16 6.123234262925839272e-17 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/seismic b/fastplotlib/utils/colormaps/seismic deleted file mode 100644 index d66ad3a88..000000000 --- a/fastplotlib/utils/colormaps/seismic +++ /dev/null @@ -1,256 +0,0 @@ -0.000000000000000000e+00 0.000000000000000000e+00 3.000000119209289551e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 3.109803795814514160e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 3.219607770442962646e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 3.329411745071411133e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 3.439215719699859619e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 3.549019694328308105e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 3.658823668956756592e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 3.768627345561981201e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 3.878431320190429688e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 3.988235294818878174e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 4.098039269447326660e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 4.207843244075775146e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 4.317646920680999756e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 4.427450895309448242e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 4.537254869937896729e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 4.647058844566345215e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 4.756862819194793701e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 4.866666793823242188e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 4.976470470428466797e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 5.086274743080139160e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 5.196078419685363770e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 5.305882096290588379e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 5.415686368942260742e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 5.525490045547485352e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 5.635294318199157715e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 5.745097994804382324e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 5.854901671409606934e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 5.964705944061279297e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 6.074509620666503906e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 6.184313893318176270e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 6.294117569923400879e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 6.403921842575073242e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 6.513725519180297852e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 6.623529195785522461e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 6.733333468437194824e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 6.843137145042419434e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 6.952941417694091797e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.062745094299316406e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.172548770904541016e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.282353043556213379e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.392156720161437988e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.501960992813110352e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.611764669418334961e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.721568346023559570e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.831372618675231934e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 7.941176295280456543e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.050980567932128906e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.160784244537353516e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.270588517189025879e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.380392193794250488e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.490195870399475098e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.600000143051147461e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.709803819656372070e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.819608092308044434e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 8.929411768913269043e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 9.039215445518493652e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 9.149019718170166016e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 9.258823394775390625e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 9.368627667427062988e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 9.478431344032287598e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 9.588235020637512207e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 9.698039293289184570e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 9.807842969894409180e-01 1.000000000000000000e+00 -0.000000000000000000e+00 0.000000000000000000e+00 9.917647242546081543e-01 1.000000000000000000e+00 -3.921568859368562698e-03 3.921568859368562698e-03 1.000000000000000000e+00 1.000000000000000000e+00 -1.960784383118152618e-02 1.960784383118152618e-02 1.000000000000000000e+00 1.000000000000000000e+00 -3.529411926865577698e-02 3.529411926865577698e-02 1.000000000000000000e+00 1.000000000000000000e+00 -5.098039284348487854e-02 5.098039284348487854e-02 1.000000000000000000e+00 1.000000000000000000e+00 -6.666667014360427856e-02 6.666667014360427856e-02 1.000000000000000000e+00 1.000000000000000000e+00 -8.235294371843338013e-02 8.235294371843338013e-02 1.000000000000000000e+00 1.000000000000000000e+00 -9.803921729326248169e-02 9.803921729326248169e-02 1.000000000000000000e+00 1.000000000000000000e+00 -1.137254908680915833e-01 1.137254908680915833e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.294117718935012817e-01 1.294117718935012817e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.450980454683303833e-01 1.450980454683303833e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.607843190431594849e-01 1.607843190431594849e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.764705926179885864e-01 1.764705926179885864e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.921568661928176880e-01 1.921568661928176880e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.078431397676467896e-01 2.078431397676467896e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.235294133424758911e-01 2.235294133424758911e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.392156869173049927e-01 2.392156869173049927e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.549019753932952881e-01 2.549019753932952881e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.705882489681243896e-01 2.705882489681243896e-01 1.000000000000000000e+00 1.000000000000000000e+00 -2.862745225429534912e-01 2.862745225429534912e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.019607961177825928e-01 3.019607961177825928e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.176470696926116943e-01 3.176470696926116943e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.333333432674407959e-01 3.333333432674407959e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.490196168422698975e-01 3.490196168422698975e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.647058904170989990e-01 3.647058904170989990e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.803921639919281006e-01 3.803921639919281006e-01 1.000000000000000000e+00 1.000000000000000000e+00 -3.960784375667572021e-01 3.960784375667572021e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.117647111415863037e-01 4.117647111415863037e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.274509847164154053e-01 4.274509847164154053e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.431372582912445068e-01 4.431372582912445068e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.588235318660736084e-01 4.588235318660736084e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.745098054409027100e-01 4.745098054409027100e-01 1.000000000000000000e+00 1.000000000000000000e+00 -4.901960790157318115e-01 4.901960790157318115e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.058823823928833008e-01 5.058823823928833008e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.215686559677124023e-01 5.215686559677124023e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.372549295425415039e-01 5.372549295425415039e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.529412031173706055e-01 5.529412031173706055e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.686274766921997070e-01 5.686274766921997070e-01 1.000000000000000000e+00 1.000000000000000000e+00 -5.843137502670288086e-01 5.843137502670288086e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.000000238418579102e-01 6.000000238418579102e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.156862974166870117e-01 6.156862974166870117e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.313725709915161133e-01 6.313725709915161133e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.470588445663452148e-01 6.470588445663452148e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.627451181411743164e-01 6.627451181411743164e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.784313917160034180e-01 6.784313917160034180e-01 1.000000000000000000e+00 1.000000000000000000e+00 -6.941176652908325195e-01 6.941176652908325195e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.098039388656616211e-01 7.098039388656616211e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.254902124404907227e-01 7.254902124404907227e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.411764860153198242e-01 7.411764860153198242e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.568627595901489258e-01 7.568627595901489258e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.725490331649780273e-01 7.725490331649780273e-01 1.000000000000000000e+00 1.000000000000000000e+00 -7.882353067398071289e-01 7.882353067398071289e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.039215803146362305e-01 8.039215803146362305e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.196078538894653320e-01 8.196078538894653320e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.352941274642944336e-01 8.352941274642944336e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.509804010391235352e-01 8.509804010391235352e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.666666746139526367e-01 8.666666746139526367e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.823529481887817383e-01 8.823529481887817383e-01 1.000000000000000000e+00 1.000000000000000000e+00 -8.980392217636108398e-01 8.980392217636108398e-01 1.000000000000000000e+00 1.000000000000000000e+00 -9.137254953384399414e-01 9.137254953384399414e-01 1.000000000000000000e+00 1.000000000000000000e+00 -9.294117689132690430e-01 9.294117689132690430e-01 1.000000000000000000e+00 1.000000000000000000e+00 -9.450980424880981445e-01 9.450980424880981445e-01 1.000000000000000000e+00 1.000000000000000000e+00 -9.607843160629272461e-01 9.607843160629272461e-01 1.000000000000000000e+00 1.000000000000000000e+00 -9.764705896377563477e-01 9.764705896377563477e-01 1.000000000000000000e+00 1.000000000000000000e+00 -9.921568632125854492e-01 9.921568632125854492e-01 1.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 9.921568632125854492e-01 9.921568632125854492e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.764705896377563477e-01 9.764705896377563477e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.607843160629272461e-01 9.607843160629272461e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.450980424880981445e-01 9.450980424880981445e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.294117689132690430e-01 9.294117689132690430e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.137254953384399414e-01 9.137254953384399414e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.980392217636108398e-01 8.980392217636108398e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.823529481887817383e-01 8.823529481887817383e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.666666746139526367e-01 8.666666746139526367e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.509804010391235352e-01 8.509804010391235352e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.352941274642944336e-01 8.352941274642944336e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.196078538894653320e-01 8.196078538894653320e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.039215803146362305e-01 8.039215803146362305e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.882353067398071289e-01 7.882353067398071289e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.725490331649780273e-01 7.725490331649780273e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.568627595901489258e-01 7.568627595901489258e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.411764860153198242e-01 7.411764860153198242e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.254902124404907227e-01 7.254902124404907227e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.098039388656616211e-01 7.098039388656616211e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.941176652908325195e-01 6.941176652908325195e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.784313917160034180e-01 6.784313917160034180e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.627451181411743164e-01 6.627451181411743164e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.470588445663452148e-01 6.470588445663452148e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.313725709915161133e-01 6.313725709915161133e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.156862974166870117e-01 6.156862974166870117e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.000000238418579102e-01 6.000000238418579102e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.843137502670288086e-01 5.843137502670288086e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.686274766921997070e-01 5.686274766921997070e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.529412031173706055e-01 5.529412031173706055e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.372549295425415039e-01 5.372549295425415039e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.215686559677124023e-01 5.215686559677124023e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.058823823928833008e-01 5.058823823928833008e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.901960790157318115e-01 4.901960790157318115e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.745098054409027100e-01 4.745098054409027100e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.588235318660736084e-01 4.588235318660736084e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.431372582912445068e-01 4.431372582912445068e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.274509847164154053e-01 4.274509847164154053e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.117647111415863037e-01 4.117647111415863037e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.960784375667572021e-01 3.960784375667572021e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.803921639919281006e-01 3.803921639919281006e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.647058904170989990e-01 3.647058904170989990e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.490196168422698975e-01 3.490196168422698975e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.333333432674407959e-01 3.333333432674407959e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.176470696926116943e-01 3.176470696926116943e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.019607961177825928e-01 3.019607961177825928e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.862745225429534912e-01 2.862745225429534912e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.705882489681243896e-01 2.705882489681243896e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.549019753932952881e-01 2.549019753932952881e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.392156869173049927e-01 2.392156869173049927e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.235294133424758911e-01 2.235294133424758911e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.078431397676467896e-01 2.078431397676467896e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.921568661928176880e-01 1.921568661928176880e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.764705926179885864e-01 1.764705926179885864e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.607843190431594849e-01 1.607843190431594849e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.450980454683303833e-01 1.450980454683303833e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.294117718935012817e-01 1.294117718935012817e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.137254908680915833e-01 1.137254908680915833e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.803921729326248169e-02 9.803921729326248169e-02 1.000000000000000000e+00 -1.000000000000000000e+00 8.235294371843338013e-02 8.235294371843338013e-02 1.000000000000000000e+00 -1.000000000000000000e+00 6.666667014360427856e-02 6.666667014360427856e-02 1.000000000000000000e+00 -1.000000000000000000e+00 5.098039284348487854e-02 5.098039284348487854e-02 1.000000000000000000e+00 -1.000000000000000000e+00 3.529411926865577698e-02 3.529411926865577698e-02 1.000000000000000000e+00 -1.000000000000000000e+00 1.960784383118152618e-02 1.960784383118152618e-02 1.000000000000000000e+00 -1.000000000000000000e+00 3.921568859368562698e-03 3.921568859368562698e-03 1.000000000000000000e+00 -9.941176176071166992e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.862744808197021484e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.784313440322875977e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.705882072448730469e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.627450704574584961e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.549019336700439453e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.470587968826293945e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.392156600952148438e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.313725233078002930e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.235293865203857422e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.156862497329711914e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -9.078431129455566406e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.999999761581420898e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.921568393707275391e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.843137025833129883e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.764705657958984375e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.686274290084838867e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.607842922210693359e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.529411554336547852e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.450980186462402344e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.372548818588256836e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.294117450714111328e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.215686082839965820e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.137254714965820312e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -8.058823347091674805e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.980391979217529297e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.901960611343383789e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.823529243469238281e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.745097875595092773e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.666666507720947266e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.588235139846801758e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.509803771972656250e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.431372404098510742e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.352941036224365234e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.274509668350219727e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.196078300476074219e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.117646932601928711e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -7.039215564727783203e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.960784196853637695e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.882352828979492188e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.803921461105346680e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.725490093231201172e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.647058725357055664e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.568627357482910156e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.490195989608764648e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.411764621734619141e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.333333253860473633e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.254901885986328125e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.176470518112182617e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.098039150238037109e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -6.019607782363891602e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.941176414489746094e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.862745046615600586e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.784313678741455078e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.705882310867309570e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.627450942993164062e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.549019575119018555e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.470588207244873047e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.392156839370727539e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.313725471496582031e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.235294103622436523e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.156862735748291016e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.078431367874145508e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 -5.000000000000000000e-01 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/spring b/fastplotlib/utils/colormaps/spring deleted file mode 100644 index fcec30dc6..000000000 --- a/fastplotlib/utils/colormaps/spring +++ /dev/null @@ -1,256 +0,0 @@ -1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -1.000000000000000000e+00 3.921568859368562698e-03 9.960784316062927246e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.843137718737125397e-03 9.921568632125854492e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.176470611244440079e-02 9.882352948188781738e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.568627543747425079e-02 9.843137264251708984e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.960784383118152618e-02 9.803921580314636230e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.352941222488880157e-02 9.764705896377563477e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.745098061859607697e-02 9.725490212440490723e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.137255087494850159e-02 9.686274528503417969e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.529411926865577698e-02 9.647058844566345215e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.921568766236305237e-02 9.607843160629272461e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.313725605607032776e-02 9.568627476692199707e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.705882444977760315e-02 9.529411792755126953e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.098039284348487854e-02 9.490196108818054199e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.490196123719215393e-02 9.450980424880981445e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.882352963089942932e-02 9.411764740943908691e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.274510174989700317e-02 9.372549057006835938e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.666667014360427856e-02 9.333333373069763184e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.058823853731155396e-02 9.294117689132690430e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.450980693101882935e-02 9.254902005195617676e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.843137532472610474e-02 9.215686321258544922e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.235294371843338013e-02 9.176470637321472168e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.627451211214065552e-02 9.137254953384399414e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.019608050584793091e-02 9.098039269447326660e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.411764889955520630e-02 9.058823585510253906e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.803921729326248169e-02 9.019607901573181152e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.019607856869697571e-01 8.980392217636108398e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.058823540806770325e-01 8.941176533699035645e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.098039224743843079e-01 8.901960849761962891e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.137254908680915833e-01 8.862745165824890137e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.176470592617988586e-01 8.823529481887817383e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.215686276555061340e-01 8.784313797950744629e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.254902034997940063e-01 8.745098114013671875e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.294117718935012817e-01 8.705882430076599121e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.333333402872085571e-01 8.666666746139526367e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.372549086809158325e-01 8.627451062202453613e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.411764770746231079e-01 8.588235378265380859e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.450980454683303833e-01 8.549019694328308105e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.490196138620376587e-01 8.509804010391235352e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.529411822557449341e-01 8.470588326454162598e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.568627506494522095e-01 8.431372642517089844e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.607843190431594849e-01 8.392156958580017090e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.647058874368667603e-01 8.352941274642944336e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.686274558305740356e-01 8.313725590705871582e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.725490242242813110e-01 8.274509906768798828e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.764705926179885864e-01 8.235294222831726074e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.803921610116958618e-01 8.196078538894653320e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.843137294054031372e-01 8.156862854957580566e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.882352977991104126e-01 8.117647171020507812e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.921568661928176880e-01 8.078431487083435059e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.960784345865249634e-01 8.039215803146362305e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.000000029802322388e-01 8.000000119209289551e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.039215713739395142e-01 7.960784435272216797e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.078431397676467896e-01 7.921568751335144043e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.117647081613540649e-01 7.882353067398071289e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.156862765550613403e-01 7.843137383460998535e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.196078449487686157e-01 7.803921699523925781e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.235294133424758911e-01 7.764706015586853027e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.274509817361831665e-01 7.725490331649780273e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.313725501298904419e-01 7.686274647712707520e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.352941185235977173e-01 7.647058963775634766e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.392156869173049927e-01 7.607843279838562012e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.431372553110122681e-01 7.568627595901489258e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.470588237047195435e-01 7.529411911964416504e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.509804069995880127e-01 7.490196228027343750e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.549019753932952881e-01 7.450980544090270996e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.588235437870025635e-01 7.411764860153198242e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.627451121807098389e-01 7.372549176216125488e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.666666805744171143e-01 7.333333492279052734e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.705882489681243896e-01 7.294117808341979980e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.745098173618316650e-01 7.254902124404907227e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.784313857555389404e-01 7.215686440467834473e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.823529541492462158e-01 7.176470756530761719e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.862745225429534912e-01 7.137255072593688965e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.901960909366607666e-01 7.098039388656616211e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.941176593303680420e-01 7.058823704719543457e-01 1.000000000000000000e+00 -1.000000000000000000e+00 2.980392277240753174e-01 7.019608020782470703e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.019607961177825928e-01 6.980392336845397949e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.058823645114898682e-01 6.941176652908325195e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.098039329051971436e-01 6.901960968971252441e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.137255012989044189e-01 6.862745285034179688e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.176470696926116943e-01 6.823529601097106934e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.215686380863189697e-01 6.784313917160034180e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.254902064800262451e-01 6.745098233222961426e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.294117748737335205e-01 6.705882549285888672e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.333333432674407959e-01 6.666666865348815918e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.372549116611480713e-01 6.627451181411743164e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.411764800548553467e-01 6.588235497474670410e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.450980484485626221e-01 6.549019813537597656e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.490196168422698975e-01 6.509804129600524902e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.529411852359771729e-01 6.470588445663452148e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.568627536296844482e-01 6.431372761726379395e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.607843220233917236e-01 6.392157077789306641e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.647058904170989990e-01 6.352941393852233887e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.686274588108062744e-01 6.313725709915161133e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.725490272045135498e-01 6.274510025978088379e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.764705955982208252e-01 6.235294342041015625e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.803921639919281006e-01 6.196078658103942871e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.843137323856353760e-01 6.156862974166870117e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.882353007793426514e-01 6.117647290229797363e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.921568691730499268e-01 6.078431606292724609e-01 1.000000000000000000e+00 -1.000000000000000000e+00 3.960784375667572021e-01 6.039215922355651855e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.000000059604644775e-01 6.000000238418579102e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.039215743541717529e-01 5.960784554481506348e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.078431427478790283e-01 5.921568870544433594e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.117647111415863037e-01 5.882353186607360840e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.156862795352935791e-01 5.843137502670288086e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.196078479290008545e-01 5.803921818733215332e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.235294163227081299e-01 5.764706134796142578e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.274509847164154053e-01 5.725490450859069824e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.313725531101226807e-01 5.686274766921997070e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.352941215038299561e-01 5.647059082984924316e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.392156898975372314e-01 5.607843399047851562e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.431372582912445068e-01 5.568627715110778809e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.470588266849517822e-01 5.529412031173706055e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.509803950786590576e-01 5.490196347236633301e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.549019634723663330e-01 5.450980663299560547e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.588235318660736084e-01 5.411764979362487793e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.627451002597808838e-01 5.372549295425415039e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.666666686534881592e-01 5.333333611488342285e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.705882370471954346e-01 5.294117927551269531e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.745098054409027100e-01 5.254902243614196777e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.784313738346099854e-01 5.215686559677124023e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.823529422283172607e-01 5.176470875740051270e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.862745106220245361e-01 5.137255191802978516e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.901960790157318115e-01 5.098039507865905762e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.941176474094390869e-01 5.058823823928833008e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.980392158031463623e-01 5.019608139991760254e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.019608139991760254e-01 4.980392158031463623e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.058823823928833008e-01 4.941176474094390869e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.098039507865905762e-01 4.901960790157318115e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.137255191802978516e-01 4.862745106220245361e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.176470875740051270e-01 4.823529422283172607e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.215686559677124023e-01 4.784313738346099854e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.254902243614196777e-01 4.745098054409027100e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.294117927551269531e-01 4.705882370471954346e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.333333611488342285e-01 4.666666686534881592e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.372549295425415039e-01 4.627451002597808838e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.411764979362487793e-01 4.588235318660736084e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.450980663299560547e-01 4.549019634723663330e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.490196347236633301e-01 4.509803950786590576e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.529412031173706055e-01 4.470588266849517822e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.568627715110778809e-01 4.431372582912445068e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.607843399047851562e-01 4.392156898975372314e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.647059082984924316e-01 4.352941215038299561e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.686274766921997070e-01 4.313725531101226807e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.725490450859069824e-01 4.274509847164154053e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.764706134796142578e-01 4.235294163227081299e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.803921818733215332e-01 4.196078479290008545e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.843137502670288086e-01 4.156862795352935791e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.882353186607360840e-01 4.117647111415863037e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.921568870544433594e-01 4.078431427478790283e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.960784554481506348e-01 4.039215743541717529e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.000000238418579102e-01 4.000000059604644775e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.039215922355651855e-01 3.960784375667572021e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.078431606292724609e-01 3.921568691730499268e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.117647290229797363e-01 3.882353007793426514e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.156862974166870117e-01 3.843137323856353760e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.196078658103942871e-01 3.803921639919281006e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.235294342041015625e-01 3.764705955982208252e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.274510025978088379e-01 3.725490272045135498e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.313725709915161133e-01 3.686274588108062744e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.352941393852233887e-01 3.647058904170989990e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.392157077789306641e-01 3.607843220233917236e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.431372761726379395e-01 3.568627536296844482e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.470588445663452148e-01 3.529411852359771729e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.509804129600524902e-01 3.490196168422698975e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.549019813537597656e-01 3.450980484485626221e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.588235497474670410e-01 3.411764800548553467e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.627451181411743164e-01 3.372549116611480713e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.666666865348815918e-01 3.333333432674407959e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.705882549285888672e-01 3.294117748737335205e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.745098233222961426e-01 3.254902064800262451e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.784313917160034180e-01 3.215686380863189697e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.823529601097106934e-01 3.176470696926116943e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.862745285034179688e-01 3.137255012989044189e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.901960968971252441e-01 3.098039329051971436e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.941176652908325195e-01 3.058823645114898682e-01 1.000000000000000000e+00 -1.000000000000000000e+00 6.980392336845397949e-01 3.019607961177825928e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.019608020782470703e-01 2.980392277240753174e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.058823704719543457e-01 2.941176593303680420e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.098039388656616211e-01 2.901960909366607666e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.137255072593688965e-01 2.862745225429534912e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.176470756530761719e-01 2.823529541492462158e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.215686440467834473e-01 2.784313857555389404e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.254902124404907227e-01 2.745098173618316650e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.294117808341979980e-01 2.705882489681243896e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.333333492279052734e-01 2.666666805744171143e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.372549176216125488e-01 2.627451121807098389e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.411764860153198242e-01 2.588235437870025635e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.450980544090270996e-01 2.549019753932952881e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.490196228027343750e-01 2.509804069995880127e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.529411911964416504e-01 2.470588237047195435e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.568627595901489258e-01 2.431372553110122681e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.607843279838562012e-01 2.392156869173049927e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.647058963775634766e-01 2.352941185235977173e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.686274647712707520e-01 2.313725501298904419e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.725490331649780273e-01 2.274509817361831665e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.764706015586853027e-01 2.235294133424758911e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.803921699523925781e-01 2.196078449487686157e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.843137383460998535e-01 2.156862765550613403e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.882353067398071289e-01 2.117647081613540649e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.921568751335144043e-01 2.078431397676467896e-01 1.000000000000000000e+00 -1.000000000000000000e+00 7.960784435272216797e-01 2.039215713739395142e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.000000119209289551e-01 2.000000029802322388e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.039215803146362305e-01 1.960784345865249634e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.078431487083435059e-01 1.921568661928176880e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.117647171020507812e-01 1.882352977991104126e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.156862854957580566e-01 1.843137294054031372e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.196078538894653320e-01 1.803921610116958618e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.235294222831726074e-01 1.764705926179885864e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.274509906768798828e-01 1.725490242242813110e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.313725590705871582e-01 1.686274558305740356e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.352941274642944336e-01 1.647058874368667603e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.392156958580017090e-01 1.607843190431594849e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.431372642517089844e-01 1.568627506494522095e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.470588326454162598e-01 1.529411822557449341e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.509804010391235352e-01 1.490196138620376587e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.549019694328308105e-01 1.450980454683303833e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.588235378265380859e-01 1.411764770746231079e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.627451062202453613e-01 1.372549086809158325e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.666666746139526367e-01 1.333333402872085571e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.705882430076599121e-01 1.294117718935012817e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.745098114013671875e-01 1.254902034997940063e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.784313797950744629e-01 1.215686276555061340e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.823529481887817383e-01 1.176470592617988586e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.862745165824890137e-01 1.137254908680915833e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.901960849761962891e-01 1.098039224743843079e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.941176533699035645e-01 1.058823540806770325e-01 1.000000000000000000e+00 -1.000000000000000000e+00 8.980392217636108398e-01 1.019607856869697571e-01 1.000000000000000000e+00 -1.000000000000000000e+00 9.019607901573181152e-01 9.803921729326248169e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.058823585510253906e-01 9.411764889955520630e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.098039269447326660e-01 9.019608050584793091e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.137254953384399414e-01 8.627451211214065552e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.176470637321472168e-01 8.235294371843338013e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.215686321258544922e-01 7.843137532472610474e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.254902005195617676e-01 7.450980693101882935e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.294117689132690430e-01 7.058823853731155396e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.333333373069763184e-01 6.666667014360427856e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.372549057006835938e-01 6.274510174989700317e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.411764740943908691e-01 5.882352963089942932e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.450980424880981445e-01 5.490196123719215393e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.490196108818054199e-01 5.098039284348487854e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.529411792755126953e-01 4.705882444977760315e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.568627476692199707e-01 4.313725605607032776e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.607843160629272461e-01 3.921568766236305237e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.647058844566345215e-01 3.529411926865577698e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.686274528503417969e-01 3.137255087494850159e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.725490212440490723e-01 2.745098061859607697e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.764705896377563477e-01 2.352941222488880157e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.803921580314636230e-01 1.960784383118152618e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.843137264251708984e-01 1.568627543747425079e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.882352948188781738e-01 1.176470611244440079e-02 1.000000000000000000e+00 -1.000000000000000000e+00 9.921568632125854492e-01 7.843137718737125397e-03 1.000000000000000000e+00 -1.000000000000000000e+00 9.960784316062927246e-01 3.921568859368562698e-03 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/summer b/fastplotlib/utils/colormaps/summer deleted file mode 100644 index 6fab4e585..000000000 --- a/fastplotlib/utils/colormaps/summer +++ /dev/null @@ -1,256 +0,0 @@ -0.000000000000000000e+00 5.000000000000000000e-01 4.000000059604644775e-01 1.000000000000000000e+00 -3.921568859368562698e-03 5.019608139991760254e-01 4.000000059604644775e-01 1.000000000000000000e+00 -7.843137718737125397e-03 5.039215683937072754e-01 4.000000059604644775e-01 1.000000000000000000e+00 -1.176470611244440079e-02 5.058823823928833008e-01 4.000000059604644775e-01 1.000000000000000000e+00 -1.568627543747425079e-02 5.078431367874145508e-01 4.000000059604644775e-01 1.000000000000000000e+00 -1.960784383118152618e-02 5.098039507865905762e-01 4.000000059604644775e-01 1.000000000000000000e+00 -2.352941222488880157e-02 5.117647051811218262e-01 4.000000059604644775e-01 1.000000000000000000e+00 -2.745098061859607697e-02 5.137255191802978516e-01 4.000000059604644775e-01 1.000000000000000000e+00 -3.137255087494850159e-02 5.156862735748291016e-01 4.000000059604644775e-01 1.000000000000000000e+00 -3.529411926865577698e-02 5.176470875740051270e-01 4.000000059604644775e-01 1.000000000000000000e+00 -3.921568766236305237e-02 5.196078419685363770e-01 4.000000059604644775e-01 1.000000000000000000e+00 -4.313725605607032776e-02 5.215686559677124023e-01 4.000000059604644775e-01 1.000000000000000000e+00 -4.705882444977760315e-02 5.235294103622436523e-01 4.000000059604644775e-01 1.000000000000000000e+00 -5.098039284348487854e-02 5.254902243614196777e-01 4.000000059604644775e-01 1.000000000000000000e+00 -5.490196123719215393e-02 5.274509787559509277e-01 4.000000059604644775e-01 1.000000000000000000e+00 -5.882352963089942932e-02 5.294117927551269531e-01 4.000000059604644775e-01 1.000000000000000000e+00 -6.274510174989700317e-02 5.313725471496582031e-01 4.000000059604644775e-01 1.000000000000000000e+00 -6.666667014360427856e-02 5.333333611488342285e-01 4.000000059604644775e-01 1.000000000000000000e+00 -7.058823853731155396e-02 5.352941155433654785e-01 4.000000059604644775e-01 1.000000000000000000e+00 -7.450980693101882935e-02 5.372549295425415039e-01 4.000000059604644775e-01 1.000000000000000000e+00 -7.843137532472610474e-02 5.392156839370727539e-01 4.000000059604644775e-01 1.000000000000000000e+00 -8.235294371843338013e-02 5.411764979362487793e-01 4.000000059604644775e-01 1.000000000000000000e+00 -8.627451211214065552e-02 5.431372523307800293e-01 4.000000059604644775e-01 1.000000000000000000e+00 -9.019608050584793091e-02 5.450980663299560547e-01 4.000000059604644775e-01 1.000000000000000000e+00 -9.411764889955520630e-02 5.470588207244873047e-01 4.000000059604644775e-01 1.000000000000000000e+00 -9.803921729326248169e-02 5.490196347236633301e-01 4.000000059604644775e-01 1.000000000000000000e+00 -1.019607856869697571e-01 5.509803891181945801e-01 4.000000059604644775e-01 1.000000000000000000e+00 -1.058823540806770325e-01 5.529412031173706055e-01 4.000000059604644775e-01 1.000000000000000000e+00 -1.098039224743843079e-01 5.549019575119018555e-01 4.000000059604644775e-01 1.000000000000000000e+00 -1.137254908680915833e-01 5.568627715110778809e-01 4.000000059604644775e-01 1.000000000000000000e+00 -1.176470592617988586e-01 5.588235259056091309e-01 4.000000059604644775e-01 1.000000000000000000e+00 -1.215686276555061340e-01 5.607843399047851562e-01 4.000000059604644775e-01 1.000000000000000000e+00 -1.254902034997940063e-01 5.627450942993164062e-01 4.000000059604644775e-01 1.000000000000000000e+00 -1.294117718935012817e-01 5.647059082984924316e-01 4.000000059604644775e-01 1.000000000000000000e+00 -1.333333402872085571e-01 5.666666626930236816e-01 4.000000059604644775e-01 1.000000000000000000e+00 -1.372549086809158325e-01 5.686274766921997070e-01 4.000000059604644775e-01 1.000000000000000000e+00 -1.411764770746231079e-01 5.705882310867309570e-01 4.000000059604644775e-01 1.000000000000000000e+00 -1.450980454683303833e-01 5.725490450859069824e-01 4.000000059604644775e-01 1.000000000000000000e+00 -1.490196138620376587e-01 5.745097994804382324e-01 4.000000059604644775e-01 1.000000000000000000e+00 -1.529411822557449341e-01 5.764706134796142578e-01 4.000000059604644775e-01 1.000000000000000000e+00 -1.568627506494522095e-01 5.784313678741455078e-01 4.000000059604644775e-01 1.000000000000000000e+00 -1.607843190431594849e-01 5.803921818733215332e-01 4.000000059604644775e-01 1.000000000000000000e+00 -1.647058874368667603e-01 5.823529362678527832e-01 4.000000059604644775e-01 1.000000000000000000e+00 -1.686274558305740356e-01 5.843137502670288086e-01 4.000000059604644775e-01 1.000000000000000000e+00 -1.725490242242813110e-01 5.862745046615600586e-01 4.000000059604644775e-01 1.000000000000000000e+00 -1.764705926179885864e-01 5.882353186607360840e-01 4.000000059604644775e-01 1.000000000000000000e+00 -1.803921610116958618e-01 5.901960730552673340e-01 4.000000059604644775e-01 1.000000000000000000e+00 -1.843137294054031372e-01 5.921568870544433594e-01 4.000000059604644775e-01 1.000000000000000000e+00 -1.882352977991104126e-01 5.941176414489746094e-01 4.000000059604644775e-01 1.000000000000000000e+00 -1.921568661928176880e-01 5.960784554481506348e-01 4.000000059604644775e-01 1.000000000000000000e+00 -1.960784345865249634e-01 5.980392098426818848e-01 4.000000059604644775e-01 1.000000000000000000e+00 -2.000000029802322388e-01 6.000000238418579102e-01 4.000000059604644775e-01 1.000000000000000000e+00 -2.039215713739395142e-01 6.019607782363891602e-01 4.000000059604644775e-01 1.000000000000000000e+00 -2.078431397676467896e-01 6.039215922355651855e-01 4.000000059604644775e-01 1.000000000000000000e+00 -2.117647081613540649e-01 6.058823466300964355e-01 4.000000059604644775e-01 1.000000000000000000e+00 -2.156862765550613403e-01 6.078431606292724609e-01 4.000000059604644775e-01 1.000000000000000000e+00 -2.196078449487686157e-01 6.098039150238037109e-01 4.000000059604644775e-01 1.000000000000000000e+00 -2.235294133424758911e-01 6.117647290229797363e-01 4.000000059604644775e-01 1.000000000000000000e+00 -2.274509817361831665e-01 6.137254834175109863e-01 4.000000059604644775e-01 1.000000000000000000e+00 -2.313725501298904419e-01 6.156862974166870117e-01 4.000000059604644775e-01 1.000000000000000000e+00 -2.352941185235977173e-01 6.176470518112182617e-01 4.000000059604644775e-01 1.000000000000000000e+00 -2.392156869173049927e-01 6.196078658103942871e-01 4.000000059604644775e-01 1.000000000000000000e+00 -2.431372553110122681e-01 6.215686202049255371e-01 4.000000059604644775e-01 1.000000000000000000e+00 -2.470588237047195435e-01 6.235294342041015625e-01 4.000000059604644775e-01 1.000000000000000000e+00 -2.509804069995880127e-01 6.254901885986328125e-01 4.000000059604644775e-01 1.000000000000000000e+00 -2.549019753932952881e-01 6.274510025978088379e-01 4.000000059604644775e-01 1.000000000000000000e+00 -2.588235437870025635e-01 6.294117569923400879e-01 4.000000059604644775e-01 1.000000000000000000e+00 -2.627451121807098389e-01 6.313725709915161133e-01 4.000000059604644775e-01 1.000000000000000000e+00 -2.666666805744171143e-01 6.333333253860473633e-01 4.000000059604644775e-01 1.000000000000000000e+00 -2.705882489681243896e-01 6.352941393852233887e-01 4.000000059604644775e-01 1.000000000000000000e+00 -2.745098173618316650e-01 6.372548937797546387e-01 4.000000059604644775e-01 1.000000000000000000e+00 -2.784313857555389404e-01 6.392157077789306641e-01 4.000000059604644775e-01 1.000000000000000000e+00 -2.823529541492462158e-01 6.411764621734619141e-01 4.000000059604644775e-01 1.000000000000000000e+00 -2.862745225429534912e-01 6.431372761726379395e-01 4.000000059604644775e-01 1.000000000000000000e+00 -2.901960909366607666e-01 6.450980305671691895e-01 4.000000059604644775e-01 1.000000000000000000e+00 -2.941176593303680420e-01 6.470588445663452148e-01 4.000000059604644775e-01 1.000000000000000000e+00 -2.980392277240753174e-01 6.490195989608764648e-01 4.000000059604644775e-01 1.000000000000000000e+00 -3.019607961177825928e-01 6.509804129600524902e-01 4.000000059604644775e-01 1.000000000000000000e+00 -3.058823645114898682e-01 6.529411673545837402e-01 4.000000059604644775e-01 1.000000000000000000e+00 -3.098039329051971436e-01 6.549019813537597656e-01 4.000000059604644775e-01 1.000000000000000000e+00 -3.137255012989044189e-01 6.568627357482910156e-01 4.000000059604644775e-01 1.000000000000000000e+00 -3.176470696926116943e-01 6.588235497474670410e-01 4.000000059604644775e-01 1.000000000000000000e+00 -3.215686380863189697e-01 6.607843041419982910e-01 4.000000059604644775e-01 1.000000000000000000e+00 -3.254902064800262451e-01 6.627451181411743164e-01 4.000000059604644775e-01 1.000000000000000000e+00 -3.294117748737335205e-01 6.647058725357055664e-01 4.000000059604644775e-01 1.000000000000000000e+00 -3.333333432674407959e-01 6.666666865348815918e-01 4.000000059604644775e-01 1.000000000000000000e+00 -3.372549116611480713e-01 6.686274409294128418e-01 4.000000059604644775e-01 1.000000000000000000e+00 -3.411764800548553467e-01 6.705882549285888672e-01 4.000000059604644775e-01 1.000000000000000000e+00 -3.450980484485626221e-01 6.725490093231201172e-01 4.000000059604644775e-01 1.000000000000000000e+00 -3.490196168422698975e-01 6.745098233222961426e-01 4.000000059604644775e-01 1.000000000000000000e+00 -3.529411852359771729e-01 6.764705777168273926e-01 4.000000059604644775e-01 1.000000000000000000e+00 -3.568627536296844482e-01 6.784313917160034180e-01 4.000000059604644775e-01 1.000000000000000000e+00 -3.607843220233917236e-01 6.803921461105346680e-01 4.000000059604644775e-01 1.000000000000000000e+00 -3.647058904170989990e-01 6.823529601097106934e-01 4.000000059604644775e-01 1.000000000000000000e+00 -3.686274588108062744e-01 6.843137145042419434e-01 4.000000059604644775e-01 1.000000000000000000e+00 -3.725490272045135498e-01 6.862745285034179688e-01 4.000000059604644775e-01 1.000000000000000000e+00 -3.764705955982208252e-01 6.882352828979492188e-01 4.000000059604644775e-01 1.000000000000000000e+00 -3.803921639919281006e-01 6.901960968971252441e-01 4.000000059604644775e-01 1.000000000000000000e+00 -3.843137323856353760e-01 6.921568512916564941e-01 4.000000059604644775e-01 1.000000000000000000e+00 -3.882353007793426514e-01 6.941176652908325195e-01 4.000000059604644775e-01 1.000000000000000000e+00 -3.921568691730499268e-01 6.960784196853637695e-01 4.000000059604644775e-01 1.000000000000000000e+00 -3.960784375667572021e-01 6.980392336845397949e-01 4.000000059604644775e-01 1.000000000000000000e+00 -4.000000059604644775e-01 6.999999880790710449e-01 4.000000059604644775e-01 1.000000000000000000e+00 -4.039215743541717529e-01 7.019608020782470703e-01 4.000000059604644775e-01 1.000000000000000000e+00 -4.078431427478790283e-01 7.039215564727783203e-01 4.000000059604644775e-01 1.000000000000000000e+00 -4.117647111415863037e-01 7.058823704719543457e-01 4.000000059604644775e-01 1.000000000000000000e+00 -4.156862795352935791e-01 7.078431248664855957e-01 4.000000059604644775e-01 1.000000000000000000e+00 -4.196078479290008545e-01 7.098039388656616211e-01 4.000000059604644775e-01 1.000000000000000000e+00 -4.235294163227081299e-01 7.117646932601928711e-01 4.000000059604644775e-01 1.000000000000000000e+00 -4.274509847164154053e-01 7.137255072593688965e-01 4.000000059604644775e-01 1.000000000000000000e+00 -4.313725531101226807e-01 7.156862616539001465e-01 4.000000059604644775e-01 1.000000000000000000e+00 -4.352941215038299561e-01 7.176470756530761719e-01 4.000000059604644775e-01 1.000000000000000000e+00 -4.392156898975372314e-01 7.196078300476074219e-01 4.000000059604644775e-01 1.000000000000000000e+00 -4.431372582912445068e-01 7.215686440467834473e-01 4.000000059604644775e-01 1.000000000000000000e+00 -4.470588266849517822e-01 7.235293984413146973e-01 4.000000059604644775e-01 1.000000000000000000e+00 -4.509803950786590576e-01 7.254902124404907227e-01 4.000000059604644775e-01 1.000000000000000000e+00 -4.549019634723663330e-01 7.274509668350219727e-01 4.000000059604644775e-01 1.000000000000000000e+00 -4.588235318660736084e-01 7.294117808341979980e-01 4.000000059604644775e-01 1.000000000000000000e+00 -4.627451002597808838e-01 7.313725352287292480e-01 4.000000059604644775e-01 1.000000000000000000e+00 -4.666666686534881592e-01 7.333333492279052734e-01 4.000000059604644775e-01 1.000000000000000000e+00 -4.705882370471954346e-01 7.352941036224365234e-01 4.000000059604644775e-01 1.000000000000000000e+00 -4.745098054409027100e-01 7.372549176216125488e-01 4.000000059604644775e-01 1.000000000000000000e+00 -4.784313738346099854e-01 7.392156720161437988e-01 4.000000059604644775e-01 1.000000000000000000e+00 -4.823529422283172607e-01 7.411764860153198242e-01 4.000000059604644775e-01 1.000000000000000000e+00 -4.862745106220245361e-01 7.431372404098510742e-01 4.000000059604644775e-01 1.000000000000000000e+00 -4.901960790157318115e-01 7.450980544090270996e-01 4.000000059604644775e-01 1.000000000000000000e+00 -4.941176474094390869e-01 7.470588088035583496e-01 4.000000059604644775e-01 1.000000000000000000e+00 -4.980392158031463623e-01 7.490196228027343750e-01 4.000000059604644775e-01 1.000000000000000000e+00 -5.019608139991760254e-01 7.509803771972656250e-01 4.000000059604644775e-01 1.000000000000000000e+00 -5.058823823928833008e-01 7.529411911964416504e-01 4.000000059604644775e-01 1.000000000000000000e+00 -5.098039507865905762e-01 7.549019455909729004e-01 4.000000059604644775e-01 1.000000000000000000e+00 -5.137255191802978516e-01 7.568627595901489258e-01 4.000000059604644775e-01 1.000000000000000000e+00 -5.176470875740051270e-01 7.588235139846801758e-01 4.000000059604644775e-01 1.000000000000000000e+00 -5.215686559677124023e-01 7.607843279838562012e-01 4.000000059604644775e-01 1.000000000000000000e+00 -5.254902243614196777e-01 7.627450823783874512e-01 4.000000059604644775e-01 1.000000000000000000e+00 -5.294117927551269531e-01 7.647058963775634766e-01 4.000000059604644775e-01 1.000000000000000000e+00 -5.333333611488342285e-01 7.666666507720947266e-01 4.000000059604644775e-01 1.000000000000000000e+00 -5.372549295425415039e-01 7.686274647712707520e-01 4.000000059604644775e-01 1.000000000000000000e+00 -5.411764979362487793e-01 7.705882191658020020e-01 4.000000059604644775e-01 1.000000000000000000e+00 -5.450980663299560547e-01 7.725490331649780273e-01 4.000000059604644775e-01 1.000000000000000000e+00 -5.490196347236633301e-01 7.745097875595092773e-01 4.000000059604644775e-01 1.000000000000000000e+00 -5.529412031173706055e-01 7.764706015586853027e-01 4.000000059604644775e-01 1.000000000000000000e+00 -5.568627715110778809e-01 7.784313559532165527e-01 4.000000059604644775e-01 1.000000000000000000e+00 -5.607843399047851562e-01 7.803921699523925781e-01 4.000000059604644775e-01 1.000000000000000000e+00 -5.647059082984924316e-01 7.823529243469238281e-01 4.000000059604644775e-01 1.000000000000000000e+00 -5.686274766921997070e-01 7.843137383460998535e-01 4.000000059604644775e-01 1.000000000000000000e+00 -5.725490450859069824e-01 7.862744927406311035e-01 4.000000059604644775e-01 1.000000000000000000e+00 -5.764706134796142578e-01 7.882353067398071289e-01 4.000000059604644775e-01 1.000000000000000000e+00 -5.803921818733215332e-01 7.901960611343383789e-01 4.000000059604644775e-01 1.000000000000000000e+00 -5.843137502670288086e-01 7.921568751335144043e-01 4.000000059604644775e-01 1.000000000000000000e+00 -5.882353186607360840e-01 7.941176295280456543e-01 4.000000059604644775e-01 1.000000000000000000e+00 -5.921568870544433594e-01 7.960784435272216797e-01 4.000000059604644775e-01 1.000000000000000000e+00 -5.960784554481506348e-01 7.980391979217529297e-01 4.000000059604644775e-01 1.000000000000000000e+00 -6.000000238418579102e-01 8.000000119209289551e-01 4.000000059604644775e-01 1.000000000000000000e+00 -6.039215922355651855e-01 8.019607663154602051e-01 4.000000059604644775e-01 1.000000000000000000e+00 -6.078431606292724609e-01 8.039215803146362305e-01 4.000000059604644775e-01 1.000000000000000000e+00 -6.117647290229797363e-01 8.058823347091674805e-01 4.000000059604644775e-01 1.000000000000000000e+00 -6.156862974166870117e-01 8.078431487083435059e-01 4.000000059604644775e-01 1.000000000000000000e+00 -6.196078658103942871e-01 8.098039031028747559e-01 4.000000059604644775e-01 1.000000000000000000e+00 -6.235294342041015625e-01 8.117647171020507812e-01 4.000000059604644775e-01 1.000000000000000000e+00 -6.274510025978088379e-01 8.137254714965820312e-01 4.000000059604644775e-01 1.000000000000000000e+00 -6.313725709915161133e-01 8.156862854957580566e-01 4.000000059604644775e-01 1.000000000000000000e+00 -6.352941393852233887e-01 8.176470398902893066e-01 4.000000059604644775e-01 1.000000000000000000e+00 -6.392157077789306641e-01 8.196078538894653320e-01 4.000000059604644775e-01 1.000000000000000000e+00 -6.431372761726379395e-01 8.215686082839965820e-01 4.000000059604644775e-01 1.000000000000000000e+00 -6.470588445663452148e-01 8.235294222831726074e-01 4.000000059604644775e-01 1.000000000000000000e+00 -6.509804129600524902e-01 8.254901766777038574e-01 4.000000059604644775e-01 1.000000000000000000e+00 -6.549019813537597656e-01 8.274509906768798828e-01 4.000000059604644775e-01 1.000000000000000000e+00 -6.588235497474670410e-01 8.294117450714111328e-01 4.000000059604644775e-01 1.000000000000000000e+00 -6.627451181411743164e-01 8.313725590705871582e-01 4.000000059604644775e-01 1.000000000000000000e+00 -6.666666865348815918e-01 8.333333134651184082e-01 4.000000059604644775e-01 1.000000000000000000e+00 -6.705882549285888672e-01 8.352941274642944336e-01 4.000000059604644775e-01 1.000000000000000000e+00 -6.745098233222961426e-01 8.372548818588256836e-01 4.000000059604644775e-01 1.000000000000000000e+00 -6.784313917160034180e-01 8.392156958580017090e-01 4.000000059604644775e-01 1.000000000000000000e+00 -6.823529601097106934e-01 8.411764502525329590e-01 4.000000059604644775e-01 1.000000000000000000e+00 -6.862745285034179688e-01 8.431372642517089844e-01 4.000000059604644775e-01 1.000000000000000000e+00 -6.901960968971252441e-01 8.450980186462402344e-01 4.000000059604644775e-01 1.000000000000000000e+00 -6.941176652908325195e-01 8.470588326454162598e-01 4.000000059604644775e-01 1.000000000000000000e+00 -6.980392336845397949e-01 8.490195870399475098e-01 4.000000059604644775e-01 1.000000000000000000e+00 -7.019608020782470703e-01 8.509804010391235352e-01 4.000000059604644775e-01 1.000000000000000000e+00 -7.058823704719543457e-01 8.529411554336547852e-01 4.000000059604644775e-01 1.000000000000000000e+00 -7.098039388656616211e-01 8.549019694328308105e-01 4.000000059604644775e-01 1.000000000000000000e+00 -7.137255072593688965e-01 8.568627238273620605e-01 4.000000059604644775e-01 1.000000000000000000e+00 -7.176470756530761719e-01 8.588235378265380859e-01 4.000000059604644775e-01 1.000000000000000000e+00 -7.215686440467834473e-01 8.607842922210693359e-01 4.000000059604644775e-01 1.000000000000000000e+00 -7.254902124404907227e-01 8.627451062202453613e-01 4.000000059604644775e-01 1.000000000000000000e+00 -7.294117808341979980e-01 8.647058606147766113e-01 4.000000059604644775e-01 1.000000000000000000e+00 -7.333333492279052734e-01 8.666666746139526367e-01 4.000000059604644775e-01 1.000000000000000000e+00 -7.372549176216125488e-01 8.686274290084838867e-01 4.000000059604644775e-01 1.000000000000000000e+00 -7.411764860153198242e-01 8.705882430076599121e-01 4.000000059604644775e-01 1.000000000000000000e+00 -7.450980544090270996e-01 8.725489974021911621e-01 4.000000059604644775e-01 1.000000000000000000e+00 -7.490196228027343750e-01 8.745098114013671875e-01 4.000000059604644775e-01 1.000000000000000000e+00 -7.529411911964416504e-01 8.764705657958984375e-01 4.000000059604644775e-01 1.000000000000000000e+00 -7.568627595901489258e-01 8.784313797950744629e-01 4.000000059604644775e-01 1.000000000000000000e+00 -7.607843279838562012e-01 8.803921341896057129e-01 4.000000059604644775e-01 1.000000000000000000e+00 -7.647058963775634766e-01 8.823529481887817383e-01 4.000000059604644775e-01 1.000000000000000000e+00 -7.686274647712707520e-01 8.843137025833129883e-01 4.000000059604644775e-01 1.000000000000000000e+00 -7.725490331649780273e-01 8.862745165824890137e-01 4.000000059604644775e-01 1.000000000000000000e+00 -7.764706015586853027e-01 8.882352709770202637e-01 4.000000059604644775e-01 1.000000000000000000e+00 -7.803921699523925781e-01 8.901960849761962891e-01 4.000000059604644775e-01 1.000000000000000000e+00 -7.843137383460998535e-01 8.921568393707275391e-01 4.000000059604644775e-01 1.000000000000000000e+00 -7.882353067398071289e-01 8.941176533699035645e-01 4.000000059604644775e-01 1.000000000000000000e+00 -7.921568751335144043e-01 8.960784077644348145e-01 4.000000059604644775e-01 1.000000000000000000e+00 -7.960784435272216797e-01 8.980392217636108398e-01 4.000000059604644775e-01 1.000000000000000000e+00 -8.000000119209289551e-01 8.999999761581420898e-01 4.000000059604644775e-01 1.000000000000000000e+00 -8.039215803146362305e-01 9.019607901573181152e-01 4.000000059604644775e-01 1.000000000000000000e+00 -8.078431487083435059e-01 9.039215445518493652e-01 4.000000059604644775e-01 1.000000000000000000e+00 -8.117647171020507812e-01 9.058823585510253906e-01 4.000000059604644775e-01 1.000000000000000000e+00 -8.156862854957580566e-01 9.078431129455566406e-01 4.000000059604644775e-01 1.000000000000000000e+00 -8.196078538894653320e-01 9.098039269447326660e-01 4.000000059604644775e-01 1.000000000000000000e+00 -8.235294222831726074e-01 9.117646813392639160e-01 4.000000059604644775e-01 1.000000000000000000e+00 -8.274509906768798828e-01 9.137254953384399414e-01 4.000000059604644775e-01 1.000000000000000000e+00 -8.313725590705871582e-01 9.156862497329711914e-01 4.000000059604644775e-01 1.000000000000000000e+00 -8.352941274642944336e-01 9.176470637321472168e-01 4.000000059604644775e-01 1.000000000000000000e+00 -8.392156958580017090e-01 9.196078181266784668e-01 4.000000059604644775e-01 1.000000000000000000e+00 -8.431372642517089844e-01 9.215686321258544922e-01 4.000000059604644775e-01 1.000000000000000000e+00 -8.470588326454162598e-01 9.235293865203857422e-01 4.000000059604644775e-01 1.000000000000000000e+00 -8.509804010391235352e-01 9.254902005195617676e-01 4.000000059604644775e-01 1.000000000000000000e+00 -8.549019694328308105e-01 9.274509549140930176e-01 4.000000059604644775e-01 1.000000000000000000e+00 -8.588235378265380859e-01 9.294117689132690430e-01 4.000000059604644775e-01 1.000000000000000000e+00 -8.627451062202453613e-01 9.313725233078002930e-01 4.000000059604644775e-01 1.000000000000000000e+00 -8.666666746139526367e-01 9.333333373069763184e-01 4.000000059604644775e-01 1.000000000000000000e+00 -8.705882430076599121e-01 9.352940917015075684e-01 4.000000059604644775e-01 1.000000000000000000e+00 -8.745098114013671875e-01 9.372549057006835938e-01 4.000000059604644775e-01 1.000000000000000000e+00 -8.784313797950744629e-01 9.392156600952148438e-01 4.000000059604644775e-01 1.000000000000000000e+00 -8.823529481887817383e-01 9.411764740943908691e-01 4.000000059604644775e-01 1.000000000000000000e+00 -8.862745165824890137e-01 9.431372284889221191e-01 4.000000059604644775e-01 1.000000000000000000e+00 -8.901960849761962891e-01 9.450980424880981445e-01 4.000000059604644775e-01 1.000000000000000000e+00 -8.941176533699035645e-01 9.470587968826293945e-01 4.000000059604644775e-01 1.000000000000000000e+00 -8.980392217636108398e-01 9.490196108818054199e-01 4.000000059604644775e-01 1.000000000000000000e+00 -9.019607901573181152e-01 9.509803652763366699e-01 4.000000059604644775e-01 1.000000000000000000e+00 -9.058823585510253906e-01 9.529411792755126953e-01 4.000000059604644775e-01 1.000000000000000000e+00 -9.098039269447326660e-01 9.549019336700439453e-01 4.000000059604644775e-01 1.000000000000000000e+00 -9.137254953384399414e-01 9.568627476692199707e-01 4.000000059604644775e-01 1.000000000000000000e+00 -9.176470637321472168e-01 9.588235020637512207e-01 4.000000059604644775e-01 1.000000000000000000e+00 -9.215686321258544922e-01 9.607843160629272461e-01 4.000000059604644775e-01 1.000000000000000000e+00 -9.254902005195617676e-01 9.627450704574584961e-01 4.000000059604644775e-01 1.000000000000000000e+00 -9.294117689132690430e-01 9.647058844566345215e-01 4.000000059604644775e-01 1.000000000000000000e+00 -9.333333373069763184e-01 9.666666388511657715e-01 4.000000059604644775e-01 1.000000000000000000e+00 -9.372549057006835938e-01 9.686274528503417969e-01 4.000000059604644775e-01 1.000000000000000000e+00 -9.411764740943908691e-01 9.705882072448730469e-01 4.000000059604644775e-01 1.000000000000000000e+00 -9.450980424880981445e-01 9.725490212440490723e-01 4.000000059604644775e-01 1.000000000000000000e+00 -9.490196108818054199e-01 9.745097756385803223e-01 4.000000059604644775e-01 1.000000000000000000e+00 -9.529411792755126953e-01 9.764705896377563477e-01 4.000000059604644775e-01 1.000000000000000000e+00 -9.568627476692199707e-01 9.784313440322875977e-01 4.000000059604644775e-01 1.000000000000000000e+00 -9.607843160629272461e-01 9.803921580314636230e-01 4.000000059604644775e-01 1.000000000000000000e+00 -9.647058844566345215e-01 9.823529124259948730e-01 4.000000059604644775e-01 1.000000000000000000e+00 -9.686274528503417969e-01 9.843137264251708984e-01 4.000000059604644775e-01 1.000000000000000000e+00 -9.725490212440490723e-01 9.862744808197021484e-01 4.000000059604644775e-01 1.000000000000000000e+00 -9.764705896377563477e-01 9.882352948188781738e-01 4.000000059604644775e-01 1.000000000000000000e+00 -9.803921580314636230e-01 9.901960492134094238e-01 4.000000059604644775e-01 1.000000000000000000e+00 -9.843137264251708984e-01 9.921568632125854492e-01 4.000000059604644775e-01 1.000000000000000000e+00 -9.882352948188781738e-01 9.941176176071166992e-01 4.000000059604644775e-01 1.000000000000000000e+00 -9.921568632125854492e-01 9.960784316062927246e-01 4.000000059604644775e-01 1.000000000000000000e+00 -9.960784316062927246e-01 9.980391860008239746e-01 4.000000059604644775e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 4.000000059604644775e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/tab10 b/fastplotlib/utils/colormaps/tab10 deleted file mode 100644 index a3c2ccaa5..000000000 --- a/fastplotlib/utils/colormaps/tab10 +++ /dev/null @@ -1,10 +0,0 @@ -1.215686276555061340e-01 4.666666686534881592e-01 7.058823704719543457e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.980392158031463623e-01 5.490196123719215393e-02 1.000000000000000000e+00 -1.725490242242813110e-01 6.274510025978088379e-01 1.725490242242813110e-01 1.000000000000000000e+00 -8.392156958580017090e-01 1.529411822557449341e-01 1.568627506494522095e-01 1.000000000000000000e+00 -5.803921818733215332e-01 4.039215743541717529e-01 7.411764860153198242e-01 1.000000000000000000e+00 -5.490196347236633301e-01 3.372549116611480713e-01 2.941176593303680420e-01 1.000000000000000000e+00 -8.901960849761962891e-01 4.666666686534881592e-01 7.607843279838562012e-01 1.000000000000000000e+00 -4.980392158031463623e-01 4.980392158031463623e-01 4.980392158031463623e-01 1.000000000000000000e+00 -7.372549176216125488e-01 7.411764860153198242e-01 1.333333402872085571e-01 1.000000000000000000e+00 -9.019608050584793091e-02 7.450980544090270996e-01 8.117647171020507812e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/tab20 b/fastplotlib/utils/colormaps/tab20 deleted file mode 100644 index b7a955b9e..000000000 --- a/fastplotlib/utils/colormaps/tab20 +++ /dev/null @@ -1,20 +0,0 @@ -1.215686276555061340e-01 4.666666686534881592e-01 7.058823704719543457e-01 1.000000000000000000e+00 -6.823529601097106934e-01 7.803921699523925781e-01 9.098039269447326660e-01 1.000000000000000000e+00 -1.000000000000000000e+00 4.980392158031463623e-01 5.490196123719215393e-02 1.000000000000000000e+00 -1.000000000000000000e+00 7.333333492279052734e-01 4.705882370471954346e-01 1.000000000000000000e+00 -1.725490242242813110e-01 6.274510025978088379e-01 1.725490242242813110e-01 1.000000000000000000e+00 -5.960784554481506348e-01 8.745098114013671875e-01 5.411764979362487793e-01 1.000000000000000000e+00 -8.392156958580017090e-01 1.529411822557449341e-01 1.568627506494522095e-01 1.000000000000000000e+00 -1.000000000000000000e+00 5.960784554481506348e-01 5.882353186607360840e-01 1.000000000000000000e+00 -5.803921818733215332e-01 4.039215743541717529e-01 7.411764860153198242e-01 1.000000000000000000e+00 -7.725490331649780273e-01 6.901960968971252441e-01 8.352941274642944336e-01 1.000000000000000000e+00 -5.490196347236633301e-01 3.372549116611480713e-01 2.941176593303680420e-01 1.000000000000000000e+00 -7.686274647712707520e-01 6.117647290229797363e-01 5.803921818733215332e-01 1.000000000000000000e+00 -8.901960849761962891e-01 4.666666686534881592e-01 7.607843279838562012e-01 1.000000000000000000e+00 -9.686274528503417969e-01 7.137255072593688965e-01 8.235294222831726074e-01 1.000000000000000000e+00 -4.980392158031463623e-01 4.980392158031463623e-01 4.980392158031463623e-01 1.000000000000000000e+00 -7.803921699523925781e-01 7.803921699523925781e-01 7.803921699523925781e-01 1.000000000000000000e+00 -7.372549176216125488e-01 7.411764860153198242e-01 1.333333402872085571e-01 1.000000000000000000e+00 -8.588235378265380859e-01 8.588235378265380859e-01 5.529412031173706055e-01 1.000000000000000000e+00 -9.019608050584793091e-02 7.450980544090270996e-01 8.117647171020507812e-01 1.000000000000000000e+00 -6.196078658103942871e-01 8.549019694328308105e-01 8.980392217636108398e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/tab20b b/fastplotlib/utils/colormaps/tab20b deleted file mode 100644 index f5b176e31..000000000 --- a/fastplotlib/utils/colormaps/tab20b +++ /dev/null @@ -1,20 +0,0 @@ -2.235294133424758911e-01 2.313725501298904419e-01 4.745098054409027100e-01 1.000000000000000000e+00 -3.215686380863189697e-01 3.294117748737335205e-01 6.392157077789306641e-01 1.000000000000000000e+00 -4.196078479290008545e-01 4.313725531101226807e-01 8.117647171020507812e-01 1.000000000000000000e+00 -6.117647290229797363e-01 6.196078658103942871e-01 8.705882430076599121e-01 1.000000000000000000e+00 -3.882353007793426514e-01 4.745098054409027100e-01 2.235294133424758911e-01 1.000000000000000000e+00 -5.490196347236633301e-01 6.352941393852233887e-01 3.215686380863189697e-01 1.000000000000000000e+00 -7.098039388656616211e-01 8.117647171020507812e-01 4.196078479290008545e-01 1.000000000000000000e+00 -8.078431487083435059e-01 8.588235378265380859e-01 6.117647290229797363e-01 1.000000000000000000e+00 -5.490196347236633301e-01 4.274509847164154053e-01 1.921568661928176880e-01 1.000000000000000000e+00 -7.411764860153198242e-01 6.196078658103942871e-01 2.235294133424758911e-01 1.000000000000000000e+00 -9.058823585510253906e-01 7.294117808341979980e-01 3.215686380863189697e-01 1.000000000000000000e+00 -9.058823585510253906e-01 7.960784435272216797e-01 5.803921818733215332e-01 1.000000000000000000e+00 -5.176470875740051270e-01 2.352941185235977173e-01 2.235294133424758911e-01 1.000000000000000000e+00 -6.784313917160034180e-01 2.862745225429534912e-01 2.901960909366607666e-01 1.000000000000000000e+00 -8.392156958580017090e-01 3.803921639919281006e-01 4.196078479290008545e-01 1.000000000000000000e+00 -9.058823585510253906e-01 5.882353186607360840e-01 6.117647290229797363e-01 1.000000000000000000e+00 -4.823529422283172607e-01 2.549019753932952881e-01 4.509803950786590576e-01 1.000000000000000000e+00 -6.470588445663452148e-01 3.176470696926116943e-01 5.803921818733215332e-01 1.000000000000000000e+00 -8.078431487083435059e-01 4.274509847164154053e-01 7.411764860153198242e-01 1.000000000000000000e+00 -8.705882430076599121e-01 6.196078658103942871e-01 8.392156958580017090e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/tab20c b/fastplotlib/utils/colormaps/tab20c deleted file mode 100644 index 7521c3e2a..000000000 --- a/fastplotlib/utils/colormaps/tab20c +++ /dev/null @@ -1,20 +0,0 @@ -1.921568661928176880e-01 5.098039507865905762e-01 7.411764860153198242e-01 1.000000000000000000e+00 -4.196078479290008545e-01 6.823529601097106934e-01 8.392156958580017090e-01 1.000000000000000000e+00 -6.196078658103942871e-01 7.921568751335144043e-01 8.823529481887817383e-01 1.000000000000000000e+00 -7.764706015586853027e-01 8.588235378265380859e-01 9.372549057006835938e-01 1.000000000000000000e+00 -9.019607901573181152e-01 3.333333432674407959e-01 5.098039284348487854e-02 1.000000000000000000e+00 -9.921568632125854492e-01 5.529412031173706055e-01 2.352941185235977173e-01 1.000000000000000000e+00 -9.921568632125854492e-01 6.823529601097106934e-01 4.196078479290008545e-01 1.000000000000000000e+00 -9.921568632125854492e-01 8.156862854957580566e-01 6.352941393852233887e-01 1.000000000000000000e+00 -1.921568661928176880e-01 6.392157077789306641e-01 3.294117748737335205e-01 1.000000000000000000e+00 -4.549019634723663330e-01 7.686274647712707520e-01 4.627451002597808838e-01 1.000000000000000000e+00 -6.313725709915161133e-01 8.509804010391235352e-01 6.078431606292724609e-01 1.000000000000000000e+00 -7.803921699523925781e-01 9.137254953384399414e-01 7.529411911964416504e-01 1.000000000000000000e+00 -4.588235318660736084e-01 4.196078479290008545e-01 6.941176652908325195e-01 1.000000000000000000e+00 -6.196078658103942871e-01 6.039215922355651855e-01 7.843137383460998535e-01 1.000000000000000000e+00 -7.372549176216125488e-01 7.411764860153198242e-01 8.627451062202453613e-01 1.000000000000000000e+00 -8.549019694328308105e-01 8.549019694328308105e-01 9.215686321258544922e-01 1.000000000000000000e+00 -3.882353007793426514e-01 3.882353007793426514e-01 3.882353007793426514e-01 1.000000000000000000e+00 -5.882353186607360840e-01 5.882353186607360840e-01 5.882353186607360840e-01 1.000000000000000000e+00 -7.411764860153198242e-01 7.411764860153198242e-01 7.411764860153198242e-01 1.000000000000000000e+00 -8.509804010391235352e-01 8.509804010391235352e-01 8.509804010391235352e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/terrain b/fastplotlib/utils/colormaps/terrain deleted file mode 100644 index fd79cbfa7..000000000 --- a/fastplotlib/utils/colormaps/terrain +++ /dev/null @@ -1,256 +0,0 @@ -2.000000029802322388e-01 2.000000029802322388e-01 6.000000238418579102e-01 1.000000000000000000e+00 -1.947712451219558716e-01 2.104575186967849731e-01 6.104575395584106445e-01 1.000000000000000000e+00 -1.895424872636795044e-01 2.209150344133377075e-01 6.209150552749633789e-01 1.000000000000000000e+00 -1.843137294054031372e-01 2.313725501298904419e-01 6.313725709915161133e-01 1.000000000000000000e+00 -1.790849715471267700e-01 2.418300658464431763e-01 6.418300867080688477e-01 1.000000000000000000e+00 -1.738562136888504028e-01 2.522875964641571045e-01 6.522876024246215820e-01 1.000000000000000000e+00 -1.686274558305740356e-01 2.627451121807098389e-01 6.627451181411743164e-01 1.000000000000000000e+00 -1.633986979722976685e-01 2.732026278972625732e-01 6.732026338577270508e-01 1.000000000000000000e+00 -1.581699401140213013e-01 2.836601436138153076e-01 6.836601495742797852e-01 1.000000000000000000e+00 -1.529411822557449341e-01 2.941176593303680420e-01 6.941176652908325195e-01 1.000000000000000000e+00 -1.477124243974685669e-01 3.045751750469207764e-01 7.045751810073852539e-01 1.000000000000000000e+00 -1.424836665391921997e-01 3.150326907634735107e-01 7.150326967239379883e-01 1.000000000000000000e+00 -1.372549086809158325e-01 3.254902064800262451e-01 7.254902124404907227e-01 1.000000000000000000e+00 -1.320261508226394653e-01 3.359477221965789795e-01 7.359477281570434570e-01 1.000000000000000000e+00 -1.267973929643630981e-01 3.464052379131317139e-01 7.464052438735961914e-01 1.000000000000000000e+00 -1.215686276555061340e-01 3.568627536296844482e-01 7.568627595901489258e-01 1.000000000000000000e+00 -1.163398697972297668e-01 3.673202693462371826e-01 7.673202753067016602e-01 1.000000000000000000e+00 -1.111111119389533997e-01 3.777777850627899170e-01 7.777777910232543945e-01 1.000000000000000000e+00 -1.058823540806770325e-01 3.882353007793426514e-01 7.882353067398071289e-01 1.000000000000000000e+00 -1.006535962224006653e-01 3.986928164958953857e-01 7.986928224563598633e-01 1.000000000000000000e+00 -9.542483836412429810e-02 4.091503322124481201e-01 8.091503381729125977e-01 1.000000000000000000e+00 -9.019608050584793091e-02 4.196078479290008545e-01 8.196078538894653320e-01 1.000000000000000000e+00 -8.496732264757156372e-02 4.300653636455535889e-01 8.300653696060180664e-01 1.000000000000000000e+00 -7.973856478929519653e-02 4.405228793621063232e-01 8.405228853225708008e-01 1.000000000000000000e+00 -7.450980693101882935e-02 4.509803950786590576e-01 8.509804010391235352e-01 1.000000000000000000e+00 -6.928104907274246216e-02 4.614379107952117920e-01 8.614379167556762695e-01 1.000000000000000000e+00 -6.405229121446609497e-02 4.718954265117645264e-01 8.718954324722290039e-01 1.000000000000000000e+00 -5.882352963089942932e-02 4.823529422283172607e-01 8.823529481887817383e-01 1.000000000000000000e+00 -5.359477177262306213e-02 4.928104579448699951e-01 8.928104639053344727e-01 1.000000000000000000e+00 -4.836601391434669495e-02 5.032680034637451172e-01 9.032679796218872070e-01 1.000000000000000000e+00 -4.313725605607032776e-02 5.137255191802978516e-01 9.137254953384399414e-01 1.000000000000000000e+00 -3.790849819779396057e-02 5.241830348968505859e-01 9.241830110549926758e-01 1.000000000000000000e+00 -3.267974033951759338e-02 5.346405506134033203e-01 9.346405267715454102e-01 1.000000000000000000e+00 -2.745098061859607697e-02 5.450980663299560547e-01 9.450980424880981445e-01 1.000000000000000000e+00 -2.222222276031970978e-02 5.555555820465087891e-01 9.555555582046508789e-01 1.000000000000000000e+00 -1.699346490204334259e-02 5.660130977630615234e-01 9.660130739212036133e-01 1.000000000000000000e+00 -1.176470611244440079e-02 5.764706134796142578e-01 9.764705896377563477e-01 1.000000000000000000e+00 -6.535947788506746292e-03 5.869281291961669922e-01 9.869281053543090820e-01 1.000000000000000000e+00 -1.307189580984413624e-03 5.973856449127197266e-01 9.973856210708618164e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.058823466300964355e-01 9.823529124259948730e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.137254834175109863e-01 9.588235020637512207e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.215686202049255371e-01 9.352940917015075684e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.294117569923400879e-01 9.117646813392639160e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.372548937797546387e-01 8.882352709770202637e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.450980305671691895e-01 8.647058606147766113e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.529411673545837402e-01 8.411764502525329590e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.607843041419982910e-01 8.176470398902893066e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.686274409294128418e-01 7.941176295280456543e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.764705777168273926e-01 7.705882191658020020e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.843137145042419434e-01 7.470588088035583496e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.921568512916564941e-01 7.235293984413146973e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.999999880790710449e-01 6.999999880790710449e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.078431248664855957e-01 6.764705777168273926e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.156862616539001465e-01 6.529411673545837402e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.235293984413146973e-01 6.294117569923400879e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.313725352287292480e-01 6.058823466300964355e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.392156720161437988e-01 5.823529362678527832e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.470588088035583496e-01 5.588235259056091309e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.549019455909729004e-01 5.352941155433654785e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.627450823783874512e-01 5.117647051811218262e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.705882191658020020e-01 4.882352948188781738e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.784313559532165527e-01 4.647058844566345215e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.862744927406311035e-01 4.411764740943908691e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.941176295280456543e-01 4.176470637321472168e-01 1.000000000000000000e+00 -3.921568859368562698e-03 8.007842898368835449e-01 4.007843136787414551e-01 1.000000000000000000e+00 -1.960784383118152618e-02 8.039215803146362305e-01 4.039215743541717529e-01 1.000000000000000000e+00 -3.529411926865577698e-02 8.070588111877441406e-01 4.070588350296020508e-01 1.000000000000000000e+00 -5.098039284348487854e-02 8.101961016654968262e-01 4.101960659027099609e-01 1.000000000000000000e+00 -6.666667014360427856e-02 8.133333325386047363e-01 4.133333265781402588e-01 1.000000000000000000e+00 -8.235294371843338013e-02 8.164705634117126465e-01 4.164705872535705566e-01 1.000000000000000000e+00 -9.803921729326248169e-02 8.196078538894653320e-01 4.196078479290008545e-01 1.000000000000000000e+00 -1.137254908680915833e-01 8.227450847625732422e-01 4.227451086044311523e-01 1.000000000000000000e+00 -1.294117718935012817e-01 8.258823752403259277e-01 4.258823394775390625e-01 1.000000000000000000e+00 -1.450980454683303833e-01 8.290196061134338379e-01 4.290196001529693604e-01 1.000000000000000000e+00 -1.607843190431594849e-01 8.321568369865417480e-01 4.321568608283996582e-01 1.000000000000000000e+00 -1.764705926179885864e-01 8.352941274642944336e-01 4.352941215038299561e-01 1.000000000000000000e+00 -1.921568661928176880e-01 8.384313583374023438e-01 4.384313821792602539e-01 1.000000000000000000e+00 -2.078431397676467896e-01 8.415686488151550293e-01 4.415686130523681641e-01 1.000000000000000000e+00 -2.235294133424758911e-01 8.447058796882629395e-01 4.447058737277984619e-01 1.000000000000000000e+00 -2.392156869173049927e-01 8.478431105613708496e-01 4.478431344032287598e-01 1.000000000000000000e+00 -2.549019753932952881e-01 8.509804010391235352e-01 4.509803950786590576e-01 1.000000000000000000e+00 -2.705882489681243896e-01 8.541176319122314453e-01 4.541176557540893555e-01 1.000000000000000000e+00 -2.862745225429534912e-01 8.572549223899841309e-01 4.572549164295196533e-01 1.000000000000000000e+00 -3.019607961177825928e-01 8.603921532630920410e-01 4.603921473026275635e-01 1.000000000000000000e+00 -3.176470696926116943e-01 8.635293841361999512e-01 4.635294079780578613e-01 1.000000000000000000e+00 -3.333333432674407959e-01 8.666666746139526367e-01 4.666666686534881592e-01 1.000000000000000000e+00 -3.490196168422698975e-01 8.698039054870605469e-01 4.698039293289184570e-01 1.000000000000000000e+00 -3.647058904170989990e-01 8.729411959648132324e-01 4.729411900043487549e-01 1.000000000000000000e+00 -3.803921639919281006e-01 8.760784268379211426e-01 4.760784208774566650e-01 1.000000000000000000e+00 -3.960784375667572021e-01 8.792156577110290527e-01 4.792156815528869629e-01 1.000000000000000000e+00 -4.117647111415863037e-01 8.823529481887817383e-01 4.823529422283172607e-01 1.000000000000000000e+00 -4.274509847164154053e-01 8.854901790618896484e-01 4.854902029037475586e-01 1.000000000000000000e+00 -4.431372582912445068e-01 8.886274695396423340e-01 4.886274635791778564e-01 1.000000000000000000e+00 -4.588235318660736084e-01 8.917647004127502441e-01 4.917646944522857666e-01 1.000000000000000000e+00 -4.745098054409027100e-01 8.949019312858581543e-01 4.949019551277160645e-01 1.000000000000000000e+00 -4.901960790157318115e-01 8.980392217636108398e-01 4.980392158031463623e-01 1.000000000000000000e+00 -5.058823823928833008e-01 9.011764526367187500e-01 5.011764764785766602e-01 1.000000000000000000e+00 -5.215686559677124023e-01 9.043137431144714355e-01 5.043137073516845703e-01 1.000000000000000000e+00 -5.372549295425415039e-01 9.074509739875793457e-01 5.074509978294372559e-01 1.000000000000000000e+00 -5.529412031173706055e-01 9.105882644653320312e-01 5.105882287025451660e-01 1.000000000000000000e+00 -5.686274766921997070e-01 9.137254953384399414e-01 5.137255191802978516e-01 1.000000000000000000e+00 -5.843137502670288086e-01 9.168627262115478516e-01 5.168627500534057617e-01 1.000000000000000000e+00 -6.000000238418579102e-01 9.200000166893005371e-01 5.199999809265136719e-01 1.000000000000000000e+00 -6.156862974166870117e-01 9.231372475624084473e-01 5.231372714042663574e-01 1.000000000000000000e+00 -6.313725709915161133e-01 9.262745380401611328e-01 5.262745022773742676e-01 1.000000000000000000e+00 -6.470588445663452148e-01 9.294117689132690430e-01 5.294117927551269531e-01 1.000000000000000000e+00 -6.627451181411743164e-01 9.325489997863769531e-01 5.325490236282348633e-01 1.000000000000000000e+00 -6.784313917160034180e-01 9.356862902641296387e-01 5.356862545013427734e-01 1.000000000000000000e+00 -6.941176652908325195e-01 9.388235211372375488e-01 5.388235449790954590e-01 1.000000000000000000e+00 -7.098039388656616211e-01 9.419608116149902344e-01 5.419607758522033691e-01 1.000000000000000000e+00 -7.254902124404907227e-01 9.450980424880981445e-01 5.450980663299560547e-01 1.000000000000000000e+00 -7.411764860153198242e-01 9.482352733612060547e-01 5.482352972030639648e-01 1.000000000000000000e+00 -7.568627595901489258e-01 9.513725638389587402e-01 5.513725280761718750e-01 1.000000000000000000e+00 -7.725490331649780273e-01 9.545097947120666504e-01 5.545098185539245605e-01 1.000000000000000000e+00 -7.882353067398071289e-01 9.576470851898193359e-01 5.576470494270324707e-01 1.000000000000000000e+00 -8.039215803146362305e-01 9.607843160629272461e-01 5.607843399047851562e-01 1.000000000000000000e+00 -8.196078538894653320e-01 9.639215469360351562e-01 5.639215707778930664e-01 1.000000000000000000e+00 -8.352941274642944336e-01 9.670588374137878418e-01 5.670588016510009766e-01 1.000000000000000000e+00 -8.509804010391235352e-01 9.701960682868957520e-01 5.701960921287536621e-01 1.000000000000000000e+00 -8.666666746139526367e-01 9.733333587646484375e-01 5.733333230018615723e-01 1.000000000000000000e+00 -8.823529481887817383e-01 9.764705896377563477e-01 5.764706134796142578e-01 1.000000000000000000e+00 -8.980392217636108398e-01 9.796078205108642578e-01 5.796078443527221680e-01 1.000000000000000000e+00 -9.137254953384399414e-01 9.827451109886169434e-01 5.827450752258300781e-01 1.000000000000000000e+00 -9.294117689132690430e-01 9.858823418617248535e-01 5.858823657035827637e-01 1.000000000000000000e+00 -9.450980424880981445e-01 9.890196323394775391e-01 5.890195965766906738e-01 1.000000000000000000e+00 -9.607843160629272461e-01 9.921568632125854492e-01 5.921568870544433594e-01 1.000000000000000000e+00 -9.764705896377563477e-01 9.952940940856933594e-01 5.952941179275512695e-01 1.000000000000000000e+00 -9.921568632125854492e-01 9.984313845634460449e-01 5.984313488006591797e-01 1.000000000000000000e+00 -9.960784316062927246e-01 9.949803948402404785e-01 5.978823304176330566e-01 1.000000000000000000e+00 -9.882352948188781738e-01 9.849411845207214355e-01 5.936470627784729004e-01 1.000000000000000000e+00 -9.803921580314636230e-01 9.749019742012023926e-01 5.894117355346679688e-01 1.000000000000000000e+00 -9.725490212440490723e-01 9.648627638816833496e-01 5.851764678955078125e-01 1.000000000000000000e+00 -9.647058844566345215e-01 9.548235535621643066e-01 5.809412002563476562e-01 1.000000000000000000e+00 -9.568627476692199707e-01 9.447843432426452637e-01 5.767058730125427246e-01 1.000000000000000000e+00 -9.490196108818054199e-01 9.347450733184814453e-01 5.724706053733825684e-01 1.000000000000000000e+00 -9.411764740943908691e-01 9.247058629989624023e-01 5.682352781295776367e-01 1.000000000000000000e+00 -9.333333373069763184e-01 9.146666526794433594e-01 5.640000104904174805e-01 1.000000000000000000e+00 -9.254902005195617676e-01 9.046274423599243164e-01 5.597646832466125488e-01 1.000000000000000000e+00 -9.176470637321472168e-01 8.945882320404052734e-01 5.555294156074523926e-01 1.000000000000000000e+00 -9.098039269447326660e-01 8.845490217208862305e-01 5.512940883636474609e-01 1.000000000000000000e+00 -9.019607901573181152e-01 8.745098114013671875e-01 5.470588207244873047e-01 1.000000000000000000e+00 -8.941176533699035645e-01 8.644706010818481445e-01 5.428235530853271484e-01 1.000000000000000000e+00 -8.862745165824890137e-01 8.544313907623291016e-01 5.385882258415222168e-01 1.000000000000000000e+00 -8.784313797950744629e-01 8.443921804428100586e-01 5.343529582023620605e-01 1.000000000000000000e+00 -8.705882430076599121e-01 8.343529701232910156e-01 5.301176309585571289e-01 1.000000000000000000e+00 -8.627451062202453613e-01 8.243137001991271973e-01 5.258823633193969727e-01 1.000000000000000000e+00 -8.549019694328308105e-01 8.142744898796081543e-01 5.216470360755920410e-01 1.000000000000000000e+00 -8.470588326454162598e-01 8.042352795600891113e-01 5.174117684364318848e-01 1.000000000000000000e+00 -8.392156958580017090e-01 7.941960692405700684e-01 5.131764411926269531e-01 1.000000000000000000e+00 -8.313725590705871582e-01 7.841568589210510254e-01 5.089411735534667969e-01 1.000000000000000000e+00 -8.235294222831726074e-01 7.741176486015319824e-01 5.047059059143066406e-01 1.000000000000000000e+00 -8.156862854957580566e-01 7.640784382820129395e-01 5.004705786705017090e-01 1.000000000000000000e+00 -8.078431487083435059e-01 7.540392279624938965e-01 4.962352812290191650e-01 1.000000000000000000e+00 -8.000000119209289551e-01 7.440000176429748535e-01 4.920000135898590088e-01 1.000000000000000000e+00 -7.921568751335144043e-01 7.339608073234558105e-01 4.877647161483764648e-01 1.000000000000000000e+00 -7.843137383460998535e-01 7.239215970039367676e-01 4.835294187068939209e-01 1.000000000000000000e+00 -7.764706015586853027e-01 7.138823270797729492e-01 4.792941212654113770e-01 1.000000000000000000e+00 -7.686274647712707520e-01 7.038431167602539062e-01 4.750588238239288330e-01 1.000000000000000000e+00 -7.607843279838562012e-01 6.938039064407348633e-01 4.708235263824462891e-01 1.000000000000000000e+00 -7.529411911964416504e-01 6.837646961212158203e-01 4.665882289409637451e-01 1.000000000000000000e+00 -7.450980544090270996e-01 6.737254858016967773e-01 4.623529314994812012e-01 1.000000000000000000e+00 -7.372549176216125488e-01 6.636862754821777344e-01 4.581176340579986572e-01 1.000000000000000000e+00 -7.294117808341979980e-01 6.536470651626586914e-01 4.538823664188385010e-01 1.000000000000000000e+00 -7.215686440467834473e-01 6.436078548431396484e-01 4.496470689773559570e-01 1.000000000000000000e+00 -7.137255072593688965e-01 6.335686445236206055e-01 4.454117715358734131e-01 1.000000000000000000e+00 -7.058823704719543457e-01 6.235294342041015625e-01 4.411764740943908691e-01 1.000000000000000000e+00 -6.980392336845397949e-01 6.134902238845825195e-01 4.369411766529083252e-01 1.000000000000000000e+00 -6.901960968971252441e-01 6.034509539604187012e-01 4.327058792114257812e-01 1.000000000000000000e+00 -6.823529601097106934e-01 5.934117436408996582e-01 4.284705817699432373e-01 1.000000000000000000e+00 -6.745098233222961426e-01 5.833725333213806152e-01 4.242352843284606934e-01 1.000000000000000000e+00 -6.666666865348815918e-01 5.733333230018615723e-01 4.199999868869781494e-01 1.000000000000000000e+00 -6.588235497474670410e-01 5.632941126823425293e-01 4.157647192478179932e-01 1.000000000000000000e+00 -6.509804129600524902e-01 5.532549023628234863e-01 4.115294218063354492e-01 1.000000000000000000e+00 -6.431372761726379395e-01 5.432156920433044434e-01 4.072941243648529053e-01 1.000000000000000000e+00 -6.352941393852233887e-01 5.331764817237854004e-01 4.030588269233703613e-01 1.000000000000000000e+00 -6.274510025978088379e-01 5.231372714042663574e-01 3.988235294818878174e-01 1.000000000000000000e+00 -6.196078658103942871e-01 5.130980610847473145e-01 3.945882320404052734e-01 1.000000000000000000e+00 -6.117647290229797363e-01 5.030588507652282715e-01 3.903529345989227295e-01 1.000000000000000000e+00 -6.039215922355651855e-01 4.930196106433868408e-01 3.861176371574401855e-01 1.000000000000000000e+00 -5.960784554481506348e-01 4.829804003238677979e-01 3.818823397159576416e-01 1.000000000000000000e+00 -5.882353186607360840e-01 4.729411900043487549e-01 3.776470720767974854e-01 1.000000000000000000e+00 -5.803921818733215332e-01 4.629019498825073242e-01 3.734117746353149414e-01 1.000000000000000000e+00 -5.725490450859069824e-01 4.528627395629882812e-01 3.691764771938323975e-01 1.000000000000000000e+00 -5.647059082984924316e-01 4.428235292434692383e-01 3.649411797523498535e-01 1.000000000000000000e+00 -5.568627715110778809e-01 4.327843189239501953e-01 3.607058823108673096e-01 1.000000000000000000e+00 -5.490196347236633301e-01 4.227451086044311523e-01 3.564705848693847656e-01 1.000000000000000000e+00 -5.411764979362487793e-01 4.127058684825897217e-01 3.522352874279022217e-01 1.000000000000000000e+00 -5.333333611488342285e-01 4.026666581630706787e-01 3.479999899864196777e-01 1.000000000000000000e+00 -5.254902243614196777e-01 3.926274478435516357e-01 3.437646925449371338e-01 1.000000000000000000e+00 -5.176470875740051270e-01 3.825882375240325928e-01 3.395294249057769775e-01 1.000000000000000000e+00 -5.098039507865905762e-01 3.725490272045135498e-01 3.352941274642944336e-01 1.000000000000000000e+00 -5.019608139991760254e-01 3.625098168849945068e-01 3.310588300228118896e-01 1.000000000000000000e+00 -5.058823823928833008e-01 3.675294220447540283e-01 3.378823399543762207e-01 1.000000000000000000e+00 -5.137255191802978516e-01 3.775686323642730713e-01 3.483921587467193604e-01 1.000000000000000000e+00 -5.215686559677124023e-01 3.876078426837921143e-01 3.589019477367401123e-01 1.000000000000000000e+00 -5.294117927551269531e-01 3.976470530033111572e-01 3.694117665290832520e-01 1.000000000000000000e+00 -5.372549295425415039e-01 4.076862633228302002e-01 3.799215555191040039e-01 1.000000000000000000e+00 -5.450980663299560547e-01 4.177255034446716309e-01 3.904313743114471436e-01 1.000000000000000000e+00 -5.529412031173706055e-01 4.277647137641906738e-01 4.009411633014678955e-01 1.000000000000000000e+00 -5.607843399047851562e-01 4.378039240837097168e-01 4.114509820938110352e-01 1.000000000000000000e+00 -5.686274766921997070e-01 4.478431344032287598e-01 4.219607710838317871e-01 1.000000000000000000e+00 -5.764706134796142578e-01 4.578823447227478027e-01 4.324705898761749268e-01 1.000000000000000000e+00 -5.843137502670288086e-01 4.679215550422668457e-01 4.429803788661956787e-01 1.000000000000000000e+00 -5.921568870544433594e-01 4.779607951641082764e-01 4.534901976585388184e-01 1.000000000000000000e+00 -6.000000238418579102e-01 4.880000054836273193e-01 4.639999866485595703e-01 1.000000000000000000e+00 -6.078431606292724609e-01 4.980392158031463623e-01 4.745098054409027100e-01 1.000000000000000000e+00 -6.156862974166870117e-01 5.080784559249877930e-01 4.850195944309234619e-01 1.000000000000000000e+00 -6.235294342041015625e-01 5.181176662445068359e-01 4.955294132232666016e-01 1.000000000000000000e+00 -6.313725709915161133e-01 5.281568765640258789e-01 5.060392022132873535e-01 1.000000000000000000e+00 -6.392157077789306641e-01 5.381960868835449219e-01 5.165489912033081055e-01 1.000000000000000000e+00 -6.470588445663452148e-01 5.482352972030639648e-01 5.270588397979736328e-01 1.000000000000000000e+00 -6.549019813537597656e-01 5.582745075225830078e-01 5.375686287879943848e-01 1.000000000000000000e+00 -6.627451181411743164e-01 5.683137178421020508e-01 5.480784177780151367e-01 1.000000000000000000e+00 -6.705882549285888672e-01 5.783529281616210938e-01 5.585882067680358887e-01 1.000000000000000000e+00 -6.784313917160034180e-01 5.883921384811401367e-01 5.690980553627014160e-01 1.000000000000000000e+00 -6.862745285034179688e-01 5.984313488006591797e-01 5.796078443527221680e-01 1.000000000000000000e+00 -6.941176652908325195e-01 6.084705591201782227e-01 5.901176333427429199e-01 1.000000000000000000e+00 -7.019608020782470703e-01 6.185098290443420410e-01 6.006274223327636719e-01 1.000000000000000000e+00 -7.098039388656616211e-01 6.285490393638610840e-01 6.111372709274291992e-01 1.000000000000000000e+00 -7.176470756530761719e-01 6.385882496833801270e-01 6.216470599174499512e-01 1.000000000000000000e+00 -7.254902124404907227e-01 6.486274600028991699e-01 6.321568489074707031e-01 1.000000000000000000e+00 -7.333333492279052734e-01 6.586666703224182129e-01 6.426666378974914551e-01 1.000000000000000000e+00 -7.411764860153198242e-01 6.687058806419372559e-01 6.531764864921569824e-01 1.000000000000000000e+00 -7.490196228027343750e-01 6.787450909614562988e-01 6.636862754821777344e-01 1.000000000000000000e+00 -7.568627595901489258e-01 6.887843012809753418e-01 6.741960644721984863e-01 1.000000000000000000e+00 -7.647058963775634766e-01 6.988235116004943848e-01 6.847058534622192383e-01 1.000000000000000000e+00 -7.725490331649780273e-01 7.088627219200134277e-01 6.952157020568847656e-01 1.000000000000000000e+00 -7.803921699523925781e-01 7.189019322395324707e-01 7.057254910469055176e-01 1.000000000000000000e+00 -7.882353067398071289e-01 7.289412021636962891e-01 7.162352800369262695e-01 1.000000000000000000e+00 -7.960784435272216797e-01 7.389804124832153320e-01 7.267450690269470215e-01 1.000000000000000000e+00 -8.039215803146362305e-01 7.490196228027343750e-01 7.372549176216125488e-01 1.000000000000000000e+00 -8.117647171020507812e-01 7.590588331222534180e-01 7.477647066116333008e-01 1.000000000000000000e+00 -8.196078538894653320e-01 7.690980434417724609e-01 7.582744956016540527e-01 1.000000000000000000e+00 -8.274509906768798828e-01 7.791372537612915039e-01 7.687842845916748047e-01 1.000000000000000000e+00 -8.352941274642944336e-01 7.891764640808105469e-01 7.792941331863403320e-01 1.000000000000000000e+00 -8.431372642517089844e-01 7.992156744003295898e-01 7.898039221763610840e-01 1.000000000000000000e+00 -8.509804010391235352e-01 8.092548847198486328e-01 8.003137111663818359e-01 1.000000000000000000e+00 -8.588235378265380859e-01 8.192940950393676758e-01 8.108235001564025879e-01 1.000000000000000000e+00 -8.666666746139526367e-01 8.293333053588867188e-01 8.213333487510681152e-01 1.000000000000000000e+00 -8.745098114013671875e-01 8.393725752830505371e-01 8.318431377410888672e-01 1.000000000000000000e+00 -8.823529481887817383e-01 8.494117856025695801e-01 8.423529267311096191e-01 1.000000000000000000e+00 -8.901960849761962891e-01 8.594509959220886230e-01 8.528627157211303711e-01 1.000000000000000000e+00 -8.980392217636108398e-01 8.694902062416076660e-01 8.633725643157958984e-01 1.000000000000000000e+00 -9.058823585510253906e-01 8.795294165611267090e-01 8.738823533058166504e-01 1.000000000000000000e+00 -9.137254953384399414e-01 8.895686268806457520e-01 8.843921422958374023e-01 1.000000000000000000e+00 -9.215686321258544922e-01 8.996078372001647949e-01 8.949019312858581543e-01 1.000000000000000000e+00 -9.294117689132690430e-01 9.096470475196838379e-01 9.054117798805236816e-01 1.000000000000000000e+00 -9.372549057006835938e-01 9.196862578392028809e-01 9.159215688705444336e-01 1.000000000000000000e+00 -9.450980424880981445e-01 9.297254681587219238e-01 9.264313578605651855e-01 1.000000000000000000e+00 -9.529411792755126953e-01 9.397646784782409668e-01 9.369411468505859375e-01 1.000000000000000000e+00 -9.607843160629272461e-01 9.498039484024047852e-01 9.474509954452514648e-01 1.000000000000000000e+00 -9.686274528503417969e-01 9.598431587219238281e-01 9.579607844352722168e-01 1.000000000000000000e+00 -9.764705896377563477e-01 9.698823690414428711e-01 9.684705734252929688e-01 1.000000000000000000e+00 -9.843137264251708984e-01 9.799215793609619141e-01 9.789803624153137207e-01 1.000000000000000000e+00 -9.921568632125854492e-01 9.899607896804809570e-01 9.894902110099792480e-01 1.000000000000000000e+00 -1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/turbo b/fastplotlib/utils/colormaps/turbo deleted file mode 100644 index bf6090ac4..000000000 --- a/fastplotlib/utils/colormaps/turbo +++ /dev/null @@ -1,256 +0,0 @@ -1.899500042200088501e-01 7.175999879837036133e-02 2.321700006723403931e-01 1.000000000000000000e+00 -1.948300004005432129e-01 8.338999748229980469e-02 2.614899873733520508e-01 1.000000000000000000e+00 -1.995600014925003052e-01 9.498000144958496094e-02 2.902399897575378418e-01 1.000000000000000000e+00 -2.041500061750411987e-01 1.065199971199035645e-01 3.184399902820587158e-01 1.000000000000000000e+00 -2.085999995470046997e-01 1.180199980735778809e-01 3.460699915885925293e-01 1.000000000000000000e+00 -2.129099965095520020e-01 1.294700056314468384e-01 3.731400072574615479e-01 1.000000000000000000e+00 -2.170799970626831055e-01 1.408700048923492432e-01 3.996399939060211182e-01 1.000000000000000000e+00 -2.211100012063980103e-01 1.522299945354461670e-01 4.255799949169158936e-01 1.000000000000000000e+00 -2.249999940395355225e-01 1.635400056838989258e-01 4.509600102901458740e-01 1.000000000000000000e+00 -2.287500053644180298e-01 1.748100072145462036e-01 4.757800102233886719e-01 1.000000000000000000e+00 -2.323600053787231445e-01 1.860300004482269287e-01 5.000399947166442871e-01 1.000000000000000000e+00 -2.358199954032897949e-01 1.972000002861022949e-01 5.237299799919128418e-01 1.000000000000000000e+00 -2.391500025987625122e-01 2.083300054073333740e-01 5.468599796295166016e-01 1.000000000000000000e+00 -2.423399984836578369e-01 2.194100022315979004e-01 5.694199800491333008e-01 1.000000000000000000e+00 -2.453899979591369629e-01 2.304400056600570679e-01 5.914199948310852051e-01 1.000000000000000000e+00 -2.483000010251998901e-01 2.414299994707107544e-01 6.128600239753723145e-01 1.000000000000000000e+00 -2.510699927806854248e-01 2.523699998855590820e-01 6.337400078773498535e-01 1.000000000000000000e+00 -2.536900043487548828e-01 2.632699906826019287e-01 6.540600061416625977e-01 1.000000000000000000e+00 -2.561799883842468262e-01 2.741200029850006104e-01 6.738100051879882812e-01 1.000000000000000000e+00 -2.585299909114837646e-01 2.849200069904327393e-01 6.930000185966491699e-01 1.000000000000000000e+00 -2.607400119304656982e-01 2.956799864768981934e-01 7.116199731826782227e-01 1.000000000000000000e+00 -2.628000080585479736e-01 3.063899874687194824e-01 7.296800017356872559e-01 1.000000000000000000e+00 -2.647300064563751221e-01 3.170599937438964844e-01 7.471799850463867188e-01 1.000000000000000000e+00 -2.665199935436248779e-01 3.276799917221069336e-01 7.641199827194213867e-01 1.000000000000000000e+00 -2.681599855422973633e-01 3.382500112056732178e-01 7.804999947547912598e-01 1.000000000000000000e+00 -2.696700096130371094e-01 3.487800061702728271e-01 7.963100075721740723e-01 1.000000000000000000e+00 -2.710300087928771973e-01 3.592599928379058838e-01 8.115599751472473145e-01 1.000000000000000000e+00 -2.722600102424621582e-01 3.697000145912170410e-01 8.262400031089782715e-01 1.000000000000000000e+00 -2.733399868011474609e-01 3.800800144672393799e-01 8.403699994087219238e-01 1.000000000000000000e+00 -2.742899954319000244e-01 3.904300034046173096e-01 8.539299964904785156e-01 1.000000000000000000e+00 -2.750900089740753174e-01 4.007200002670288086e-01 8.669199943542480469e-01 1.000000000000000000e+00 -2.757599949836730957e-01 4.109700024127960205e-01 8.793600201606750488e-01 1.000000000000000000e+00 -2.762799859046936035e-01 4.211800098419189453e-01 8.912299871444702148e-01 1.000000000000000000e+00 -2.766700088977813721e-01 4.313400089740753174e-01 9.025400280952453613e-01 1.000000000000000000e+00 -2.769100069999694824e-01 4.414499998092651367e-01 9.132800102233886719e-01 1.000000000000000000e+00 -2.770099937915802002e-01 4.515199959278106689e-01 9.234700202941894531e-01 1.000000000000000000e+00 -2.769800126552581787e-01 4.615299999713897705e-01 9.330899715423583984e-01 1.000000000000000000e+00 -2.768000066280364990e-01 4.715099930763244629e-01 9.421399831771850586e-01 1.000000000000000000e+00 -2.764799892902374268e-01 4.814400076866149902e-01 9.506400227546691895e-01 1.000000000000000000e+00 -2.760300040245056152e-01 4.913200139999389648e-01 9.585700035095214844e-01 1.000000000000000000e+00 -2.754299938678741455e-01 5.011500120162963867e-01 9.659399986267089844e-01 1.000000000000000000e+00 -2.746900022029876709e-01 5.109400153160095215e-01 9.727500081062316895e-01 1.000000000000000000e+00 -2.738099992275238037e-01 5.206900238990783691e-01 9.789900183677673340e-01 1.000000000000000000e+00 -2.727299928665161133e-01 5.303999781608581543e-01 9.846100211143493652e-01 1.000000000000000000e+00 -2.710599899291992188e-01 5.401499867439270020e-01 9.893000125885009766e-01 1.000000000000000000e+00 -2.687799930572509766e-01 5.499500036239624023e-01 9.930300116539001465e-01 1.000000000000000000e+00 -2.659200131893157959e-01 5.597900152206420898e-01 9.958299994468688965e-01 1.000000000000000000e+00 -2.625199854373931885e-01 5.696700215339660645e-01 9.977300167083740234e-01 1.000000000000000000e+00 -2.586199939250946045e-01 5.795800089836120605e-01 9.987599849700927734e-01 1.000000000000000000e+00 -2.542499899864196777e-01 5.895000100135803223e-01 9.989600181579589844e-01 1.000000000000000000e+00 -2.494599968194961548e-01 5.994300246238708496e-01 9.983500242233276367e-01 1.000000000000000000e+00 -2.442699968814849854e-01 6.093699932098388672e-01 9.969699978828430176e-01 1.000000000000000000e+00 -2.387399971485137939e-01 6.193100214004516602e-01 9.948499798774719238e-01 1.000000000000000000e+00 -2.328799962997436523e-01 6.292300224304199219e-01 9.920200109481811523e-01 1.000000000000000000e+00 -2.267599999904632568e-01 6.391299962997436523e-01 9.885100126266479492e-01 1.000000000000000000e+00 -2.203900068998336792e-01 6.490100026130676270e-01 9.843599796295166016e-01 1.000000000000000000e+00 -2.138199955224990845e-01 6.588600277900695801e-01 9.795899987220764160e-01 1.000000000000000000e+00 -2.070800065994262695e-01 6.686599850654602051e-01 9.742299914360046387e-01 1.000000000000000000e+00 -2.002100050449371338e-01 6.784200072288513184e-01 9.683300256729125977e-01 1.000000000000000000e+00 -1.932599991559982300e-01 6.881200075149536133e-01 9.618999958038330078e-01 1.000000000000000000e+00 -1.862500011920928955e-01 6.977499723434448242e-01 9.549800157546997070e-01 1.000000000000000000e+00 -1.792300045490264893e-01 7.073199748992919922e-01 9.476100206375122070e-01 1.000000000000000000e+00 -1.722300052642822266e-01 7.167999744415283203e-01 9.398099780082702637e-01 1.000000000000000000e+00 -1.652899980545043945e-01 7.261999845504760742e-01 9.316099882125854492e-01 1.000000000000000000e+00 -1.584399938583374023e-01 7.355099916458129883e-01 9.230499863624572754e-01 1.000000000000000000e+00 -1.517300009727478027e-01 7.447199821472167969e-01 9.141600131988525391e-01 1.000000000000000000e+00 -1.451900005340576172e-01 7.538099884986877441e-01 9.049599766731262207e-01 1.000000000000000000e+00 -1.388600021600723267e-01 7.627900242805480957e-01 8.955000042915344238e-01 1.000000000000000000e+00 -1.327800005674362183e-01 7.716500163078308105e-01 8.858000040054321289e-01 1.000000000000000000e+00 -1.269800066947937012e-01 7.803699970245361328e-01 8.758999705314636230e-01 1.000000000000000000e+00 -1.215099990367889404e-01 7.889599800109863281e-01 8.658099770545959473e-01 1.000000000000000000e+00 -1.163899973034858704e-01 7.973999977111816406e-01 8.555899858474731445e-01 1.000000000000000000e+00 -1.116700023412704468e-01 8.056899905204772949e-01 8.452500104904174805e-01 1.000000000000000000e+00 -1.073800027370452881e-01 8.138099908828735352e-01 8.348399996757507324e-01 1.000000000000000000e+00 -1.035699993371963501e-01 8.217700123786926270e-01 8.243700265884399414e-01 1.000000000000000000e+00 -1.002599969506263733e-01 8.295500278472900391e-01 8.138899803161621094e-01 1.000000000000000000e+00 -9.749999642372131348e-02 8.371400237083435059e-01 8.034200072288513184e-01 1.000000000000000000e+00 -9.532000124454498291e-02 8.445500135421752930e-01 7.929900288581848145e-01 1.000000000000000000e+00 -9.376999735832214355e-02 8.517500162124633789e-01 7.826399803161621094e-01 1.000000000000000000e+00 -9.286999702453613281e-02 8.587499856948852539e-01 7.724000215530395508e-01 1.000000000000000000e+00 -9.267000108957290649e-02 8.655400276184082031e-01 7.623000144958496094e-01 1.000000000000000000e+00 -9.319999814033508301e-02 8.721100091934204102e-01 7.523699998855590820e-01 1.000000000000000000e+00 -9.450999647378921509e-02 8.784400224685668945e-01 7.426499724388122559e-01 1.000000000000000000e+00 -9.662000089883804321e-02 8.845400214195251465e-01 7.331600189208984375e-01 1.000000000000000000e+00 -9.957999736070632935e-02 8.903999924659729004e-01 7.239300012588500977e-01 1.000000000000000000e+00 -1.034199967980384827e-01 8.960000276565551758e-01 7.149999737739562988e-01 1.000000000000000000e+00 -1.081499978899955750e-01 9.014199972152709961e-01 7.059900164604187012e-01 1.000000000000000000e+00 -1.137399971485137939e-01 9.067299962043762207e-01 6.965100169181823730e-01 1.000000000000000000e+00 -1.201400011777877808e-01 9.119300246238708496e-01 6.866000294685363770e-01 1.000000000000000000e+00 -1.273300051689147949e-01 9.170100092887878418e-01 6.762700080871582031e-01 1.000000000000000000e+00 -1.352600008249282837e-01 9.219700098037719727e-01 6.655600070953369141e-01 1.000000000000000000e+00 -1.439100056886672974e-01 9.268000125885009766e-01 6.544799804687500000e-01 1.000000000000000000e+00 -1.532299965620040894e-01 9.315099716186523438e-01 6.430799961090087891e-01 1.000000000000000000e+00 -1.631900072097778320e-01 9.360899925231933594e-01 6.313700079917907715e-01 1.000000000000000000e+00 -1.737699955701828003e-01 9.405300021171569824e-01 6.193799972534179688e-01 1.000000000000000000e+00 -1.849099993705749512e-01 9.448400139808654785e-01 6.071299910545349121e-01 1.000000000000000000e+00 -1.965900063514709473e-01 9.490100145339965820e-01 5.946599841117858887e-01 1.000000000000000000e+00 -2.087700068950653076e-01 9.530400037765502930e-01 5.819900035858154297e-01 1.000000000000000000e+00 -2.214200049638748169e-01 9.569200277328491211e-01 5.691400170326232910e-01 1.000000000000000000e+00 -2.344900071620941162e-01 9.606500267982482910e-01 5.561400055885314941e-01 1.000000000000000000e+00 -2.479699999094009399e-01 9.642300009727478027e-01 5.430300235748291016e-01 1.000000000000000000e+00 -2.617999911308288574e-01 9.676499962806701660e-01 5.298100113868713379e-01 1.000000000000000000e+00 -2.759700119495391846e-01 9.709200263023376465e-01 5.165299773216247559e-01 1.000000000000000000e+00 -2.904199957847595215e-01 9.740300178527832031e-01 5.032100081443786621e-01 1.000000000000000000e+00 -3.051300048828125000e-01 9.769700169563293457e-01 4.898700118064880371e-01 1.000000000000000000e+00 -3.200600147247314453e-01 9.797400236129760742e-01 4.765399992465972900e-01 1.000000000000000000e+00 -3.351700007915496826e-01 9.823399782180786133e-01 4.632500112056732178e-01 1.000000000000000000e+00 -3.504300117492675781e-01 9.847699999809265137e-01 4.500199854373931885e-01 1.000000000000000000e+00 -3.658100068569183350e-01 9.870200157165527344e-01 4.368799924850463867e-01 1.000000000000000000e+00 -3.812699913978576660e-01 9.890900254249572754e-01 4.238600134849548340e-01 1.000000000000000000e+00 -3.967800140380859375e-01 9.909800291061401367e-01 4.109799861907958984e-01 1.000000000000000000e+00 -4.122900068759918213e-01 9.926800131797790527e-01 3.982599973678588867e-01 1.000000000000000000e+00 -4.277800023555755615e-01 9.941899776458740234e-01 3.857499957084655762e-01 1.000000000000000000e+00 -4.432100057601928711e-01 9.955099821090698242e-01 3.734500110149383545e-01 1.000000000000000000e+00 -4.585399925708770752e-01 9.966300129890441895e-01 3.614000082015991211e-01 1.000000000000000000e+00 -4.737499952316284180e-01 9.975500106811523438e-01 3.496299982070922852e-01 1.000000000000000000e+00 -4.887900054454803467e-01 9.982799887657165527e-01 3.381600081920623779e-01 1.000000000000000000e+00 -5.036200284957885742e-01 9.987900257110595703e-01 3.270100057125091553e-01 1.000000000000000000e+00 -5.182200074195861816e-01 9.991000294685363770e-01 3.162199854850769043e-01 1.000000000000000000e+00 -5.325499773025512695e-01 9.991899728775024414e-01 3.058100044727325439e-01 1.000000000000000000e+00 -5.465800166130065918e-01 9.990699887275695801e-01 2.958100140094757080e-01 1.000000000000000000e+00 -5.602599978446960449e-01 9.987300038337707520e-01 2.862299978733062744e-01 1.000000000000000000e+00 -5.735700130462646484e-01 9.981700181961059570e-01 2.771199941635131836e-01 1.000000000000000000e+00 -5.864599943161010742e-01 9.973899722099304199e-01 2.684899866580963135e-01 1.000000000000000000e+00 -5.989099740982055664e-01 9.963799715042114258e-01 2.603799998760223389e-01 1.000000000000000000e+00 -6.108800172805786133e-01 9.951400160789489746e-01 2.527999877929687500e-01 1.000000000000000000e+00 -6.223300099372863770e-01 9.936599731445312500e-01 2.457900047302246094e-01 1.000000000000000000e+00 -6.332299709320068359e-01 9.919499754905700684e-01 2.393700033426284790e-01 1.000000000000000000e+00 -6.436200141906738281e-01 9.899899959564208984e-01 2.335599958896636963e-01 1.000000000000000000e+00 -6.539400219917297363e-01 9.877499938011169434e-01 2.283499985933303833e-01 1.000000000000000000e+00 -6.642799973487854004e-01 9.852399826049804688e-01 2.237000018358230591e-01 1.000000000000000000e+00 -6.746199727058410645e-01 9.824600219726562500e-01 2.196000069379806519e-01 1.000000000000000000e+00 -6.849399805068969727e-01 9.794099926948547363e-01 2.160200029611587524e-01 1.000000000000000000e+00 -6.952499747276306152e-01 9.761000275611877441e-01 2.129400074481964111e-01 1.000000000000000000e+00 -7.055299878120422363e-01 9.725499749183654785e-01 2.103199958801269531e-01 1.000000000000000000e+00 -7.157700061798095703e-01 9.687500000000000000e-01 2.081499993801116943e-01 1.000000000000000000e+00 -7.259600162506103516e-01 9.646999835968017578e-01 2.064000070095062256e-01 1.000000000000000000e+00 -7.361000180244445801e-01 9.604300260543823242e-01 2.050399929285049438e-01 1.000000000000000000e+00 -7.461699843406677246e-01 9.559299945831298828e-01 2.040600031614303589e-01 1.000000000000000000e+00 -7.561699748039245605e-01 9.512100219726562500e-01 2.034299969673156738e-01 1.000000000000000000e+00 -7.660800218582153320e-01 9.462699890136718750e-01 2.031099945306777954e-01 1.000000000000000000e+00 -7.759100198745727539e-01 9.411299824714660645e-01 2.030999958515167236e-01 1.000000000000000000e+00 -7.856299877166748047e-01 9.357900023460388184e-01 2.033600062131881714e-01 1.000000000000000000e+00 -7.952399849891662598e-01 9.302499890327453613e-01 2.038599997758865356e-01 1.000000000000000000e+00 -8.047299981117248535e-01 9.245200157165527344e-01 2.045899927616119385e-01 1.000000000000000000e+00 -8.141000270843505859e-01 9.186099767684936523e-01 2.055200040340423584e-01 1.000000000000000000e+00 -8.233299851417541504e-01 9.125300049781799316e-01 2.066300064325332642e-01 1.000000000000000000e+00 -8.324099779129028320e-01 9.062700271606445312e-01 2.078800052404403687e-01 1.000000000000000000e+00 -8.413299918174743652e-01 8.998600244522094727e-01 2.092600017786026001e-01 1.000000000000000000e+00 -8.500999808311462402e-01 8.932800292968750000e-01 2.107400000095367432e-01 1.000000000000000000e+00 -8.586800098419189453e-01 8.865500092506408691e-01 2.123000025749206543e-01 1.000000000000000000e+00 -8.670899868011474609e-01 8.796799778938293457e-01 2.139099985361099243e-01 1.000000000000000000e+00 -8.752999901771545410e-01 8.726699948310852051e-01 2.155500054359436035e-01 1.000000000000000000e+00 -8.833100199699401855e-01 8.655300140380859375e-01 2.171899974346160889e-01 1.000000000000000000e+00 -8.911200165748596191e-01 8.582599759101867676e-01 2.187999933958053589e-01 1.000000000000000000e+00 -8.986999988555908203e-01 8.508700132369995117e-01 2.203799933195114136e-01 1.000000000000000000e+00 -9.060500264167785645e-01 8.433700203895568848e-01 2.218800038099288940e-01 1.000000000000000000e+00 -9.131699800491333008e-01 8.357599973678588867e-01 2.232799977064132690e-01 1.000000000000000000e+00 -9.200400114059448242e-01 8.280599713325500488e-01 2.245599925518035889e-01 1.000000000000000000e+00 -9.266600012779235840e-01 8.202499747276306152e-01 2.257000058889389038e-01 1.000000000000000000e+00 -9.330099821090698242e-01 8.123599886894226074e-01 2.266699969768524170e-01 1.000000000000000000e+00 -9.390900135040283203e-01 8.043900132179260254e-01 2.274399995803833008e-01 1.000000000000000000e+00 -9.448900222778320312e-01 7.963399887084960938e-01 2.280000001192092896e-01 1.000000000000000000e+00 -9.503899812698364258e-01 7.882300019264221191e-01 2.283100038766860962e-01 1.000000000000000000e+00 -9.556000232696533203e-01 7.800499796867370605e-01 2.283599972724914551e-01 1.000000000000000000e+00 -9.604899883270263672e-01 7.718099951744079590e-01 2.281100004911422729e-01 1.000000000000000000e+00 -9.650700092315673828e-01 7.635200023651123047e-01 2.275400012731552124e-01 1.000000000000000000e+00 -9.693099856376647949e-01 7.551900148391723633e-01 2.266300022602081299e-01 1.000000000000000000e+00 -9.732300043106079102e-01 7.468199729919433594e-01 2.253600060939788818e-01 1.000000000000000000e+00 -9.767900109291076660e-01 7.384200096130371094e-01 2.236900031566619873e-01 1.000000000000000000e+00 -9.800000190734863281e-01 7.300000190734863281e-01 2.216099947690963745e-01 1.000000000000000000e+00 -9.828900098800659180e-01 7.214000225067138672e-01 2.191800028085708618e-01 1.000000000000000000e+00 -9.854900240898132324e-01 7.124999761581420898e-01 2.164999991655349731e-01 1.000000000000000000e+00 -9.878100156784057617e-01 7.032999992370605469e-01 2.135799974203109741e-01 1.000000000000000000e+00 -9.898599982261657715e-01 6.938199996948242188e-01 2.104299962520599365e-01 1.000000000000000000e+00 -9.916300177574157715e-01 6.840800046920776367e-01 2.070599943399429321e-01 1.000000000000000000e+00 -9.931399822235107422e-01 6.740800142288208008e-01 2.034800052642822266e-01 1.000000000000000000e+00 -9.943799972534179688e-01 6.638600230216979980e-01 1.997099965810775757e-01 1.000000000000000000e+00 -9.953500032424926758e-01 6.534100174903869629e-01 1.957699954509735107e-01 1.000000000000000000e+00 -9.960700273513793945e-01 6.427699923515319824e-01 1.916500031948089600e-01 1.000000000000000000e+00 -9.965400099754333496e-01 6.319299936294555664e-01 1.873800009489059448e-01 1.000000000000000000e+00 -9.967499971389770508e-01 6.209300160408020020e-01 1.829700022935867310e-01 1.000000000000000000e+00 -9.967200160026550293e-01 6.097699999809265137e-01 1.784200072288513184e-01 1.000000000000000000e+00 -9.964399933815002441e-01 5.984600186347961426e-01 1.737599968910217285e-01 1.000000000000000000e+00 -9.959300160408020020e-01 5.870299935340881348e-01 1.689900010824203491e-01 1.000000000000000000e+00 -9.951699972152709961e-01 5.754899978637695312e-01 1.641200035810470581e-01 1.000000000000000000e+00 -9.941899776458740234e-01 5.638599991798400879e-01 1.591800004243850708e-01 1.000000000000000000e+00 -9.929699897766113281e-01 5.521399974822998047e-01 1.541700065135955811e-01 1.000000000000000000e+00 -9.915300011634826660e-01 5.403599739074707031e-01 1.491000056266784668e-01 1.000000000000000000e+00 -9.898700118064880371e-01 5.285400152206420898e-01 1.439799964427947998e-01 1.000000000000000000e+00 -9.879900217056274414e-01 5.166699886322021484e-01 1.388300061225891113e-01 1.000000000000000000e+00 -9.858999848365783691e-01 5.047900080680847168e-01 1.336700022220611572e-01 1.000000000000000000e+00 -9.836000204086303711e-01 4.929099977016448975e-01 1.284900009632110596e-01 1.000000000000000000e+00 -9.810799956321716309e-01 4.810400009155273438e-01 1.233199983835220337e-01 1.000000000000000000e+00 -9.783700108528137207e-01 4.691999852657318115e-01 1.181700006127357483e-01 1.000000000000000000e+00 -9.754499793052673340e-01 4.573999941349029541e-01 1.130499988794326782e-01 1.000000000000000000e+00 -9.723399877548217773e-01 4.456500113010406494e-01 1.079699993133544922e-01 1.000000000000000000e+00 -9.690399765968322754e-01 4.339900016784667969e-01 1.029400005936622620e-01 1.000000000000000000e+00 -9.655500054359436035e-01 4.224100112915039062e-01 9.798000007867813110e-02 1.000000000000000000e+00 -9.618700146675109863e-01 4.109300076961517334e-01 9.309999644756317139e-02 1.000000000000000000e+00 -9.580100178718566895e-01 3.995800018310546875e-01 8.831000328063964844e-02 1.000000000000000000e+00 -9.539800286293029785e-01 3.883599936962127686e-01 8.361999690532684326e-02 1.000000000000000000e+00 -9.497699737548828125e-01 3.772900104522705078e-01 7.904999703168869019e-02 1.000000000000000000e+00 -9.453799724578857422e-01 3.663800060749053955e-01 7.461000233888626099e-02 1.000000000000000000e+00 -9.408400058746337891e-01 3.556599915027618408e-01 7.030999660491943359e-02 1.000000000000000000e+00 -9.361199736595153809e-01 3.451299965381622314e-01 6.616000086069107056e-02 1.000000000000000000e+00 -9.312499761581420898e-01 3.348200023174285889e-01 6.218000128865242004e-02 1.000000000000000000e+00 -9.262300133705139160e-01 3.247300088405609131e-01 5.837000161409378052e-02 1.000000000000000000e+00 -9.210500121116638184e-01 3.148899972438812256e-01 5.474999919533729553e-02 1.000000000000000000e+00 -9.157199859619140625e-01 3.052999973297119141e-01 5.133999884128570557e-02 1.000000000000000000e+00 -9.102399945259094238e-01 2.959899902343750000e-01 4.814000055193901062e-02 1.000000000000000000e+00 -9.046300053596496582e-01 2.869600057601928711e-01 4.515999928116798401e-02 1.000000000000000000e+00 -8.988800048828125000e-01 2.782399952411651611e-01 4.242999851703643799e-02 1.000000000000000000e+00 -8.929799795150756836e-01 2.698099911212921143e-01 3.993000090122222900e-02 1.000000000000000000e+00 -8.869100213050842285e-01 2.615199983119964600e-01 3.753000125288963318e-02 1.000000000000000000e+00 -8.806599974632263184e-01 2.533400058746337891e-01 3.520999848842620850e-02 1.000000000000000000e+00 -8.742200136184692383e-01 2.452600002288818359e-01 3.297000005841255188e-02 1.000000000000000000e+00 -8.676000237464904785e-01 2.372999936342239380e-01 3.082000091671943665e-02 1.000000000000000000e+00 -8.607900142669677734e-01 2.294500023126602173e-01 2.875000052154064178e-02 1.000000000000000000e+00 -8.537999987602233887e-01 2.216999977827072144e-01 2.676999941468238831e-02 1.000000000000000000e+00 -8.466200232505798340e-01 2.140700072050094604e-01 2.487000077962875366e-02 1.000000000000000000e+00 -8.392599821090698242e-01 2.065400034189224243e-01 2.305000089108943939e-02 1.000000000000000000e+00 -8.317199945449829102e-01 1.991200000047683716e-01 2.130999974906444550e-02 1.000000000000000000e+00 -8.239899873733520508e-01 1.918199956417083740e-01 1.965999975800514221e-02 1.000000000000000000e+00 -8.160799741744995117e-01 1.846199929714202881e-01 1.809000037610530853e-02 1.000000000000000000e+00 -8.079900145530700684e-01 1.775300055742263794e-01 1.659999974071979523e-02 1.000000000000000000e+00 -7.997099757194519043e-01 1.705500036478042603e-01 1.520000025629997253e-02 1.000000000000000000e+00 -7.912499904632568359e-01 1.636800020933151245e-01 1.386999990791082382e-02 1.000000000000000000e+00 -7.825999855995178223e-01 1.569299995899200439e-01 1.264000032097101212e-02 1.000000000000000000e+00 -7.737699747085571289e-01 1.502799987792968750e-01 1.147999987006187439e-02 1.000000000000000000e+00 -7.647600173950195312e-01 1.437399983406066895e-01 1.040999963879585266e-02 1.000000000000000000e+00 -7.555599808692932129e-01 1.373099982738494873e-01 9.420000016689300537e-03 1.000000000000000000e+00 -7.461699843406677246e-01 1.309799998998641968e-01 8.510000072419643402e-03 1.000000000000000000e+00 -7.366099953651428223e-01 1.247700005769729614e-01 7.689999882131814957e-03 1.000000000000000000e+00 -7.268599867820739746e-01 1.186700016260147095e-01 6.949999835342168808e-03 1.000000000000000000e+00 -7.169200181961059570e-01 1.126800030469894409e-01 6.289999932050704956e-03 1.000000000000000000e+00 -7.067999839782714844e-01 1.067999973893165588e-01 5.710000172257423401e-03 1.000000000000000000e+00 -6.965000033378601074e-01 1.010200008749961853e-01 5.220000166445970535e-03 1.000000000000000000e+00 -6.860200166702270508e-01 9.536000341176986694e-02 4.809999838471412659e-03 1.000000000000000000e+00 -6.753500103950500488e-01 8.980000019073486328e-02 4.490000195801258087e-03 1.000000000000000000e+00 -6.644899845123291016e-01 8.436000347137451172e-02 4.240000154823064804e-03 1.000000000000000000e+00 -6.534500122070312500e-01 7.902000099420547485e-02 4.079999867826700211e-03 1.000000000000000000e+00 -6.422299742698669434e-01 7.379999756813049316e-02 4.009999800473451614e-03 1.000000000000000000e+00 -6.308199763298034668e-01 6.868000328540802002e-02 4.009999800473451614e-03 1.000000000000000000e+00 -6.192299723625183105e-01 6.367000192403793335e-02 4.100000020116567612e-03 1.000000000000000000e+00 -6.074600219726562500e-01 5.877999961376190186e-02 4.269999917596578598e-03 1.000000000000000000e+00 -5.954999923706054688e-01 5.398999899625778198e-02 4.530000034719705582e-03 1.000000000000000000e+00 -5.833600163459777832e-01 4.930999875068664551e-02 4.860000219196081161e-03 1.000000000000000000e+00 -5.710300207138061523e-01 4.473999887704849243e-02 5.289999768137931824e-03 1.000000000000000000e+00 -5.585200190544128418e-01 4.027999937534332275e-02 5.789999850094318390e-03 1.000000000000000000e+00 -5.458300113677978516e-01 3.593000024557113647e-02 6.380000151693820953e-03 1.000000000000000000e+00 -5.329499840736389160e-01 3.169000148773193359e-02 7.050000131130218506e-03 1.000000000000000000e+00 -5.198900103569030762e-01 2.755999937653541565e-02 7.799999788403511047e-03 1.000000000000000000e+00 -5.066400170326232910e-01 2.353999949991703033e-02 8.630000054836273193e-03 1.000000000000000000e+00 -4.932099878787994385e-01 1.962999999523162842e-02 9.549999609589576721e-03 1.000000000000000000e+00 -4.796000123023986816e-01 1.583000086247920990e-02 1.054999977350234985e-02 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/twilight b/fastplotlib/utils/colormaps/twilight deleted file mode 100644 index c148a835c..000000000 --- a/fastplotlib/utils/colormaps/twilight +++ /dev/null @@ -1,256 +0,0 @@ -8.857501745223999023e-01 8.500092625617980957e-01 8.879736661911010742e-01 1.000000000000000000e+00 -8.837851881980895996e-01 8.507294058799743652e-01 8.872322440147399902e-01 1.000000000000000000e+00 -8.817223310470581055e-01 8.512759208679199219e-01 8.863805532455444336e-01 1.000000000000000000e+00 -8.795410394668579102e-01 8.516567349433898926e-01 8.854143619537353516e-01 1.000000000000000000e+00 -8.772488236427307129e-01 8.518702983856201172e-01 8.843411803245544434e-01 1.000000000000000000e+00 -8.748534917831420898e-01 8.519152402877807617e-01 8.831692934036254883e-01 1.000000000000000000e+00 -8.723313212394714355e-01 8.518016338348388672e-01 8.818970322608947754e-01 1.000000000000000000e+00 -8.697047233581542969e-01 8.515240550041198730e-01 8.805388212203979492e-01 1.000000000000000000e+00 -8.669601678848266602e-01 8.510895967483520508e-01 8.790976405143737793e-01 1.000000000000000000e+00 -8.640898466110229492e-01 8.505039215087890625e-01 8.775792717933654785e-01 1.000000000000000000e+00 -8.611024618148803711e-01 8.497675657272338867e-01 8.759924173355102539e-01 1.000000000000000000e+00 -8.579825758934020996e-01 8.488893508911132812e-01 8.743404150009155273e-01 1.000000000000000000e+00 -8.547259569168090820e-01 8.478748798370361328e-01 8.726282715797424316e-01 1.000000000000000000e+00 -8.513371348381042480e-01 8.467273712158203125e-01 8.708608150482177734e-01 1.000000000000000000e+00 -8.478071093559265137e-01 8.454546332359313965e-01 8.690403699874877930e-01 1.000000000000000000e+00 -8.441261649131774902e-01 8.440648317337036133e-01 8.671697378158569336e-01 1.000000000000000000e+00 -8.403041958808898926e-01 8.425605893135070801e-01 8.652508854866027832e-01 1.000000000000000000e+00 -8.363403081893920898e-01 8.409479856491088867e-01 8.632853031158447266e-01 1.000000000000000000e+00 -8.322270512580871582e-01 8.392348885536193848e-01 8.612756133079528809e-01 1.000000000000000000e+00 -8.279689550399780273e-01 8.374260067939758301e-01 8.592240214347839355e-01 1.000000000000000000e+00 -8.235743045806884766e-01 8.355248570442199707e-01 8.571318984031677246e-01 1.000000000000000000e+00 -8.190465569496154785e-01 8.335365056991577148e-01 8.550020456314086914e-01 1.000000000000000000e+00 -8.143898248672485352e-01 8.314656019210815430e-01 8.528375625610351562e-01 1.000000000000000000e+00 -8.095999956130981445e-01 8.293189406394958496e-01 8.506444096565246582e-01 1.000000000000000000e+00 -8.046916723251342773e-01 8.270983695983886719e-01 8.484244942665100098e-01 1.000000000000000000e+00 -7.996707558631896973e-01 8.248078227043151855e-01 8.461821079254150391e-01 1.000000000000000000e+00 -7.945430278778076172e-01 8.224511742591857910e-01 8.439218401908874512e-01 1.000000000000000000e+00 -7.893144488334655762e-01 8.200321197509765625e-01 8.416486382484436035e-01 1.000000000000000000e+00 -7.839910387992858887e-01 8.175542354583740234e-01 8.393674492835998535e-01 1.000000000000000000e+00 -7.785789370536804199e-01 8.150209188461303711e-01 8.370834589004516602e-01 1.000000000000000000e+00 -7.730841636657714844e-01 8.124352693557739258e-01 8.348017334938049316e-01 1.000000000000000000e+00 -7.675110697746276855e-01 8.098007440567016602e-01 8.325281739234924316e-01 1.000000000000000000e+00 -7.618690729141235352e-01 8.071194887161254883e-01 8.302664756774902344e-01 1.000000000000000000e+00 -7.561644315719604492e-01 8.043940663337707520e-01 8.280214071273803711e-01 1.000000000000000000e+00 -7.504034638404846191e-01 8.016269803047180176e-01 8.257973790168762207e-01 1.000000000000000000e+00 -7.445924878120422363e-01 7.988204956054687500e-01 8.235986828804016113e-01 1.000000000000000000e+00 -7.387377023696899414e-01 7.959766387939453125e-01 8.214292526245117188e-01 1.000000000000000000e+00 -7.328454256057739258e-01 7.930974364280700684e-01 8.192926049232482910e-01 1.000000000000000000e+00 -7.269217967987060547e-01 7.901846766471862793e-01 8.171921968460083008e-01 1.000000000000000000e+00 -7.209728360176086426e-01 7.872399687767028809e-01 8.151307106018066406e-01 1.000000000000000000e+00 -7.150040268898010254e-01 7.842648625373840332e-01 8.131111860275268555e-01 1.000000000000000000e+00 -7.090207934379577637e-01 7.812609076499938965e-01 8.111359477043151855e-01 1.000000000000000000e+00 -7.030297517776489258e-01 7.782290577888488770e-01 8.092061877250671387e-01 1.000000000000000000e+00 -6.970365643501281738e-01 7.751705050468444824e-01 8.073233366012573242e-01 1.000000000000000000e+00 -6.910464167594909668e-01 7.720863223075866699e-01 8.054884076118469238e-01 1.000000000000000000e+00 -6.850644350051879883e-01 7.689774036407470703e-01 8.037020564079284668e-01 1.000000000000000000e+00 -6.790955662727355957e-01 7.658447027206420898e-01 8.019646406173706055e-01 1.000000000000000000e+00 -6.731442213058471680e-01 7.626891136169433594e-01 8.002762794494628906e-01 1.000000000000000000e+00 -6.672148108482360840e-01 7.595112919807434082e-01 7.986367344856262207e-01 1.000000000000000000e+00 -6.613112688064575195e-01 7.563120126724243164e-01 7.970455884933471680e-01 1.000000000000000000e+00 -6.554369330406188965e-01 7.530921101570129395e-01 7.955027222633361816e-01 1.000000000000000000e+00 -6.495957374572753906e-01 7.498520016670227051e-01 7.940067648887634277e-01 1.000000000000000000e+00 -6.437910795211791992e-01 7.465924024581909180e-01 7.925565242767333984e-01 1.000000000000000000e+00 -6.380258798599243164e-01 7.433137893676757812e-01 7.911509871482849121e-01 1.000000000000000000e+00 -6.323027014732360840e-01 7.400166988372802734e-01 7.897889018058776855e-01 1.000000000000000000e+00 -6.266240477561950684e-01 7.367017269134521484e-01 7.884690165519714355e-01 1.000000000000000000e+00 -6.209919452667236328e-01 7.333693504333496094e-01 7.871899604797363281e-01 1.000000000000000000e+00 -6.154084801673889160e-01 7.300199270248413086e-01 7.859502434730529785e-01 1.000000000000000000e+00 -6.098754405975341797e-01 7.266539931297302246e-01 7.847483754158020020e-01 1.000000000000000000e+00 -6.043943166732788086e-01 7.232718467712402344e-01 7.835829854011535645e-01 1.000000000000000000e+00 -5.989665985107421875e-01 7.198739647865295410e-01 7.824525833129882812e-01 1.000000000000000000e+00 -5.935933589935302734e-01 7.164605855941772461e-01 7.813558578491210938e-01 1.000000000000000000e+00 -5.882757902145385742e-01 7.130321264266967773e-01 7.802914381027221680e-01 1.000000000000000000e+00 -5.830148458480834961e-01 7.095888853073120117e-01 7.792578339576721191e-01 1.000000000000000000e+00 -5.778116583824157715e-01 7.061310410499572754e-01 7.782534360885620117e-01 1.000000000000000000e+00 -5.726668834686279297e-01 7.026589512825012207e-01 7.772770524024963379e-01 1.000000000000000000e+00 -5.675811767578125000e-01 6.991727948188781738e-01 7.763274908065795898e-01 1.000000000000000000e+00 -5.625551342964172363e-01 6.956728100776672363e-01 7.754036188125610352e-01 1.000000000000000000e+00 -5.575894117355346680e-01 6.921591162681579590e-01 7.745041251182556152e-01 1.000000000000000000e+00 -5.526844859123229980e-01 6.886319518089294434e-01 7.736279368400573730e-01 1.000000000000000000e+00 -5.478409528732299805e-01 6.850914359092712402e-01 7.727738618850708008e-01 1.000000000000000000e+00 -5.430593490600585938e-01 6.815376877784729004e-01 7.719407677650451660e-01 1.000000000000000000e+00 -5.383401513099670410e-01 6.779708266258239746e-01 7.711273431777954102e-01 1.000000000000000000e+00 -5.336838960647583008e-01 6.743909120559692383e-01 7.703325152397155762e-01 1.000000000000000000e+00 -5.290908813476562500e-01 6.707981228828430176e-01 7.695555090904235840e-01 1.000000000000000000e+00 -5.245615243911743164e-01 6.671924591064453125e-01 7.687954306602478027e-01 1.000000000000000000e+00 -5.200963020324707031e-01 6.635739207267761230e-01 7.680512070655822754e-01 1.000000000000000000e+00 -5.156955718994140625e-01 6.599426269531250000e-01 7.673219442367553711e-01 1.000000000000000000e+00 -5.113599300384521484e-01 6.562985181808471680e-01 7.666066288948059082e-01 1.000000000000000000e+00 -5.070896744728088379e-01 6.526417136192321777e-01 7.659044861793518066e-01 1.000000000000000000e+00 -5.028853416442871094e-01 6.489721536636352539e-01 7.652144432067871094e-01 1.000000000000000000e+00 -4.987473487854003906e-01 6.452898979187011719e-01 7.645357847213745117e-01 1.000000000000000000e+00 -4.946761727333068848e-01 6.415948271751403809e-01 7.638671994209289551e-01 1.000000000000000000e+00 -4.906722605228424072e-01 6.378870606422424316e-01 7.632081508636474609e-01 1.000000000000000000e+00 -4.867359697818756104e-01 6.341664791107177734e-01 7.625578045845031738e-01 1.000000000000000000e+00 -4.828677773475646973e-01 6.304330229759216309e-01 7.619153857231140137e-01 1.000000000000000000e+00 -4.790681600570678711e-01 6.266867518424987793e-01 7.612800002098083496e-01 1.000000000000000000e+00 -4.753375351428985596e-01 6.229275465011596680e-01 7.606508731842041016e-01 1.000000000000000000e+00 -4.716762900352478027e-01 6.191554069519042969e-01 7.600271105766296387e-01 1.000000000000000000e+00 -4.680849015712738037e-01 6.153702735900878906e-01 7.594078779220581055e-01 1.000000000000000000e+00 -4.645637571811676025e-01 6.115720868110656738e-01 7.587924003601074219e-01 1.000000000000000000e+00 -4.611132740974426270e-01 6.077607870101928711e-01 7.581798434257507324e-01 1.000000000000000000e+00 -4.577337801456451416e-01 6.039363145828247070e-01 7.575693726539611816e-01 1.000000000000000000e+00 -4.544256329536437988e-01 6.000986099243164062e-01 7.569601535797119141e-01 1.000000000000000000e+00 -4.511891901493072510e-01 5.962476134300231934e-01 7.563512325286865234e-01 1.000000000000000000e+00 -4.480247199535369873e-01 5.923833250999450684e-01 7.557417750358581543e-01 1.000000000000000000e+00 -4.449324607849121094e-01 5.885056257247924805e-01 7.551311254501342773e-01 1.000000000000000000e+00 -4.419127106666564941e-01 5.846143960952758789e-01 7.545183897018432617e-01 1.000000000000000000e+00 -4.389656484127044678e-01 5.807096958160400391e-01 7.539027333259582520e-01 1.000000000000000000e+00 -4.360913932323455811e-01 5.767914056777954102e-01 7.532833814620971680e-01 1.000000000000000000e+00 -4.332900941371917725e-01 5.728594064712524414e-01 7.526594400405883789e-01 1.000000000000000000e+00 -4.305617809295654297e-01 5.689137578010559082e-01 7.520300745964050293e-01 1.000000000000000000e+00 -4.279065132141113281e-01 5.649542808532714844e-01 7.513944506645202637e-01 1.000000000000000000e+00 -4.253242313861846924e-01 5.609810352325439453e-01 7.507516741752624512e-01 1.000000000000000000e+00 -4.228148460388183594e-01 5.569939017295837402e-01 7.501008510589599609e-01 1.000000000000000000e+00 -4.203782379627227783e-01 5.529928803443908691e-01 7.494412660598754883e-01 1.000000000000000000e+00 -4.180141389369964600e-01 5.489778518676757812e-01 7.487719058990478516e-01 1.000000000000000000e+00 -4.157223403453826904e-01 5.449488162994384766e-01 7.480920553207397461e-01 1.000000000000000000e+00 -4.135024547576904297e-01 5.409057736396789551e-01 7.474007606506347656e-01 1.000000000000000000e+00 -4.113541543483734131e-01 5.368486046791076660e-01 7.466971278190612793e-01 1.000000000000000000e+00 -4.092769026756286621e-01 5.327773094177246094e-01 7.459803223609924316e-01 1.000000000000000000e+00 -4.072701930999755859e-01 5.286918878555297852e-01 7.452494502067565918e-01 1.000000000000000000e+00 -4.053334295749664307e-01 5.245922803878784180e-01 7.445036768913269043e-01 1.000000000000000000e+00 -4.034660160541534424e-01 5.204784870147705078e-01 7.437421679496765137e-01 1.000000000000000000e+00 -4.016671478748321533e-01 5.163504481315612793e-01 7.429640293121337891e-01 1.000000000000000000e+00 -3.999360799789428711e-01 5.122081637382507324e-01 7.421684265136718750e-01 1.000000000000000000e+00 -3.982719182968139648e-01 5.080516934394836426e-01 7.413545250892639160e-01 1.000000000000000000e+00 -3.966737389564514160e-01 5.038809180259704590e-01 7.405213713645935059e-01 1.000000000000000000e+00 -3.951405882835388184e-01 4.996958673000335693e-01 7.396681904792785645e-01 1.000000000000000000e+00 -3.936713635921478271e-01 4.954965710639953613e-01 7.387940883636474609e-01 1.000000000000000000e+00 -3.922649621963500977e-01 4.912829995155334473e-01 7.378982305526733398e-01 1.000000000000000000e+00 -3.909201622009277344e-01 4.870552122592926025e-01 7.369797825813293457e-01 1.000000000000000000e+00 -3.896358013153076172e-01 4.828131794929504395e-01 7.360378503799438477e-01 1.000000000000000000e+00 -3.884105384349822998e-01 4.785569012165069580e-01 7.350715994834899902e-01 1.000000000000000000e+00 -3.872430026531219482e-01 4.742864668369293213e-01 7.340801954269409180e-01 1.000000000000000000e+00 -3.861318528652191162e-01 4.700018465518951416e-01 7.330628037452697754e-01 1.000000000000000000e+00 -3.850755691528320312e-01 4.657030701637268066e-01 7.320185303688049316e-01 1.000000000000000000e+00 -3.840726912021636963e-01 4.613901972770690918e-01 7.309466600418090820e-01 1.000000000000000000e+00 -3.831216692924499512e-01 4.570632278919219971e-01 7.298462390899658203e-01 1.000000000000000000e+00 -3.822209537029266357e-01 4.527222514152526855e-01 7.287165522575378418e-01 1.000000000000000000e+00 -3.813688755035400391e-01 4.483672678470611572e-01 7.275567054748535156e-01 1.000000000000000000e+00 -3.805637955665588379e-01 4.439983665943145752e-01 7.263658642768859863e-01 1.000000000000000000e+00 -3.798040449619293213e-01 4.396155774593353271e-01 7.251432538032531738e-01 1.000000000000000000e+00 -3.790878951549530029e-01 4.352189898490905762e-01 7.238879799842834473e-01 1.000000000000000000e+00 -3.784136474132537842e-01 4.308086037635803223e-01 7.225993275642395020e-01 1.000000000000000000e+00 -3.777794837951660156e-01 4.263845086097717285e-01 7.212764024734497070e-01 1.000000000000000000e+00 -3.771837055683135986e-01 4.219467937946319580e-01 7.199184298515319824e-01 1.000000000000000000e+00 -3.766244947910308838e-01 4.174955487251281738e-01 7.185245752334594727e-01 1.000000000000000000e+00 -3.761000037193298340e-01 4.130308032035827637e-01 7.170939445495605469e-01 1.000000000000000000e+00 -3.756084740161895752e-01 4.085526764392852783e-01 7.156258225440979004e-01 1.000000000000000000e+00 -3.751480281352996826e-01 4.040612578392028809e-01 7.141193747520446777e-01 1.000000000000000000e+00 -3.747168481349945068e-01 3.995566368103027344e-01 7.125737071037292480e-01 1.000000000000000000e+00 -3.743131458759307861e-01 3.950389623641967773e-01 7.109879851341247559e-01 1.000000000000000000e+00 -3.739349842071533203e-01 3.905082643032073975e-01 7.093613147735595703e-01 1.000000000000000000e+00 -3.735806345939636230e-01 3.859647512435913086e-01 7.076929807662963867e-01 1.000000000000000000e+00 -3.732481598854064941e-01 3.814084827899932861e-01 7.059820294380187988e-01 1.000000000000000000e+00 -3.729357719421386719e-01 3.768396377563476562e-01 7.042275667190551758e-01 1.000000000000000000e+00 -3.726416528224945068e-01 3.722583353519439697e-01 7.024287581443786621e-01 1.000000000000000000e+00 -3.723639845848083496e-01 3.676647841930389404e-01 7.005846500396728516e-01 1.000000000000000000e+00 -3.721008896827697754e-01 3.630591034889221191e-01 6.986943483352661133e-01 1.000000000000000000e+00 -3.718506097793579102e-01 3.584414720535278320e-01 6.967569589614868164e-01 1.000000000000000000e+00 -3.716113269329071045e-01 3.538121283054351807e-01 6.947715282440185547e-01 1.000000000000000000e+00 -3.713812530040740967e-01 3.491712808609008789e-01 6.927370429039001465e-01 1.000000000000000000e+00 -3.711585700511932373e-01 3.445191085338592529e-01 6.906525492668151855e-01 1.000000000000000000e+00 -3.709415197372436523e-01 3.398559093475341797e-01 6.885170340538024902e-01 1.000000000000000000e+00 -3.707283437252044678e-01 3.351819515228271484e-01 6.863294839859008789e-01 1.000000000000000000e+00 -3.705173730850219727e-01 3.304974138736724854e-01 6.840888857841491699e-01 1.000000000000000000e+00 -3.703068196773529053e-01 3.258026838302612305e-01 6.817941069602966309e-01 1.000000000000000000e+00 -3.700948655605316162e-01 3.210981488227844238e-01 6.794440746307373047e-01 1.000000000000000000e+00 -3.698798120021820068e-01 3.163841068744659424e-01 6.770375370979309082e-01 1.000000000000000000e+00 -3.696598708629608154e-01 3.116609752178192139e-01 6.745734214782714844e-01 1.000000000000000000e+00 -3.694333434104919434e-01 3.069292306900024414e-01 6.720505356788635254e-01 1.000000000000000000e+00 -3.691984713077545166e-01 3.021893203258514404e-01 6.694675683975219727e-01 1.000000000000000000e+00 -3.689535558223724365e-01 2.974417507648468018e-01 6.668232083320617676e-01 1.000000000000000000e+00 -3.686968088150024414e-01 2.926870882511138916e-01 6.641162633895874023e-01 1.000000000000000000e+00 -3.684265613555908203e-01 2.879259586334228516e-01 6.613452434539794922e-01 1.000000000000000000e+00 -3.681410253047943115e-01 2.831590175628662109e-01 6.585088968276977539e-01 1.000000000000000000e+00 -3.678384423255920410e-01 2.783869802951812744e-01 6.556056737899780273e-01 1.000000000000000000e+00 -3.675170838832855225e-01 2.736106216907501221e-01 6.526341438293457031e-01 1.000000000000000000e+00 -3.671751320362091064e-01 2.688308656215667725e-01 6.495926976203918457e-01 1.000000000000000000e+00 -3.668108582496643066e-01 2.640485763549804688e-01 6.464799046516418457e-01 1.000000000000000000e+00 -3.664224445819854736e-01 2.592647969722747803e-01 6.432940959930419922e-01 1.000000000000000000e+00 -3.660085499286651611e-01 2.544804513454437256e-01 6.400336027145385742e-01 1.000000000000000000e+00 -3.655669689178466797e-01 2.496968358755111694e-01 6.366967558860778809e-01 1.000000000000000000e+00 -3.650957942008972168e-01 2.449153661727905273e-01 6.332817077636718750e-01 1.000000000000000000e+00 -3.645930886268615723e-01 2.401374727487564087e-01 6.297867894172668457e-01 1.000000000000000000e+00 -3.640569448471069336e-01 2.353647053241729736e-01 6.262101531028747559e-01 1.000000000000000000e+00 -3.634853661060333252e-01 2.305987626314163208e-01 6.225498914718627930e-01 1.000000000000000000e+00 -3.628764450550079346e-01 2.258414924144744873e-01 6.188041567802429199e-01 1.000000000000000000e+00 -3.622280955314636230e-01 2.210948914289474487e-01 6.149711012840270996e-01 1.000000000000000000e+00 -3.615382909774780273e-01 2.163611203432083130e-01 6.110488176345825195e-01 1.000000000000000000e+00 -3.608049452304840088e-01 2.116425186395645142e-01 6.070353388786315918e-01 1.000000000000000000e+00 -3.600268065929412842e-01 2.069412320852279663e-01 6.029284596443176270e-01 1.000000000000000000e+00 -3.592008948326110840e-01 2.022603750228881836e-01 5.987265110015869141e-01 1.000000000000000000e+00 -3.583248853683471680e-01 1.976029425859451294e-01 5.944277048110961914e-01 1.000000000000000000e+00 -3.573966324329376221e-01 1.929720789194107056e-01 5.900301337242126465e-01 1.000000000000000000e+00 -3.564138114452362061e-01 1.883711963891983032e-01 5.855320692062377930e-01 1.000000000000000000e+00 -3.553741574287414551e-01 1.838039308786392212e-01 5.809319019317626953e-01 1.000000000000000000e+00 -3.542753458023071289e-01 1.792741268873214722e-01 5.762280821800231934e-01 1.000000000000000000e+00 -3.531157374382019043e-01 1.747857034206390381e-01 5.714187026023864746e-01 1.000000000000000000e+00 -3.518924713134765625e-01 1.703432053327560425e-01 5.665028691291809082e-01 1.000000000000000000e+00 -3.506030440330505371e-01 1.659512966871261597e-01 5.614796280860900879e-01 1.000000000000000000e+00 -3.492451310157775879e-01 1.616147756576538086e-01 5.563483834266662598e-01 1.000000000000000000e+00 -3.478165268898010254e-01 1.573386341333389282e-01 5.511085391044616699e-01 1.000000000000000000e+00 -3.463150858879089355e-01 1.531280279159545898e-01 5.457599759101867676e-01 1.000000000000000000e+00 -3.447390198707580566e-01 1.489882022142410278e-01 5.403024554252624512e-01 1.000000000000000000e+00 -3.430860042572021484e-01 1.449246555566787720e-01 5.347370505332946777e-01 1.000000000000000000e+00 -3.413541018962860107e-01 1.409427970647811890e-01 5.290650129318237305e-01 1.000000000000000000e+00 -3.395416736602783203e-01 1.370480209589004517e-01 5.232879519462585449e-01 1.000000000000000000e+00 -3.376473188400268555e-01 1.332456171512603760e-01 5.174080729484558105e-01 1.000000000000000000e+00 -3.356697857379913330e-01 1.295407414436340332e-01 5.114280581474304199e-01 1.000000000000000000e+00 -3.336080610752105713e-01 1.259381771087646484e-01 5.053516626358032227e-01 1.000000000000000000e+00 -3.314615488052368164e-01 1.224424540996551514e-01 4.991827607154846191e-01 1.000000000000000000e+00 -3.292300403118133545e-01 1.190576404333114624e-01 4.929259419441223145e-01 1.000000000000000000e+00 -3.269137144088745117e-01 1.157873496413230896e-01 4.865864515304565430e-01 1.000000000000000000e+00 -3.245130777359008789e-01 1.126345992088317871e-01 4.801700711250305176e-01 1.000000000000000000e+00 -3.220288157463073730e-01 1.096011400222778320e-01 4.736849367618560791e-01 1.000000000000000000e+00 -3.194626271724700928e-01 1.066887974739074707e-01 4.671372771263122559e-01 1.000000000000000000e+00 -3.168164789676666260e-01 1.038986146450042725e-01 4.605341553688049316e-01 1.000000000000000000e+00 -3.140927851200103760e-01 1.012307778000831604e-01 4.538833498954772949e-01 1.000000000000000000e+00 -3.112943470478057861e-01 9.868477284908294678e-02 4.471931457519531250e-01 1.000000000000000000e+00 -3.084244430065155029e-01 9.625938534736633301e-02 4.404719471931457520e-01 1.000000000000000000e+00 -3.054867684841156006e-01 9.395276755094528198e-02 4.337284862995147705e-01 1.000000000000000000e+00 -3.024853765964508057e-01 9.176118671894073486e-02 4.269740283489227295e-01 1.000000000000000000e+00 -2.994248270988464355e-01 8.968225121498107910e-02 4.202162027359008789e-01 1.000000000000000000e+00 -2.963100075721740723e-01 8.771324902772903442e-02 4.134625792503356934e-01 1.000000000000000000e+00 -2.931459248065948486e-01 8.585065603256225586e-02 4.067217707633972168e-01 1.000000000000000000e+00 -2.899379134178161621e-01 8.409079164266586304e-02 4.000021517276763916e-01 1.000000000000000000e+00 -2.866915166378021240e-01 8.242987096309661865e-02 3.933118283748626709e-01 1.000000000000000000e+00 -2.834123969078063965e-01 8.086415380239486694e-02 3.866586983203887939e-01 1.000000000000000000e+00 -2.801063954830169678e-01 7.938999682664871216e-02 3.800502717494964600e-01 1.000000000000000000e+00 -2.767793834209442139e-01 7.800394296646118164e-02 3.734938204288482666e-01 1.000000000000000000e+00 -2.734373807907104492e-01 7.670280337333679199e-02 3.669961690902709961e-01 1.000000000000000000e+00 -2.700863778591156006e-01 7.548367232084274292e-02 3.605637550354003906e-01 1.000000000000000000e+00 -2.667323350906372070e-01 7.434401661157608032e-02 3.542027473449707031e-01 1.000000000000000000e+00 -2.633812129497528076e-01 7.328166067600250244e-02 3.479188978672027588e-01 1.000000000000000000e+00 -2.600389420986175537e-01 7.229477912187576294e-02 3.417175710201263428e-01 1.000000000000000000e+00 -2.567119300365447998e-01 7.138010859489440918e-02 3.356064856052398682e-01 1.000000000000000000e+00 -2.534068524837493896e-01 7.053358107805252075e-02 3.295945823192596436e-01 1.000000000000000000e+00 -2.501284480094909668e-01 6.975820660591125488e-02 3.236809968948364258e-01 1.000000000000000000e+00 -2.468822598457336426e-01 6.905364245176315308e-02 3.178699314594268799e-01 1.000000000000000000e+00 -2.436737269163131714e-01 6.841985881328582764e-02 3.121652305126190186e-01 1.000000000000000000e+00 -2.405081391334533691e-01 6.785710155963897705e-02 3.065705597400665283e-01 1.000000000000000000e+00 -2.373906224966049194e-01 6.736588478088378906e-02 3.010892271995544434e-01 1.000000000000000000e+00 -2.343305498361587524e-01 6.693559885025024414e-02 2.957400977611541748e-01 1.000000000000000000e+00 -2.313295453786849976e-01 6.657619029283523560e-02 2.905136048793792725e-01 1.000000000000000000e+00 -2.283917665481567383e-01 6.628997623920440674e-02 2.854107320308685303e-01 1.000000000000000000e+00 -2.255216389894485474e-01 6.607817113399505615e-02 2.804339826107025146e-01 1.000000000000000000e+00 -2.227270603179931641e-01 6.593379378318786621e-02 2.755971550941467285e-01 1.000000000000000000e+00 -2.200125157833099365e-01 6.585791707038879395e-02 2.709028124809265137e-01 1.000000000000000000e+00 -2.173784524202346802e-01 6.585966050624847412e-02 2.663421034812927246e-01 1.000000000000000000e+00 -2.148284316062927246e-01 6.594038754701614380e-02 2.619167566299438477e-01 1.000000000000000000e+00 -2.123741060495376587e-01 6.608502566814422607e-02 2.576516568660736084e-01 1.000000000000000000e+00 -2.100121378898620605e-01 6.630857288837432861e-02 2.535288929939270020e-01 1.000000000000000000e+00 -2.077442407608032227e-01 6.661453098058700562e-02 2.495464384555816650e-01 1.000000000000000000e+00 -2.055805176496505737e-01 6.699046492576599121e-02 2.457249760627746582e-01 1.000000000000000000e+00 -2.035200744867324829e-01 6.744418293237686157e-02 2.420557588338851929e-01 1.000000000000000000e+00 -2.015613317489624023e-01 6.798326969146728516e-02 2.385297417640686035e-01 1.000000000000000000e+00 -1.997157186269760132e-01 6.859271228313446045e-02 2.351709455251693726e-01 1.000000000000000000e+00 -1.979483366012573242e-01 6.931406259536743164e-02 2.319464683532714844e-01 1.000000000000000000e+00 -1.960826069116592407e-01 7.032122462987899780e-02 2.287467271089553833e-01 1.000000000000000000e+00 -1.941035091876983643e-01 7.160830497741699219e-02 2.255872786045074463e-01 1.000000000000000000e+00 -1.919944882392883301e-01 7.318282872438430786e-02 2.224338501691818237e-01 1.000000000000000000e+00 -1.897585391998291016e-01 7.501985877752304077e-02 2.193005084991455078e-01 1.000000000000000000e+00 -1.873922795057296753e-01 7.710209488868713379e-02 2.161887586116790771e-01 1.000000000000000000e+00 -1.848803609609603882e-01 7.942572981119155884e-02 2.130765169858932495e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/twilight_shifted b/fastplotlib/utils/colormaps/twilight_shifted deleted file mode 100644 index b57b2270b..000000000 --- a/fastplotlib/utils/colormaps/twilight_shifted +++ /dev/null @@ -1,256 +0,0 @@ -1.873922795057296753e-01 7.710209488868713379e-02 2.161887586116790771e-01 1.000000000000000000e+00 -1.897585391998291016e-01 7.501985877752304077e-02 2.193005084991455078e-01 1.000000000000000000e+00 -1.919944882392883301e-01 7.318282872438430786e-02 2.224338501691818237e-01 1.000000000000000000e+00 -1.941035091876983643e-01 7.160830497741699219e-02 2.255872786045074463e-01 1.000000000000000000e+00 -1.960826069116592407e-01 7.032122462987899780e-02 2.287467271089553833e-01 1.000000000000000000e+00 -1.979483366012573242e-01 6.931406259536743164e-02 2.319464683532714844e-01 1.000000000000000000e+00 -1.997157186269760132e-01 6.859271228313446045e-02 2.351709455251693726e-01 1.000000000000000000e+00 -2.015613317489624023e-01 6.798326969146728516e-02 2.385297417640686035e-01 1.000000000000000000e+00 -2.035200744867324829e-01 6.744418293237686157e-02 2.420557588338851929e-01 1.000000000000000000e+00 -2.055805176496505737e-01 6.699046492576599121e-02 2.457249760627746582e-01 1.000000000000000000e+00 -2.077442407608032227e-01 6.661453098058700562e-02 2.495464384555816650e-01 1.000000000000000000e+00 -2.100121378898620605e-01 6.630857288837432861e-02 2.535288929939270020e-01 1.000000000000000000e+00 -2.123741060495376587e-01 6.608502566814422607e-02 2.576516568660736084e-01 1.000000000000000000e+00 -2.148284316062927246e-01 6.594038754701614380e-02 2.619167566299438477e-01 1.000000000000000000e+00 -2.173784524202346802e-01 6.585966050624847412e-02 2.663421034812927246e-01 1.000000000000000000e+00 -2.200125157833099365e-01 6.585791707038879395e-02 2.709028124809265137e-01 1.000000000000000000e+00 -2.227270603179931641e-01 6.593379378318786621e-02 2.755971550941467285e-01 1.000000000000000000e+00 -2.255216389894485474e-01 6.607817113399505615e-02 2.804339826107025146e-01 1.000000000000000000e+00 -2.283917665481567383e-01 6.628997623920440674e-02 2.854107320308685303e-01 1.000000000000000000e+00 -2.313295453786849976e-01 6.657619029283523560e-02 2.905136048793792725e-01 1.000000000000000000e+00 -2.343305498361587524e-01 6.693559885025024414e-02 2.957400977611541748e-01 1.000000000000000000e+00 -2.373906224966049194e-01 6.736588478088378906e-02 3.010892271995544434e-01 1.000000000000000000e+00 -2.405081391334533691e-01 6.785710155963897705e-02 3.065705597400665283e-01 1.000000000000000000e+00 -2.436737269163131714e-01 6.841985881328582764e-02 3.121652305126190186e-01 1.000000000000000000e+00 -2.468822598457336426e-01 6.905364245176315308e-02 3.178699314594268799e-01 1.000000000000000000e+00 -2.501284480094909668e-01 6.975820660591125488e-02 3.236809968948364258e-01 1.000000000000000000e+00 -2.534068524837493896e-01 7.053358107805252075e-02 3.295945823192596436e-01 1.000000000000000000e+00 -2.567119300365447998e-01 7.138010859489440918e-02 3.356064856052398682e-01 1.000000000000000000e+00 -2.600389420986175537e-01 7.229477912187576294e-02 3.417175710201263428e-01 1.000000000000000000e+00 -2.633812129497528076e-01 7.328166067600250244e-02 3.479188978672027588e-01 1.000000000000000000e+00 -2.667323350906372070e-01 7.434401661157608032e-02 3.542027473449707031e-01 1.000000000000000000e+00 -2.700863778591156006e-01 7.548367232084274292e-02 3.605637550354003906e-01 1.000000000000000000e+00 -2.734373807907104492e-01 7.670280337333679199e-02 3.669961690902709961e-01 1.000000000000000000e+00 -2.767793834209442139e-01 7.800394296646118164e-02 3.734938204288482666e-01 1.000000000000000000e+00 -2.801063954830169678e-01 7.938999682664871216e-02 3.800502717494964600e-01 1.000000000000000000e+00 -2.834123969078063965e-01 8.086415380239486694e-02 3.866586983203887939e-01 1.000000000000000000e+00 -2.866915166378021240e-01 8.242987096309661865e-02 3.933118283748626709e-01 1.000000000000000000e+00 -2.899379134178161621e-01 8.409079164266586304e-02 4.000021517276763916e-01 1.000000000000000000e+00 -2.931459248065948486e-01 8.585065603256225586e-02 4.067217707633972168e-01 1.000000000000000000e+00 -2.963100075721740723e-01 8.771324902772903442e-02 4.134625792503356934e-01 1.000000000000000000e+00 -2.994248270988464355e-01 8.968225121498107910e-02 4.202162027359008789e-01 1.000000000000000000e+00 -3.024853765964508057e-01 9.176118671894073486e-02 4.269740283489227295e-01 1.000000000000000000e+00 -3.054867684841156006e-01 9.395276755094528198e-02 4.337284862995147705e-01 1.000000000000000000e+00 -3.084244430065155029e-01 9.625938534736633301e-02 4.404719471931457520e-01 1.000000000000000000e+00 -3.112943470478057861e-01 9.868477284908294678e-02 4.471931457519531250e-01 1.000000000000000000e+00 -3.140927851200103760e-01 1.012307778000831604e-01 4.538833498954772949e-01 1.000000000000000000e+00 -3.168164789676666260e-01 1.038986146450042725e-01 4.605341553688049316e-01 1.000000000000000000e+00 -3.194626271724700928e-01 1.066887974739074707e-01 4.671372771263122559e-01 1.000000000000000000e+00 -3.220288157463073730e-01 1.096011400222778320e-01 4.736849367618560791e-01 1.000000000000000000e+00 -3.245130777359008789e-01 1.126345992088317871e-01 4.801700711250305176e-01 1.000000000000000000e+00 -3.269137144088745117e-01 1.157873496413230896e-01 4.865864515304565430e-01 1.000000000000000000e+00 -3.292300403118133545e-01 1.190576404333114624e-01 4.929259419441223145e-01 1.000000000000000000e+00 -3.314615488052368164e-01 1.224424540996551514e-01 4.991827607154846191e-01 1.000000000000000000e+00 -3.336080610752105713e-01 1.259381771087646484e-01 5.053516626358032227e-01 1.000000000000000000e+00 -3.356697857379913330e-01 1.295407414436340332e-01 5.114280581474304199e-01 1.000000000000000000e+00 -3.376473188400268555e-01 1.332456171512603760e-01 5.174080729484558105e-01 1.000000000000000000e+00 -3.395416736602783203e-01 1.370480209589004517e-01 5.232879519462585449e-01 1.000000000000000000e+00 -3.413541018962860107e-01 1.409427970647811890e-01 5.290650129318237305e-01 1.000000000000000000e+00 -3.430860042572021484e-01 1.449246555566787720e-01 5.347370505332946777e-01 1.000000000000000000e+00 -3.447390198707580566e-01 1.489882022142410278e-01 5.403024554252624512e-01 1.000000000000000000e+00 -3.463150858879089355e-01 1.531280279159545898e-01 5.457599759101867676e-01 1.000000000000000000e+00 -3.478165268898010254e-01 1.573386341333389282e-01 5.511085391044616699e-01 1.000000000000000000e+00 -3.492451310157775879e-01 1.616147756576538086e-01 5.563483834266662598e-01 1.000000000000000000e+00 -3.506030440330505371e-01 1.659512966871261597e-01 5.614796280860900879e-01 1.000000000000000000e+00 -3.518924713134765625e-01 1.703432053327560425e-01 5.665028691291809082e-01 1.000000000000000000e+00 -3.531157374382019043e-01 1.747857034206390381e-01 5.714187026023864746e-01 1.000000000000000000e+00 -3.542753458023071289e-01 1.792741268873214722e-01 5.762280821800231934e-01 1.000000000000000000e+00 -3.553741574287414551e-01 1.838039308786392212e-01 5.809319019317626953e-01 1.000000000000000000e+00 -3.564138114452362061e-01 1.883711963891983032e-01 5.855320692062377930e-01 1.000000000000000000e+00 -3.573966324329376221e-01 1.929720789194107056e-01 5.900301337242126465e-01 1.000000000000000000e+00 -3.583248853683471680e-01 1.976029425859451294e-01 5.944277048110961914e-01 1.000000000000000000e+00 -3.592008948326110840e-01 2.022603750228881836e-01 5.987265110015869141e-01 1.000000000000000000e+00 -3.600268065929412842e-01 2.069412320852279663e-01 6.029284596443176270e-01 1.000000000000000000e+00 -3.608049452304840088e-01 2.116425186395645142e-01 6.070353388786315918e-01 1.000000000000000000e+00 -3.615382909774780273e-01 2.163611203432083130e-01 6.110488176345825195e-01 1.000000000000000000e+00 -3.622280955314636230e-01 2.210948914289474487e-01 6.149711012840270996e-01 1.000000000000000000e+00 -3.628764450550079346e-01 2.258414924144744873e-01 6.188041567802429199e-01 1.000000000000000000e+00 -3.634853661060333252e-01 2.305987626314163208e-01 6.225498914718627930e-01 1.000000000000000000e+00 -3.640569448471069336e-01 2.353647053241729736e-01 6.262101531028747559e-01 1.000000000000000000e+00 -3.645930886268615723e-01 2.401374727487564087e-01 6.297867894172668457e-01 1.000000000000000000e+00 -3.650957942008972168e-01 2.449153661727905273e-01 6.332817077636718750e-01 1.000000000000000000e+00 -3.655669689178466797e-01 2.496968358755111694e-01 6.366967558860778809e-01 1.000000000000000000e+00 -3.660085499286651611e-01 2.544804513454437256e-01 6.400336027145385742e-01 1.000000000000000000e+00 -3.664224445819854736e-01 2.592647969722747803e-01 6.432940959930419922e-01 1.000000000000000000e+00 -3.668108582496643066e-01 2.640485763549804688e-01 6.464799046516418457e-01 1.000000000000000000e+00 -3.671751320362091064e-01 2.688308656215667725e-01 6.495926976203918457e-01 1.000000000000000000e+00 -3.675170838832855225e-01 2.736106216907501221e-01 6.526341438293457031e-01 1.000000000000000000e+00 -3.678384423255920410e-01 2.783869802951812744e-01 6.556056737899780273e-01 1.000000000000000000e+00 -3.681410253047943115e-01 2.831590175628662109e-01 6.585088968276977539e-01 1.000000000000000000e+00 -3.684265613555908203e-01 2.879259586334228516e-01 6.613452434539794922e-01 1.000000000000000000e+00 -3.686968088150024414e-01 2.926870882511138916e-01 6.641162633895874023e-01 1.000000000000000000e+00 -3.689535558223724365e-01 2.974417507648468018e-01 6.668232083320617676e-01 1.000000000000000000e+00 -3.691984713077545166e-01 3.021893203258514404e-01 6.694675683975219727e-01 1.000000000000000000e+00 -3.694333434104919434e-01 3.069292306900024414e-01 6.720505356788635254e-01 1.000000000000000000e+00 -3.696598708629608154e-01 3.116609752178192139e-01 6.745734214782714844e-01 1.000000000000000000e+00 -3.698798120021820068e-01 3.163841068744659424e-01 6.770375370979309082e-01 1.000000000000000000e+00 -3.700948655605316162e-01 3.210981488227844238e-01 6.794440746307373047e-01 1.000000000000000000e+00 -3.703068196773529053e-01 3.258026838302612305e-01 6.817941069602966309e-01 1.000000000000000000e+00 -3.705173730850219727e-01 3.304974138736724854e-01 6.840888857841491699e-01 1.000000000000000000e+00 -3.707283437252044678e-01 3.351819515228271484e-01 6.863294839859008789e-01 1.000000000000000000e+00 -3.709415197372436523e-01 3.398559093475341797e-01 6.885170340538024902e-01 1.000000000000000000e+00 -3.711585700511932373e-01 3.445191085338592529e-01 6.906525492668151855e-01 1.000000000000000000e+00 -3.713812530040740967e-01 3.491712808609008789e-01 6.927370429039001465e-01 1.000000000000000000e+00 -3.716113269329071045e-01 3.538121283054351807e-01 6.947715282440185547e-01 1.000000000000000000e+00 -3.718506097793579102e-01 3.584414720535278320e-01 6.967569589614868164e-01 1.000000000000000000e+00 -3.721008896827697754e-01 3.630591034889221191e-01 6.986943483352661133e-01 1.000000000000000000e+00 -3.723639845848083496e-01 3.676647841930389404e-01 7.005846500396728516e-01 1.000000000000000000e+00 -3.726416528224945068e-01 3.722583353519439697e-01 7.024287581443786621e-01 1.000000000000000000e+00 -3.729357719421386719e-01 3.768396377563476562e-01 7.042275667190551758e-01 1.000000000000000000e+00 -3.732481598854064941e-01 3.814084827899932861e-01 7.059820294380187988e-01 1.000000000000000000e+00 -3.735806345939636230e-01 3.859647512435913086e-01 7.076929807662963867e-01 1.000000000000000000e+00 -3.739349842071533203e-01 3.905082643032073975e-01 7.093613147735595703e-01 1.000000000000000000e+00 -3.743131458759307861e-01 3.950389623641967773e-01 7.109879851341247559e-01 1.000000000000000000e+00 -3.747168481349945068e-01 3.995566368103027344e-01 7.125737071037292480e-01 1.000000000000000000e+00 -3.751480281352996826e-01 4.040612578392028809e-01 7.141193747520446777e-01 1.000000000000000000e+00 -3.756084740161895752e-01 4.085526764392852783e-01 7.156258225440979004e-01 1.000000000000000000e+00 -3.761000037193298340e-01 4.130308032035827637e-01 7.170939445495605469e-01 1.000000000000000000e+00 -3.766244947910308838e-01 4.174955487251281738e-01 7.185245752334594727e-01 1.000000000000000000e+00 -3.771837055683135986e-01 4.219467937946319580e-01 7.199184298515319824e-01 1.000000000000000000e+00 -3.777794837951660156e-01 4.263845086097717285e-01 7.212764024734497070e-01 1.000000000000000000e+00 -3.784136474132537842e-01 4.308086037635803223e-01 7.225993275642395020e-01 1.000000000000000000e+00 -3.790878951549530029e-01 4.352189898490905762e-01 7.238879799842834473e-01 1.000000000000000000e+00 -3.798040449619293213e-01 4.396155774593353271e-01 7.251432538032531738e-01 1.000000000000000000e+00 -3.805637955665588379e-01 4.439983665943145752e-01 7.263658642768859863e-01 1.000000000000000000e+00 -3.813688755035400391e-01 4.483672678470611572e-01 7.275567054748535156e-01 1.000000000000000000e+00 -3.822209537029266357e-01 4.527222514152526855e-01 7.287165522575378418e-01 1.000000000000000000e+00 -3.831216692924499512e-01 4.570632278919219971e-01 7.298462390899658203e-01 1.000000000000000000e+00 -3.840726912021636963e-01 4.613901972770690918e-01 7.309466600418090820e-01 1.000000000000000000e+00 -3.850755691528320312e-01 4.657030701637268066e-01 7.320185303688049316e-01 1.000000000000000000e+00 -3.861318528652191162e-01 4.700018465518951416e-01 7.330628037452697754e-01 1.000000000000000000e+00 -3.872430026531219482e-01 4.742864668369293213e-01 7.340801954269409180e-01 1.000000000000000000e+00 -3.884105384349822998e-01 4.785569012165069580e-01 7.350715994834899902e-01 1.000000000000000000e+00 -3.896358013153076172e-01 4.828131794929504395e-01 7.360378503799438477e-01 1.000000000000000000e+00 -3.909201622009277344e-01 4.870552122592926025e-01 7.369797825813293457e-01 1.000000000000000000e+00 -3.922649621963500977e-01 4.912829995155334473e-01 7.378982305526733398e-01 1.000000000000000000e+00 -3.936713635921478271e-01 4.954965710639953613e-01 7.387940883636474609e-01 1.000000000000000000e+00 -3.951405882835388184e-01 4.996958673000335693e-01 7.396681904792785645e-01 1.000000000000000000e+00 -3.966737389564514160e-01 5.038809180259704590e-01 7.405213713645935059e-01 1.000000000000000000e+00 -3.982719182968139648e-01 5.080516934394836426e-01 7.413545250892639160e-01 1.000000000000000000e+00 -3.999360799789428711e-01 5.122081637382507324e-01 7.421684265136718750e-01 1.000000000000000000e+00 -4.016671478748321533e-01 5.163504481315612793e-01 7.429640293121337891e-01 1.000000000000000000e+00 -4.034660160541534424e-01 5.204784870147705078e-01 7.437421679496765137e-01 1.000000000000000000e+00 -4.053334295749664307e-01 5.245922803878784180e-01 7.445036768913269043e-01 1.000000000000000000e+00 -4.072701930999755859e-01 5.286918878555297852e-01 7.452494502067565918e-01 1.000000000000000000e+00 -4.092769026756286621e-01 5.327773094177246094e-01 7.459803223609924316e-01 1.000000000000000000e+00 -4.113541543483734131e-01 5.368486046791076660e-01 7.466971278190612793e-01 1.000000000000000000e+00 -4.135024547576904297e-01 5.409057736396789551e-01 7.474007606506347656e-01 1.000000000000000000e+00 -4.157223403453826904e-01 5.449488162994384766e-01 7.480920553207397461e-01 1.000000000000000000e+00 -4.180141389369964600e-01 5.489778518676757812e-01 7.487719058990478516e-01 1.000000000000000000e+00 -4.203782379627227783e-01 5.529928803443908691e-01 7.494412660598754883e-01 1.000000000000000000e+00 -4.228148460388183594e-01 5.569939017295837402e-01 7.501008510589599609e-01 1.000000000000000000e+00 -4.253242313861846924e-01 5.609810352325439453e-01 7.507516741752624512e-01 1.000000000000000000e+00 -4.279065132141113281e-01 5.649542808532714844e-01 7.513944506645202637e-01 1.000000000000000000e+00 -4.305617809295654297e-01 5.689137578010559082e-01 7.520300745964050293e-01 1.000000000000000000e+00 -4.332900941371917725e-01 5.728594064712524414e-01 7.526594400405883789e-01 1.000000000000000000e+00 -4.360913932323455811e-01 5.767914056777954102e-01 7.532833814620971680e-01 1.000000000000000000e+00 -4.389656484127044678e-01 5.807096958160400391e-01 7.539027333259582520e-01 1.000000000000000000e+00 -4.419127106666564941e-01 5.846143960952758789e-01 7.545183897018432617e-01 1.000000000000000000e+00 -4.449324607849121094e-01 5.885056257247924805e-01 7.551311254501342773e-01 1.000000000000000000e+00 -4.480247199535369873e-01 5.923833250999450684e-01 7.557417750358581543e-01 1.000000000000000000e+00 -4.511891901493072510e-01 5.962476134300231934e-01 7.563512325286865234e-01 1.000000000000000000e+00 -4.544256329536437988e-01 6.000986099243164062e-01 7.569601535797119141e-01 1.000000000000000000e+00 -4.577337801456451416e-01 6.039363145828247070e-01 7.575693726539611816e-01 1.000000000000000000e+00 -4.611132740974426270e-01 6.077607870101928711e-01 7.581798434257507324e-01 1.000000000000000000e+00 -4.645637571811676025e-01 6.115720868110656738e-01 7.587924003601074219e-01 1.000000000000000000e+00 -4.680849015712738037e-01 6.153702735900878906e-01 7.594078779220581055e-01 1.000000000000000000e+00 -4.716762900352478027e-01 6.191554069519042969e-01 7.600271105766296387e-01 1.000000000000000000e+00 -4.753375351428985596e-01 6.229275465011596680e-01 7.606508731842041016e-01 1.000000000000000000e+00 -4.790681600570678711e-01 6.266867518424987793e-01 7.612800002098083496e-01 1.000000000000000000e+00 -4.828677773475646973e-01 6.304330229759216309e-01 7.619153857231140137e-01 1.000000000000000000e+00 -4.867359697818756104e-01 6.341664791107177734e-01 7.625578045845031738e-01 1.000000000000000000e+00 -4.906722605228424072e-01 6.378870606422424316e-01 7.632081508636474609e-01 1.000000000000000000e+00 -4.946761727333068848e-01 6.415948271751403809e-01 7.638671994209289551e-01 1.000000000000000000e+00 -4.987473487854003906e-01 6.452898979187011719e-01 7.645357847213745117e-01 1.000000000000000000e+00 -5.028853416442871094e-01 6.489721536636352539e-01 7.652144432067871094e-01 1.000000000000000000e+00 -5.070896744728088379e-01 6.526417136192321777e-01 7.659044861793518066e-01 1.000000000000000000e+00 -5.113599300384521484e-01 6.562985181808471680e-01 7.666066288948059082e-01 1.000000000000000000e+00 -5.156955718994140625e-01 6.599426269531250000e-01 7.673219442367553711e-01 1.000000000000000000e+00 -5.200963020324707031e-01 6.635739207267761230e-01 7.680512070655822754e-01 1.000000000000000000e+00 -5.245615243911743164e-01 6.671924591064453125e-01 7.687954306602478027e-01 1.000000000000000000e+00 -5.290908813476562500e-01 6.707981228828430176e-01 7.695555090904235840e-01 1.000000000000000000e+00 -5.336838960647583008e-01 6.743909120559692383e-01 7.703325152397155762e-01 1.000000000000000000e+00 -5.383401513099670410e-01 6.779708266258239746e-01 7.711273431777954102e-01 1.000000000000000000e+00 -5.430593490600585938e-01 6.815376877784729004e-01 7.719407677650451660e-01 1.000000000000000000e+00 -5.478409528732299805e-01 6.850914359092712402e-01 7.727738618850708008e-01 1.000000000000000000e+00 -5.526844859123229980e-01 6.886319518089294434e-01 7.736279368400573730e-01 1.000000000000000000e+00 -5.575894117355346680e-01 6.921591162681579590e-01 7.745041251182556152e-01 1.000000000000000000e+00 -5.625551342964172363e-01 6.956728100776672363e-01 7.754036188125610352e-01 1.000000000000000000e+00 -5.675811767578125000e-01 6.991727948188781738e-01 7.763274908065795898e-01 1.000000000000000000e+00 -5.726668834686279297e-01 7.026589512825012207e-01 7.772770524024963379e-01 1.000000000000000000e+00 -5.778116583824157715e-01 7.061310410499572754e-01 7.782534360885620117e-01 1.000000000000000000e+00 -5.830148458480834961e-01 7.095888853073120117e-01 7.792578339576721191e-01 1.000000000000000000e+00 -5.882757902145385742e-01 7.130321264266967773e-01 7.802914381027221680e-01 1.000000000000000000e+00 -5.935933589935302734e-01 7.164605855941772461e-01 7.813558578491210938e-01 1.000000000000000000e+00 -5.989665985107421875e-01 7.198739647865295410e-01 7.824525833129882812e-01 1.000000000000000000e+00 -6.043943166732788086e-01 7.232718467712402344e-01 7.835829854011535645e-01 1.000000000000000000e+00 -6.098754405975341797e-01 7.266539931297302246e-01 7.847483754158020020e-01 1.000000000000000000e+00 -6.154084801673889160e-01 7.300199270248413086e-01 7.859502434730529785e-01 1.000000000000000000e+00 -6.209919452667236328e-01 7.333693504333496094e-01 7.871899604797363281e-01 1.000000000000000000e+00 -6.266240477561950684e-01 7.367017269134521484e-01 7.884690165519714355e-01 1.000000000000000000e+00 -6.323027014732360840e-01 7.400166988372802734e-01 7.897889018058776855e-01 1.000000000000000000e+00 -6.380258798599243164e-01 7.433137893676757812e-01 7.911509871482849121e-01 1.000000000000000000e+00 -6.437910795211791992e-01 7.465924024581909180e-01 7.925565242767333984e-01 1.000000000000000000e+00 -6.495957374572753906e-01 7.498520016670227051e-01 7.940067648887634277e-01 1.000000000000000000e+00 -6.554369330406188965e-01 7.530921101570129395e-01 7.955027222633361816e-01 1.000000000000000000e+00 -6.613112688064575195e-01 7.563120126724243164e-01 7.970455884933471680e-01 1.000000000000000000e+00 -6.672148108482360840e-01 7.595112919807434082e-01 7.986367344856262207e-01 1.000000000000000000e+00 -6.731442213058471680e-01 7.626891136169433594e-01 8.002762794494628906e-01 1.000000000000000000e+00 -6.790955662727355957e-01 7.658447027206420898e-01 8.019646406173706055e-01 1.000000000000000000e+00 -6.850644350051879883e-01 7.689774036407470703e-01 8.037020564079284668e-01 1.000000000000000000e+00 -6.910464167594909668e-01 7.720863223075866699e-01 8.054884076118469238e-01 1.000000000000000000e+00 -6.970365643501281738e-01 7.751705050468444824e-01 8.073233366012573242e-01 1.000000000000000000e+00 -7.030297517776489258e-01 7.782290577888488770e-01 8.092061877250671387e-01 1.000000000000000000e+00 -7.090207934379577637e-01 7.812609076499938965e-01 8.111359477043151855e-01 1.000000000000000000e+00 -7.150040268898010254e-01 7.842648625373840332e-01 8.131111860275268555e-01 1.000000000000000000e+00 -7.209728360176086426e-01 7.872399687767028809e-01 8.151307106018066406e-01 1.000000000000000000e+00 -7.269217967987060547e-01 7.901846766471862793e-01 8.171921968460083008e-01 1.000000000000000000e+00 -7.328454256057739258e-01 7.930974364280700684e-01 8.192926049232482910e-01 1.000000000000000000e+00 -7.387377023696899414e-01 7.959766387939453125e-01 8.214292526245117188e-01 1.000000000000000000e+00 -7.445924878120422363e-01 7.988204956054687500e-01 8.235986828804016113e-01 1.000000000000000000e+00 -7.504034638404846191e-01 8.016269803047180176e-01 8.257973790168762207e-01 1.000000000000000000e+00 -7.561644315719604492e-01 8.043940663337707520e-01 8.280214071273803711e-01 1.000000000000000000e+00 -7.618690729141235352e-01 8.071194887161254883e-01 8.302664756774902344e-01 1.000000000000000000e+00 -7.675110697746276855e-01 8.098007440567016602e-01 8.325281739234924316e-01 1.000000000000000000e+00 -7.730841636657714844e-01 8.124352693557739258e-01 8.348017334938049316e-01 1.000000000000000000e+00 -7.785789370536804199e-01 8.150209188461303711e-01 8.370834589004516602e-01 1.000000000000000000e+00 -7.839910387992858887e-01 8.175542354583740234e-01 8.393674492835998535e-01 1.000000000000000000e+00 -7.893144488334655762e-01 8.200321197509765625e-01 8.416486382484436035e-01 1.000000000000000000e+00 -7.945430278778076172e-01 8.224511742591857910e-01 8.439218401908874512e-01 1.000000000000000000e+00 -7.996707558631896973e-01 8.248078227043151855e-01 8.461821079254150391e-01 1.000000000000000000e+00 -8.046916723251342773e-01 8.270983695983886719e-01 8.484244942665100098e-01 1.000000000000000000e+00 -8.095999956130981445e-01 8.293189406394958496e-01 8.506444096565246582e-01 1.000000000000000000e+00 -8.143898248672485352e-01 8.314656019210815430e-01 8.528375625610351562e-01 1.000000000000000000e+00 -8.190465569496154785e-01 8.335365056991577148e-01 8.550020456314086914e-01 1.000000000000000000e+00 -8.235743045806884766e-01 8.355248570442199707e-01 8.571318984031677246e-01 1.000000000000000000e+00 -8.279689550399780273e-01 8.374260067939758301e-01 8.592240214347839355e-01 1.000000000000000000e+00 -8.322270512580871582e-01 8.392348885536193848e-01 8.612756133079528809e-01 1.000000000000000000e+00 -8.363403081893920898e-01 8.409479856491088867e-01 8.632853031158447266e-01 1.000000000000000000e+00 -8.403041958808898926e-01 8.425605893135070801e-01 8.652508854866027832e-01 1.000000000000000000e+00 -8.441261649131774902e-01 8.440648317337036133e-01 8.671697378158569336e-01 1.000000000000000000e+00 -8.478071093559265137e-01 8.454546332359313965e-01 8.690403699874877930e-01 1.000000000000000000e+00 -8.513371348381042480e-01 8.467273712158203125e-01 8.708608150482177734e-01 1.000000000000000000e+00 -8.547259569168090820e-01 8.478748798370361328e-01 8.726282715797424316e-01 1.000000000000000000e+00 -8.579825758934020996e-01 8.488893508911132812e-01 8.743404150009155273e-01 1.000000000000000000e+00 -8.611024618148803711e-01 8.497675657272338867e-01 8.759924173355102539e-01 1.000000000000000000e+00 -8.640898466110229492e-01 8.505039215087890625e-01 8.775792717933654785e-01 1.000000000000000000e+00 -8.669601678848266602e-01 8.510895967483520508e-01 8.790976405143737793e-01 1.000000000000000000e+00 -8.697047233581542969e-01 8.515240550041198730e-01 8.805388212203979492e-01 1.000000000000000000e+00 -8.723313212394714355e-01 8.518016338348388672e-01 8.818970322608947754e-01 1.000000000000000000e+00 -8.748534917831420898e-01 8.519152402877807617e-01 8.831692934036254883e-01 1.000000000000000000e+00 -8.772488236427307129e-01 8.518702983856201172e-01 8.843411803245544434e-01 1.000000000000000000e+00 -8.795410394668579102e-01 8.516567349433898926e-01 8.854143619537353516e-01 1.000000000000000000e+00 -8.817223310470581055e-01 8.512759208679199219e-01 8.863805532455444336e-01 1.000000000000000000e+00 -8.837851881980895996e-01 8.507294058799743652e-01 8.872322440147399902e-01 1.000000000000000000e+00 -8.857501745223999023e-01 8.500092625617980957e-01 8.879736661911010742e-01 1.000000000000000000e+00 -8.857115507125854492e-01 8.500218391418457031e-01 8.857253789901733398e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/viridis b/fastplotlib/utils/colormaps/viridis deleted file mode 100644 index 4666f6e38..000000000 --- a/fastplotlib/utils/colormaps/viridis +++ /dev/null @@ -1,256 +0,0 @@ -2.670040130615234375e-01 4.873999860137701035e-03 3.294149935245513916e-01 1.000000000000000000e+00 -2.685100138187408447e-01 9.604999795556068420e-03 3.354269862174987793e-01 1.000000000000000000e+00 -2.699440121650695801e-01 1.462499983608722687e-02 3.413789868354797363e-01 1.000000000000000000e+00 -2.713049948215484619e-01 1.994200050830841064e-02 3.472689986228942871e-01 1.000000000000000000e+00 -2.725940048694610596e-01 2.556299977004528046e-02 3.530929982662200928e-01 1.000000000000000000e+00 -2.738089859485626221e-01 3.149700164794921875e-02 3.588530123233795166e-01 1.000000000000000000e+00 -2.749519944190979004e-01 3.775199875235557556e-02 3.645429909229278564e-01 1.000000000000000000e+00 -2.760219871997833252e-01 4.416700080037117004e-02 3.701640069484710693e-01 1.000000000000000000e+00 -2.770180106163024902e-01 5.034400150179862976e-02 3.757149875164031982e-01 1.000000000000000000e+00 -2.779409885406494141e-01 5.632400140166282654e-02 3.811909854412078857e-01 1.000000000000000000e+00 -2.787910103797912598e-01 6.214499846100807190e-02 3.865920007228851318e-01 1.000000000000000000e+00 -2.795659899711608887e-01 6.783600151538848877e-02 3.919169902801513672e-01 1.000000000000000000e+00 -2.802670001983642578e-01 7.341700047254562378e-02 3.971630036830902100e-01 1.000000000000000000e+00 -2.808940112590789795e-01 7.890699803829193115e-02 4.023289978504180908e-01 1.000000000000000000e+00 -2.814460098743438721e-01 8.432000130414962769e-02 4.074139893054962158e-01 1.000000000000000000e+00 -2.819240093231201172e-01 8.966600149869918823e-02 4.124149978160858154e-01 1.000000000000000000e+00 -2.823269963264465332e-01 9.495499730110168457e-02 4.173310101032257080e-01 1.000000000000000000e+00 -2.826560139656066895e-01 1.001959964632987976e-01 4.221599996089935303e-01 1.000000000000000000e+00 -2.829099893569946289e-01 1.053929999470710754e-01 4.269019961357116699e-01 1.000000000000000000e+00 -2.830910086631774902e-01 1.105529963970184326e-01 4.315539896488189697e-01 1.000000000000000000e+00 -2.831969857215881348e-01 1.156800016760826111e-01 4.361149966716766357e-01 1.000000000000000000e+00 -2.832289934158325195e-01 1.207770034670829773e-01 4.405840039253234863e-01 1.000000000000000000e+00 -2.831870019435882568e-01 1.258479952812194824e-01 4.449599981307983398e-01 1.000000000000000000e+00 -2.830719947814941406e-01 1.308950036764144897e-01 4.492410123348236084e-01 1.000000000000000000e+00 -2.828840017318725586e-01 1.359200030565261841e-01 4.534269869327545166e-01 1.000000000000000000e+00 -2.826229929924011230e-01 1.409260034561157227e-01 4.575169980525970459e-01 1.000000000000000000e+00 -2.822900116443634033e-01 1.459120064973831177e-01 4.615100026130676270e-01 1.000000000000000000e+00 -2.818869948387145996e-01 1.508810073137283325e-01 4.654049873352050781e-01 1.000000000000000000e+00 -2.814120054244995117e-01 1.558340042829513550e-01 4.692009985446929932e-01 1.000000000000000000e+00 -2.808679938316345215e-01 1.607709974050521851e-01 4.728989899158477783e-01 1.000000000000000000e+00 -2.802549898624420166e-01 1.656929999589920044e-01 4.764980077743530273e-01 1.000000000000000000e+00 -2.795740067958831787e-01 1.705989986658096313e-01 4.799970090389251709e-01 1.000000000000000000e+00 -2.788259983062744141e-01 1.754900068044662476e-01 4.833970069885253906e-01 1.000000000000000000e+00 -2.780120074748992920e-01 1.803669929504394531e-01 4.866969883441925049e-01 1.000000000000000000e+00 -2.771340012550354004e-01 1.852280050516128540e-01 4.898979961872100830e-01 1.000000000000000000e+00 -2.761940062046051025e-01 1.900739967823028564e-01 4.930010139942169189e-01 1.000000000000000000e+00 -2.751910090446472168e-01 1.949049979448318481e-01 4.960049986839294434e-01 1.000000000000000000e+00 -2.741279900074005127e-01 1.997209936380386353e-01 4.989109933376312256e-01 1.000000000000000000e+00 -2.730059921741485596e-01 2.045200020074844360e-01 5.017210245132446289e-01 1.000000000000000000e+00 -2.718279957771301270e-01 2.093030065298080444e-01 5.044339895248413086e-01 1.000000000000000000e+00 -2.705950140953063965e-01 2.140689939260482788e-01 5.070520043373107910e-01 1.000000000000000000e+00 -2.693080008029937744e-01 2.188179939985275269e-01 5.095769762992858887e-01 1.000000000000000000e+00 -2.679679989814758301e-01 2.235489934682846069e-01 5.120080113410949707e-01 1.000000000000000000e+00 -2.665799856185913086e-01 2.282620072364807129e-01 5.143489837646484375e-01 1.000000000000000000e+00 -2.651450037956237793e-01 2.329560071229934692e-01 5.165989995002746582e-01 1.000000000000000000e+00 -2.636629939079284668e-01 2.376309931278228760e-01 5.187619924545288086e-01 1.000000000000000000e+00 -2.621380090713500977e-01 2.422859966754913330e-01 5.208370089530944824e-01 1.000000000000000000e+00 -2.605710029602050781e-01 2.469220012426376343e-01 5.228279829025268555e-01 1.000000000000000000e+00 -2.589649856090545654e-01 2.515369951725006104e-01 5.247359871864318848e-01 1.000000000000000000e+00 -2.573220133781433105e-01 2.561300098896026611e-01 5.265629887580871582e-01 1.000000000000000000e+00 -2.556450068950653076e-01 2.607029974460601807e-01 5.283120274543762207e-01 1.000000000000000000e+00 -2.539350092411041260e-01 2.652539908885955811e-01 5.299829840660095215e-01 1.000000000000000000e+00 -2.521939873695373535e-01 2.697829902172088623e-01 5.315790176391601562e-01 1.000000000000000000e+00 -2.504250109195709229e-01 2.742899954319000244e-01 5.331029891967773438e-01 1.000000000000000000e+00 -2.486290037631988525e-01 2.787750065326690674e-01 5.345559716224670410e-01 1.000000000000000000e+00 -2.468110024929046631e-01 2.832370102405548096e-01 5.359410047531127930e-01 1.000000000000000000e+00 -2.449720054864883423e-01 2.876749932765960693e-01 5.372599959373474121e-01 1.000000000000000000e+00 -2.431129962205886841e-01 2.920919954776763916e-01 5.385159850120544434e-01 1.000000000000000000e+00 -2.412369996309280396e-01 2.964850068092346191e-01 5.397089719772338867e-01 1.000000000000000000e+00 -2.393459975719451904e-01 3.008550107479095459e-01 5.408440232276916504e-01 1.000000000000000000e+00 -2.374410033226013184e-01 3.052020072937011719e-01 5.419210195541381836e-01 1.000000000000000000e+00 -2.355259954929351807e-01 3.095270097255706787e-01 5.429440140724182129e-01 1.000000000000000000e+00 -2.336030006408691406e-01 3.138279914855957031e-01 5.439140200614929199e-01 1.000000000000000000e+00 -2.316740006208419800e-01 3.181059956550598145e-01 5.448340177536010742e-01 1.000000000000000000e+00 -2.297389954328536987e-01 3.223609924316406250e-01 5.457059741020202637e-01 1.000000000000000000e+00 -2.278019934892654419e-01 3.265939950942993164e-01 5.465319752693176270e-01 1.000000000000000000e+00 -2.258629947900772095e-01 3.308050036430358887e-01 5.473139882087707520e-01 1.000000000000000000e+00 -2.239249944686889648e-01 3.349939882755279541e-01 5.480530261993408203e-01 1.000000000000000000e+00 -2.219890058040618896e-01 3.391610085964202881e-01 5.487520098686218262e-01 1.000000000000000000e+00 -2.200569957494735718e-01 3.433069884777069092e-01 5.494130253791809082e-01 1.000000000000000000e+00 -2.181300073862075806e-01 3.474319875240325928e-01 5.500379800796508789e-01 1.000000000000000000e+00 -2.162099927663803101e-01 3.515349924564361572e-01 5.506269931793212891e-01 1.000000000000000000e+00 -2.142979949712753296e-01 3.556190133094787598e-01 5.511839985847473145e-01 1.000000000000000000e+00 -2.123949974775314331e-01 3.596830070018768311e-01 5.517100095748901367e-01 1.000000000000000000e+00 -2.105029970407485962e-01 3.637270033359527588e-01 5.522059798240661621e-01 1.000000000000000000e+00 -2.086230069398880005e-01 3.677519857883453369e-01 5.526750087738037109e-01 1.000000000000000000e+00 -2.067559957504272461e-01 3.717580139636993408e-01 5.531169772148132324e-01 1.000000000000000000e+00 -2.049030065536499023e-01 3.757460117340087891e-01 5.535330176353454590e-01 1.000000000000000000e+00 -2.030629962682723999e-01 3.797160089015960693e-01 5.539249777793884277e-01 1.000000000000000000e+00 -2.012390047311782837e-01 3.836700022220611572e-01 5.542939901351928711e-01 1.000000000000000000e+00 -1.994300037622451782e-01 3.876070082187652588e-01 5.546420216560363770e-01 1.000000000000000000e+00 -1.976359933614730835e-01 3.915280103683471680e-01 5.549690127372741699e-01 1.000000000000000000e+00 -1.958599984645843506e-01 3.954330086708068848e-01 5.552759766578674316e-01 1.000000000000000000e+00 -1.941000074148178101e-01 3.993229866027832031e-01 5.555649995803833008e-01 1.000000000000000000e+00 -1.923570036888122559e-01 4.031989872455596924e-01 5.558360219001770020e-01 1.000000000000000000e+00 -1.906310021877288818e-01 4.070610105991363525e-01 5.560889840126037598e-01 1.000000000000000000e+00 -1.889230012893676758e-01 4.109100103378295898e-01 5.563259720802307129e-01 1.000000000000000000e+00 -1.872310042381286621e-01 4.147459864616394043e-01 5.565469861030578613e-01 1.000000000000000000e+00 -1.855559945106506348e-01 4.185700118541717529e-01 5.567529797554016113e-01 1.000000000000000000e+00 -1.838980019092559814e-01 4.223830103874206543e-01 5.569440126419067383e-01 1.000000000000000000e+00 -1.822559982538223267e-01 4.261839985847473145e-01 5.571200251579284668e-01 1.000000000000000000e+00 -1.806290000677108765e-01 4.299750030040740967e-01 5.572819709777832031e-01 1.000000000000000000e+00 -1.790190041065216064e-01 4.337559938430786133e-01 5.574300289154052734e-01 1.000000000000000000e+00 -1.774230003356933594e-01 4.375270009040832520e-01 5.575649738311767578e-01 1.000000000000000000e+00 -1.758410036563873291e-01 4.412899911403656006e-01 5.576850175857543945e-01 1.000000000000000000e+00 -1.742739975452423096e-01 4.450440108776092529e-01 5.577920079231262207e-01 1.000000000000000000e+00 -1.727190017700195312e-01 4.487909972667694092e-01 5.578849911689758301e-01 1.000000000000000000e+00 -1.711760014295578003e-01 4.525299966335296631e-01 5.579649806022644043e-01 1.000000000000000000e+00 -1.696459949016571045e-01 4.562619924545288086e-01 5.580300092697143555e-01 1.000000000000000000e+00 -1.681260019540786743e-01 4.599879980087280273e-01 5.580819845199584961e-01 1.000000000000000000e+00 -1.666170060634613037e-01 4.637080132961273193e-01 5.581189990043640137e-01 1.000000000000000000e+00 -1.651169955730438232e-01 4.674229919910430908e-01 5.581409931182861328e-01 1.000000000000000000e+00 -1.636250019073486328e-01 4.711329936981201172e-01 5.581480264663696289e-01 1.000000000000000000e+00 -1.621419936418533325e-01 4.748379886150360107e-01 5.581399798393249512e-01 1.000000000000000000e+00 -1.606650054454803467e-01 4.785400032997131348e-01 5.581150054931640625e-01 1.000000000000000000e+00 -1.591939926147460938e-01 4.822370111942291260e-01 5.580729842185974121e-01 1.000000000000000000e+00 -1.577289998531341553e-01 4.859319925308227539e-01 5.580130219459533691e-01 1.000000000000000000e+00 -1.562699973583221436e-01 4.896239936351776123e-01 5.579360127449035645e-01 1.000000000000000000e+00 -1.548150032758712769e-01 4.933130145072937012e-01 5.578399896621704102e-01 1.000000000000000000e+00 -1.533640027046203613e-01 4.970000088214874268e-01 5.577239990234375000e-01 1.000000000000000000e+00 -1.519179940223693848e-01 5.006849765777587891e-01 5.575870275497436523e-01 1.000000000000000000e+00 -1.504759937524795532e-01 5.043690204620361328e-01 5.574300289154052734e-01 1.000000000000000000e+00 -1.490390002727508545e-01 5.080509781837463379e-01 5.572500228881835938e-01 1.000000000000000000e+00 -1.476069986820220947e-01 5.117329955101013184e-01 5.570489764213562012e-01 1.000000000000000000e+00 -1.461800038814544678e-01 5.154129862785339355e-01 5.568230152130126953e-01 1.000000000000000000e+00 -1.447589993476867676e-01 5.190929770469665527e-01 5.565720200538635254e-01 1.000000000000000000e+00 -1.433430016040802002e-01 5.227730274200439453e-01 5.562949776649475098e-01 1.000000000000000000e+00 -1.419350057840347290e-01 5.264530181884765625e-01 5.559909939765930176e-01 1.000000000000000000e+00 -1.405359953641891479e-01 5.301319956779479980e-01 5.556589961051940918e-01 1.000000000000000000e+00 -1.391469985246658325e-01 5.338119864463806152e-01 5.552979707717895508e-01 1.000000000000000000e+00 -1.377699971199035645e-01 5.374919772148132324e-01 5.549060106277465820e-01 1.000000000000000000e+00 -1.364080011844635010e-01 5.411729812622070312e-01 5.544829964637756348e-01 1.000000000000000000e+00 -1.350660026073455811e-01 5.448529720306396484e-01 5.540289878845214844e-01 1.000000000000000000e+00 -1.337430030107498169e-01 5.485349893569946289e-01 5.535410046577453613e-01 1.000000000000000000e+00 -1.324439942836761475e-01 5.522159934043884277e-01 5.530179738998413086e-01 1.000000000000000000e+00 -1.311720013618469238e-01 5.558990240097045898e-01 5.524590015411376953e-01 1.000000000000000000e+00 -1.299329996109008789e-01 5.595819950103759766e-01 5.518640279769897461e-01 1.000000000000000000e+00 -1.287290006875991821e-01 5.632650256156921387e-01 5.512290000915527344e-01 1.000000000000000000e+00 -1.275680065155029297e-01 5.669490098953247070e-01 5.505560040473937988e-01 1.000000000000000000e+00 -1.264529973268508911e-01 5.706329941749572754e-01 5.498409867286682129e-01 1.000000000000000000e+00 -1.253940016031265259e-01 5.743179917335510254e-01 5.490859746932983398e-01 1.000000000000000000e+00 -1.243949979543685913e-01 5.780019760131835938e-01 5.482869744300842285e-01 1.000000000000000000e+00 -1.234629973769187927e-01 5.816869735717773438e-01 5.474449992179870605e-01 1.000000000000000000e+00 -1.226060017943382263e-01 5.853710174560546875e-01 5.465570092201232910e-01 1.000000000000000000e+00 -1.218309998512268066e-01 5.890550017356872559e-01 5.456230044364929199e-01 1.000000000000000000e+00 -1.211479976773262024e-01 5.927389860153198242e-01 5.446410179138183594e-01 1.000000000000000000e+00 -1.205649971961975098e-01 5.964220166206359863e-01 5.436109900474548340e-01 1.000000000000000000e+00 -1.200919970870018005e-01 6.001039743423461914e-01 5.425300002098083496e-01 1.000000000000000000e+00 -1.197379976511001587e-01 6.037849783897399902e-01 5.414000153541564941e-01 1.000000000000000000e+00 -1.195119991898536682e-01 6.074640154838562012e-01 5.402179956436157227e-01 1.000000000000000000e+00 -1.194230020046234131e-01 6.111410260200500488e-01 5.389819741249084473e-01 1.000000000000000000e+00 -1.194830015301704407e-01 6.148170232772827148e-01 5.376920104026794434e-01 1.000000000000000000e+00 -1.196990013122558594e-01 6.184899806976318359e-01 5.363469719886779785e-01 1.000000000000000000e+00 -1.200810000300407410e-01 6.221609711647033691e-01 5.349460244178771973e-01 1.000000000000000000e+00 -1.206379979848861694e-01 6.258280277252197266e-01 5.334879755973815918e-01 1.000000000000000000e+00 -1.213800013065338135e-01 6.294919848442077637e-01 5.319730043411254883e-01 1.000000000000000000e+00 -1.223120018839836121e-01 6.331530213356018066e-01 5.303980112075805664e-01 1.000000000000000000e+00 -1.234439983963966370e-01 6.368089914321899414e-01 5.287629961967468262e-01 1.000000000000000000e+00 -1.247799992561340332e-01 6.404610276222229004e-01 5.270680189132690430e-01 1.000000000000000000e+00 -1.263259947299957275e-01 6.441069841384887695e-01 5.253109931945800781e-01 1.000000000000000000e+00 -1.280869990587234497e-01 6.477490067481994629e-01 5.234910249710083008e-01 1.000000000000000000e+00 -1.300670057535171509e-01 6.513839960098266602e-01 5.216079950332641602e-01 1.000000000000000000e+00 -1.322679966688156128e-01 6.550139784812927246e-01 5.196610093116760254e-01 1.000000000000000000e+00 -1.346919983625411987e-01 6.586359739303588867e-01 5.176489949226379395e-01 1.000000000000000000e+00 -1.373389959335327148e-01 6.622520089149475098e-01 5.155709981918334961e-01 1.000000000000000000e+00 -1.402100026607513428e-01 6.658589839935302734e-01 5.134270191192626953e-01 1.000000000000000000e+00 -1.433030068874359131e-01 6.694589853286743164e-01 5.112149715423583984e-01 1.000000000000000000e+00 -1.466159969568252563e-01 6.730499863624572754e-01 5.089359879493713379e-01 1.000000000000000000e+00 -1.501480042934417725e-01 6.766309738159179688e-01 5.065889954566955566e-01 1.000000000000000000e+00 -1.538940072059631348e-01 6.802030205726623535e-01 5.041720271110534668e-01 1.000000000000000000e+00 -1.578509956598281860e-01 6.837649941444396973e-01 5.016859769821166992e-01 1.000000000000000000e+00 -1.620160043239593506e-01 6.873160004615783691e-01 4.991289973258972168e-01 1.000000000000000000e+00 -1.663829982280731201e-01 6.908559799194335938e-01 4.965020120143890381e-01 1.000000000000000000e+00 -1.709479987621307373e-01 6.943839788436889648e-01 4.938029944896697998e-01 1.000000000000000000e+00 -1.757069975137710571e-01 6.978999972343444824e-01 4.910329878330230713e-01 1.000000000000000000e+00 -1.806530058383941650e-01 7.014020085334777832e-01 4.881890118122100830e-01 1.000000000000000000e+00 -1.857829988002777100e-01 7.048910260200500488e-01 4.852730035781860352e-01 1.000000000000000000e+00 -1.910900026559829712e-01 7.083659768104553223e-01 4.822840094566345215e-01 1.000000000000000000e+00 -1.965710073709487915e-01 7.118269801139831543e-01 4.792209863662719727e-01 1.000000000000000000e+00 -2.022189944982528687e-01 7.152720093727111816e-01 4.760839939117431641e-01 1.000000000000000000e+00 -2.080300003290176392e-01 7.187010049819946289e-01 4.728730022907257080e-01 1.000000000000000000e+00 -2.140000015497207642e-01 7.221140265464782715e-01 4.695880115032196045e-01 1.000000000000000000e+00 -2.201240062713623047e-01 7.255089879035949707e-01 4.662260115146636963e-01 1.000000000000000000e+00 -2.263969928026199341e-01 7.288879752159118652e-01 4.627889990806579590e-01 1.000000000000000000e+00 -2.328149974346160889e-01 7.322469949722290039e-01 4.592770040035247803e-01 1.000000000000000000e+00 -2.393739968538284302e-01 7.355880141258239746e-01 4.556879997253417969e-01 1.000000000000000000e+00 -2.460699975490570068e-01 7.389100193977355957e-01 4.520240128040313721e-01 1.000000000000000000e+00 -2.528989911079406738e-01 7.422109842300415039e-01 4.482840001583099365e-01 1.000000000000000000e+00 -2.598569989204406738e-01 7.454919815063476562e-01 4.444670081138610840e-01 1.000000000000000000e+00 -2.669410109519958496e-01 7.487509846687316895e-01 4.405730068683624268e-01 1.000000000000000000e+00 -2.741490006446838379e-01 7.519879937171936035e-01 4.366010129451751709e-01 1.000000000000000000e+00 -2.814770042896270752e-01 7.552030086517333984e-01 4.325520098209381104e-01 1.000000000000000000e+00 -2.889209985733032227e-01 7.583940029144287109e-01 4.284259974956512451e-01 1.000000000000000000e+00 -2.964789867401123047e-01 7.615609765052795410e-01 4.242230057716369629e-01 1.000000000000000000e+00 -3.041479885578155518e-01 7.647039890289306641e-01 4.199430048465728760e-01 1.000000000000000000e+00 -3.119249939918518066e-01 7.678220272064208984e-01 4.155859947204589844e-01 1.000000000000000000e+00 -3.198089897632598877e-01 7.709140181541442871e-01 4.111520051956176758e-01 1.000000000000000000e+00 -3.277960121631622314e-01 7.739800214767456055e-01 4.066399931907653809e-01 1.000000000000000000e+00 -3.358849883079528809e-01 7.770180106163024902e-01 4.020490050315856934e-01 1.000000000000000000e+00 -3.440740108489990234e-01 7.800289988517761230e-01 3.973810076713562012e-01 1.000000000000000000e+00 -3.523600101470947266e-01 7.830110192298889160e-01 3.926360011100769043e-01 1.000000000000000000e+00 -3.607409894466400146e-01 7.859640121459960938e-01 3.878139853477478027e-01 1.000000000000000000e+00 -3.692139983177185059e-01 7.888879776000976562e-01 3.829140067100524902e-01 1.000000000000000000e+00 -3.777790069580078125e-01 7.917810082435607910e-01 3.779389858245849609e-01 1.000000000000000000e+00 -3.864330053329467773e-01 7.946439981460571289e-01 3.728860020637512207e-01 1.000000000000000000e+00 -3.951739966869354248e-01 7.974749803543090820e-01 3.677569925785064697e-01 1.000000000000000000e+00 -4.040009975433349609e-01 8.002750277519226074e-01 3.625519871711730957e-01 1.000000000000000000e+00 -4.129129946231842041e-01 8.030409812927246094e-01 3.572689890861511230e-01 1.000000000000000000e+00 -4.219079911708831787e-01 8.057739734649658203e-01 3.519099950790405273e-01 1.000000000000000000e+00 -4.309830069541931152e-01 8.084729909896850586e-01 3.464759886264801025e-01 1.000000000000000000e+00 -4.401369988918304443e-01 8.111379742622375488e-01 3.409669995307922363e-01 1.000000000000000000e+00 -4.493680000305175781e-01 8.137680292129516602e-01 3.353840112686157227e-01 1.000000000000000000e+00 -4.586740136146545410e-01 8.163629770278930664e-01 3.297269940376281738e-01 1.000000000000000000e+00 -4.680530130863189697e-01 8.189210295677185059e-01 3.239980041980743408e-01 1.000000000000000000e+00 -4.775039851665496826e-01 8.214439749717712402e-01 3.181949853897094727e-01 1.000000000000000000e+00 -4.870260059833526611e-01 8.239290118217468262e-01 3.123210072517395020e-01 1.000000000000000000e+00 -4.966149926185607910e-01 8.263760209083557129e-01 3.063769936561584473e-01 1.000000000000000000e+00 -5.062710046768188477e-01 8.287860155105590820e-01 3.003619909286499023e-01 1.000000000000000000e+00 -5.159919857978820801e-01 8.311579823493957520e-01 2.942790091037750244e-01 1.000000000000000000e+00 -5.257760286331176758e-01 8.334910273551940918e-01 2.881270051002502441e-01 1.000000000000000000e+00 -5.356209874153137207e-01 8.357849717140197754e-01 2.819080054759979248e-01 1.000000000000000000e+00 -5.455240011215209961e-01 8.380389809608459473e-01 2.756260037422180176e-01 1.000000000000000000e+00 -5.554839968681335449e-01 8.402540087699890137e-01 2.692809998989105225e-01 1.000000000000000000e+00 -5.654979944229125977e-01 8.424299955368041992e-01 2.628769874572753906e-01 1.000000000000000000e+00 -5.755630135536193848e-01 8.445659875869750977e-01 2.564150094985961914e-01 1.000000000000000000e+00 -5.856779813766479492e-01 8.466609716415405273e-01 2.498970031738281250e-01 1.000000000000000000e+00 -5.958390235900878906e-01 8.487169742584228516e-01 2.433290034532546997e-01 1.000000000000000000e+00 -6.060450077056884766e-01 8.507329821586608887e-01 2.367119938135147095e-01 1.000000000000000000e+00 -6.162930130958557129e-01 8.527089953422546387e-01 2.300519943237304688e-01 1.000000000000000000e+00 -6.265789866447448730e-01 8.546450138092041016e-01 2.233529984951019287e-01 1.000000000000000000e+00 -6.369019746780395508e-01 8.565419912338256836e-01 2.166199982166290283e-01 1.000000000000000000e+00 -6.472569704055786133e-01 8.583999872207641602e-01 2.098609954118728638e-01 1.000000000000000000e+00 -6.576420068740844727e-01 8.602190017700195312e-01 2.030819952487945557e-01 1.000000000000000000e+00 -6.680539846420288086e-01 8.619989752769470215e-01 1.962929964065551758e-01 1.000000000000000000e+00 -6.784890294075012207e-01 8.637419939041137695e-01 1.895029991865158081e-01 1.000000000000000000e+00 -6.889439821243286133e-01 8.654479980468750000e-01 1.827249974012374878e-01 1.000000000000000000e+00 -6.994150280952453613e-01 8.671169877052307129e-01 1.759710013866424561e-01 1.000000000000000000e+00 -7.098979949951171875e-01 8.687509894371032715e-01 1.692570000886917114e-01 1.000000000000000000e+00 -7.203909754753112793e-01 8.703500032424926758e-01 1.626030057668685913e-01 1.000000000000000000e+00 -7.308890223503112793e-01 8.719159960746765137e-01 1.560290008783340454e-01 1.000000000000000000e+00 -7.413880228996276855e-01 8.734490275382995605e-01 1.495610028505325317e-01 1.000000000000000000e+00 -7.518839836120605469e-01 8.749510049819946289e-01 1.432279944419860840e-01 1.000000000000000000e+00 -7.623729705810546875e-01 8.764240145683288574e-01 1.370639950037002563e-01 1.000000000000000000e+00 -7.728520035743713379e-01 8.778679966926574707e-01 1.311089992523193359e-01 1.000000000000000000e+00 -7.833150029182434082e-01 8.792849779129028320e-01 1.254049986600875854e-01 1.000000000000000000e+00 -7.937600016593933105e-01 8.806779980659484863e-01 1.200049966573715210e-01 1.000000000000000000e+00 -8.041819930076599121e-01 8.820459842681884766e-01 1.149649992585182190e-01 1.000000000000000000e+00 -8.145760297775268555e-01 8.833929896354675293e-01 1.103470027446746826e-01 1.000000000000000000e+00 -8.249400258064270020e-01 8.847200274467468262e-01 1.062169969081878662e-01 1.000000000000000000e+00 -8.352699875831604004e-01 8.860290050506591797e-01 1.026460006833076477e-01 1.000000000000000000e+00 -8.455610275268554688e-01 8.873220086097717285e-01 9.970200061798095703e-02 1.000000000000000000e+00 -8.558099865913391113e-01 8.886010050773620605e-01 9.745199978351593018e-02 1.000000000000000000e+00 -8.660129904747009277e-01 8.898680210113525391e-01 9.595300257205963135e-02 1.000000000000000000e+00 -8.761680126190185547e-01 8.911250233650207520e-01 9.525000303983688354e-02 1.000000000000000000e+00 -8.862709999084472656e-01 8.923739790916442871e-01 9.537400305271148682e-02 1.000000000000000000e+00 -8.963199853897094727e-01 8.936160206794738770e-01 9.633500128984451294e-02 1.000000000000000000e+00 -9.063109755516052246e-01 8.948550224304199219e-01 9.812500327825546265e-02 1.000000000000000000e+00 -9.162420034408569336e-01 8.960909843444824219e-01 1.007170006632804871e-01 1.000000000000000000e+00 -9.261059761047363281e-01 8.973299860954284668e-01 1.040709987282752991e-01 1.000000000000000000e+00 -9.359040260314941406e-01 8.985700011253356934e-01 1.081309989094734192e-01 1.000000000000000000e+00 -9.456359744071960449e-01 8.998150229454040527e-01 1.128380000591278076e-01 1.000000000000000000e+00 -9.552999734878540039e-01 9.010649919509887695e-01 1.181280016899108887e-01 1.000000000000000000e+00 -9.648939967155456543e-01 9.023230075836181641e-01 1.239409968256950378e-01 1.000000000000000000e+00 -9.744169712066650391e-01 9.035900235176086426e-01 1.302150040864944458e-01 1.000000000000000000e+00 -9.838680028915405273e-01 9.048669934272766113e-01 1.368969976902008057e-01 1.000000000000000000e+00 -9.932479858398437500e-01 9.061570167541503906e-01 1.439359933137893677e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/colormaps/winter b/fastplotlib/utils/colormaps/winter deleted file mode 100644 index d97346bbe..000000000 --- a/fastplotlib/utils/colormaps/winter +++ /dev/null @@ -1,256 +0,0 @@ -0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 -0.000000000000000000e+00 3.921568859368562698e-03 9.980391860008239746e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.843137718737125397e-03 9.960784316062927246e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.176470611244440079e-02 9.941176176071166992e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.568627543747425079e-02 9.921568632125854492e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.960784383118152618e-02 9.901960492134094238e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.352941222488880157e-02 9.882352948188781738e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.745098061859607697e-02 9.862744808197021484e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.137255087494850159e-02 9.843137264251708984e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.529411926865577698e-02 9.823529124259948730e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.921568766236305237e-02 9.803921580314636230e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.313725605607032776e-02 9.784313440322875977e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.705882444977760315e-02 9.764705896377563477e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.098039284348487854e-02 9.745097756385803223e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.490196123719215393e-02 9.725490212440490723e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.882352963089942932e-02 9.705882072448730469e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.274510174989700317e-02 9.686274528503417969e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.666667014360427856e-02 9.666666388511657715e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.058823853731155396e-02 9.647058844566345215e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.450980693101882935e-02 9.627450704574584961e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.843137532472610474e-02 9.607843160629272461e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.235294371843338013e-02 9.588235020637512207e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.627451211214065552e-02 9.568627476692199707e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.019608050584793091e-02 9.549019336700439453e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.411764889955520630e-02 9.529411792755126953e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.803921729326248169e-02 9.509803652763366699e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.019607856869697571e-01 9.490196108818054199e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.058823540806770325e-01 9.470587968826293945e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.098039224743843079e-01 9.450980424880981445e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.137254908680915833e-01 9.431372284889221191e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.176470592617988586e-01 9.411764740943908691e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.215686276555061340e-01 9.392156600952148438e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.254902034997940063e-01 9.372549057006835938e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.294117718935012817e-01 9.352940917015075684e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.333333402872085571e-01 9.333333373069763184e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.372549086809158325e-01 9.313725233078002930e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.411764770746231079e-01 9.294117689132690430e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.450980454683303833e-01 9.274509549140930176e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.490196138620376587e-01 9.254902005195617676e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.529411822557449341e-01 9.235293865203857422e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.568627506494522095e-01 9.215686321258544922e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.607843190431594849e-01 9.196078181266784668e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.647058874368667603e-01 9.176470637321472168e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.686274558305740356e-01 9.156862497329711914e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.725490242242813110e-01 9.137254953384399414e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.764705926179885864e-01 9.117646813392639160e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.803921610116958618e-01 9.098039269447326660e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.843137294054031372e-01 9.078431129455566406e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.882352977991104126e-01 9.058823585510253906e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.921568661928176880e-01 9.039215445518493652e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.960784345865249634e-01 9.019607901573181152e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.000000029802322388e-01 8.999999761581420898e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.039215713739395142e-01 8.980392217636108398e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.078431397676467896e-01 8.960784077644348145e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.117647081613540649e-01 8.941176533699035645e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.156862765550613403e-01 8.921568393707275391e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.196078449487686157e-01 8.901960849761962891e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.235294133424758911e-01 8.882352709770202637e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.274509817361831665e-01 8.862745165824890137e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.313725501298904419e-01 8.843137025833129883e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.352941185235977173e-01 8.823529481887817383e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.392156869173049927e-01 8.803921341896057129e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.431372553110122681e-01 8.784313797950744629e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.470588237047195435e-01 8.764705657958984375e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.509804069995880127e-01 8.745098114013671875e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.549019753932952881e-01 8.725489974021911621e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.588235437870025635e-01 8.705882430076599121e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.627451121807098389e-01 8.686274290084838867e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.666666805744171143e-01 8.666666746139526367e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.705882489681243896e-01 8.647058606147766113e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.745098173618316650e-01 8.627451062202453613e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.784313857555389404e-01 8.607842922210693359e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.823529541492462158e-01 8.588235378265380859e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.862745225429534912e-01 8.568627238273620605e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.901960909366607666e-01 8.549019694328308105e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.941176593303680420e-01 8.529411554336547852e-01 1.000000000000000000e+00 -0.000000000000000000e+00 2.980392277240753174e-01 8.509804010391235352e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.019607961177825928e-01 8.490195870399475098e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.058823645114898682e-01 8.470588326454162598e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.098039329051971436e-01 8.450980186462402344e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.137255012989044189e-01 8.431372642517089844e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.176470696926116943e-01 8.411764502525329590e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.215686380863189697e-01 8.392156958580017090e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.254902064800262451e-01 8.372548818588256836e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.294117748737335205e-01 8.352941274642944336e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.333333432674407959e-01 8.333333134651184082e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.372549116611480713e-01 8.313725590705871582e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.411764800548553467e-01 8.294117450714111328e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.450980484485626221e-01 8.274509906768798828e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.490196168422698975e-01 8.254901766777038574e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.529411852359771729e-01 8.235294222831726074e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.568627536296844482e-01 8.215686082839965820e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.607843220233917236e-01 8.196078538894653320e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.647058904170989990e-01 8.176470398902893066e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.686274588108062744e-01 8.156862854957580566e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.725490272045135498e-01 8.137254714965820312e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.764705955982208252e-01 8.117647171020507812e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.803921639919281006e-01 8.098039031028747559e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.843137323856353760e-01 8.078431487083435059e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.882353007793426514e-01 8.058823347091674805e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.921568691730499268e-01 8.039215803146362305e-01 1.000000000000000000e+00 -0.000000000000000000e+00 3.960784375667572021e-01 8.019607663154602051e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.000000059604644775e-01 8.000000119209289551e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.039215743541717529e-01 7.980391979217529297e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.078431427478790283e-01 7.960784435272216797e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.117647111415863037e-01 7.941176295280456543e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.156862795352935791e-01 7.921568751335144043e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.196078479290008545e-01 7.901960611343383789e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.235294163227081299e-01 7.882353067398071289e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.274509847164154053e-01 7.862744927406311035e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.313725531101226807e-01 7.843137383460998535e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.352941215038299561e-01 7.823529243469238281e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.392156898975372314e-01 7.803921699523925781e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.431372582912445068e-01 7.784313559532165527e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.470588266849517822e-01 7.764706015586853027e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.509803950786590576e-01 7.745097875595092773e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.549019634723663330e-01 7.725490331649780273e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.588235318660736084e-01 7.705882191658020020e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.627451002597808838e-01 7.686274647712707520e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.666666686534881592e-01 7.666666507720947266e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.705882370471954346e-01 7.647058963775634766e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.745098054409027100e-01 7.627450823783874512e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.784313738346099854e-01 7.607843279838562012e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.823529422283172607e-01 7.588235139846801758e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.862745106220245361e-01 7.568627595901489258e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.901960790157318115e-01 7.549019455909729004e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.941176474094390869e-01 7.529411911964416504e-01 1.000000000000000000e+00 -0.000000000000000000e+00 4.980392158031463623e-01 7.509803771972656250e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.019608139991760254e-01 7.490196228027343750e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.058823823928833008e-01 7.470588088035583496e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.098039507865905762e-01 7.450980544090270996e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.137255191802978516e-01 7.431372404098510742e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.176470875740051270e-01 7.411764860153198242e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.215686559677124023e-01 7.392156720161437988e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.254902243614196777e-01 7.372549176216125488e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.294117927551269531e-01 7.352941036224365234e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.333333611488342285e-01 7.333333492279052734e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.372549295425415039e-01 7.313725352287292480e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.411764979362487793e-01 7.294117808341979980e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.450980663299560547e-01 7.274509668350219727e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.490196347236633301e-01 7.254902124404907227e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.529412031173706055e-01 7.235293984413146973e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.568627715110778809e-01 7.215686440467834473e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.607843399047851562e-01 7.196078300476074219e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.647059082984924316e-01 7.176470756530761719e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.686274766921997070e-01 7.156862616539001465e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.725490450859069824e-01 7.137255072593688965e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.764706134796142578e-01 7.117646932601928711e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.803921818733215332e-01 7.098039388656616211e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.843137502670288086e-01 7.078431248664855957e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.882353186607360840e-01 7.058823704719543457e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.921568870544433594e-01 7.039215564727783203e-01 1.000000000000000000e+00 -0.000000000000000000e+00 5.960784554481506348e-01 7.019608020782470703e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.000000238418579102e-01 6.999999880790710449e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.039215922355651855e-01 6.980392336845397949e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.078431606292724609e-01 6.960784196853637695e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.117647290229797363e-01 6.941176652908325195e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.156862974166870117e-01 6.921568512916564941e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.196078658103942871e-01 6.901960968971252441e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.235294342041015625e-01 6.882352828979492188e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.274510025978088379e-01 6.862745285034179688e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.313725709915161133e-01 6.843137145042419434e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.352941393852233887e-01 6.823529601097106934e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.392157077789306641e-01 6.803921461105346680e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.431372761726379395e-01 6.784313917160034180e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.470588445663452148e-01 6.764705777168273926e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.509804129600524902e-01 6.745098233222961426e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.549019813537597656e-01 6.725490093231201172e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.588235497474670410e-01 6.705882549285888672e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.627451181411743164e-01 6.686274409294128418e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.666666865348815918e-01 6.666666865348815918e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.705882549285888672e-01 6.647058725357055664e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.745098233222961426e-01 6.627451181411743164e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.784313917160034180e-01 6.607843041419982910e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.823529601097106934e-01 6.588235497474670410e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.862745285034179688e-01 6.568627357482910156e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.901960968971252441e-01 6.549019813537597656e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.941176652908325195e-01 6.529411673545837402e-01 1.000000000000000000e+00 -0.000000000000000000e+00 6.980392336845397949e-01 6.509804129600524902e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.019608020782470703e-01 6.490195989608764648e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.058823704719543457e-01 6.470588445663452148e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.098039388656616211e-01 6.450980305671691895e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.137255072593688965e-01 6.431372761726379395e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.176470756530761719e-01 6.411764621734619141e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.215686440467834473e-01 6.392157077789306641e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.254902124404907227e-01 6.372548937797546387e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.294117808341979980e-01 6.352941393852233887e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.333333492279052734e-01 6.333333253860473633e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.372549176216125488e-01 6.313725709915161133e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.411764860153198242e-01 6.294117569923400879e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.450980544090270996e-01 6.274510025978088379e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.490196228027343750e-01 6.254901885986328125e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.529411911964416504e-01 6.235294342041015625e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.568627595901489258e-01 6.215686202049255371e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.607843279838562012e-01 6.196078658103942871e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.647058963775634766e-01 6.176470518112182617e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.686274647712707520e-01 6.156862974166870117e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.725490331649780273e-01 6.137254834175109863e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.764706015586853027e-01 6.117647290229797363e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.803921699523925781e-01 6.098039150238037109e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.843137383460998535e-01 6.078431606292724609e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.882353067398071289e-01 6.058823466300964355e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.921568751335144043e-01 6.039215922355651855e-01 1.000000000000000000e+00 -0.000000000000000000e+00 7.960784435272216797e-01 6.019607782363891602e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.000000119209289551e-01 6.000000238418579102e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.039215803146362305e-01 5.980392098426818848e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.078431487083435059e-01 5.960784554481506348e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.117647171020507812e-01 5.941176414489746094e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.156862854957580566e-01 5.921568870544433594e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.196078538894653320e-01 5.901960730552673340e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.235294222831726074e-01 5.882353186607360840e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.274509906768798828e-01 5.862745046615600586e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.313725590705871582e-01 5.843137502670288086e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.352941274642944336e-01 5.823529362678527832e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.392156958580017090e-01 5.803921818733215332e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.431372642517089844e-01 5.784313678741455078e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.470588326454162598e-01 5.764706134796142578e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.509804010391235352e-01 5.745097994804382324e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.549019694328308105e-01 5.725490450859069824e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.588235378265380859e-01 5.705882310867309570e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.627451062202453613e-01 5.686274766921997070e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.666666746139526367e-01 5.666666626930236816e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.705882430076599121e-01 5.647059082984924316e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.745098114013671875e-01 5.627450942993164062e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.784313797950744629e-01 5.607843399047851562e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.823529481887817383e-01 5.588235259056091309e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.862745165824890137e-01 5.568627715110778809e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.901960849761962891e-01 5.549019575119018555e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.941176533699035645e-01 5.529412031173706055e-01 1.000000000000000000e+00 -0.000000000000000000e+00 8.980392217636108398e-01 5.509803891181945801e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.019607901573181152e-01 5.490196347236633301e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.058823585510253906e-01 5.470588207244873047e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.098039269447326660e-01 5.450980663299560547e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.137254953384399414e-01 5.431372523307800293e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.176470637321472168e-01 5.411764979362487793e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.215686321258544922e-01 5.392156839370727539e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.254902005195617676e-01 5.372549295425415039e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.294117689132690430e-01 5.352941155433654785e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.333333373069763184e-01 5.333333611488342285e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.372549057006835938e-01 5.313725471496582031e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.411764740943908691e-01 5.294117927551269531e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.450980424880981445e-01 5.274509787559509277e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.490196108818054199e-01 5.254902243614196777e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.529411792755126953e-01 5.235294103622436523e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.568627476692199707e-01 5.215686559677124023e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.607843160629272461e-01 5.196078419685363770e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.647058844566345215e-01 5.176470875740051270e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.686274528503417969e-01 5.156862735748291016e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.725490212440490723e-01 5.137255191802978516e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.764705896377563477e-01 5.117647051811218262e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.803921580314636230e-01 5.098039507865905762e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.843137264251708984e-01 5.078431367874145508e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.882352948188781738e-01 5.058823823928833008e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.921568632125854492e-01 5.039215683937072754e-01 1.000000000000000000e+00 -0.000000000000000000e+00 9.960784316062927246e-01 5.019608139991760254e-01 1.000000000000000000e+00 -0.000000000000000000e+00 1.000000000000000000e+00 5.000000000000000000e-01 1.000000000000000000e+00 diff --git a/fastplotlib/utils/functions.py b/fastplotlib/utils/functions.py index 73752ba5e..a1d6d476a 100644 --- a/fastplotlib/utils/functions.py +++ b/fastplotlib/utils/functions.py @@ -1,30 +1,144 @@ from collections import OrderedDict -from pathlib import Path +from typing import * import numpy as np +import cmap as cmap_lib from pygfx import Texture, Color -# some funcs adapted from mesmerize - -QUALITATIVE_CMAPS = [ - "Pastel1", - "Pastel2", - "Paired", - "Accent", - "Dark2", - "Set1", - "Set2", - "Set3", - "tab10", - "tab20", - "tab20b", - "tab20c", -] - - -def get_cmap(name: str, alpha: float = 1.0) -> np.ndarray: +cmap_catalog = cmap_lib.Catalog() + +COLORMAPS = sorted( + [ + "viridis", + "plasma", + "inferno", + "magma", + "cividis", + "Greys", + "Purples", + "Blues", + "Greens", + "Oranges", + "Reds", + "tol:YlOrBr", + "YlOrRd", + "OrRd", + "PuRd", + "RdPu", + "BuPu", + "GnBu", + "PuBu", + "YlGnBu", + "PuBuGn", + "BuGn", + "YlGn", + "binary", + "gist_yarg", + "gist_gray", + "gray", + "bone", + "pink", + "spring", + "summer", + "autumn", + "winter", + "cool", + "Wistia", + "hot", + "afmhot", + "gist_heat", + "matlab:copper", + "PiYG", + "tol:PRGn", + "BrBG", + "PuOr", + "RdGy", + "vispy:RdBu", + "RdYlBu", + "RdYlGn", + "Spectral", + "coolwarm", + "bwr", + "seismic", + "berlin", + "vanimo", + "twilight", + "twilight_shifted", + "hsv", + "Pastel1", + "Pastel2", + "Paired", + "Accent", + "Dark2", + "Set1", + "Set2", + "Set3", + "tab10", + "tab20", + "tab20b", + "tab20c", + "flag", + "prism", + "gnuplot:ocean", + "gist_earth", + "terrain", + "gist_stern", + "gnuplot", + "gnuplot2", + "CMRmap", + "cubehelix", + "brg", + "gist_rainbow", + "yorick:rainbow", + "jet", + "turbo", + "nipy_spectral", + "gist_ncar", + ] +) + +SEQUENTIAL_CMAPS = list() +QUALITATIVE_CMAPS = list() +CYCLIC_CMAPS = list() +DIVERGING_CMAPS = list() +MISC_CMAPS = list() + + +for name in COLORMAPS: + _colormap = cmap_lib.Colormap(name) + match _colormap.category: + case "sequential": + if _colormap.interpolation == "nearest": + continue + SEQUENTIAL_CMAPS.append(name) + case "cyclic": + if _colormap.interpolation == "nearest": + continue + CYCLIC_CMAPS.append(name) + case "diverging": + if _colormap.interpolation == "nearest": + continue + DIVERGING_CMAPS.append(name) + case "qualitative": + QUALITATIVE_CMAPS.append(name) + case "miscellaneous": + if _colormap.interpolation == "nearest": + continue + MISC_CMAPS.append(name) + + +COLORMAP_NAMES = { + "sequential": sorted(SEQUENTIAL_CMAPS), + "cyclic": sorted(CYCLIC_CMAPS), + "diverging": sorted(DIVERGING_CMAPS), + "qualitative": sorted(QUALITATIVE_CMAPS), + "miscellaneous": sorted(MISC_CMAPS), +} + + +def get_cmap(name: str, alpha: float = 1.0, gamma: float = 1.0) -> np.ndarray: """ Get a colormap as numpy array @@ -34,6 +148,8 @@ def get_cmap(name: str, alpha: float = 1.0) -> np.ndarray: name of colormap alpha: float alpha, 0.0 - 1.0 + gamma: float + gamma, 0.0 - 1.0 Returns ------- @@ -42,23 +158,8 @@ def get_cmap(name: str, alpha: float = 1.0) -> np.ndarray: """ - cmap_path = Path(__file__).absolute().parent.joinpath("colormaps", name) - if cmap_path.is_file(): - cmap = np.loadtxt(cmap_path) - - else: - try: - from .generate_colormaps import make_cmap - - cmap = make_cmap(name, alpha) - except (ImportError, ModuleNotFoundError): - raise ModuleNotFoundError( - "Couldn't find colormap files, matplotlib is required to generate them " - "if they aren't found. Please install `matplotlib`" - ) - + cmap = cmap_lib.Colormap(name).lut(256, gamma=gamma) cmap[:, -1] = alpha - return cmap.astype(np.float32) @@ -84,34 +185,36 @@ def make_colors(n_colors: int, cmap: str, alpha: float = 1.0) -> np.ndarray: shape is [n_colors, 4], where the last dimension is RGBA """ - name = cmap - cmap = get_cmap(name, alpha) - if name in QUALITATIVE_CMAPS: - max_colors = cmap.shape[0] - if n_colors > cmap.shape[0]: + cm = cmap_lib.Colormap(cmap) + + # can also use cm.category == "qualitative", but checking for non-interpolated + # colormaps is a bit more general. (and not all "custom" colormaps will be + # assigned a category) + if cm.interpolation == "nearest": + max_colors = len(cm.color_stops) + if n_colors > max_colors: raise ValueError( f"You have requested <{n_colors}> colors but only <{max_colors}> exist for the " - f"chosen cmap: <{name}>" + f"chosen cmap: <{cmap}>" ) - return cmap[:n_colors] + return np.asarray(cm.color_stops, dtype=np.float32)[:n_colors, 1:] cm_ixs = np.linspace(0, 255, n_colors, dtype=int) - return np.take(cmap, cm_ixs, axis=0).astype(np.float32) + return cm(cm_ixs).astype(np.float32) def get_cmap_texture(name: str, alpha: float = 1.0) -> Texture: - cmap = get_cmap(name) - return Texture(cmap, dim=1) + return Texture(get_cmap(name, alpha), dim=1) -def make_colors_dict(labels: iter, cmap: str, **kwargs) -> OrderedDict: +def make_colors_dict(labels: Sequence, cmap: str, **kwargs) -> OrderedDict: """ Get a dict for mapping labels onto colors. Parameters ---------- - labels: Iterable[Any] + labels: Sequence[Any] labels for creating a colormap. Order is maintained if it is a list of unique elements. cmap: str @@ -164,15 +267,17 @@ def make_colors_dict(labels: iter, cmap: str, **kwargs) -> OrderedDict: return OrderedDict(zip(labels, colors)) -def quick_min_max(data: np.ndarray) -> tuple[float, float]: +def quick_min_max(data: np.ndarray, max_size=1e6) -> tuple[float, float]: """ - Adapted from pyqtgraph.ImageView. - Estimate the min/max values of *data* by subsampling. + Estimate the min/max values of *data* by subsampling relative to the size of each dimension in the array. Parameters ---------- data: np.ndarray or array-like with `min` and `max` attributes + max_size : int, optional + largest array size allowed in the subsampled array. Default is 1e6. + Returns ------- (float, float) @@ -186,11 +291,7 @@ def quick_min_max(data: np.ndarray) -> tuple[float, float]: ): return data.min, data.max - while data.size > 1e6: - ax = np.argmax(data.shape) - sl = [slice(None)] * data.ndim - sl[ax] = slice(None, None, 2) - data = data[tuple(sl)] + data = subsample_array(data, max_size=max_size) return float(np.nanmin(data)), float(np.nanmax(data)) @@ -276,8 +377,11 @@ def parse_cmap_values( n_colors = colormap.shape[0] - 1 - if cmap_name in QUALITATIVE_CMAPS: - # check that cmap_transform are and within the number of colors `n_colors` + # can also use cm.category == "qualitative" + if cmap_lib.Colormap(cmap_name).interpolation == "nearest": + + # check that cmap_values are and within the number of colors `n_colors` + # do not scale, use directly if not np.issubdtype(transform.dtype, np.integer): raise TypeError( @@ -299,3 +403,77 @@ def parse_cmap_values( colors = np.vstack([colormap[val] for val in norm_cmap_values]) return colors + + +def subsample_array( + arr: np.ndarray, max_size: int = 1e6, ignore_dims: Sequence[int] | None = None +): + """ + Subsamples an input array while preserving its relative dimensional proportions. + + The dimensions (shape) of the array can be represented as: + + .. math:: + + [d_1, d_2, \\dots d_n] + + The product of the dimensions can be represented as: + + .. math:: + + \\prod_{i=1}^{n} d_i + + To find the factor ``f`` by which to divide the size of each dimension in order to + get max_size ``s`` we must solve for ``f`` in the following expression: + + .. math:: + + \\prod_{i=1}^{n} \\frac{d_i}{\\mathbf{f}} = \\mathbf{s} + + The solution for ``f`` is is simply the nth root of the product of the dims divided by the max_size + where n is the number of dimensions + + .. math:: + + \\mathbf{f} = \\sqrt[n]{\\frac{\\prod_{i=1}^{n} d_i}{\\mathbf{s}}} + + Parameters + ---------- + arr: np.ndarray + input array of any dimensionality to be subsampled. + + max_size: int, default 1e6 + maximum number of elements in subsampled array + + ignore_dims: Sequence[int], optional + List of dimension indices to exclude from subsampling (i.e. retain full resolution). + For example, `ignore_dims=[0]` will avoid subsampling along the first axis. + + Returns + ------- + np.ndarray + subsample of the input array + """ + full_shape = np.array(arr.shape, dtype=np.uint64) + if np.prod(full_shape) <= max_size: + return arr[:] # no need to subsample if already below the threshold + + # get factor by which to divide all dims + f = np.power((np.prod(full_shape) / max_size), 1.0 / arr.ndim) + + # new shape for subsampled array + ns = np.floor(np.array(full_shape) / f).clip(min=1) + + # get the step size for the slices + slices = list( + slice(None, None, int(s)) for s in np.floor(full_shape / ns).astype(int) + ) + + # ignore dims e.g. RGB, which we don't want to downsample + if ignore_dims is not None: + for dim in ignore_dims: + slices[dim] = slice(None) + + slices = tuple(slices) + + return np.asarray(arr[slices]) diff --git a/fastplotlib/utils/generate_colormaps.py b/fastplotlib/utils/generate_colormaps.py deleted file mode 100644 index e56a9f226..000000000 --- a/fastplotlib/utils/generate_colormaps.py +++ /dev/null @@ -1,126 +0,0 @@ -import numpy as np -from matplotlib import cm - - -class ColormapNames: - perceptually_uniform = ["viridis", "plasma", "inferno", "magma", "cividis"] - sequential = [ - "Greys", - "Purples", - "Blues", - "Greens", - "Oranges", - "Reds", - "YlOrBr", - "YlOrRd", - "OrRd", - "PuRd", - "RdPu", - "BuPu", - "GnBu", - "PuBu", - "YlGnBu", - "PuBuGn", - "BuGn", - "YlGn", - ] - - sequential2 = [ - "binary", - "gist_yarg", - "gist_gray", - "gray", - "bone", - "pink", - "spring", - "summer", - "autumn", - "winter", - "cool", - "Wistia", - "hot", - "afmhot", - "gist_heat", - "copper", - ] - - diverging = [ - "PiYG", - "PRGn", - "BrBG", - "PuOr", - "RdGy", - "RdBu", - "RdYlBu", - "RdYlGn", - "Spectral", - "coolwarm", - "bwr", - "seismic", - ] - - cyclic = ["twilight", "twilight_shifted", "hsv"] - - qualitative = [ - "Pastel1", - "Pastel2", - "Paired", - "Accent", - "Dark2", - "Set1", - "Set2", - "Set3", - "tab10", - "tab20", - "tab20b", - "tab20c", - ] - - miscellaneous = [ - "flag", - "prism", - "ocean", - "gist_earth", - "terrain", - "gist_stern", - "gnuplot", - "gnuplot2", - "CMRmap", - "cubehelix", - "brg", - "gist_rainbow", - "rainbow", - "jet", - "turbo", - "nipy_spectral", - "gist_ncar", - ] - - all = ( - perceptually_uniform - + sequential - + sequential2 - + diverging - + cyclic - + qualitative - + miscellaneous - ) - - -def make_cmap(name: str, alpha: float = 1.0) -> np.ndarray: - _cm = getattr(cm, name) - - if name in ColormapNames.qualitative: - n_colors = getattr(_cm, "N") - else: - n_colors = 256 - - cmap = np.vstack([_cm(i) for i in range(n_colors)]) - cmap[:, -1] = alpha - - return cmap.astype(np.float32) - - -if __name__ == "__main__": - for name in ColormapNames().all: - np.savetxt(f"./colormaps/{name}", make_cmap(name)) diff --git a/fastplotlib/utils/gpu.py b/fastplotlib/utils/gpu.py index 72d303d23..912cf0935 100644 --- a/fastplotlib/utils/gpu.py +++ b/fastplotlib/utils/gpu.py @@ -4,10 +4,10 @@ def enumerate_adapters() -> list[wgpu.GPUAdapter]: - return wgpu.gpu.enumerate_adapters() + return wgpu.gpu.enumerate_adapters_sync() -enumerate_adapters.__doc__ = wgpu.gpu.enumerate_adapters.__doc__ +enumerate_adapters.__doc__ = wgpu.gpu.enumerate_adapters_async.__doc__ def select_adapter(adapter: wgpu.GPUAdapter): diff --git a/fastplotlib/utils/gui.py b/fastplotlib/utils/gui.py index 1941674ee..6a0d8dfdc 100644 --- a/fastplotlib/utils/gui.py +++ b/fastplotlib/utils/gui.py @@ -33,10 +33,11 @@ # Let wgpu do the auto gui selection -from wgpu.gui.auto import WgpuCanvas, run +from rendercanvas import BaseRenderCanvas +from rendercanvas.auto import RenderCanvas, loop # Get the name of the backend ('qt', 'glfw', 'jupyter') -GUI_BACKEND = WgpuCanvas.__module__.split(".")[-1] +GUI_BACKEND = RenderCanvas.__module__.split(".")[-1] IS_JUPYTER = GUI_BACKEND == "jupyter" @@ -45,7 +46,7 @@ def _notebook_print_banner(): from ipywidgets import Image - from IPython.display import display + from IPython.display import display, HTML logo_path = Path(__file__).parent.parent.joinpath( "assets", "fastplotlib_face_logo.png" @@ -54,50 +55,76 @@ def _notebook_print_banner(): with open(logo_path, "rb") as f: logo_data = f.read() + # get small logo image image = Image(value=logo_data, format="png", width=300, height=55) - display(image) - - # print logo and adapter info - adapters = [a for a in wgpu.gpu.enumerate_adapters()] - adapters_info = [a.request_adapter_info() for a in adapters] + # get adapters and info + adapters = [a for a in wgpu.gpu.enumerate_adapters_sync()] + adapters_info = [a.info for a in adapters] - default_adapter_info = wgpu.gpu.request_adapter().request_adapter_info() + default_adapter_info = wgpu.gpu.request_adapter_sync().info default_ix = adapters_info.index(default_adapter_info) - if len(adapters) > 0: - print("Available devices:") + if len(adapters) < 1: + return + + # start HTML table + table_str = ( + "Available devices:" + "" + "" + "" + "" + "" + "" + "" + "" + ) + # parse each adapter that WGPU found for ix, adapter in enumerate(adapters_info): atype = adapter["adapter_type"] backend = adapter["backend_type"] driver = adapter["description"] device = adapter["device"] - if atype == "DiscreteGPU" and backend != "OpenGL": - charactor = chr(0x2705) - elif atype == "IntegratedGPU" and backend != "OpenGL": - charactor = chr(0x0001FBC4) + if atype in ("DiscreteGPU", "IntegratedGPU") and backend != "OpenGL": + charactor = chr(0x2705) # green checkmark + tooltip = "This adapter can be used with fastplotlib" + elif backend == "OpenGL": + charactor = chr(0x0000274C) # red x + tooltip = "This adapter cannot be used with fastplotlib" + elif device.startswith("llvmpipe") or atype == "CPU": + charactor = f"{chr(0x00002757)} limited" # red ! + tooltip = "CPU rendering support is limited and mainly for testing purposes" else: - charactor = chr(0x2757) + charactor = f"{chr(0x00002757)} unknown" # red ! + tooltip = "Unknown adapter type and backend" if ix == default_ix: default = " (default) " else: - default = " " + default = "" - output_str = f"{charactor}{default}| {device} | {atype} | {backend} | {driver}" - print(output_str) + # add row to HTML table + table_str += f'' + # add each element to this row + for s in [f"{charactor}{default}", device, atype, backend, driver]: + table_str += f"" + table_str += "" + + table_str += "
ValidDeviceTypeBackendDriver
{s}
" + + # display logo and adapters table + display(image) + display(HTML(table_str)) if GUI_BACKEND == "jupyter": _notebook_print_banner() elif GUI_BACKEND == "qt": - from wgpu.gui.qt import get_app, libname - - # create and store ref to qt app - _qt_app = get_app() + from rendercanvas.qt import libname # Import submodules of PySide6/PyQt6/PySid2/PyQt5 # For the way that fpl uses Qt, the supported Qt libs seems compatible enough. diff --git a/fastplotlib/utils/types.py b/fastplotlib/utils/types.py new file mode 100644 index 000000000..e99fce2fc --- /dev/null +++ b/fastplotlib/utils/types.py @@ -0,0 +1,4 @@ +from collections import namedtuple + + +SelectorColorStates = namedtuple("state", ["idle", "highlight", "action"]) diff --git a/fastplotlib/widgets/__init__.py b/fastplotlib/widgets/__init__.py index 30a68d672..766620ea6 100644 --- a/fastplotlib/widgets/__init__.py +++ b/fastplotlib/widgets/__init__.py @@ -1,3 +1,3 @@ -from .image import ImageWidget +from .image_widget import ImageWidget __all__ = ["ImageWidget"] diff --git a/fastplotlib/widgets/_image_widget_ipywidget_toolbar.py b/fastplotlib/widgets/_image_widget_ipywidget_toolbar.py deleted file mode 100644 index 24f7a6279..000000000 --- a/fastplotlib/widgets/_image_widget_ipywidget_toolbar.py +++ /dev/null @@ -1,135 +0,0 @@ -from functools import partial - -from ipywidgets import ( - VBox, - Button, - Layout, - IntSlider, - BoundedIntText, - Play, - jslink, - HBox, -) - - -class IpywidgetImageWidgetToolbar(VBox): - def __init__(self, iw): - """ - Basic toolbar for a ImageWidget instance. - - Parameters - ---------- - plot: - """ - self.iw = iw - - self.reset_vminvmax_button = Button( - value=False, - disabled=False, - icon="adjust", - layout=Layout(width="auto"), - tooltip="reset vmin/vmax", - ) - - self.reset_vminvmax_hlut_button = Button( - value=False, - icon="adjust", - description="reset", - layout=Layout(width="auto"), - tooltip="reset vmin/vmax and reset histogram using current frame", - ) - - self.sliders: dict[str, IntSlider] = dict() - - # only for xy data, no time point slider needed - if self.iw.ndim == 2: - widgets = [self.reset_vminvmax_button] - # for txy, tzxy, etc. data - else: - for dim in self.iw.slider_dims: - slider = IntSlider( - min=0, - max=self.iw._dims_max_bounds[dim] - 1, - step=1, - value=0, - description=f"dimension: {dim}", - orientation="horizontal", - ) - - slider.observe( - partial(self.iw._slider_value_changed, dim), names="value" - ) - - self.sliders[dim] = slider - - self.step_size_setter = BoundedIntText( - value=1, - min=1, - max=self.sliders["t"].max, - step=1, - description="Step Size:", - disabled=False, - description_tooltip="set slider step", - layout=Layout(width="150px"), - ) - self.speed_text = BoundedIntText( - value=100, - min=1, - max=1_000, - step=50, - description="Speed", - disabled=False, - description_tooltip="Playback speed, this is NOT framerate.\nArbitrary units between 1 - 1,000", - layout=Layout(width="150px"), - ) - self.play_button = Play( - value=0, - min=self.sliders["t"].min, - max=self.sliders["t"].max, - step=self.sliders["t"].step, - description="play/pause", - disabled=False, - ) - widgets = [ - self.reset_vminvmax_button, - self.reset_vminvmax_hlut_button, - self.play_button, - self.step_size_setter, - self.speed_text, - ] - - self.play_button.interval = 10 - - self.step_size_setter.observe(self._change_stepsize, "value") - self.speed_text.observe(self._change_framerate, "value") - jslink((self.play_button, "value"), (self.sliders["t"], "value")) - jslink((self.play_button, "max"), (self.sliders["t"], "max")) - - self.reset_vminvmax_button.on_click(self._reset_vminvmax) - self.reset_vminvmax_hlut_button.on_click(self._reset_vminvmax_frame) - - self.iw.figure.renderer.add_event_handler(self._set_slider_layout, "resize") - - # the buttons - self.hbox = HBox(widgets) - - super().__init__((self.hbox, *list(self.sliders.values()))) - - def _reset_vminvmax(self, obj): - self.iw.reset_vmin_vmax() - - def _reset_vminvmax_frame(self, obj): - self.iw.reset_vmin_vmax_frame() - - def _change_stepsize(self, obj): - self.sliders["t"].step = self.step_size_setter.value - - def _change_framerate(self, change): - interval = int(1000 / change["new"]) - self.play_button.interval = interval - - def _set_slider_layout(self, *args): - w, h = self.iw.figure.renderer.logical_size - - for k, v in self.sliders.items(): - v.layout = Layout(width=f"{w}px") diff --git a/fastplotlib/widgets/_image_widget_qt_toolbar.py b/fastplotlib/widgets/_image_widget_qt_toolbar.py deleted file mode 100644 index 2117f95ab..000000000 --- a/fastplotlib/widgets/_image_widget_qt_toolbar.py +++ /dev/null @@ -1,127 +0,0 @@ -from functools import partial -from typing import Dict - -from fastplotlib.utils.gui import QtWidgets, QtCore - - -# TODO: There must be a better way to do this -# TODO: Check if an interface exists between ipywidgets and Qt -# TODO: Or we won't need it anyways once we have UI in pygfx -class SliderInterface: - """ - This exists so that ImageWidget has a common interface for Sliders. - - This interface makes a QSlider behave somewhat like a ipywidget IntSlider, enough for ImageWidget to function. - """ - - def __init__(self, qslider): - self.qslider = qslider - - @property - def value(self) -> int: - return self.qslider.value() - - @value.setter - def value(self, value: int): - self.qslider.setValue(value) - - @property - def max(self) -> int: - return self.qslider.maximum() - - @max.setter - def max(self, value: int): - self.qslider.setMaximum(value) - - @property - def min(self): - return self.qslider.minimum() - - @min.setter - def min(self, value: int): - self.qslider.setMinimum(value) - - -class QToolbarImageWidget(QtWidgets.QWidget): - """Toolbar for ImageWidget""" - - def __init__(self, image_widget): - QtWidgets.QWidget.__init__(self) - - # vertical layout - self.vlayout = QtWidgets.QVBoxLayout(self) - - self.image_widget = image_widget - - hlayout_buttons = QtWidgets.QHBoxLayout() - - self.reset_vmin_vmax_button = QtWidgets.QPushButton(self) - self.reset_vmin_vmax_button.setText("auto-contrast") - self.reset_vmin_vmax_button.clicked.connect(self.image_widget.reset_vmin_vmax) - hlayout_buttons.addWidget(self.reset_vmin_vmax_button) - - self.reset_vmin_vmax_hlut_button = QtWidgets.QPushButton(self) - self.reset_vmin_vmax_hlut_button.setText("reset histogram-lut") - self.reset_vmin_vmax_hlut_button.clicked.connect( - self.image_widget.reset_vmin_vmax_frame - ) - hlayout_buttons.addWidget(self.reset_vmin_vmax_hlut_button) - - self.vlayout.addLayout(hlayout_buttons) - - self.sliders: Dict[str, SliderInterface] = dict() - - # has time and/or z-volume - if self.image_widget.ndim > 2: - # create a slider, spinbox and dimension label for each dimension in the ImageWidget - for dim in self.image_widget.slider_dims: - hlayout = ( - QtWidgets.QHBoxLayout() - ) # horizontal stack for label, slider, spinbox - - # max value for current dimension - max_val = self.image_widget._dims_max_bounds[dim] - 1 - - # make slider - slider = QtWidgets.QSlider(self) - slider.setOrientation(QtCore.Qt.Orientation.Horizontal) - slider.setMinimum(0) - slider.setMaximum(max_val) - slider.setValue(0) - slider.setSingleStep(1) - slider.setPageStep(10) - - # make spinbox - spinbox = QtWidgets.QSpinBox(self) - spinbox.setMinimum(0) - spinbox.setMaximum(max_val) - spinbox.setValue(0) - spinbox.setSingleStep(1) - - # link slider and spinbox - slider.valueChanged.connect(spinbox.setValue) - spinbox.valueChanged.connect(slider.setValue) - - # connect slider to change the index within the dimension - slider.valueChanged.connect( - partial(self.image_widget._slider_value_changed, dim) - ) - - # slider dimension label - slider_label = QtWidgets.QLabel(self) - slider_label.setText(dim) - - # add the widgets to the horizontal layout - hlayout.addWidget(slider_label) - hlayout.addWidget(slider) - hlayout.addWidget(spinbox) - - # add horizontal layout to the vertical layout - self.vlayout.addLayout(hlayout) - - # add to sliders dict for easier access to users - self.sliders[dim] = SliderInterface(slider) - - max_height = 35 + (35 * len(self.sliders.keys())) - - self.setMaximumHeight(max_height) diff --git a/fastplotlib/widgets/image_widget/__init__.py b/fastplotlib/widgets/image_widget/__init__.py new file mode 100644 index 000000000..70a1aa8ae --- /dev/null +++ b/fastplotlib/widgets/image_widget/__init__.py @@ -0,0 +1,13 @@ +from ...layouts import IMGUI + +if IMGUI: + from ._widget import ImageWidget + +else: + + class ImageWidget: + def __init__(self, *args, **kwargs): + raise ModuleNotFoundError( + "ImageWidget requires `imgui-bundle` to be installed.\n" + "pip install imgui-bundle" + ) diff --git a/fastplotlib/widgets/image_widget/_sliders.py b/fastplotlib/widgets/image_widget/_sliders.py new file mode 100644 index 000000000..c8ad67f39 --- /dev/null +++ b/fastplotlib/widgets/image_widget/_sliders.py @@ -0,0 +1,177 @@ +import os +from time import perf_counter + +from imgui_bundle import imgui, icons_fontawesome_6 as fa + +from ...ui import EdgeWindow + + +class ImageWidgetSliders(EdgeWindow): + def __init__(self, figure, size, location, title, image_widget): + super().__init__(figure=figure, size=size, location=location, title=title) + self._image_widget = image_widget + + # whether or not a dimension is in play mode + self._playing: dict[str, bool] = {"t": False, "z": False} + + # approximate framerate for playing + self._fps: dict[str, int] = {"t": 20, "z": 20} + # framerate converted to frame time + self._frame_time: dict[str, float] = {"t": 1 / 20, "z": 1 / 20} + + # last timepoint that a frame was displayed from a given dimension + self._last_frame_time: dict[str, float] = {"t": 0, "z": 0} + + self._loop = False + + if "RTD_BUILD" in os.environ.keys(): + if os.environ["RTD_BUILD"] == "1": + self._playing["t"] = True + self._loop = True + + def set_index(self, dim: str, index: int): + """set the current_index of the ImageWidget""" + + # make sure the max index for this dim is not exceeded + max_index = self._image_widget._dims_max_bounds[dim] - 1 + if index > max_index: + if self._loop: + # loop back to index zero if looping is enabled + index = 0 + else: + # if looping not enabled, stop playing this dimension + self._playing[dim] = False + return + + # set current_index + self._image_widget.current_index = {dim: min(index, max_index)} + + def update(self): + """called on every render cycle to update the GUI elements""" + + # store the new index of the image widget ("t" and "z") + new_index = dict() + + # flag if the index changed + flag_index_changed = False + + # reset vmin-vmax using full orig data + imgui.push_font(self._fa_icons) + if imgui.button(label=fa.ICON_FA_CIRCLE_HALF_STROKE + fa.ICON_FA_FILM): + self._image_widget.reset_vmin_vmax() + imgui.pop_font() + if imgui.is_item_hovered(0): + imgui.set_tooltip("reset contrast limits using full movie/stack") + + # reset vmin-vmax using currently displayed ImageGraphic data + imgui.push_font(self._fa_icons) + imgui.same_line() + if imgui.button(label=fa.ICON_FA_CIRCLE_HALF_STROKE): + self._image_widget.reset_vmin_vmax_frame() + imgui.pop_font() + if imgui.is_item_hovered(0): + imgui.set_tooltip("reset contrast limits using current frame") + + # time now + now = perf_counter() + + # buttons and slider UI elements for each dim + for dim in self._image_widget.slider_dims: + imgui.push_id(f"{self._id_counter}_{dim}") + imgui.push_font(self._fa_icons) + + if self._playing[dim]: + # show pause button if playing + if imgui.button(label=fa.ICON_FA_PAUSE): + # if pause button clicked, then set playing to false + self._playing[dim] = False + + # if in play mode and enough time has elapsed w.r.t. the desired framerate, increment the index + if now - self._last_frame_time[dim] >= self._frame_time[dim]: + self.set_index(dim, self._image_widget.current_index[dim] + 1) + self._last_frame_time[dim] = now + + else: + # we are not playing, so display play button + if imgui.button(label=fa.ICON_FA_PLAY): + # if play button is clicked, set last frame time to 0 so that index increments on next render + self._last_frame_time[dim] = 0 + # set playing to True since play button was clicked + self._playing[dim] = True + + imgui.same_line() + # step back one frame button + if imgui.button(label=fa.ICON_FA_BACKWARD_STEP) and not self._playing[dim]: + self.set_index(dim, self._image_widget.current_index[dim] - 1) + + imgui.same_line() + # step forward one frame button + if imgui.button(label=fa.ICON_FA_FORWARD_STEP) and not self._playing[dim]: + self.set_index(dim, self._image_widget.current_index[dim] + 1) + + imgui.same_line() + # stop button + if imgui.button(label=fa.ICON_FA_STOP): + self._playing[dim] = False + self._last_frame_time[dim] = 0 + self.set_index(dim, 0) + + imgui.same_line() + # loop checkbox + _, self._loop = imgui.checkbox(label=fa.ICON_FA_ROTATE, v=self._loop) + imgui.pop_font() + if imgui.is_item_hovered(0): + imgui.set_tooltip("loop playback") + + imgui.same_line() + imgui.text("framerate :") + imgui.same_line() + imgui.set_next_item_width(100) + # framerate int entry + fps_changed, value = imgui.input_int( + label="fps", v=self._fps[dim], step_fast=5 + ) + if imgui.is_item_hovered(0): + imgui.set_tooltip( + "framerate is approximate and less reliable as it approaches your monitor refresh rate" + ) + if fps_changed: + if value < 1: + value = 1 + if value > 50: + value = 50 + self._fps[dim] = value + self._frame_time[dim] = 1 / value + + val = self._image_widget.current_index[dim] + vmax = self._image_widget._dims_max_bounds[dim] - 1 + + imgui.text(f"{dim}: ") + imgui.same_line() + # so that slider occupies full width + imgui.set_next_item_width(self.width * 0.85) + + if "Jupyter" in self._image_widget.figure.canvas.__class__.__name__: + # until https://github.com/pygfx/wgpu-py/issues/530 + flags = imgui.SliderFlags_.no_input + else: + # clamps to min, max if user inputs value outside these bounds + flags = imgui.SliderFlags_.always_clamp + + # slider for this dimension + changed, index = imgui.slider_int( + f"{dim}", v=val, v_min=0, v_max=vmax, flags=flags + ) + + new_index[dim] = index + + # if the slider value changed for this dimension + flag_index_changed |= changed + + imgui.pop_id() + + if flag_index_changed: + # if any slider dim changed set the new index of the image widget + self._image_widget.current_index = new_index + + self.size = int(imgui.get_window_height()) diff --git a/fastplotlib/widgets/image.py b/fastplotlib/widgets/image_widget/_widget.py similarity index 77% rename from fastplotlib/widgets/image.py rename to fastplotlib/widgets/image_widget/_widget.py index df9b46b55..650097951 100644 --- a/fastplotlib/widgets/image.py +++ b/fastplotlib/widgets/image_widget/_widget.py @@ -1,16 +1,21 @@ -from typing import Any, Literal, Callable +from copy import deepcopy +from typing import Callable from warnings import warn import numpy as np -from ..layouts import Figure -from ..graphics import ImageGraphic -from ..utils import calculate_figure_shape -from .histogram_lut import HistogramLUT +from rendercanvas import BaseRenderCanvas +from ...layouts import ImguiFigure as Figure +from ...graphics import ImageGraphic +from ...utils import calculate_figure_shape, quick_min_max +from ...tools import HistogramLUTTool +from ._sliders import ImageWidgetSliders -# Number of dimensions that represent one image/one frame. For grayscale shape will be [x, y], i.e. 2 dims, for RGB(A) -# shape will be [x, y, c] where c is of size 3 (RGB) or 4 (RGBA) + +# Number of dimensions that represent one image/one frame +# For grayscale shape will be [n_rows, n_cols], i.e. 2 dims +# For RGB(A) shape will be [n_rows, n_cols, c] where c is of size 3 (RGB) or 4 (RGBA) IMAGE_DIM_COUNTS = {"gray": 2, "rgb": 3} # Map boolean (indicating whether we use RGB or grayscale) to the string. Used to index RGB_DIM_MAP @@ -105,13 +110,6 @@ def figure(self) -> Figure: """ return self._figure - @property - def widget(self): - """ - Output context, either an ipywidget or QWidget - """ - return self._output - @property def managed_graphics(self) -> list[ImageGraphic]: """List of ``ImageWidget`` managed graphics.""" @@ -126,7 +124,7 @@ def managed_graphics(self) -> list[ImageGraphic]: def cmap(self) -> list[str]: cmaps = list() for g in self.managed_graphics: - cmaps.append(g.cmap.name) + cmaps.append(g.cmap) return cmaps @@ -166,15 +164,10 @@ def ndim(self) -> int: def n_scrollable_dims(self) -> list[int]: """ list indicating the number of dimenensions that are scrollable for each data array - All other dimensions are frame/image data, i.e. [x, y] or [x, y, c] + All other dimensions are frame/image data, i.e. [rows, cols] or [rows, cols, rgb(a)] """ return self._n_scrollable_dims - @property - def sliders(self) -> dict[str, Any]: - """the ipywidget IntSlider or QSlider instances used by the widget for indexing the desired dimensions""" - return self._image_widget_toolbar.sliders - @property def slider_dims(self) -> list[str]: """the dimensions that the sliders index""" @@ -197,6 +190,52 @@ def current_index(self) -> dict[str, int]: """ return self._current_index + @current_index.setter + def current_index(self, index: dict[str, int]): + if not self._initialized: + return + + if self._reentrant_block: + return + + try: + self._reentrant_block = True # block re-execution until current_index has *fully* completed execution + if not set(index.keys()).issubset(set(self._current_index.keys())): + raise KeyError( + f"All dimension keys for setting `current_index` must be present in the widget sliders. " + f"The dimensions currently used for sliders are: {list(self.current_index.keys())}" + ) + + for k, val in index.items(): + if not isinstance(val, int): + raise TypeError("Indices for all dimensions must be int") + if val < 0: + raise IndexError( + "negative indexing is not supported for ImageWidget" + ) + if val > self._dims_max_bounds[k]: + raise IndexError( + f"index {val} is out of bounds for dimension '{k}' " + f"which has a max bound of: {self._dims_max_bounds[k]}" + ) + + self._current_index.update(index) + + for i, (ig, data) in enumerate(zip(self.managed_graphics, self.data)): + frame = self._process_indices(data, self._current_index) + frame = self._process_frame_apply(frame, i) + ig.data = frame + + # call any event handlers + for handler in self._current_index_changed_handlers: + handler(self.current_index) + except Exception as exc: + # raise original exception + raise exc # current_index setter has raised. The lines above below are probably more relevant! + finally: + # set_value has finished executing, now allow future executions + self._reentrant_block = False + @property def n_img_dims(self) -> list[int]: """ @@ -247,42 +286,6 @@ def _get_n_scrollable_dims(self, curr_arr: np.ndarray, rgb: bool) -> list[int]: return n_scrollable_dims - @current_index.setter - def current_index(self, index: dict[str, int]): - # ignore if output context has not been created yet - if self.widget is None: - return - - if not set(index.keys()).issubset(set(self._current_index.keys())): - raise KeyError( - f"All dimension keys for setting `current_index` must be present in the widget sliders. " - f"The dimensions currently used for sliders are: {list(self.current_index.keys())}" - ) - - for k, val in index.items(): - if not isinstance(val, int): - raise TypeError("Indices for all dimensions must be int") - if val < 0: - raise IndexError("negative indexing is not supported for ImageWidget") - if val > self._dims_max_bounds[k]: - raise IndexError( - f"index {val} is out of bounds for dimension '{k}' " - f"which has a max bound of: {self._dims_max_bounds[k]}" - ) - - self._current_index.update(index) - - # can make a callback_block decorator later - self.block_sliders = True - for k in index.keys(): - self.sliders[k].value = index[k] - self.block_sliders = False - - for i, (ig, data) in enumerate(zip(self.managed_graphics, self.data)): - frame = self._process_indices(data, self._current_index) - frame = self._process_frame_apply(frame, i) - ig.data = frame - def __init__( self, data: np.ndarray | list[np.ndarray], @@ -292,7 +295,7 @@ def __init__( names: list[str] = None, figure_kwargs: dict = None, histogram_widget: bool = True, - rgb: list[bool] = None, + rgb: bool | list[bool] = None, cmap: str = "plasma", graphic_kwargs: dict = None, ): @@ -339,7 +342,7 @@ def __init__( manually provide the shape for the Figure, otherwise the number of rows and columns is estimated figure_kwargs: dict, optional - passed to `GridPlot` + passed to ``Figure`` names: Optional[str] gives names to the subplots @@ -348,17 +351,17 @@ def __init__( make histogram LUT widget for each subplot rgb: bool | list[bool], default None - Includes a True or False for each ``array`` in the ImageWidget, indicating whether images are displayed as - grayscale or RGB(A). + bool or list of bool for each input data array in the ImageWidget, indicating whether the corresponding + data arrays are grayscale or RGB(A). graphic_kwargs: Any passed to each ImageGraphic in the ImageWidget figure subplots """ - self._names = None + self._initialized = False - # output context - self._output = None + if figure_kwargs is None: + figure_kwargs = dict() if _is_arraylike(data): data = [data] @@ -368,13 +371,20 @@ def __init__( if all([_is_arraylike(d) for d in data]): # Grid computations if figure_shape is None: - figure_shape = calculate_figure_shape(len(data)) + if "shape" in figure_kwargs: + figure_shape = figure_kwargs["shape"] + else: + figure_shape = calculate_figure_shape(len(data)) - # verify that user-specified figure shape is large enough for the number of image arrays passed - elif figure_shape[0] * figure_shape[1] < len(data): + # Regardless of how figure_shape is computed, below code + # verifies that figure shape is large enough for the number of image arrays passed + if figure_shape[0] * figure_shape[1] < len(data): + original_shape = (figure_shape[0], figure_shape[1]) figure_shape = calculate_figure_shape(len(data)) warn( - f"Invalid `figure_shape` passed, setting figure shape to: {figure_shape}" + f"Original `figure_shape` was: {original_shape} " + f" but data length is {len(data)}" + f" Resetting figure shape to: {figure_shape}" ) self._data: list[np.ndarray] = data @@ -382,15 +392,15 @@ def __init__( # Establish number of image dimensions and number of scrollable dimensions for each array if rgb is None: rgb = [False] * len(self.data) - if rgb is bool: - rgb = [rgb] + if isinstance(rgb, bool): + rgb = [rgb] * len(self.data) if not isinstance(rgb, list): raise TypeError( - f"rgb_disp parameter must be a list, a {type(rgb)} was provided" + f"`rgb` parameter must be a bool or list of bool, a <{type(rgb)}> was provided" ) if not len(rgb) == len(self.data): raise ValueError( - f"rgb had length {len(rgb)} but there are {len(self.data)} data arrays; these must be equal" + f"len(rgb) != len(data), {len(rgb)} != {len(self.data)}. These must be equal" ) self._rgb = rgb @@ -426,7 +436,6 @@ def __init__( raise ValueError( "number of `names` for subplots must be same as the number of data arrays" ) - self._names = names else: raise TypeError( @@ -483,8 +492,6 @@ def __init__( self._window_funcs = None self.window_funcs = window_funcs - self._sliders: dict[str, Any] = dict() - # get max bound for all data arrays for all slider dimensions and ensure compatibility across slider dims self._dims_max_bounds: dict[str, int] = {k: 0 for k in self.slider_dims} for i, _dim in enumerate(list(self._dims_max_bounds.keys())): @@ -499,45 +506,92 @@ def __init__( self._dims_max_bounds[_dim], array.shape[i] ) - figure_kwargs_default = {"controller_ids": "sync"} - if figure_kwargs is None: - figure_kwargs = dict() + figure_kwargs_default = {"controller_ids": "sync", "names": names} # update the default kwargs with any user-specified kwargs # user specified kwargs will overwrite the defaults figure_kwargs_default.update(figure_kwargs) + figure_kwargs_default["shape"] = figure_shape if graphic_kwargs is None: graphic_kwargs = dict() graphic_kwargs.update({"cmap": cmap}) - self._figure: Figure = Figure(shape=figure_shape, **figure_kwargs_default) + vmin_specified, vmax_specified = None, None + if "vmin" in graphic_kwargs.keys(): + vmin_specified = graphic_kwargs.pop("vmin") + if "vmax" in graphic_kwargs.keys(): + vmax_specified = graphic_kwargs.pop("vmax") + + self._figure: Figure = Figure(**figure_kwargs_default) self._histogram_widget = histogram_widget for data_ix, (d, subplot) in enumerate(zip(self.data, self.figure)): - if self._names is not None: - name = self._names[data_ix] - else: - name = None frame = self._process_indices(d, slice_indices=self._current_index) frame = self._process_frame_apply(frame, data_ix) - ig = ImageGraphic(frame, name="image_widget_managed", **graphic_kwargs) + + if (vmin_specified is None) or (vmax_specified is None): + # if either vmin or vmax are not specified, calculate an estimate by subsampling + vmin_estimate, vmax_estimate = quick_min_max(d) + + # decide vmin, vmax passed to ImageGraphic constructor based on whether it's user specified or now + if vmin_specified is None: + # user hasn't specified vmin, use estimated value + vmin = vmin_estimate + else: + # user has provided a specific value, use that + vmin = vmin_specified + + if vmax_specified is None: + vmax = vmax_estimate + else: + vmax = vmax_specified + else: + # both vmin and vmax are specified + vmin, vmax = vmin_specified, vmax_specified + + ig = ImageGraphic( + frame, + name="image_widget_managed", + vmin=vmin, + vmax=vmax, + **graphic_kwargs, + ) subplot.add_graphic(ig) - subplot.name = name - subplot.set_title(name) if self._histogram_widget: - hlut = HistogramLUT(data=d, image_graphic=ig, name="histogram_lut") + hlut = HistogramLUTTool(data=d, image_graphic=ig, name="histogram_lut") subplot.docks["right"].add_graphic(hlut) subplot.docks["right"].size = 80 subplot.docks["right"].auto_scale(maintain_aspect=False) subplot.docks["right"].controller.enabled = False - self.block_sliders = False - self._image_widget_toolbar = None + # hard code the expected height so that the first render looks right in tests, docs etc. + if len(self.slider_dims) == 0: + ui_size = 57 + if len(self.slider_dims) == 1: + ui_size = 106 + elif len(self.slider_dims) == 2: + ui_size = 155 + + self._image_widget_sliders = ImageWidgetSliders( + figure=self.figure, + size=ui_size, + location="bottom", + title="ImageWidget Controls", + image_widget=self, + ) + + self.figure.add_gui(self._image_widget_sliders) + + self._current_index_changed_handlers = set() + + self._reentrant_block = False + + self._initialized = True @property def frame_apply(self) -> dict | None: @@ -740,21 +794,62 @@ def _process_frame_apply(self, array, data_ix) -> np.ndarray: return array - def _slider_value_changed(self, dimension: str, change: dict | int): - if self.block_sliders: - return - if isinstance(change, dict): - value = change["new"] - else: - value = change - self.current_index = {dimension: value} + def add_event_handler(self, handler: callable, event: str = "current_index"): + """ + Register an event handler. + + Currently the only event that ImageWidget supports is "current_index". This event is + emitted whenever the index of the ImageWidget changes. + + Parameters + ---------- + handler: callable + callback function, must take a dict as the only argument. This dict will be the `current_index` + + event: str, "current_index" + the only supported event is "current_index" + + Example + ------- + + .. code-block:: py + + def my_handler(index): + print(index) + # example prints: {"t": 100} if data has only time dimension + # "z" index will be another key if present in the data, ex: {"t": 100, "z": 5} + + # create an image widget + iw = ImageWidget(...) + + # add event handler + iw.add_event_handler(my_handler) + + """ + if event != "current_index": + raise ValueError( + "`current_index` is the only event supported by `ImageWidget`" + ) + + self._current_index_changed_handlers.add(handler) + + def remove_event_handler(self, handler: callable): + """Remove a registered event handler""" + self._current_index_changed_handlers.remove(handler) + + def clear_event_handlers(self): + """Clear all registered event handlers""" + self._current_index_changed_handlers.clear() def reset_vmin_vmax(self): """ Reset the vmin and vmax w.r.t. the full data """ - for ig in self.managed_graphics: - ig.reset_vmin_vmax() + for data, subplot in zip(self.data, self.figure): + if "histogram_lut" not in subplot.docks["right"]: + continue + hlut = subplot.docks["right"]["histogram_lut"] + hlut.set_data(data, reset_vmin_vmax=True) def reset_vmin_vmax_frame(self): """ @@ -799,8 +894,6 @@ def set_data( if reset_indices: for key in self.current_index: self.current_index[key] = 0 - for key in self.sliders: - self.sliders[key].value = 0 # set slider max according to new data max_lengths = dict() @@ -849,8 +942,10 @@ def set_data( # make new graphic first new_graphic = ImageGraphic(data=frame, name="image_widget_managed") - # set hlut tool to use new graphic - subplot.docks["right"]["histogram_lut"].image_graphic = new_graphic + if self._histogram_widget: + # set hlut tool to use new graphic + subplot.docks["right"]["histogram_lut"].image_graphic = new_graphic + # delete old graphic after setting hlut tool to new graphic # this ensures gc subplot.delete_graphic(graphic=subplot["image_widget_managed"]) @@ -871,50 +966,36 @@ def set_data( f"New arrays have differing values along dim {scroll_dim}" ) + self._dims_max_bounds[scroll_dim] = max_lengths[scroll_dim] + # set histogram widget if self._histogram_widget: subplot.docks["right"]["histogram_lut"].set_data( new_array, reset_vmin_vmax=reset_vmin_vmax ) - # set slider maxes - # TODO: maybe make this stuff a property, like ndims, n_frames etc. and have it set the sliders - for key in self.sliders.keys(): - self.sliders[key].max = max_lengths[key] - self._dims_max_bounds[key] = max_lengths[key] - # force graphics to update self.current_index = self.current_index - def show( - self, toolbar: bool = True, sidecar: bool = False, sidecar_kwargs: dict = None - ): + def show(self, **kwargs): """ Show the widget. - Returns - ------- - OutputContext - ImageWidget just uses the Gridplot output context - """ - if self.figure.canvas.__class__.__name__ == "JupyterWgpuCanvas": - from ._image_widget_ipywidget_toolbar import IpywidgetImageWidgetToolbar - - self._image_widget_toolbar = IpywidgetImageWidgetToolbar(self) + Parameters + ---------- - elif self.figure.canvas.__class__.__name__ == "QWgpuCanvas": - from ._image_widget_qt_toolbar import QToolbarImageWidget + kwargs: Any + passed to `Figure.show()` - self._image_widget_toolbar = QToolbarImageWidget(self) + Returns + ------- + BaseRenderCanvas + In Qt or GLFW, the canvas window containing the Figure will be shown. + In jupyter, it will display the plot in the output cell or sidecar. - self._output = self.figure.show( - toolbar=toolbar, - sidecar=sidecar, - sidecar_kwargs=sidecar_kwargs, - add_widgets=[self._image_widget_toolbar], - ) + """ - return self._output + return self.figure.show(**kwargs) def close(self): """Close Widget""" diff --git a/pyproject.toml b/pyproject.toml index 4d957aee3..216b4ab46 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,3 +1,84 @@ +# ===== Project info + +[project] +dynamic = ["version"] +name = "fastplotlib" +description = "Next-gen fast plotting library running on WGPU using the Pygfx rendering engine " +readme = "README.md" +license = { file = "LICENSE" } +authors = [{ name = "Kushal Kolar" }, { name = "Caitlin Lewis" }] +keywords = [ + "visualization", + "science", + "interactive", + "pygfx", + "webgpu", + "wgpu", + "vulkan", + "gpu", +] +requires-python = ">= 3.10" +dependencies = [ + "numpy>=1.23.0", + "pygfx==0.10.0", + "wgpu>=0.20.0", + "cmap>=0.1.3", + # (this comment keeps this list multiline in VSCode) +] + +[project.optional-dependencies] +docs = [ + "sphinx", + "sphinx-gallery", + "pydata-sphinx-theme", + "glfw", + "ipywidgets>=8.0.0,<9", + "sphinx-copybutton", + "sphinx-design", + "pandoc", + "imageio[ffmpeg]", + "matplotlib", + "scikit-learn", +] +notebook = [ + "jupyterlab", + "jupyter-rfb>=0.5.1", + "ipywidgets>=8.0.0,<9", + "sidecar", +] +tests = [ + "pytest", + "nbmake", + "black", + "scipy", + "imageio[ffmpeg]", + "scikit-learn", + "tqdm", +] +imgui = ["imgui-bundle"] +dev = ["fastplotlib[docs,notebook,tests,imgui]"] + +[project.urls] +Homepage = "https://www.fastplotlib.org/" +Documentation = "https://www.fastplotlib.org/" +Repository = "https://github.com/fastplotlib/fastplotlib" + +# ===== Building + [build-system] -requires = ["setuptools", "wheel"] +requires = ["flit_core >=3.2,<4"] +build-backend = "flit_core.buildapi" + +# ===== Tooling + +# [tool.ruff] +# line-length = 88 +# [tool.ruff.lint] +# select = ["F", "E", "W", "N", "B", "RUF", "TC"] +# ignore = [ +# "E501", # Line too long +# "E731", # Do not assign a `lambda` expression, use a `def` +# "B019", # Use of `functools.lru_cache` or `functools.cache` on methods can lead to memory leaks +# "RUF012", # Mutable class attributes should be annotated with `typing.ClassVar`" +# ] diff --git a/scripts/generate_add_graphic_methods.py b/scripts/generate_add_graphic_methods.py index 3f45d9007..85e0be669 100644 --- a/scripts/generate_add_graphic_methods.py +++ b/scripts/generate_add_graphic_methods.py @@ -29,14 +29,11 @@ def generate_add_graphics_methods(): f.write("# This is an auto-generated file and should not be modified directly\n\n") f.write("from typing import *\n\n") - f.write("import numpy\n") - f.write("import weakref\n\n") + f.write("import numpy\n\n") f.write("from ..graphics import *\n") f.write("from ..graphics._base import Graphic\n\n") f.write("\nclass GraphicMethodsMixin:\n") - f.write(" def __init__(self):\n") - f.write(" pass\n\n") f.write( " def _create_graphic(self, graphic_class, *args, **kwargs) -> Graphic:\n" @@ -49,27 +46,29 @@ def generate_add_graphics_methods(): f.write(" self._check_graphic_name_exists(kwargs['name'])\n\n") f.write(" graphic = graphic_class(*args, **kwargs)\n") f.write(" self.add_graphic(graphic, center=center)\n\n") - f.write(" # only return a proxy to the real graphic\n") - f.write(" return weakref.proxy(graphic)\n\n") + f.write(" return graphic\n\n") for m in modules: - class_name = m - method_name = class_name.type + cls = m + if cls.__name__ == "Graphic": + # skip base class + continue + method_name = cls.type - class_args = inspect.getfullargspec(class_name)[0][1:] + class_args = inspect.getfullargspec(cls)[0][1:] class_args = [arg + ", " for arg in class_args] s = "" for a in class_args: s += a f.write( - f" def add_{method_name}{inspect.signature(class_name.__init__)} -> {class_name.__name__}:\n" + f" def add_{method_name}{inspect.signature(cls.__init__)} -> {cls.__name__}:\n" ) f.write(' """\n') - f.write(f" {class_name.__init__.__doc__}\n") + f.write(f" {cls.__init__.__doc__}\n") f.write(' """\n') f.write( - f" return self._create_graphic({class_name.__name__}, {s} **kwargs)\n\n" + f" return self._create_graphic({cls.__name__}, {s} **kwargs)\n\n" ) f.close() diff --git a/setup.py b/setup.py deleted file mode 100644 index 7229dcf25..000000000 --- a/setup.py +++ /dev/null @@ -1,88 +0,0 @@ -from setuptools import setup, find_packages -from pathlib import Path - - -install_requires = [ - "numpy>=1.23.0", - "wgpu<0.16.0", - "pygfx>=0.1.14,<=0.2.0", -] - - -extras_require = { - "docs": [ - "sphinx", - "sphinx-gallery", - "furo", - "glfw", - "jupyter-rfb>=0.4.1", # required so ImageWidget docs show up - "ipywidgets>=8.0.0,<9", - "sphinx-copybutton", - "sphinx-design", - "pandoc", - "jupyterlab", - "sidecar", - "imageio", - "matplotlib", - "scikit-learn" - ], - "notebook": [ - "jupyterlab", - "jupyter-rfb>=0.4.1", - "ipywidgets>=8.0.0,<9", - "sidecar", - ], - "tests": [ - "pytest<8.0.0", - "nbmake", - "black", - "scipy", - "imageio[pyav]", - "jupyterlab", - "jupyter-rfb>=0.4.1", - "ipywidgets>=8.0.0,<9", - "scikit-learn", - "tqdm", - "sidecar", - ], - "tests-desktop": [ - "pytest<8.0.0", - "scipy", - "imageio", - "scikit-learn", - "tqdm", - ], -} - - -with open(Path(__file__).parent.joinpath("README.md")) as f: - readme = f.read() - -with open(Path(__file__).parent.joinpath("fastplotlib", "VERSION"), "r") as f: - ver = f.read().split("\n")[0] - - -classifiers = [ - "Programming Language :: Python :: 3", - "Topic :: Scientific/Engineering :: Visualization", - "License :: OSI Approved :: Apache Software License", - "Intended Audience :: Science/Research", -] - - -setup( - name="fastplotlib", - version=ver, - long_description=readme, - long_description_content_type="text/markdown", - packages=find_packages(), - url="https://github.com/fastplotlib/fastplotlib", - license="Apache 2.0", - author="Kushal Kolar, Caitlin Lewis", - author_email="", - python_requires=">=3.10", - install_requires=install_requires, - extras_require=extras_require, - include_package_data=True, - description="A fast plotting library built using the pygfx render engine", -) diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 000000000..3f5414a71 --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1,8 @@ +import pygfx + + +MAX_TEXTURE_SIZE = 1024 + + +def pytest_sessionstart(session): + pygfx.renderers.wgpu.set_wgpu_limits(**{"max-texture-dimension-2d": MAX_TEXTURE_SIZE}) diff --git a/tests/events.py b/tests/events.py index ea160dec3..e9b212adb 100644 --- a/tests/events.py +++ b/tests/events.py @@ -5,7 +5,7 @@ import pygfx import fastplotlib as fpl -from fastplotlib.graphics._features import FeatureEvent +from fastplotlib.graphics.features import GraphicFeatureEvent def make_positions_data() -> np.ndarray: @@ -22,7 +22,7 @@ def make_scatter_graphic() -> fpl.ScatterGraphic: return fpl.ScatterGraphic(make_positions_data()) -event_instance: FeatureEvent = None +event_instance: GraphicFeatureEvent = None def event_handler(event): @@ -30,7 +30,7 @@ def event_handler(event): event_instance = event -decorated_event_instance: FeatureEvent = None +decorated_event_instance: GraphicFeatureEvent = None @pytest.mark.parametrize("graphic", [make_line_graphic(), make_scatter_graphic()]) @@ -42,7 +42,7 @@ def test_positions_data_event(graphic: fpl.LineGraphic | fpl.ScatterGraphic): info = {"key": (slice(3, 8, None), 1), "value": value} - expected = FeatureEvent(type="data", info=info) + expected = GraphicFeatureEvent(type="data", info=info) def validate(graphic, handler, expected_feature_event, event_to_test): assert expected_feature_event.type == event_to_test.type diff --git a/tests/test_colors_buffer_manager.py b/tests/test_colors_buffer_manager.py index 252c6e5c3..7b1aef16a 100644 --- a/tests/test_colors_buffer_manager.py +++ b/tests/test_colors_buffer_manager.py @@ -5,10 +5,9 @@ import pygfx import fastplotlib as fpl -from fastplotlib.graphics._features import VertexColors, FeatureEvent +from fastplotlib.graphics.features import VertexColors, GraphicFeatureEvent from .utils import ( generate_slice_indices, - assert_pending_uploads, generate_color_inputs, generate_positions_spiral_data, ) @@ -19,7 +18,7 @@ def make_colors_buffer() -> VertexColors: return colors -EVENT_RETURN_VALUE: FeatureEvent = None +EVENT_RETURN_VALUE: GraphicFeatureEvent = None def event_handler(ev): @@ -61,15 +60,12 @@ def test_int(test_graphic): colors = make_colors_buffer() # TODO: placeholder until I make a testing figure where we draw frames only on call - colors.buffer._gfx_pending_uploads.clear() - colors[3] = "r" npt.assert_almost_equal(colors[3], [1.0, 0.0, 0.0, 1.0]) - assert colors.buffer._gfx_pending_uploads[-1] == (3, 1) if test_graphic: # test event - assert isinstance(EVENT_RETURN_VALUE, FeatureEvent) + assert isinstance(EVENT_RETURN_VALUE, GraphicFeatureEvent) assert EVENT_RETURN_VALUE.graphic == graphic assert EVENT_RETURN_VALUE.target is graphic.world_object assert EVENT_RETURN_VALUE.info["key"] == 3 @@ -124,7 +120,7 @@ def test_tuple(test_graphic, slice_method): if test_graphic: # test event - assert isinstance(EVENT_RETURN_VALUE, FeatureEvent) + assert isinstance(EVENT_RETURN_VALUE, GraphicFeatureEvent) assert EVENT_RETURN_VALUE.graphic == graphic assert EVENT_RETURN_VALUE.target is graphic.world_object assert EVENT_RETURN_VALUE.info["key"] == (s, slice(None)) @@ -146,7 +142,7 @@ def test_tuple(test_graphic, slice_method): if test_graphic: # test event - assert isinstance(EVENT_RETURN_VALUE, FeatureEvent) + assert isinstance(EVENT_RETURN_VALUE, GraphicFeatureEvent) assert EVENT_RETURN_VALUE.graphic == graphic assert EVENT_RETURN_VALUE.target is graphic.world_object assert EVENT_RETURN_VALUE.info["key"] == slice(None) @@ -206,9 +202,6 @@ def test_slice(color_input, slice_method: dict, test_graphic: bool): else: colors = make_colors_buffer() - # TODO: placeholder until I make a testing figure where we draw frames only on call - colors.buffer._gfx_pending_uploads.clear() - s = slice_method["slice"] indices = slice_method["indices"] offset = slice_method["offset"] @@ -225,7 +218,7 @@ def test_slice(color_input, slice_method: dict, test_graphic: bool): if test_graphic: global EVENT_RETURN_VALUE - assert isinstance(EVENT_RETURN_VALUE, FeatureEvent) + assert isinstance(EVENT_RETURN_VALUE, GraphicFeatureEvent) assert EVENT_RETURN_VALUE.graphic == graphic assert EVENT_RETURN_VALUE.target is graphic.world_object if isinstance(s, slice): @@ -238,9 +231,6 @@ def test_slice(color_input, slice_method: dict, test_graphic: bool): else: npt.assert_almost_equal(EVENT_RETURN_VALUE.info["user_value"], color_input) - # make sure correct offset and size marked for pending upload - assert_pending_uploads(colors.buffer, offset, size) - # check that others are not touched others_truth = np.repeat([[1.0, 1.0, 1.0, 1.0]], repeats=len(others), axis=0) npt.assert_almost_equal(colors[others], others_truth) diff --git a/tests/test_common_features.py b/tests/test_common_features.py index 332ac71ae..5671478a7 100644 --- a/tests/test_common_features.py +++ b/tests/test_common_features.py @@ -4,7 +4,7 @@ import pytest import fastplotlib as fpl -from fastplotlib.graphics._features import FeatureEvent, Name, Offset, Rotation, Visible +from fastplotlib.graphics.features import GraphicFeatureEvent, Name, Offset, Rotation, Visible def make_graphic(kind: str, **kwargs): @@ -29,11 +29,11 @@ def make_graphic(kind: str, **kwargs): ] -RETURN_EVENT_VALUE: FeatureEvent = None -DECORATED_EVENT_VALUE: FeatureEvent = None +RETURN_EVENT_VALUE: GraphicFeatureEvent = None +DECORATED_EVENT_VALUE: GraphicFeatureEvent = None -def return_event(ev: FeatureEvent): +def return_event(ev: GraphicFeatureEvent): global RETURN_EVENT_VALUE RETURN_EVENT_VALUE = ev @@ -138,7 +138,7 @@ def decorated_handler(ev): assert DECORATED_EVENT_VALUE.type == "offset" assert DECORATED_EVENT_VALUE.graphic is graphic assert DECORATED_EVENT_VALUE.target is graphic.world_object - assert DECORATED_EVENT_VALUE.info["value"] == (7.0, 8.0, 9.0) + npt.assert_almost_equal(DECORATED_EVENT_VALUE.info["value"], (7.0, 8.0, 9.0)) @pytest.mark.parametrize( @@ -202,7 +202,7 @@ def decorated_handler(ev): assert DECORATED_EVENT_VALUE.type == "rotation" assert DECORATED_EVENT_VALUE.graphic is graphic assert DECORATED_EVENT_VALUE.target is graphic.world_object - assert DECORATED_EVENT_VALUE.info["value"] == (0, 0, 0.6, 0.8) + npt.assert_almost_equal(DECORATED_EVENT_VALUE.info["value"], (0, 0, 0.6, 0.8)) @pytest.mark.parametrize( diff --git a/tests/test_figure.py b/tests/test_figure.py index 757b1eeae..520091009 100644 --- a/tests/test_figure.py +++ b/tests/test_figure.py @@ -170,3 +170,93 @@ def test_set_controllers_from_existing_controllers(): assert fig[0, 0].camera is cameras[0][0] assert fig[0, 1].camera.fov == 50 + + +def test_subplot_names(): + # names must be unique + with pytest.raises(ValueError): + fpl.Figure( + shape=(2, 3), + names=["1", "2", "3", "4", "4", "5"] + ) + + with pytest.raises(ValueError): + fpl.Figure( + shape=(2, 3), + names=["1", "2", None, "4", "4", "5"] + ) + + with pytest.raises(ValueError): + fpl.Figure( + shape=(2, 3), + names=[None, "2", None, "4", "4", "5"] + ) + + # len(names) <= n_subplots + fig = fpl.Figure( + shape=(2, 3), + names=["1", "2", "3", "4", "5", "6"] + ) + + assert fig[0, 0].name == "1" + assert fig[0, 1].name == "2" + assert fig[0, 2].name == "3" + assert fig[1, 0].name == "4" + assert fig[1, 1].name == "5" + assert fig[1, 2].name == "6" + + fig = fpl.Figure( + shape=(2, 3), + names=["1", "2", "3", None, "5", "6"] + ) + + assert fig[0, 0].name == "1" + assert fig[0, 1].name == "2" + assert fig[0, 2].name == "3" + assert fig[1, 0].name is None + assert fig[1, 1].name == "5" + assert fig[1, 2].name == "6" + + fig = fpl.Figure( + shape=(2, 3), + names=["1", "2", "3", None, "5", None] + ) + + assert fig[0, 0].name == "1" + assert fig[0, 1].name == "2" + assert fig[0, 2].name == "3" + assert fig[1, 0].name is None + assert fig[1, 1].name == "5" + assert fig[1, 2].name is None + + # if fewer subplot names are given than n_sublots, pad with Nones + fig = fpl.Figure( + shape=(2, 3), + names=["1", "2", "3", "4"] + ) + + assert fig[0, 0].name == "1" + assert fig[0, 1].name == "2" + assert fig[0, 2].name == "3" + assert fig[1, 0].name == "4" + assert fig[1, 1].name is None + assert fig[1, 2].name is None + + # raise if len(names) > n_subplots + with pytest.raises(ValueError): + fpl.Figure( + shape=(2, 3), + names=["1", "2", "3", "4", "5", "6", "7"] + ) + + with pytest.raises(ValueError): + fpl.Figure( + shape=(2, 3), + names=["1", "2", "3", "4", None, "6", "7"] + ) + + with pytest.raises(ValueError): + fpl.Figure( + shape=(2, 3), + names=["1", None, "3", "4", None, "6", "7"] + ) diff --git a/tests/test_image_graphic.py b/tests/test_image_graphic.py index 541129079..f2d87860b 100644 --- a/tests/test_image_graphic.py +++ b/tests/test_image_graphic.py @@ -2,8 +2,10 @@ from numpy import testing as npt import imageio.v3 as iio +import pygfx + import fastplotlib as fpl -from fastplotlib.graphics._features import FeatureEvent +from fastplotlib.graphics.features import GraphicFeatureEvent from fastplotlib.utils import make_colors GRAY_IMAGE = iio.imread("imageio:camera.png") @@ -16,7 +18,7 @@ # new screenshot tests too for these when in graphics -EVENT_RETURN_VALUE: FeatureEvent = None +EVENT_RETURN_VALUE: GraphicFeatureEvent = None def event_handler(ev): @@ -26,7 +28,7 @@ def event_handler(ev): def check_event(graphic, feature, value): global EVENT_RETURN_VALUE - assert isinstance(EVENT_RETURN_VALUE, FeatureEvent) + assert isinstance(EVENT_RETURN_VALUE, GraphicFeatureEvent) assert EVENT_RETURN_VALUE.type == feature assert EVENT_RETURN_VALUE.graphic == graphic assert EVENT_RETURN_VALUE.target == graphic.world_object @@ -56,7 +58,7 @@ def check_set_slice( npt.assert_almost_equal(data_values[:, col_slice.stop :], data[:, col_slice.stop :]) global EVENT_RETURN_VALUE - assert isinstance(EVENT_RETURN_VALUE, FeatureEvent) + assert isinstance(EVENT_RETURN_VALUE, GraphicFeatureEvent) assert EVENT_RETURN_VALUE.type == "data" assert EVENT_RETURN_VALUE.graphic == image_graphic assert EVENT_RETURN_VALUE.target == image_graphic.world_object @@ -86,20 +88,24 @@ def test_gray(): # the entire image should be in the single Texture buffer npt.assert_almost_equal(ig.data.buffer[0, 0].data, GRAY_IMAGE) + assert isinstance(ig._material, pygfx.ImageBasicMaterial) + assert isinstance(ig._material.map, pygfx.TextureMap) + assert isinstance(ig._material.map.texture, pygfx.Texture) + ig.cmap = "viridis" assert ig.cmap == "viridis" check_event(graphic=ig, feature="cmap", value="viridis") new_colors = make_colors(256, "viridis") for child in ig.world_object.children: - npt.assert_almost_equal(child.material.map.data, new_colors) + npt.assert_almost_equal(child.material.map.texture.data, new_colors) ig.cmap = "jet" assert ig.cmap == "jet" new_colors = make_colors(256, "jet") for child in ig.world_object.children: - npt.assert_almost_equal(child.material.map.data, new_colors) + npt.assert_almost_equal(child.material.map.texture.data, new_colors) assert ig.interpolation == "nearest" for child in ig.world_object.children: @@ -113,12 +119,15 @@ def test_gray(): assert ig.cmap_interpolation == "linear" for child in ig.world_object.children: - assert child.material.map_interpolation == "linear" + assert child.material.map.min_filter == "linear" + assert child.material.map.mag_filter == "linear" ig.cmap_interpolation = "nearest" assert ig.cmap_interpolation == "nearest" for child in ig.world_object.children: - assert child.material.map_interpolation == "nearest" + assert child.material.map.min_filter == "nearest" + assert child.material.map.mag_filter == "nearest" + check_event(graphic=ig, feature="cmap_interpolation", value="nearest") npt.assert_almost_equal(ig.vmin, GRAY_IMAGE.min()) diff --git a/tests/test_positions_data_buffer_manager.py b/tests/test_positions_data_buffer_manager.py index de9d179d8..18a7b36e8 100644 --- a/tests/test_positions_data_buffer_manager.py +++ b/tests/test_positions_data_buffer_manager.py @@ -3,15 +3,14 @@ import pytest import fastplotlib as fpl -from fastplotlib.graphics._features import VertexPositions, FeatureEvent +from fastplotlib.graphics.features import VertexPositions, GraphicFeatureEvent from .utils import ( generate_slice_indices, - assert_pending_uploads, generate_positions_spiral_data, ) -EVENT_RETURN_VALUE: FeatureEvent = None +EVENT_RETURN_VALUE: GraphicFeatureEvent = None def event_handler(ev): @@ -73,7 +72,7 @@ def test_int(test_graphic): # check event if test_graphic: - assert isinstance(EVENT_RETURN_VALUE, FeatureEvent) + assert isinstance(EVENT_RETURN_VALUE, GraphicFeatureEvent) assert EVENT_RETURN_VALUE.graphic == graphic assert EVENT_RETURN_VALUE.target is graphic.world_object assert EVENT_RETURN_VALUE.info["key"] == 2 @@ -88,7 +87,7 @@ def test_int(test_graphic): # check event if test_graphic: - assert isinstance(EVENT_RETURN_VALUE, FeatureEvent) + assert isinstance(EVENT_RETURN_VALUE, GraphicFeatureEvent) assert EVENT_RETURN_VALUE.graphic == graphic assert EVENT_RETURN_VALUE.target is graphic.world_object assert EVENT_RETURN_VALUE.info["key"] == slice(None) @@ -134,9 +133,6 @@ def test_slice(test_graphic, slice_method: dict, test_axis: str): size = slice_method["size"] others = slice_method["others"] - # TODO: placeholder until I make a testing figure where we draw frames only on call - points.buffer._gfx_pending_uploads.clear() - match test_axis: case "y": points[s, 1] = -data[s, 1] @@ -152,7 +148,7 @@ def test_slice(test_graphic, slice_method: dict, test_axis: str): # check event if test_graphic: - assert isinstance(EVENT_RETURN_VALUE, FeatureEvent) + assert isinstance(EVENT_RETURN_VALUE, GraphicFeatureEvent) assert EVENT_RETURN_VALUE.graphic == graphic assert EVENT_RETURN_VALUE.target is graphic.world_object if isinstance(s, slice): @@ -176,7 +172,7 @@ def test_slice(test_graphic, slice_method: dict, test_axis: str): # check event if test_graphic: - assert isinstance(EVENT_RETURN_VALUE, FeatureEvent) + assert isinstance(EVENT_RETURN_VALUE, GraphicFeatureEvent) assert EVENT_RETURN_VALUE.graphic == graphic assert EVENT_RETURN_VALUE.target is graphic.world_object if isinstance(s, slice): @@ -195,7 +191,7 @@ def test_slice(test_graphic, slice_method: dict, test_axis: str): # check event if test_graphic: - assert isinstance(EVENT_RETURN_VALUE, FeatureEvent) + assert isinstance(EVENT_RETURN_VALUE, GraphicFeatureEvent) assert EVENT_RETURN_VALUE.graphic == graphic assert EVENT_RETURN_VALUE.target is graphic.world_object if isinstance(s, slice): @@ -203,6 +199,3 @@ def test_slice(test_graphic, slice_method: dict, test_axis: str): else: npt.assert_almost_equal(EVENT_RETURN_VALUE.info["key"], s) npt.assert_almost_equal(EVENT_RETURN_VALUE.info["value"], -data[s]) - - # make sure correct offset and size marked for pending upload - assert_pending_uploads(points.buffer, offset, size) diff --git a/tests/test_positions_graphics.py b/tests/test_positions_graphics.py index d9c3a4871..ed791b6fa 100644 --- a/tests/test_positions_graphics.py +++ b/tests/test_positions_graphics.py @@ -5,7 +5,7 @@ import pygfx import fastplotlib as fpl -from fastplotlib.graphics._features import ( +from fastplotlib.graphics.features import ( VertexPositions, VertexColors, VertexCmap, @@ -13,7 +13,7 @@ UniformSize, PointsSizesFeature, Thickness, - FeatureEvent, + GraphicFeatureEvent, ) from .utils import ( @@ -21,7 +21,6 @@ generate_color_inputs, MULTI_COLORS_TRUTH, generate_slice_indices, - assert_pending_uploads, ) @@ -59,7 +58,7 @@ } -EVENT_RETURN_VALUE: FeatureEvent = None +EVENT_RETURN_VALUE: GraphicFeatureEvent = None def event_handler(ev): @@ -444,3 +443,45 @@ def test_thickness(thickness): else: assert isinstance(graphic.world_object.material, pygfx.LineMaterial) + + +@pytest.mark.parametrize("graphic_type", ["line", "scatter"]) +@pytest.mark.parametrize("size_space", ["screen", "world", "model"]) +def test_size_space(graphic_type, size_space): + fig = fpl.Figure() + + kwargs = dict() + for kwarg in ["size_space"]: + if locals()[kwarg] is not None: + # add to dict of arguments that will be passed + kwargs[kwarg] = locals()[kwarg] + + data = generate_positions_spiral_data("xy") + + if size_space is None: + size_space = "screen" # default space + + # size_space is really an alias for pygfx.utils.enums.CoordSpace + if graphic_type == "line": + graphic = fig[0, 0].add_line(data=data, **kwargs) + + # test getter + assert graphic.world_object.material.thickness_space == size_space + assert graphic.size_space == size_space + + # test setter + graphic.size_space = "world" + assert graphic.size_space == "world" + assert graphic.world_object.material.thickness_space == "world" + + elif graphic_type == "scatter": + + # test getter + graphic = fig[0, 0].add_scatter(data=data, **kwargs) + assert graphic.world_object.material.size_space == size_space + assert graphic.size_space == size_space + + # test setter + graphic.size_space = "world" + assert graphic.size_space == "world" + assert graphic.world_object.material.size_space == "world" diff --git a/tests/test_sizes_buffer_manager.py b/tests/test_sizes_buffer_manager.py index 0b34f9588..2f55eab27 100644 --- a/tests/test_sizes_buffer_manager.py +++ b/tests/test_sizes_buffer_manager.py @@ -2,8 +2,8 @@ from numpy import testing as npt import pytest -from fastplotlib.graphics._features import PointsSizesFeature -from .utils import generate_slice_indices, assert_pending_uploads +from fastplotlib.graphics.features import PointsSizesFeature +from .utils import generate_slice_indices def generate_data(input_type: str) -> np.ndarray | float: @@ -52,9 +52,6 @@ def test_slice(slice_method: dict, user_input: str): sizes = PointsSizesFeature(data, n_datapoints=10) - # TODO: placeholder until I make a testing figure where we draw frames only on call - sizes.buffer._gfx_pending_uploads.clear() - match user_input: case "float": sizes[s] = 20.0 @@ -71,6 +68,3 @@ def test_slice(slice_method: dict, user_input: str): npt.assert_almost_equal(sizes[indices], cosine[s]) # make sure other sizes not modified npt.assert_almost_equal(sizes[others], data[others]) - - # make sure correct offset and size marked for pending upload - assert_pending_uploads(sizes.buffer, offset, size) diff --git a/tests/test_text_graphic.py b/tests/test_text_graphic.py index a13dfe690..ec3d0be54 100644 --- a/tests/test_text_graphic.py +++ b/tests/test_text_graphic.py @@ -1,8 +1,8 @@ from numpy import testing as npt import fastplotlib as fpl -from fastplotlib.graphics._features import ( - FeatureEvent, +from fastplotlib.graphics.features import ( + GraphicFeatureEvent, TextData, FontSize, TextFaceColor, @@ -25,7 +25,7 @@ def test_create_graphic(): assert text.font_size == 14 assert isinstance(text._font_size, FontSize) - assert text.world_object.geometry.font_size == 14 + assert text.world_object.font_size == 14 assert text.face_color == pygfx.Color("w") assert isinstance(text._face_color, TextFaceColor) @@ -40,7 +40,7 @@ def test_create_graphic(): assert text.world_object.material.outline_thickness == 0 -EVENT_RETURN_VALUE: FeatureEvent = None +EVENT_RETURN_VALUE: GraphicFeatureEvent = None def event_handler(ev): @@ -50,7 +50,7 @@ def event_handler(ev): def check_event(graphic, feature, value): global EVENT_RETURN_VALUE - assert isinstance(EVENT_RETURN_VALUE, FeatureEvent) + assert isinstance(EVENT_RETURN_VALUE, GraphicFeatureEvent) assert EVENT_RETURN_VALUE.type == feature assert EVENT_RETURN_VALUE.graphic == graphic assert EVENT_RETURN_VALUE.target == graphic.world_object @@ -82,7 +82,7 @@ def test_text_changes_events(): text.font_size = 10.0 assert text.font_size == 10.0 - assert text.world_object.geometry.font_size == 10 + assert text.world_object.font_size == 10 check_event(text, "font_size", 10) text.face_color = "r" diff --git a/tests/test_texture_array.py b/tests/test_texture_array.py index e1a6a1753..6220f2fe5 100644 --- a/tests/test_texture_array.py +++ b/tests/test_texture_array.py @@ -5,10 +5,13 @@ import pygfx import fastplotlib as fpl -from fastplotlib.graphics._features import TextureArray, WGPU_MAX_TEXTURE_SIZE +from fastplotlib.graphics.features import TextureArray from fastplotlib.graphics.image import _ImageTile +MAX_TEXTURE_SIZE = 1024 + + def make_data(n_rows: int, n_cols: int) -> np.ndarray: """ Makes a 2D array where the amplitude of the sine wave @@ -50,14 +53,14 @@ def check_texture_array( assert ta.buffer[chunk_index] is texture chunk_row, chunk_col = chunk_index - data_row_start_index = chunk_row * WGPU_MAX_TEXTURE_SIZE - data_col_start_index = chunk_col * WGPU_MAX_TEXTURE_SIZE + data_row_start_index = chunk_row * MAX_TEXTURE_SIZE + data_col_start_index = chunk_col * MAX_TEXTURE_SIZE data_row_stop_index = min( - data.shape[0], data_row_start_index + WGPU_MAX_TEXTURE_SIZE + data.shape[0], data_row_start_index + MAX_TEXTURE_SIZE ) data_col_stop_index = min( - data.shape[1], data_col_start_index + WGPU_MAX_TEXTURE_SIZE + data.shape[1], data_col_start_index + MAX_TEXTURE_SIZE ) row_slice = slice(data_row_start_index, data_row_stop_index) @@ -96,7 +99,7 @@ def check_image_graphic(texture_array, graphic): @pytest.mark.parametrize("test_graphic", [False, True]) def test_small_texture(test_graphic): # tests TextureArray with dims that requires only 1 texture - data = make_data(1_000, 1_000) + data = make_data(500, 500) if test_graphic: graphic = make_image_graphic(data) @@ -118,13 +121,13 @@ def test_small_texture(test_graphic): if test_graphic: check_image_graphic(ta, graphic) - check_set_slice(data, ta, slice(50, 200), slice(600, 800)) + check_set_slice(data, ta, slice(50, 200), slice(200, 400)) @pytest.mark.parametrize("test_graphic", [False, True]) def test_texture_at_limit(test_graphic): - # tests TextureArray with data that is 8192 x 8192 - data = make_data(WGPU_MAX_TEXTURE_SIZE, WGPU_MAX_TEXTURE_SIZE) + # tests TextureArray with data that is 1024 x 1024 + data = make_data(MAX_TEXTURE_SIZE, MAX_TEXTURE_SIZE) if test_graphic: graphic = make_image_graphic(data) @@ -146,12 +149,12 @@ def test_texture_at_limit(test_graphic): if test_graphic: check_image_graphic(ta, graphic) - check_set_slice(data, ta, slice(5000, 8000), slice(2000, 3000)) + check_set_slice(data, ta, slice(500, 800), slice(200, 300)) @pytest.mark.parametrize("test_graphic", [False, True]) def test_wide(test_graphic): - data = make_data(10_000, 20_000) + data = make_data(1_200, 2_200) if test_graphic: graphic = make_image_graphic(data) @@ -166,19 +169,19 @@ def test_wide(test_graphic): buffer_shape=(2, 3), row_indices_size=2, col_indices_size=3, - row_indices_values=np.array([0, 8192]), - col_indices_values=np.array([0, 8192, 16384]), + row_indices_values=np.array([0, MAX_TEXTURE_SIZE]), + col_indices_values=np.array([0, MAX_TEXTURE_SIZE, 2 * MAX_TEXTURE_SIZE]), ) if test_graphic: check_image_graphic(ta, graphic) - check_set_slice(data, ta, slice(6_000, 9_000), slice(12_000, 18_000)) + check_set_slice(data, ta, slice(600, 1_100), slice(100, 2_100)) @pytest.mark.parametrize("test_graphic", [False, True]) def test_tall(test_graphic): - data = make_data(20_000, 10_000) + data = make_data(2_200, 1_200) if test_graphic: graphic = make_image_graphic(data) @@ -193,19 +196,19 @@ def test_tall(test_graphic): buffer_shape=(3, 2), row_indices_size=3, col_indices_size=2, - row_indices_values=np.array([0, 8192, 16384]), - col_indices_values=np.array([0, 8192]), + row_indices_values=np.array([0, MAX_TEXTURE_SIZE, 2 * MAX_TEXTURE_SIZE]), + col_indices_values=np.array([0, MAX_TEXTURE_SIZE]), ) if test_graphic: check_image_graphic(ta, graphic) - check_set_slice(data, ta, slice(12_000, 18_000), slice(6_000, 9_000)) + check_set_slice(data, ta, slice(100, 2_100), slice(600, 1_100)) @pytest.mark.parametrize("test_graphic", [False, True]) def test_square(test_graphic): - data = make_data(20_000, 20_000) + data = make_data(2_200, 2_200) if test_graphic: graphic = make_image_graphic(data) @@ -220,11 +223,11 @@ def test_square(test_graphic): buffer_shape=(3, 3), row_indices_size=3, col_indices_size=3, - row_indices_values=np.array([0, 8192, 16384]), - col_indices_values=np.array([0, 8192, 16384]), + row_indices_values=np.array([0, MAX_TEXTURE_SIZE, 2 * MAX_TEXTURE_SIZE]), + col_indices_values=np.array([0, MAX_TEXTURE_SIZE, 2 * MAX_TEXTURE_SIZE]), ) if test_graphic: check_image_graphic(ta, graphic) - check_set_slice(data, ta, slice(12_000, 18_000), slice(16_000, 19_000)) + check_set_slice(data, ta, slice(100, 2_100), slice(100, 2_100)) diff --git a/tests/utils.py b/tests/utils.py index 6a25968e1..bc9a092c8 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -106,17 +106,6 @@ def generate_slice_indices(kind: int): } -def assert_pending_uploads(buffer: pygfx.Buffer, offset: int, size: int): - upload_offset, upload_size = buffer._gfx_pending_uploads[-1] - # sometimes when slicing with step, it will over-estimate offset - # but it overestimates to upload 1 extra point so it's fine - assert (upload_offset == offset) or (upload_offset == offset - 1) - - # sometimes when slicing with step, it will over-estimate size - # but it overestimates to upload 1 extra point so it's fine - assert (upload_size == size) or (upload_size == size + 1) - - def generate_positions_spiral_data(inputs: str) -> np.ndarray: """ Generates a spiral/spring pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy