Re: [ROOT] Re: Data from CCDs

From: Rene Brun (Rene.Brun@cern.ch)
Date: Tue May 15 2001 - 10:33:05 MEST


Hi Florian,

A TH2S has an overhead of 612 bytes, small compared to the size of
a frame (512x512x16?) bytes.
A possible solution could be a small class like:
  
class TFrameCCD ; public TNamed {

private:
 Int_t      fNrows;      // number of rows in a frame
 Int_t      fNcolumns;   //number of columns in a frame
 TObjArray *fFrames;     //array of frames

public:
  TFrameCCD();
  TFrameCCD(const char *name, Int_t nrows, Int_t ncolumns, Int_t maxframes=100);
  void AddFrame(TH2S *frame);
  TH2S *GetFrame(Int_t number);
  TH2S *GetSubFrame(Int_t row1,Int_t row2, Int_t col1, Int_t col2, 
                    Int_t frame1,Int_t frame2);
);

A frame will be a TH2S. A TFrameCCD will be a dynamic collection of frames.
Assuming a collection TFrameCCD *signal, the equivalent of IDL
        signal = float( , , ) 
        plot, signal( 3 , 5:10 , 98:150 )
could be
        signal->GetSubFrame(3,3, 5,10, 98,150)->Draw()

The simple interface above could be easily expanded. I have no idea if
this corresponds to what you need. You should give more information,
such as the typical number of frames (Is this number static or dynamic?).


Rene Brun


Florian Schopper wrote:
> 
> Hello Mr. Brun,
> 
> a frame is the matrix (rows x columns) of adc-values (about 12 bit) which
> stems from one readout cycle of the CCD.
> In principle, an array of TH2S`s is sufficient to hold the data,
> but if people here want to look into time variations of e.g. of single
> column, a 3-dim dataarray seems more natural.
> 
> They are used to an IDL-style like:
> signal = float( , , )
> plot, signal( 3 , 5:10 , 98:150 )
> Which would give them     row 3 , col 5 to 10 , framenumber 98 to 150.
> 
> If I would have a list of 2D-Hists, I would have to copy some entries of
> each into a new projection. I can write a class to hide that, but
> probably these things have all been done before.
> 
> Would a list of TH2`s store (and need memory for) a lot of redundant
> information besides the data ?
> 
> Florian Schopper
> 
> > Hi Florian, Could you clarify what you mean by "Frame"  >From your brief
> > explanation, I do not see why a TH2S histogram is not sufficient. The
> > histogram number being the framenumber, row, col obvious and the adc the
> > content (a short sufficient?) In case you intend to make statistical
> > calculations using zillions of frames, a TTree would seem to be the most
> > appropriate storage.
> 
> > Rene Brun
> 
> 
> ----------------------------------------------------------------------
> Florian Schopper                     office: MPI Halbleiterlabor
> 
> Ludwig-Merk str. 3                           Otto-Hahn-Ring 6 , Gebäude 72
> D-80805 München                           D-81739 München
> Germany                                      Germany
> 
> phone: 49/89/32455680                        phone mpe: 49/89/30000 3625
>                                              phone HLL: 49/89/839400-45
> 
>                      e-mail: fls@mpe.mpg.de
>        http://www.gamma.mpe-garching.mpg.de/MEGA/mega.html
> ----------------------------------------------------------------------



This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:45 MET