Skip to main content

SciCamera


Consistent and reliable imaging for scientific applications.

Why SciCamera?

Scientific imaging applications often require minimal post-processing pipelines, precise capture timing, near-gapless sequential frames, and easily configurable settings like gain, resolution, bit-depth, and exposure length.

This project, which began as fork of the webcam/video-focused picamera2 library, aims to make it easy to configure and use cameras for scientific applications, with a focus on performance, reliability, code quality, and maintainability.

Why not SciCamera?

SciCamera currently focuses on high-quality, timing-sensitive, minimally-processed still images. For low-bandwidth, real-time image and video streaming, we recommend the picamera2 library.

Platform support

SciCamera supports

  • Raspberry Pi OS (Bullseye or later), 64-bit.
  • x86 Ubuntu

Other debian flavors are likely to be supported. We welcome pull requests to extend the testing toolchains to cover your platform.

Installation

SciCamera is a pure python package, but relies on the python c++ wrapper of libcamera.

SciCamera can be installed simply with:

pip install scicamera

Installing libcamera + python bindings

Import and use of the above pacakge requires that libcamera to be built with the python package enabled. On rasbian, this is accomplished by installing the libcamera package from apt. In x86 it must be built using something like the following:

git clone https://github.com/Exclosure/libcamera.git
cd libcamera
git checkout v0.0.4
meson setup build -D pycamera=enabled
ninja -C build
sudo ninja -C build install

Bugs/Contributing

Open an issue/PR to discuss your bug or feature. Once a course of action has been identified, open a PR, discuss the changes.

Feature creep is not of interest, but we would be happy to help you build your more complicated project on top of this.

If we like them, and the tests pass we will merge them. CI requires code has been processed isort and black toolchains.

Doing this is pretty easy:

isort .
black .

Great work.

Publishing to PYPI

Should be added to github action later

  1. Add your pypi token
$ poetry config pypi-token.pypi my-token
  1. Cut a new tag
$ git tag -a v0.1.0 -m "Version 0.1.0"
$ git push origin v0.1.0
  1. Publish
$ poetry publish --build

Release files for scicamera 0.4.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for scicamera 0.4.2
File Size Uploaded
scicamera-0.4.2.tar.gz 25.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for scicamera 0.4.2
File Interpreter ABI Platform
scicamera-0.4.2-py3-none-any.whl Python 3 none any Details

Total release size: 55.7 kB

Release files / scicamera-0.4.2.tar.gz

Download URL scicamera-0.4.2.tar.gz
Size 25.4 kB
Tags Source
SHA-256 checksum
How to use checksums
b74a09dc709d18f0bedb916daabf2d63093387ab38ae5e1ab7d446f23d16d8c1
BLAKE2b-256 checksum
How to use checksums
c5dc720f55b310a30c66e12a124b1422f9d9232ed332ffe267341a132db29eaa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.5.1 CPython/3.9.10 Linux/5.15.0-76-generic

Release files / scicamera-0.4.2-py3-none-any.whl

Download URL scicamera-0.4.2-py3-none-any.whl
Size 30.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
83a9eaa62879b3b2d35028a56f71f5ac837a6073e532e14fd56a468799148da1
BLAKE2b-256 checksum
How to use checksums
7e9804b22a76706ee9a0666a78a45311bb89dad416f800f7cd09e6fd8fec426f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.5.1 CPython/3.9.10 Linux/5.15.0-76-generic
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