Changeset 4b71e91 in sasview for src/sas/qtgui/GuiUtils.py


Ignore:
Timestamp:
Jul 13, 2016 9:17:58 AM (8 years ago)
Author:
Piotr Rozyczko <piotr.rozyczko@…>
Branches:
ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc
Children:
28a84e9
Parents:
e3ae090
Message:

Context menu implementation p.1

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/sas/qtgui/GuiUtils.py

    r8cb6cd6 r4b71e91  
    332332        msg = "Attempt at opening an invalid URL" 
    333333        raise AttributeError, msg 
     334 
     335def retrieveData1d(data): 
     336    """ 
     337    Retrieve 1D data from file and construct its text 
     338    representation 
     339    """ 
     340    try: 
     341        xmin = min(data.x) 
     342        ymin = min(data.y) 
     343    except: 
     344        msg = "Unable to find min/max of \n data named %s" % \ 
     345                    data.filename 
     346        logging.error(msg) 
     347        raise ValueError, msg 
     348 
     349    text = data.__str__() 
     350    text += 'Data Min Max:\n' 
     351    text += 'X_min = %s:  X_max = %s\n' % (xmin, max(data.x)) 
     352    text += 'Y_min = %s:  Y_max = %s\n' % (ymin, max(data.y)) 
     353    if data.dy != None: 
     354        text += 'dY_min = %s:  dY_max = %s\n' % (min(data.dy), max(data.dy)) 
     355    text += '\nData Points:\n' 
     356    x_st = "X" 
     357    for index in range(len(data.x)): 
     358        if data.dy != None and len(data.dy) > index: 
     359            dy_val = data.dy[index] 
     360        else: 
     361            dy_val = 0.0 
     362        if data.dx != None and len(data.dx) > index: 
     363            dx_val = data.dx[index] 
     364        else: 
     365            dx_val = 0.0 
     366        if data.dxl != None and len(data.dxl) > index: 
     367            if index == 0: 
     368                x_st = "Xl" 
     369            dx_val = data.dxl[index] 
     370        elif data.dxw != None and len(data.dxw) > index: 
     371            if index == 0: 
     372                x_st = "Xw" 
     373            dx_val = data.dxw[index] 
     374 
     375        if index == 0: 
     376            text += "<index> \t<X> \t<Y> \t<dY> \t<d%s>\n" % x_st 
     377        text += "%s \t%s \t%s \t%s \t%s\n" % (index, 
     378                                                data.x[index], 
     379                                                data.y[index], 
     380                                                dy_val, 
     381                                                dx_val) 
     382    return text 
     383 
     384def retrieveData2d(data): 
     385    """ 
     386    Retrieve 1D data from file and construct its text 
     387    representation 
     388    """ 
     389    text = data.__str__() 
     390    text += 'Data Min Max:\n' 
     391    text += 'I_min = %s\n' % min(data.data) 
     392    text += 'I_max = %s\n\n' % max(data.data) 
     393    text += 'Data (First 2501) Points:\n' 
     394    text += 'Data columns include err(I).\n' 
     395    text += 'ASCII data starts here.\n' 
     396    text += "<index> \t<Qx> \t<Qy> \t<I> \t<dI> \t<dQparal> \t<dQperp>\n" 
     397    di_val = 0.0 
     398    dx_val = 0.0 
     399    dy_val = 0.0 
     400    len_data = len(data.qx_data) 
     401    for index in xrange(0, len_data): 
     402        x_val = data.qx_data[index] 
     403        y_val = data.qy_data[index] 
     404        i_val = data.data[index] 
     405        if data.err_data != None: 
     406            di_val = data.err_data[index] 
     407        if data.dqx_data != None: 
     408            dx_val = data.dqx_data[index] 
     409        if data.dqy_data != None: 
     410            dy_val = data.dqy_data[index] 
     411 
     412        text += "%s \t%s \t%s \t%s \t%s \t%s \t%s\n" % (index, 
     413                                                        x_val, 
     414                                                        y_val, 
     415                                                        i_val, 
     416                                                        di_val, 
     417                                                        dx_val, 
     418                                                        dy_val) 
     419        # Takes too long time for typical data2d: Break here 
     420        if index >= 2500: 
     421            text += ".............\n" 
     422            break 
     423 
     424    return text 
Note: See TracChangeset for help on using the changeset viewer.