tomoStreamApp EPICS application¶
tomostream includes a complete example EPICS application, including:
A database file and corresponding autosave request file that contain only the PVs required by the tomoscan.py base class.
Database files and corresponding autosave request files that contain PVs used by the derived classes.
An example IOC application that can be used to run the above databases. The databases are loaded in the IOC with the example substitutions file, tomoStream.substitutions.
Base class files¶
The following tables list all of the records in the tomoScan.template file. These records are used by the tomoscan base class and so are required.
tomoStream.template¶
This is the database file that contains only the PVs required by the tomoscan.py base class tomoStream.template.
tomoStream PV Prefixes¶
Record name |
Record type |
Description |
---|---|---|
$(P)$(R)TomoScanPVPrefix |
stringout |
Contains the prefix for the tomoscan controlling the data collection, e.g. 2bma:TomoScan |
tomoStream PVA Names¶
Record name |
Record type |
Description |
---|---|---|
$(P)$(R)ImagePVAPName |
stringout |
Contains the name of the TomoScan PV storing the PV prefix of the images streamed by the detector |
$(P)$(R)DarkPVAName |
stringout |
Contains the name of the TomoScan PVA where the dark images are stored |
$(P)$(R)FlatPVAName |
stringout |
Contains the name of the TomoScan PVA where the flat images are stored |
$(P)$(R)ThetaPVAName |
stringout |
Contains the name of the TomoScan PVA where the rotation angle positions are stored |
$(P)$(R)ReconPVAName |
stringout |
Contains the name of the TomoStream PVA where the the selected 3 orthogonal slices are stored |
Streaming analysis control¶
Record name |
Record type |
Description |
---|---|---|
$(P)$(R)CameraPVPrefix |
stringout |
Contains the prefix for the camera, e.g. 13BMDPG1: |
$(P)$(R)Status |
bo |
Flag storing the streaming status. Choices are ‘Off’ and ‘On’. When ‘On’ the streaming reconstruction is enabled |
$(P)$(R)BufferSize |
longout |
Stream buffer size |
$(P)$(R)Center |
ao |
Rotation center for streaming reconstruction |
$(P)$(R)FilterType |
mbbo |
Filter type for streaming reconstruction, ‘Parzen’, ‘Shepp-logan’, ‘Ramp’, ‘Butterworth’ |
$(P)$(R)OrthoX |
longout |
Ortho slice in the X direction for streaming reconstruction |
$(P)$(R)OrthoY |
longout |
Ortho slice in the Y direction for streaming reconstruction |
$(P)$(R)OrthoZ |
longout |
Ortho slice in the Z direction for streaming reconstruction |
Stream status via Channel Access¶
Record name |
Record type |
Description |
---|---|---|
$(P)$(R)ReconStatus |
waveform |
This record will be updated with the stream reconstruction status while scanning. |
$(P)$(R)ReconTime |
ao |
This record will update with the time to reconstruct the selected 3 orthogonal slices. |
$(P)$(R)ServerRunning |
bi |
This record will be |
tomoStream_settings.req¶
This is the autosave request file for tomoStream.template tomoStream_settings.req.
It has the same usage and type of content as tomoStream_settings.req described above, except that it contains the PVs for the derived class TomoStream.
medm files¶
To start the tomostream medm screen:
$ cd /local/USERNAME/epics/synApps/support/tomostream/iocBoot/iocTomoStream
$ start_medm
where USERNAME is the username under which the tomoStreamApp is installed.
tomoStream.adl¶
The following is the MEDM screen tomoStream.adl
.
This screen contains the PVs to control tomoStream.

tomoStreamEPICS_PVs.adl¶
The EPICS PV names screen is below:
