Skip to main content

Bender Robotics Visual Test Support

Project description

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

Bretina uses OCR engine Tesseract for the optical character recognition. Tesseract 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\.

Project details


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.7.6.tar.gz (51.5 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.7.6-py3-none-any.whl (51.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bretina-0.7.6.tar.gz
  • Upload date:
  • Size: 51.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.22

File hashes

Hashes for bretina-0.7.6.tar.gz
Algorithm Hash digest
SHA256 c5d38bb35769433aecce8a4ac1d24361a4047c7ddca31d77788eb18dd05016eb
MD5 edaa8d63588a8a378c1a3efb679a9d25
BLAKE2b-256 969e0779d38dff4ea16283011c1e7a64255247874caee22aabc9ce1a312204c1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bretina-0.7.6-py3-none-any.whl
  • Upload date:
  • Size: 51.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.22

File hashes

Hashes for bretina-0.7.6-py3-none-any.whl
Algorithm Hash digest
SHA256 92c1d81f024077d8deb7bd7b0f010ca9766767a1966d58294d087d610a23393d
MD5 0ed32848a5da290dca2823d780a01210
BLAKE2b-256 33ca7bd9105e3a1c96c7f50afd15e2ff76dde32b1a575e3c81bac80085d310a2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page