1. 融合300tc和hpi定标程序;
2. add:300tc中,从spatial bin1和spectral bin1的定标文件生成其他bin2的定标文件;
This commit is contained in:
@ -8,6 +8,7 @@ import sys, os, traceback, re
|
||||
import shutil
|
||||
from radiance_calibration_ui import Ui_MainWindow
|
||||
from library.multithread import Worker
|
||||
from library.image_reader_writer import ImageReaderWriter
|
||||
import sys, traceback
|
||||
from osgeo import gdal
|
||||
from scipy.interpolate import interp1d
|
||||
@ -32,6 +33,7 @@ class EnterWindow(QMainWindow, Ui_MainWindow):
|
||||
self.out_file_bt.clicked.connect(self.select_out_file)
|
||||
|
||||
self.operate_bt.clicked.connect(self.operate)
|
||||
self.dark_checkBox.stateChanged.connect(self.disabledDark)
|
||||
|
||||
self.tmp_rad_file_path = None # 用于保存当前路径,下次打开就默认在此路径下
|
||||
self.tmp_dn_file_path = None # 用于保存当前路径,下次打开就默认在此路径下
|
||||
@ -91,7 +93,14 @@ class EnterWindow(QMainWindow, Ui_MainWindow):
|
||||
self.out_file_le.setText(out_file_path)
|
||||
|
||||
def operate(self):
|
||||
self.radiance_calibration_object.operate()
|
||||
if(self.dark_checkBox.isChecked()):
|
||||
self.radiance_calibration_object.operate()
|
||||
else:
|
||||
self.radiance_calibration_object.operate_without_dark()
|
||||
|
||||
def disabledDark(self, isEnable):
|
||||
self.dark_le.setEnabled(isEnable)
|
||||
self.dark_bt.setEnabled(isEnable)
|
||||
|
||||
|
||||
class RadianceCalibration():
|
||||
@ -251,15 +260,24 @@ class RadianceCalibration():
|
||||
|
||||
# 读取影像
|
||||
img_proj, img_geotrans, self.img_data = self.read_img(self.dn_file_path)
|
||||
dn_hdr = spectral.envi.read_envi_header(self.get_hdr_filename(self.dn_file_path))
|
||||
|
||||
# 重采样
|
||||
f = interp1d(self.asd_radiance[:, 0], self.asd_radiance[:, 1])
|
||||
# wave_destination = dn_hdr["wavelength"].removeprefix("{").removesuffix("}").split(",")
|
||||
asd_radiance_interpolated = [f(float(i)) for i in dn_hdr["wavelength"]]
|
||||
asd_radiance_interpolated2 = np.array(asd_radiance_interpolated)
|
||||
|
||||
# 将影像所有行平均,得到一行(帧)影像
|
||||
img_data_ave = np.mean(self.img_data, axis=1)
|
||||
|
||||
gain = np.empty((img_data_ave.shape[0], 1, img_data_ave.shape[1]))
|
||||
for i in range(gain.shape[2]):
|
||||
gain[:, 0, i] = self.asd_radiance[:, 1] / img_data_ave[:, i]
|
||||
gain[:, 0, i] = asd_radiance_interpolated2 / img_data_ave[:, i]
|
||||
|
||||
self.write_img(self.out_file_path, gain)
|
||||
gain_name = os.path.join(self.out_file_path, "gain.bip")
|
||||
ImageReaderWriter.write_img(gain_name, gain)
|
||||
# self.write_img(gain_name, gain)
|
||||
except:
|
||||
traceback.print_exc()
|
||||
|
||||
|
Reference in New Issue
Block a user