Package uk.ac.gda.devices.odin.control
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 Summary
Modifier and TypeMethodDescriptionvoidStop the data writerdoubledoubleGet the full path to the most recent file writtenintintintGet status, this will returnDetector.BUSYif either the datawriter or the detector acquisition is busyvoidprepareCamera(int frames, double requestedLiveTime, double requestedDeadTime, String imageMode, String triggerMode) Get camera ready for acquisition e.g set the exposure time and wait time (in ms).voidprepareDataWriter(int frames) Prepare the Odin Data writer this may include setting the number of expected frames or ensuring that the compression settings are as requiredvoidsetAcquirePeriod(double acquirePeriod) voidsetAcquireTime(double acquireTime) voidsetCompressionMode(String mode) voidsetDataOutput(String directory, String filePrefix) Set the directory and the file prefix for the Odin datawritervoidsetNumImages(int numImages) voidsetOffsetAndUid(int offset, int uid) Set the offet and uid for the filewriter.voidStart the camera acquiringvoidStart the data writervoidStop the camera acquiringvoidwaitForWrittenFrames(int noFrames) voidWait until the detector acquisition (exposure) is 'Done'voidWait until the datawriter is 'Done'
-
Method Details
-
setDataOutput
Set the directory and the file prefix for the Odin datawriter- Throws:
DeviceException
-
startCollection
Start the camera acquiring- Throws:
DeviceException
-
stopCollection
Stop the camera acquiring- Throws:
DeviceException
-
startRecording
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 returnDetector.BUSYif either the datawriter or the detector acquisition is busy- Returns:
- integer as defined on the
Detectorinterface
-
waitWhileAcquiring
void waitWhileAcquiring()Wait until the detector acquisition (exposure) is 'Done' -
waitWhileWriting
void waitWhileWriting()Wait until the datawriter is 'Done' -
prepareDataWriter
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
- Throws:
DeviceException
-
getAcquirePeriod
- Throws:
DeviceException
-
setOffsetAndUid
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
- Throws:
DeviceException
-
getNumImages
- Throws:
DeviceException
-
setCompressionMode
- Throws:
DeviceException
-
setAcquireTime
- Throws:
DeviceException
-
setAcquirePeriod
- Throws:
DeviceException
-