Fast Cameras

In [1]:
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import requests

from PIL import Image
from io import BytesIO
from IPython.display import Image as DispImage

shot_no = 33969

SpeedCamera = True


try:
    url = "http://golem.fjfi.cvut.cz/shots/%i/Diagnostics/FastExCameras/plasma_film.png"%(shot_no)
    image = requests.get(url)
    img = Image.open(BytesIO(image.content)).convert('L') #'L','1'

    data = np.asanyarray(img)

    r = []
    for i in range(data.shape[1]):
        a=0
        b=0
        for j in range(336):
            a += data[j,i]*j
            b += data[j,i]
        r.append((a/b))
    duration = (len(r)/(1200*96))*1e3
#     print(duration)
    camera_time = np.linspace(0, duration, len(r))
    r_camera = pd.Series(r, index = camera_time)-150
    
    fig = plt.figure()
    ax = r_camera.plot(label = 'Speed Camera')
    plt.legend()
    ax.set(ylim=(-85, 85), title='Horizontal plasma position #%i'%shot_no,ylabel='$\Delta$r visible radiation', xlabel = 'Time [ms]')
    ax.axhline(y=0, color='k', ls='--', lw=1, alpha=0.4)
    fig.savefig('SpeedCamera')
except OSError:
    SpeedCamera = False
/home/golem/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:29: RuntimeWarning: invalid value encountered in long_scalars
In [2]:
fig, ax = plt.subplots()
img = Image.open(BytesIO(image.content))
ax.imshow(img)
Out[2]:
<matplotlib.image.AxesImage at 0x7feab7eb90d0>
In [ ]: