Skip to main content

Bridge for controlling Zapit from Python

Project description

zapit-Python-Bridge

Interface for controlling a running Zapit MATLAB instance from Python. The scanner and sample calibration are performed in MATLAB. The rest of the operations can be performed via Python.

Installing

pip install zapit-Python-Bridge

Example

Then in iPython:

import zapit_python_bridge.bridge as zpb
from importlib import reload

# Create an instance of the bridge object
hZP = zpb.bridge()

# Interact
hZP.send_samples()
hZP.stop_opto_stim


hZP.send_samples(conditionNum=2,laserOn=0)
hZP.stop_opto_stim()

If you need to reload the module for development purposes, you must first delete the running class instance or it will hang when it next tries to connect:

In [1]: hZP.release_matlab()
Disconnecting from MATLAB

In [2]: reload(zpb)
Out[2]: <module 'zapit_python_bridge.bridge' from 'D:zapit-python-bridge\\zapit_python_bridge\\bridge.py'>

In [3]: hZP = zpb.bridge()
Attempting MATLAB connection...
Connected!

Minimal example for running an exeperiment

See examples directory

python minimal_experiment_example.py

Connecting to the zapit session: minimal example

In MATLAB:

 >> matlab.engine.shareEngine('zapit')

In iPython:

import matlab.engine
eng = matlab.engine.connect_matlab('zapit')

Make sure you have set up and calibrated everything in Zapit. Now in Python you can do:

hZP = eng.workspace['hZP']
hZPview = eng.workspace['hZPview']
eng.eval('hZP.stimConfig.plotChanSamples(2)',nargout=0)

# OR
SC = eng.subsref(hZP, {'type':'.','subs':'stimConfig'})
eng.plotChanSamples(SC, 1, nargout=0)


eng.sendSamples(hZP,  nargout=0)
eng.stopOptoStim(hZP,  nargout=0)

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

zapit-Python-Bridge-0.1.3.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

zapit_Python_Bridge-0.1.3-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file zapit-Python-Bridge-0.1.3.tar.gz.

File metadata

  • Download URL: zapit-Python-Bridge-0.1.3.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for zapit-Python-Bridge-0.1.3.tar.gz
Algorithm Hash digest
SHA256 5b750b41dde0ad875968ce8a11ada503d8bacf810cf55b8e533761ece2c8253f
MD5 5f58db620353104e926fbb44cbd33052
BLAKE2b-256 fada2a9a0dbede0e760c78a563d95ba9526b508403f1b5586511c928310fbdda

See more details on using hashes here.

File details

Details for the file zapit_Python_Bridge-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for zapit_Python_Bridge-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 bac30c913d4662e3181a238625d3750a46862d2c108a50c486ae8ea8f53e2ed1
MD5 9770e2b9110ecc434aa02f4858b8689a
BLAKE2b-256 4e2e0ddeb132587dd9ea79f1465c8329b3ac139ba4f9e2eaa3fd9cfd0980db85

See more details on using hashes here.

Supported by

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