def delta_range_filter_handler(config): current_filter = config.matcher.delta_range_filter append = False print "Current delta range filter:", current_filter if current_filter is not None: append = sh.askbool("Do you want to add a new delta range filter to the existing one?") region = None if sh.askbool("Restrict delta range filter to a region?"): region_filename = uiutils.open_file() try: region = imgutils.Region(region_filename) except: print "Warning: opening region file failed" if region is not None: print "Delta range filter for region:", region.get_name() str2vector = lambda s: [float(k) for k in re.findall("[-0-9.]+", s)] check_vector = lambda s: len(str2vector(s)) == 2 unit = u.Unit(sh.ask("Velocity unit:")) direction = str2vector(sh.ask("Direction vector (default=[1,0]):", check_fct=check_vector, default="1,0")) vx = str2vector(sh.ask("Velocity range in X direction:", check_fct=check_vector)) vy = str2vector(sh.ask("Velocity range in Y direction:", check_fct=check_vector)) range_filter = wise.DeltaRangeFilter(vxrange=vx, vyrange=vy, unit=unit, pix_limit=4, x_dir=direction) if region is not None: range_filter = wise.DeltaRegionFilter(wise.RegionFilter(region), range_filter) if append: range_filter = current_filter & range_filter print "Setting delta_range_filter to:", range_filter config.matcher.delta_range_filter = range_filter
def on_load_clicked(self, bn): filename = uiutils.open_file(parent=self, current_folder=self.current_folder) if filename is not None: try: poly_region = imgutils.PolyRegion.from_file(filename, self.img.get_coordinate_system()) self.load_poly_region(poly_region) except Exception, e: msg = "Failed to load region %s\n%s" % (filename, e) print msg uiutils.error_msg(msg, self)
def delta_range_filter_handler(config): current_filter = config.matcher.delta_range_filter append = False print "Current delta range filter:", current_filter if current_filter is not None: append = sh.askbool( "Do you want to add a new delta range filter to the existing one?") region = None if sh.askbool("Restrict delta range filter to a region?"): region_filename = uiutils.open_file() try: region = imgutils.Region(region_filename) except: print "Warning: opening region file failed" if region is not None: print "Delta range filter for region:", region.get_name() str2vector = lambda s: [float(k) for k in re.findall("[-0-9.]+", s)] check_vector = lambda s: len(str2vector(s)) == 2 unit = u.Unit(sh.ask("Velocity unit:")) direction = str2vector( sh.ask("Direction vector (default=[1,0]):", check_fct=check_vector, default="1,0")) vx = str2vector( sh.ask("Velocity range in X direction:", check_fct=check_vector)) vy = str2vector( sh.ask("Velocity range in Y direction:", check_fct=check_vector)) range_filter = wise.DeltaRangeFilter(vxrange=vx, vyrange=vy, unit=unit, pix_limit=4, x_dir=direction) if region is not None: range_filter = wise.DeltaRegionFilter(wise.RegionFilter(region), range_filter) if append: range_filter = current_filter & range_filter print "Setting delta_range_filter to:", range_filter config.matcher.delta_range_filter = range_filter