def PDM_IRAF(v,p): p_frac=p/1000.0 p_min=p-p_frac p_max=p+p_frac vdir="%s" % v.split('_')[0] print "%s" % (vdir) os.chdir(vdir) t3=cmd.getoutput('ls ').split('\n') make_pdm_files = 1 for i in range(0,len(t3)): if t3[i].startswith('pdmbatch') == True: print "PDM files exist, using them..." make_pdm_files = 0 break if make_pdm_files > 0: t=cmd.getoutput('ls v*_BootStrap_*.lc.txt').split('\n') for i in range(0,len(t)): n1="pdmmeta_%d" % int(i+1) n2="pdmbatch_%d" % int(i+1) iraf.pdm(infiles=t[i],metafil=n1, batchfi=n2, interac="no", minp=p_min, maxp=p_max) print "[%d/%d]" % (int(i+1),len(t)) t2=cmd.getoutput('ls pdmbatch*').split('\n') periods=np.empty(len(t2)) for j in range(0,len(t2)): f=open(t2[j]).readlines() periods[j]=float(f[2].split()[2].split(',')[0]) err=np.std(periods) print "%s err: %.6f" % (vdir, err) return periods
def main(argv): from optparse import OptionParser parser = OptionParser() parser.add_option( '--dataset', help='List of files to run pdm on', type='string') opt,args = parser.parse_args(argv) flist = np.loadtxt(opt.dataset,dtype='S',unpack=True) for i,f in enumerate(flist): print 'Running pdm on %s...'%f iraf.pdm( infiles=f, batchfile='pdm_res%04i.dat'%i)