pysilico

Allied Vision AVT-Prosilica camera controller with PLICO


Keywords
plico, prosilica, avt, camera, laboratory, instrumentation, control
License
MIT
Install
pip install pysilico==0.20.0

Documentation

PYSILICO: Prosilica AVT camera controller for Plico

Python package codecov Documentation Status PyPI version

pysilico is an application to control Allied AVT/Prosilica cameras (and possibly other GigE cameras) under the plico environment.

Installation

On client

On the client machine

pip install pysilico

On the server

On the server machine install the proprietary driver for the camera you want to control. Currently only AVT/Prosilica camera are supported through Vimba

For AVT / Prosilica

First install Vimba (that comes with the camera, or download Vimba SDK from AVT website). Check that the Vimba installation is successful and that the camera is accessible by the server using VimbaViewer, the standalone application provided in Vimba SDK. You should be able to see the cameras in the network and stream images.

Then install the Vimba python wrapper. Check that the installation is successfull by running the provided example, like the one below:

(pysilico) lbusoni@argos:~/Downloads/Vimba_5_0/VimbaPython/Examples$ python list_cameras.py 
//////////////////////////////////////
/// Vimba API List Cameras Example ///
//////////////////////////////////////

Cameras found: 1
/// Camera Name   : GC1350M
/// Model Name    : GC1350M (02-2130A)
/// Camera ID     : DEV_000F3101C686
/// Serial Number : 02-2130A-06774
/// Interface ID  : eno2

(pysilico) lbusoni@argos:~/Downloads/Vimba_5_0/VimbaPython/Examples$ 

Install server

As a last step you always have to install the generic pysilico-server

pip install pysilico-server

The pysilico-server package installs also the client package.

Usage

Starting Servers

Starts the 2 servers that control one device each.

pysilico_start

Using the GUI

Run pysilico_gui

Using the client module

In a python terminal on the client computer:

In [1]: import pysilico

In [2]: cam1= pysilico.camera('192.168.1.18', 7100)

In [3]: cam2= pysilico.camera('192.168.1.18', 7110)

In [4]: frames= cam1.getFutureFrames(10)

Stopping pysilico

To kill the servers run

pysilico_stop

More hard:

pysilico_kill_all

Administration Tool

For developers.

Testing

Never commit before tests are OK! To run the unittest and integration test suite cd in pysilico source dir

python setup.py test

Creating a Conda environment

Use the Anaconda GUI or in terminal

conda create --name pysilico

To create an environment with a specific python version

conda create --name pysilico python=2.6

It is better to install available packages from conda instead of pip.

conda install --name pysilico matplotlib scipy ipython numpy

Packaging and distributing

See https://packaging.python.org/tutorials/distributing-packages/#

To make a source distribution

python setup.py sdist

and the tar.gz is created in ../dist

You can make a universal wheel

python setup.py bdist_wheel 

The wheels are created in ../dist. I suppose one can delete pysilico/build now and distribute the files in ../dist

To upload on pip (but do you really want to make it public?)

twine upload ../dist/*