Fast CCD

The fast CCD camera produces a 480x480 pixel image, arranged as 500x576 with empty rows and columns (info pixels)

  • To get the trimmed 480x480 image:
    Height:
    500 rows   = 6 + 240 + 7 + 240 + 7
           Dark A: 6   Rows 0-5
         Data Top: 240 Rows 6-245
           Dark B: 7   Rows 246-252
      Data Bottom: 240 Rows 253-492
           Dark C: 7   Rows 493-249
    
    Width (in 16-bit pixels):
    576 pixels = 12 * 48 outputs
               Top: (10 image pixels followed by 2 info pixels) * 48 outputs
            Bottom: (2 info pixels followed by 10 image pixels) * 48 outputs
    
  • Also be aware that the 16-bit pixels are read out via two cables, 8-bits each. To get
    the right format, read out as 16-bit integers instead of 8-bits. Straight-forward for myana, but with pyana
    you need to be aware of this and convert the output:
    myana/C++
    int status;
    status = getFrameValue(fccdDet, fccdWidth, fccdHeight, fccdImage);
    
    pyana/python
    data = evt.getFrameValue("SxrBeamline-0|Fccd-0").data()
    data.dtype = np.uint16
    

Class FccdConfigV1

Public Types

 	Version = 1
 	Sixteen_bit = 16
 	Output_FIFO = 0
 	Output_Pattern4 = 4
 	Row_Pixels = 500
 	Column_Pixels = 576
 	Trimmed_Row_Pixels = 480
 	Trimmed_Column_Pixels = 480
enum  	{ Version = 1 }
enum  	Depth { Sixteen_bit = 16 }
enum  	Output_Source { Output_FIFO = 0, Output_Pattern4 = 4 }
enum  	{ Row_Pixels = 500 }
enum  	{ Column_Pixels = 576 }
enum  	{ Trimmed_Row_Pixels = 480 }
enum  	{ Trimmed_Column_Pixels = 480 }

Public Member Functions

        // Constructors
 	FccdConfigV1 ()
 	FccdConfigV1 (uint16_t u16OutputMode)

 uint32_t 	width () const         // returns Column_Pixels
 uint32_t 	height () const        // returns Row_Pixels
 uint32_t 	trimmedWidth () const  // returns Trimmed_Column_Pixels
 uint32_t 	trimmedHeight () const // returns Trimmed_Row_Pixels
 uint16_t 	outputMode () const    // returns output mode
 unsigned 	size () const          // returns size of image (bytes)

Class FccdConfigV2

Public Types

 	Version = 2
 	Eight_bit = 8
 	Sixteen_bit = 16
 	Output_FIFO = 0
 	Test_Pattern1 = 1
 	Test_Pattern2 = 2
 	Test_Pattern3 = 3
 	Test_Pattern4 = 4
 	Row_Pixels = 500
 	Column_Pixels = 576 * 2
 	Trimmed_Row_Pixels = 480
 	Trimmed_Column_Pixels = 480
enum  	{ Version = 2 }
enum  	Depth { Eight_bit = 8, Sixteen_bit = 16 }
enum  	Output_Source {
  Output_FIFO = 0, Test_Pattern1 = 1, Test_Pattern2 = 2, Test_Pattern3 = 3,
  Test_Pattern4 = 4
}
enum  	{ Row_Pixels = 500 }
enum  	{ Column_Pixels = 576 * 2 }
enum  	{ Trimmed_Row_Pixels = 480 }
enum  	{ Trimmed_Column_Pixels = 480 }

Public Member Functions

        // Constructors
 	FccdConfigV2 ()
 	FccdConfigV2 (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)
uint32_t 	width () const
uint32_t 	height () const
uint32_t 	trimmedWidth () const
uint32_t 	trimmedHeight () const
unsigned 	size () const
uint16_t 	outputMode () const
bool 	ccdEnable () const
bool 	focusMode () const
uint32_t 	exposureTime () const
float 	dacVoltage1 () const
float 	dacVoltage2 () const
float 	dacVoltage3 () const
float 	dacVoltage4 () const
float 	dacVoltage5 () const
float 	dacVoltage6 () const
float 	dacVoltage7 () const
float 	dacVoltage8 () const
float 	dacVoltage9 () const
float 	dacVoltage10 () const
float 	dacVoltage11 () const
float 	dacVoltage12 () const
float 	dacVoltage13 () const
float 	dacVoltage14 () const
float 	dacVoltage15 () const
float 	dacVoltage16 () const
float 	dacVoltage17 () const
uint16_t 	waveform0 () const
uint16_t 	waveform1 () const
uint16_t 	waveform2 () const
uint16_t 	waveform3 () const
uint16_t 	waveform4 () const
uint16_t 	waveform5 () const
uint16_t 	waveform6 () const
uint16_t 	waveform7 () const
uint16_t 	waveform8 () const
uint16_t 	waveform9 () const
uint16_t 	waveform10 () const
uint16_t 	waveform11 () const
uint16_t 	waveform12 () const
uint16_t 	waveform13 () const
uint16_t 	waveform14 () const
  • No labels