Repo symbol

pangolin repository

pangolin

Repository Summary

Checkout URI https://github.com/stevenlovegrove/Pangolin.git
VCS Type git
VCS Version master
Last Updated 2025-03-15
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
pangolin 0.9.3

README

What is Pangolin

Pangolin is a set of lightweight and portable utility libraries for prototyping 3D, numeric or video based programs and algorithms. It is used quite widely in the field of Computer Vision as a means to remove platform-specific boilerplate and make it easy to visualize data.

The general ethos of Pangolin is to minimize boilerplate and maximize portability and flexibility through simple interfaces and factories over things like windowing and video. It also offers a suite of utilities for interactive debugging, such as 3D manipulation, plotters, tweak variables, and a drop-down Quake-like console for python scripting and live tweaking.

Main features

  • Cross Platform Windowing
    • Build for Windows, Linux, OSX and the Web (with Emscripten)
    • Support different windowing implementations including off-screen buffers
  • Viewport Management and Interaction
    • Simple and performant viewport management
    • Intuitive 3D navigation and handlers
    • Utilities to work with Computer Vision & Robotics camera and coordinate conventions
  • Video Input and Output
    • Extensive video input/output wrappers for ordinary and machine-vision cameras and media formats
    • Flexible filter interface for easily post-processing video channels and formats, etc.
  • Tweak Variables
    • There are 101 widgeting libraries and several ‘tweak’ var libraries - Pangolin offers another implementation with a few pros and cons
    • One-line definitions and extensible types
  • Drop-down Console
    • Extensible for different shells, but currently supports Python live console
    • Easy access to introspect tweak variables

Code

Find the latest version on Github:

# Clone Pangolin along with it's submodules
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git

Dependencies

Pangolin is split into a few components so you can include just what you need. Most dependencies are optional so you can pick and mix for your needs. Rather than enforcing a particular package manager, you can use a simple script to generate a list of (required, recommended or all) packages for installation for that manager (e.g. apt, port, brew, dnf, pacman, vcpkg):

# See what package manager and packages are recommended
./scripts/install_prerequisites.sh --dry-run recommended

# Override the package manager choice and install all packages
./scripts/install_prerequisites.sh -m brew all

You’ll see the dependencies are generally

  • Build system (cmake, required)
  • Windowing system (X11, Cocoa, Win, Web, …)
  • Rendering (OpenGL, GLES)
  • Video and Image loading (DC1394, ffmpeg, jpeg, png, …)
  • Wrappers / Cross Compilers (Python3, pybind, Emscripten, …)

Pangolin does it’s best to build something with what it gets, so dependencies which are not found will be silently ignored. If you need a particular feature, check the output of the cmake .. stage and look for the Found and Enabled lines.

Building

Pangolin uses the CMake portable pre-build tool. To checkout and build pangolin in the directory ‘build’, execute the following at a shell (or the equivalent using a GUI):

# Get Pangolin
cd ~/your_fav_code_directory
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin

# Install dependencies (as described above, or your preferred method)
./scripts/install_prerequisites.sh recommended

# Configure and build
cmake -B build
cmake --build build

# with Ninja for faster builds (sudo apt install ninja-build)
cmake -B build -GNinja
cmake --build build

# GIVEME THE PYTHON STUFF!!!! (Check the output to verify selected python version)
cmake --build build -t pypangolin_pip_install

# Run me some tests! (Requires Catch2 which must be manually installed on Ubuntu.)
cmake -B build -G Ninja -D BUILD_TESTS=ON
cmake --build build
cd build
ctest

Master Build p.s. The master branch is a development branch. Choose a stable tag if you prefer.

File truncated at 100 lines see the full file

Repo symbol

pangolin repository

pangolin

Repository Summary

Checkout URI https://github.com/stevenlovegrove/Pangolin.git
VCS Type git
VCS Version master
Last Updated 2025-03-15
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
pangolin 0.9.3

README

What is Pangolin

Pangolin is a set of lightweight and portable utility libraries for prototyping 3D, numeric or video based programs and algorithms. It is used quite widely in the field of Computer Vision as a means to remove platform-specific boilerplate and make it easy to visualize data.

The general ethos of Pangolin is to minimize boilerplate and maximize portability and flexibility through simple interfaces and factories over things like windowing and video. It also offers a suite of utilities for interactive debugging, such as 3D manipulation, plotters, tweak variables, and a drop-down Quake-like console for python scripting and live tweaking.

Main features

  • Cross Platform Windowing
    • Build for Windows, Linux, OSX and the Web (with Emscripten)
    • Support different windowing implementations including off-screen buffers
  • Viewport Management and Interaction
    • Simple and performant viewport management
    • Intuitive 3D navigation and handlers
    • Utilities to work with Computer Vision & Robotics camera and coordinate conventions
  • Video Input and Output
    • Extensive video input/output wrappers for ordinary and machine-vision cameras and media formats
    • Flexible filter interface for easily post-processing video channels and formats, etc.
  • Tweak Variables
    • There are 101 widgeting libraries and several ‘tweak’ var libraries - Pangolin offers another implementation with a few pros and cons
    • One-line definitions and extensible types
  • Drop-down Console
    • Extensible for different shells, but currently supports Python live console
    • Easy access to introspect tweak variables

Code

Find the latest version on Github:

# Clone Pangolin along with it's submodules
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git

Dependencies

Pangolin is split into a few components so you can include just what you need. Most dependencies are optional so you can pick and mix for your needs. Rather than enforcing a particular package manager, you can use a simple script to generate a list of (required, recommended or all) packages for installation for that manager (e.g. apt, port, brew, dnf, pacman, vcpkg):

# See what package manager and packages are recommended
./scripts/install_prerequisites.sh --dry-run recommended

# Override the package manager choice and install all packages
./scripts/install_prerequisites.sh -m brew all

You’ll see the dependencies are generally

  • Build system (cmake, required)
  • Windowing system (X11, Cocoa, Win, Web, …)
  • Rendering (OpenGL, GLES)
  • Video and Image loading (DC1394, ffmpeg, jpeg, png, …)
  • Wrappers / Cross Compilers (Python3, pybind, Emscripten, …)

Pangolin does it’s best to build something with what it gets, so dependencies which are not found will be silently ignored. If you need a particular feature, check the output of the cmake .. stage and look for the Found and Enabled lines.

Building

Pangolin uses the CMake portable pre-build tool. To checkout and build pangolin in the directory ‘build’, execute the following at a shell (or the equivalent using a GUI):

# Get Pangolin
cd ~/your_fav_code_directory
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin

# Install dependencies (as described above, or your preferred method)
./scripts/install_prerequisites.sh recommended

# Configure and build
cmake -B build
cmake --build build

# with Ninja for faster builds (sudo apt install ninja-build)
cmake -B build -GNinja
cmake --build build

# GIVEME THE PYTHON STUFF!!!! (Check the output to verify selected python version)
cmake --build build -t pypangolin_pip_install

# Run me some tests! (Requires Catch2 which must be manually installed on Ubuntu.)
cmake -B build -G Ninja -D BUILD_TESTS=ON
cmake --build build
cd build
ctest

Master Build p.s. The master branch is a development branch. Choose a stable tag if you prefer.

File truncated at 100 lines see the full file

Repo symbol

pangolin repository

pangolin

Repository Summary

Checkout URI https://github.com/stevenlovegrove/Pangolin.git
VCS Type git
VCS Version master
Last Updated 2025-03-15
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
pangolin 0.9.3

README

What is Pangolin

Pangolin is a set of lightweight and portable utility libraries for prototyping 3D, numeric or video based programs and algorithms. It is used quite widely in the field of Computer Vision as a means to remove platform-specific boilerplate and make it easy to visualize data.

The general ethos of Pangolin is to minimize boilerplate and maximize portability and flexibility through simple interfaces and factories over things like windowing and video. It also offers a suite of utilities for interactive debugging, such as 3D manipulation, plotters, tweak variables, and a drop-down Quake-like console for python scripting and live tweaking.

Main features

  • Cross Platform Windowing
    • Build for Windows, Linux, OSX and the Web (with Emscripten)
    • Support different windowing implementations including off-screen buffers
  • Viewport Management and Interaction
    • Simple and performant viewport management
    • Intuitive 3D navigation and handlers
    • Utilities to work with Computer Vision & Robotics camera and coordinate conventions
  • Video Input and Output
    • Extensive video input/output wrappers for ordinary and machine-vision cameras and media formats
    • Flexible filter interface for easily post-processing video channels and formats, etc.
  • Tweak Variables
    • There are 101 widgeting libraries and several ‘tweak’ var libraries - Pangolin offers another implementation with a few pros and cons
    • One-line definitions and extensible types
  • Drop-down Console
    • Extensible for different shells, but currently supports Python live console
    • Easy access to introspect tweak variables

Code

Find the latest version on Github:

# Clone Pangolin along with it's submodules
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git

Dependencies

Pangolin is split into a few components so you can include just what you need. Most dependencies are optional so you can pick and mix for your needs. Rather than enforcing a particular package manager, you can use a simple script to generate a list of (required, recommended or all) packages for installation for that manager (e.g. apt, port, brew, dnf, pacman, vcpkg):

# See what package manager and packages are recommended
./scripts/install_prerequisites.sh --dry-run recommended

# Override the package manager choice and install all packages
./scripts/install_prerequisites.sh -m brew all

You’ll see the dependencies are generally

  • Build system (cmake, required)
  • Windowing system (X11, Cocoa, Win, Web, …)
  • Rendering (OpenGL, GLES)
  • Video and Image loading (DC1394, ffmpeg, jpeg, png, …)
  • Wrappers / Cross Compilers (Python3, pybind, Emscripten, …)

Pangolin does it’s best to build something with what it gets, so dependencies which are not found will be silently ignored. If you need a particular feature, check the output of the cmake .. stage and look for the Found and Enabled lines.

Building

Pangolin uses the CMake portable pre-build tool. To checkout and build pangolin in the directory ‘build’, execute the following at a shell (or the equivalent using a GUI):

# Get Pangolin
cd ~/your_fav_code_directory
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin

# Install dependencies (as described above, or your preferred method)
./scripts/install_prerequisites.sh recommended

# Configure and build
cmake -B build
cmake --build build

# with Ninja for faster builds (sudo apt install ninja-build)
cmake -B build -GNinja
cmake --build build

# GIVEME THE PYTHON STUFF!!!! (Check the output to verify selected python version)
cmake --build build -t pypangolin_pip_install

# Run me some tests! (Requires Catch2 which must be manually installed on Ubuntu.)
cmake -B build -G Ninja -D BUILD_TESTS=ON
cmake --build build
cd build
ctest

Master Build p.s. The master branch is a development branch. Choose a stable tag if you prefer.

File truncated at 100 lines see the full file

Repo symbol

pangolin repository

pangolin

Repository Summary

Checkout URI https://github.com/stevenlovegrove/Pangolin.git
VCS Type git
VCS Version master
Last Updated 2025-03-15
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
pangolin 0.9.3

README

What is Pangolin

Pangolin is a set of lightweight and portable utility libraries for prototyping 3D, numeric or video based programs and algorithms. It is used quite widely in the field of Computer Vision as a means to remove platform-specific boilerplate and make it easy to visualize data.

The general ethos of Pangolin is to minimize boilerplate and maximize portability and flexibility through simple interfaces and factories over things like windowing and video. It also offers a suite of utilities for interactive debugging, such as 3D manipulation, plotters, tweak variables, and a drop-down Quake-like console for python scripting and live tweaking.

Main features

  • Cross Platform Windowing
    • Build for Windows, Linux, OSX and the Web (with Emscripten)
    • Support different windowing implementations including off-screen buffers
  • Viewport Management and Interaction
    • Simple and performant viewport management
    • Intuitive 3D navigation and handlers
    • Utilities to work with Computer Vision & Robotics camera and coordinate conventions
  • Video Input and Output
    • Extensive video input/output wrappers for ordinary and machine-vision cameras and media formats
    • Flexible filter interface for easily post-processing video channels and formats, etc.
  • Tweak Variables
    • There are 101 widgeting libraries and several ‘tweak’ var libraries - Pangolin offers another implementation with a few pros and cons
    • One-line definitions and extensible types
  • Drop-down Console
    • Extensible for different shells, but currently supports Python live console
    • Easy access to introspect tweak variables

Code

Find the latest version on Github:

# Clone Pangolin along with it's submodules
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git

Dependencies

Pangolin is split into a few components so you can include just what you need. Most dependencies are optional so you can pick and mix for your needs. Rather than enforcing a particular package manager, you can use a simple script to generate a list of (required, recommended or all) packages for installation for that manager (e.g. apt, port, brew, dnf, pacman, vcpkg):

# See what package manager and packages are recommended
./scripts/install_prerequisites.sh --dry-run recommended

# Override the package manager choice and install all packages
./scripts/install_prerequisites.sh -m brew all

You’ll see the dependencies are generally

  • Build system (cmake, required)
  • Windowing system (X11, Cocoa, Win, Web, …)
  • Rendering (OpenGL, GLES)
  • Video and Image loading (DC1394, ffmpeg, jpeg, png, …)
  • Wrappers / Cross Compilers (Python3, pybind, Emscripten, …)

Pangolin does it’s best to build something with what it gets, so dependencies which are not found will be silently ignored. If you need a particular feature, check the output of the cmake .. stage and look for the Found and Enabled lines.

Building

Pangolin uses the CMake portable pre-build tool. To checkout and build pangolin in the directory ‘build’, execute the following at a shell (or the equivalent using a GUI):

# Get Pangolin
cd ~/your_fav_code_directory
git clone --recursive https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin

# Install dependencies (as described above, or your preferred method)
./scripts/install_prerequisites.sh recommended

# Configure and build
cmake -B build
cmake --build build

# with Ninja for faster builds (sudo apt install ninja-build)
cmake -B build -GNinja
cmake --build build

# GIVEME THE PYTHON STUFF!!!! (Check the output to verify selected python version)
cmake --build build -t pypangolin_pip_install

# Run me some tests! (Requires Catch2 which must be manually installed on Ubuntu.)
cmake -B build -G Ninja -D BUILD_TESTS=ON
cmake --build build
cd build
ctest

Master Build p.s. The master branch is a development branch. Choose a stable tag if you prefer.

File truncated at 100 lines see the full file

Repo symbol

pangolin repository

Repo symbol

pangolin repository

Repo symbol

pangolin repository

Repo symbol

pangolin repository

Repo symbol

pangolin repository

Repo symbol

pangolin repository

Repo symbol

pangolin repository

Repo symbol

pangolin repository

Repo symbol

pangolin repository

Repo symbol

pangolin repository

Repo symbol

pangolin repository

Repo symbol

pangolin repository

Repo symbol

pangolin repository

Repo symbol

pangolin repository

Repo symbol

pangolin repository