Skip to content

A pipeline framework for developing video and image processing application. Supports multiple GPUs and Machine Learning tooklits

License

Notifications You must be signed in to change notification settings

Apra-Labs/ApraPipes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ee28868 · Jul 31, 2024
Jan 21, 2022
Mar 13, 2022
Jul 31, 2024
Dec 15, 2021
Jun 4, 2021
Jan 27, 2022
Jul 31, 2024
Jan 23, 2022
Apr 3, 2021
Jan 19, 2022
Jan 27, 2022
Jul 31, 2024
Jan 21, 2022
Jan 21, 2022
Jan 21, 2022
Jan 21, 2022

Repository files navigation

ApraPipes

A pipeline framework for developing video and image processing applications. Supports multiple GPUs and Machine Learning tooklits

Build and Run Tests

Tested on Ubuntu 18.04 and Jetson Boards

Setup

  • Clone with submodules
git clone --recursive https://github.com/Apra-Labs/ApraPipes.git

Prerequisites

  • Run sudo apt-get update && sudo apt-get install build-essential to get latest build tools
  • CMake minimum version 3.17 - Follow this article to update cmake
  • ffmpeg
sudo apt install yasm -y
cd thirdparty/ffmpeg
./configure --enable-pic
make -j"$(($(nproc) - 1))"
  • zxing
cd thirdparty/zxing-cpp
chmod +x build.sh
./build.sh

Ubuntu 18.04 x64

Prerequisites

Build

  • chmod +x build_linux_x64.sh
  • ./build_linux_x64.sh

Build can take ~2 hours depending on the machine configuration. This project uses hunter package manager.

Jetson boards - Nano, TX2, NX, AGX

Prerequisites

  • Setup the board with Jetpack 4.4
  • sudo apt-get install libncurses5-dev

Build

  • chmod +x build_jetson.sh
  • ./build_jetson.sh

Build can take ~12 hours on Jetson Nano.

Run Tests

  • list all tests _build/aprapipesut --list_content
  • run all tests _build/aprapipesut
  • run one test _build/aprapipesut --run_test=filenamestrategy_tests/boostdirectorystrategy
  • run one test with arguments _build/aprapipesut --run_test=unit_tests/params_test -- -ip 10.102.10.121 -data ArgusCamera
    • Look at the unit_tests/params_test to check for sample usage of parameters in test code

This project uses boost tests for unit tests.

Update Submodules

git submodule update --init --recursive

Documentation

  • Open docs/build/html/index.html using Google Chrome

To regenerate documentation

To build docs
apt-install get python-sphinx 
pip install sphinx-rtd-theme
cd docs
make html