コード例 #1
0
def main(folder=FOLDER,
         cameras=CAMERAS,
         num_images=NUM_IMAGES,
         new_data=NEW_DATA):
    for cam in cameras:
        centers = []
        for i in xrange(0, 300 - num_images, num_images):
            object_file = cam + '_' + str(i).zfill(3) + '-' + str(
                i + num_images).zfill(3) + '_obj.pkl'

            if object_file not in os.listdir(folder) or new_data:
                images = [
                    folder + cam + '_' + str(j).zfill(3) + '.fit'
                    for j in xrange(i, i + num_images)
                ]
                ambient = [
                    folder + 'ambient/' + cam + '_' + str(j).zfill(3) + '.fit'
                    for j in xrange(min(10, num_images))
                ]
                dark = [
                    folder + 'dark/' + cam + '_' + str(j).zfill(3) + '.fit'
                    for j in xrange(min(10, num_images))
                ]
                im_obj = FiberImage(images,
                                    ambient=ambient,
                                    dark=dark,
                                    camera=cam)
                im_obj.save_object(folder + object_file)

            object_file = folder + object_file
            im_obj = FiberImage(object_file)
            center = im_obj.get_fiber_center(
                method='circle') - im_obj.get_fiber_centroid(method='full')
            print center
            centers.append(center)
            im_obj.save_object(object_file)

        plt.figure()
        plt.subplot(211)
        plt.plot([center.x for center in centers])

        plt.subplot(212)
        plt.plot([center.y for center in centers])

        plt.show()
コード例 #2
0
        if NEW_DATA:
            if PARALLELIZE:
                pool = Pool(processes=PROCESSES)
                pool.map(partial(save_objects, cam=cam, method=method),
                         range(NUM_IMAGES))
            else:
                for i in xrange(NUM_IMAGES):
                    save_objects(i, cam, method)

        for i in xrange(NUM_IMAGES):
            obj_file = cam + '_obj_' + str(i).zfill(3) + '.pkl'

            print 'loading ' + cam + '_' + str(i).zfill(3)
            obj = FiberImage(FOLDER + obj_file)
            data[cam].center.append(obj.get_fiber_center(method=method, units='microns'))
            data[cam].centroid.append(obj.get_fiber_centroid(method=method, units='microns'))
            data[cam].x_diff.append(data[cam].centroid[-1].x - data[cam].center[-1].x)
            data[cam].y_diff.append(data[cam].centroid[-1].y - data[cam].center[-1].y)
            data[cam].diameter.append(obj.get_fiber_diameter(method=method, units='microns'))
            data[cam].time.append(obj.date_time)
            obj.save_object(FOLDER + obj_file)
            if cam == 'in':
                data['spot'].center.append(obj.get_fiber_center(method='gaussian', units='microns'))
                data['spot'].centroid.append(obj.get_fiber_centroid(method='gaussian', units='microns'))
                data['spot'].x_diff.append(data['spot'].center[-1].x - data[cam].center[-1].x)
                data['spot'].y_diff.append(data['spot'].center[-1].y - data[cam].center[-1].y)
                data['spot'].diameter.append(obj.get_fiber_diameter(method='gaussian', units='microns'))
                data['spot'].time.append(obj.date_time)
                obj.save_object(FOLDER + obj_file)

    if 'in' in CAMS:
コード例 #3
0
from fiber_properties import FiberImage, image_list, show_image_array

folder = '../data/scrambling/2016-08-05 Prototype Core Extension 1/'
dark_folder = folder + 'Dark/'
ambient_folder = folder + 'Ambient/'

in_images = image_list(ambient_folder + 'in_')
nf_images = image_list(ambient_folder + 'nf_')
ff_images = image_list(ambient_folder + 'ff_')

print 'input'
for image in in_images:
    print FiberImage(image, camera='in', ambient=in_images).get_fiber_centroid(method='full', units='pixels')
print
print 'near field'
for image in nf_images:
    nf_obj = FiberImage(image, camera='nf')
    print nf_obj.get_fiber_centroid(method='full', units='pixels')
print
print 'far field'
for image in ff_images:
    ff_obj = FiberImage(image, camera='ff')
    print ff_obj.get_fiber_centroid(method='full', units='pixels')
コード例 #4
0
        if NEW_DATA:
            if PARALLELIZE:
                pool = Pool(processes=PROCESSES)
                pool.map(partial(save_objects, cam=cam, method=method),
                         range(NUM_IMAGES))
            else:
                for i in xrange(NUM_IMAGES):
                    save_objects(i, cam, method)

        for i in xrange(NUM_IMAGES):
            obj_file = cam + '_obj_' + str(i).zfill(3) + '.pkl'

            print 'loading ' + cam + '_' + str(i).zfill(3)
            obj = FiberImage(FOLDER + obj_file)
            data[cam].center.append(obj.get_fiber_center(method=method, **OPTIONS))
            data[cam].centroid.append(obj.get_fiber_centroid(method=method, **OPTIONS))
            data[cam].x_diff.append(data[cam].centroid[-1].x - data[cam].center[-1].x)
            data[cam].y_diff.append(data[cam].centroid[-1].y - data[cam].center[-1].y)
            # data[cam].x_diff.append(data[cam].centroid[-1].x)
            # data[cam].y_diff.append(data[cam].centroid[-1].y)
            data[cam].diameter.append(obj.get_fiber_diameter(method=method, **OPTIONS))
            data[cam].time.append(obj.date_time)
            obj.save_object(FOLDER + obj_file)

        avg_x_diff = np.median(data[cam].x_diff)
        avg_y_diff = np.median(data[cam].y_diff)
        init_time = np.copy(data[cam].time[0])
        for i in xrange(NUM_IMAGES):
            data[cam].x_diff[i] -= avg_x_diff
            data[cam].y_diff[i] -= avg_y_diff
            data[cam].time[i] -= init_time
コード例 #5
0
from fiber_properties import FiberImage, image_list, show_image_array

folder = '../data/scrambling/2016-08-05 Prototype Core Extension 1/'
dark_folder = folder + 'Dark/'
ambient_folder = folder + 'Ambient/'

in_images = image_list(ambient_folder + 'in_')
nf_images = image_list(ambient_folder + 'nf_')
ff_images = image_list(ambient_folder + 'ff_')

print 'input'
for image in in_images:
    print FiberImage(image, camera='in',
                     ambient=in_images).get_fiber_centroid(method='full',
                                                           units='pixels')
print
print 'near field'
for image in nf_images:
    nf_obj = FiberImage(image, camera='nf')
    print nf_obj.get_fiber_centroid(method='full', units='pixels')
print
print 'far field'
for image in ff_images:
    ff_obj = FiberImage(image, camera='ff')
    print ff_obj.get_fiber_centroid(method='full', units='pixels')