Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

There are several getters for fetching image data from the xtc file. Depending on which camera was in use, one of these should be appropriate:

  • Opal1000 camera:
    getOpal1kValue getFrameValue (an alias getOpal1kValue is provided for getFrameValuebackward compatibility)
  • Pulnix6740CL camera:
    getTm6740Value getFrameValue (an alias getTm6740Value is provided for getFrameValuebackward compatibility)
  • FrameDetector (general):
    Code Block
    int getFrameConfig   (FrameDetector det);
    int getFrameValue(FrameDetector det, int& frameWidth, int& frameHeight, unsigned short*& image );
    
    Gives you the width and height (in pixels) of the image, and a pointer to the start of the pixel array of a Pds::Camera::FrameV1 object. Specify the detector (using an appropriate enum).
    Code Block
    Available frame detectors:
      AMO:
          AmoVmi        - velocity map imaging
          AmoBps1       - beam position screen
          AmoBps2       - beam position screen
      SXR:
          SxrBeamlineOpal1
          SxrBeamlineOpal2
          SxrEndstationOpal1
          SxrEndstationOpal2
          SxrFccd
       XPP:
          XppSb1PimCvd
          XppMonPimCvd
          XppSb3PimCvd
          XppSb4PimCvd
    

...

  • Fast CCD camera:
    Code Block
     int getFccdConfig(FrameDetector det, uint16_t& outputMode, bool& ccdEnable,
                      bool& focusMode, uint32_t& exposureTime,
                      float& dacVoltage1, float& dacVoltage2, float& dacVoltage3, float& dacVoltage4,
                      float& dacVoltage5, float& dacVoltage6, float& dacVoltage7, float& dacVoltage8,
                      float& dacVoltage9, float& dacVoltage10, float& dacVoltage11, float& dacVoltage12,
                      float& dacVoltage13, float& dacVoltage14, float& dacVoltage15, float& dacVoltage16,
                      float& dacVoltage17,
                      uint16_t& waveform0, uint16_t& waveform1, uint16_t& waveform2, uint16_t& waveform3,
                      uint16_t& waveform4, uint16_t& waveform5, uint16_t& waveform6, uint16_t& waveform7,
                      uint16_t& waveform8, uint16_t& waveform9, uint16_t& waveform10, uint16_t& waveform11,
                      uint16_t& waveform12, uint16_t& waveform13, uint16_t& waveform14);
    
    Configures the information from the Fast CCD. Fills arguments with values depending on how the image/waveform data were taken. There is no getFccdValue in main.hh, so I think you need to use getFrameValue for this(question) .
    Code Block
    
     int getFrameValue(FrameDetector det, int& frameWidth, int& frameHeight, unsigned short*& image );
    
    Fetches the FCCD image data. Specify the detector (only SxrFccd is available as of 2012).
  • PnCCD camera (used by the CAMP collaboration):
    Code Block
     int getPnCcdValue (int deviceId, unsigned char*& image, int& width, int& height );
    
    This camera has 4 links, each link provides a 512 x 512 x 16 bit image. This function combines the four images to a single 1024 x 1024 x 16 bit image.
    deviceId can be PnCcd0 or PnCcd1, width and height are the number of pixels in each direction.

...