In [2]:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import skvideo.io
import cv2
import scipy.ndimage
from matplotlib import animation, rc
import fisheye
%matplotlib inline

In [61]:
df = pd.read_csv('R:/output.csv')

In [62]:
df.orientation_x.apply(lambda x: x if (x < 180.0) else x - 360.0).plot()


Out[62]:
<matplotlib.axes._subplots.AxesSubplot at 0x1d6537b4f28>

In [3]:
filename = 'C:/Users/corey/Desktop/output.mp4'
videodata = skvideo.io.vread(filename)
print(videodata.shape)


(6203, 480, 640, 3)

In [9]:
checkerboard_filename = 'C:/Users/corey/Desktop/checkerboard2.mp4'
checkerboard_videodata = skvideo.io.vread(checkerboard_filename)
print(checkerboard_videodata.shape)


(252, 480, 640, 3)

In [66]:
plt.imshow(videodata[200])


Out[66]:
<matplotlib.image.AxesImage at 0x209a04e6518>

In [67]:
img = videodata[200]
color = ('r','g','b')
for i,col in enumerate(color):
    histr = cv2.calcHist([img],[i],None,[256],[1,256])
    plt.plot(histr,color = col)
    plt.xlim([1,256])
plt.show()



In [44]:
plt.imshow(img[:][:][1])


Out[44]:
<matplotlib.image.AxesImage at 0x1d5eb317780>

In [59]:
df.steering_servo_voltage.plot()


Out[59]:
<matplotlib.axes._subplots.AxesSubplot at 0x1d6536d1b70>

In [60]:
pd.DataFrame({'enc0': df.encoder0_count.cumsum(), 'enc1': df.encoder1_count.cumsum()}).plot()


Out[60]:
<matplotlib.axes._subplots.AxesSubplot at 0x1d6536dd198>

In [66]:
pd.DataFrame({'enc0': df.encoder0_count.cumsum(), 'enc1': df.encoder1_count.cumsum()}).plot()


Out[66]:
<matplotlib.axes._subplots.AxesSubplot at 0x1d5eb1f8f28>

In [69]:
pd.DataFrame({'x': df.acceleration_x.cumsum().cumsum(), 'y': df.acceleration_y.cumsum().cumsum(), 'z': df.acceleration_z.cumsum().cumsum()}).plot()


Out[69]:
<matplotlib.axes._subplots.AxesSubplot at 0x1d5eb4432b0>

In [71]:
pd.DataFrame({'x': df.acceleration_x}).plot()


Out[71]:
<matplotlib.axes._subplots.AxesSubplot at 0x1d5ef400438>

In [72]:
plt.imshow(img)


Out[72]:
<matplotlib.image.AxesImage at 0x1d5f0c1c160>

In [79]:
edges = cv2.Canny(img,100,110)

plt.subplot(121),plt.imshow(img,cmap = 'gray')
plt.title('Original Image'), plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(edges,cmap = 'gray')
plt.title('Edge Image'), plt.xticks([]), plt.yticks([])

plt.show()



In [26]:
hsv = cv2.cvtColor(img, cv2.COLOR_RGB2HSV)
yuv = cv2.cvtColor(img, cv2.COLOR_RGB2YUV)

In [59]:
plt.imshow(yuv[:,:,2]<65)


Out[59]:
<matplotlib.image.AxesImage at 0x2099e369ba8>

In [50]:
np.max(yuv[:,:,1])


Out[50]:
181

In [76]:
img = videodata[260]
kernel = np.ones((5,5),np.float32)/25
sharpen = np.array((
    [0, -1, 0],
    [-1, 5, -1],
    [0, -1, 0]), dtype="int")
dst = cv2.filter2D(img,-1,sharpen)
plt.figure(figsize=(20,10))
plt.subplot(121),plt.imshow(img),plt.title('Original')
plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(dst),plt.title('Sharpen')
plt.xticks([]), plt.yticks([])
plt.show()



In [10]:
plt.figure(figsize=(10,10))
plt.imshow(checkerboard_videodata[200])


Out[10]:
<matplotlib.image.AxesImage at 0x2b6b53d8080>

In [8]:
#img = checkerboard_videodata[201]
img = scipy.ndimage.imread('R:/marv/bin/experiments/calib/output14.jpg')
resized_img = cv2.resize(img, (640, 480))
gray = cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)
plt.imshow(gray)


Out[8]:
<matplotlib.image.AxesImage at 0x1fdc9d93f98>

In [9]:
found, corners = cv2.findChessboardCorners(gray, (9,6))
found, corners


Out[9]:
(True, array([[[ 387.44219971,  268.0340271 ]],
 
        [[ 391.41043091,  243.48387146]],
 
        [[ 395.67733765,  218.22341919]],
 
        [[ 399.10699463,  194.78514099]],
 
        [[ 403.46136475,  171.52355957]],
 
        [[ 408.42980957,  149.73109436]],
 
        [[ 412.70275879,  128.1264801 ]],
 
        [[ 416.98709106,  107.19924927]],
 
        [[ 422.31445312,   87.37377167]],
 
        [[ 412.9715271 ,  271.77844238]],
 
        [[ 416.71731567,  246.59608459]],
 
        [[ 420.33361816,  222.90267944]],
 
        [[ 424.14169312,  199.06938171]],
 
        [[ 427.97311401,  176.79702759]],
 
        [[ 432.49575806,  154.10198975]],
 
        [[ 436.6272583 ,  132.62072754]],
 
        [[ 440.78225708,  112.44959259]],
 
        [[ 445.11633301,   92.59114075]],
 
        [[ 438.40213013,  275.12524414]],
 
        [[ 441.66421509,  250.65486145]],
 
        [[ 444.50204468,  226.92904663]],
 
        [[ 448.43789673,  203.8258667 ]],
 
        [[ 452.1628418 ,  180.51913452]],
 
        [[ 456.23260498,  159.25093079]],
 
        [[ 459.38140869,  137.66705322]],
 
        [[ 464.06546021,  117.53083038]],
 
        [[ 467.55648804,   97.6620636 ]],
 
        [[ 463.19403076,  279.06933594]],
 
        [[ 465.69662476,  254.70510864]],
 
        [[ 469.2593689 ,  231.51441956]],
 
        [[ 472.66159058,  207.79263306]],
 
        [[ 476.0241394 ,  185.54328918]],
 
        [[ 479.47949219,  164.09933472]],
 
        [[ 483.29983521,  142.60305786]],
 
        [[ 486.08319092,  122.61242676]],
 
        [[ 489.65936279,  103.49211121]],
 
        [[ 487.43414307,  282.99273682]],
 
        [[ 490.02850342,  259.05764771]],
 
        [[ 493.04766846,  235.56634521]],
 
        [[ 495.67828369,  212.64128113]],
 
        [[ 498.97409058,  190.50820923]],
 
        [[ 502.1880188 ,  168.79162598]],
 
        [[ 505.36965942,  148.11380005]],
 
        [[ 508.36398315,  128.21234131]],
 
        [[ 511.58361816,  108.76273346]],
 
        [[ 511.45184326,  287.16229248]],
 
        [[ 513.41583252,  263.13803101]],
 
        [[ 516.04724121,  240.18229675]],
 
        [[ 518.60461426,  218.03375244]],
 
        [[ 521.75994873,  195.74468994]],
 
        [[ 524.70935059,  174.0627594 ]],
 
        [[ 527.32373047,  153.73588562]],
 
        [[ 530.07501221,  134.00009155]],
 
        [[ 533.08062744,  114.60292816]]], dtype=float32))

In [344]:
plt.figure(figsize=(10,10))
plt.imshow(cv2.drawChessboardCorners(gray, patternSize=(6,7), corners=corners, patternWasFound=found))


---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-344-d409493cb364> in <module>()
      1 plt.figure(figsize=(10,10))
----> 2 plt.imshow(cv2.drawChessboardCorners(gray, patternSize=(6,7), corners=corners, patternWasFound=found))

NameError: name 'found' is not defined
<matplotlib.figure.Figure at 0x2cd8b0ab9b0>

In [341]:
img = scipy.ndimage.imread('D:/Downloads/opencv-3.3.0/samples/data/left01.jpg')
gray = img

In [342]:
plt.imshow(img)


Out[342]:
<matplotlib.image.AxesImage at 0x2cd8b07ca90>

In [343]:
objp = np.zeros((6*7,3), np.float32)
criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 30, 0.001)
objp[:,:2] = np.mgrid[0:7,0:6].T.reshape(-1,2)
objpoints = []
imgpoints = []
cv2.cornerSubPix(gray,corners,(11,11),(-1,-1),criteria)
objpoints.append(objp)
imgpoints.append(corners)
ret, mtx, dist, rvecs, tvecs = cv2.calibrateCamera(objpoints, imgpoints, gray.shape[::-1],None,None)
h,  w = img.shape[:2]
newcameramtx, roi=cv2.getOptimalNewCameraMatrix(mtx,dist,(w,h),1,(w,h))
print(roi)
plt.imshow(gray)


---------------------------------------------------------------------------
error                                     Traceback (most recent call last)
<ipython-input-343-3b523d3772b4> in <module>()
      7 objpoints.append(objp)
      8 imgpoints.append(corners)
----> 9 ret, mtx, dist, rvecs, tvecs = cv2.calibrateCamera(objpoints, imgpoints, gray.shape[::-1],None,None)
     10 h,  w = img.shape[:2]
     11 newcameramtx, roi=cv2.getOptimalNewCameraMatrix(mtx,dist,(w,h),1,(w,h))

error: ..\..\..\modules\calib3d\src\calibration.cpp:3064: error: (-215) ni == ni1 in function cv::collectCalibrationData

In [66]:
dst = cv2.undistort(img, mtx, dist, None, newcameramtx)
x,y,w,h = roi
print(x, y, w, h)
dst = dst[y:y+h, x:x+w]
plt.imshow(dst)


0 0 0 0
C:\Users\corey\Anaconda2\envs\rustler\lib\site-packages\matplotlib\axes\_base.py:2917: UserWarning: Attempting to set identical left==right results
in singular transformations; automatically expanding.
left=-0.5, right=-0.5
  'left=%s, right=%s') % (left, right))
C:\Users\corey\Anaconda2\envs\rustler\lib\site-packages\matplotlib\axes\_base.py:3193: UserWarning: Attempting to set identical bottom==top results
in singular transformations; automatically expanding.
bottom=-0.5, top=-0.5
  'bottom=%s, top=%s') % (bottom, top))
Out[66]:
<matplotlib.image.AxesImage at 0x2b6c7b3c780>

In [67]:
mapx,mapy = cv2.initUndistortRectifyMap(mtx,dist,None,newcameramtx,(1280,960),5)
dst = cv2.remap(img,mapx,mapy,cv2.INTER_LINEAR)
x,y,w,h = roi
dst = dst[y:y+h, x:x+w]
plt.imshow(dst)


C:\Users\corey\Anaconda2\envs\rustler\lib\site-packages\matplotlib\axes\_base.py:2917: UserWarning: Attempting to set identical left==right results
in singular transformations; automatically expanding.
left=-0.5, right=-0.5
  'left=%s, right=%s') % (left, right))
C:\Users\corey\Anaconda2\envs\rustler\lib\site-packages\matplotlib\axes\_base.py:3193: UserWarning: Attempting to set identical bottom==top results
in singular transformations; automatically expanding.
bottom=-0.5, top=-0.5
  'bottom=%s, top=%s') % (bottom, top))
Out[67]:
<matplotlib.image.AxesImage at 0x2b6c7ba0f60>

In [3]:
import numpy as np
import cv2
import glob

# termination criteria
criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 30, 0.001)

# prepare object points, like (0,0,0), (1,0,0), (2,0,0) ....,(6,5,0)
objp = np.zeros((6*9,3), np.float32)
objp[:,:2] = np.mgrid[0:9,0:6].T.reshape(-1,2)

# Arrays to store object points and image points from all the images.
objpoints = [] # 3d point in real world space
imgpoints = [] # 2d points in image plane.

images = glob.glob('R:/marv/bin/experiments/calib/*.jpg')

for fname in images:
    print(fname)
    img = cv2.imread(fname)
    gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

    # Find the chess board corners
    ret, corners = cv2.findChessboardCorners(gray, (9,6),None)

    # If found, add object points, image points (after refining them)
    if ret == True:
        print('found')
        objpoints.append(objp)

        cv2.cornerSubPix(gray,corners,(11,11),(-1,-1),criteria)
        imgpoints.append(corners)

        # Draw and display the corners
        cv2.drawChessboardCorners(img, (9,6), corners,ret)
        plt.imshow(img)
        #cv2.waitKey(500)

#cv2.destroyAllWindows()


R:/marv/bin/experiments/calib\output13.jpg
found
R:/marv/bin/experiments/calib\output07.jpg
found
R:/marv/bin/experiments/calib\output17.jpg
found
R:/marv/bin/experiments/calib\output03.jpg
found
R:/marv/bin/experiments/calib\output16.jpg
found
R:/marv/bin/experiments/calib\output15.jpg
found
R:/marv/bin/experiments/calib\output09.jpg
found
R:/marv/bin/experiments/calib\output01.jpg
found
R:/marv/bin/experiments/calib\output10.jpg
found
R:/marv/bin/experiments/calib\output00.jpg
R:/marv/bin/experiments/calib\output08.jpg
found
R:/marv/bin/experiments/calib\output02.jpg
found
R:/marv/bin/experiments/calib\output04.jpg
found
R:/marv/bin/experiments/calib\output14.jpg
found
R:/marv/bin/experiments/calib\output18.jpg
found
R:/marv/bin/experiments/calib\output06.jpg
found
R:/marv/bin/experiments/calib\output19.jpg
R:/marv/bin/experiments/calib\output05.jpg
found
R:/marv/bin/experiments/calib\output11.jpg
found
R:/marv/bin/experiments/calib\output12.jpg
found

In [274]:
fname = 'R:/marv/bin/experiments/output.jpg'
img = cv2.imread(fname)
gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
ret, mtx, dist, rvecs, tvecs = cv2.calibrateCamera(objpoints, imgpoints, gray.shape[::-1],None,None)
h,  w = img.shape[:2]
newcameramtx, roi=cv2.getOptimalNewCameraMatrix(mtx,dist,(w,h),1,(w,h))
print(roi)
plt.imshow(gray)


(1028, 544, 384, 252)
Out[274]:
<matplotlib.image.AxesImage at 0x2cd8ae00a58>

In [18]:
img.shape[:2]


Out[18]:
(1440, 1920)

In [345]:
# undistort
img = cv2.imread('R:/marv/bin/experiments/calib/output01.jpg')
dst = cv2.undistort(img, mtx, dist, None, newcameramtx)
plt.figure(figsize=(10, 10))
# crop the image
x,y,w,h = roi
dst = dst[y:y+h, x:x+w]
cv2.imwrite('calibresult.png',dst)
plt.imshow(dst)


Out[345]:
<matplotlib.image.AxesImage at 0x2cd27c38be0>

In [346]:
img = cv2.imread(fname)
gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
ret, mtx, dist, rvecs, tvecs = cv2.fisheye.calibrate(objpoints, imgpoints, gray.shape[::-1],None,None)
h,  w = img.shape[:2]
newcameramtx, roi=cv2.fisheye.estimateNewCameraMatrixForUndistortRectify(mtx,dist,(w,h),1,(w,h))
print(roi)
plt.imshow(gray)


---------------------------------------------------------------------------
error                                     Traceback (most recent call last)
<ipython-input-346-4a2c002af7ac> in <module>()
      1 img = cv2.imread(fname)
      2 gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
----> 3 ret, mtx, dist, rvecs, tvecs = cv2.fisheye.calibrate(objpoints, imgpoints, gray.shape[::-1],None,None)
      4 h,  w = img.shape[:2]
      5 newcameramtx, roi=cv2.fisheye.estimateNewCameraMatrixForUndistortRectify(mtx,dist,(w,h),1,(w,h))

error: ..\..\..\modules\calib3d\src\fisheye.cpp:695: error: (-215) objectPoints.type() == CV_32FC3 || objectPoints.type() == CV_64FC3 in function cv::fisheye::calibrate

In [31]:
objpoints, imgpoints


Out[31]:
([array([[ 0.,  0.,  0.],
         [ 1.,  0.,  0.],
         [ 2.,  0.,  0.],
         [ 3.,  0.,  0.],
         [ 4.,  0.,  0.],
         [ 5.,  0.,  0.],
         [ 6.,  0.,  0.],
         [ 7.,  0.,  0.],
         [ 8.,  0.,  0.],
         [ 0.,  1.,  0.],
         [ 1.,  1.,  0.],
         [ 2.,  1.,  0.],
         [ 3.,  1.,  0.],
         [ 4.,  1.,  0.],
         [ 5.,  1.,  0.],
         [ 6.,  1.,  0.],
         [ 7.,  1.,  0.],
         [ 8.,  1.,  0.],
         [ 0.,  2.,  0.],
         [ 1.,  2.,  0.],
         [ 2.,  2.,  0.],
         [ 3.,  2.,  0.],
         [ 4.,  2.,  0.],
         [ 5.,  2.,  0.],
         [ 6.,  2.,  0.],
         [ 7.,  2.,  0.],
         [ 8.,  2.,  0.],
         [ 0.,  3.,  0.],
         [ 1.,  3.,  0.],
         [ 2.,  3.,  0.],
         [ 3.,  3.,  0.],
         [ 4.,  3.,  0.],
         [ 5.,  3.,  0.],
         [ 6.,  3.,  0.],
         [ 7.,  3.,  0.],
         [ 8.,  3.,  0.],
         [ 0.,  4.,  0.],
         [ 1.,  4.,  0.],
         [ 2.,  4.,  0.],
         [ 3.,  4.,  0.],
         [ 4.,  4.,  0.],
         [ 5.,  4.,  0.],
         [ 6.,  4.,  0.],
         [ 7.,  4.,  0.],
         [ 8.,  4.,  0.],
         [ 0.,  5.,  0.],
         [ 1.,  5.,  0.],
         [ 2.,  5.,  0.],
         [ 3.,  5.,  0.],
         [ 4.,  5.,  0.],
         [ 5.,  5.,  0.],
         [ 6.,  5.,  0.],
         [ 7.,  5.,  0.],
         [ 8.,  5.,  0.]], dtype=float32), array([[ 0.,  0.,  0.],
         [ 1.,  0.,  0.],
         [ 2.,  0.,  0.],
         [ 3.,  0.,  0.],
         [ 4.,  0.,  0.],
         [ 5.,  0.,  0.],
         [ 6.,  0.,  0.],
         [ 7.,  0.,  0.],
         [ 8.,  0.,  0.],
         [ 0.,  1.,  0.],
         [ 1.,  1.,  0.],
         [ 2.,  1.,  0.],
         [ 3.,  1.,  0.],
         [ 4.,  1.,  0.],
         [ 5.,  1.,  0.],
         [ 6.,  1.,  0.],
         [ 7.,  1.,  0.],
         [ 8.,  1.,  0.],
         [ 0.,  2.,  0.],
         [ 1.,  2.,  0.],
         [ 2.,  2.,  0.],
         [ 3.,  2.,  0.],
         [ 4.,  2.,  0.],
         [ 5.,  2.,  0.],
         [ 6.,  2.,  0.],
         [ 7.,  2.,  0.],
         [ 8.,  2.,  0.],
         [ 0.,  3.,  0.],
         [ 1.,  3.,  0.],
         [ 2.,  3.,  0.],
         [ 3.,  3.,  0.],
         [ 4.,  3.,  0.],
         [ 5.,  3.,  0.],
         [ 6.,  3.,  0.],
         [ 7.,  3.,  0.],
         [ 8.,  3.,  0.],
         [ 0.,  4.,  0.],
         [ 1.,  4.,  0.],
         [ 2.,  4.,  0.],
         [ 3.,  4.,  0.],
         [ 4.,  4.,  0.],
         [ 5.,  4.,  0.],
         [ 6.,  4.,  0.],
         [ 7.,  4.,  0.],
         [ 8.,  4.,  0.],
         [ 0.,  5.,  0.],
         [ 1.,  5.,  0.],
         [ 2.,  5.,  0.],
         [ 3.,  5.,  0.],
         [ 4.,  5.,  0.],
         [ 5.,  5.,  0.],
         [ 6.,  5.,  0.],
         [ 7.,  5.,  0.],
         [ 8.,  5.,  0.]], dtype=float32), array([[ 0.,  0.,  0.],
         [ 1.,  0.,  0.],
         [ 2.,  0.,  0.],
         [ 3.,  0.,  0.],
         [ 4.,  0.,  0.],
         [ 5.,  0.,  0.],
         [ 6.,  0.,  0.],
         [ 7.,  0.,  0.],
         [ 8.,  0.,  0.],
         [ 0.,  1.,  0.],
         [ 1.,  1.,  0.],
         [ 2.,  1.,  0.],
         [ 3.,  1.,  0.],
         [ 4.,  1.,  0.],
         [ 5.,  1.,  0.],
         [ 6.,  1.,  0.],
         [ 7.,  1.,  0.],
         [ 8.,  1.,  0.],
         [ 0.,  2.,  0.],
         [ 1.,  2.,  0.],
         [ 2.,  2.,  0.],
         [ 3.,  2.,  0.],
         [ 4.,  2.,  0.],
         [ 5.,  2.,  0.],
         [ 6.,  2.,  0.],
         [ 7.,  2.,  0.],
         [ 8.,  2.,  0.],
         [ 0.,  3.,  0.],
         [ 1.,  3.,  0.],
         [ 2.,  3.,  0.],
         [ 3.,  3.,  0.],
         [ 4.,  3.,  0.],
         [ 5.,  3.,  0.],
         [ 6.,  3.,  0.],
         [ 7.,  3.,  0.],
         [ 8.,  3.,  0.],
         [ 0.,  4.,  0.],
         [ 1.,  4.,  0.],
         [ 2.,  4.,  0.],
         [ 3.,  4.,  0.],
         [ 4.,  4.,  0.],
         [ 5.,  4.,  0.],
         [ 6.,  4.,  0.],
         [ 7.,  4.,  0.],
         [ 8.,  4.,  0.],
         [ 0.,  5.,  0.],
         [ 1.,  5.,  0.],
         [ 2.,  5.,  0.],
         [ 3.,  5.,  0.],
         [ 4.,  5.,  0.],
         [ 5.,  5.,  0.],
         [ 6.,  5.,  0.],
         [ 7.,  5.,  0.],
         [ 8.,  5.,  0.]], dtype=float32), array([[ 0.,  0.,  0.],
         [ 1.,  0.,  0.],
         [ 2.,  0.,  0.],
         [ 3.,  0.,  0.],
         [ 4.,  0.,  0.],
         [ 5.,  0.,  0.],
         [ 6.,  0.,  0.],
         [ 7.,  0.,  0.],
         [ 8.,  0.,  0.],
         [ 0.,  1.,  0.],
         [ 1.,  1.,  0.],
         [ 2.,  1.,  0.],
         [ 3.,  1.,  0.],
         [ 4.,  1.,  0.],
         [ 5.,  1.,  0.],
         [ 6.,  1.,  0.],
         [ 7.,  1.,  0.],
         [ 8.,  1.,  0.],
         [ 0.,  2.,  0.],
         [ 1.,  2.,  0.],
         [ 2.,  2.,  0.],
         [ 3.,  2.,  0.],
         [ 4.,  2.,  0.],
         [ 5.,  2.,  0.],
         [ 6.,  2.,  0.],
         [ 7.,  2.,  0.],
         [ 8.,  2.,  0.],
         [ 0.,  3.,  0.],
         [ 1.,  3.,  0.],
         [ 2.,  3.,  0.],
         [ 3.,  3.,  0.],
         [ 4.,  3.,  0.],
         [ 5.,  3.,  0.],
         [ 6.,  3.,  0.],
         [ 7.,  3.,  0.],
         [ 8.,  3.,  0.],
         [ 0.,  4.,  0.],
         [ 1.,  4.,  0.],
         [ 2.,  4.,  0.],
         [ 3.,  4.,  0.],
         [ 4.,  4.,  0.],
         [ 5.,  4.,  0.],
         [ 6.,  4.,  0.],
         [ 7.,  4.,  0.],
         [ 8.,  4.,  0.],
         [ 0.,  5.,  0.],
         [ 1.,  5.,  0.],
         [ 2.,  5.,  0.],
         [ 3.,  5.,  0.],
         [ 4.,  5.,  0.],
         [ 5.,  5.,  0.],
         [ 6.,  5.,  0.],
         [ 7.,  5.,  0.],
         [ 8.,  5.,  0.]], dtype=float32), array([[ 0.,  0.,  0.],
         [ 1.,  0.,  0.],
         [ 2.,  0.,  0.],
         [ 3.,  0.,  0.],
         [ 4.,  0.,  0.],
         [ 5.,  0.,  0.],
         [ 6.,  0.,  0.],
         [ 7.,  0.,  0.],
         [ 8.,  0.,  0.],
         [ 0.,  1.,  0.],
         [ 1.,  1.,  0.],
         [ 2.,  1.,  0.],
         [ 3.,  1.,  0.],
         [ 4.,  1.,  0.],
         [ 5.,  1.,  0.],
         [ 6.,  1.,  0.],
         [ 7.,  1.,  0.],
         [ 8.,  1.,  0.],
         [ 0.,  2.,  0.],
         [ 1.,  2.,  0.],
         [ 2.,  2.,  0.],
         [ 3.,  2.,  0.],
         [ 4.,  2.,  0.],
         [ 5.,  2.,  0.],
         [ 6.,  2.,  0.],
         [ 7.,  2.,  0.],
         [ 8.,  2.,  0.],
         [ 0.,  3.,  0.],
         [ 1.,  3.,  0.],
         [ 2.,  3.,  0.],
         [ 3.,  3.,  0.],
         [ 4.,  3.,  0.],
         [ 5.,  3.,  0.],
         [ 6.,  3.,  0.],
         [ 7.,  3.,  0.],
         [ 8.,  3.,  0.],
         [ 0.,  4.,  0.],
         [ 1.,  4.,  0.],
         [ 2.,  4.,  0.],
         [ 3.,  4.,  0.],
         [ 4.,  4.,  0.],
         [ 5.,  4.,  0.],
         [ 6.,  4.,  0.],
         [ 7.,  4.,  0.],
         [ 8.,  4.,  0.],
         [ 0.,  5.,  0.],
         [ 1.,  5.,  0.],
         [ 2.,  5.,  0.],
         [ 3.,  5.,  0.],
         [ 4.,  5.,  0.],
         [ 5.,  5.,  0.],
         [ 6.,  5.,  0.],
         [ 7.,  5.,  0.],
         [ 8.,  5.,  0.]], dtype=float32), array([[ 0.,  0.,  0.],
         [ 1.,  0.,  0.],
         [ 2.,  0.,  0.],
         [ 3.,  0.,  0.],
         [ 4.,  0.,  0.],
         [ 5.,  0.,  0.],
         [ 6.,  0.,  0.],
         [ 7.,  0.,  0.],
         [ 8.,  0.,  0.],
         [ 0.,  1.,  0.],
         [ 1.,  1.,  0.],
         [ 2.,  1.,  0.],
         [ 3.,  1.,  0.],
         [ 4.,  1.,  0.],
         [ 5.,  1.,  0.],
         [ 6.,  1.,  0.],
         [ 7.,  1.,  0.],
         [ 8.,  1.,  0.],
         [ 0.,  2.,  0.],
         [ 1.,  2.,  0.],
         [ 2.,  2.,  0.],
         [ 3.,  2.,  0.],
         [ 4.,  2.,  0.],
         [ 5.,  2.,  0.],
         [ 6.,  2.,  0.],
         [ 7.,  2.,  0.],
         [ 8.,  2.,  0.],
         [ 0.,  3.,  0.],
         [ 1.,  3.,  0.],
         [ 2.,  3.,  0.],
         [ 3.,  3.,  0.],
         [ 4.,  3.,  0.],
         [ 5.,  3.,  0.],
         [ 6.,  3.,  0.],
         [ 7.,  3.,  0.],
         [ 8.,  3.,  0.],
         [ 0.,  4.,  0.],
         [ 1.,  4.,  0.],
         [ 2.,  4.,  0.],
         [ 3.,  4.,  0.],
         [ 4.,  4.,  0.],
         [ 5.,  4.,  0.],
         [ 6.,  4.,  0.],
         [ 7.,  4.,  0.],
         [ 8.,  4.,  0.],
         [ 0.,  5.,  0.],
         [ 1.,  5.,  0.],
         [ 2.,  5.,  0.],
         [ 3.,  5.,  0.],
         [ 4.,  5.,  0.],
         [ 5.,  5.,  0.],
         [ 6.,  5.,  0.],
         [ 7.,  5.,  0.],
         [ 8.,  5.,  0.]], dtype=float32), array([[ 0.,  0.,  0.],
         [ 1.,  0.,  0.],
         [ 2.,  0.,  0.],
         [ 3.,  0.,  0.],
         [ 4.,  0.,  0.],
         [ 5.,  0.,  0.],
         [ 6.,  0.,  0.],
         [ 7.,  0.,  0.],
         [ 8.,  0.,  0.],
         [ 0.,  1.,  0.],
         [ 1.,  1.,  0.],
         [ 2.,  1.,  0.],
         [ 3.,  1.,  0.],
         [ 4.,  1.,  0.],
         [ 5.,  1.,  0.],
         [ 6.,  1.,  0.],
         [ 7.,  1.,  0.],
         [ 8.,  1.,  0.],
         [ 0.,  2.,  0.],
         [ 1.,  2.,  0.],
         [ 2.,  2.,  0.],
         [ 3.,  2.,  0.],
         [ 4.,  2.,  0.],
         [ 5.,  2.,  0.],
         [ 6.,  2.,  0.],
         [ 7.,  2.,  0.],
         [ 8.,  2.,  0.],
         [ 0.,  3.,  0.],
         [ 1.,  3.,  0.],
         [ 2.,  3.,  0.],
         [ 3.,  3.,  0.],
         [ 4.,  3.,  0.],
         [ 5.,  3.,  0.],
         [ 6.,  3.,  0.],
         [ 7.,  3.,  0.],
         [ 8.,  3.,  0.],
         [ 0.,  4.,  0.],
         [ 1.,  4.,  0.],
         [ 2.,  4.,  0.],
         [ 3.,  4.,  0.],
         [ 4.,  4.,  0.],
         [ 5.,  4.,  0.],
         [ 6.,  4.,  0.],
         [ 7.,  4.,  0.],
         [ 8.,  4.,  0.],
         [ 0.,  5.,  0.],
         [ 1.,  5.,  0.],
         [ 2.,  5.,  0.],
         [ 3.,  5.,  0.],
         [ 4.,  5.,  0.],
         [ 5.,  5.,  0.],
         [ 6.,  5.,  0.],
         [ 7.,  5.,  0.],
         [ 8.,  5.,  0.]], dtype=float32), array([[ 0.,  0.,  0.],
         [ 1.,  0.,  0.],
         [ 2.,  0.,  0.],
         [ 3.,  0.,  0.],
         [ 4.,  0.,  0.],
         [ 5.,  0.,  0.],
         [ 6.,  0.,  0.],
         [ 7.,  0.,  0.],
         [ 8.,  0.,  0.],
         [ 0.,  1.,  0.],
         [ 1.,  1.,  0.],
         [ 2.,  1.,  0.],
         [ 3.,  1.,  0.],
         [ 4.,  1.,  0.],
         [ 5.,  1.,  0.],
         [ 6.,  1.,  0.],
         [ 7.,  1.,  0.],
         [ 8.,  1.,  0.],
         [ 0.,  2.,  0.],
         [ 1.,  2.,  0.],
         [ 2.,  2.,  0.],
         [ 3.,  2.,  0.],
         [ 4.,  2.,  0.],
         [ 5.,  2.,  0.],
         [ 6.,  2.,  0.],
         [ 7.,  2.,  0.],
         [ 8.,  2.,  0.],
         [ 0.,  3.,  0.],
         [ 1.,  3.,  0.],
         [ 2.,  3.,  0.],
         [ 3.,  3.,  0.],
         [ 4.,  3.,  0.],
         [ 5.,  3.,  0.],
         [ 6.,  3.,  0.],
         [ 7.,  3.,  0.],
         [ 8.,  3.,  0.],
         [ 0.,  4.,  0.],
         [ 1.,  4.,  0.],
         [ 2.,  4.,  0.],
         [ 3.,  4.,  0.],
         [ 4.,  4.,  0.],
         [ 5.,  4.,  0.],
         [ 6.,  4.,  0.],
         [ 7.,  4.,  0.],
         [ 8.,  4.,  0.],
         [ 0.,  5.,  0.],
         [ 1.,  5.,  0.],
         [ 2.,  5.,  0.],
         [ 3.,  5.,  0.],
         [ 4.,  5.,  0.],
         [ 5.,  5.,  0.],
         [ 6.,  5.,  0.],
         [ 7.,  5.,  0.],
         [ 8.,  5.,  0.]], dtype=float32), array([[ 0.,  0.,  0.],
         [ 1.,  0.,  0.],
         [ 2.,  0.,  0.],
         [ 3.,  0.,  0.],
         [ 4.,  0.,  0.],
         [ 5.,  0.,  0.],
         [ 6.,  0.,  0.],
         [ 7.,  0.,  0.],
         [ 8.,  0.,  0.],
         [ 0.,  1.,  0.],
         [ 1.,  1.,  0.],
         [ 2.,  1.,  0.],
         [ 3.,  1.,  0.],
         [ 4.,  1.,  0.],
         [ 5.,  1.,  0.],
         [ 6.,  1.,  0.],
         [ 7.,  1.,  0.],
         [ 8.,  1.,  0.],
         [ 0.,  2.,  0.],
         [ 1.,  2.,  0.],
         [ 2.,  2.,  0.],
         [ 3.,  2.,  0.],
         [ 4.,  2.,  0.],
         [ 5.,  2.,  0.],
         [ 6.,  2.,  0.],
         [ 7.,  2.,  0.],
         [ 8.,  2.,  0.],
         [ 0.,  3.,  0.],
         [ 1.,  3.,  0.],
         [ 2.,  3.,  0.],
         [ 3.,  3.,  0.],
         [ 4.,  3.,  0.],
         [ 5.,  3.,  0.],
         [ 6.,  3.,  0.],
         [ 7.,  3.,  0.],
         [ 8.,  3.,  0.],
         [ 0.,  4.,  0.],
         [ 1.,  4.,  0.],
         [ 2.,  4.,  0.],
         [ 3.,  4.,  0.],
         [ 4.,  4.,  0.],
         [ 5.,  4.,  0.],
         [ 6.,  4.,  0.],
         [ 7.,  4.,  0.],
         [ 8.,  4.,  0.],
         [ 0.,  5.,  0.],
         [ 1.,  5.,  0.],
         [ 2.,  5.,  0.],
         [ 3.,  5.,  0.],
         [ 4.,  5.,  0.],
         [ 5.,  5.,  0.],
         [ 6.,  5.,  0.],
         [ 7.,  5.,  0.],
         [ 8.,  5.,  0.]], dtype=float32), array([[ 0.,  0.,  0.],
         [ 1.,  0.,  0.],
         [ 2.,  0.,  0.],
         [ 3.,  0.,  0.],
         [ 4.,  0.,  0.],
         [ 5.,  0.,  0.],
         [ 6.,  0.,  0.],
         [ 7.,  0.,  0.],
         [ 8.,  0.,  0.],
         [ 0.,  1.,  0.],
         [ 1.,  1.,  0.],
         [ 2.,  1.,  0.],
         [ 3.,  1.,  0.],
         [ 4.,  1.,  0.],
         [ 5.,  1.,  0.],
         [ 6.,  1.,  0.],
         [ 7.,  1.,  0.],
         [ 8.,  1.,  0.],
         [ 0.,  2.,  0.],
         [ 1.,  2.,  0.],
         [ 2.,  2.,  0.],
         [ 3.,  2.,  0.],
         [ 4.,  2.,  0.],
         [ 5.,  2.,  0.],
         [ 6.,  2.,  0.],
         [ 7.,  2.,  0.],
         [ 8.,  2.,  0.],
         [ 0.,  3.,  0.],
         [ 1.,  3.,  0.],
         [ 2.,  3.,  0.],
         [ 3.,  3.,  0.],
         [ 4.,  3.,  0.],
         [ 5.,  3.,  0.],
         [ 6.,  3.,  0.],
         [ 7.,  3.,  0.],
         [ 8.,  3.,  0.],
         [ 0.,  4.,  0.],
         [ 1.,  4.,  0.],
         [ 2.,  4.,  0.],
         [ 3.,  4.,  0.],
         [ 4.,  4.,  0.],
         [ 5.,  4.,  0.],
         [ 6.,  4.,  0.],
         [ 7.,  4.,  0.],
         [ 8.,  4.,  0.],
         [ 0.,  5.,  0.],
         [ 1.,  5.,  0.],
         [ 2.,  5.,  0.],
         [ 3.,  5.,  0.],
         [ 4.,  5.,  0.],
         [ 5.,  5.,  0.],
         [ 6.,  5.,  0.],
         [ 7.,  5.,  0.],
         [ 8.,  5.,  0.]], dtype=float32), array([[ 0.,  0.,  0.],
         [ 1.,  0.,  0.],
         [ 2.,  0.,  0.],
         [ 3.,  0.,  0.],
         [ 4.,  0.,  0.],
         [ 5.,  0.,  0.],
         [ 6.,  0.,  0.],
         [ 7.,  0.,  0.],
         [ 8.,  0.,  0.],
         [ 0.,  1.,  0.],
         [ 1.,  1.,  0.],
         [ 2.,  1.,  0.],
         [ 3.,  1.,  0.],
         [ 4.,  1.,  0.],
         [ 5.,  1.,  0.],
         [ 6.,  1.,  0.],
         [ 7.,  1.,  0.],
         [ 8.,  1.,  0.],
         [ 0.,  2.,  0.],
         [ 1.,  2.,  0.],
         [ 2.,  2.,  0.],
         [ 3.,  2.,  0.],
         [ 4.,  2.,  0.],
         [ 5.,  2.,  0.],
         [ 6.,  2.,  0.],
         [ 7.,  2.,  0.],
         [ 8.,  2.,  0.],
         [ 0.,  3.,  0.],
         [ 1.,  3.,  0.],
         [ 2.,  3.,  0.],
         [ 3.,  3.,  0.],
         [ 4.,  3.,  0.],
         [ 5.,  3.,  0.],
         [ 6.,  3.,  0.],
         [ 7.,  3.,  0.],
         [ 8.,  3.,  0.],
         [ 0.,  4.,  0.],
         [ 1.,  4.,  0.],
         [ 2.,  4.,  0.],
         [ 3.,  4.,  0.],
         [ 4.,  4.,  0.],
         [ 5.,  4.,  0.],
         [ 6.,  4.,  0.],
         [ 7.,  4.,  0.],
         [ 8.,  4.,  0.],
         [ 0.,  5.,  0.],
         [ 1.,  5.,  0.],
         [ 2.,  5.,  0.],
         [ 3.,  5.,  0.],
         [ 4.,  5.,  0.],
         [ 5.,  5.,  0.],
         [ 6.,  5.,  0.],
         [ 7.,  5.,  0.],
         [ 8.,  5.,  0.]], dtype=float32), array([[ 0.,  0.,  0.],
         [ 1.,  0.,  0.],
         [ 2.,  0.,  0.],
         [ 3.,  0.,  0.],
         [ 4.,  0.,  0.],
         [ 5.,  0.,  0.],
         [ 6.,  0.,  0.],
         [ 7.,  0.,  0.],
         [ 8.,  0.,  0.],
         [ 0.,  1.,  0.],
         [ 1.,  1.,  0.],
         [ 2.,  1.,  0.],
         [ 3.,  1.,  0.],
         [ 4.,  1.,  0.],
         [ 5.,  1.,  0.],
         [ 6.,  1.,  0.],
         [ 7.,  1.,  0.],
         [ 8.,  1.,  0.],
         [ 0.,  2.,  0.],
         [ 1.,  2.,  0.],
         [ 2.,  2.,  0.],
         [ 3.,  2.,  0.],
         [ 4.,  2.,  0.],
         [ 5.,  2.,  0.],
         [ 6.,  2.,  0.],
         [ 7.,  2.,  0.],
         [ 8.,  2.,  0.],
         [ 0.,  3.,  0.],
         [ 1.,  3.,  0.],
         [ 2.,  3.,  0.],
         [ 3.,  3.,  0.],
         [ 4.,  3.,  0.],
         [ 5.,  3.,  0.],
         [ 6.,  3.,  0.],
         [ 7.,  3.,  0.],
         [ 8.,  3.,  0.],
         [ 0.,  4.,  0.],
         [ 1.,  4.,  0.],
         [ 2.,  4.,  0.],
         [ 3.,  4.,  0.],
         [ 4.,  4.,  0.],
         [ 5.,  4.,  0.],
         [ 6.,  4.,  0.],
         [ 7.,  4.,  0.],
         [ 8.,  4.,  0.],
         [ 0.,  5.,  0.],
         [ 1.,  5.,  0.],
         [ 2.,  5.,  0.],
         [ 3.,  5.,  0.],
         [ 4.,  5.,  0.],
         [ 5.,  5.,  0.],
         [ 6.,  5.,  0.],
         [ 7.,  5.,  0.],
         [ 8.,  5.,  0.]], dtype=float32), array([[ 0.,  0.,  0.],
         [ 1.,  0.,  0.],
         [ 2.,  0.,  0.],
         [ 3.,  0.,  0.],
         [ 4.,  0.,  0.],
         [ 5.,  0.,  0.],
         [ 6.,  0.,  0.],
         [ 7.,  0.,  0.],
         [ 8.,  0.,  0.],
         [ 0.,  1.,  0.],
         [ 1.,  1.,  0.],
         [ 2.,  1.,  0.],
         [ 3.,  1.,  0.],
         [ 4.,  1.,  0.],
         [ 5.,  1.,  0.],
         [ 6.,  1.,  0.],
         [ 7.,  1.,  0.],
         [ 8.,  1.,  0.],
         [ 0.,  2.,  0.],
         [ 1.,  2.,  0.],
         [ 2.,  2.,  0.],
         [ 3.,  2.,  0.],
         [ 4.,  2.,  0.],
         [ 5.,  2.,  0.],
         [ 6.,  2.,  0.],
         [ 7.,  2.,  0.],
         [ 8.,  2.,  0.],
         [ 0.,  3.,  0.],
         [ 1.,  3.,  0.],
         [ 2.,  3.,  0.],
         [ 3.,  3.,  0.],
         [ 4.,  3.,  0.],
         [ 5.,  3.,  0.],
         [ 6.,  3.,  0.],
         [ 7.,  3.,  0.],
         [ 8.,  3.,  0.],
         [ 0.,  4.,  0.],
         [ 1.,  4.,  0.],
         [ 2.,  4.,  0.],
         [ 3.,  4.,  0.],
         [ 4.,  4.,  0.],
         [ 5.,  4.,  0.],
         [ 6.,  4.,  0.],
         [ 7.,  4.,  0.],
         [ 8.,  4.,  0.],
         [ 0.,  5.,  0.],
         [ 1.,  5.,  0.],
         [ 2.,  5.,  0.],
         [ 3.,  5.,  0.],
         [ 4.,  5.,  0.],
         [ 5.,  5.,  0.],
         [ 6.,  5.,  0.],
         [ 7.,  5.,  0.],
         [ 8.,  5.,  0.]], dtype=float32), array([[ 0.,  0.,  0.],
         [ 1.,  0.,  0.],
         [ 2.,  0.,  0.],
         [ 3.,  0.,  0.],
         [ 4.,  0.,  0.],
         [ 5.,  0.,  0.],
         [ 6.,  0.,  0.],
         [ 7.,  0.,  0.],
         [ 8.,  0.,  0.],
         [ 0.,  1.,  0.],
         [ 1.,  1.,  0.],
         [ 2.,  1.,  0.],
         [ 3.,  1.,  0.],
         [ 4.,  1.,  0.],
         [ 5.,  1.,  0.],
         [ 6.,  1.,  0.],
         [ 7.,  1.,  0.],
         [ 8.,  1.,  0.],
         [ 0.,  2.,  0.],
         [ 1.,  2.,  0.],
         [ 2.,  2.,  0.],
         [ 3.,  2.,  0.],
         [ 4.,  2.,  0.],
         [ 5.,  2.,  0.],
         [ 6.,  2.,  0.],
         [ 7.,  2.,  0.],
         [ 8.,  2.,  0.],
         [ 0.,  3.,  0.],
         [ 1.,  3.,  0.],
         [ 2.,  3.,  0.],
         [ 3.,  3.,  0.],
         [ 4.,  3.,  0.],
         [ 5.,  3.,  0.],
         [ 6.,  3.,  0.],
         [ 7.,  3.,  0.],
         [ 8.,  3.,  0.],
         [ 0.,  4.,  0.],
         [ 1.,  4.,  0.],
         [ 2.,  4.,  0.],
         [ 3.,  4.,  0.],
         [ 4.,  4.,  0.],
         [ 5.,  4.,  0.],
         [ 6.,  4.,  0.],
         [ 7.,  4.,  0.],
         [ 8.,  4.,  0.],
         [ 0.,  5.,  0.],
         [ 1.,  5.,  0.],
         [ 2.,  5.,  0.],
         [ 3.,  5.,  0.],
         [ 4.,  5.,  0.],
         [ 5.,  5.,  0.],
         [ 6.,  5.,  0.],
         [ 7.,  5.,  0.],
         [ 8.,  5.,  0.]], dtype=float32), array([[ 0.,  0.,  0.],
         [ 1.,  0.,  0.],
         [ 2.,  0.,  0.],
         [ 3.,  0.,  0.],
         [ 4.,  0.,  0.],
         [ 5.,  0.,  0.],
         [ 6.,  0.,  0.],
         [ 7.,  0.,  0.],
         [ 8.,  0.,  0.],
         [ 0.,  1.,  0.],
         [ 1.,  1.,  0.],
         [ 2.,  1.,  0.],
         [ 3.,  1.,  0.],
         [ 4.,  1.,  0.],
         [ 5.,  1.,  0.],
         [ 6.,  1.,  0.],
         [ 7.,  1.,  0.],
         [ 8.,  1.,  0.],
         [ 0.,  2.,  0.],
         [ 1.,  2.,  0.],
         [ 2.,  2.,  0.],
         [ 3.,  2.,  0.],
         [ 4.,  2.,  0.],
         [ 5.,  2.,  0.],
         [ 6.,  2.,  0.],
         [ 7.,  2.,  0.],
         [ 8.,  2.,  0.],
         [ 0.,  3.,  0.],
         [ 1.,  3.,  0.],
         [ 2.,  3.,  0.],
         [ 3.,  3.,  0.],
         [ 4.,  3.,  0.],
         [ 5.,  3.,  0.],
         [ 6.,  3.,  0.],
         [ 7.,  3.,  0.],
         [ 8.,  3.,  0.],
         [ 0.,  4.,  0.],
         [ 1.,  4.,  0.],
         [ 2.,  4.,  0.],
         [ 3.,  4.,  0.],
         [ 4.,  4.,  0.],
         [ 5.,  4.,  0.],
         [ 6.,  4.,  0.],
         [ 7.,  4.,  0.],
         [ 8.,  4.,  0.],
         [ 0.,  5.,  0.],
         [ 1.,  5.,  0.],
         [ 2.,  5.,  0.],
         [ 3.,  5.,  0.],
         [ 4.,  5.,  0.],
         [ 5.,  5.,  0.],
         [ 6.,  5.,  0.],
         [ 7.,  5.,  0.],
         [ 8.,  5.,  0.]], dtype=float32), array([[ 0.,  0.,  0.],
         [ 1.,  0.,  0.],
         [ 2.,  0.,  0.],
         [ 3.,  0.,  0.],
         [ 4.,  0.,  0.],
         [ 5.,  0.,  0.],
         [ 6.,  0.,  0.],
         [ 7.,  0.,  0.],
         [ 8.,  0.,  0.],
         [ 0.,  1.,  0.],
         [ 1.,  1.,  0.],
         [ 2.,  1.,  0.],
         [ 3.,  1.,  0.],
         [ 4.,  1.,  0.],
         [ 5.,  1.,  0.],
         [ 6.,  1.,  0.],
         [ 7.,  1.,  0.],
         [ 8.,  1.,  0.],
         [ 0.,  2.,  0.],
         [ 1.,  2.,  0.],
         [ 2.,  2.,  0.],
         [ 3.,  2.,  0.],
         [ 4.,  2.,  0.],
         [ 5.,  2.,  0.],
         [ 6.,  2.,  0.],
         [ 7.,  2.,  0.],
         [ 8.,  2.,  0.],
         [ 0.,  3.,  0.],
         [ 1.,  3.,  0.],
         [ 2.,  3.,  0.],
         [ 3.,  3.,  0.],
         [ 4.,  3.,  0.],
         [ 5.,  3.,  0.],
         [ 6.,  3.,  0.],
         [ 7.,  3.,  0.],
         [ 8.,  3.,  0.],
         [ 0.,  4.,  0.],
         [ 1.,  4.,  0.],
         [ 2.,  4.,  0.],
         [ 3.,  4.,  0.],
         [ 4.,  4.,  0.],
         [ 5.,  4.,  0.],
         [ 6.,  4.,  0.],
         [ 7.,  4.,  0.],
         [ 8.,  4.,  0.],
         [ 0.,  5.,  0.],
         [ 1.,  5.,  0.],
         [ 2.,  5.,  0.],
         [ 3.,  5.,  0.],
         [ 4.,  5.,  0.],
         [ 5.,  5.,  0.],
         [ 6.,  5.,  0.],
         [ 7.,  5.,  0.],
         [ 8.,  5.,  0.]], dtype=float32), array([[ 0.,  0.,  0.],
         [ 1.,  0.,  0.],
         [ 2.,  0.,  0.],
         [ 3.,  0.,  0.],
         [ 4.,  0.,  0.],
         [ 5.,  0.,  0.],
         [ 6.,  0.,  0.],
         [ 7.,  0.,  0.],
         [ 8.,  0.,  0.],
         [ 0.,  1.,  0.],
         [ 1.,  1.,  0.],
         [ 2.,  1.,  0.],
         [ 3.,  1.,  0.],
         [ 4.,  1.,  0.],
         [ 5.,  1.,  0.],
         [ 6.,  1.,  0.],
         [ 7.,  1.,  0.],
         [ 8.,  1.,  0.],
         [ 0.,  2.,  0.],
         [ 1.,  2.,  0.],
         [ 2.,  2.,  0.],
         [ 3.,  2.,  0.],
         [ 4.,  2.,  0.],
         [ 5.,  2.,  0.],
         [ 6.,  2.,  0.],
         [ 7.,  2.,  0.],
         [ 8.,  2.,  0.],
         [ 0.,  3.,  0.],
         [ 1.,  3.,  0.],
         [ 2.,  3.,  0.],
         [ 3.,  3.,  0.],
         [ 4.,  3.,  0.],
         [ 5.,  3.,  0.],
         [ 6.,  3.,  0.],
         [ 7.,  3.,  0.],
         [ 8.,  3.,  0.],
         [ 0.,  4.,  0.],
         [ 1.,  4.,  0.],
         [ 2.,  4.,  0.],
         [ 3.,  4.,  0.],
         [ 4.,  4.,  0.],
         [ 5.,  4.,  0.],
         [ 6.,  4.,  0.],
         [ 7.,  4.,  0.],
         [ 8.,  4.,  0.],
         [ 0.,  5.,  0.],
         [ 1.,  5.,  0.],
         [ 2.,  5.,  0.],
         [ 3.,  5.,  0.],
         [ 4.,  5.,  0.],
         [ 5.,  5.,  0.],
         [ 6.,  5.,  0.],
         [ 7.,  5.,  0.],
         [ 8.,  5.,  0.]], dtype=float32), array([[ 0.,  0.,  0.],
         [ 1.,  0.,  0.],
         [ 2.,  0.,  0.],
         [ 3.,  0.,  0.],
         [ 4.,  0.,  0.],
         [ 5.,  0.,  0.],
         [ 6.,  0.,  0.],
         [ 7.,  0.,  0.],
         [ 8.,  0.,  0.],
         [ 0.,  1.,  0.],
         [ 1.,  1.,  0.],
         [ 2.,  1.,  0.],
         [ 3.,  1.,  0.],
         [ 4.,  1.,  0.],
         [ 5.,  1.,  0.],
         [ 6.,  1.,  0.],
         [ 7.,  1.,  0.],
         [ 8.,  1.,  0.],
         [ 0.,  2.,  0.],
         [ 1.,  2.,  0.],
         [ 2.,  2.,  0.],
         [ 3.,  2.,  0.],
         [ 4.,  2.,  0.],
         [ 5.,  2.,  0.],
         [ 6.,  2.,  0.],
         [ 7.,  2.,  0.],
         [ 8.,  2.,  0.],
         [ 0.,  3.,  0.],
         [ 1.,  3.,  0.],
         [ 2.,  3.,  0.],
         [ 3.,  3.,  0.],
         [ 4.,  3.,  0.],
         [ 5.,  3.,  0.],
         [ 6.,  3.,  0.],
         [ 7.,  3.,  0.],
         [ 8.,  3.,  0.],
         [ 0.,  4.,  0.],
         [ 1.,  4.,  0.],
         [ 2.,  4.,  0.],
         [ 3.,  4.,  0.],
         [ 4.,  4.,  0.],
         [ 5.,  4.,  0.],
         [ 6.,  4.,  0.],
         [ 7.,  4.,  0.],
         [ 8.,  4.,  0.],
         [ 0.,  5.,  0.],
         [ 1.,  5.,  0.],
         [ 2.,  5.,  0.],
         [ 3.,  5.,  0.],
         [ 4.,  5.,  0.],
         [ 5.,  5.,  0.],
         [ 6.,  5.,  0.],
         [ 7.,  5.,  0.],
         [ 8.,  5.,  0.]], dtype=float32)],
 [array([[[ 719.31036377,  286.69180298]],
  
         [[ 718.61010742,  261.97644043]],
  
         [[ 717.95227051,  237.765625  ]],
  
         [[ 717.74884033,  214.01872253]],
  
         [[ 717.59222412,  191.04312134]],
  
         [[ 717.61090088,  168.72663879]],
  
         [[ 717.86157227,  147.30757141]],
  
         [[ 718.21252441,  126.59737396]],
  
         [[ 718.7253418 ,  106.58558655]],
  
         [[ 741.5246582 ,  278.07461548]],
  
         [[ 740.57843018,  252.80633545]],
  
         [[ 740.1151123 ,  228.29043579]],
  
         [[ 739.53466797,  204.45713806]],
  
         [[ 739.2411499 ,  181.28222656]],
  
         [[ 738.95654297,  159.09391785]],
  
         [[ 739.00012207,  137.25274658]],
  
         [[ 739.21893311,  116.44116211]],
  
         [[ 739.77154541,   96.30412292]],
  
         [[ 764.81268311,  269.20196533]],
  
         [[ 763.6942749 ,  243.74472046]],
  
         [[ 762.80767822,  218.8535614 ]],
  
         [[ 761.99743652,  195.09033203]],
  
         [[ 761.54644775,  171.48953247]],
  
         [[ 761.31311035,  149.02711487]],
  
         [[ 761.03948975,  127.34047699]],
  
         [[ 761.10784912,  106.21894073]],
  
         [[ 761.33343506,   85.84004211]],
  
         [[ 788.90203857,  260.35473633]],
  
         [[ 787.51739502,  234.56222534]],
  
         [[ 786.58123779,  209.39888   ]],
  
         [[ 785.7019043 ,  185.19671631]],
  
         [[ 785.03259277,  161.55111694]],
  
         [[ 784.37884521,  138.85166931]],
  
         [[ 783.87866211,  117.09283447]],
  
         [[ 783.67181396,   95.93548584]],
  
         [[ 783.75640869,   75.628685  ]],
  
         [[ 814.16503906,  251.3069458 ]],
  
         [[ 812.57086182,  225.33216858]],
  
         [[ 811.26306152,  200.11485291]],
  
         [[ 810.11175537,  175.57711792]],
  
         [[ 809.16674805,  151.74201965]],
  
         [[ 808.39910889,  128.83520508]],
  
         [[ 807.66217041,  107.0144577 ]],
  
         [[ 807.168396  ,   85.68199921]],
  
         [[ 806.83947754,   65.31178284]],
  
         [[ 840.24066162,  242.35183716]],
  
         [[ 838.41339111,  216.14195251]],
  
         [[ 836.862854  ,  190.57926941]],
  
         [[ 835.53973389,  165.94590759]],
  
         [[ 834.39709473,  142.01986694]],
  
         [[ 833.24127197,  119.0562973 ]],
  
         [[ 832.2902832 ,   96.70767212]],
  
         [[ 831.51037598,   75.58529663]],
  
         [[ 830.79882812,   55.26166916]]], dtype=float32),
  array([[[ 464.12561035,  245.68467712]],
  
         [[ 467.53689575,  220.70532227]],
  
         [[ 471.15725708,  196.47927856]],
  
         [[ 474.84448242,  172.57873535]],
  
         [[ 478.94229126,  149.31640625]],
  
         [[ 483.20089722,  126.56562042]],
  
         [[ 487.54571533,  104.64219666]],
  
         [[ 492.06277466,   83.27716064]],
  
         [[ 496.71520996,   62.57040024]],
  
         [[ 490.11785889,  243.54631042]],
  
         [[ 493.32925415,  218.61245728]],
  
         [[ 496.8062439 ,  194.41389465]],
  
         [[ 500.4369812 ,  170.5954895 ]],
  
         [[ 504.4597168 ,  147.07824707]],
  
         [[ 508.34674072,  124.4646225 ]],
  
         [[ 512.74645996,  102.43518829]],
  
         [[ 517.1618042 ,   81.03392792]],
  
         [[ 521.80334473,   60.29764938]],
  
         [[ 516.53497314,  241.66365051]],
  
         [[ 519.61010742,  217.02668762]],
  
         [[ 522.95477295,  192.37120056]],
  
         [[ 526.48974609,  168.65356445]],
  
         [[ 530.38360596,  145.27041626]],
  
         [[ 534.32208252,  122.67111969]],
  
         [[ 538.4107666 ,  100.57091522]],
  
         [[ 542.58776855,   79.1824646 ]],
  
         [[ 546.9095459 ,   58.3966713 ]],
  
         [[ 543.22058105,  240.31329346]],
  
         [[ 546.32714844,  215.48338318]],
  
         [[ 549.5748291 ,  190.95075989]],
  
         [[ 552.90655518,  167.13580322]],
  
         [[ 556.59545898,  143.67259216]],
  
         [[ 560.34899902,  121.09558868]],
  
         [[ 564.41003418,   98.88858032]],
  
         [[ 568.32818604,   77.57294464]],
  
         [[ 572.65527344,   56.9926796 ]],
  
         [[ 570.40863037,  239.10180664]],
  
         [[ 573.35894775,  214.3052063 ]],
  
         [[ 576.49200439,  189.7644043 ]],
  
         [[ 579.74981689,  165.90881348]],
  
         [[ 583.1864624 ,  142.57420349]],
  
         [[ 586.80041504,  119.98071289]],
  
         [[ 590.57891846,   97.837883  ]],
  
         [[ 594.36798096,   76.5272522 ]],
  
         [[ 598.27166748,   55.90663147]],
  
         [[ 597.7833252 ,  238.22053528]],
  
         [[ 600.47821045,  213.21961975]],
  
         [[ 603.58251953,  188.93295288]],
  
         [[ 606.75079346,  165.30873108]],
  
         [[ 610.09008789,  141.82055664]],
  
         [[ 613.56738281,  119.2040329 ]],
  
         [[ 616.925354  ,   97.30844879]],
  
         [[ 620.5927124 ,   75.83828735]],
  
         [[ 624.54156494,   55.12817001]]], dtype=float32),
  array([[[ 1097.6484375 ,   245.95483398]],
  
         [[ 1087.42358398,   225.04084778]],
  
         [[ 1077.09631348,   204.33355713]],
  
         [[ 1066.65661621,   183.33174133]],
  
         [[ 1056.1114502 ,   162.54792786]],
  
         [[ 1045.46386719,   142.24101257]],
  
         [[ 1034.45825195,   121.86607361]],
  
         [[ 1023.66094971,   101.70089722]],
  
         [[ 1012.81170654,    81.87554169]],
  
         [[ 1120.24572754,   236.69073486]],
  
         [[ 1109.99719238,   216.18209839]],
  
         [[ 1099.72961426,   194.81692505]],
  
         [[ 1089.22937012,   174.04458618]],
  
         [[ 1078.62329102,   153.20278931]],
  
         [[ 1068.08093262,   132.76087952]],
  
         [[ 1057.39624023,   112.27706909]],
  
         [[ 1046.26074219,    92.01287079]],
  
         [[ 1035.47570801,    72.34791565]],
  
         [[ 1142.90124512,   227.90351868]],
  
         [[ 1132.6932373 ,   206.95179749]],
  
         [[ 1122.42492676,   185.99246216]],
  
         [[ 1111.97973633,   164.91007996]],
  
         [[ 1101.56896973,   143.88031006]],
  
         [[ 1090.77099609,   123.3378067 ]],
  
         [[ 1080.2130127 ,   102.88368988]],
  
         [[ 1069.21740723,    82.65361023]],
  
         [[ 1058.53210449,    62.71802902]],
  
         [[ 1165.34777832,   219.48977661]],
  
         [[ 1155.38146973,   198.29217529]],
  
         [[ 1144.96911621,   177.07511902]],
  
         [[ 1134.75549316,   156.2900238 ]],
  
         [[ 1124.35534668,   134.95298767]],
  
         [[ 1113.76989746,   114.36521912]],
  
         [[ 1102.85913086,    93.6307373 ]],
  
         [[ 1092.14099121,    73.58297729]],
  
         [[ 1081.19165039,    53.55780792]],
  
         [[ 1188.09008789,   211.02467346]],
  
         [[ 1178.03430176,   189.60317993]],
  
         [[ 1167.90197754,   168.42303467]],
  
         [[ 1157.68713379,   147.4034729 ]],
  
         [[ 1147.34326172,   126.47686005]],
  
         [[ 1136.64465332,   105.5786438 ]],
  
         [[ 1125.62487793,    85.13014984]],
  
         [[ 1114.99450684,    64.66284943]],
  
         [[ 1104.20605469,    44.89373016]],
  
         [[ 1210.50500488,   202.6375885 ]],
  
         [[ 1200.61816406,   181.41603088]],
  
         [[ 1190.63146973,   160.26045227]],
  
         [[ 1180.34753418,   139.18721008]],
  
         [[ 1170.00915527,   118.0499115 ]],
  
         [[ 1159.33361816,    97.18468475]],
  
         [[ 1148.6875    ,    76.64191437]],
  
         [[ 1137.87487793,    56.27387238]],
  
         [[ 1127.28051758,    36.12328339]]], dtype=float32),
  array([[[  981.99468994,   636.86309814]],
  
         [[  981.65161133,   605.84246826]],
  
         [[  981.41241455,   574.6529541 ]],
  
         [[  981.19091797,   543.53747559]],
  
         [[  980.73474121,   512.43017578]],
  
         [[  980.53009033,   481.48849487]],
  
         [[  980.1572876 ,   451.01449585]],
  
         [[  979.58514404,   420.74853516]],
  
         [[  979.26116943,   391.13311768]],
  
         [[ 1014.23590088,   636.62597656]],
  
         [[ 1013.94104004,   605.64093018]],
  
         [[ 1013.64233398,   574.46264648]],
  
         [[ 1013.3671875 ,   543.33300781]],
  
         [[ 1013.18591309,   512.25933838]],
  
         [[ 1012.60443115,   481.30203247]],
  
         [[ 1012.34350586,   450.62445068]],
  
         [[ 1011.73651123,   420.56311035]],
  
         [[ 1011.1987915 ,   390.82012939]],
  
         [[ 1046.41015625,   636.362854  ]],
  
         [[ 1046.27490234,   605.4251709 ]],
  
         [[ 1046.02307129,   574.26367188]],
  
         [[ 1045.6307373 ,   543.33129883]],
  
         [[ 1045.31811523,   512.16833496]],
  
         [[ 1044.89587402,   481.18481445]],
  
         [[ 1044.43334961,   450.63327026]],
  
         [[ 1043.76599121,   420.64135742]],
  
         [[ 1043.2421875 ,   390.98760986]],
  
         [[ 1078.22338867,   636.28027344]],
  
         [[ 1078.1739502 ,   605.28552246]],
  
         [[ 1078.03649902,   574.31915283]],
  
         [[ 1077.68713379,   543.24560547]],
  
         [[ 1077.41638184,   512.23852539]],
  
         [[ 1076.79541016,   481.38650513]],
  
         [[ 1076.31750488,   450.80957031]],
  
         [[ 1075.61047363,   420.78656006]],
  
         [[ 1074.8260498 ,   391.12158203]],
  
         [[ 1109.68969727,   636.11401367]],
  
         [[ 1109.86169434,   605.39532471]],
  
         [[ 1109.7467041 ,   574.41015625]],
  
         [[ 1109.6328125 ,   543.43255615]],
  
         [[ 1109.28588867,   512.39331055]],
  
         [[ 1108.71142578,   481.71682739]],
  
         [[ 1107.99462891,   451.37353516]],
  
         [[ 1107.29345703,   421.38522339]],
  
         [[ 1106.42785645,   391.73788452]],
  
         [[ 1141.22619629,   636.12548828]],
  
         [[ 1141.32641602,   605.42980957]],
  
         [[ 1141.20471191,   574.5668335 ]],
  
         [[ 1140.88293457,   543.6930542 ]],
  
         [[ 1140.64050293,   512.7689209 ]],
  
         [[ 1140.28564453,   482.34487915]],
  
         [[ 1139.38330078,   451.9616394 ]],
  
         [[ 1138.43359375,   422.06344604]],
  
         [[ 1137.54187012,   392.59005737]]], dtype=float32),
  array([[[  851.16662598,   547.61083984]],
  
         [[  849.55493164,   520.56695557]],
  
         [[  848.20715332,   494.20007324]],
  
         [[  846.74859619,   468.55187988]],
  
         [[  845.64776611,   443.51483154]],
  
         [[  844.48669434,   419.40829468]],
  
         [[  843.5010376 ,   396.09414673]],
  
         [[  842.4942627 ,   373.74258423]],
  
         [[  841.53308105,   352.25808716]],
  
         [[  881.73822021,   545.24536133]],
  
         [[  879.93084717,   518.08441162]],
  
         [[  878.19592285,   491.77642822]],
  
         [[  876.48809814,   466.17089844]],
  
         [[  874.94354248,   441.14276123]],
  
         [[  873.37823486,   417.03741455]],
  
         [[  871.91052246,   393.76651001]],
  
         [[  870.60015869,   371.54290771]],
  
         [[  869.43200684,   349.92932129]],
  
         [[  912.57940674,   542.97576904]],
  
         [[  910.42071533,   515.7645874 ]],
  
         [[  908.28674316,   489.40505981]],
  
         [[  906.27679443,   463.93487549]],
  
         [[  904.18548584,   439.08148193]],
  
         [[  902.37042236,   415.02340698]],
  
         [[  900.57855225,   391.83575439]],
  
         [[  898.7300415 ,   369.49411011]],
  
         [[  897.18969727,   348.13122559]],
  
         [[  943.27178955,   540.62145996]],
  
         [[  940.68011475,   513.66497803]],
  
         [[  938.32556152,   487.37481689]],
  
         [[  935.71044922,   461.96612549]],
  
         [[  933.51251221,   437.10159302]],
  
         [[  931.30102539,   413.15411377]],
  
         [[  929.13153076,   390.00805664]],
  
         [[  926.89172363,   367.74780273]],
  
         [[  925.01556396,   346.29867554]],
  
         [[  973.74041748,   538.57000732]],
  
         [[  971.01782227,   511.67123413]],
  
         [[  968.21380615,   485.53131104]],
  
         [[  965.50067139,   460.1892395 ]],
  
         [[  962.67871094,   435.36279297]],
  
         [[  960.18310547,   411.50454712]],
  
         [[  957.53271484,   388.52728271]],
  
         [[  954.95690918,   366.33395386]],
  
         [[  952.51397705,   344.80975342]],
  
         [[ 1004.1005249 ,   536.62567139]],
  
         [[ 1001.04498291,   509.76437378]],
  
         [[  997.75726318,   483.90130615]],
  
         [[  994.75134277,   458.6237793 ]],
  
         [[  991.75262451,   434.08517456]],
  
         [[  988.72772217,   410.2507019 ]],
  
         [[  985.74694824,   387.16897583]],
  
         [[  982.89898682,   365.08050537]],
  
         [[  980.15673828,   343.61880493]]], dtype=float32),
  array([[[ 403.67379761,  260.86300659]],
  
         [[ 410.50457764,  236.65275574]],
  
         [[ 417.91281128,  212.2973175 ]],
  
         [[ 425.57247925,  187.84150696]],
  
         [[ 433.72177124,  163.092453  ]],
  
         [[ 442.45065308,  138.55232239]],
  
         [[ 451.51519775,  113.79457092]],
  
         [[ 461.00845337,   89.30094147]],
  
         [[ 470.90704346,   64.73388672]],
  
         [[ 427.44851685,  264.73455811]],
  
         [[ 434.77722168,  240.71261597]],
  
         [[ 442.22613525,  216.57441711]],
  
         [[ 450.2869873 ,  192.25074768]],
  
         [[ 458.51895142,  167.63470459]],
  
         [[ 467.28445435,  143.08465576]],
  
         [[ 476.44512939,  118.64972687]],
  
         [[ 485.75253296,   94.29618835]],
  
         [[ 495.97390747,   69.62378693]],
  
         [[ 451.63873291,  268.6864624 ]],
  
         [[ 458.93856812,  244.72016907]],
  
         [[ 466.55432129,  220.79640198]],
  
         [[ 474.6171875 ,  196.54631042]],
  
         [[ 483.20843506,  172.39349365]],
  
         [[ 492.00717163,  148.09126282]],
  
         [[ 501.23098755,  123.7157135 ]],
  
         [[ 510.76309204,   99.42182159]],
  
         [[ 520.75366211,   75.43831635]],
  
         [[ 475.71606445,  272.75564575]],
  
         [[ 483.17617798,  249.36428833]],
  
         [[ 490.92904663,  225.53065491]],
  
         [[ 499.15161133,  201.55151367]],
  
         [[ 507.7605896 ,  177.46098328]],
  
         [[ 516.73114014,  153.30352783]],
  
         [[ 526.112854  ,  129.09680176]],
  
         [[ 535.69171143,  104.95990753]],
  
         [[ 546.04364014,   80.9564209 ]],
  
         [[ 499.81948853,  277.20617676]],
  
         [[ 507.47555542,  253.91046143]],
  
         [[ 515.30773926,  230.37411499]],
  
         [[ 523.76763916,  206.65731812]],
  
         [[ 532.42529297,  182.73439026]],
  
         [[ 541.50720215,  158.8631134 ]],
  
         [[ 550.85095215,  134.75366211]],
  
         [[ 560.79620361,  110.99092865]],
  
         [[ 570.53717041,   87.34178925]],
  
         [[ 523.65625   ,  282.00317383]],
  
         [[ 531.55822754,  258.86853027]],
  
         [[ 539.64520264,  235.32084656]],
  
         [[ 548.16558838,  211.82745361]],
  
         [[ 557.08526611,  188.24172974]],
  
         [[ 566.14562988,  164.55758667]],
  
         [[ 575.5211792 ,  140.57144165]],
  
         [[ 585.18572998,  117.08314514]],
  
         [[ 595.23468018,   93.42095184]]], dtype=float32),
  array([[[ 1075.10021973,   267.46969604]],
  
         [[ 1073.0567627 ,   243.60842896]],
  
         [[ 1070.79553223,   220.2205658 ]],
  
         [[ 1068.80737305,   197.2578125 ]],
  
         [[ 1066.61706543,   174.55558777]],
  
         [[ 1064.58422852,   152.37928772]],
  
         [[ 1062.4050293 ,   130.97709656]],
  
         [[ 1060.30334473,   110.18431854]],
  
         [[ 1058.1270752 ,    89.68603516]],
  
         [[ 1101.84765625,   265.61950684]],
  
         [[ 1099.53759766,   241.6832428 ]],
  
         [[ 1097.47460938,   218.24700928]],
  
         [[ 1095.24768066,   195.12945557]],
  
         [[ 1092.95825195,   172.41506958]],
  
         [[ 1090.49023438,   150.4196167 ]],
  
         [[ 1088.15808105,   128.8303833 ]],
  
         [[ 1085.83642578,   107.89484406]],
  
         [[ 1083.64025879,    87.45484161]],
  
         [[ 1128.51025391,   264.02416992]],
  
         [[ 1126.21643066,   240.15693665]],
  
         [[ 1123.95214844,   216.60148621]],
  
         [[ 1121.57421875,   193.43981934]],
  
         [[ 1119.1184082 ,   170.83044434]],
  
         [[ 1116.69555664,   148.56752014]],
  
         [[ 1114.04699707,   127.07194519]],
  
         [[ 1111.67980957,   106.09333038]],
  
         [[ 1109.10534668,    85.62372589]],
  
         [[ 1155.35717773,   262.71435547]],
  
         [[ 1152.7980957 ,   238.73313904]],
  
         [[ 1150.49377441,   215.20094299]],
  
         [[ 1148.02258301,   191.99003601]],
  
         [[ 1145.40441895,   169.24516296]],
  
         [[ 1142.7109375 ,   147.02238464]],
  
         [[ 1140.26208496,   125.53726196]],
  
         [[ 1137.43518066,   104.42041016]],
  
         [[ 1134.71765137,    83.87471008]],
  
         [[ 1181.96020508,   261.69329834]],
  
         [[ 1179.6072998 ,   237.67935181]],
  
         [[ 1177.04125977,   214.1749115 ]],
  
         [[ 1174.51818848,   190.93344116]],
  
         [[ 1171.82128906,   168.2407074 ]],
  
         [[ 1168.97180176,   145.99633789]],
  
         [[ 1166.14941406,   124.34620667]],
  
         [[ 1163.44543457,   103.20262146]],
  
         [[ 1160.33398438,    82.67643738]],
  
         [[ 1208.71618652,   260.88363647]],
  
         [[ 1206.25097656,   237.05914307]],
  
         [[ 1203.63720703,   213.30158997]],
  
         [[ 1200.72753906,   190.20336914]],
  
         [[ 1198.02990723,   167.22943115]],
  
         [[ 1195.08850098,   145.2021637 ]],
  
         [[ 1192.05456543,   123.44948578]],
  
         [[ 1188.98034668,   102.38343048]],
  
         [[ 1185.96142578,    81.9283371 ]]], dtype=float32),
  array([[[ 1098.63061523,   589.54992676]],
  
         [[ 1095.57922363,   558.87353516]],
  
         [[ 1092.43432617,   528.57287598]],
  
         [[ 1088.99267578,   498.44299316]],
  
         [[ 1085.85229492,   468.71707153]],
  
         [[ 1082.40319824,   439.55093384]],
  
         [[ 1078.91235352,   410.88565063]],
  
         [[ 1075.48815918,   383.08496094]],
  
         [[ 1071.88671875,   355.552948  ]],
  
         [[ 1130.23815918,   586.878479  ]],
  
         [[ 1127.04101562,   556.29498291]],
  
         [[ 1123.82800293,   525.92706299]],
  
         [[ 1120.36096191,   495.81185913]],
  
         [[ 1117.05883789,   466.25097656]],
  
         [[ 1113.40222168,   437.13430786]],
  
         [[ 1109.82299805,   408.42449951]],
  
         [[ 1106.1217041 ,   380.57711792]],
  
         [[ 1102.4486084 ,   353.26467896]],
  
         [[ 1161.59594727,   584.21923828]],
  
         [[ 1158.4161377 ,   553.65948486]],
  
         [[ 1155.07714844,   523.41864014]],
  
         [[ 1151.60839844,   493.49606323]],
  
         [[ 1147.92504883,   463.77615356]],
  
         [[ 1144.36633301,   434.77096558]],
  
         [[ 1140.5682373 ,   406.23699951]],
  
         [[ 1136.51757812,   378.27270508]],
  
         [[ 1132.61047363,   350.99487305]],
  
         [[ 1192.62341309,   581.70263672]],
  
         [[ 1189.41870117,   551.32958984]],
  
         [[ 1186.12390137,   521.19512939]],
  
         [[ 1182.34020996,   491.26358032]],
  
         [[ 1178.68432617,   461.58563232]],
  
         [[ 1174.83886719,   432.65005493]],
  
         [[ 1170.77429199,   404.14697266]],
  
         [[ 1166.7989502 ,   376.29925537]],
  
         [[ 1162.69873047,   349.22460938]],
  
         [[ 1223.33105469,   579.3293457 ]],
  
         [[ 1220.10351562,   549.20397949]],
  
         [[ 1216.60021973,   518.81762695]],
  
         [[ 1213.0065918 ,   489.32894897]],
  
         [[ 1209.19885254,   459.69619751]],
  
         [[ 1205.22290039,   430.8236084 ]],
  
         [[ 1201.06188965,   402.55502319]],
  
         [[ 1196.61987305,   374.68441772]],
  
         [[ 1192.29394531,   347.57330322]],
  
         [[ 1253.5177002 ,   577.13323975]],
  
         [[ 1250.32385254,   546.98443604]],
  
         [[ 1246.70092773,   517.12097168]],
  
         [[ 1242.96447754,   487.40960693]],
  
         [[ 1238.93395996,   458.02926636]],
  
         [[ 1234.80871582,   429.2723999 ]],
  
         [[ 1230.6036377 ,   400.91705322]],
  
         [[ 1225.96069336,   373.36941528]],
  
         [[ 1221.66210938,   346.37719727]]], dtype=float32),
  array([[[ 1198.04248047,   567.50732422]],
  
         [[ 1195.35510254,   539.27001953]],
  
         [[ 1192.38354492,   511.103302  ]],
  
         [[ 1189.34558105,   483.46609497]],
  
         [[ 1186.22546387,   456.20928955]],
  
         [[ 1182.98486328,   429.50204468]],
  
         [[ 1179.60754395,   403.40493774]],
  
         [[ 1176.28747559,   377.95840454]],
  
         [[ 1172.65698242,   353.23065186]],
  
         [[ 1227.52868652,   565.51275635]],
  
         [[ 1224.60461426,   537.15014648]],
  
         [[ 1221.48974609,   509.10183716]],
  
         [[ 1218.28552246,   481.27389526]],
  
         [[ 1215.07434082,   454.00152588]],
  
         [[ 1211.61206055,   427.21844482]],
  
         [[ 1208.11450195,   401.06317139]],
  
         [[ 1204.34338379,   375.65579224]],
  
         [[ 1200.64404297,   350.80654907]],
  
         [[ 1256.7611084 ,   563.41265869]],
  
         [[ 1253.72106934,   535.00231934]],
  
         [[ 1250.54467773,   506.80917358]],
  
         [[ 1247.25610352,   479.21261597]],
  
         [[ 1243.67504883,   451.90795898]],
  
         [[ 1240.13500977,   425.21514893]],
  
         [[ 1236.39428711,   399.13220215]],
  
         [[ 1232.42199707,   373.55648804]],
  
         [[ 1228.54455566,   348.89645386]],
  
         [[ 1285.82397461,   561.41265869]],
  
         [[ 1282.57446289,   533.00128174]],
  
         [[ 1279.27563477,   505.0138855 ]],
  
         [[ 1275.73059082,   477.37036133]],
  
         [[ 1272.21191406,   450.06448364]],
  
         [[ 1268.45056152,   423.42547607]],
  
         [[ 1264.43005371,   397.18484497]],
  
         [[ 1260.3137207 ,   371.7696228 ]],
  
         [[ 1256.15820312,   347.00643921]],
  
         [[ 1314.54528809,   559.62945557]],
  
         [[ 1311.39794922,   531.37579346]],
  
         [[ 1307.72875977,   503.27694702]],
  
         [[ 1304.30993652,   475.56613159]],
  
         [[ 1300.42211914,   448.49362183]],
  
         [[ 1296.3704834 ,   421.78466797]],
  
         [[ 1292.27368164,   395.68988037]],
  
         [[ 1287.84143066,   370.35192871]],
  
         [[ 1283.51879883,   345.59695435]],
  
         [[ 1342.89501953,   557.8112793 ]],
  
         [[ 1339.48706055,   529.53594971]],
  
         [[ 1335.85168457,   501.51123047]],
  
         [[ 1332.32897949,   474.21368408]],
  
         [[ 1328.30432129,   447.04516602]],
  
         [[ 1324.08728027,   420.42651367]],
  
         [[ 1319.64318848,   394.48416138]],
  
         [[ 1315.24597168,   368.9977417 ]],
  
         [[ 1310.67651367,   344.31100464]]], dtype=float32),
  array([[[ 805.5791626 ,  234.29846191]],
  
         [[ 805.79986572,  210.59883118]],
  
         [[ 806.34448242,  187.52015686]],
  
         [[ 806.82775879,  164.80743408]],
  
         [[ 806.69750977,  142.45349121]],
  
         [[ 808.08886719,  120.60279846]],
  
         [[ 808.26324463,   99.7310257 ]],
  
         [[ 809.1439209 ,   79.20294952]],
  
         [[ 809.70556641,   59.66927338]],
  
         [[ 832.8092041 ,  233.29405212]],
  
         [[ 832.25109863,  209.43951416]],
  
         [[ 833.24786377,  185.91741943]],
  
         [[ 832.46264648,  163.38072205]],
  
         [[ 833.61724854,  141.15087891]],
  
         [[ 834.4005127 ,  119.47432709]],
  
         [[ 834.96118164,   98.3921814 ]],
  
         [[ 835.54034424,   77.89506531]],
  
         [[ 835.72705078,   58.19732285]],
  
         [[ 860.25036621,  232.08474731]],
  
         [[ 860.81958008,  208.42085266]],
  
         [[ 859.48773193,  185.25057983]],
  
         [[ 860.80041504,  162.459198  ]],
  
         [[ 860.42224121,  140.20573425]],
  
         [[ 861.20068359,  118.43396759]],
  
         [[ 861.01538086,   97.41283417]],
  
         [[ 861.37695312,   77.06450653]],
  
         [[ 861.51251221,   57.22142792]],
  
         [[ 887.08496094,  231.53465271]],
  
         [[ 886.88891602,  208.00143433]],
  
         [[ 887.47454834,  184.46281433]],
  
         [[ 887.39776611,  161.94485474]],
  
         [[ 887.21643066,  139.38398743]],
  
         [[ 887.33300781,  118.07254028]],
  
         [[ 887.61938477,   96.78292847]],
  
         [[ 887.44696045,   76.56066895]],
  
         [[ 888.43395996,   56.63256073]],
  
         [[ 914.76953125,  231.29969788]],
  
         [[ 915.12823486,  207.47415161]],
  
         [[ 914.94934082,  184.39854431]],
  
         [[ 914.73718262,  161.47810364]],
  
         [[ 913.60217285,  139.62522888]],
  
         [[ 914.43280029,  117.58551025]],
  
         [[ 913.90093994,   96.67694092]],
  
         [[ 914.33831787,   76.32360077]],
  
         [[ 913.58660889,   56.69720459]],
  
         [[ 942.93920898,  231.09994507]],
  
         [[ 941.45056152,  207.62428284]],
  
         [[ 942.29321289,  184.38551331]],
  
         [[ 941.44250488,  162.06413269]],
  
         [[ 941.66552734,  139.49578857]],
  
         [[ 940.60528564,  117.76217651]],
  
         [[ 940.54821777,   96.74438477]],
  
         [[ 939.45233154,   76.65885925]],
  
         [[ 941.10522461,   56.92242432]]], dtype=float32),
  array([[[ 1297.39782715,   650.29046631]],
  
         [[ 1296.79064941,   617.97381592]],
  
         [[ 1295.94421387,   585.44519043]],
  
         [[ 1294.86096191,   552.96917725]],
  
         [[ 1293.40380859,   520.58648682]],
  
         [[ 1291.75561523,   488.44198608]],
  
         [[ 1289.85449219,   456.54772949]],
  
         [[ 1287.62121582,   425.20724487]],
  
         [[ 1285.29003906,   394.13977051]],
  
         [[ 1329.69213867,   650.40032959]],
  
         [[ 1329.27868652,   617.83081055]],
  
         [[ 1328.37585449,   585.23822021]],
  
         [[ 1327.28076172,   552.58032227]],
  
         [[ 1326.00830078,   519.90020752]],
  
         [[ 1324.20666504,   487.50668335]],
  
         [[ 1322.25744629,   455.53588867]],
  
         [[ 1319.88623047,   423.80447388]],
  
         [[ 1317.39892578,   392.5864563 ]],
  
         [[ 1362.04406738,   650.6126709 ]],
  
         [[ 1361.6953125 ,   617.97637939]],
  
         [[ 1361.05822754,   585.02832031]],
  
         [[ 1359.8494873 ,   552.28045654]],
  
         [[ 1358.4630127 ,   519.45410156]],
  
         [[ 1356.71716309,   486.90689087]],
  
         [[ 1354.63012695,   454.69030762]],
  
         [[ 1352.08483887,   423.00750732]],
  
         [[ 1349.41271973,   391.67254639]],
  
         [[ 1394.3807373 ,   650.86572266]],
  
         [[ 1393.98510742,   618.13226318]],
  
         [[ 1393.37670898,   585.02954102]],
  
         [[ 1392.40209961,   552.23522949]],
  
         [[ 1390.85046387,   519.12322998]],
  
         [[ 1389.20532227,   486.48721313]],
  
         [[ 1386.83007812,   454.17712402]],
  
         [[ 1384.47705078,   422.14508057]],
  
         [[ 1381.46374512,   390.74185181]],
  
         [[ 1426.61706543,   651.26202393]],
  
         [[ 1426.42675781,   618.28765869]],
  
         [[ 1425.81884766,   584.96887207]],
  
         [[ 1424.68005371,   552.15814209]],
  
         [[ 1423.28894043,   518.90948486]],
  
         [[ 1421.46398926,   486.2902832 ]],
  
         [[ 1418.97399902,   453.68161011]],
  
         [[ 1416.39025879,   421.62219238]],
  
         [[ 1413.43322754,   390.12304688]],
  
         [[ 1458.49938965,   651.55737305]],
  
         [[ 1458.38171387,   618.5526123 ]],
  
         [[ 1457.73632812,   585.32366943]],
  
         [[ 1456.56640625,   552.29760742]],
  
         [[ 1455.33154297,   518.98303223]],
  
         [[ 1453.34753418,   486.28820801]],
  
         [[ 1450.86340332,   453.68289185]],
  
         [[ 1448.25793457,   421.56280518]],
  
         [[ 1445.09130859,   389.80706787]]], dtype=float32),
  array([[[ 568.76977539,  650.74755859]],
  
         [[ 566.46710205,  620.64099121]],
  
         [[ 564.11584473,  590.24633789]],
  
         [[ 562.27252197,  559.43969727]],
  
         [[ 560.70324707,  528.5958252 ]],
  
         [[ 559.41418457,  497.56912231]],
  
         [[ 558.35113525,  466.44110107]],
  
         [[ 557.58294678,  435.41671753]],
  
         [[ 557.37017822,  404.61270142]],
  
         [[ 598.93017578,  647.29040527]],
  
         [[ 596.70483398,  617.43328857]],
  
         [[ 594.76422119,  586.97674561]],
  
         [[ 592.80255127,  556.40429688]],
  
         [[ 591.46630859,  525.71185303]],
  
         [[ 590.32537842,  494.73428345]],
  
         [[ 589.46966553,  463.86425781]],
  
         [[ 588.91680908,  432.90988159]],
  
         [[ 588.4979248 ,  402.54446411]],
  
         [[ 628.96356201,  643.7265625 ]],
  
         [[ 627.10101318,  614.11212158]],
  
         [[ 625.29815674,  583.95794678]],
  
         [[ 623.60180664,  553.54492188]],
  
         [[ 622.35180664,  522.91204834]],
  
         [[ 621.27209473,  492.41271973]],
  
         [[ 620.49987793,  461.58511353]],
  
         [[ 619.87176514,  431.1350708 ]],
  
         [[ 619.54138184,  400.6625061 ]],
  
         [[ 658.82794189,  640.4810791 ]],
  
         [[ 657.19335938,  610.88513184]],
  
         [[ 655.50262451,  580.97790527]],
  
         [[ 654.12194824,  550.78155518]],
  
         [[ 652.89660645,  520.5647583 ]],
  
         [[ 651.91589355,  490.0296936 ]],
  
         [[ 651.3427124 ,  459.5725708 ]],
  
         [[ 650.68658447,  429.36886597]],
  
         [[ 650.23706055,  399.00280762]],
  
         [[ 688.60772705,  637.175354  ]],
  
         [[ 686.9956665 ,  607.8548584 ]],
  
         [[ 685.65478516,  578.24572754]],
  
         [[ 684.33123779,  548.40777588]],
  
         [[ 683.34552002,  518.2364502 ]],
  
         [[ 682.51751709,  488.0718689 ]],
  
         [[ 681.73834229,  457.86578369]],
  
         [[ 681.32977295,  427.712677  ]],
  
         [[ 680.95410156,  397.79364014]],
  
         [[ 717.89227295,  633.92126465]],
  
         [[ 716.56420898,  604.88665771]],
  
         [[ 715.371521  ,  575.54614258]],
  
         [[ 714.35125732,  546.07147217]],
  
         [[ 713.39398193,  516.01379395]],
  
         [[ 712.50054932,  486.14456177]],
  
         [[ 712.1831665 ,  456.27523804]],
  
         [[ 711.53759766,  426.48574829]],
  
         [[ 711.35772705,  396.71105957]]], dtype=float32),
  array([[[ 387.31826782,  268.21664429]],
  
         [[ 391.32556152,  243.01828003]],
  
         [[ 395.27822876,  218.42599487]],
  
         [[ 399.36679077,  194.70477295]],
  
         [[ 403.74267578,  171.50531006]],
  
         [[ 408.35443115,  149.3974762 ]],
  
         [[ 412.88235474,  127.84345245]],
  
         [[ 417.41830444,  107.23991394]],
  
         [[ 422.14193726,   87.26984406]],
  
         [[ 413.19064331,  271.58929443]],
  
         [[ 416.52670288,  246.57775879]],
  
         [[ 420.16744995,  222.42527771]],
  
         [[ 424.01159668,  198.73713684]],
  
         [[ 428.22253418,  176.01947021]],
  
         [[ 432.2093811 ,  154.02749634]],
  
         [[ 436.41885376,  132.53608704]],
  
         [[ 440.62664795,  112.24407959]],
  
         [[ 444.85592651,   92.33908081]],
  
         [[ 438.3520813 ,  275.21276855]],
  
         [[ 441.49874878,  250.63812256]],
  
         [[ 444.83432007,  226.56858826]],
  
         [[ 448.3480835 ,  203.2835083 ]],
  
         [[ 451.99304199,  180.49075317]],
  
         [[ 455.86062622,  158.76885986]],
  
         [[ 459.54016113,  137.56890869]],
  
         [[ 463.55834961,  117.37185669]],
  
         [[ 467.46621704,   97.6653595 ]],
  
         [[ 463.11740112,  278.97113037]],
  
         [[ 465.97012329,  254.61662292]],
  
         [[ 469.12487793,  230.99279785]],
  
         [[ 472.33328247,  207.70977783]],
  
         [[ 475.61099243,  185.35845947]],
  
         [[ 479.14825439,  163.68971252]],
  
         [[ 482.65493774,  142.7359314 ]],
  
         [[ 485.83377075,  122.45571136]],
  
         [[ 489.67333984,  103.18908691]],
  
         [[ 487.53076172,  282.83740234]],
  
         [[ 490.23657227,  258.80883789]],
  
         [[ 492.80899048,  235.39907837]],
  
         [[ 495.68167114,  212.55207825]],
  
         [[ 498.79803467,  190.38201904]],
  
         [[ 501.89450073,  168.89886475]],
  
         [[ 504.92141724,  148.1648407 ]],
  
         [[ 508.36083984,  128.07801819]],
  
         [[ 511.54562378,  108.71424103]],
  
         [[ 511.53182983,  286.83639526]],
  
         [[ 513.77404785,  263.12866211]],
  
         [[ 516.28735352,  240.00262451]],
  
         [[ 518.72540283,  217.50656128]],
  
         [[ 521.49841309,  195.60464478]],
  
         [[ 524.3604126 ,  174.16125488]],
  
         [[ 527.23791504,  153.72654724]],
  
         [[ 529.99841309,  133.70748901]],
  
         [[ 532.99713135,  114.58665466]]], dtype=float32),
  array([[[ 1083.54638672,   646.52520752]],
  
         [[ 1080.60375977,   618.0201416 ]],
  
         [[ 1077.61169434,   590.26965332]],
  
         [[ 1074.82373047,   563.64147949]],
  
         [[ 1071.93737793,   537.63043213]],
  
         [[ 1069.09851074,   512.58349609]],
  
         [[ 1066.24157715,   488.68075562]],
  
         [[ 1063.49438477,   465.66479492]],
  
         [[ 1060.62731934,   443.5489502 ]],
  
         [[ 1115.82104492,   644.69665527]],
  
         [[ 1112.47595215,   616.34527588]],
  
         [[ 1109.2454834 ,   588.85217285]],
  
         [[ 1105.77929688,   562.12780762]],
  
         [[ 1102.51000977,   536.33892822]],
  
         [[ 1099.11437988,   511.40545654]],
  
         [[ 1095.7722168 ,   487.36846924]],
  
         [[ 1092.57629395,   464.48150635]],
  
         [[ 1089.42529297,   442.57281494]],
  
         [[ 1147.70776367,   643.29852295]],
  
         [[ 1144.14953613,   614.9163208 ]],
  
         [[ 1140.35998535,   587.41595459]],
  
         [[ 1136.54016113,   560.85644531]],
  
         [[ 1132.77075195,   535.22845459]],
  
         [[ 1129.01574707,   510.3427124 ]],
  
         [[ 1125.25878906,   486.50506592]],
  
         [[ 1121.50854492,   463.5944519 ]],
  
         [[ 1117.76159668,   441.5632019 ]],
  
         [[ 1179.31164551,   641.70678711]],
  
         [[ 1175.24572754,   613.50134277]],
  
         [[ 1171.11230469,   586.37976074]],
  
         [[ 1166.77624512,   559.72406006]],
  
         [[ 1162.51208496,   534.22210693]],
  
         [[ 1158.46496582,   509.49435425]],
  
         [[ 1154.35754395,   485.66149902]],
  
         [[ 1150.11181641,   462.85272217]],
  
         [[ 1145.88647461,   441.00033569]],
  
         [[ 1210.44775391,   640.42321777]],
  
         [[ 1205.85864258,   612.39489746]],
  
         [[ 1201.3692627 ,   585.10583496]],
  
         [[ 1196.81665039,   558.81414795]],
  
         [[ 1192.16674805,   533.25500488]],
  
         [[ 1187.6114502 ,   508.85345459]],
  
         [[ 1182.97302246,   485.23626709]],
  
         [[ 1178.43017578,   462.43457031]],
  
         [[ 1173.71960449,   440.57025146]],
  
         [[ 1240.78686523,   638.83227539]],
  
         [[ 1236.03540039,   611.16699219]],
  
         [[ 1230.98876953,   584.20227051]],
  
         [[ 1226.07434082,   558.17242432]],
  
         [[ 1221.04772949,   532.69909668]],
  
         [[ 1216.09460449,   508.38058472]],
  
         [[ 1211.17919922,   484.70391846]],
  
         [[ 1206.16345215,   462.09585571]],
  
         [[ 1201.25732422,   440.41598511]]], dtype=float32),
  array([[[ 274.58483887,  831.37371826]],
  
         [[ 263.95220947,  781.47833252]],
  
         [[ 254.49026489,  730.46032715]],
  
         [[ 246.50059509,  678.76733398]],
  
         [[ 240.16995239,  626.8034668 ]],
  
         [[ 235.1288147 ,  574.99102783]],
  
         [[ 231.68569946,  523.43395996]],
  
         [[ 230.18002319,  472.80029297]],
  
         [[ 229.79447937,  423.27880859]],
  
         [[ 319.53945923,  822.33746338]],
  
         [[ 309.17233276,  772.4364624 ]],
  
         [[ 300.04949951,  721.5144043 ]],
  
         [[ 292.31283569,  669.89672852]],
  
         [[ 286.04675293,  617.91827393]],
  
         [[ 281.1506958 ,  566.27532959]],
  
         [[ 277.67904663,  514.8427124 ]],
  
         [[ 275.7298584 ,  464.55484009]],
  
         [[ 275.18811035,  415.32354736]],
  
         [[ 365.43484497,  813.08575439]],
  
         [[ 355.65722656,  763.23510742]],
  
         [[ 346.85003662,  712.47106934]],
  
         [[ 339.40655518,  661.28729248]],
  
         [[ 333.20581055,  609.47607422]],
  
         [[ 328.36129761,  557.92852783]],
  
         [[ 324.76296997,  506.84298706]],
  
         [[ 322.69497681,  456.7333374 ]],
  
         [[ 321.86578369,  407.69787598]],
  
         [[ 412.25009155,  803.52685547]],
  
         [[ 402.868927  ,  754.05670166]],
  
         [[ 394.48794556,  703.51776123]],
  
         [[ 387.11053467,  652.55401611]],
  
         [[ 380.99023438,  601.23553467]],
  
         [[ 376.40710449,  550.08135986]],
  
         [[ 372.61251831,  499.40603638]],
  
         [[ 370.3717041 ,  449.57006836]],
  
         [[ 369.29220581,  401.07995605]],
  
         [[ 459.54821777,  793.76800537]],
  
         [[ 450.67721558,  744.75860596]],
  
         [[ 442.64108276,  694.69293213]],
  
         [[ 435.60449219,  644.26373291]],
  
         [[ 429.68292236,  593.31890869]],
  
         [[ 425.09152222,  542.56500244]],
  
         [[ 421.25369263,  492.43371582]],
  
         [[ 418.52236938,  443.25891113]],
  
         [[ 417.29360962,  395.13018799]],
  
         [[ 506.98773193,  784.36877441]],
  
         [[ 498.59597778,  735.67126465]],
  
         [[ 490.86740112,  686.15557861]],
  
         [[ 484.10455322,  636.21472168]],
  
         [[ 478.38861084,  585.737854  ]],
  
         [[ 473.61663818,  535.73284912]],
  
         [[ 469.77404785,  486.18450928]],
  
         [[ 466.86859131,  437.53585815]],
  
         [[ 465.2722168 ,  389.8223877 ]]], dtype=float32),
  array([[[ 333.27682495,  668.3112793 ]],
  
         [[ 329.2701416 ,  639.74603271]],
  
         [[ 325.61828613,  610.78790283]],
  
         [[ 322.53826904,  581.91046143]],
  
         [[ 319.80517578,  552.65380859]],
  
         [[ 317.62261963,  523.39801025]],
  
         [[ 315.76516724,  494.15670776]],
  
         [[ 314.35534668,  465.0949707 ]],
  
         [[ 313.39526367,  436.36453247]],
  
         [[ 359.57666016,  663.07348633]],
  
         [[ 355.86669922,  634.6027832 ]],
  
         [[ 352.48312378,  605.81115723]],
  
         [[ 349.43444824,  577.11291504]],
  
         [[ 346.70968628,  548.04394531]],
  
         [[ 344.6373291 ,  518.94958496]],
  
         [[ 342.92129517,  489.80395508]],
  
         [[ 341.52069092,  461.18106079]],
  
         [[ 340.53039551,  432.47033691]],
  
         [[ 386.3225708 ,  657.90161133]],
  
         [[ 382.77172852,  629.67095947]],
  
         [[ 379.46511841,  601.15478516]],
  
         [[ 376.54672241,  572.3927002 ]],
  
         [[ 374.084198  ,  543.6270752 ]],
  
         [[ 371.86856079,  514.85058594]],
  
         [[ 370.15603638,  486.02185059]],
  
         [[ 368.73025513,  457.36691284]],
  
         [[ 367.87255859,  428.86587524]],
  
         [[ 412.79629517,  652.86254883]],
  
         [[ 409.47860718,  624.85107422]],
  
         [[ 406.39117432,  596.57305908]],
  
         [[ 403.4659729 ,  568.1015625 ]],
  
         [[ 401.18969727,  539.42987061]],
  
         [[ 399.07449341,  510.8031311 ]],
  
         [[ 397.39468384,  482.23590088]],
  
         [[ 396.01687622,  453.7734375 ]],
  
         [[ 395.03573608,  425.56802368]],
  
         [[ 439.47875977,  647.78424072]],
  
         [[ 436.33636475,  620.10980225]],
  
         [[ 433.26199341,  591.88122559]],
  
         [[ 430.52160645,  563.68505859]],
  
         [[ 428.31051636,  535.32879639]],
  
         [[ 426.32617188,  506.97457886]],
  
         [[ 424.47906494,  478.64190674]],
  
         [[ 423.20291138,  450.48751831]],
  
         [[ 422.26153564,  422.43267822]],
  
         [[ 465.99996948,  643.07757568]],
  
         [[ 462.85455322,  615.44226074]],
  
         [[ 459.89199829,  587.61773682]],
  
         [[ 457.35430908,  559.67315674]],
  
         [[ 455.16430664,  531.46740723]],
  
         [[ 453.14996338,  503.51306152]],
  
         [[ 451.54385376,  475.28491211]],
  
         [[ 450.18103027,  447.29330444]],
  
         [[ 449.31884766,  419.61080933]]], dtype=float32),
  array([[[ 1137.76147461,   302.39505005]],
  
         [[ 1131.9309082 ,   278.85882568]],
  
         [[ 1125.98034668,   255.71081543]],
  
         [[ 1120.02514648,   233.17401123]],
  
         [[ 1114.11633301,   211.20602417]],
  
         [[ 1108.21813965,   189.69862366]],
  
         [[ 1102.39855957,   168.8250885 ]],
  
         [[ 1096.70007324,   148.57339478]],
  
         [[ 1091.15075684,   129.12147522]],
  
         [[ 1161.69091797,   294.62734985]],
  
         [[ 1155.42590332,   270.94573975]],
  
         [[ 1149.20446777,   247.68478394]],
  
         [[ 1143.03942871,   224.90837097]],
  
         [[ 1136.69702148,   202.75526428]],
  
         [[ 1130.72644043,   181.28738403]],
  
         [[ 1124.76171875,   160.20497131]],
  
         [[ 1118.68286133,   139.75131226]],
  
         [[ 1112.83093262,   120.04412079]],
  
         [[ 1185.91369629,   287.26220703]],
  
         [[ 1179.42126465,   263.13720703]],
  
         [[ 1173.01037598,   239.66448975]],
  
         [[ 1166.54760742,   216.69726562]],
  
         [[ 1160.08959961,   194.36294556]],
  
         [[ 1153.80322266,   172.67912292]],
  
         [[ 1147.26757812,   151.58488464]],
  
         [[ 1141.40625   ,   131.08076477]],
  
         [[ 1135.00183105,   111.31345367]],
  
         [[ 1210.49975586,   279.54547119]],
  
         [[ 1203.97937012,   255.41639709]],
  
         [[ 1197.17602539,   231.6708374 ]],
  
         [[ 1190.52172852,   208.77297974]],
  
         [[ 1183.81494141,   186.22628784]],
  
         [[ 1177.16308594,   164.2207489 ]],
  
         [[ 1170.56323242,   142.96195984]],
  
         [[ 1164.04150391,   122.54488373]],
  
         [[ 1157.79211426,   102.42752075]],
  
         [[ 1235.69482422,   272.07012939]],
  
         [[ 1228.64819336,   247.68983459]],
  
         [[ 1221.84997559,   223.89656067]],
  
         [[ 1214.94787598,   200.77113342]],
  
         [[ 1207.95336914,   178.0909729 ]],
  
         [[ 1201.0567627 ,   155.85366821]],
  
         [[ 1194.07092285,   134.77250671]],
  
         [[ 1187.45568848,   113.76742554]],
  
         [[ 1180.63012695,    93.85268402]],
  
         [[ 1261.23657227,   264.71658325]],
  
         [[ 1254.08459473,   240.21980286]],
  
         [[ 1246.9239502 ,   216.31985474]],
  
         [[ 1239.65148926,   192.88661194]],
  
         [[ 1232.51196289,   169.96446228]],
  
         [[ 1225.29870605,   147.9173584 ]],
  
         [[ 1218.09875488,   126.39440918]],
  
         [[ 1210.98449707,   105.54724121]],
  
         [[ 1203.89648438,    85.54334259]]], dtype=float32),
  array([[[ 844.92773438,  309.00796509]],
  
         [[ 841.18432617,  280.79553223]],
  
         [[ 836.99023438,  252.93913269]],
  
         [[ 833.2878418 ,  225.65870667]],
  
         [[ 829.6315918 ,  199.03108215]],
  
         [[ 826.16430664,  173.10801697]],
  
         [[ 822.35565186,  147.70773315]],
  
         [[ 818.6741333 ,  123.1559906 ]],
  
         [[ 815.04382324,   99.35617828]],
  
         [[ 864.69342041,  310.57476807]],
  
         [[ 860.87322998,  283.03952026]],
  
         [[ 856.91467285,  255.68473816]],
  
         [[ 853.19488525,  229.16517639]],
  
         [[ 849.46887207,  202.90489197]],
  
         [[ 846.05981445,  177.67436218]],
  
         [[ 842.18682861,  152.77778625]],
  
         [[ 838.29241943,  128.70071411]],
  
         [[ 834.47241211,  105.36876678]],
  
         [[ 883.40106201,  312.22772217]],
  
         [[ 879.63616943,  285.35565186]],
  
         [[ 875.59918213,  258.64276123]],
  
         [[ 871.98724365,  232.68591309]],
  
         [[ 868.18341064,  207.11408997]],
  
         [[ 864.5055542 ,  182.32858276]],
  
         [[ 860.65881348,  157.8818512 ]],
  
         [[ 856.93969727,  134.10148621]],
  
         [[ 853.13311768,  111.25032043]],
  
         [[ 901.1807251 ,  313.92285156]],
  
         [[ 897.37121582,  287.51934814]],
  
         [[ 893.64569092,  261.62438965]],
  
         [[ 889.85668945,  236.18029785]],
  
         [[ 886.21221924,  211.1893158 ]],
  
         [[ 882.42303467,  186.72546387]],
  
         [[ 878.6081543 ,  162.79585266]],
  
         [[ 874.84277344,  139.54733276]],
  
         [[ 870.90631104,  116.88811493]],
  
         [[ 917.99450684,  315.42123413]],
  
         [[ 914.44232178,  289.80706787]],
  
         [[ 910.65875244,  264.34194946]],
  
         [[ 906.86932373,  239.50218201]],
  
         [[ 903.13647461,  215.0584259 ]],
  
         [[ 899.35559082,  191.03089905]],
  
         [[ 895.40887451,  167.70936584]],
  
         [[ 891.64434814,  144.90621948]],
  
         [[ 887.76196289,  122.46466827]],
  
         [[ 934.24304199,  317.18283081]],
  
         [[ 930.53155518,  292.17919922]],
  
         [[ 926.7387085 ,  267.38748169]],
  
         [[ 923.13464355,  242.95223999]],
  
         [[ 919.33544922,  218.98132324]],
  
         [[ 915.5020752 ,  195.54299927]],
  
         [[ 911.61132812,  172.41543579]],
  
         [[ 907.87750244,  150.11488342]],
  
         [[ 903.90100098,  128.33125305]]], dtype=float32)])

In [392]:
import fisheye
import os
import glob
import cv2

base_path = r'R:/marv/bin/experiments/calib640'
NX, NY = 9, 6


imgs_paths = glob.glob(os.path.join(base_path, '*.jpg'))

fe = fisheye.FishEye(nx=NX, ny=NY, verbose=True)
rms, K, D, rvecs, tvecs = fe.calibrate(
    imgs_paths,
    show_imgs=True
)

fe.save('./calib.dat')

In [353]:
img = cv2.imread(fname)
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

undist_img = fe.undistort(img, undistorted_size=(1920, 1440))
plt.imsave('C:/Users/corey/Desktop/undist_img.jpg', undist_img)

plt.figure(figsize=(20,20))
plt.subplot(1,2,1)
plt.imshow(img)
plt.subplot(1,2,2)
plt.imshow(undist_img)


Out[353]:
<matplotlib.image.AxesImage at 0x2cd90f159b0>

In [30]:
yuv = cv2.cvtColor(undist_img, cv2.COLOR_RGB2YUV)
plt.imshow(yuv[:,:,2], cmap="hot")


Out[30]:
<matplotlib.image.AxesImage at 0x2cd345502b0>

In [33]:
gray = np.float32(gray)
dst = cv2.cornerHarris(gray,2,3,0.04)
dst = cv2.dilate(dst,None)
ret, dst = cv2.threshold(dst,0.01*dst.max(),255,0)
dst = np.uint8(dst)
plt.figure(figsize=(20,20))
plt.subplot(1,2,1)
plt.imshow(gray)
plt.subplot(1,2,2)
plt.imshow(dst)


Out[33]:
<matplotlib.image.AxesImage at 0x2cd30eef518>

In [76]:
gray = cv2.bilateralFilter(yuv[:,:,2], 11, 17, 17)
edged = cv2.Canny(gray, 30, 70)
plt.figure(figsize=(20,20))
plt.subplot(1,2,1)
plt.imshow(gray)
plt.subplot(1,2,2)
plt.imshow(edged)


Out[76]:
<matplotlib.image.AxesImage at 0x2cd54dedb38>

In [81]:
im2, contours, hierarchy = cv2.findContours(edged.copy(), cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
im3 = cv2.drawContours(im2, contours, 0, (0,255,0), 3)
plt.imshow(im3)


Out[81]:
<matplotlib.image.AxesImage at 0x2cd53a3f860>

In [57]:
result[2]


Out[57]:
array([[[ 1, -1, -1, -1],
        [ 2,  0, -1, -1],
        [ 3,  1, -1, -1],
        [-1,  2, -1, -1]]], dtype=int32)

In [218]:
M = np.array([[4.0, 4.0, -4500.0],
              [0.0, 15.0, -8000.0],
              [0.0, 0.0004, 1.0]])
warped = cv2.warpPerspective(gray, M, (gray.shape[1],gray.shape[0]))
plt.figure(figsize=(20,20))
plt.subplot(1,2,1)
plt.imshow(gray)
plt.subplot(1,2,2)
plt.imshow(warped)


Out[218]:
<matplotlib.image.AxesImage at 0x2cd80125978>

In [364]:
src_pts = np.array([[719,836],
                    [904,471],
                    [1000,471],
                    [1254,836]])

dst_pts = np.array([[850,1900],
                    [850,100],
                    [1110,100],
                    [1110,1900]])
M2, mask = cv2.findHomography(src_pts, dst_pts, cv2.RANSAC,5.0)

In [365]:
M2


Out[365]:
array([[ -5.52614876e-01,  -2.45299280e+00,   1.48148740e+03],
       [  5.65036628e-15,  -5.86330789e+00,   2.74121377e+03],
       [  3.00666152e-18,  -2.55635332e-03,   1.00000000e+00]])

In [366]:
warped = cv2.warpPerspective(undist_img, M2, (2000,2000))
plt.figure(figsize=(12,12))
plt.subplot(1,2,1)
plt.imshow(img)
plt.subplot(1,2,2)
plt.imshow(warped)


Out[366]:
<matplotlib.image.AxesImage at 0x2cdae9207f0>

In [372]:
warped_hsv = cv2.cvtColor(warped, cv2.COLOR_RGB2HSV)
plt.figure(figsize=(12,12))
plt.subplot(1,3,1)
plt.imshow(warped_hsv[:,:,0])
plt.subplot(1,3,2)
plt.imshow(warped_hsv[:,:,1])
plt.subplot(1,3,3)
plt.imshow(warped_hsv[:,:,2])


Out[372]:
<matplotlib.image.AxesImage at 0x2cdbac51940>

In [325]:
warped_hsv[1000,1500,0]


Out[325]:
21

In [371]:
warped_cmy = cv2.cvtColor(warped, cv2.COLOR_RGB2YCR_CB)
plt.figure(figsize=(12,12))
plt.subplot(1,3,1)
plt.imshow(warped_cmy[:,:,0])
plt.subplot(1,3,2)
plt.imshow(warped_cmy[:,:,1])
plt.subplot(1,3,3)
plt.imshow(warped_cmy[:,:,2])


Out[371]:
<matplotlib.image.AxesImage at 0x2cdbab0c8d0>

In [379]:
plt.imshow(warped_cmy[:,:,2]<98)


Out[379]:
<matplotlib.image.AxesImage at 0x2cdbc7c0e48>

In [389]:
plt.imshow((warped_hsv[:,:,1]>200)&(warped_cmy[:,:,2]<98))


Out[389]:
<matplotlib.image.AxesImage at 0x2cdbf310c88>

In [ ]: