Exemple #1
0
def boxes(pixels, ka=None):
    t = utils.totals(pixels)
    m = utils.maxima(t)
    ka = ka or utils.k_alpha(t[m])
    m &= (abs(t - ka) < .15*ka)
    return utils.boxes(m, pixels)
Exemple #2
0
def boxes(pixels, ka=None):
    t = utils.totals(pixels, n=3)
    m = utils.maxima(pixels, n=2)[...,1:-1,1:-1]
    ka = ka or utils.k_alpha(t[m])
    m &= (abs(t - ka) < .15*ka)
    return utils.boxes(m, pixels, n=3)
Exemple #3
0
orbit_xyz = bl_to_xyz(orbit[:, 1:4], a)

# transform back into obs and orb frames
orbit_obs = np.zeros((nt + 1, 3))
orbit_orb = np.zeros((nt + 1, 3))
for i in range(nt + 1):
    orbit_obs[i, :] = obs_from_bh @ orbit_xyz[i, :]
    #    orbit_obs[i,:] = orbit_xyz[i,:]
    orbit_orb[i, :] = orb_from_obs @ orbit_obs[i, :]

# find precession angle
t = orbit[:, 0]
pr = orbit[:, 4]

imaxs = maxima(pr)
imins = minima(pr)

phase = np.arctan2(orbit_orb[:, 1], orbit_orb[:, 0])
# different from keplerian fit
simul_period = t[imaxs][1] - t[imaxs][0]
simul_sma = (orbit_orb[imins, 0][0] - orbit_orb[imaxs, 0][0]) / 2

deltaphase = phase[imaxs][1] + np.pi
print("Precession per Orbit:", deltaphase)
# semi major axis
# theoretical precession angle - Einstein
#thdeltaphase = 24 * np.pi**3 * sma * sma \
#    / (period*period * (1 - ecc*ecc))
# Gillesen 2017
thdeltaphase = 6 * np.pi / (sma * (1 - ecc * ecc))
Exemple #4
0
def boxes(pixels, ka=None):
    t = utils.totals(pixels, n=3)
    m = utils.maxima(pixels, n=2)[..., 1:-1, 1:-1]
    ka = ka or utils.k_alpha(t[m])
    m &= (abs(t - ka) < .15 * ka)
    return utils.boxes(m, pixels, n=3)