Exemple #1
0
def int_pl(x1, x2, gam, nstp=None):
    if nstp is None:
        nstp = 1000

    x = np.linspace(x1, x2, nstp)
    y = x**(1 - gam)
    #whats this? to normalize! when calculating ``intrinsic luminosity'', assuming an intrinsic power-law spectrum of gamma=1.8
    y0 = x**(1 - 1.8)
    interp_func0 = interpol(y0, x)
    interp_func = interpol(y, x)

    norm = interp_func0(10.) / interp_func(10.)
    y *= norm
    integral = tsum(y, x)
    return integral
Exemple #2
0
def int_pl(x1, x2, gam, nstp=None):
    if nstp is None:
        nstp = 1000

    x = np.linspace(x1, x2, nstp)
    y = x ** (1 - gam)
    # whats this? to normalize! when calculating ``intrinsic luminosity'', assuming an intrinsic power-law spectrum of gamma=1.8
    y0 = x ** (1 - 1.8)
    interp_func0 = interpol(y0, x)
    interp_func = interpol(y, x)

    norm = interp_func0(10.0) / interp_func(10.0)
    y *= norm
    integral = tsum(y, x)
    return integral
Exemple #3
0
    def __init__(self, points: list):
        # ensure the curve starts at 0, 0
        has_zero = False
        for point in points:
            if point[0] == 0:
                has_zero = True

        if not has_zero:
            points.insert(0, [0, 0])

        points.sort(key=lambda s: s[0])

        temps = []
        speeds = []
        for set_ in points:
            temps.append(set_[0])
            speeds.append(set_[1])

        self._array = []

        # this involved alot of stack overflow and admittedly im not 100% sure how it works
        # basically given a set of points it extrapolates that into a line consisting of one
        # point per degree.
        x = np.asarray(temps)
        y = np.asarray(speeds)
        pch = interpol(x, y)
        xx = np.linspace(x[0], x[-1], x[-1])
        line2d = plt.plot(xx, pch(xx), 'g-')
        self.temps = line2d[0].get_xdata()
        self.speeds = line2d[0].get_ydata()
Exemple #4
0
def get_riskfree_libor(date, yte):
    
    # compute only once per date 
    if date in functions_dict:
        f = functions_dict[date]

    else: 
        try: 
            df = df_yields.query('index==@date')
            dr = df.iloc[0]
            rates = ([0.0, dr['ON'] / 100, dr['w1'] / 100, dr['m1'] / 100, dr['m2'] / 100, dr['m3'] / 100, dr['m6'] / 100, dr['m12'] / 100])
            
            df_inter = pandas.DataFrame(columns=['0', 'ON', 'w1', 'm1', 'm2', 'm3', 'm6', 'm12'])
            df_inter.loc[0] = years
            df_inter.loc[1] = rates
            df_inter = df_inter.dropna(axis='columns')
            f = interpol(df_inter.loc[0], df_inter.loc[1], k=1, bbox=[0.0, 4.0])
            functions_dict[date] = f 
            
        except: 
            print (str(date))
            functions_dict[date] = 0 
            f = functions_dict[date]
    
        
    y = float(yte)
    rf = f(y) / 100
    rf = np.round(rf, decimals=4)
    
    return rf
def ext_smc_mky(wav,ebv):
    path='/Users/ctchen/analysis/SED/templates/'
    wav_ext,kappa_ext=np.loadtxt(path+'ext_assef_kappa.dat',unpack=True)
    interpfunc=interpol(wav_ext,kappa_ext)
    kappa=interpfunc(wav)
    kappa[np.where(kappa < 0)] = 0.
    ext=10.**(-kappa*ebv)
    ext[np.where(ext < 1e-10)]==0
    return ext
Exemple #6
0
def main():
    obj=plt.imread('jerichoObject.bmp')
    ref=plt.imread('jerichoRef.bmp')

    img=obj-ref

    K=np.empty(img.shape)+0j
    temp=np.empty(img.shape)+0j

    wavelength=405e-9
    k=2*np.pi/(wavelength)
    z=250e-6
    #z=13e-3
    #z=13e-3-250e-6

    distX=6e-6
    distY=6e-6

#    n,m= img.shape

    n=img.shape[0]
    m=img.shape[1]
#    a,b = np.mgrid[0:n,0:m]
    a = np.mgrid[0:n,0:m][0]
    b = np.mgrid[0:n,0:m][1]

    pts=np.array((a.ravel(),b.ravel())).T

    first=time.time()

#    for (i,j),k in np.ndenumerate(K):
    for i in xrange(K.shape[0]):
        for j in xrange(K.shape[1]):

            print(i,j)
            r=(i*distX,j*distY,z)

#            for (x,y),value in np.ndenumerate(img):
            for x in xrange(img.shape[0]):
                for y in xrange(img.shape[1]):

                    ksi=(x*distX,y*distY,z)
                    ksiNorm=np.linalg.norm(ksi)
                    ksiDotR=np.dot(ksi,r)

                    temp[x,y]=img[x,y]*np.exp(1j*k*ksiDotR/ksiNorm)

            tempRavel=temp.ravel()
            surf=interpol(pts,tempRavel)
            func=lambda y,x: surf([[x,y]])

            K[i,j]=dblquad(func,0,m,lambda x:0, lambda x:n  )

    timeTook=time.time()-first

    print(timeTook)
Exemple #7
0
from __future__ import division, print_function
import numpy as np
from scipy.interpolate import LinearNDInterpolator as interpol
import scipy.integrate as sciInt


a, b = np.mgrid[0:11, 0:11]
Z = np.ones((11, 11)) * 10

pts = np.array((a.ravel(), b.ravel())).T
zr = Z.ravel()

surf = interpol(pts, zr)

func = lambda y, x: surf([[x, y]])

res = np.empty(Z.shape)
for (i, j), k in np.ndenumerate(res):
    res[i, j] = sciInt.dblquad(func, 0.0, 10.0, lambda x: 0.0, lambda x: 10.0)[0]

print(res[0])
Exemple #8
0
    val[out[0]] = 0.

    norm = ann_spec_flux_norm(gp, gm, q)

    val *= p[2] / norm[0]

    return val


lecr = pd.read_csv('gam_lecr_pdcompatible.spc', skiprows=3, sep=',')
e_cr = lecr['Eg(MeV)']
f_cr = lecr['Fg(10^-5 ph/cm^2/s/sr/MeV)']
sr_norm = (np.sin(np.deg2rad(25)) - np.sin(np.deg2rad(-25))) * np.deg2rad(50)
from scipy.interpolate import interp1d as interpol
lecr_interpol = interpol(e_cr * 1000,
                         f_cr / 1000 * sr_norm * 1e-5,
                         bounds_error=False,
                         fill_value=0)


def lecr_spectrum(energy, p):
    return p * lecr_interpol(energy)


"""
Created on Wed Sep  6 15:41:22 2017

@author: mpleinti

Collection of different secondary functions 

adapted by tsiegert from mpleinti from tsiegert