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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b750b41dde0ad875968ce8a11ada503d8bacf810cf55b8e533761ece2c8253f |
|
MD5 | 5f58db620353104e926fbb44cbd33052 |
|
BLAKE2b-256 | fada2a9a0dbede0e760c78a563d95ba9526b508403f1b5586511c928310fbdda |
File details
Details for the file zapit_Python_Bridge-0.1.3-py3-none-any.whl
.
File metadata
- Download URL: zapit_Python_Bridge-0.1.3-py3-none-any.whl
- Upload date:
- Size: 5.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bac30c913d4662e3181a238625d3750a46862d2c108a50c486ae8ea8f53e2ed1 |
|
MD5 | 9770e2b9110ecc434aa02f4858b8689a |
|
BLAKE2b-256 | 4e2e0ddeb132587dd9ea79f1465c8329b3ac139ba4f9e2eaa3fd9cfd0980db85 |