From c6cbe20b8708c96e880ef93d4bf1559a7cc93120 Mon Sep 17 00:00:00 2001 From: tian jiax <446100073@qq.com> Date: Wed, 22 Nov 2023 09:28:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=A3=81=E5=89=AA=E6=96=B9?= =?UTF-8?q?=E6=B3=95=EF=BC=8C=E9=80=9A=E8=BF=87=E5=9C=B0=E8=B7=9D=E6=98=A0?= =?UTF-8?q?=E5=B0=84=E8=A1=A8=E8=BF=9B=E8=A1=8C=E6=96=9C=E8=B7=9D=E5=BD=B1?= =?UTF-8?q?=E5=83=8F=E8=A3=81=E5=89=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../transforml1a/SAR_GEO.cp38-win_amd64.pyd | Bin 66560 -> 72704 bytes .../transforml1a/SAR_geo/SAR_GEO.pyx | 45 ++++- tool/algorithm/transforml1a/transHandle.py | 164 ++++++++++++++---- 3 files changed, 170 insertions(+), 39 deletions(-) diff --git a/tool/algorithm/transforml1a/SAR_GEO.cp38-win_amd64.pyd b/tool/algorithm/transforml1a/SAR_GEO.cp38-win_amd64.pyd index 1482c62cef41382101c07af53ab048b31f404a1c..642f519a7d540bbcd0e1415d0585ad2a12d9627b 100644 GIT binary patch literal 72704 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�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 and temp_col>=0 and temp_row=0 and temp_col>=0 and temp_row=0 and temp_col>=0 and temp_row=0 and temp_col>=0 and temp_row= min_lon) & (ori2geo_img[0, :, :] <= max_lon) - & (ori2geo_img[1, :, :] >= min_lat) & (ori2geo_img[1, :, :] <= max_lat)) # + (x_min, y_min) = ImageHandle.ImageHandler.lat_lon_to_pixel(sim_ori_path, (min_lon, min_lat)) + (x_max, y_max) = ImageHandle.ImageHandler.lat_lon_to_pixel(sim_ori_path, (max_lon, max_lat)) - if len(r_c_list) == 0 or r_c_list[0] == [] or r_c_list[1] == [] or np.array(r_c_list).size == 0: + xmin = x_min if x_min < x_max else x_max + xmax = x_min if x_min > x_max else x_max + + ymin = y_min if y_min < y_max else y_max + ymax = y_min if y_min > y_max else y_max + + xmin = int(math.floor(xmin)) # 列号 + xmax = int(math.ceil(xmax)) # 因为python 的索引机制 + # xmax = int(math.ceil(xmax)) + 1 # 因为python 的索引机制 + ymin = int(math.floor(ymin)) # 行号 + ymax = int(math.ceil(ymax)) # 因为pytohn的索引机制 + # ymax = int(math.ceil(ymax)) + 1 # 因为pytohn的索引机制 + + # 处理最大最小范围 + xmin = 0 if 0 > xmin else xmin + ymin = 0 if 0 > ymin else ymin + xmax = ori2geo_img_width if ori2geo_img_width > xmax else xmax + ymax = ori2geo_img_height if ori2geo_img_height > ymax else ymax + + # 判断条件 + xmax = xmax + 1 if xmax == xmin else xmax + ymax = ymax + 1 if ymax == ymin else ymax + + if ymax <= ymin or xmax <= xmin or ymax > ori2geo_img_height or xmax > ori2geo_img_width or xmin < 0 or ymin < 0 or xmin > ori2geo_img_width or ymin > ori2geo_img_height or ymax < 0 or xmax < 0: msg = 'csv_roi:' + str(roi) + 'not in box,please revise csv data!' print(msg) else: + r_arr = ori2geo_img[0, ymin:ymax, xmin:xmax] + c_arr = ori2geo_img[1, ymin:ymax, xmin:xmax] + + # 构建坐标矩阵 + ori2geo_mask_r_count = ymax - ymin + ori2geo_mask_c_count = xmax - xmin + + lon_lat_arr = np.ones((2, ori2geo_mask_r_count, ori2geo_mask_c_count)) + col_arr = np.arange(xmin, xmax) * np.ones((ori2geo_mask_r_count, ori2geo_mask_c_count)) + row_arr = ((np.arange(ymin, ymax)) * np.ones((ori2geo_mask_c_count, ori2geo_mask_r_count))).T + + img_geotrans = ori2geo_gt + lon_arr = img_geotrans[0] + img_geotrans[1] * col_arr + img_geotrans[2] * row_arr + lat_arr = img_geotrans[3] + img_geotrans[4] * col_arr + img_geotrans[5] * row_arr + lon_lat_arr[0, :, :] = lon_arr + lon_lat_arr[1, :, :] = lat_arr + # print("csv_roi:") # print(roi) - r_min = np.nanmin(r_c_list[0]) - r_max = np.nanmax(r_c_list[0]) - c_min = np.nanmin(r_c_list[1]) - c_max = np.nanmax(r_c_list[1]) - self.ori2geo_img = ori2geo_img[:, r_min:r_max + 1, c_min:c_max + 1] - # 开始调用组件 计算 + r_min = np.floor(np.nanmin(r_arr)) # 获取 L1A 的行列号范围 + r_max = np.ceil(np.nanmax(r_arr)) + 1 + c_min = np.floor(np.nanmin(c_arr)) + c_max = np.ceil(np.nanmax(c_arr)) + 1 - mask = SAR_GEO.cut_L1A_img(self.ori2geo_img.astype(np.float64), point_list) - self._begin_r = r_min - self._end_r = r_max - self._begin_c = c_min - self._end_c = c_max - self._mask = mask + # 判断是否越界 + r_min = 0 if r_min < 0 else r_min + r_max = self.l1a_height if r_max > self.l1a_height else r_max + c_min = 0 if c_min < 0 else c_min + c_max = self.l1a_width if c_max > self.l1a_width else c_max + + # 判断条件 + r_max = r_max + 1 if r_min == r_max else r_max + c_max = c_max + 1 if c_min == c_max else c_max + if r_max <= r_min or c_max <= c_min or r_max > self.l1a_height or c_max > self.l1a_width or r_min < 0 or c_min < 0 or c_min > self.l1a_width or r_min > self.l1a_height or r_max < 0 or c_max < 0: + msg = 'csv_roi:' + str(roi) + 'not in box,please revise csv data!' + else: + pass + mask_geo = SAR_GEO.cut_L1A_img(lon_lat_arr, point_list) # 在地理坐标系下裁剪对应影像 + + mask_geo = mask_geo.reshape(-1) + r_arr = r_arr.reshape(-1) + c_arr = c_arr.reshape(-1) + + mask_geo_idx = np.where(mask_geo == 1)[0] + if mask_geo_idx.shape[0] == 0: + msg = 'csv_roi:' + str(roi) + 'not in box,please revise csv data!' + print(msg) + else: + r_idx = r_arr[mask_geo_idx] + c_idx = c_arr[mask_geo_idx] + + r_idx = r_idx - r_min # offset row + c_idx = c_idx - c_min # offset col + r_count = r_max - r_min # 行数 + c_count = c_max - c_min # 列数 + + # + mask_l1a = np.zeros((r_count, c_count)) * np.nan # 创建目标大小的行列号 + mask = SAR_GEO.gereratorMask(r_idx.astype(np.float64), c_idx.astype(np.float64).astype(np.float64), + mask_l1a) # 这个函数修改了 + + self._begin_r = r_min + self._end_r = r_max + self._begin_c = c_min + self._end_c = c_max + self._mask = mask def cut_L1A(self, in_path, out_path): img = ImageHandle.ImageHandler.get_data(in_path) if len(img.shape) == 3: - cut_img = img[:, self._begin_r:self._end_r + 1, self._begin_c:self._end_c + 1] + cut_img = img[:, self._begin_r:self._end_r, self._begin_c:self._end_c] cut_img[0, :, :] = cut_img[0, :, :] * self._mask cut_img[1, :, :] = cut_img[1, :, :] * self._mask ImageHandle.ImageHandler.write_img(out_path, '', [0, 0, 0, 0, 0, 0], cut_img) @@ -233,7 +315,7 @@ class TransImgL1A: if is_class: ori2geo_tif = np.round(ori2geo_tif).astype(np.int32) mask = (ori2geo_tif[0, :, :] >= 0) & (ori2geo_tif[0, :, :] < width) & (ori2geo_tif[1, :, :] >= 0) & ( - ori2geo_tif[1, :, :] < height) + ori2geo_tif[1, :, :] < height) ori2geo_tif[0, :, :] = ori2geo_tif[0, :, :] * mask ori2geo_tif[1, :, :] = ori2geo_tif[1, :, :] * mask geo_tif_shape = geo_tif.shape @@ -248,7 +330,7 @@ class TransImgL1A: return geo_tif_l1a else: # 数值性插值 mask = (ori2geo_tif[0, :, :] > 0) & (ori2geo_tif[0, :, :] < width - 1) & (ori2geo_tif[1, :, :] > 0) & ( - ori2geo_tif[1, :, :] < height - 1) + ori2geo_tif[1, :, :] < height - 1) one_ids = np.where(mask == 1) x, y = np.meshgrid(np.arange(0, width), np.arange(0, height)) result_data = self.grid_interp_to_station([y.reshape(-1), x.reshape(-1), geo_tif.reshape(-1)], @@ -303,8 +385,7 @@ class TransImgL1A: f_c = scipy.interpolate.interp2d(r_c_list[:, 2], r_c_list[:, 3], r_c_list[:, 1], kind='linear') tar_get_r = f_r(p[0], p[1])[0] tar_get_c = f_c(p[0], p[1])[0] - if tar_get_r < ori2geo_tif.shape[1] and tar_get_c < ori2geo_tif.shape[ - 2] and tar_get_r >= 0 and tar_get_c >= 0: + if tar_get_r < ori2geo_tif.shape[1] and tar_get_c < ori2geo_tif.shape[2] and tar_get_r>=0 and tar_get_c>=0: lon_temp = ori2geo_tif[0, int(round(tar_get_r)), int(round(tar_get_c))] lon_lat = ori2geo_tif[1, int(round(tar_get_r)), int(round(tar_get_c))] # 增加条件筛选 @@ -313,9 +394,12 @@ class TransImgL1A: result.append([-1, -1]) return result - def tran_lonlats_to_L1A_rowcols(self, meas_data, ori_sim_path): + def tran_lonlats_to_L1A_rowcols(self, meas_data, ori_sim_path, row, col): lonlats = [] data_roi = [] + rowcols = [] + measdata_list = [] + data_sim = ImageHandle.ImageHandler.get_all_band_array(ori_sim_path) for data in meas_data: lon = float(data[1]) lat = float(data[2]) @@ -323,12 +407,22 @@ class TransImgL1A: lonlats.append([lon, lat]) data_roi.append(data) - rowcols = self.tran_lonlats_to_rowcols(lonlats, ori_sim_path) - measdata_list = [] + for lonlat in lonlats: + (x, y) = ImageHandle.ImageHandler.lat_lon_to_pixel(ori_sim_path, lonlat) + rowcols.append([x, y]) + for data, rowcol in zip(data_roi, rowcols): - if (rowcol[0] != -1 and rowcol[1] != -1): - measdata_list.append( - [round(rowcol[0]) - self._begin_r, round(rowcol[1]) - self._begin_c, float(data[3])]) + img_x = round(data_sim[round(rowcol[1]), round(rowcol[0]), 0]) + img_y = round(data_sim[round(rowcol[1]), round(rowcol[0]), 1]) + if (img_x > 0 and img_x < row and img_y > 0 and img_y < col): + measdata_list.append([img_x, img_y, float(data[3])]) + + # rowcols = self.tran_lonlats_to_rowcols(lonlats, ori_sim_path) + # measdata_list = [] + # for data, rowcol in zip(data_roi, rowcols): + # if (rowcol[0] != -1 and rowcol[1] != -1): + # measdata_list.append( + # [round(rowcol[0]) - self._begin_r, round(rowcol[1]) - self._begin_c, float(data[3])]) return measdata_list @staticmethod @@ -536,8 +630,8 @@ if __name__ == '__main__': """ # roi_Extend = [[102.12, 33.879], [102.327, 33.879], [102.327, 33.66], [102.12, 31.45]] ori_sim_data = ImageHandle.ImageHandler.get_data(ori_sim) - lon = ori_sim_data[0,:,:] - lat = ori_sim_data[1,:,:] + lon = ori_sim_data[0, :, :] + lat = ori_sim_data[1, :, :] min_lon = np.nanmin(lon) max_lon = np.nanmax(lon) min_lat = np.nanmin(lat)