def view_to_model(self): """ Update model to match view """ self.model.dataset_name = self.view.dataset_name.GetValue() self.model.dispersive_direction = self.view.panel.filter_panel.dispersive_direction.GetSelection() # get energies and exposures valid, energies, exposure_files = self.view.exposure_list.GetData() self.exposure_list_valid = valid self.model.energies = energies self.model.exposure_files = exposure_files # get filters self.model.filters = [] filters = self.view.get_filters() for (name, enabled, val) in filters: if enabled: fltr = get_filter_by_name(name) fltr.set_val(val) self.model.filters.append( fltr ) # get xtals (and convert to int) self.model.xtals = [ [[int(round(x1)),int(round(y1))],[int(round(x2)),int(round(y2))]] for (x1,y1),(x2,y2) in self.range_tool.rects ]
def ApplyFilters(self, energy, exposure): min_vis = None max_vis = None # apply each filter to exposure filters = self.view.get_filters() for (name, enabled, val) in filters: if enabled: #XXX these should be instantiated once and updated when view changes fltr = get_filter_by_name(name) fltr.set_val(val) fltr.filter(exposure.pixels, energy) # these two are handled specially if fltr.name == 'Min Visible': min_vis = fltr.get_val() elif fltr.name == 'Max Visible': max_vis = fltr.get_val() # normalize pixels values p = exposure.pixels if min_vis is None: min_vis = p.min() if max_vis is None: max_vis = p.max() p = colors.Normalize(min_vis, max_vis)(p) return p
import os, sys from minixs.calibrate import Calibration from minixs.misc import read_scan_info import minixs.filter as filter from minixs.constants import * c = Calibration() c.dataset = dataset c.exposure_files = [os.path.abspath(e) for e in exposures] c.energies = read_scan_info(scan_file, [energy_col])[0] c.dispersive_direction = DIRECTION_NAMES.index(dispersive_direction) # load up filters for name, val in filters: f = filter.get_filter_by_name(name) if f is None: print "Unknown filter: %s" % name exit(1) f.set_val(val) c.filters.append(f) # convert xtal format to that used by rest of code c.xtals = [ ((x1,y1),(x2,y2)) for x1,y1,x2,y2 in xtal_boundaries ] # calibrate print "Calibrating...", sys.stdout.flush() c.calibrate() print "Finished\n"
import os, sys from minixs.calibrate import Calibration from minixs.misc import read_scan_info import minixs.filter as filter from minixs.constants import * c = Calibration() c.dataset = dataset c.exposure_files = [os.path.abspath(e) for e in exposures] c.energies = read_scan_info(scan_file, [energy_col])[0] c.dispersive_direction = DIRECTION_NAMES.index(dispersive_direction) # load up filters for name, val in filters: f = filter.get_filter_by_name(name) if f is None: print "Unknown filter: %s" % name exit(1) f.set_val(val) c.filters.append(f) # convert xtal format to that used by rest of code c.xtals = [((x1, y1), (x2, y2)) for x1, y1, x2, y2 in xtal_boundaries] # calibrate print "Calibrating...", sys.stdout.flush() c.calibrate() print "Finished\n"