Exemplo n.º 1
0
def save_fft_plot(folder, tests, cam, labels, title):
    print 'saving fft plot'
    fft_info_list = []
    for test in tests:
        im_obj = FiberImage(object_file(folder, test, cam))
        fft_info_list.append(im_obj.get_modal_noise(method='fft'))
    min_wavelength = im_obj.pixel_size / im_obj.magnification * 2.0
    max_wavelength = im_obj.get_fiber_radius(method='edge', units='microns')
    plot_fft(fft_info_list,
             labels=labels,
             min_wavelength=min_wavelength,
             max_wavelength=max_wavelength)
    save_plot(folder + 'analysis/' + title + '/' + cam.upper() + '.png',
              dpi=600)
    save_plot(folder + 'analysis/' + title + '/' + cam.upper() + '.pdf',
              dpi=600)
Exemplo n.º 2
0
def save_modal_noise_data(folder, tests, cam, methods, title):
    print 'saving modal noise data'
    modal_noise_info = [['cam', 'test'] + methods]
    for i, test in enumerate(tests):
        im_obj = FiberImage(object_file(folder, test, cam))
        modal_noise_info.append([cam, test])
        for method in methods:
            modal_noise = im_obj.get_modal_noise(method)
            im_obj.save_object(object_file(folder, test, cam))
            print cam, test, method, modal_noise
            modal_noise_info[i + 1].append(modal_noise)

    with open(folder + 'analysis/' + title + '/' + cam.upper() + ' Data.csv',
              'wb') as f:
        wr = csv.writer(f)
        wr.writerows(modal_noise_info)
              '0.1Hz 160mm 80s',
              '1.0Hz 160mm 1s',
              '1.0Hz 160mm 10s',
              'baseline']


# def object_file(folder, test, cam):
#     return folder + test + '/' + cam + '_obj.pkl'

if __name__ == '__main__':
    for cam in CAMS:       
        # save_modal_noise_data(FOLDERS, TESTS, cam, labels, METHODS, TITLES) 
        modal_noise = []
        for title, folder, test in zip(TITLES, FOLDERS, TESTS):
            modal_noise.append([])
            for t in test:
                # mn = []
                # for im in xrange(10):
                #     im_obj = FiberImage(object_file(folder + t, cam, 1, im))
                #     mn.append(im_obj.get_modal_noise(method=METHOD))
                # mn = np.array(mn).mean()
                im_obj = FiberImage(object_file(folder + t, cam, 10, 0))
                mn = im_obj.get_modal_noise(method=METHOD)
                modal_noise[-1].append(mn)
                print t, mn

        plot_modal_noise(modal_noise, plot_type='bar', bar_labels=LABELS, labels=TITLES, method=METHOD)
        save_plot(FOLDER + 'analysis/' + TITLE + ' ' + cam.upper() + ' ' + METHOD + ' SNR.png')
        # save_plot(FOLDER + 'analysis/' + TITLE + ' ' + cam.upper() + ' ' + METHOD + ' SNR.pdf')

Exemplo n.º 4
0
if CASE == 4:
    TITLE = 'Amplitude vs Frequency NSR'
    FOLDER += 'amp_freq_200um/'
    TITLES = ['']
    FOLDERS = [FOLDER]
    TESTS = [[
        'agitated_5volts_40mm_8s', 'agitated_30volts_40mm_1s',
        'agitated_5volts_160mm_8s', 'agitated_30volts_160mm_1s', 'baseline'
    ]]
    LABELS = [
        '0.1Hz 40mm', '1.0Hz 40mm', '0.1Hz 160mm', '1.0Hz 160mm', 'LED source'
    ]


def object_file(folder, test, cam):
    return folder + test + '/' + cam + '_obj.pkl'


if __name__ == '__main__':
    for cam in CAMS:
        modal_noise = []
        for title, folder, test in zip(TITLES, FOLDERS, TESTS):
            modal_noise.append([])
            for t in test:
                im_obj = FiberImage(object_file(folder, t, cam))
                modal_noise[-1].append(im_obj.get_modal_noise(method=METHOD))

        plot_modal_noise(modal_noise, LABELS, TITLES, method=METHOD)
        save_plot(FOLDER + 'analysis/' + TITLE + '/' + cam.upper() + '.png')
        save_plot(FOLDER + 'analysis/' + TITLE + '/' + cam.upper() + '.pdf')