Exemple #1
0
def lnlike_visonly(p):
    if p[0] < 0.0001 or p[1] <= 0.10 or p[3] > 90 or p[3] < 0 or p[4] < -90 or p[
            4] > 90:  # set up boundaries for naughty parameters. rIn can't be negative, delR can't be below 0.1 because that is the resolution of the model, inc can't be negative or greater than 90, and PA is the same after a 180deg rotation, so we limit it to -90<PA<90
        return -np.inf
    else:
        import tempfile
        tf = tempfile.NamedTemporaryFile(delete=False)
        fits_file = 'fitsFile' + tf.name[-9:]

        disk = Disk(0.0001, p[0], p[1], 10**p[2], 0, 0.8, blowoutSize * 1e6, 1)
        #rawDiskChi = disk.computeChiSquared()
        visGen = VisibilityGenerator(1024, p[3], p[4], fits_file)
        rawVisChi = visGen.computeChiSquared(disk)
        os.system('rm -rf images/' + fits_file + '.fits')
        os.system('rm -rf images/' + fits_file + '.mp')
        os.system('rm -rf images/' + fits_file + '.vis')
        os.system('rm -rf images/' + fits_file + '2.vis')
        os.system('rm -rf images/' + fits_file + '3.vis')
        os.system('rm -rf images/' + fits_file + '.uvf')
        os.system('rm -rf images/' + fits_file + '2.uvf')
        os.system('rm -rf images/' + fits_file + '3.uvf')
        os.system('rm -rf fits/' + fits_file)
        if np.isnan(rawVisChi):
            return -np.inf
        return -(rawVisChi) / 2.
def lnlike_visonly(p):
    if p[0] < 0.0001 or p[1] <= 0.10 or p[3] > 90 or p[3] < 0 or p[4] < -90 or p[4] > 90: # set up boundaries for naughty parameters. rIn can't be negative, delR can't be below 0.1 because that is the resolution of the model, inc can't be negative or greater than 90, and PA is the same after a 180deg rotation, so we limit it to -90<PA<90
        return -np.inf
    else:
        import tempfile
        tf = tempfile.NamedTemporaryFile(delete=False)
        fits_file = 'fitsFile'+tf.name[-9:]
        
        disk = Disk(0.0001,p[0],p[1],10**p[2], 0, 0.8, blowoutSize*1e6, 1)
        #rawDiskChi = disk.computeChiSquared()
        visGen = VisibilityGenerator(1024,p[3],p[4],fits_file)
        rawVisChi = visGen.computeChiSquared(disk)
        os.system('rm -rf images/'+fits_file+'.fits')
        os.system('rm -rf images/'+fits_file+'.mp')
        os.system('rm -rf images/'+fits_file+'.vis')
        os.system('rm -rf images/'+fits_file+'2.vis')
        os.system('rm -rf images/'+fits_file+'3.vis')
        os.system('rm -rf images/'+fits_file+'.uvf')
        os.system('rm -rf images/'+fits_file+'2.uvf')
        os.system('rm -rf images/'+fits_file+'3.uvf')
        os.system('rm -rf fits/'+fits_file)
        if np.isnan(rawVisChi):
            return -np.inf
        return -(rawVisChi)/2.
def lnlike_vis_and_sed(p):
    if p[0] < .0001 or p[0] > 500. or 10**p[3] < 0.1 or 10**p[
            3] > 3000:  # set up some boundaries for naughty parameters that like to break stuff
        return -np.inf
    else:
        import tempfile
        tf = tempfile.NamedTemporaryFile(delete=False)
        fits_file = 'fitsFile' + tf.name[-9:]
        disk = Disk(p[0], 53, 74, 10**p[1], 10**p[2], 0.8, 10**p[3], 1)
        rawDiskChi = disk.computeChiSquared()
        visGen = VisibilityGenerator(1024, 53, 22, fits_file)  #set inc and PA
        rawVisChi = visGen.computeChiSquared(disk)
        os.system('rm -rf images/' + fits_file + '.fits')
        os.system('rm -rf images/' + fits_file + '.mp')
        os.system('rm -rf images/' + fits_file + '.vis')
        os.system('rm -rf images/' + fits_file + '2.vis')
        os.system('rm -rf images/' + fits_file + '3.vis')
        os.system('rm -rf images/' + fits_file + '.uvf')
        os.system('rm -rf images/' + fits_file + '2.uvf')
        os.system('rm -rf images/' + fits_file + '3.uvf')
        os.system('rm -rf fits/' + fits_file)
        if np.isnan(rawVisChi):
            return -np.inf
        return -(rawVisChi + rawDiskChi) / 2.
Exemple #4
0
def vis_gen(visVal,disk,append):
    print 'Generating visibilities...'
    visGen = VisibilityGenerator(1024, visVal[0], visVal[1], whatbywhat+'_'+append)
    visGen.generateFITS(disk)
    visGen.generateVisibility()