def cr_envi_dynamic(self, in_hdr_path, in_dat_path, out_hdr_path, out_dat_path, waves): self.writeMessage("cr_envi_dynamic") wt = self.wave_thresh srange_min = float(self.shortRangeStartEntry.get()) srange_max = float(self.shortRangeStopEntry.get()) lrange_min = float(self.longRangeStartEntry.get()) lrange_max = float(self.longRangeStopEntry.get()) kernel = int(self.kernelEntry.get()) if kernel % 2 == 0: self.writeMessage("Error. Kernel size must be odd.") return #validate wavelength range if (srange_max - srange_min < wt) or (lrange_min - srange_max < wt) or (lrange_max - lrange_min < wt): self.writeMessage("Error. Bad wavelength range.") return ss0 = self.shortRangeZeroIntVar.get() ss1 = self.shortRangeMinIntVar.get() ss2 = self.shortRangeMaxIntVar.get() ls0 = self.longRangeZeroIntVar.get() ls1 = self.longRangeMinIntVar.get() ls2 = self.longRangeMaxIntVar.get() if ss0 == 0 and ss1 == 0 and ss2 == 0: self.writeMessage("Error. Must select short wavelength strategy.") return if ls0 == 0 and ls1 == 0 and ls2 == 0: self.writeMessage("Error. Must select short wavelength strategy.") return s_strat = 0 if ss1 == 1: s_strat = 1 if ss2 == 1: s_strat = 2 l_strat = 0 if ls1 == 1: l_strat = 1 if ls2 == 1: l_strat = 2 (f_width, low_i, high_i) =\ self.compute_cr_band_extents(waves, srange_min, lrange_max) self.writeMessage("f_width:" + str(f_width)) self.writeMessage("low_i:" + str(low_i)) self.writeMessage("high_i:" + str(high_i)) # # generate output header # self.generate_cr_header(in_hdr_path, out_hdr_path, waves, f_width, low_i, high_i) # # compute the continuum removal # CR_module.cr_envi_dynamic(\ in_hdr_path,\ in_dat_path,\ out_dat_path,\ srange_min,\ srange_max,\ lrange_min,\ lrange_max,\ s_strat,\ l_strat,\ kernel) self.writeMessage("Done!")