Skip to main content

Bretina - Python Image Testing Framework

Bretina is a python package designed to support testing of the images.

Intro

Bretina is designed as an extension of the python unit test module. Provides set of assertions which can be used to verify correctness of the image.

In typical application, content of the device LCD display is captured with a camera and Bretina is used to verify correctness of the defined regions in the image - such as region color, presence of an icon, correctness of the text representation and other aspects.

Documentation

can be found on https://docs.benderrobotics.com/bretina (Not publicly available ATM).

Download and install latest release

Bretina can be downloaded from within the internal BR network by calling:

    $ pip install bretina

For optical character recognition Bretina offers two engines:

To change the OCR engine set the bretina.OCR_ENGINE to either OcrEngine.TESSERACT or OcrEngine.PADDLE. By default OcrEngine.TESSERACT is set.

PaddleOCR local models

By default PaddleOCR downloads its models from the internet on first use. To use models bundled locally instead, install the models extra. The bretina-models package is hosted on the Bender Robotics private PyPI, so it has to be passed as the extra index:

    $ pip install bretina[models] --extra-index-url https://pypi.benderrobotics.com

When the bretina-models package is available, PaddleOCR automatically uses the local models instead of downloading them.

Tesseract usage

To utilize Tesseract, it has to be installed as a standalone application and registered into system PATH. Installation files can be downloaded from https://github.com/tesseract-ocr/tesseract (tested with Tesseract version 5). Windows installer is provided by Mannheim University Library at https://github.com/UB-Mannheim/tesseract/wiki.

After the installation, add path to the tesseract.exe to your system PATH.

For the best OCR performance install the slower, but more accurate datasets tessdata_best (https://github.com/tesseract-ocr/tessdata_best). Extract the downloaded archive into the installation directory of the tesseract OCR.

This is an expected structure of the tesseract installation directory:

  • C:\Program Files\Tesseract-OCR- tesseract installation
    • \tessdata - original tessdata dataset
      • afr.traineddata
      • ...
    • \tessdata_best - extracted best dataset
      • afr.traineddata
      • ...

Building Bretina from the source

If you want to build Bretina from the source, you need to clone the repository first. Then checkout to devel branch to get the latest version, or to feature/* branches for the cutting edge versions.

    $ git checkout devel

For building the python wheel, we use GNU make.

make expects that your pip3 installation will be available under pip command. Also there is a possibility that setup.py may fail on bdist_wheel as an not known argument. To fix this, install wheel package again.

Navigate to top-level directory of the cloned repository and you will be able to use the following commands:

    $ make install    # First time Bretina installation. It will build the source and install it using pip
    $ make reinstall  # Pulled new commit? Use this to build new wheel, uninstall and install the new version using pip
    $ make all        # Just builds the wheel
    $ make clean      # Cleans the build directories and files

Builded wheel is located in Bretina/dist/.

Installing make

On Ubuntu like machines execute the following command:

    $ sudo apt install make

If you are on windows machine, you can install a MinGW. In the MinGW installer choose mingw32-base-bin and msys-base-bin packages, then click on Installation and Apply changes. Don't forget to add the make binary to the system PATH. Default install location should be C:\MinGW\msys\1.0\bin\.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bretina-0.8.0.tar.gz (54.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bretina-0.8.0-py3-none-any.whl (53.5 kB view details)

Uploaded Python 3

File details

Details for the file bretina-0.8.0.tar.gz.

File metadata

  • Download URL: bretina-0.8.0.tar.gz
  • Upload date:
  • Size: 54.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.10.17

File hashes

Hashes for bretina-0.8.0.tar.gz
Algorithm Hash digest
SHA256 603b53610dcde440cdceee35adb6cb68b9c0a2f6b01704bdb28d06f4ea693efc
MD5 b363229ad2020d94df9da7334ed20fc6
BLAKE2b-256 78213586a6870aae44367a1668a0be0402ca2c06c0b1912d4df8e419cb0a1a76

See more details on using hashes here.

File details

Details for the file bretina-0.8.0-py3-none-any.whl.

File metadata

  • Download URL: bretina-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 53.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.10.17

File hashes

Hashes for bretina-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1efb8776ebfcbacaceea7f05bbfb44625159336590b6f403925d9e0e8a704573
MD5 964a07267ebfeb3b22f01c238004be06
BLAKE2b-256 e9e9590b6db6285784dd0f7cea50008f6e2f2166b7c06fb6c7ef6f4d9d1c95f3

See more details on using hashes here.

Release history Release notifications | RSS feed

1.0.0

2 files

0.8.1

2 files

This release

0.8.0 This release

2 files

0.7.6

2 files

0.7.5

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page