def first156274(runOffCorrection=True): fi = os.listdir(data_directory+'/2012-05-17') fi = filter(lambda x: 'RED.fits' in x , fi) fi = ['2012-05-17/'+''.join(f.split('_RED')) for f in fi] fg = {'SEP':10.1, 'PA':260.0, 'M0':0.0, } doNotFit=[] a = astromNew.fitListOfFiles(fi, data_directory, firstGuess=fg, verbose=2, doNotFit=doNotFit, maxResiduals=3) return a
def fitHD10360(ATPUP_scale=1.0): """ simple fit. ATPUP_scale=0.0 sets the pupil correction to 0 """ fgNACO['ATPUP scale'] = ATPUP_scale a = astromNew.fitListOfFiles(files_hd10360_NACO, directory=data_directory, firstGuess=fgNACO, plot=True, doNotFit=['AT3', 'AT4', 'ATPUP scale']) a['Delta DEC'] = a['BEST']['SEP']*np.cos(a['BEST']['PA']*np.pi/180) a['Delta RA cos(DEC)'] = a['BEST']['SEP']*np.sin(a['BEST']['PA']*np.pi/180) a['Delta RA'] = a['Delta RA cos(DEC)']/np.cos(a['DEC']['HD10360']*np.pi/180) return a
def test_rotation(): """ rotation modulation """ files = ['2012-03-18/PACMAN_OBJ_ASTRO_079_0001.fits', '2012-03-18/PACMAN_OBJ_ASTRO_079_0004.fits', '2012-03-18/PACMAN_OBJ_ASTRO_079_0005.fits', '2012-03-18/PACMAN_OBJ_ASTRO_079_0006.fits', '2012-03-18/PACMAN_OBJ_ASTRO_079_0007.fits', '2012-03-18/PACMAN_OBJ_ASTRO_079_0008.fits', '2012-03-18/PACMAN_OBJ_ASTRO_079_0009.fits', '2012-03-18/PACMAN_OBJ_ASTRO_079_0010.fits', '2012-03-18/PACMAN_OBJ_ASTRO_079_0011.fits', '2012-03-18/PACMAN_OBJ_ASTRO_079_0012.fits', '2012-03-18/PACMAN_OBJ_ASTRO_079_0013.fits', '2012-03-18/PACMAN_OBJ_ASTRO_079_0014.fits', '2012-03-18/PACMAN_OBJ_ASTRO_079_0015.fits', '2012-03-18/PACMAN_OBJ_ASTRO_079_0016.fits', '2012-03-18/PACMAN_OBJ_ASTRO_079_0020.fits', '2012-03-18/PACMAN_OBJ_ASTRO_079_0021.fits', '2012-03-18/PACMAN_OBJ_ASTRO_079_0022.fits', '2012-03-18/PACMAN_OBJ_ASTRO_079_0024.fits', '2012-03-18/PACMAN_OBJ_ASTRO_079_0026.fits', '2012-03-18/PACMAN_OBJ_ASTRO_079_0027.fits', '2012-03-18/PACMAN_OBJ_ASTRO_079_0028.fits', '2012-03-18/PACMAN_OBJ_ASTRO_079_0029.fits', ] # parameters for the fit: fg = {'T:HD100286J SEP':10.0, 'T:HD100286J PA':210.0, 'T:HD100286J M0 MJD 56005.00 56005.14':0.0, 'T:HD100286J M0 MJD 56005.14 56005.99':0.0, 'T:HD129926 SEP':8.0, 'T:HD129926 PA':124.0, 'T:HD129926 M0 MJD 56005.00 56005.32':0.0, 'T:HD129926 M0 MJD 56005.32 56005.99':0.0, } doNotFit=[] a = astromNew.fitListOfFiles(files,reduceData=False, directory=data_directory, firstGuess=fg, plot=True, verbose=2, doNotFit=doNotFit, allX=False, #maxResiduals=10, #exportAscii='March12_Phase2.txt' ) return
def test_rotation2(): """ rotation modulation, second night """ files = ['2012-03-19/PACMAN_OBJ_ASTRO_080_0009.fits', '2012-03-19/PACMAN_OBJ_ASTRO_080_0012.fits', '2012-03-19/PACMAN_OBJ_ASTRO_080_0013.fits', '2012-03-19/PACMAN_OBJ_ASTRO_080_0014.fits', '2012-03-19/PACMAN_OBJ_ASTRO_080_0015.fits', '2012-03-19/PACMAN_OBJ_ASTRO_080_0016.fits', '2012-03-19/PACMAN_OBJ_ASTRO_080_0017.fits', '2012-03-19/PACMAN_OBJ_ASTRO_080_0018.fits', '2012-03-19/PACMAN_OBJ_ASTRO_080_0019.fits', '2012-03-19/PACMAN_OBJ_ASTRO_080_0020.fits', '2012-03-19/PACMAN_OBJ_ASTRO_080_0021.fits', '2012-03-19/PACMAN_OBJ_ASTRO_080_0022.fits', '2012-03-19/PACMAN_OBJ_ASTRO_080_0023.fits', '2012-03-19/PACMAN_OBJ_ASTRO_080_0024.fits', '2012-03-19/PACMAN_OBJ_ASTRO_080_0025.fits', '2012-03-19/PACMAN_OBJ_ASTRO_080_0026.fits', '2012-03-19/PACMAN_OBJ_ASTRO_080_0027.fits', '2012-03-19/PACMAN_OBJ_ASTRO_080_0028.fits', '2012-03-19/PACMAN_OBJ_ASTRO_080_0029.fits', '2012-03-19/PACMAN_OBJ_ASTRO_080_0030.fits', ] # parameters for the fit: fg = {'T:HD100286J SEP':10.0, 'T:HD100286J PA':210.0, 'T:HD100286J M0 MJD 56006.00 56006.99':0.0, } doNotFit=[] a = astromNew.fitListOfFiles(files,reduceData=False, directory=data_directory, firstGuess=fg, plot=True, verbose=2, doNotFit=doNotFit, allX=False, #maxResiduals=10, #exportAscii='March12_Phase2.txt' ) return
def analyseCorrection(files=files_hd65297_019): # traditional fit: titles = ['no corr.', 'blind corr.', 'adj. scale', 'adj. angle', 'adj. all'] firstGuess=[{'SEP':35, 'PA':135, 'M0':-0.03, 'PUPSCALE':0, 'PUPANGLE':0}, {'SEP':35, 'PA':135, 'M0':-0.03, 'PUPSCALE':1, 'PUPANGLE':0}, {'SEP':35, 'PA':135, 'M0':-0.03, 'PUPSCALE':1, 'PUPANGLE':0}, {'SEP':35, 'PA':135, 'M0':-0.03, 'PUPSCALE':1, 'PUPANGLE':0}, {'SEP':35, 'PA':135, 'M0':-0.03, 'PUPSCALE':1, 'PUPANGLE':0}] doNotFit = [['PUPSCALE', 'PUPANGLE'], ['PUPSCALE', 'PUPANGLE'], ['PUPANGLE'], ['PUPSCALE'], []] tmp = [] for k in range(len(titles)): tmp.append( astromNew.fitListOfFiles(files, directory=data_directory, firstGuess=firstGuess[k], doNotFit=doNotFit[k], plot=False, verbose=0)) k_ = ['SEP', 'PA', 'M0', 'PUPSCALE', 'PUPANGLE'] print '| |', for i in range(len(k_)): print k_[i], '|', print 'CHI2|RMS|' print '|-' for i in range(len(titles)): print '|', titles[i], '|', for k in k_: print round(tmp[i][0][k], 5),'|', print round(tmp[i][2], 2), '|',round(tmp[i][3],2), '|' print '| |', for k in k_: print round(tmp[i][1][k], 5) if tmp[i][1][k]>0 else '','|', print '| |'
def testHD66958_ALL(runOffCorrection=True): fi = os.listdir(data_directory+'/comm18') fi = filter(lambda x: 'RED.fits' in x , fi) fi = ['comm18/'+''.join(f.split('_RED')) for f in fi] fi = filter(lambda x: '019' in x , fi) fg = {'SEP':35, 'PA':100, #'SEP MJD 56000.0':35, 'PA MJD 56000.0':180, 'LINDIR':-142.0, 'LINRATE':-3844.0, 'M0 MJD 55945.00 55945.99':-0.034, #'M0 MJD 55889.0 55889.999':-0.009, #'M0 MJD 55890.0 55890.999':-0.010 } if runOffCorrection: for k in ATsPUP.keys(): # fg[k] = ATsPUP[k] if runOffCorrection=='blind': doNotFit=['AT3', 'AT4', 'ATPUP scale', 'LIN'] else: doNotFit=['AT3', 'AT4', 'LIN'] a = astromNew.fitListOfFiles(fi, data_directory, firstGuess=fg, verbose=2, doNotFit=doNotFit, maxResiduals=30) return a
def test_targetsRun2(runOffCorrection=False, allX=False): """ data collected after realignement of M4/AT3 by Stephane Guisard to minimize pupil runout. """ files = [ ###### March 2012 data ############## # HD 134481 '2012-03-16/PACMAN_OBJ_ASTRO_077_0001.fits', '2012-03-16/PACMAN_OBJ_ASTRO_077_0002.fits', '2012-03-16/PACMAN_OBJ_ASTRO_077_0003.fits', '2012-03-16/PACMAN_OBJ_ASTRO_077_0004.fits', '2012-03-16/PACMAN_OBJ_ASTRO_077_0006.fits', '2012-03-16/PACMAN_OBJ_ASTRO_077_0007.fits', '2012-03-16/PACMAN_OBJ_ASTRO_077_0008.fits', '2012-03-16/PACMAN_OBJ_ASTRO_077_0009.fits', '2012-03-16/PACMAN_OBJ_ASTRO_077_0010.fits', '2012-03-16/PACMAN_OBJ_ASTRO_077_0011.fits', '2012-03-16/PACMAN_OBJ_ASTRO_077_0012.fits', '2012-03-16/PACMAN_OBJ_ASTRO_077_0013.fits', '2012-03-16/PACMAN_OBJ_ASTRO_077_0014.fits', '2012-03-16/PACMAN_OBJ_ASTRO_077_0015.fits', '2012-03-16/PACMAN_OBJ_ASTRO_077_0016.fits', '2012-03-16/PACMAN_OBJ_ASTRO_077_0017.fits', '2012-03-16/PACMAN_OBJ_ASTRO_077_0018.fits', '2012-03-16/PACMAN_OBJ_ASTRO_077_0019.fits', '2012-03-16/PACMAN_OBJ_ASTRO_077_0020.fits', '2012-03-16/PACMAN_OBJ_ASTRO_077_0021.fits', '2012-03-16/PACMAN_OBJ_ASTRO_077_0022.fits', '2012-03-16/PACMAN_OBJ_ASTRO_077_0023.fits', '2012-03-16/PACMAN_OBJ_ASTRO_077_0024.fits', '2012-03-16/PACMAN_OBJ_ASTRO_077_0025.fits', '2012-03-16/PACMAN_OBJ_ASTRO_077_0026.fits', '2012-03-16/PACMAN_OBJ_ASTRO_077_0027.fits', '2012-03-16/PACMAN_OBJ_ASTRO_077_0028.fits', '2012-03-16/PACMAN_OBJ_ASTRO_077_0029.fits', '2012-03-16/PACMAN_OBJ_ASTRO_077_0030.fits', '2012-03-16/PACMAN_OBJ_ASTRO_077_0031.fits', # HD 66598 '2012-03-17/PACMAN_OBJ_ASTRO_078_0002.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0003.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0004.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0005.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0006.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0007.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0008.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0009.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0010.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0011.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0012.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0013.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0014.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0015.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0016.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0017.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0018.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0019.fits', # HD 129926 '2012-03-17/PACMAN_OBJ_ASTRO_078_0025.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0026.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0027.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0028.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0029.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0030.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0031.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0032.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0033.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0034.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0035.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0036.fits', #'2012-03-17/PACMAN_OBJ_ASTRO_078_0037.fits',# BAD #'2012-03-17/PACMAN_OBJ_ASTRO_078_0038.fits',# BAD #'2012-03-17/PACMAN_OBJ_ASTRO_078_0039.fits',# BAD '2012-03-17/PACMAN_OBJ_ASTRO_078_0040.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0041.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0042.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0043.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0044.fits', '2012-03-17/PACMAN_OBJ_ASTRO_078_0045.fits', ] # parameters for the fit: fg = {'T:HD129926 SEP':8, 'T:HD129926 PA':124, 'T:HD129926 M0 MJD 56004.00 56004.35':0.00, 'T:HD129926 M0 MJD 56004.35 56004.99':0.00, 'T:HD66598 SEP':35, 'T:HD66598 PA':134, 'T:HD66598 M0 MJD 56004.00 56004.99':0.00, 'T:HD134481 SEP': 26, 'T:HD134481 PA': 144, 'T:HD134481 M0 MJD 56003.00 56003.30':0.00, 'T:HD134481 M0 MJD 56003.30 56003.99':0.00, } doNotFit=[] ### March 2012 pupil runout parameters: if runOffCorrection: for k in Bonnet1.keys(): # add fg[k] = Bonnet1[k] doNotFit.extend(['scale', #'AT4 ct', 'AT4 st', 'AT4 cd', 'AT4 sd', # fit 2ROT #'AT4 ct', 'AT4 st', 'AT4 c2d', 'AT4 s2d', # fit ROT #'AT4 c2d', 'AT4 s2d', #'AT4 c2d', 'AT4 s2d', # fit THETA 'AT4', 'AT3']) a = astromNew.fitListOfFiles(files,reduceData=False, directory=data_directory, firstGuess=fg, plot=True, verbose=2, doNotFit=doNotFit, allX=allX, maxResiduals=10, #exportAscii='March12_Phase2.txt' ) return
def test_targetsBegRun(runOffCorrection=False, allX=False): files_hd66958 = [ ###### March 2012 data ############## '2012-03-13/PACMAN_OBJ_ASTRO_074_0001.fits', '2012-03-13/PACMAN_OBJ_ASTRO_074_0002.fits', '2012-03-13/PACMAN_OBJ_ASTRO_074_0003.fits', '2012-03-13/PACMAN_OBJ_ASTRO_074_0004.fits', '2012-03-13/PACMAN_OBJ_ASTRO_074_0005.fits', '2012-03-13/PACMAN_OBJ_ASTRO_074_0006.fits', '2012-03-13/PACMAN_OBJ_ASTRO_074_0007.fits', '2012-03-13/PACMAN_OBJ_ASTRO_074_0008.fits', '2012-03-13/PACMAN_OBJ_ASTRO_074_0009.fits', '2012-03-13/PACMAN_OBJ_ASTRO_074_0010.fits', '2012-03-13/PACMAN_OBJ_ASTRO_074_0011.fits', '2012-03-13/PACMAN_OBJ_ASTRO_074_0012.fits', '2012-03-13/PACMAN_OBJ_ASTRO_074_0013.fits', '2012-03-13/PACMAN_OBJ_ASTRO_074_0014.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0001.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0002.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0003.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0004.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0005.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0006.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0007.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0008.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0009.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0010.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0011.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0012.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0013.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0014.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0015.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0016.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0017.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0018.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0019.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0020.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0021.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0022.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0023.fits', '2012-03-15/PACMAN_OBJ_ASTRO_076_0002.fits', '2012-03-15/PACMAN_OBJ_ASTRO_076_0003.fits', '2012-03-15/PACMAN_OBJ_ASTRO_076_0004.fits', '2012-03-15/PACMAN_OBJ_ASTRO_076_0005.fits', '2012-03-15/PACMAN_OBJ_ASTRO_076_0006.fits', '2012-03-15/PACMAN_OBJ_ASTRO_076_0007.fits', '2012-03-15/PACMAN_OBJ_ASTRO_076_0008.fits', '2012-03-15/PACMAN_OBJ_ASTRO_076_0009.fits', '2012-03-15/PACMAN_OBJ_ASTRO_076_0010.fits', '2012-03-15/PACMAN_OBJ_ASTRO_076_0011.fits', '2012-03-15/PACMAN_OBJ_ASTRO_076_0012.fits', '2012-03-15/PACMAN_OBJ_ASTRO_076_0013.fits', '2012-03-15/PACMAN_OBJ_ASTRO_076_0014.fits', '2012-03-15/PACMAN_OBJ_ASTRO_076_0015.fits', '2012-03-15/PACMAN_OBJ_ASTRO_076_0016.fits', '2012-03-15/PACMAN_OBJ_ASTRO_076_0017.fits', '2012-03-15/PACMAN_OBJ_ASTRO_076_0018.fits', '2012-03-15/PACMAN_OBJ_ASTRO_076_0019.fits', '2012-03-15/PACMAN_OBJ_ASTRO_076_0020.fits', '2012-03-15/PACMAN_OBJ_ASTRO_076_0021.fits', '2012-03-15/PACMAN_OBJ_ASTRO_076_0022.fits', '2012-03-15/PACMAN_OBJ_ASTRO_076_0023.fits', '2012-03-15/PACMAN_OBJ_ASTRO_076_0024.fits', '2012-03-15/PACMAN_OBJ_ASTRO_076_0025.fits', '2012-03-15/PACMAN_OBJ_ASTRO_076_0026.fits',] fg = {'T:HD66598 SEP':35, 'T:HD66598 PA':134, 'T:HD66598 M0 MJD 56000.00 56000.07':0.00, 'T:HD66598 M0 MJD 56000.07 56000.99':0.00, 'T:HD66598 M0 MJD 56001.00 56001.05':0.00, 'T:HD66598 M0 MJD 56001.05 56001.99':0.00, 'T:HD134481 SEP': 26, 'T:HD134481 PA': 144, 'T:HD134481 M0 MJD 56002.00 56002.32':0.00, 'T:HD134481 M0 MJD 56002.32 56002.35':0.00, 'T:HD134481 M0 MJD 56002.35 56002.99':0.00, } doNotFit=['LIN'] ### Jan 2012 parameters: #for k in ATsPUP.keys(): # add # fg[k] = ATsPUP[k] ### March 2012 parameters: if runOffCorrection: for k in Bonnet0.keys(): # add fg[k] = Bonnet0[k] doNotFit.extend(['scale','AT3', 'AT4']) a = astromNew.fitListOfFiles(files_hd66958,reduceData=False, directory=data_directory, firstGuess=fg, plot=True, verbose=2, doNotFit=doNotFit, allX=allX, maxResiduals=20, #exportAscii='March12_Phase1.txt' ) deltaDec = a['BEST']['T:HD134481 SEP']*np.cos(a['BEST']['T:HD134481 PA']*np.pi/180) deltaRA_cosDec = a['BEST']['T:HD134481 SEP']*np.sin(a['BEST']['T:HD134481 PA']*np.pi/180) deltaRA = deltaRA_cosDec/np.cos(a['DEC']['HD134481']*np.pi/180) print 'HD134481: dRA', deltaRA, 'dDEC=', deltaDec return
def testHD66958(allX=False, runOffCorrection=True): """ - functionnal test; - astrometric fit on HD 66598 to see the amplitude of the residuals compared to january """ files_hd66958 = [ ### March 2012 data '2012-03-13/PACMAN_OBJ_ASTRO_074_0001.fits', '2012-03-13/PACMAN_OBJ_ASTRO_074_0002.fits', '2012-03-13/PACMAN_OBJ_ASTRO_074_0003.fits', '2012-03-13/PACMAN_OBJ_ASTRO_074_0004.fits', '2012-03-13/PACMAN_OBJ_ASTRO_074_0005.fits', # no 0006 '2012-03-13/PACMAN_OBJ_ASTRO_074_0007.fits', '2012-03-13/PACMAN_OBJ_ASTRO_074_0008.fits', '2012-03-13/PACMAN_OBJ_ASTRO_074_0009.fits', '2012-03-13/PACMAN_OBJ_ASTRO_074_0010.fits', '2012-03-13/PACMAN_OBJ_ASTRO_074_0011.fits', '2012-03-13/PACMAN_OBJ_ASTRO_074_0012.fits', '2012-03-13/PACMAN_OBJ_ASTRO_074_0013.fits', '2012-03-13/PACMAN_OBJ_ASTRO_074_0014.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0001.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0002.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0003.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0004.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0005.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0006.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0007.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0008.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0009.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0010.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0011.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0012.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0013.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0014.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0015.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0016.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0017.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0018.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0019.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0020.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0021.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0022.fits', '2012-03-14/PACMAN_OBJ_ASTRO_075_0023.fits', #'2012-03-14/PACMAN_OBJ_ASTRO_075_0024.fits' ] fg = {'SEP':35, 'PA':134, 'M0 MJD 56000.0 56000.07':0.00, 'M0 MJD 56000.07 56000.99':0.00, 'M0 MJD 56001.0 56001.05':0.00, 'M0 MJD 56001.05 56001.99':0.00, } doNotFit=['LIN','AT3', 'AT4'] if runOffCorrection=='blind': doNotFit.extend('scale') ### Jan 2012 parameters: #for k in ATsPUP.keys(): # add # fg[k] = ATsPUP[k] ### March 2012 parameters: if runOffCorrection: for k in Bonnet1.keys(): # add fg[k] = Bonnet1[k] a = astromNew.fitListOfFiles(files_hd66958,reduceData=False, directory=data_directory, firstGuess=fg, plot=True, verbose=1, doNotFit=doNotFit, allX=allX, maxResiduals=10, exportAscii='hd66598.txt' ) return
def fitAllHD10360(): global pup HD10360corr = [] HD10360 = [] for k, f in enumerate(files_hd10360): print k+1, '/', len(files_hd10360) fg = {'SEP':8., 'PA':135, 'M0':0.0} for k in ATsPUP.keys(): fg[k] = ATsPUP[k] HD10360corr.append(astromNew.fitListOfFiles(f, directory=data_directory, firstGuess=fg, doNotFit=['AT3','AT4','PUP'], plot=False, verbose=False)) print HD10360corr[-1]['MJD_MIN'], '-', HD10360corr[-1]['MJD_MAX'] HD10360.append(astromNew.fitListOfFiles(f, directory=data_directory, firstGuess={'SEP':8., 'PA':135, 'M0':-0.0}, plot=False, verbose=False)) pyplot.figure(10) pyplot.clf() pyplot.axes().set_aspect('equal', 'datalim') th = np.linspace(0, 2*np.pi, 100) colors=['r', 'g', 'b', 'y', 'm', 'c'] ### data reduced without correction: #################### XYT = [] for k,d in enumerate(HD10360): ### observation: X = d['BEST']['SEP']*np.sin(d['BEST']['PA']*np.pi/180) Y = d['BEST']['SEP']*np.cos(d['BEST']['PA']*np.pi/180) XYT.append((X,Y, d['MJD_MEAN'])) pyplot.plot(X, Y, 's'+colors[k], markersize=10, alpha=0.5, label = 'no correction' if k==0 else None) # linear fit Xb, Xe, chi2, Xm =\ dpfit.leastsqFit(dpfit.polyN, [x[2]-55885 for x in XYT], {'A0':0, 'A1':1}, [x[0] for x in XYT]) Yb, Ye, chi2, Ym =\ dpfit.leastsqFit(dpfit.polyN, [x[2]-55885 for x in XYT], {'A0':0, 'A1':1}, [x[1] for x in XYT]) # display linear fit MJD = np.linspace(55885, 55890, 100) pyplot.plot(dpfit.polyN(MJD-55885, Xb), dpfit.polyN(MJD-55885, Yb), 'k-', linewidth=3, alpha=0.3) # distance to fit for k,d in enumerate(HD10360): X = d['BEST']['SEP']*np.sin(d['BEST']['PA']*np.pi/180) Y = d['BEST']['SEP']*np.cos(d['BEST']['PA']*np.pi/180) pyplot.plot(Xm[k], Ym[k], 'x'+colors[k], markersize=6) pyplot.plot([X, Xm[k]], [Y, Ym[k]], '-'+colors[k], linewidth=2, alpha=0.5) ### data reduced with correction ############################ XYT=[] for k,d in enumerate(HD10360corr): ### observation: X = d['BEST']['SEP']*np.sin(d['BEST']['PA']*np.pi/180) Y = d['BEST']['SEP']*np.cos(d['BEST']['PA']*np.pi/180) XYT.append((X,Y, d['MJD_MEAN'])) pyplot.plot(X, Y, 'o'+colors[k], markersize=10, label = 'scaled correction' if k==0 else None) # linear fit Xb, Xe, chi2, Xm =\ dpfit.leastsqFit(dpfit.polyN, [x[2]-55885 for x in XYT], {'A0':0, 'A1':1}, [x[0] for x in XYT]) Yb, Ye, chi2, Ym =\ dpfit.leastsqFit(dpfit.polyN, [x[2]-55885 for x in XYT], {'A0':0, 'A1':1}, [x[1] for x in XYT]) print 'linrate:', np.sqrt(Xb['A1']**1+Yb['A1']**2)*1e6, 'uas/day' # display linear fit MJD = np.linspace(55885, 55892, 10) pyplot.plot(dpfit.polyN(MJD-55885, Xb), dpfit.polyN(MJD-55885, Yb), 'k-', linewidth=3, alpha=0.3) # distance to fit for k,d in enumerate(HD10360corr): X = d['BEST']['SEP']*np.sin(d['BEST']['PA']*np.pi/180) Y = d['BEST']['SEP']*np.cos(d['BEST']['PA']*np.pi/180) pyplot.plot(Xm[k], Ym[k], 'x'+colors[k], markersize=6) pyplot.plot([X, Xm[k]], [Y, Ym[k]], '-'+colors[k], linewidth=2, alpha=0.5) pyplot.legend(loc='upper left') pyplot.xlabel('$\delta$ E (\")') pyplot.ylabel('$\delta$ N (\")') return
# ----------------------------------------------------------------------- files_hd18622 = ['2012-01-14/PACMAN_OBJ_ASTRO_015_0003.fits', '2012-01-14/PACMAN_OBJ_ASTRO_015_0004.fits', '2012-01-14/PACMAN_OBJ_ASTRO_015_0005.fits', '2012-01-14/PACMAN_OBJ_ASTRO_015_0006.fits', '2012-01-14/PACMAN_OBJ_ASTRO_015_0007.fits', '2012-01-16/PACMAN_OBJ_ASTRO_017_0001.fits', '2012-01-16/PACMAN_OBJ_ASTRO_017_0002.fits', '2012-01-16/PACMAN_OBJ_ASTRO_017_0003.fits', '2012-01-16/PACMAN_OBJ_ASTRO_017_0004.fits', '2012-01-18/PACMAN_OBJ_ASTRO_019_0001.fits', '2012-01-18/PACMAN_OBJ_ASTRO_019_0002.fits', '2012-01-18/PACMAN_OBJ_ASTRO_019_0003.fits', '2012-01-18/PACMAN_OBJ_ASTRO_019_0004.fits'] """ astromNew.fitListOfFiles(comm18.files_hd18622, directory=comm18.data_directory, maxResiduals=3, firstGuess={'SEP':8.3, 'PA':91.3, 'M0 MJD 55941.00 55941.99':-0.017, 'M0 MJD 55943.00 55943.99':-0.022, 'M0 MJD 55945.00 55945.99':-0.022 }) """ """ astromNew.fitListOfFiles(files_hd18622_014, directory=data_directory, maxResiduals=3, firstGuess={'SEP':8.3, 'PA':91.3, 'M0 MJD 55941.00 55941.99':-0.017, 'M0 MJD 55943.00 55943.99':-0.022}, fitOnly=['SEP','PA','M0 MJD 55941.00 55941.99','M0 MJD 55943.00 55943.99'])