from fiber_properties import gaussian_fit, gaussian_array, FiberImage, plot_overlaid_cross_sections
import numpy as np
import matplotlib.pyplot as plt

# image = np.meshgrid(np.arange(100), np.arange(100))
# coeffs = np.random.normal(size=5) * 15 + 50
# print coeffs
# image = gaussian_array(image, *coeffs).reshape(100,100).astype('float64')
# image += np.random.normal(size=image.shape)

# im_obj = FiberImage('../data/modal_noise/Kris_data/rectangular_100x300um/coupled_agitation/ff_corrected.fit')
im_obj = FiberImage('../data/stability/2017-03-19 Stability Test/circular_200um/in_100.fit', camera='in')
image = im_obj.get_image()
center = im_obj.get_fiber_center()

plt.figure(1)
plt.imshow(image)

# fit, output = gaussian_fit(image, full_output=True)
# print output
fit = im_obj.get_gaussian_fit()
plt.figure(2)
plt.imshow(fit)

plot_overlaid_cross_sections(image, fit, center)

plt.show()
    ff_ambient = image_list(ambient_folder + 'ff_ambient_')

    nf_agitated = FiberImage(image_list(agitated_folder + 'nf_agitated_'),
                             nf_dark, nf_ambient)
    nf_unagitated = FiberImage(
        image_list(unagitated_folder + 'nf_unagitated_'), nf_dark, nf_ambient)
    nf_baseline = FiberImage(nf_agitated.get_tophat_fit(),
                             pixel_size=nf_agitated.get_pixel_size(),
                             threshold=0.1,
                             camera='nf')

    ff_agitated = FiberImage(image_list(agitated_folder + 'ff_agitated_'),
                             ff_dark, ff_ambient)
    ff_unagitated = FiberImage(
        image_list(unagitated_folder + 'ff_unagitated_'), ff_dark, ff_ambient)
    ff_baseline = FiberImage(ff_agitated.get_gaussian_fit(),
                             pixel_size=ff_agitated.get_pixel_size(),
                             magnification=1,
                             camera='ff')

    print

    modal_noise = []
    for test in [nf_agitated, nf_unagitated, nf_baseline]:
        modal_noise.append(
            modal_noise(test, method='fft', output='array', radius_factor=1.0))
    plot_fft([modal_noise[i][1] for i in xrange(3)],
             [modal_noise[i][0] for i in xrange(3)],
             labels=['Agitated laser', 'Unagitated laser', 'Baseline'],
             title='NF Modal Noise Comparison (600um Fiber)')
示例#3
0
from fiber_properties import gaussian_fit, gaussian_array, FiberImage, plot_overlaid_cross_sections
import numpy as np
import matplotlib.pyplot as plt

# image = np.meshgrid(np.arange(100), np.arange(100))
# coeffs = np.random.normal(size=5) * 15 + 50
# print coeffs
# image = gaussian_array(image, *coeffs).reshape(100,100).astype('float64')
# image += np.random.normal(size=image.shape)

# im_obj = FiberImage('../data/modal_noise/Kris_data/rectangular_100x300um/coupled_agitation/ff_corrected.fit')
im_obj = FiberImage(
    '../data/stability/2017-03-19 Stability Test/circular_200um/in_100.fit',
    camera='in')
image = im_obj.get_image()
center = im_obj.get_fiber_center()

plt.figure(1)
plt.imshow(image)

# fit, output = gaussian_fit(image, full_output=True)
# print output
fit = im_obj.get_gaussian_fit()
plt.figure(2)
plt.imshow(fit)

plot_overlaid_cross_sections(image, fit, center)

plt.show()
    ff_dark = image_list(dark_folder + 'ff_dark_')
    ff_ambient = image_list(ambient_folder + 'ff_ambient_')

    nf_agitated = FiberImage(image_list(agitated_folder + 'nf_agitated_'),
                                nf_dark, nf_ambient)
    nf_unagitated = FiberImage(image_list(unagitated_folder + 'nf_unagitated_'),
                                  nf_dark, nf_ambient)
    nf_baseline = FiberImage(nf_agitated.get_tophat_fit(),
                                pixel_size=nf_agitated.get_pixel_size(),
                                threshold=0.1, camera='nf')

    ff_agitated = FiberImage(image_list(agitated_folder + 'ff_agitated_'),
                                ff_dark, ff_ambient)
    ff_unagitated = FiberImage(image_list(unagitated_folder + 'ff_unagitated_'),
                                  ff_dark, ff_ambient)
    ff_baseline = FiberImage(ff_agitated.get_gaussian_fit(),
                                pixel_size=ff_agitated.get_pixel_size(),
                                magnification=1, camera='ff')

    print()

    modal_noise = []
    for test in [nf_agitated, nf_unagitated, nf_baseline]:
        modal_noise.append(modal_noise(test, method='fft', output='array', radius_factor=1.0))
    plot_fft([modal_noise[i][1] for i in xrange(3)],
             [modal_noise[i][0] for i in xrange(3)],
             labels=['Agitated laser', 'Unagitated laser', 'Baseline'],
             title='NF Modal Noise Comparison (600um Fiber)')

    modal_noise = []
    for test in [ff_agitated, ff_unagitated, ff_baseline]: