Skip to main content

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 from 0 -> 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:

  1. Acquisition must be stopped.
  2. Enter Trigger PV (must be available on the network).
  3. Enable Trigger Mode.
  4. Select Trigger Threshold if the input record is of type ai or ao. For other types this value is ignored.
  5. Select desired input channels.
  6. Start the acquisition.
  7. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

c2dataviewer-1.6.0.tar.gz (52.9 kB view details)

Uploaded Source

Built Distribution

c2dataviewer-1.6.0-py3-none-any.whl (72.3 kB view details)

Uploaded Python 3

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

Hashes for c2dataviewer-1.6.0.tar.gz
Algorithm Hash digest
SHA256 68ba4bacf6ba627fdae134282ef259fbff27779dd4bca55221bfc5f8bfdacebb
MD5 f5ac7ea488fc60a6fc65f4ef80445a00
BLAKE2b-256 b5b2b133f03993a37ab5d2c933500fac7518f1f4286573f726797ca89419c642

See more details on using hashes here.

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

Hashes for c2dataviewer-1.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e379af0d16e29922e11602d5b4ddd34bb69e21fd0b6d35a0efdd18328a2278eb
MD5 fc8bb23db69ac73faf2ceaf638e3685b
BLAKE2b-256 fdff96c0f17e439e68b04518dae90a790ec41c25c2535b271833307a310cb4a9

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