-
Notifications
You must be signed in to change notification settings - Fork 40
/
logo.py
59 lines (46 loc) · 1.5 KB
/
logo.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import numpy as np
import matplotlib.pyplot as plt
from astropy.io import fits
from lightkurve import KeplerTargetPixelFile as ktpf
import os, sys
import matplotlib.animation as animation
import imageio
import matplotlib
matplotlib.use("Agg")
import matplotlib.gridspec as gridspec
from scipy.misc import imread
def animate(i):
global scats, lines, lc
ax1.imshow(tpf.flux[i], origin='lower', vmin=cbmin, vmax=cbmax)
for line in lines:
line.remove()
lines = []
lines.append(ax.scatter(lc.time[i], lcNorm[i], s=16, c='r'))
file = '219870537.fits'
tpf = ktpf.from_fits(file)
lc = tpf.to_lightcurve()
lcNorm = lc.flux / np.nanmedian(lc.flux)
cbmin = np.max(tpf.flux[0])*0.05
cbmax = np.max(tpf.flux[0])*0.85
lines = []
img = imread('ellie_logo.png')
fig = plt.figure(figsize=(10,5))
plt.imshow(img)
plt.axis('off')
plt.tight_layout()
ax = fig.add_axes([0.685, 0.1335, 0.165, 0.176])
ax.plot(lc.time, lcNorm, 'k')
ax.get_xaxis().set_ticks([])
ax.get_xaxis().set_visible(False)
ax.get_yaxis().set_ticks([])
ax.get_yaxis().set_visible(False)
ax.set_ylim([np.min(lcNorm)-0.05, np.max(lcNorm)+0.05])
ax.set_xlim([np.min(lc.time)-0.005, np.max(lc.time)+0.005])
ax1 = fig.add_axes([0.862, 0.1325, 0.0883, 0.1842])
ax1.get_xaxis().set_ticks([])
ax1.get_yaxis().set_ticks([])
Writer = animation.writers['ffmpeg']
writer = Writer(fps=20, metadata=dict(artist='Adina Feinstein'), bitrate=1000)
ani = animation.FuncAnimation(fig, animate, frames=len(tpf.flux))
#plt.show()
ani.save('logo.mp4', writer=writer)