Exemplo n.º 1
0
def generate_plots(path):
    """ Generates plots for all videos in a directory

    :param path: the directory to search for videos

    """
    videos = glob(path + '/*.mkv')
    print(path, len(videos), videos)

    if len(videos) == 0:
        return
    else:
        videos = videos[0]

    metadata_list = glob(path + '/metadata.txt')
    #print(path, len(metadata_list), metadata_list)

    if len(metadata_list) == 0:
        return

    P = Preprocessor()
    P.import_video(str(videos))
    P.read_metadata(path)
    P.preprocess()
    Im = P.frames_processed
    if len(Im) == 0:
        print(len(Im))
        return

    z_start = P.z_start
    z_end = P.z_end

    mean, cov = analyze_image(Im)

    window_size = 10
    mean_smoothed = smoothing.mean_moving_average(mean, window_size)
    cov_smoothed = smoothing.cov_moving_average(cov, window_size)

    c = CubicFitRotated()
    c.fit(mean=mean_smoothed, cov=cov_smoothed, z_start=z_start, z_end=z_end)

    try:
        os.mkdir(path + '/analysis')
        path += '/analysis'
    except OSError:
        pass

    plots.plot_mean(mean, z_start, z_end).savefig(path + '/beam_center.png')
    plots.plot_beta(cov, z_start, z_end).savefig(path + '/sigma_squared.png')

    export.export_mean(mean=mean,
                       filename=path + '/center.csv',
                       z_start=z_start,
                       z_end=z_end)
    export.export_cov(cov=cov,
                      filename=path + '/cov.csv',
                      z_start=z_start,
                      z_end=z_end)

    plt.close('all')
Exemplo n.º 2
0
import smoothing
import plots

P = Preprocessor(min_threshold=45, max_threshold=230, offset=0)

# Drift space focused by the BTL
#path = "../measurements/cyclotron/first_cyclotron_test/focused/3"
#P.import_video(path + "/focused_330_to_0.mkv")

# Changing steering current of the BTL
#path = "../measurements/cyclotron/first_cyclotron_test/changing_steering_magnet/2"
#P.import_video(path + "/changing_steering_magnet_330_to_0_10_steps.mkv")

# MBL magnets enabled
path = "../measurements/cyclotron/first_cyclotron_test/mbl_magnet/2"
P.import_video(path + "/mbl_magnet_330_to_0.mkv")

# m.set_size_inches(12,7)
# m.savefig("../report/images/measurements/cyclotron_pre/focused_center.png",dpi=300,optimize=True)

P.read_metadata(path)
P.preprocess()
Im = P.frames_processed

z_start = P.z_start
z_end = P.z_end

mean, cov = analyze_image(Im)

window_size = 10
Exemplo n.º 3
0
# corner points
#path = "../measurements/cyclotron/main_measurements/pre/"
#P.import_video(path + "/before_vacuum.mkv")

# Beam in drift space focused by the BTL
#path = "../measurements/cyclotron/main_measurements/cyclotron/focused_by_btl/2/"
#P.import_video(path + "/0_to_660_compressed.mkv")

# Beam focused by the BTL being refocused by the MBL
#path = "../measurements/cyclotron/main_measurements/cyclotron/mbl_second/2"
#P.import_video(path + "/0_to_660_compressed.mkv")

# Flat beam being focused by the MBL magnets
path = "../measurements/cyclotron/main_measurements/cyclotron/flat_beam/2/660_to_0"
P.import_video(path + "/660_to_0_compressed.mkv")

# m.set_size_inches(12,7)
# m.savefig("../report/images/measurements/cyclotron_pre/focused_center.png",dpi=300,optimize=True)

P.read_metadata(path)
P.preprocess()
Im = P.frames_processed

z_start = P.z_start
z_end = P.z_end

mean, cov = analyze_image(Im)

# Size of smoothing window for moving average
window_size = 10