Versions Compared

Key

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

...

Panel

There are several getters for various image data:

Code Block

getFrameValue -  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.

getOpal1kValue - an alias for getFrameValue

getTm6740Value - an alias for getFrameValue

getCspadQuad   - Gives you a pointer to the first position in the array of pixel
                 data from the XPP CsPad detector (or alternatively you can get 
                 a pointer to the Pds::CsPad::ElementV1 object itself).
  • FrameDetector (general):
    Code Block
    int getFrameConfig   (FrameDetector det);
    int getFrameValue(FrameDetector det, int& frameWidth, int& frameHeight, unsigned short*& image );
    
    fetches an image from the FrameDetector of your choice.
    Specify the detector (using an appropriate enum), and getFrameValue will direct your pointers to the width and height of the image as well as the start of the pixel array.
    Code Block
    Other frame detectors:
      AMO:
          AmoVmi
          AmoBps1
          AmoBps2
      SXR:
          SxrBeamlineOpal1
          SxrBeamlineOpal2
          SxrEndstationOpal1
          SxrEndstationOpal2
          SxrFccd
       XPP:
          XppSb1PimCvd
          XppMonPimCvd
          XppSb3PimCvd
          XppSb4PimCvd
    
  • XPP CsPad detector:
    Code Block
     namespace Pds { namespace CsPad { class ConfigV1; }}
     int getCspadConfig (Pds::DetInfo::Detector det, unsigned& quadMask, unsigned& asicMask);
     int getCspadConfig (Pds::DetInfo::Detector det, Pds::CsPad::ConfigV1& cfg);
    
     namespace Pds { namespace CsPad { class ElementV1; }}
     int getCspadQuad  (Pds::DetInfo::Detector det, unsigned quad, const uint16_t*& pixels);
     int getCspadQuad  (Pds::DetInfo::Detector det, unsigned quad, const Pds::CsPad::ElementV1*& data);
    
    For an example of how to draw an image as a 2D root histogram, see the myana_cspad.cc example.
  • 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) .
  • PnCCD camera (used by CAMP):
    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.

...