HiPERCAM’s hcm file format

The HiPERCAM pipeline stores individual multi-CCD exposures in files with extension ‘.hcm’. These are in fact FITS files that can be examined with e.g. ‘fv’ or listed with ‘fitshead’, but the extension ‘.hcm’ is used to distinguish them clearly from the raw ‘.fits’ files and to reduce the chances of overwriting the latter. In order for these to be useful through the rest of the software, some assumptions about their internal structure are necessary, and they need to contain location information to show where sub-windows are placed within the CCDs. The purpose of this document is to specify this in as much detail as possible.

The basic structure of an ‘.hcm’ file is as follows:

[General Header] [CCD 1] [CCD 2] [CCD 3] [CCD 4] [CCD 5]

‘General Header’ here is the first HDU [HDU0] which contains no data but has general header information pertaining to the entire multi-CCD frame. Each CCD in turn has the structure:

Window 1, Window 2, Window 3, Window 4, ...

Each window has some header and data. The first has some extra headers general to the CCD as a whole. Each window comes with a label (header item ‘WINDOW’). For HiPERCAM data, these have values like ‘E1’, ‘G2’, ‘E’, ‘F’, ‘G’ and ‘H’ denoting the quadrant of the CCD that the Window comes from. For a standard windowed mode, with 1 window per quadrant, there will be 4 HDUs per CCD, so a total of 5x4+1 = 25 HDUs. The Windows for a given CCD may come in any order, but they should come as a contiguous block.

HDU structure and keywords

I now expand on this, detailing the header keywords expected. I concentrate on those essential for the operation of pipeline commands, reduce above all.

  1. HDU0. An hcm file starts with an HDU with no data but some header.

    Header items generated from HiPERACAM raw files:

    NUMCCDint

    specifies the number of CCDs.

    DATEstring

    date the run file was written if from HiPERCAM

    GPSbool

    GPS status

    TIMSTAMPstring

    time stamp associated with the individual frame

    NFRAMEint

    frame number

    Of these, ‘TIMSTAMP’ is essential.

  2. Then each CCD comes as a block of HDUs, one per Window. The header in the first HDU must contain:

    NXTOT    : int
       maximum X-dimension, unbinned pixels to give a reference
       size for plots of this CCD.
    
    NYTOT    : int
       maximum Y-dimension, unbinned pixels.
    
    CCD      : string
       the label of the CCD
    
    MJDUTC   : float
       the MJD at mid-exposure of the CCD. This might be the same as
       TIMSTAMP of the general header, but it might not.
    
    GOODTIME : bool
       flag to indicate whether the time is thought to be reliable. Defaults
       to True if not present.
    

    It can also contain a keyword ‘DSTATUS’ giving a boolean that indicates whether the frame contains data or not (True means yes). This is needed because ULTRACAM and HiPERCAM have options to suspend readout (‘NBLUE’ and ‘NSKIP’) which lead to blank dummy frames in between the real data frames. If ‘DSTATUS’ is not found, the CCD will be assumed to be OK.

    All the HDUs in a CCD must contain:

      CCD    : string
         string label matching the label of the first HDU of the CCD.
         This is used to identify which HDUs belong to a given CCD.
    
      LLX    : int
         X-coordinate of lower-left-most unbinned pixel that
         contributes to the window, starting with 1 on the far
         left.
    
      LLY    : int
         Y-coordinate of lower-left-most unbinned pixel that
         contributes to the window, starting with 1 on the bottom
    
      XBIN   : int
         binning factor in X
    
      YBIN   : int
         binning factor in Y
    
    Finally they *should* also contain::
    
      WINDOW : string
         a string label for the window. If it doesn't exist
         an attempt will be made to generate labels by counting.
    

Foreign data

The format of ‘.hcm’ files needs to be created if you want to apply the pipeline to data from other instruments. Since such data is typically FITS-format as are ‘.hcm’ files, this might simply be a matter of adding new keywords and re-arranging HDUs. The script for carrying this out is fits2hcm. If you have some data, look at that script and submit new code through github.

Example headers

Here is the result of running ‘fitsheader’ on a ‘.hcm’ file which may make the above easier to understand. Bear in mind there are many extras associated with making it easier to display hcm files with ‘ds9’.

# HDU 0 in flat.hcm:
SIMPLE  =                    T / conforms to FITS standard                      
BITPIX  =                    8 / array data type                                
NAXIS   =                    0 / number of array dimensions                     
EXTEND  =                    T                                                  
MODE    = 'FullFrame'          / HiPERCAM readout mode                          
DATE    = '2018-05-18T20:38:12.8127' / Date the file was written                
OBJECT  = 'Skyflat '           / Object Name                                    
FILTERS = 'us,gs,rs,is,zs'     / Filters used                                   
PI      = 'CALIB   '           / Principal Investigator                         
OBSERVER= 'vsd,trm '           / Observer Name (SA = support astronomer)        
RA      = '12:35:37'           / Telescope Right Ascension (HH:MM:SS.SSS)       
DEC     = '+30:15:50'          / Telescope Declination (DD:MM:SS.SS)            
INSTRPA =                150.5 / Position angle (E of N, degrees)               
IMAGETYP= 'flat    '           / Type of data                                   
GPS     =                    T / GPS flag status                                
EXPTIME =                  4.0 / Integration time                               
XBIN    =                    1 / Bin factor in serial direction                 
YBIN    =                    1 / Bin factor in parallel direction               
SPEED   =                    0 / CCD Clock speed                                
TIMSTAMP= '2018-05-18T20:16:35.9330269' / Raw frame timestamp, UTC              
MJDUTC  =    58256.84486033596 / MJD(UTC) equivalent                            
GOODTIME=                    T / Is TIMSTAMP thought to be OK?                  
NFRAME  =                    1 / Frame number                                   
FILENAME= '/tmp/hipercam-phsaap/tmp14xr31we.hcm'                                
NUMCCD  =                    5 / Number of CCDs                                 
HIPERCAM= 'MCCD    '           / Type of HiPERCAM data (CCD | MCCD)             
COMMENT Data representing multiple CCDs written by hipercam.MCCD.write.         
COMMENT Each window of each CCD is written in a series of HDUs following an     
COMMENT HDU containing only the header. These follow an overall header for the  
COMMENT MCCD containing top-level information. The headers of the data window   
COMMENT HDUs have keywords LLX, LLY giving the pixel location in unbinned       
COMMENT pixels and XBIN and YBIN for their binning factors. The total unbinned  
COMMENT dimensions of each CCD are stored under keywords NXTOT and NYTOT for    
COMMENT each CCD. Each HDU associated with a given CCD is labelled with a       
COMMENT header keyword CCD.                                                     

# HDU 1 in flat.hcm:
XTENSION= 'IMAGE   '           / Image extension                                
BITPIX  =                  -32 / array data type                                
NAXIS   =                    2 / number of array dimensions                     
NAXIS1  =                 1024                                                  
NAXIS2  =                  512                                                  
PCOUNT  =                    0 / number of parameters                           
GCOUNT  =                    1 / number of groups                               
CCD     = '1       '           / CCD label                                      
NXTOT   =                 2048 / Total unbinned X dimension                     
NYTOT   =                 1024 / Total unbinned Y dimension                     
NXPAD   =                    0                                                  
NYPAD   =                    0                                                  
NUMWIN  =                    4 / Total number of windows                        
WINDOW  = 'E1      '           / Window label                                   
NCYCLE  =                    1                                                  
REFLECT =                    F                                                  
RONOISE =                  0.0                                                  
GAIN    =                  1.0                                                  
DSTATUS =                    T                                                  
MJDUTC  =     58256.8448834841                                                  
GOODTIME=                    T                                                  
EXPTIME =                  4.0                                                  
LLX     =                    1 / X-ordinate of lower-left pixel                 
LLY     =                    1 / Y-ordinate of lower-left pixel                 
XBIN    =                    1 / X-binning factor                               
YBIN    =                    1 / Y-binning factor                               
CCDSUM  = '1 1     '                                                            
CCDSEC  = '[1:1024,1:512]'                                                      
AMPSEC  = '[1:1024,1:512]'                                                      
DATASEC = '[1:1024,1:512]'                                                      
DETSEC  = '[1:1024,1:512]'                                                      
ATM1_1  =                  1.0                                                  
ATM2_2  =                  1.0                                                  
ATV1    =                  0.0                                                  
ATV2    =                  0.0                                                  
LTM1_1  =                  1.0                                                  
LTM2_2  =                  1.0                                                  
LTV1    =                  0.0                                                  
LTV2    =                  0.0                                                  
DTM1_1  =                  1.0                                                  
DTM2_2  =                  1.0                                                  
DTV1    =                  0.0                                                  
DTV2    =                  0.0                                                  
WCSNAMEP= 'PHYSICAL'                                                            
CTYPE1  = 'PIXEL   '                                                            
CTYPE2  = 'PIXEL   '                                                            
CRPIX1  =                  1.0                                                  
CRPIX2  =                  1.0                                                  
CRVAL1  =                  1.0                                                  
CRVAL2  =                  1.0                                                  
CD1_1   =                  1.0                                                  
CD2_2   =                  1.0                                                  
EXTNAME = 'C:1, W:E1'          / name of this image extension                   
HISTORY result of makeflat on 59 frames, ngroup = 5                             

# HDU 2 in flat.hcm:
XTENSION= 'IMAGE   '           / Image extension                                
BITPIX  =                  -32 / array data type                                
NAXIS   =                    2 / number of array dimensions                     
NAXIS1  =                 1024                                                  
NAXIS2  =                  512                                                  
PCOUNT  =                    0 / number of parameters                           
GCOUNT  =                    1 / number of groups                               
CCD     = '1       '           / CCD label                                      
WINDOW  = 'F1      '           / Window label                                   
LLX     =                 1025 / X-ordinate of lower-left pixel                 
LLY     =                    1 / Y-ordinate of lower-left pixel                 
XBIN    =                    1 / X-binning factor                               
YBIN    =                    1 / Y-binning factor                               
CCDSUM  = '1 1     '                                                            
CCDSEC  = '[1:1024,1:512]'                                                      
AMPSEC  = '[1:1024,1:512]'                                                      
DATASEC = '[1025:2048,1:512]'                                                   
DETSEC  = '[1025:2048,1:512]'                                                   
ATM1_1  =                  1.0                                                  
ATM2_2  =                  1.0                                                  
ATV1    =                  0.0                                                  
ATV2    =                  0.0                                                  
LTM1_1  =                  1.0                                                  
LTM2_2  =                  1.0                                                  
LTV1    =              -1024.0                                                  
LTV2    =                  0.0                                                  
DTM1_1  =                  1.0                                                  
DTM2_2  =                  1.0                                                  
DTV1    =                  0.0                                                  
DTV2    =                  0.0                                                  
WCSNAMEP= 'PHYSICAL'                                                            
CTYPE1  = 'PIXEL   '                                                            
CTYPE2  = 'PIXEL   '                                                            
CRPIX1  =                  1.0                                                  
CRPIX2  =                  1.0                                                  
CRVAL1  =               1025.0                                                  
CRVAL2  =                  1.0                                                  
CD1_1   =                  1.0                                                  
CD2_2   =                  1.0                                                  
EXTNAME = 'C:1, W:F1'          / name of this image extension                   

# HDU 3 in flat.hcm:
XTENSION= 'IMAGE   '           / Image extension                                
BITPIX  =                  -32 / array data type                                
NAXIS   =                    2 / number of array dimensions                     
NAXIS1  =                 1024                                                  
NAXIS2  =                  512                                                  
PCOUNT  =                    0 / number of parameters                           
GCOUNT  =                    1 / number of groups                               
CCD     = '1       '           / CCD label                                      
WINDOW  = 'G1      '           / Window label                                   
LLX     =                 1025 / X-ordinate of lower-left pixel                 
LLY     =                  513 / Y-ordinate of lower-left pixel                 
XBIN    =                    1 / X-binning factor                               
YBIN    =                    1 / Y-binning factor                               
CCDSUM  = '1 1     '                                                            
CCDSEC  = '[1:1024,1:512]'                                                      
AMPSEC  = '[1:1024,1:512]'                                                      
DATASEC = '[1025:2048,513:1024]'                                                
DETSEC  = '[1025:2048,513:1024]'                                                
ATM1_1  =                  1.0                                                  
ATM2_2  =                  1.0                                                  
ATV1    =                  0.0                                                  
ATV2    =                  0.0                                                  
LTM1_1  =                  1.0                                                  
LTM2_2  =                  1.0                                                  
LTV1    =              -1024.0                                                  
LTV2    =               -512.0                                                  
DTM1_1  =                  1.0                                                  
DTM2_2  =                  1.0                                                  
DTV1    =                  0.0                                                  
DTV2    =                  0.0                                                  
WCSNAMEP= 'PHYSICAL'                                                            
CTYPE1  = 'PIXEL   '                                                            
CTYPE2  = 'PIXEL   '                                                            
CRPIX1  =                  1.0                                                  
CRPIX2  =                  1.0                                                  
CRVAL1  =               1025.0                                                  
CRVAL2  =                513.0                                                  
CD1_1   =                  1.0                                                  
CD2_2   =                  1.0                                                  
EXTNAME = 'C:1, W:G1'          / name of this image extension                   

# HDU 4 in flat.hcm:
XTENSION= 'IMAGE   '           / Image extension                                
BITPIX  =                  -32 / array data type                                
NAXIS   =                    2 / number of array dimensions                     
NAXIS1  =                 1024                                                  
NAXIS2  =                  512                                                  
PCOUNT  =                    0 / number of parameters                           
GCOUNT  =                    1 / number of groups                               
CCD     = '1       '           / CCD label                                      
WINDOW  = 'H1      '           / Window label                                   
LLX     =                    1 / X-ordinate of lower-left pixel                 
LLY     =                  513 / Y-ordinate of lower-left pixel                 
XBIN    =                    1 / X-binning factor                               
YBIN    =                    1 / Y-binning factor                               
CCDSUM  = '1 1     '                                                            
CCDSEC  = '[1:1024,1:512]'                                                      
AMPSEC  = '[1:1024,1:512]'                                                      
DATASEC = '[1:1024,513:1024]'                                                   
DETSEC  = '[1:1024,513:1024]'                                                   
ATM1_1  =                  1.0                                                  
ATM2_2  =                  1.0                                                  
ATV1    =                  0.0                                                  
ATV2    =                  0.0                                                  
LTM1_1  =                  1.0                                                  
LTM2_2  =                  1.0                                                  
LTV1    =                  0.0                                                  
LTV2    =               -512.0                                                  
DTM1_1  =                  1.0                                                  
DTM2_2  =                  1.0                                                  
DTV1    =                  0.0                                                  
DTV2    =                  0.0                                                  
WCSNAMEP= 'PHYSICAL'                                                            
CTYPE1  = 'PIXEL   '                                                            
CTYPE2  = 'PIXEL   '                                                            
CRPIX1  =                  1.0                                                  
CRPIX2  =                  1.0                                                  
CRVAL1  =                  1.0                                                  
CRVAL2  =                513.0                                                  
CD1_1   =                  1.0                                                  
CD2_2   =                  1.0                                                  
EXTNAME = 'C:1, W:H1'          / name of this image extension                   

# HDU 5 in flat.hcm:
XTENSION= 'IMAGE   '           / Image extension                                
BITPIX  =                  -32 / array data type                                
NAXIS   =                    2 / number of array dimensions                     
NAXIS1  =                 1024                                                  
NAXIS2  =                  512                                                  
PCOUNT  =                    0 / number of parameters                           
GCOUNT  =                    1 / number of groups                               
CCD     = '2       '           / CCD label                                      
NXTOT   =                 2048 / Total unbinned X dimension                     
NYTOT   =                 1024 / Total unbinned Y dimension                     
NXPAD   =                    0                                                  
NYPAD   =                    0                                                  
NUMWIN  =                    4 / Total number of windows                        
WINDOW  = 'E1      '           / Window label                                   
NCYCLE  =                    1                                                  
REFLECT =                    T                                                  
DSTATUS =                    T                                                  
MJDUTC  =     58256.8448834841                                                  
GOODTIME=                    T                                                  
EXPTIME =                  4.0                                                  
LLX     =                 1025 / X-ordinate of lower-left pixel                 
LLY     =                    1 / Y-ordinate of lower-left pixel                 
XBIN    =                    1 / X-binning factor                               
YBIN    =                    1 / Y-binning factor                               
CCDSUM  = '1 1     '                                                            
CCDSEC  = '[1:1024,1:512]'                                                      
AMPSEC  = '[1:1024,1:512]'                                                      
DATASEC = '[1025:2048,1:512]'                                                   
DETSEC  = '[3273:4296,1:512]'                                                   
ATM1_1  =                  1.0                                                  
ATM2_2  =                  1.0                                                  
ATV1    =                  0.0                                                  
ATV2    =                  0.0                                                  
LTM1_1  =                  1.0                                                  
LTM2_2  =                  1.0                                                  
LTV1    =              -1024.0                                                  
LTV2    =                  0.0                                                  
DTM1_1  =                  1.0                                                  
DTM2_2  =                  1.0                                                  
DTV1    =               2248.0                                                  
DTV2    =                  0.0                                                  
WCSNAMEP= 'PHYSICAL'                                                            
CTYPE1  = 'PIXEL   '                                                            
CTYPE2  = 'PIXEL   '                                                            
CRPIX1  =                  1.0                                                  
CRPIX2  =                  1.0                                                  
CRVAL1  =               3273.0                                                  
CRVAL2  =                  1.0                                                  
CD1_1   =                  1.0                                                  
CD2_2   =                  1.0                                                  
EXTNAME = 'C:2, W:E1'          / name of this image extension                   
HISTORY result of makeflat on 56 frames, ngroup = 5                             

# HDU 6 in flat.hcm:
XTENSION= 'IMAGE   '           / Image extension                                
BITPIX  =                  -32 / array data type                                
NAXIS   =                    2 / number of array dimensions                     
NAXIS1  =                 1024                                                  
NAXIS2  =                  512                                                  
PCOUNT  =                    0 / number of parameters                           
GCOUNT  =                    1 / number of groups                               
CCD     = '2       '           / CCD label                                      
WINDOW  = 'F1      '           / Window label                                   
LLX     =                    1 / X-ordinate of lower-left pixel                 
LLY     =                    1 / Y-ordinate of lower-left pixel                 
XBIN    =                    1 / X-binning factor                               
YBIN    =                    1 / Y-binning factor                               
CCDSUM  = '1 1     '                                                            
CCDSEC  = '[1:1024,1:512]'                                                      
AMPSEC  = '[1:1024,1:512]'                                                      
DATASEC = '[1:1024,1:512]'                                                      
DETSEC  = '[2249:3272,1:512]'                                                   
ATM1_1  =                  1.0                                                  
ATM2_2  =                  1.0                                                  
ATV1    =                  0.0                                                  
ATV2    =                  0.0                                                  
LTM1_1  =                  1.0                                                  
LTM2_2  =                  1.0                                                  
LTV1    =                  0.0                                                  
LTV2    =                  0.0                                                  
DTM1_1  =                  1.0                                                  
DTM2_2  =                  1.0                                                  
DTV1    =               2248.0                                                  
DTV2    =                  0.0                                                  
WCSNAMEP= 'PHYSICAL'                                                            
CTYPE1  = 'PIXEL   '                                                            
CTYPE2  = 'PIXEL   '                                                            
CRPIX1  =                  1.0                                                  
CRPIX2  =                  1.0                                                  
CRVAL1  =               2249.0                                                  
CRVAL2  =                  1.0                                                  
CD1_1   =                  1.0                                                  
CD2_2   =                  1.0                                                  
EXTNAME = 'C:2, W:F1'          / name of this image extension                   

# HDU 7 in flat.hcm:
XTENSION= 'IMAGE   '           / Image extension                                
BITPIX  =                  -32 / array data type                                
NAXIS   =                    2 / number of array dimensions                     
NAXIS1  =                 1024                                                  
NAXIS2  =                  512                                                  
PCOUNT  =                    0 / number of parameters                           
GCOUNT  =                    1 / number of groups                               
CCD     = '2       '           / CCD label                                      
WINDOW  = 'G1      '           / Window label                                   
LLX     =                    1 / X-ordinate of lower-left pixel                 
LLY     =                  513 / Y-ordinate of lower-left pixel                 
XBIN    =                    1 / X-binning factor                               
YBIN    =                    1 / Y-binning factor                               
CCDSUM  = '1 1     '                                                            
CCDSEC  = '[1:1024,1:512]'                                                      
AMPSEC  = '[1:1024,1:512]'                                                      
DATASEC = '[1:1024,513:1024]'                                                   
DETSEC  = '[2249:3272,513:1024]'                                                
ATM1_1  =                  1.0                                                  
ATM2_2  =                  1.0                                                  
ATV1    =                  0.0                                                  
ATV2    =                  0.0                                                  
LTM1_1  =                  1.0                                                  
LTM2_2  =                  1.0                                                  
LTV1    =                  0.0                                                  
LTV2    =               -512.0                                                  
DTM1_1  =                  1.0                                                  
DTM2_2  =                  1.0                                                  
DTV1    =               2248.0                                                  
DTV2    =                  0.0                                                  
WCSNAMEP= 'PHYSICAL'                                                            
CTYPE1  = 'PIXEL   '                                                            
CTYPE2  = 'PIXEL   '                                                            
CRPIX1  =                  1.0                                                  
CRPIX2  =                  1.0                                                  
CRVAL1  =               2249.0                                                  
CRVAL2  =                513.0                                                  
CD1_1   =                  1.0                                                  
CD2_2   =                  1.0                                                  
EXTNAME = 'C:2, W:G1'          / name of this image extension                   

# HDU 8 in flat.hcm:
XTENSION= 'IMAGE   '           / Image extension                                
BITPIX  =                  -32 / array data type                                
NAXIS   =                    2 / number of array dimensions                     
NAXIS1  =                 1024                                                  
NAXIS2  =                  512                                                  
PCOUNT  =                    0 / number of parameters                           
GCOUNT  =                    1 / number of groups                               
CCD     = '2       '           / CCD label                                      
WINDOW  = 'H1      '           / Window label                                   
LLX     =                 1025 / X-ordinate of lower-left pixel                 
LLY     =                  513 / Y-ordinate of lower-left pixel                 
XBIN    =                    1 / X-binning factor                               
YBIN    =                    1 / Y-binning factor                               
CCDSUM  = '1 1     '                                                            
CCDSEC  = '[1:1024,1:512]'                                                      
AMPSEC  = '[1:1024,1:512]'                                                      
DATASEC = '[1025:2048,513:1024]'                                                
DETSEC  = '[3273:4296,513:1024]'                                                
ATM1_1  =                  1.0                                                  
ATM2_2  =                  1.0                                                  
ATV1    =                  0.0                                                  
ATV2    =                  0.0                                                  
LTM1_1  =                  1.0                                                  
LTM2_2  =                  1.0                                                  
LTV1    =              -1024.0                                                  
LTV2    =               -512.0                                                  
DTM1_1  =                  1.0                                                  
DTM2_2  =                  1.0                                                  
DTV1    =               2248.0                                                  
DTV2    =                  0.0                                                  
WCSNAMEP= 'PHYSICAL'                                                            
CTYPE1  = 'PIXEL   '                                                            
CTYPE2  = 'PIXEL   '                                                            
CRPIX1  =                  1.0                                                  
CRPIX2  =                  1.0                                                  
CRVAL1  =               3273.0                                                  
CRVAL2  =                513.0                                                  
CD1_1   =                  1.0                                                  
CD2_2   =                  1.0                                                  
EXTNAME = 'C:2, W:H1'          / name of this image extension                   

# HDU 9 in flat.hcm:
XTENSION= 'IMAGE   '           / Image extension                                
BITPIX  =                  -32 / array data type                                
NAXIS   =                    2 / number of array dimensions                     
NAXIS1  =                 1024                                                  
NAXIS2  =                  512                                                  
PCOUNT  =                    0 / number of parameters                           
GCOUNT  =                    1 / number of groups                               
CCD     = '3       '           / CCD label                                      
NXTOT   =                 2048 / Total unbinned X dimension                     
NYTOT   =                 1024 / Total unbinned Y dimension                     
NXPAD   =                    0                                                  
NYPAD   =                    0                                                  
NUMWIN  =                    4 / Total number of windows                        
WINDOW  = 'E1      '           / Window label                                   
NCYCLE  =                    1                                                  
REFLECT =                    F                                                  
DSTATUS =                    T                                                  
MJDUTC  =     58256.8448834841                                                  
GOODTIME=                    T                                                  
EXPTIME =                  4.0                                                  
LLX     =                    1 / X-ordinate of lower-left pixel                 
LLY     =                    1 / Y-ordinate of lower-left pixel                 
XBIN    =                    1 / X-binning factor                               
YBIN    =                    1 / Y-binning factor                               
CCDSUM  = '1 1     '                                                            
CCDSEC  = '[1:1024,1:512]'                                                      
AMPSEC  = '[1:1024,1:512]'                                                      
DATASEC = '[1:1024,1:512]'                                                      
DETSEC  = '[4497:5520,1:512]'                                                   
ATM1_1  =                  1.0                                                  
ATM2_2  =                  1.0                                                  
ATV1    =                  0.0                                                  
ATV2    =                  0.0                                                  
LTM1_1  =                  1.0                                                  
LTM2_2  =                  1.0                                                  
LTV1    =                  0.0                                                  
LTV2    =                  0.0                                                  
DTM1_1  =                  1.0                                                  
DTM2_2  =                  1.0                                                  
DTV1    =               4496.0                                                  
DTV2    =                  0.0                                                  
WCSNAMEP= 'PHYSICAL'                                                            
CTYPE1  = 'PIXEL   '                                                            
CTYPE2  = 'PIXEL   '                                                            
CRPIX1  =                  1.0                                                  
CRPIX2  =                  1.0                                                  
CRVAL1  =               4497.0                                                  
CRVAL2  =                  1.0                                                  
CD1_1   =                  1.0                                                  
CD2_2   =                  1.0                                                  
EXTNAME = 'C:3, W:E1'          / name of this image extension                   
HISTORY result of makeflat on 60 frames, ngroup = 5                             

# HDU 10 in flat.hcm:
XTENSION= 'IMAGE   '           / Image extension                                
BITPIX  =                  -32 / array data type                                
NAXIS   =                    2 / number of array dimensions                     
NAXIS1  =                 1024                                                  
NAXIS2  =                  512                                                  
PCOUNT  =                    0 / number of parameters                           
GCOUNT  =                    1 / number of groups                               
CCD     = '3       '           / CCD label                                      
WINDOW  = 'F1      '           / Window label                                   
LLX     =                 1025 / X-ordinate of lower-left pixel                 
LLY     =                    1 / Y-ordinate of lower-left pixel                 
XBIN    =                    1 / X-binning factor                               
YBIN    =                    1 / Y-binning factor                               
CCDSUM  = '1 1     '                                                            
CCDSEC  = '[1:1024,1:512]'                                                      
AMPSEC  = '[1:1024,1:512]'                                                      
DATASEC = '[1025:2048,1:512]'                                                   
DETSEC  = '[5521:6544,1:512]'                                                   
ATM1_1  =                  1.0                                                  
ATM2_2  =                  1.0                                                  
ATV1    =                  0.0                                                  
ATV2    =                  0.0                                                  
LTM1_1  =                  1.0                                                  
LTM2_2  =                  1.0                                                  
LTV1    =              -1024.0                                                  
LTV2    =                  0.0                                                  
DTM1_1  =                  1.0                                                  
DTM2_2  =                  1.0                                                  
DTV1    =               4496.0                                                  
DTV2    =                  0.0                                                  
WCSNAMEP= 'PHYSICAL'                                                            
CTYPE1  = 'PIXEL   '                                                            
CTYPE2  = 'PIXEL   '                                                            
CRPIX1  =                  1.0                                                  
CRPIX2  =                  1.0                                                  
CRVAL1  =               5521.0                                                  
CRVAL2  =                  1.0                                                  
CD1_1   =                  1.0                                                  
CD2_2   =                  1.0                                                  
EXTNAME = 'C:3, W:F1'          / name of this image extension                   

# HDU 11 in flat.hcm:
XTENSION= 'IMAGE   '           / Image extension                                
BITPIX  =                  -32 / array data type                                
NAXIS   =                    2 / number of array dimensions                     
NAXIS1  =                 1024                                                  
NAXIS2  =                  512                                                  
PCOUNT  =                    0 / number of parameters                           
GCOUNT  =                    1 / number of groups                               
CCD     = '3       '           / CCD label                                      
WINDOW  = 'G1      '           / Window label                                   
LLX     =                 1025 / X-ordinate of lower-left pixel                 
LLY     =                  513 / Y-ordinate of lower-left pixel                 
XBIN    =                    1 / X-binning factor                               
YBIN    =                    1 / Y-binning factor                               
CCDSUM  = '1 1     '                                                            
CCDSEC  = '[1:1024,1:512]'                                                      
AMPSEC  = '[1:1024,1:512]'                                                      
DATASEC = '[1025:2048,513:1024]'                                                
DETSEC  = '[5521:6544,513:1024]'                                                
ATM1_1  =                  1.0                                                  
ATM2_2  =                  1.0                                                  
ATV1    =                  0.0                                                  
ATV2    =                  0.0                                                  
LTM1_1  =                  1.0                                                  
LTM2_2  =                  1.0                                                  
LTV1    =              -1024.0                                                  
LTV2    =               -512.0                                                  
DTM1_1  =                  1.0                                                  
DTM2_2  =                  1.0                                                  
DTV1    =               4496.0                                                  
DTV2    =                  0.0                                                  
WCSNAMEP= 'PHYSICAL'                                                            
CTYPE1  = 'PIXEL   '                                                            
CTYPE2  = 'PIXEL   '                                                            
CRPIX1  =                  1.0                                                  
CRPIX2  =                  1.0                                                  
CRVAL1  =               5521.0                                                  
CRVAL2  =                513.0                                                  
CD1_1   =                  1.0                                                  
CD2_2   =                  1.0                                                  
EXTNAME = 'C:3, W:G1'          / name of this image extension                   

# HDU 12 in flat.hcm:
XTENSION= 'IMAGE   '           / Image extension                                
BITPIX  =                  -32 / array data type                                
NAXIS   =                    2 / number of array dimensions                     
NAXIS1  =                 1024                                                  
NAXIS2  =                  512                                                  
PCOUNT  =                    0 / number of parameters                           
GCOUNT  =                    1 / number of groups                               
CCD     = '3       '           / CCD label                                      
WINDOW  = 'H1      '           / Window label                                   
LLX     =                    1 / X-ordinate of lower-left pixel                 
LLY     =                  513 / Y-ordinate of lower-left pixel                 
XBIN    =                    1 / X-binning factor                               
YBIN    =                    1 / Y-binning factor                               
CCDSUM  = '1 1     '                                                            
CCDSEC  = '[1:1024,1:512]'                                                      
AMPSEC  = '[1:1024,1:512]'                                                      
DATASEC = '[1:1024,513:1024]'                                                   
DETSEC  = '[4497:5520,513:1024]'                                                
ATM1_1  =                  1.0                                                  
ATM2_2  =                  1.0                                                  
ATV1    =                  0.0                                                  
ATV2    =                  0.0                                                  
LTM1_1  =                  1.0                                                  
LTM2_2  =                  1.0                                                  
LTV1    =                  0.0                                                  
LTV2    =               -512.0                                                  
DTM1_1  =                  1.0                                                  
DTM2_2  =                  1.0                                                  
DTV1    =               4496.0                                                  
DTV2    =                  0.0                                                  
WCSNAMEP= 'PHYSICAL'                                                            
CTYPE1  = 'PIXEL   '                                                            
CTYPE2  = 'PIXEL   '                                                            
CRPIX1  =                  1.0                                                  
CRPIX2  =                  1.0                                                  
CRVAL1  =               4497.0                                                  
CRVAL2  =                513.0                                                  
CD1_1   =                  1.0                                                  
CD2_2   =                  1.0                                                  
EXTNAME = 'C:3, W:H1'          / name of this image extension                   

# HDU 13 in flat.hcm:
XTENSION= 'IMAGE   '           / Image extension                                
BITPIX  =                  -32 / array data type                                
NAXIS   =                    2 / number of array dimensions                     
NAXIS1  =                 1024                                                  
NAXIS2  =                  512                                                  
PCOUNT  =                    0 / number of parameters                           
GCOUNT  =                    1 / number of groups                               
CCD     = '4       '           / CCD label                                      
NXTOT   =                 2048 / Total unbinned X dimension                     
NYTOT   =                 1024 / Total unbinned Y dimension                     
NXPAD   =                    0                                                  
NYPAD   =                    0                                                  
NUMWIN  =                    4 / Total number of windows                        
WINDOW  = 'E1      '           / Window label                                   
NCYCLE  =                    1                                                  
REFLECT =                    F                                                  
DSTATUS =                    T                                                  
MJDUTC  =     58256.8448834841                                                  
GOODTIME=                    T                                                  
EXPTIME =                  4.0                                                  
LLX     =                    1 / X-ordinate of lower-left pixel                 
LLY     =                    1 / Y-ordinate of lower-left pixel                 
XBIN    =                    1 / X-binning factor                               
YBIN    =                    1 / Y-binning factor                               
CCDSUM  = '1 1     '                                                            
CCDSEC  = '[1:1024,1:512]'                                                      
AMPSEC  = '[1:1024,1:512]'                                                      
DATASEC = '[1:1024,1:512]'                                                      
DETSEC  = '[1:1024,-1223:-712]'                                                 
ATM1_1  =                  1.0                                                  
ATM2_2  =                  1.0                                                  
ATV1    =                  0.0                                                  
ATV2    =                  0.0                                                  
LTM1_1  =                  1.0                                                  
LTM2_2  =                  1.0                                                  
LTV1    =                  0.0                                                  
LTV2    =                  0.0                                                  
DTM1_1  =                  1.0                                                  
DTM2_2  =                  1.0                                                  
DTV1    =                  0.0                                                  
DTV2    =              -1224.0                                                  
WCSNAMEP= 'PHYSICAL'                                                            
CTYPE1  = 'PIXEL   '                                                            
CTYPE2  = 'PIXEL   '                                                            
CRPIX1  =                  1.0                                                  
CRPIX2  =                  1.0                                                  
CRVAL1  =                  1.0                                                  
CRVAL2  =              -1223.0                                                  
CD1_1   =                  1.0                                                  
CD2_2   =                  1.0                                                  
EXTNAME = 'C:4, W:E1'          / name of this image extension                   
HISTORY result of makeflat on 58 frames, ngroup = 5                             

# HDU 14 in flat.hcm:
XTENSION= 'IMAGE   '           / Image extension                                
BITPIX  =                  -32 / array data type                                
NAXIS   =                    2 / number of array dimensions                     
NAXIS1  =                 1024                                                  
NAXIS2  =                  512                                                  
PCOUNT  =                    0 / number of parameters                           
GCOUNT  =                    1 / number of groups                               
CCD     = '4       '           / CCD label                                      
WINDOW  = 'F1      '           / Window label                                   
LLX     =                 1025 / X-ordinate of lower-left pixel                 
LLY     =                    1 / Y-ordinate of lower-left pixel                 
XBIN    =                    1 / X-binning factor                               
YBIN    =                    1 / Y-binning factor                               
CCDSUM  = '1 1     '                                                            
CCDSEC  = '[1:1024,1:512]'                                                      
AMPSEC  = '[1:1024,1:512]'                                                      
DATASEC = '[1025:2048,1:512]'                                                   
DETSEC  = '[1025:2048,-1223:-712]'                                              
ATM1_1  =                  1.0                                                  
ATM2_2  =                  1.0                                                  
ATV1    =                  0.0                                                  
ATV2    =                  0.0                                                  
LTM1_1  =                  1.0                                                  
LTM2_2  =                  1.0                                                  
LTV1    =              -1024.0                                                  
LTV2    =                  0.0                                                  
DTM1_1  =                  1.0                                                  
DTM2_2  =                  1.0                                                  
DTV1    =                  0.0                                                  
DTV2    =              -1224.0                                                  
WCSNAMEP= 'PHYSICAL'                                                            
CTYPE1  = 'PIXEL   '                                                            
CTYPE2  = 'PIXEL   '                                                            
CRPIX1  =                  1.0                                                  
CRPIX2  =                  1.0                                                  
CRVAL1  =               1025.0                                                  
CRVAL2  =              -1223.0                                                  
CD1_1   =                  1.0                                                  
CD2_2   =                  1.0                                                  
EXTNAME = 'C:4, W:F1'          / name of this image extension                   

# HDU 15 in flat.hcm:
XTENSION= 'IMAGE   '           / Image extension                                
BITPIX  =                  -32 / array data type                                
NAXIS   =                    2 / number of array dimensions                     
NAXIS1  =                 1024                                                  
NAXIS2  =                  512                                                  
PCOUNT  =                    0 / number of parameters                           
GCOUNT  =                    1 / number of groups                               
CCD     = '4       '           / CCD label                                      
WINDOW  = 'G1      '           / Window label                                   
LLX     =                 1025 / X-ordinate of lower-left pixel                 
LLY     =                  513 / Y-ordinate of lower-left pixel                 
XBIN    =                    1 / X-binning factor                               
YBIN    =                    1 / Y-binning factor                               
CCDSUM  = '1 1     '                                                            
CCDSEC  = '[1:1024,1:512]'                                                      
AMPSEC  = '[1:1024,1:512]'                                                      
DATASEC = '[1025:2048,513:1024]'                                                
DETSEC  = '[1025:2048,-711:-200]'                                               
ATM1_1  =                  1.0                                                  
ATM2_2  =                  1.0                                                  
ATV1    =                  0.0                                                  
ATV2    =                  0.0                                                  
LTM1_1  =                  1.0                                                  
LTM2_2  =                  1.0                                                  
LTV1    =              -1024.0                                                  
LTV2    =               -512.0                                                  
DTM1_1  =                  1.0                                                  
DTM2_2  =                  1.0                                                  
DTV1    =                  0.0                                                  
DTV2    =              -1224.0                                                  
WCSNAMEP= 'PHYSICAL'                                                            
CTYPE1  = 'PIXEL   '                                                            
CTYPE2  = 'PIXEL   '                                                            
CRPIX1  =                  1.0                                                  
CRPIX2  =                  1.0                                                  
CRVAL1  =               1025.0                                                  
CRVAL2  =               -711.0                                                  
CD1_1   =                  1.0                                                  
CD2_2   =                  1.0                                                  
EXTNAME = 'C:4, W:G1'          / name of this image extension                   

# HDU 16 in flat.hcm:
XTENSION= 'IMAGE   '           / Image extension                                
BITPIX  =                  -32 / array data type                                
NAXIS   =                    2 / number of array dimensions                     
NAXIS1  =                 1024                                                  
NAXIS2  =                  512                                                  
PCOUNT  =                    0 / number of parameters                           
GCOUNT  =                    1 / number of groups                               
CCD     = '4       '           / CCD label                                      
WINDOW  = 'H1      '           / Window label                                   
LLX     =                    1 / X-ordinate of lower-left pixel                 
LLY     =                  513 / Y-ordinate of lower-left pixel                 
XBIN    =                    1 / X-binning factor                               
YBIN    =                    1 / Y-binning factor                               
CCDSUM  = '1 1     '                                                            
CCDSEC  = '[1:1024,1:512]'                                                      
AMPSEC  = '[1:1024,1:512]'                                                      
DATASEC = '[1:1024,513:1024]'                                                   
DETSEC  = '[1:1024,-711:-200]'                                                  
ATM1_1  =                  1.0                                                  
ATM2_2  =                  1.0                                                  
ATV1    =                  0.0                                                  
ATV2    =                  0.0                                                  
LTM1_1  =                  1.0                                                  
LTM2_2  =                  1.0                                                  
LTV1    =                  0.0                                                  
LTV2    =               -512.0                                                  
DTM1_1  =                  1.0                                                  
DTM2_2  =                  1.0                                                  
DTV1    =                  0.0                                                  
DTV2    =              -1224.0                                                  
WCSNAMEP= 'PHYSICAL'                                                            
CTYPE1  = 'PIXEL   '                                                            
CTYPE2  = 'PIXEL   '                                                            
CRPIX1  =                  1.0                                                  
CRPIX2  =                  1.0                                                  
CRVAL1  =                  1.0                                                  
CRVAL2  =               -711.0                                                  
CD1_1   =                  1.0                                                  
CD2_2   =                  1.0                                                  
EXTNAME = 'C:4, W:H1'          / name of this image extension                   

# HDU 17 in flat.hcm:
XTENSION= 'IMAGE   '           / Image extension                                
BITPIX  =                  -32 / array data type                                
NAXIS   =                    2 / number of array dimensions                     
NAXIS1  =                 1024                                                  
NAXIS2  =                  512                                                  
PCOUNT  =                    0 / number of parameters                           
GCOUNT  =                    1 / number of groups                               
CCD     = '5       '           / CCD label                                      
NXTOT   =                 2048 / Total unbinned X dimension                     
NYTOT   =                 1024 / Total unbinned Y dimension                     
NXPAD   =                    0                                                  
NYPAD   =                    0                                                  
NUMWIN  =                    4 / Total number of windows                        
WINDOW  = 'E1      '           / Window label                                   
NCYCLE  =                    1                                                  
REFLECT =                    T                                                  
DSTATUS =                    T                                                  
MJDUTC  =     58256.8448834841                                                  
GOODTIME=                    T                                                  
EXPTIME =                  4.0                                                  
LLX     =                 1025 / X-ordinate of lower-left pixel                 
LLY     =                    1 / Y-ordinate of lower-left pixel                 
XBIN    =                    1 / X-binning factor                               
YBIN    =                    1 / Y-binning factor                               
CCDSUM  = '1 1     '                                                            
CCDSEC  = '[1:1024,1:512]'                                                      
AMPSEC  = '[1:1024,1:512]'                                                      
DATASEC = '[1025:2048,1:512]'                                                   
DETSEC  = '[3273:4296,-1223:-712]'                                              
ATM1_1  =                  1.0                                                  
ATM2_2  =                  1.0                                                  
ATV1    =                  0.0                                                  
ATV2    =                  0.0                                                  
LTM1_1  =                  1.0                                                  
LTM2_2  =                  1.0                                                  
LTV1    =              -1024.0                                                  
LTV2    =                  0.0                                                  
DTM1_1  =                  1.0                                                  
DTM2_2  =                  1.0                                                  
DTV1    =               2248.0                                                  
DTV2    =              -1224.0                                                  
WCSNAMEP= 'PHYSICAL'                                                            
CTYPE1  = 'PIXEL   '                                                            
CTYPE2  = 'PIXEL   '                                                            
CRPIX1  =                  1.0                                                  
CRPIX2  =                  1.0                                                  
CRVAL1  =               3273.0                                                  
CRVAL2  =              -1223.0                                                  
CD1_1   =                  1.0                                                  
CD2_2   =                  1.0                                                  
EXTNAME = 'C:5, W:E1'          / name of this image extension                   
HISTORY result of makeflat on 54 frames, ngroup = 5                             

# HDU 18 in flat.hcm:
XTENSION= 'IMAGE   '           / Image extension                                
BITPIX  =                  -32 / array data type                                
NAXIS   =                    2 / number of array dimensions                     
NAXIS1  =                 1024                                                  
NAXIS2  =                  512                                                  
PCOUNT  =                    0 / number of parameters                           
GCOUNT  =                    1 / number of groups                               
CCD     = '5       '           / CCD label                                      
WINDOW  = 'F1      '           / Window label                                   
LLX     =                    1 / X-ordinate of lower-left pixel                 
LLY     =                    1 / Y-ordinate of lower-left pixel                 
XBIN    =                    1 / X-binning factor                               
YBIN    =                    1 / Y-binning factor                               
CCDSUM  = '1 1     '                                                            
CCDSEC  = '[1:1024,1:512]'                                                      
AMPSEC  = '[1:1024,1:512]'                                                      
DATASEC = '[1:1024,1:512]'                                                      
DETSEC  = '[2249:3272,-1223:-712]'                                              
ATM1_1  =                  1.0                                                  
ATM2_2  =                  1.0                                                  
ATV1    =                  0.0                                                  
ATV2    =                  0.0                                                  
LTM1_1  =                  1.0                                                  
LTM2_2  =                  1.0                                                  
LTV1    =                  0.0                                                  
LTV2    =                  0.0                                                  
DTM1_1  =                  1.0                                                  
DTM2_2  =                  1.0                                                  
DTV1    =               2248.0                                                  
DTV2    =              -1224.0                                                  
WCSNAMEP= 'PHYSICAL'                                                            
CTYPE1  = 'PIXEL   '                                                            
CTYPE2  = 'PIXEL   '                                                            
CRPIX1  =                  1.0                                                  
CRPIX2  =                  1.0                                                  
CRVAL1  =               2249.0                                                  
CRVAL2  =              -1223.0                                                  
CD1_1   =                  1.0                                                  
CD2_2   =                  1.0                                                  
EXTNAME = 'C:5, W:F1'          / name of this image extension                   

# HDU 19 in flat.hcm:
XTENSION= 'IMAGE   '           / Image extension                                
BITPIX  =                  -32 / array data type                                
NAXIS   =                    2 / number of array dimensions                     
NAXIS1  =                 1024                                                  
NAXIS2  =                  512                                                  
PCOUNT  =                    0 / number of parameters                           
GCOUNT  =                    1 / number of groups                               
CCD     = '5       '           / CCD label                                      
WINDOW  = 'G1      '           / Window label                                   
LLX     =                    1 / X-ordinate of lower-left pixel                 
LLY     =                  513 / Y-ordinate of lower-left pixel                 
XBIN    =                    1 / X-binning factor                               
YBIN    =                    1 / Y-binning factor                               
CCDSUM  = '1 1     '                                                            
CCDSEC  = '[1:1024,1:512]'                                                      
AMPSEC  = '[1:1024,1:512]'                                                      
DATASEC = '[1:1024,513:1024]'                                                   
DETSEC  = '[2249:3272,-711:-200]'                                               
ATM1_1  =                  1.0                                                  
ATM2_2  =                  1.0                                                  
ATV1    =                  0.0                                                  
ATV2    =                  0.0                                                  
LTM1_1  =                  1.0                                                  
LTM2_2  =                  1.0                                                  
LTV1    =                  0.0                                                  
LTV2    =               -512.0                                                  
DTM1_1  =                  1.0                                                  
DTM2_2  =                  1.0                                                  
DTV1    =               2248.0                                                  
DTV2    =              -1224.0                                                  
WCSNAMEP= 'PHYSICAL'                                                            
CTYPE1  = 'PIXEL   '                                                            
CTYPE2  = 'PIXEL   '                                                            
CRPIX1  =                  1.0                                                  
CRPIX2  =                  1.0                                                  
CRVAL1  =               2249.0                                                  
CRVAL2  =               -711.0                                                  
CD1_1   =                  1.0                                                  
CD2_2   =                  1.0                                                  
EXTNAME = 'C:5, W:G1'          / name of this image extension                   

# HDU 20 in flat.hcm:
XTENSION= 'IMAGE   '           / Image extension                                
BITPIX  =                  -32 / array data type                                
NAXIS   =                    2 / number of array dimensions                     
NAXIS1  =                 1024                                                  
NAXIS2  =                  512                                                  
PCOUNT  =                    0 / number of parameters                           
GCOUNT  =                    1 / number of groups                               
CCD     = '5       '           / CCD label                                      
WINDOW  = 'H1      '           / Window label                                   
LLX     =                 1025 / X-ordinate of lower-left pixel                 
LLY     =                  513 / Y-ordinate of lower-left pixel                 
XBIN    =                    1 / X-binning factor                               
YBIN    =                    1 / Y-binning factor                               
CCDSUM  = '1 1     '                                                            
CCDSEC  = '[1:1024,1:512]'                                                      
AMPSEC  = '[1:1024,1:512]'                                                      
DATASEC = '[1025:2048,513:1024]'                                                
DETSEC  = '[3273:4296,-711:-200]'                                               
ATM1_1  =                  1.0                                                  
ATM2_2  =                  1.0                                                  
ATV1    =                  0.0                                                  
ATV2    =                  0.0                                                  
LTM1_1  =                  1.0                                                  
LTM2_2  =                  1.0                                                  
LTV1    =              -1024.0                                                  
LTV2    =               -512.0                                                  
DTM1_1  =                  1.0                                                  
DTM2_2  =                  1.0                                                  
DTV1    =               2248.0                                                  
DTV2    =              -1224.0                                                  
WCSNAMEP= 'PHYSICAL'                                                            
CTYPE1  = 'PIXEL   '                                                            
CTYPE2  = 'PIXEL   '                                                            
CRPIX1  =                  1.0                                                  
CRPIX2  =                  1.0                                                  
CRVAL1  =               3273.0                                                  
CRVAL2  =               -711.0                                                  
CD1_1   =                  1.0                                                  
CD2_2   =                  1.0                                                  
EXTNAME = 'C:5, W:H1'          / name of this image extension