pibayer

Acquire raw Bayer-masked image from Raspberry Pi camera and write image stack to HDF5 or TIFF.


Keywords
raspberry, pi, camera, bayer, raw, image, bayer-mask, hdf5, python, raspberry-pi, raspberry-pi-camera, tiff
License
MIT
Install
pip install pibayer==0.6.0

Documentation

Build Status Maintainability PyPi version PyPi formats PyPi Download stats

Raspicam raw Bayer mask pixels

Acquire RAW Bayer-masked images with Raspberry Pi camera (before demosaicking). Writes HDF5, NetCDF or TIFF compressed image stacks.

Install

To be installed directly on the Raspberry Pi, using Python ≥ 3.5:

apt install python3-numpy

python3 -m pip install -e .

Running the self-test must be done on a Raspberry Pi with camera module:

python3 -m pip install -e .[tests]

python3 -m pytest

To install advanced (HDF5, NetCDF4) image writing libraries:

apt install python3-netcdf4 python3-h5py

Tips

  • Avoid MMAL errors: raspi-config → Advanced Options → Memory Split should be 128 MB, not 64 MB.
  • Fix error "ImportError: libf77blas.so.3: cannot open shared object file: No such file or directory" by:
    apt install libatlas-dev

Examples

Setting of exposure time manually (seconds) is mandatory to avoid mistakes in experiments.

RAW live video display

./getrawimage.py 0.01 -a

Dump image stack to disk

  • NetCDF: ./getrawimage.py 0.01 output.nc
  • HDF5: ./getrawimage.py 0.01 output.h5
  • TIFF: ./getrawimage.py 0.01 output.tif

Command-Line Options

  • -a GPU-based preview, for aiming camera (fast)
  • -p use Matplotlib for slow, live (10 seconds per frame) display
  • -8 output 8-bit array instead of default 10-bit array

Notes

Constraints on exposure time


ValueError: cannot save to a group with the scipy.io.netcdf backend

is fixed by:

apt install libnetcdf-dev

pip install netcdf4