Changeset 725 for sans/utils/bt5


Ignore:
Timestamp:
Jul 7, 2010 1:43:59 AM (12 years ago)
Author:
ajj
Message:

Work to add auto grouping to bt5plot

Location:
sans/utils/bt5/bt5plot
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • sans/utils/bt5/bt5plot/BT5DataGroup.py

    r724 r725  
    77         
    88        self.isPlotted = False 
    9              
     9        self.groupName = None 
     10        if dataSetList != None: 
     11            self.groupName = dataSetList[0].fileName[0:5]     
    1012                 
    1113    def addDataSet(self,addList): 
     
    3537         
    3638        ''' 
    37          
    38      
  • sans/utils/bt5/bt5plot/bt5plot.py

    r724 r725  
    1414import usans 
    1515from BT5DataSet import BT5DataSet 
     16from BT5DataGroup import BT5DataGroup 
    1617 
    1718try: 
     
    3334     
    3435    def __init__(self): 
    35          
    36         gladefile = "bt5plot.glade" 
     36 
     37        runpath = os.path.dirname(os.path.realpath(__file__)) 
     38         
     39        gladefile = runpath+"/bt5plot.glade" 
    3740        self.windowname = "win_Main" 
    3841        self.wTree = gtk.glade.XML(gladefile, self.windowname) 
     
    6063        self.filelistview = self.wTree.get_widget("tv_filelist") 
    6164         
    62         self.filelist = gtk.ListStore(str, 'gboolean', object) 
     65        self.filelist = gtk.TreeStore(str, 'gboolean', object) 
    6366        self.filelist.set_sort_column_id(0, gtk.SORT_ASCENDING) 
    6467 
     
    121124    def FillFileList(self, filenames): 
    122125        self.filelist.clear() 
     126         
     127        groupList = self.generateDataGroups(filenames) 
     128         
     129        for group in groupList: 
     130                self.filelist.append(None, [group.groupName, 0, None]) 
     131                 
     132        return 
     133             
     134             
     135    def generateDataGroups(self,filenames): 
     136         
     137        datasetList = [] 
     138        dataindexList = [] 
     139        datagroupList = [] 
     140         
     141         
     142        #assuming list hsa come in sorted by date... 
    123143        for filename in filenames: 
    124                 self.filelist.append([filename, 0, None]) 
    125         return 
    126              
     144            #generate list of BT5DataSet objects 
     145            datasetList.append(BT5DataSet(filename)) 
     146         
     147        #print datasetList 
     148        #build list of list indices where either scanned motor is A2 or scanned motor is not A2 
     149        for dataset in datasetList:           
     150            if dataset.scanmot == 'A2': 
     151                #check for 0 
     152                if 0 in dataset.detdata.keys(): 
     153                    dataindexList.append(datasetList.index(dataset)) 
     154            else: 
     155                dataindexList.append(datasetList.index(dataset)) 
     156         
     157        previndex = 0 
     158        for dataindex in dataindexList: 
     159            if dataindexList.index(dataindex) == len(dataindexList)-1: 
     160                nextindex = len(datasetList) 
     161            else: 
     162                nextindex = dataindex 
     163            datagroupList.append(BT5DataGroup(datasetList[previndex:nextindex])) 
     164            previndex = dataindex 
     165         
     166        print len(datagroupList) 
     167         
     168        return datagroupList 
     169     
     170     
    127171    def RefreshFileList(self, filenames):         
    128172        #print len(filenames) 
  • sans/utils/bt5/bt5plot/usans.py

    r471 r725  
    3838    bt5list = [ x for x in dirlist if (x.find('.bt5') > 0 and isBT5Data(x))] 
    3939     
     40    bt5list.sort(key=lambda s: os.path.getmtime(s)) 
     41     
    4042    return bt5list 
    4143 
Note: See TracChangeset for help on using the changeset viewer.