In [1]:
import yaml
import numpy as np

import matplotlib.pyplot as plt
%matplotlib inline

from electronfactors import (
    equivalent_ellipse, print_to_pdf,
    display_equivalent_ellipse, display_shapely,
    make_shapely, make_ellipse
)

In [2]:
with open("imported_data/parameterised.yml", 'r') as file:
    cutout_data = yaml.load(file)

In [3]:
shapes_to_print = dict()

# key_list = ['P15_1', 'P38_3', 'P36_2', 'P42']
key_list = ['P7']
for i, key in enumerate(key_list):  
    shapes_to_print[key] = []
    
    cutout = make_shapely(**cutout_data[key])
    shapes_to_print[key].append(cutout)
    display_shapely(cutout, random_colours=False)
    
    ellipse = make_ellipse(**cutout_data[key])
    shapes_to_print[key].append(ellipse)
    display_shapely(ellipse, random_colours=False)



In [4]:
# key = 'P41'

# shapes_to_print['P41_cutout'] = []
# cutout = make_shapely(**cutout_data[key])
# shapes_to_print['P41_cutout'].append(cutout)
# display_shapely(cutout)


# shapes_to_print['P41_ellipse'] = []
# ellipse = make_ellipse(**cutout_data[key])
# shapes_to_print['P41_ellipse'].append(ellipse)
# display_shapely(ellipse)

In [5]:
custom_data = dict()

key = '6cm Square'
custom_data[key] = dict()
custom_data[key]['XCoords'] = np.array([-0.5, 0.5, 0.5, -0.5]) * 6
custom_data[key]['YCoords'] = np.array([0.5, 0.5, -0.5, -0.5]) * 6

# key = '3.5cm Square'
# custom_data[key] = dict()
# custom_data[key]['XCoords'] = np.array([-0.5, 0.5, 0.5, -0.5]) * 3.5
# custom_data[key]['YCoords'] = np.array([0.5, 0.5, -0.5, -0.5]) * 3.5

# key = '3x6cm Rectangle'
# custom_data[key] = dict()
# custom_data[key]['XCoords'] = np.array([-0.5, 0.5, 0.5, -0.5]) * 3
# custom_data[key]['YCoords'] = np.array([0.5, 0.5, -0.5, -0.5]) * 6

# key = 'Concave'
# custom_data[key] = dict()
# custom_data[key]['XCoords'] = np.array([-3.5, -3.5, 0, 3.5, 3.5, 0.5, 0.5, 3.5, 3.5, 0, -3.5])
# custom_data[key]['YCoords'] = np.array([0, 4, 5, 4.5, 2, 1.5, -1.5, -2, -4.5, -5, -4])

In [6]:
labels = [key for key in custom_data]

ellipse_raw = [equivalent_ellipse(display=True, **custom_data[key]) for key in labels]



In [7]:
for i, key in enumerate(labels):
    shapes_to_print[key] = []
    
    cutout = make_shapely(**custom_data[key])
    shapes_to_print[key].append(cutout)
    display_shapely(cutout, random_colours=False)    
    
#     x, y = straighten(poi=ellipse_raw[i]['poi'], **custom_data[key])
#     straight = make_shapely(XCoords=x, YCoords=y)
#     shapes_to_print[key].append(straight)
#     display_shapely(straight) 
    
    ellipse = make_ellipse(**ellipse_raw[i])
    shapes_to_print[key].append(ellipse)
    display_shapely(ellipse, random_colours=False)



In [8]:
for i, key in enumerate(shapes_to_print):
    filename = "scale_prints/" + str(key) + ".pdf"
    print_to_pdf(shapes_to_print[key], filename, scale=0.95, random_colours=False)