mctOpticsApp EPICS application

mctOptics includes a complete example EPICS application, including:

  • A database file and corresponding autosave request file that contain the PVs required by the mctoptics.py base class.

  • OPI screens for medm

  • 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, mctOptics.substitutions.

Base class files

The following tables list all of the records in the mctOptics.template file. These records are used by the mctoptics base class and so are required.

mctOptics.template

This is the database file that contains only the PVs required by the mctoptics.py base class mctOptics.template.

TomoScan and Camera PV Prefixes

Record name

Record type

Description

$(P)$(R)Camera0PVPrefix

stringout

Contains the prefix for the detector 0, e.g. 2bmbSP1:

$(P)$(R)Camera1PVPrefix

stringout

Contains the prefix for the detector 1, e.g. 2bmbSP2:

$(P)$(R)OverlayPlugin0PVPrefix

stringout

Contains the prefix for OverlayPlugin 0, e.g. 2bmbSP1:Over1:

$(P)$(R)OverlayPlugin0PVPrefix

stringout

Contains the prefix for OverlayPlugin 1, e.g. 2bmbSP2:Over1:

$(P)$(R)OverlayPlugin1PVPrefix

stringout

Contains the prefix for FilePlugin 0, e.g. 2bmbSP1:HDF1:

$(P)$(R)FilePlugin0PVPrefix

stringout

Contains the prefix for FilePlugin 1, e.g. 2bmbSP2:HDF1:

Lens Sample X-Y-Z PV Names

Record name

Record type

Description

$(P)$(R)LensSampleXPVName

stringout

Contains the prefix for LensSampleX , e.g. 2bmS1:m2

$(P)$(R)LensSampleYPVName

stringout

Contains the prefix for LensSampleY, e.g. 2bmb:25

$(P)$(R)LensSampleZPVName

stringout

Contains the prefix for LensSampleZ, e.g. 2bmS1:m1

Lens Focus PV Names

Record name

Record type

Description

$(P)$(R)Lens0FocusPVName

stringout

Contains the prefix for Lens0Focus, e.g. 2bmb:m2

$(P)$(R)Lens1FocusPVName

stringout

Contains the prefix for Lens1FocusPVName, e.g. 2bmb:m3

$(P)$(R)Lens2FocusPVName

stringout

Contains the prefix for Lens2FocusPVName, e.g. 2bmb:m4

Camera rotation PV Names

Record name

Record type

Description

$(P)$(R)Camera0RotationPVName

stringout

Contains the prefix for Camera0Rotation , e.g. 2bmb:m7

$(P)$(R)Camera1RotationPVName

stringout

Contains the prefix for Camera1Rotation , e.g. 2bmb:m8

Optique Peter camera selector

Record name

Record type

Description

$(P)$(R)CameraSelect

mbbo

Camera selector for Pos0 and Pos1 position

$(P)$(R)CameraSelected

mbbo

Camera selector status for Camera0 and Camera1 position

$(P)$(R)CameraPos0

a0

Motor position for the Camera0

$(P)$(R)CameraPos1

a0

Motor position for the Camera1

$(P)$(R)CameraName0

a0

Camera label for Pos0, e.g. Adimec

$(P)$(R)CameraName1

a0

Camera label for Pos1, e.g. Flir

$(P)$(R)CameraMotorPVName

stringout

Contains the camera motor PV name, e.g. 2bmb:m5

Optique Peter camera rotation

Record name

Record type

Description

$(P)$(R)Camera0Lens0Rotation

a0

PV storing Camera 0 Lens 0 rotation value

(P)$(R)Camera0Lens1Rotation

a0

PV storing Camera 0 Lens 1 rotation value

$(P)$(R)Camera0Lens2Rotation

a0

PV storing Camera 0 Lens 1 rotation value

$(P)$(R)Camera1Lens0Rotation

a0

PV storing Camera 1 Lens 0 rotation value

$(P)$(R)Camera1Lens1Rotation

a0

PV storing Camera 1 Lens 1 rotation value

$(P)$(R)Camera1Lens2Rotation

a0

PV storing Camera 1 Lens 2 rotation value

Optique Peter lens focus

Record name

Record type

Description

$(P)$(R)Camera0Lens0Focus

a0

PV storing Camera 0 Lens 0 focus value

$(P)$(R)Camera0Lens1Focus

a0

PV storing Camera 0 Lens 1 focus value

$(P)$(R)Camera0Lens2Focus

a0

PV storing Camera 0 Lens 2 focus value

$(P)$(R)Camera1Lens0Focus

a0

PV storing Camera 1 Lens 0 focus value

$(P)$(R)Camera1Lens1Focus

a0

PV storing Camera 1 Lens 1 focus value

$(P)$(R)Camera1Lens2Focus

a0

PV storing Camera 1 Lens 2 focus value

Optique Peter lens selector

Record name

Record type

Description

$(P)$(R)LensSelect

mbbo

Lens selector for Pos0 and Pos1 position

$(P)$(R)Camera0LensPos0

a0

Motor position for the first lens

$(P)$(R)Camera0LensPos1

a0

Motor position for the second lens

$(P)$(R)Camera0LensPos2

a0

Motor position for the third lens

$(P)$(R)LensName0

a0

Lens label for Pos0, e.g. Lens0

$(P)$(R)LensName1

a0

Lens label for Pos1, e.g. Lens1

$(P)$(R)LensName2

a0

Lens label for Pos2, e.g. lens2

$(P)$(R)LensMotorPVName

stringout

Contains the Lens motor PV name, e.g. 2bmb:m1

Detector image cross

Record name

Record type

Description

$(P)$(R)CrossSelect

mbbo

Optique Peter lens 1 offsets

Record name

Record type

Description

$(P)$(R)Camera0Lens1XOffset

ao

$(P)$(R)Camera0Lens1YOffset

ao

$(P)$(R)Camera0Lens1ZOffset

ao

$(P)$(R)Camera1Lens1XOffset

ao

$(P)$(R)Camera1Lens1YOffset

ao

$(P)$(R)Camera1Lens1ZOffset

ao

Optique Peter lens 2 offsets

Record name

Record type

Description

$(P)$(R)Camera0Lens2XOffset

ao

$(P)$(R)Camera0Lens2YOffset

ao

$(P)$(R)Camera0Lens2ZOffset

ao

$(P)$(R)Camera1Lens2XOffset

ao

$(P)$(R)Camera1Lens2YOffset

ao

$(P)$(R)Camera1Lens2ZOffset

ao

MCT status via Channel Access

Record name

Record type

Description

$(P)$(R)MCTStatus

waveform

$(P)$(R)Watchdog

calcout

$(P)$(R)ServerRunning

bi

Sync to motor

Record name

Record type

Description

$(P)$(R)Sync

busy

Optics information

Record name

Record type

Description

$(P)$(R)ScintillatorType

stringout

Contains the type of scintillator being used.

$(P)$(R)ScintillatorThickness

ao

Contains the thickness of the scintillator in microns.

$(P)$(R)ImagePixelSize

ao

Contains the pixel size on the sample in microns (i.e. includes objective magnification)

$(P)$(R)DetectorPixelSize

ao

Contains the pixel size of the detector.

$(P)$(R)CameraObjective

stringout

Description of the camera objective

$(P)$(R)CameraTubeLength

stringout

Description of the camera objective

Lens name

Record name

Record type

Description

$(P)$(R)Lens0Name

stringout

Lens name for Lens0, e.g. 1.1x

$(P)$(R)Lens1Name

stringout

Lens name for Lens1, e.g. 5x

$(P)$(R)Lens2Name

stringout

Lens name for Lens2, e.g. 10x

Camera names

Record name

Record type

Description

$(P)$(R)Camera0Name

stringout

$(P)$(R)Camera1Name

stringout

Detector cropping

Record name

Record type

Description

$(P)$(R)CutLeft

longout

$(P)$(R)CutRight

longout

$(P)$(R)CutTop

longout

$(P)$(R)CutBottom

longout

$(P)$(R)Cut

busy

$(P)$(R)SuggestedAngles

ao

$(P)$(R)SuggestedAngleStep

ao

medm files

mctOptics.adl

The following is the MEDM screen mctOptics.adl during a scan. The status information is updating.

_images/mctOptics.png

mctOpticsEPICS_PVs.adl

The following is the MEDM screen mctOpticsEPICS_PVs.adl.

If these PVs are changed tomoscan must be restarted.

_images/mctOpticsEPICS_PVs.png