def silent_reduce(ds, map = None): location = ds.location id = ds.id title = ds.title ds = ds.get_reduced(1) if not map is None: ds = lib.eff_corr(ds, map) rds = lib.geo_corr(ds, geo_corr_enabled.value) # ds.close() rds.id = id return rds
def silent_reduce(ds, map=None): location = ds.location id = ds.id title = ds.title ds = ds.get_reduced(1) if not map is None: ds = lib.eff_corr(ds, map) rds = lib.geo_corr(ds, geo_corr_enabled.value) ds.close() rds.id = id return rds
def reduce(): global DS global VI global IR old_id = -1 if not DS is None: old_id = DS.id li = __get_selected_files__() if len(li) == 0: open_error('Please select a file from the file source view.') return if Plot1.ndim is 0: Plot1.set_dataset(instance([2,2])) prog_bar.max = 5 prog_bar.selection = 1 df.datasets.clear() DS = df[str(li[0])] curr_idx = -1 if old_id == DS.id: curr_idx = ind_jump.value location = DS.location id = DS.id title = DS.title DS = DS.get_reduced(1) prog_bar.selection = 2 if eff_corr_enabled.value and eff_map.value != None \ and len(eff_map.value.strip()) > 0: log('running efficiency correction') map = lib.make_eff_map(df, get_calibration_path() + '/' + str(eff_map.value)) DS = lib.eff_corr(DS, map) prog_bar.selection = 3 if geo_corr_enabled.value : log('running geometry correction') DS = lib.geo_corr(DS, geo_corr_enabled.value) DS.location = location DS.id = id DS.title = title # Plot1.set_dataset(DS[0]) # Plot1.title = str(DS.id) + '_0' # Plot1.set_mask_listener(regionListener) masks = [] if reg_enabled.value : if len(Plot1.get_masks()) > 0: masks = Plot1.get_masks() else : # if reg_list.value != None and reg_list.value.strip() != '': # if reg_minX.value != None and reg_minX.value.strip() != '' and reg_maxX.value != None and reg_maxX.value.strip() != '' \ # reg_minY.value != None and reg_minY.value.strip() != '' reg_maxY.value != None and reg_maxY.value.strip() != '' # mask_str = 'I-1[' + reg_minX.value + ',' + reg_maxX.value + ',' + reg_minY.value + ',' + reg_maxY.value + ']' mask_str = get_mask_str() masks = str2maskstr(mask_str) for mask in masks: Plot1.add_mask_2d(float(mask[0]), float(mask[1]), \ float(mask[2]), float(mask[3]), mask[4]) masks = Plot1.get_masks() prog_bar.selection = 4 log('running vertical integration') VI = lib.v_intg(DS, masks) # Plot2.set_dataset(VI[0]) # Plot2.title = str(DS.id) + "_integration_0" ind_jump.options = range(DS.shape[0]) var_jump.options = DS.axes[0].tolist() if curr_idx == -1: ind_jump.value = 0 else: ind_jump.value = curr_idx update_plots(curr_idx) prog_bar.selection = 5 log('running intensity integration') IR = lib.i_intg(VI) prog_bar.selection = 5 Plot3.set_dataset(IR) Plot3.title = str(DS.id) + "_intensity" Plot3.set_mouse_listener(NavMouseListener()) Plot1.set_awt_mouse_listener(mouse_press_listener) Plot1.set_mask_listener(regionListener) prog_bar.selection = 0 # set_pref_value(SAVED_MASK_PRFN , str(reg_list.value)) set_pref_value(SAVED_MASK_PRFN , str(get_mask_str())) set_pref_value(SAVED_EFFICIENCY_FILENAME_PRFN, str(eff_map.value)) save_pref()
def export_images(): path = selectSaveFolder() if path == None: return dss = __DATASOURCE__.getSelectedDatasets() if len(dss) == 0: print 'Error: please select at least one data file.' fi = File(path) if not fi.exists(): if not fi.mkdir(): print 'Error: failed to make directory: ' + path return dss_idx = 0 prog_bar.max = len(dss) + 1 try: for dinfo in dss: dss_idx += 1 prog_bar.selection = dss_idx ds = df[str(dinfo.location)] if ds.ndim < 3: log('dimension of ' + str(ds.id) + ' is not supported') dname = ds.name if ds.ndim == 4: ds = ds.get_reduced(1) if par_eff.value and eff_map.value != None \ and len(eff_map.value.strip()) > 0: log('running efficiency correction') map = lib.make_eff_map(df, str(eff_map.value)) ds = lib.eff_corr(ds, map) if par_geo.value : log('running geometry correction') ds = lib.geo_corr(ds, par_geo.value) log('process ' + dname) idx = dname.find('.') if idx > 0: fn = dname[0:idx] fn = path + '/' + fn wt = int(math.log10(len(ds))) + 1 for i in xrange(len(ds)): log('\t frame ' + str(i)) if ds.ndim == 4: sl = ds[i, 0] elif ds.ndim == 3: sl = ds[i] elif ds.ndim == 2: sl = ds else: log('dimensions are not allowed for ' + dname) break if str(par_type.value) == 'ASCII' : ext = ('%0' + str(wt) + 'd.xyz') % i f = open(fn + '_' + ext, 'w') try: header = '#' header += get_line(sl.axes[1], 3) f.write(header) for line in sl: f.write(get_line(line, 3)) finally: f.close() else: pds = NXFactory.createHist2DDataset(sl.__iNXDataset__) HPLOT.setDataset(pds) HPLOT.getChart().setTitle(str(dname) + '_' + str(i)) ext = (('%0' + str(wt) + 'd.' + str(par_type.value)) % i) try: HPLOT.getXYPlot().getRenderer().getPaintScale().setColorScale(color_scale.Rainbow) except: pass HPLOT.saveImage(fn + '_' + ext, str(par_type.value)) finally: prog_bar.selection = 0 prog_bar.max = 0 log('Done')
def reduce(): global DS global VI global IR old_id = -1 if not DS is None: old_id = DS.id li = __get_selected_files__() if len(li) == 0: open_error('Please select a file from the file source view.') return if Plot1.ndim is 0: Plot1.set_dataset(instance([2, 2])) prog_bar.max = 5 prog_bar.selection = 1 df.datasets.clear() DS = df[str(li[0])] curr_idx = -1 if old_id == DS.id: curr_idx = ind_jump.value location = DS.location id = DS.id title = DS.title DS = DS.get_reduced(1) prog_bar.selection = 2 if eff_corr_enabled.value and eff_map.value != None \ and len(eff_map.value.strip()) > 0: log('running efficiency correction') map = lib.make_eff_map( df, get_calibration_path() + '/' + str(eff_map.value)) DS = lib.eff_corr(DS, map) prog_bar.selection = 3 if geo_corr_enabled.value: log('running geometry correction') DS = lib.geo_corr(DS, geo_corr_enabled.value) DS.location = location DS.id = id DS.title = title # Plot1.set_dataset(DS[0]) # Plot1.title = str(DS.id) + '_0' # Plot1.set_mask_listener(regionListener) masks = [] if reg_enabled.value: if len(Plot1.get_masks()) > 0: masks = Plot1.get_masks() else: # if reg_list.value != None and reg_list.value.strip() != '': # if reg_minX.value != None and reg_minX.value.strip() != '' and reg_maxX.value != None and reg_maxX.value.strip() != '' \ # reg_minY.value != None and reg_minY.value.strip() != '' reg_maxY.value != None and reg_maxY.value.strip() != '' # mask_str = 'I-1[' + reg_minX.value + ',' + reg_maxX.value + ',' + reg_minY.value + ',' + reg_maxY.value + ']' mask_str = get_mask_str() masks = str2maskstr(mask_str) for mask in masks: Plot1.add_mask_2d(float(mask[0]), float(mask[1]), \ float(mask[2]), float(mask[3]), mask[4]) masks = Plot1.get_masks() prog_bar.selection = 4 log('running vertical integration') VI = lib.v_intg(DS, masks) # Plot2.set_dataset(VI[0]) # Plot2.title = str(DS.id) + "_integration_0" ind_jump.options = range(DS.shape[0]) var_jump.options = DS.axes[0].tolist() if curr_idx == -1: ind_jump.value = 0 else: ind_jump.value = curr_idx update_plots(curr_idx) prog_bar.selection = 5 log('running intensity integration') IR = lib.i_intg(VI) prog_bar.selection = 5 Plot3.set_dataset(IR) Plot3.title = str(DS.id) + "_intensity" Plot3.set_mouse_listener(NavMouseListener()) Plot1.set_awt_mouse_listener(mouse_press_listener) Plot1.set_mask_listener(regionListener) prog_bar.selection = 0 # set_pref_value(SAVED_MASK_PRFN , str(reg_list.value)) set_pref_value(SAVED_MASK_PRFN, str(get_mask_str())) set_pref_value(SAVED_EFFICIENCY_FILENAME_PRFN, str(eff_map.value)) save_pref()