ProtocolEngine
In short
Responsible for crafting and executing camera protocols on the FPGA.
Settings
Global:
Module_Name
-String
:Set this toProtocolEngine
to load this page's module.
Advanced:
Settings
There are a bunch of settings that the ProtocolEngine operates on. All of the ones specific to ProtocolEngine (and therefor most camera sets) are listed here. See the ProtocolGuide for an overview on how they work. See Protocol Reference for commands shared by all protocols.
-
Environmental
All environmental commands are executed directly before a protocol is run, and are called on whatever Driver is bound to the command. As soon as the protocol ends, that Driver is called to return to its pre-protocol setting.
-
intensity
Sets the lighting intensity during the protocol.
In the script:
PROTOCOL.setField("intensity", STRING)
-
FR
Sets FarRed intensity during the protocol.
In the script:
PROTOCOL.setFR(STRING)
PROTOCOL.setField("FR", STRING)
-
UVA
Sets UVA intensity during the protocol.
In the script:
PROTOCOL.setUVA(STRING)
PROTOCOL.setField("UVA", STRING)
-
UVB
Sets UVB intensity during the protocol.
In the script:
PROTOCOL.setUVB(STRING)
PROTOCOL.setField("UVB", STRING)
-
-
Normal
The majority of commands control the frequency and timing of camera/lighting events during the protocol.
-
NumberLoops
Set the number of capture loops.
In the script:
PROTOCOL.setNumberLoops(NUMBER)
PROTOCOL.setField("NumberLoops", NUMBER)
-
FramesPerLoop
Sets the number of image captures for each loop.
In the script:
PROTOCOL.setFramesPerLoop([NUMBER, NUMBER, ..., NUMBER])
PROTOCOL.setField("FramesPerLoop", [NUMBER, NUMBER, ..., NUMBER])
-
MeasuringLight
Specifies if images should be captured with measuring lights. The number specifies which set of measuring lights to use (if there are multiple), and
0
is off.In the script:
PROTOCOL.setMeasuringLight([NUMBER, NUMBER, ..., NUMBER])
PROTOCOL.setField("MeasuringLight", [NUMBER, NUMBER, ..., NUMBER])
-
SaturationFlash
Specifies if the saturation flash should be fired on each loop. The saturation flash will occure directly before image capture, ending before images are taken.
In the script:
PROTOCOL.setSaturationFlash([BOOL, BOOL, ..., BOOL])
PROTOCOL.setField("SaturationFlash", [BOOL, BOOL, ..., BOOL])
-
AuxFastSwitch
Fires auxilliary lights to their current setting with the same timing as a saturation flash. You can specifiy the lighting intensity through the environmental settings. If you don't provide a setting, it will use the current ones.
In the script:
PROTOCOL.setAuxiliaryLights([BOOL, BOOL, ..., BOOL])
PROTOCOL.setField("AuxFastSwitch", [BOOL, BOOL, ..., BOOL])
-
Exposure
Sets the exposure time for each frame. Most cameras do not support different exposure times! Only put one value in (eg:
[TimeType]
).In the script:
PROTOCOL.setExposure([TimeType, TimeType, ..., TimeType])
PROTOCOL.setField("Exposure", [TimeType, TimeType, ..., TimeType])
-
FrameInterval
Sets the time between image captures for every loop.
In the script:
PROTOCOL.setFrameInterval([TimeType, TimeType, ..., TimeType])
PROTOCOL.setField("FrameInterval", [TimeType, TimeType, ..., TimeType])
-
ActinicShutter
Defaults to
1
. If0
, lights will stay on for the loop.In the script:
PROTOCOL.setField("ActinicShutter", [INTEGER, INTEGER, ..., INTEGER])
-
Template configuration
#####################
# Basic Settings #
#####################
# The name of the actual module to load. Examples might be LegacyFPGA_Control or Email.
Module_Name=ProtocolEngine