ProtocolEngine

In short

Responsible for crafting and executing camera protocols on the FPGA.

Settings

Global:

  • Module_Name - String:Set this to ProtocolEngine 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. If 0, 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