Exemplo n.º 1
0
 def __init__(self):
     # Get it started
     super(KECKHIRESRSpectrograph, self).__init__()
     self.spectrograph = 'keck_hires_red'
     self.camera = 'HIRES_R'
     self.detector = [
         # Detector 1 B
         pypeitpar.DetectorPar(dataext         = 1,
                     specaxis        = 0,  # Device is fussed with by the image reader
                     xgap            = 0.,
                     ygap            = 0.,
                     ysize           = 1.,
                     platescale      = 0.191,
                     darkcurr        = 0.0,
                     saturation      = 65535.,
                     nonlinear       = 0.86,
                     numamplifiers   = 1,
                     gain            = 0.78, # high gain, low gain 1.9
                     ronoise         = 2.8,
                     suffix          = '_01'
                     ),
         # Detector 2
         pypeitpar.DetectorPar(dataext         = 2,
                     specaxis        = 0,
                     xgap            = 0.,
                     ygap            = 0.,
                     ysize           = 1.,
                     platescale      = 0.191,
                     darkcurr        = 0.0,
                     saturation      = 65535.,
                     nonlinear       = 0.86,
                     numamplifiers   = 1,
                     gain            = 0.86, # high gain, low gain 2.2
                     ronoise         = 3.1,
                     suffix          = '_02'
                     ),
         # Detector 3
         pypeitpar.DetectorPar(dataext         = 3,
                     specaxis        = 0,
                     xgap            = 0.,
                     ygap            = 0.,
                     ysize           = 1.,
                     platescale      = 0.191,
                     darkcurr        = 0.0,
                     saturation      = 65535.,
                     nonlinear       = 0.86,
                     numamplifiers   = 1,
                     gain            = 0.84, # high gain, low gain 2.2
                     ronoise         = 3.1,
                     suffix          = '_03'
                     ),
     ]
     self.numhead = 4
Exemplo n.º 2
0
 def __init__(self):
     # Get it started
     super(KeckLRISBSpectrograph, self).__init__()
     self.spectrograph = 'keck_lris_blue'
     self.camera = 'LRISb'
     self.detector = [
             # Detector 1
             pypeitpar.DetectorPar(
                         dataext         = 1,
                         specaxis        = 0,
                         specflip        = False,
                         xgap            = 0.,
                         ygap            = 0.,
                         ysize           = 1.,
                         platescale      = 0.135,
                         darkcurr        = 0.0,
                         saturation      = 65535.,
                         nonlinear       = 0.86,
                         numamplifiers   = 2,
                         gain            = [1.55, 1.56],
                         ronoise         = [3.9, 4.2],
                         datasec         = ['',''],
                         oscansec        = ['',''],
                         suffix          = '_01blue'
                         ),
             #Detector 2
             pypeitpar.DetectorPar(
                         dataext         = 2,
                         specaxis        = 0,
                         specflip        = False,
                         xgap            = 0.,
                         ygap            = 0.,
                         ysize           = 1.,
                         platescale      = 0.135,
                         darkcurr        = 0.,
                         saturation      = 65535.,
                         nonlinear       = 0.86,
                         numamplifiers   = 2,
                         gain            = [1.63, 1.70],
                         ronoise         = [3.6, 3.6],
                         datasec         = ['',''],
                         oscansec        = ['',''],
                         suffix          = '_02blue'
                         )]
     self.numhead = 5
     # Uses default timeunit
     # Uses default primary_hdrext
     self.sky_file = 'sky_LRISb_600.fits'
Exemplo n.º 3
0
 def __init__(self):
     # Get it started
     super(LBTMODS1RSpectrograph, self).__init__()
     self.spectrograph = 'lbt_mods1r'
     self.camera = 'MODS1R'
     self.detector = [
             # Detector 1
             pypeitpar.DetectorPar(
                         dataext         = 0,
                         specaxis        = 0,
                         specflip        = False,
                         xgap            = 0.,
                         ygap            = 0.,
                         ysize           = 1.,
                         platescale      = 0.123,
                         darkcurr        = 0.4,
                         saturation      = 65535.,
                         nonlinear       = 0.99,
                         numamplifiers   = 4,
                         gain            = [2.38,2.50,2.46,2.81],
                         ronoise         = [3.78,4.04,4.74,4.14],
                         #datasec         = '[:, 49:8240]',
                         #oscansec        = '[:, 8240:]',
                         suffix          = '_mods1r'
                         )]
     self.numhead = 1
Exemplo n.º 4
0
 def __init__(self):
     # Get it started
     super(MagellanFIREEchelleSpectrograph, self).__init__()
     #TODO Rename this magallen_fire_echelle??
     self.spectrograph = 'magellan_fire'
     self.camera = 'FIRE'
     self.numhead = 1
     self.detector = [
         # Detector 1
         pypeitpar.DetectorPar(
             dataext=0,
             specaxis=1,
             specflip=True,
             xgap=0.,
             ygap=0.,
             ysize=1.,
             platescale=0.18,
             darkcurr=0.01,
             #saturation      = 20000., # high gain is 20000 ADU, low gain is 32000 ADU
             saturation=100000.,  # This is an arbitrary value.
             nonlinear=1.0,  # high gain mode, low gain is 0.875
             numamplifiers=1,
             gain=1.2,  # high gain mode, low gain is 3.8 e-/DN
             ronoise=
             5.0,  # for high gain mode and SUTR read modes with exptime ~ 900s
             datasec='[5:2044,5:2044]',
             oscansec='[5:2044,:5]'
             #datasec         = '[:,:]',
             #oscansec        = '[:,:]'
         )
     ]
Exemplo n.º 5
0
 def __init__(self):
     # Get it started
     super(MagellanFIRELONGSpectrograph, self).__init__()
     self.spectrograph = 'magellan_fire_long'
     self.camera = 'FIRE'
     self.numhead = 1
     self.detector = [
         # Detector 1
         pypeitpar.DetectorPar(
             dataext=0,
             specaxis=0,
             specflip=False,
             xgap=0.,
             ygap=0.,
             ysize=1.,
             platescale=0.15,
             darkcurr=0.01,
             saturation=
             320000.,  #32000 for low gain, I set to a higher value to keep data in K-band
             nonlinear=0.875,
             numamplifiers=1,
             gain=3.8,
             ronoise=6.0,  # SUTR readout mode with exposure~600s
             datasec='[5:2044, 900:1250]',
             oscansec='[:5, 900:1250]')
     ]
Exemplo n.º 6
0
 def __init__(self):
     # Get it started
     super(WHTISISRedSpectrograph, self).__init__()
     self.spectrograph = 'wht_isis_red'
     self.camera = 'ISISr'
     self.detector = [
             # Detector 1
             pypeitpar.DetectorPar(
                         dataext         = 1,
                         specaxis        = 0,
                         specflip        = False,
                         xgap            = 0.,
                         ygap            = 0.,
                         ysize           = 1.,
                         platescale      = 0.22,
                         darkcurr        = 0.0,
                         saturation      = 65535.,
                         nonlinear       = 0.76,
                         numamplifiers   = 1,
                         gain            = 0.98,
                         ronoise         = 4.0,
                         datasec         = '[:,:]',
                         oscansec        = None,
                         suffix          = '_red'
                         )]
     self.numhead = 2
Exemplo n.º 7
0
 def __init__(self):
     # Get it started
     super(ShaneKastRedRetSpectrograph, self).__init__()
     self.spectrograph = 'shane_kast_red_ret'
     # WARNING: This is not unique wrt ShaneKastRed...
     self.camera = 'KASTr'
     self.detector = [
         # Detector 1
         pypeitpar.DetectorPar(
             dataext=0,
             specaxis=1,
             specflip=False,
             xgap=0.,
             ygap=0.,
             ysize=1.,
             platescale=0.774,
             darkcurr=0.0,
             saturation=
             120000.,  # JFH adjusted to this level as the flat are otherwise saturated
             nonlinear=0.76,
             numamplifiers=1,
             gain=3.0,
             ronoise=12.5,
             datasec='[:,1:1200]',
             oscansec='[:,1203:1232]',
             suffix='_red')
     ]
     # TODO: Can we change suffix to be unique wrt ShaneKastRed?
     self.numhead = 1
Exemplo n.º 8
0
 def __init__(self):
     # Get it started
     super(LBTMODS2BSpectrograph, self).__init__()
     self.spectrograph = 'lbt_mods2b'
     self.camera = 'MODS2B'
     self.detector = [
         # Detector 1
         pypeitpar.DetectorPar(dataext=0,
                               specaxis=1,
                               specflip=True,
                               xgap=0.,
                               ygap=0.,
                               ysize=1.,
                               platescale=0.120,
                               darkcurr=0.5,
                               saturation=65535.,
                               nonlinear=0.99,
                               numamplifiers=1,
                               gain=2.0,
                               ronoise=3.7,
                               datasec='[1:8288,1:3088]',
                               oscansec='[8250:,:]',
                               suffix='_mods2b')
     ]
     self.numhead = 1
Exemplo n.º 9
0
    def __init__(self):

        # Get it started
        super(ShaneKastRedSpectrograph, self).__init__()
        self.spectrograph = 'shane_kast_red'
        self.camera = 'KASTr'
        self.detector = [
                # Detector 1
                pypeitpar.DetectorPar(
                            dataext         = 0,
                            specaxis        = 0,
                            specflip        = False,
                            xgap            = 0.,
                            ygap            = 0.,
                            ysize           = 1.,
                            platescale      = 0.43,
                            darkcurr        = 0.0,
                            saturation      = 65535.,
                            nonlinear       = 0.76,
                            numamplifiers   = 2,
                            gain            = [1.9, 1.9],
                            ronoise         = [3.8, 3.8],
                            datasec         = ['[40:102,:]', '[103:347,:]'],
                            oscansec        = ['[425:522,:]', '[524:610,:]'],
                            suffix          = '_red'
                            )]
        self.numhead = 1
Exemplo n.º 10
0
 def __init__(self):
     # Get it started
     super(MagellanFIRESpectrograph, self).__init__()
     self.spectrograph = 'magellan_fire'
     self.telescope = telescopes.MagellanTelescopePar()
     self.camera = 'FIRE'
     self.numhead = 1
     self.detector = [
             # Detector 1
             pypeitpar.DetectorPar(
                         dataext         = 0,
                         specaxis        = 1,
                         specflip        = True,
                         xgap            = 0.,
                         ygap            = 0.,
                         ysize           = 1.,
                         platescale      = 0.15,
                         darkcurr        = 0.01,
                         saturation      = 20000., # high gain mode, low gain is 32000
                         nonlinear       = 1.0, # high gain mode, low gain is 0.875
                         numamplifiers   = 1,
                         gain            = 1.2, # high gain mode, low gain is 3.8 e-/DN
                         ronoise         = 5.0, # for high gain mode and SUTR read modes with exptime ~ 900s
                         datasec         = '[1:2048,1:2048]',
                         oscansec        = '[:,:4]'
                         )]
Exemplo n.º 11
0
    def __init__(self):

        # TODO: NEED TO CHECK ORIENTATION OF DATASEC AND OSCANSEC ARE
        # CORRECT!!!!

        # Get it started
        super(ShaneKastRedSpectrograph, self).__init__()
        self.spectrograph = 'shane_kast_red'
        self.camera = 'KASTr'
        self.detector = [
            # Detector 1
            pypeitpar.DetectorPar(dataext=0,
                                  specaxis=0,
                                  specflip=False,
                                  xgap=0.,
                                  ygap=0.,
                                  ysize=1.,
                                  platescale=0.43,
                                  darkcurr=0.0,
                                  saturation=65535.,
                                  nonlinear=0.76,
                                  numamplifiers=2,
                                  gain=[1.9, 1.9],
                                  ronoise=[3.8, 3.8],
                                  datasec=['[:,2:511]', '[:,513:525]'],
                                  oscansec=['[:,527:625]', '[:,627:725]'],
                                  suffix='_red')
        ]
        self.numhead = 1
Exemplo n.º 12
0
 def __init__(self):
     # Get it started
     super(KeckNIRESSpectrograph, self).__init__()
     self.spectrograph = 'keck_nires'
     self.telescope = telescopes.KeckTelescopePar()
     self.camera = 'NIRES'
     self.numhead = 3
     self.detector = [
         # Detector 1
         pypeitpar.DetectorPar(
             specaxis=1,
             specflip=True,
             xgap=0.,
             ygap=0.,
             ysize=1.,
             platescale=0.15,
             darkcurr=0.01,
             saturation=
             1e6,  # I'm not sure we actually saturate with the DITs???
             nonlinear=0.76,
             numamplifiers=1,
             gain=3.8,
             ronoise=5.0,
             datasec='[:,:]',
             oscansec='[980:1024,:]'  # Is this a hack??
         )
     ]
Exemplo n.º 13
0
 def __init__(self):
     # Get it started
     super(GeminiGNIRSSpectrograph, self).__init__()
     self.spectrograph = 'gemini_gnirs'
     self.telescope = telescopes.GeminiNTelescopePar()
     self.camera = 'GNIRS'
     self.numhead = 2
     self.detector = [
         # Detector 1
         pypeitpar.DetectorPar(
             dataext=1,
             specaxis=0,
             specflip=True,
             spatflip=True,
             xgap=0.,
             ygap=0.,
             ysize=1.,
             platescale=0.15,
             darkcurr=0.15,
             saturation=150000.,
             nonlinear=0.71,
             numamplifiers=1,
             gain=13.5,
             ronoise=7.0,
             datasec='[:,:]',  #'[1:1024,1:1022]',
             oscansec='[:,:]',  #'[1:1024,1:1022]'
         )
     ]
Exemplo n.º 14
0
 def __init__(self):
     # Get it started
     super(VLTXShooterVISSpectrograph, self).__init__()
     self.spectrograph = 'vlt_xshooter_vis'
     self.camera = 'XShooter_VIS'
     self.detector = [
         # Detector 1
         pypeitpar.DetectorPar(
             dataext=0,
             specaxis=0,
             specflip=False,
             xgap=0.,
             ygap=0.,
             ysize=1.,
             platescale=
             0.16,  # average from order 17 and order 30, see manual
             darkcurr=0.0,
             saturation=65535.,
             nonlinear=0.86,
             numamplifiers=1,
             gain=
             0.595,  # FITS format is flipped: PrimaryHDU  (2106, 4000) w/respect to Python
             ronoise=3.1,  # raw unbinned images are (4000,2106) (spec, spat)
             datasec=
             '[:,11:2058]',  # pre and oscan are in the spatial direction
             oscansec='[:,2059:2106]',
             suffix='_VIS')
     ]
     self.numhead = 1
Exemplo n.º 15
0
 def __init__(self):
     # Get it started
     super(VLTXShooterUVBSpectrograph, self).__init__()
     self.spectrograph = 'vlt_xshooter_uvb'
     self.camera = 'XShooter_UVB'
     self.detector = [
         # Detector 1
         pypeitpar.DetectorPar(
             dataext=0,
             specaxis=0,
             specflip=True,
             spatflip=True,
             xgap=0.,
             ygap=0.,
             ysize=1.,
             # average from order 14 and order 24, see manual
             platescale=0.161,
             darkcurr=0.0,
             saturation=65000.,
             nonlinear=0.86,
             numamplifiers=1,
             gain=1.61,
             ronoise=2.60,
             datasec='[:,49:2096]',  # '[49:2000,1:2999]',
             oscansec='[:,1:48]',  # '[1:48, 1:2999]',
             suffix='_UVB')
     ]
     self.numhead = 1
Exemplo n.º 16
0
 def __init__(self):
     # Get it started
     super(LBTLUCI2Spectrograph, self).__init__()
     self.spectrograph = 'lbt_luci2'
     self.camera = 'LUCI2'
     self.detector = [
         # Detector 1
         pypeitpar.DetectorPar(
             dataext=0,
             specaxis=1,
             specflip=False,
             xgap=0.,
             ygap=0.,
             ysize=1.,
             platescale=0.25,
             darkcurr=0.0,
             # Saturation is 55000, but will be set to dummy value for
             # now
             saturation=1e+8,
             nonlinear=0.80,
             numamplifiers=1,
             gain=2.0,
             # ronoise         = 10.0,
             ronoise=4.47,
             datasec='[5:2044,5:2044]',
             oscansec='[5:2044,1:4]',
             suffix='_luci2')
     ]
     self.numhead = 1
Exemplo n.º 17
0
 def __init__(self):
     # Get it started
     super(VLTXShooterNIRSpectrograph, self).__init__()
     self.spectrograph = 'vlt_xshooter_nir'
     self.camera = 'XShooter_NIR'
     self.detector = [
         # Detector 1
         pypeitpar.DetectorPar(
             dataext=0,
             specaxis=1,
             specflip=False,
             xgap=0.,
             ygap=0.,
             ysize=1.,
             platescale=0.197,  # average between order 11 & 30, see manual
             darkcurr=0.0,
             saturation=
             2.0e5,  # I think saturation may never be a problem here since there are many DITs
             nonlinear=0.86,
             numamplifiers=1,
             gain=2.12,  #
             ronoise=
             8.0,  # ?? more precise value? #TODO the read noise is exposure time  dependent and should be grabbed from header
             datasec='[4:2044,4:]',  # These are all unbinned pixels
             # EMA: No real overscan for XSHOOTER-NIR:
             # See Table 6 in http://www.eso.org/sci/facilities/paranal/instruments/xshooter/doc/VLT-MAN-ESO-14650-4942_P103v1.pdf
             # The overscan region below contains only zeros
             # ToDo should we just set it as empty?
             oscansec='[4:2044,1:3]',  # These are all unbinned pixels.
             suffix='_NIR')
     ]
     self.numhead = 1
Exemplo n.º 18
0
 def __init__(self):
     # Get it started
     super(KeckNIRSPECSpectrograph, self).__init__()
     self.telescope = telescopes.KeckTelescopePar()
     self.camera = 'NIRSPEC'
     self.detector = [
             # Detector 1
         pypeitpar.DetectorPar(
                         dataext         = 0,
                         specaxis        = 0,
                         specflip        = False,
                         xgap            = 0.,
                         ygap            = 0.,
                         ysize           = 1.,
                         platescale      = 0.193,
                         darkcurr        = 0.8,
                         saturation      = 100000.,
                         nonlinear       = 1.00,  # docs say linear to 90,000 but our flats are usually higher
                         numamplifiers   = 1,
                         gain            = 5.8,
                         ronoise         = 23,
                         datasec         = '[:,:]',
                         oscansec        = '[:,:]'
                         )]
     self.numhead = 1
Exemplo n.º 19
0
 def __init__(self):
     # Get it started
     super(KeckMOSFIRESpectrograph, self).__init__()
     self.telescope = telescopes.KeckTelescopePar()
     self.spectrograph = 'keck_mosfire'
     self.camera = 'MOSFIRE'
     self.detector = [
         # Detector 1
         pypeitpar.DetectorPar(
             dataext=0,
             specaxis=1,
             specflip=False,
             xgap=0.,
             ygap=0.,
             ysize=1.,
             platescale=0.193,
             darkcurr=0.8,
             saturation=1e9,  # ADU, this is hacked for now
             nonlinear=
             1.00,  # docs say linear to 90,000 but our flats are usually higher
             numamplifiers=1,
             gain=2.15,  # Taken from MOSFIRE detector webpage
             ronoise=
             5.8,  # This is for 16 non-destructuve reads, the default readout mode
             datasec='[:,:]',
             oscansec='[:,:]')
     ]
     self.numhead = 1
Exemplo n.º 20
0
 def __init__(self):
     super(TNGDoloresSpectrograph, self).__init__()
     self.spectrograph = 'tng_dolores'
     self.telescope = telescopes.TNGTelescopePar()
     self.camera = 'DOLORES'
     self.detector = [
             # Detector 1
             pypeitpar.DetectorPar(
                         dataext         = 0,
                         specaxis        = 1,
                         specflip        = False,
                         xgap            = 0.,
                         ygap            = 0.,
                         ysize           = 1.,
                         platescale      = 0.252,
                         darkcurr        = 0.0,
                         saturation      = 65535.,
                         nonlinear       = 0.76,
                         numamplifiers   = 1,
                         gain            = 0.97,
                         ronoise         = 9.0,
                         datasec         = '[51:,1:2045]',
                         oscansec        = '[51:,2054:]',
                         suffix          = '_lrr'
                         )]
     self.numhead = 1
     # Uses default primary_hdrext
     self.timeunit = 'isot'
Exemplo n.º 21
0
 def __init__(self):
     # Get it started
     super(GeminiFLAMINGOS2Spectrograph, self).__init__()
     self.spectrograph = 'gemini_flamingos2'
     self.camera = 'FLAMINGOS'
     self.numhead = 2
     self.detector = [
             # Detector 1
             pypeitpar.DetectorPar(
                         dataext         = 1,
                         specaxis        = 0,
                         specflip        = True,
                         xgap            = 0.,
                         ygap            = 0.,
                         ysize           = 1.,
                         platescale      = 0.1787,
                         darkcurr        = 0.5,
                         saturation      = 700000., #155400.,
                         nonlinear       = 1.0,
                         numamplifiers   = 1,
                         gain            = 4.44,
                         ronoise         = 5.0, #8 CDS read
                         datasec         = '[:,:]',
                         oscansec        = '[:,:]'
                         )]
Exemplo n.º 22
0
 def __init__(self):
     # Get it started
     super(ShaneKastBlueSpectrograph, self).__init__()
     self.spectrograph = 'shane_kast_blue'
     self.camera = 'KASTb'
     self.detector = [
         # Detector 1
         pypeitpar.DetectorPar(
             dataext=0,
             specaxis=1,
             specflip=False,
             xgap=0.,
             ygap=0.,
             ysize=1.,
             platescale=0.43,
             darkcurr=0.0,
             saturation=65535.,
             nonlinear=0.76,
             numamplifiers=2,
             gain=[1.2, 1.2],
             ronoise=[3.7, 3.7],
             datasec=[
                 '[:, 1:1024]', '[:, 1025:2048]'
             ],  # These are rows, columns on the raw frame, 1-indexed
             oscansec=['[:, 2050:2080]', '[:, 2081:2111]'],
             suffix='_blue')
     ]
     self.numhead = 1
     # Uses timeunit from parent class
     # Uses default primary_hdrext
     self.sky_file = 'sky_kastb_600.fits'
Exemplo n.º 23
0
 def __init__(self):
     # Get it started
     super(MagellanMAGESpectrograph, self).__init__()
     self.spectrograph = 'magellan_mage'
     self.camera = 'magellan_mage'
     self.telescope = telescopes.MagellanTelescopePar()
     self.numhead = 1
     self.detector = [
         # Detector 1
         pypeitpar.DetectorPar(
             dataext=0,
             specaxis=1,
             specflip=True,
             xgap=0.,
             ygap=0.,
             ysize=1.,
             # plate scale in arcsec/pixel
             platescale=0.3,
             # electrons/pixel/hour. From: http://www.lco.cl/telescopes-information/magellan/instruments/mage/the-mage-spectrograph-user-manual
             darkcurr=1.00,
             saturation=65535.,
             # CCD is linear to better than 0.5 per cent up to digital saturation (65,536 DN including bias) in the Fast readout mode.
             nonlinear=0.99,
             numamplifiers=1,
             gain=1.02,  # depends on the readout
             ronoise=2.9,  # depends on the readout
             datasec='[1:1024, 1:2048]',
             oscansec='[1:1024, 2049:2176]',
         )
     ]
     # Taken from the MASE paper: https://arxiv.org/pdf/0910.1834.pdf
     self.norders = 15  # 20-6
Exemplo n.º 24
0
 def __init__(self):
     # Get it started
     super(WHTISISBlueSpectrograph, self).__init__()
     self.spectrograph = 'wht_isis_blue'
     self.telescope = telescopes.WHTTelescopePar()
     self.camera = 'ISISb'
     self.detector = [
             # Detector 1
             pypeitpar.DetectorPar(
                         dataext         = 1,
                         specaxis        = 0,
                         specflip        = False,
                         xgap            = 0.,
                         ygap            = 0.,
                         ysize           = 1.,
                         platescale      = 0.225,
                         darkcurr        = 0.0,
                         saturation      = 65535.,
                         nonlinear       = 0.76,
                         numamplifiers   = 1,
                         gain            = 1.2,
                         ronoise         = 5.0,
                         datasec         = '[:,2:4030]',
                         oscansec        = None,
                         suffix          = '_blue'
                         )]
     self.numhead = 2
Exemplo n.º 25
0
 def set_detector(self, chip):
     detectors = [
         # Detector 1 (Thor)  -- http://www.eso.org/sci/php/optdet/instruments/fors2/index.html
         pypeitpar.DetectorPar(
             dataext=0,
             specaxis=1,
             specflip=False,
             xgap=0.,
             ygap=0.,
             ysize=1.,
             platescale=0.126,  # average between order 11 & 30, see manual
             darkcurr=0.0,
             saturation=
             2.0e5,  # I think saturation may never be a problem here since there are many DITs
             nonlinear=0.80,
             numamplifiers=1,
             gain=0.70,
             ronoise=2.9,  # High gain
             datasec='[:,10:]',  # For 1x binning, I think
             oscansec='[:,0:10]',
             suffix='_Thor'),
         # Detector 2 (Belenos)
         pypeitpar.DetectorPar(
             dataext=0,
             specaxis=1,
             specflip=False,
             xgap=0.,
             ygap=0.,
             ysize=1.,
             platescale=0.126,  # average between order 11 & 30, see manual
             darkcurr=0.0,
             saturation=
             2.0e5,  # I think saturation may never be a problem here since there are many DITs
             nonlinear=0.80,
             numamplifiers=1,
             gain=0.70,
             ronoise=3.0,  # High gain
             datasec='[20:,0:2048]',
             oscansec='[4:20,4:2044]',
             suffix='_Belenos')
     ]
     if chip == 'CHIP1':
         self.detector = [detectors[0]]
     elif chip == 'CHIP2':
         debugger.set_trace()  # NEED TO SET DATASEC
         self.detector = [detectors[1]]
Exemplo n.º 26
0
 def __init__(self):
     # Get it started
     super(KeckLRISRSpectrograph, self).__init__()
     self.spectrograph = 'keck_lris_red_longonly'
     self.camera = 'LRISr'
     self.detector = [
             # Detector 1
             pypeitpar.DetectorPar(
                         dataext         =1,
                         specaxis        =0,
                         specflip        = False,
                         xgap            =0.,
                         ygap            =0.,
                         ysize           =1.,
                         platescale      =0.135,
                         darkcurr        =0.0,
                         saturation      =65535.,  # Gain applied
                         nonlinear       =0.86,          # Modified by JXP to go higher
                         numamplifiers   =1,
                         gain            =[1.255],
                         ronoise         =[4.64],
                         datasec         = ['',''],
                         oscansec        = ['',''],
                         suffix          ='_01red'
                         ),
             #Detector 2
             pypeitpar.DetectorPar(
                         dataext         =2,
                         specaxis        =0,
                         specflip        = False,
                         xgap            =0.,
                         ygap            =0.,
                         ysize           =1.,
                         platescale      =0.135,
                         darkcurr        =0.,
                         saturation      =65535.,  # Gain applied
                         nonlinear       =0.86,
                         numamplifiers   =1,
                         gain            =[1.162],
                         ronoise         =[4.62],
                         datasec         = ['',''],
                         oscansec        = ['',''],
                         suffix          ='_02red'
                         )]
     self.numhead = 3
Exemplo n.º 27
0
 def __init__(self):
     # Get it started
     super(KeckLRISRSpectrograph, self).__init__()
     self.spectrograph = 'keck_lris_red'
     self.camera = 'LRISr'
     self.detector = [
             # Detector 1
             pypeitpar.DetectorPar(
                         dataext         =1,
                         specaxis        =0,
                         specflip        = False,
                         xgap            =0.,
                         ygap            =0.,
                         ysize           =1.,
                         platescale      =0.135,
                         darkcurr        =0.0,
                         saturation      =65535.,
                         nonlinear       =0.76,
                         numamplifiers   =2,
                         gain            =[1.255, 1.18],
                         ronoise         =[4.64, 4.76],
                         datasec         = ['',''],      # These are provided by read_lris
                         oscansec        = ['',''],
                         suffix          ='_01red'
                         ),
             #Detector 2
             pypeitpar.DetectorPar(
                         dataext         =2,
                         specaxis        =0,
                         specflip        = False,
                         xgap            =0.,
                         ygap            =0.,
                         ysize           =1.,
                         platescale      =0.135,
                         darkcurr        =0.,
                         saturation      =65535., 
                         nonlinear       =0.76,
                         numamplifiers   =2,
                         gain            =[1.191, 1.162],
                         ronoise         =[4.54, 4.62],
                         datasec         = ['',''],      # These are provided by read_lris
                         oscansec        = ['',''],
                         suffix          ='_02red'
                         )]
     self.numhead = 5
Exemplo n.º 28
0
 def __init__(self):
     # Get it started
     super(MMTBINOSPECSpectrograph, self).__init__()
     self.spectrograph = 'mmt_binospec'
     self.telescope = telescopes.MMTTelescopePar()
     self.camera = 'BINOSPEC'
     self.numhead = 11
     self.detector = [
         # Detector 1
         pypeitpar.DetectorPar(
             dataext=1,
             specaxis=0,
             specflip=False,
             xgap=0.,
             ygap=0.,
             ysize=1.,
             platescale=0.24,
             darkcurr=3.0,  ##ToDO: To Be update
             saturation=65535.,
             nonlinear=0.95,  #ToDO: To Be update
             numamplifiers=4,
             gain=[1.085, 1.046, 1.042, 0.975],
             ronoise=[3.2] * 4,
             suffix='_01'),
         # Detector 2
         pypeitpar.DetectorPar(
             dataext=2,
             specaxis=0,
             specflip=False,
             xgap=0.,
             ygap=0.,
             ysize=1.,
             platescale=0.24,
             darkcurr=3.0,  ##ToDO: To Be update
             saturation=65535.,
             nonlinear=0.95,  #ToDO: To Be update
             numamplifiers=4,
             gain=[1.028, 1.163, 1.047, 1.045],
             ronoise=[3.2] * 4,
             suffix='_02')
     ]
Exemplo n.º 29
0
 def __init__(self):
     # Get it started
     super(LBTLUCI1Spectrograph, self).__init__()
     self.spectrograph = 'lbt_luci1'
     self.camera = 'LUCI1'
     self.detector = [
         # Detector 1
         pypeitpar.DetectorPar(
             dataext=0,
             specaxis=1,
             specflip=False,
             xgap=0.,
             ygap=0.,
             ysize=1.,
             platescale=0.25,
             # Dark current nominally is < 360 electrons per hours
             # but the dark subtraction will effectively bring this to 0
             darkcurr=0.0,
             # Saturation is 55000, but will be set to dummy value for
             # now
             saturation=1e+8,
             # NIR detectors are non-linear even in lower percentages
             # of the full well, thus for precision measurements one
             # should take into account a general non-linearity
             # correction.
             nonlinear=0.80,
             # In fact there are 32 amplifiers, which gain and ronoise
             # are extremely similar to each other, thus it will be
             # mimicked as 1
             numamplifiers=1,
             # The readout noise for LUCI are different for
             # different readout modes. The LIR mode values will be
             # commented in and the MER values will be uncommented:
             gain=2.0,
             # ronoise= 10.3,
             ronoise=4.61,
             datasec='[5:2044,5:2044]',
             # For Luci the first 4 pixels on each side can
             # technically be used for as a biassec. This is not
             # included here.
             oscansec='[5:2044,1:4]',
             suffix='_luci1')
     ]
     self.numhead = 1
Exemplo n.º 30
0
 def __init__(self):
     # Get it started
     super(LBTMODS2BSpectrograph, self).__init__()
     self.spectrograph = 'lbt_mods2b'
     self.camera = 'MODS2B'
     self.detector = [
             # Detector 1
             pypeitpar.DetectorPar(
                         dataext         = 0,
                         specaxis        = 0,
                         specflip        = False,
                         xgap            = 0.,
                         ygap            = 0.,
                         ysize           = 1.,
                         platescale      = 0.120,
                         darkcurr        = 0.5,
                         saturation      = 65535.,
                         nonlinear       = 0.99,
                         numamplifiers   = 4,
                         gain            = [1.99,2.06,1.96,2.01],
                         ronoise         = [3.66,3.62,3.72,3.64],
                         suffix          = '_mods2b'
                         )]
     self.numhead = 1