Interface OdinDetectorController

All Known Subinterfaces:
OdinEigerDetectorController
All Known Implementing Classes:
OdinDetectorControllerDummy, OdinDetectorControllerEpics, OdinDetectorDecorator, OdinDetectorEiger, OdinDetectorEigerThresholdScan, OdinDetectorExcalibur

public interface OdinDetectorController
Controller for an Odin detector. This is designed for an Odin deployment with a single file writer (frame receiver and processor) only.
  • Method Details

    • setDataOutput

      void setDataOutput(String directory, String filePrefix) throws DeviceException
      Set the directory and the file prefix for the Odin datawriter
      Throws:
      DeviceException
    • startCollection

      void startCollection() throws DeviceException
      Start the camera acquiring
      Throws:
      DeviceException
    • stopCollection

      void stopCollection() throws DeviceException
      Stop the camera acquiring
      Throws:
      DeviceException
    • startRecording

      void startRecording() throws DeviceException
      Start the data writer
      Throws:
      DeviceException
    • endRecording

      void endRecording()
      Stop the data writer
    • prepareCamera

      void prepareCamera(int frames, double requestedLiveTime, double requestedDeadTime, String imageMode, String triggerMode) throws DeviceException
      Get camera ready for acquisition e.g set the exposure time and wait time (in ms). Things that only need to be set at the beginning of the scan
      Throws:
      DeviceException
    • getLatestFilename

      String getLatestFilename()
      Get the full path to the most recent file written
    • getStatus

      int getStatus()
      Get status, this will return Detector.BUSY if either the datawriter or the detector acquisition is busy
      Returns:
      integer as defined on the Detector interface
    • waitWhileAcquiring

      void waitWhileAcquiring()
      Wait until the detector acquisition (exposure) is 'Done'
    • waitWhileWriting

      void waitWhileWriting()
      Wait until the datawriter is 'Done'
    • prepareDataWriter

      void prepareDataWriter(int frames) throws DeviceException
      Prepare the Odin Data writer this may include setting the number of expected frames or ensuring that the compression settings are as required
      Parameters:
      frames - number of frames Odin Data will be expecting
      Throws:
      DeviceException
    • getAcquireTime

      double getAcquireTime() throws DeviceException
      Throws:
      DeviceException
    • getAcquirePeriod

      double getAcquirePeriod() throws DeviceException
      Throws:
      DeviceException
    • setOffsetAndUid

      void setOffsetAndUid(int offset, int uid) throws DeviceException
      Set the offet and uid for the filewriter. This may be required between frames depending on collection strategy.
      Parameters:
      offset -
      uid -
      Throws:
      DeviceException
    • getNumFramesCaptured

      int getNumFramesCaptured()
    • waitForWrittenFrames

      void waitForWrittenFrames(int noFrames)
    • setNumImages

      void setNumImages(int numImages) throws DeviceException
      Throws:
      DeviceException
    • getNumImages

      int getNumImages() throws DeviceException
      Throws:
      DeviceException
    • setCompressionMode

      void setCompressionMode(String mode) throws DeviceException
      Throws:
      DeviceException
    • setAcquireTime

      void setAcquireTime(double acquireTime) throws DeviceException
      Throws:
      DeviceException
    • setAcquirePeriod

      void setAcquirePeriod(double acquirePeriod) throws DeviceException
      Throws:
      DeviceException