-
Notifications
You must be signed in to change notification settings - Fork 0
/
playground_Tobi.py
120 lines (111 loc) · 3.89 KB
/
playground_Tobi.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
import cmos
import matplotlib.pyplot as plt
from scipy.ndimage import label
import numpy as np
import glob
# file = "C:/Users/darkl/Desktop/cmos/skyimager/LEX_WKM2_JPG_20180829/LEX_WKM2_Image_20180901_092840_UTCp1.jpg"
# file = "C:/Users/darkl/Desktop/cmos/skyimager/LEX_WKM2_JPG_20180826/LEX_WKM2_Image_20180826_112340_UTCp1.jpg"
# file = "W:/Aufzeichnung/wkm2/jpg/LEX_WKM2_Image_20180901_094820_UTCp1.jpg"
# files = "W:/Aufzeichnung/wkm2/jpg/LEX_WKM2_Image_*_UTCp1.jpg"
# file = sorted(glob.glob(files))[-1]
file = "/home/tobias/Documents/cmos_data/skyimager/20180828/LEX_WKM2_Image_20180828_180400_UTCp1.jpg"
file = "/home/tobias/Documents/cmos_data/skyimager/WKM4/20180902/LEX_WKM4_Image_20180902_123000_UTCp1.jpg"
sky_imager = cmos.SkyImager("south")
ceilo = cmos.Ceilometer()
sky_imager.get_date_from_image_name(file)
cloud_height = ceilo.get_height(sky_imager.date)
sky_imager.load_image(file,cloud_height=cloud_height)
hq_lat = 54.494541
hq_lon = 11.240319
cm =sky_imager.shadow_on_lat_lon(hq_lat,hq_lon)
plt.imshow(sky_imager.image)
plt.show()
#
# print(sky_imager.date)
# print(sky_imager.height)
# print(sky_imager.sun_elevation,sky_imager.sun_azimuth)
#
# sky_imager.shadow_on_cam_position()
# sky_imager._rotate_image(45)
# rotated = sky_imager.rotated
#
# # cloud_mask = sky_imager.create_cloud_mask_canny_edges()
#
# # sky_imager.sun_position_in_image()
#
# sky_imager.create_lat_lon_array()
# sky_imager.create_lat_lon_cloud_mask()
#
# sky_imager_setup = cmos.SkyImagerSetup("hq")
# sun_pos_img = sky_imager_setup.find_sun(file)
# print("Sun pos in image:", sun_pos_img)
# print("Sun pos theo:", sky_imager.sun_azimuth, sky_imager.sun_elevation)
#
# # print(sky_imager.angle_array)
#
# # sky_imager.hemisphere_to_plain(cbh=1000)
#
# fig, (ax1,ax2, ax3) = plt.subplots(ncols=3)
# ax1.imshow(sky_imager.cloud_image)
# ax2.imshow(sky_imager.original_image)
# ax3.imshow(sky_imager.rotated)
# plt.show()
# fig1, (ax1,ax2) = plt.subplots(ncols=2)
# im = ax1.imshow(sky_imager.angle_array[:,:,0])
# fig1.colorbar(im,ax=ax1)
# ax1.set_title("Azimuth", fontsize=25)
#
# im2 = ax2.imshow(sky_imager.angle_array[:,:,1])
# fig1.colorbar(im2,ax=ax2)
# ax2.set_title("Zenith", fontsize=25)
# plt.show()
#####################################
# time = "120800"
# file_hq = "C:/Users/darkl/Desktop/cmos/skyimager/LEX_WKM2_JPG_20180826/LEX_WKM2_Image_20180826_%s_UTCp1.jpg"%time
# file_west = "C:/Users/darkl/Desktop/cmos/skyimager/LEX_WKM3_JPG_20180826/LEX_WKM3_Image_20180826_%s_UTCp1.jpg"%time
# file_south = "C:/Users/darkl/Desktop/cmos/skyimager/LEX_WKM4_JPG_20180826/LEX_WKM4_Image_20180826_%s_UTCp1.jpg"%time
#
# sky_imager_hq = cmos.SkyImager("hq")
# sky_imager_hq.load_image(file_hq,1000)
#
# sky_imager_west = cmos.SkyImager("west")
# sky_imager_west.load_image(file_west,1000)
#
#
# sky_imager_south = cmos.SkyImager("south")
# sky_imager_south.load_image(file_south,1000)
#
# sky_imager_setup = cmos.SkyImagerSetup("hq")
# calib,template = sky_imager_setup.auto_calib_elevation_offset(sky_imager_hq.cloud_mask,
# sky_imager_west.cloud_mask,
# )
#
# ij = np.unravel_index(np.argmax(calib), calib.shape)
# x, y = ij[::-1]
#
# fig,(ax1,ax2,ax3) = plt.subplots(ncols=3)
#
# hcoin, wcoin = template.shape
#
# x_orig, y_orig = (960,960)
#
# ax1.imshow(sky_imager_hq.cloud_mask)
# rect = plt.Rectangle((x_orig, y_orig), wcoin, hcoin, edgecolor='r', facecolor='none')
# ax1.add_patch(rect)
#
# ax2.imshow(sky_imager_west.cloud_mask)
# rect = plt.Rectangle((x, y), wcoin, hcoin, edgecolor='r', facecolor='none')
# ax2.add_patch(rect)
#
# ax3.imshow(calib)
# ax3.set_axis_off()
# ax3.set_title('`match_template`\nresult')
# # highlight matched region
# ax3.autoscale(False)
# ax3.plot(x, y, 'o', markeredgecolor='r', markerfacecolor='none', markersize=10)
#
# plt.show()
#####################################
#
# rad = cmos.Radiation("rad_north")
# data = rad.load_data()