Python based data viewer for next generation of APS control system (C2)
Project description
C2DataViewer: EPICS7 pvObject Data Viewer
C2DataViewer is a Python based data viewer for next generation of APS control system (C2). It is developed with pyqtgraph, PyQt, and uses pvaPy as pvAccess Python binding. This is a viewer for pvData structured data objects as transported by pvAccess. Some use cases are a 'scope viewer', and Area Detector images from the AD pva plugin.
Image Application
Image application displays images from an areaDetector pvAccess channel. To start:
c2dv --app image --pv <CHANNELNAME>
Image zoom
Users can zoom into the image by selecting the region of interest. This can be done by drawing the rectangle around the desired area while the mouse button is pressed. To restore the full image Reset zoom should be pressed.
Scope Application
Scope application displays arbitrary information from a pvAccess channel as a time series graph. To start:
c2dv --app scope
Triggering
Scope application supports software triggering via external v3 PV. When trigger mode is configured and trigger occur,
selected displayed channels will be updated for the trigger time. Number of samples displayed can be controlled via Buffer (Samples)
parameter.
Trigger timestamp is always at the middle of the displayed waveform and is marked with the red line.
Types of the records which can be used as the triggers are:
bi
/bo
- The trigger event is triggered on transition from0
->1
.longin
/longout
- The trigger event is triggered on any value change.calc
- The trigger event is triggered on any value change.event
- The trigger event is triggered on any value change.ai
/ao
- The trigger event is triggered when the following condition is true:PV value >= Trigger Threshold
.
Follow next steps to configure the trigger:
- Acquisition must be stopped.
- Enter
Trigger PV
(must be available on the network). - Enable
Trigger Mode
. - Select
Trigger Threshold
if the input record is of typeai
orao
. For other types this value is ignored. - Select desired input channels.
- Start the acquisition.
- When the trigger condition is meet, the waveform will draw/update.
Developers Guide
The following information are maintaining and developing C2 Data viewer
Building locally
NOTE : c2dv currently require pyqtgraph version 0.10.0
. There is an unresolved issue with the
newer version(s): https://git.aps.anl.gov/C2/conda/data-viewer/-/issues/48.
Correct version of the pyqtgraph should be installed manually.
To build a conda package:
make
To install build package in a new environment:
conda create -n c2dv.0001 pyqtgraph=0.10.0 local::c2dataviewer -c epics
To run app from new environment:
source activate c2dv.0001
c2dv --app scope
Pip Packaging
To install pip dependencies:
make pip-dependencies
To build a pip package:
# must checkout a particular tag
git checkout 1.5.0
make pip-build
To run the unit tests run:
make pip-test
To upload the package on PyPI:
make pip-upload
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 c2dataviewer-1.6.0.tar.gz
.
File metadata
- Download URL: c2dataviewer-1.6.0.tar.gz
- Upload date:
- Size: 52.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.8.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68ba4bacf6ba627fdae134282ef259fbff27779dd4bca55221bfc5f8bfdacebb |
|
MD5 | f5ac7ea488fc60a6fc65f4ef80445a00 |
|
BLAKE2b-256 | b5b2b133f03993a37ab5d2c933500fac7518f1f4286573f726797ca89419c642 |
File details
Details for the file c2dataviewer-1.6.0-py3-none-any.whl
.
File metadata
- Download URL: c2dataviewer-1.6.0-py3-none-any.whl
- Upload date:
- Size: 72.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.8.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e379af0d16e29922e11602d5b4ddd34bb69e21fd0b6d35a0efdd18328a2278eb |
|
MD5 | fc8bb23db69ac73faf2ceaf638e3685b |
|
BLAKE2b-256 | fdff96c0f17e439e68b04518dae90a790ec41c25c2535b271833307a310cb4a9 |