Changeset 1038 for sans/Dev


Ignore:
Timestamp:
May 9, 2017 1:56:29 PM (6 years ago)
Author:
srkline
Message:

Adding procedures to allow trimming of data sets before concatenation. This is different than SANS, since the trimming and scaling choices must be made before reduction is done, since they must be part of the reduction protocol - as all data sets I(q) are part of the same data file.

How this is handled is still very much a work in progress...

Location:
sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/VC_DetectorBinning_Q.ipf

    r1036 r1038  
    13421342end 
    13431343 
     1344 
     1345 
    13441346// for a given data folder, all detector binning types 
    13451347// ("B", "FLTB", "MTB" etc) will be checked to see if the data is on the graph 
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_Combine_1D.ipf

    r1035 r1038  
    1414//  of the data reduction protocol - and anything in work folders will be lost 
    1515// 
     16 
     17 
     18//ksWorkFolderList 
     19 
     20//      String str,winStr="V_1D_Data" 
     21//      sprintf str,"(\"%s\",%d,\"%s\")",type,popNum,winStr 
     22// 
     23//      Execute ("V_Back_IQ_Graph"+str) 
     24//      Execute ("V_Middle_IQ_Graph"+str) 
     25//      Execute ("V_Front_IQ_Graph"+str) 
     26 
     27 
     28// draws the graph, but does not draw anything on it yet 
     29// 
     30// TODO: 
     31// -- make  the data folder list for the popup 
     32// -- make the data folder popup do the work of plotting (test for failure) 
     33// 
     34// -- make a button to show the default table, and set up dependencies to link to the graph display 
     35// -- have an "active" data set to trim, or make duplicates for all of the data sets 
     36// 
     37// -- button to convert the points to strings that can be used and written to data files? 
     38// 
     39// -- table is continually duplicated 
     40// -- AutoPosition the windows next to each other 
     41// -- (different)(not ugly) color for the control bar so it's distinguishable from the regular data plot 
     42// -- "Done" button that kills the root:ToTrim folder (may need to kill the dependency first) 
     43// 
     44Proc V_CombineDataGraph() 
     45 
     46        DoWindow/F V_1D_Combine 
     47        if(V_flag==0) 
     48                Variable num,ii 
     49                String detStr 
     50                 
     51                Display /W=(277,526,748,938)/N=V_1D_Combine/K=1 
     52 
     53                ControlBar 70 
     54                ModifyGraph cbRGB=(44000,44000,44000) 
     55                 
     56                PopupMenu popup1,pos={15,5},size={90,20},title="Data Folder" 
     57                PopupMenu popup1,help={"data folder"} 
     58                PopupMenu popup1,value= GetAList(4),proc=V_DataFolderPlotPop 
     59                 
     60                PopupMenu popup0,pos={200,5},size={70,20},title="Bin Type" 
     61                PopupMenu popup0,help={"binning type"} 
     62                PopupMenu popup0,value= ksBinTypeStr 
     63//              PopupMenu popup0,mode=1,proc=V_BinningModePopup 
     64 
     65                CheckBox check0,pos={18.00,36.00},size={57.00,16.00},proc=V_Plot1D_LogCheckProc,title="Log Axes" 
     66                CheckBox check0,value= 1 
     67 
     68                Button AllQ,pos={320,28},size={70,20},proc=V_AllQ_Plot_1D_ButtonProc,title="All Q" 
     69                Button AllQ,help={"Show the full q-range of the dataset"} 
     70                 
     71                Legend/C/N=text0/J/X=72.00/Y=60.00 
     72 
     73                //trust that the table is present? No, but don't overwrite the data in the waves 
     74                // unless any one of the three doesn't exist 
     75                if(exists("PanelNameW") == 0 || exists("Beg_pts") == 0 || exists("End_pts") == 0) 
     76                        Make/O/T/N=(ItemsInList(ksPanelBinTypeList)) PanelNameW 
     77                        Make/O/D/N=(ItemsInList(ksPanelBinTypeList)) Beg_pts 
     78                        Make/O/D/N=(ItemsInList(ksPanelBinTypeList)) End_pts 
     79                 
     80                        num = ItemsInList(ksPanelBinTypeList) 
     81                        ii=0 
     82                        do 
     83                                detStr = StringFromList(ii, ksPanelBinTypeList) 
     84                                Beg_pts[ii]  = NumberByKey(detStr, ksBinTrimBegDefault,"=",";") 
     85                                End_pts[ii] = NumberByKey(detStr, ksBinTrimEndDefault,"=",";") 
     86                                PanelNameW[ii] = detStr 
     87                                ii += 1 
     88                        while(ii<num) 
     89                         
     90                endif 
     91                 
     92                Edit/K=0 root:PanelNameW,root:Beg_pts,root:End_pts               
     93 
     94                Make/O/D/N=1 trimUpdate 
     95                trimUpdate := V_DummyUpdate(Beg_pts, End_pts) 
     96                 
     97//              PopupMenu ymodel,pos={150,5},size={71,20},title="y-axis" 
     98//              PopupMenu ymodel,help={"This popup selects how the y-axis will be linearized based on the chosen data"} 
     99//              PopupMenu ymodel,value= #"\"I;log(I);ln(I);1/I;I^a;Iq^a;I^a q^b;1/sqrt(I);ln(Iq);ln(Iq^2)\"" 
     100//              PopupMenu ymodel,mode=NumVarOrDefault("root:Packages:NIST:VSANS:Globals:Plot_1d:gYMode", 1 ),proc=V_YMode_PopMenuProc 
     101//              PopupMenu xmodel,pos={220,5},size={74,20},title="x-axis" 
     102//              PopupMenu xmodel,help={"This popup selects how the x-axis will be linearized given the chosen data"} 
     103//              PopupMenu xmodel,value= #"\"q;log(q);q^2;q^c\"" 
     104//              PopupMenu xmodel,mode=NumVarOrDefault("root:Packages:NIST:VSANS:Globals:Plot_1d:gXMode", 1 ),proc=V_XMode_PopMenuProc 
     105////            Button Rescale,pos={281,5},size={70,20},proc=V_Rescale_Plot_1D_ButtonProc,title="Rescale" 
     106////            Button Rescale,help={"Rescale the x and y-axes of the data"},disable=1 
     107// 
     108//              SetVariable expa,pos={120,28},size={80,15},title="pow \"a\"" 
     109//              SetVariable expa,help={"This sets the exponent \"a\" for some y-axis formats. The value is ignored if the model does not use an adjustable exponent"} 
     110//              SetVariable expa,limits={-2,10,0},value= root:Packages:NIST:VSANS:Globals:Plot_1d:gExpA 
     111//              SetVariable expb,pos={120,46},size={80,15},title="pow \"b\"" 
     112//              SetVariable expb,help={"This sets the exponent \"b\" for some x-axis formats. The value is ignored if the model does not use an adjustable exponent"} 
     113//              SetVariable expb,limits={0,10,0},value= root:Packages:NIST:VSANS:Globals:Plot_1d:gExpB 
     114// 
     115//              SetVariable expc,pos={220,28},size={80,15},title="pow \"c\"" 
     116//              SetVariable expc,help={"This sets the exponent \"c\" for some x-axis formats. The value is ignored if the model does not use \"c\" as an adjustable exponent"} 
     117//              SetVariable expc,limits={-10,10,0},value= root:Packages:NIST:VSANS:Globals:Plot_1d:gExpC 
     118 
     119        endif 
     120                 
     121         
     122End 
     123 
     124Function V_DummyUpdate(Beg_pts, End_pts) 
     125        Wave Beg_pts,End_pts 
     126         
     127        // trim the data displayed 
     128        // do this by setting the iBin values to NaN, so it won't display 
     129        // won't hurt to set twice... 
     130         
     131        Wave/T panelStr = root:PanelNameW 
     132        Wave begW = root:Beg_pts 
     133        Wave endW = root:End_pts 
     134         
     135        SetDataFolder root:ToTrim 
     136         
     137        Variable num,ii 
     138        String str,detStr 
     139        num=numpnts(panelStr) 
     140         
     141        for(ii=0;ii<num;ii+=1) 
     142                detStr = panelStr[ii] 
     143                Wave/Z iw = $("iBin_qxqy_"+detStr+"_trim") 
     144//              Wave/Z iw = $("iBin_qxqy_"+detStr) 
     145//              Wave/Z ew = $("eBin_qxqy_"+detStr) 
     146                if(WaveExists(iw)) 
     147                         
     148//                      DeletePoints 0,nBeg, qw,iw,ew 
     149                        iw[0,begW[ii]-1] = NaN 
     150                                 
     151                        Variable npt 
     152                        npt = numpnts(iw)  
     153//                      DeletePoints npt-nEnd,nEnd, qw,iw,ew 
     154                        iw[npt-endW[ii],npt-1] = NaN 
     155                         
     156                endif 
     157                 
     158        endfor 
     159         
     160        SetDataFolder root: 
     161 
     162        return(0) 
     163End 
     164 
     165 
     166Function V_DataFolderPlotPop(ctrlName,popNum,popStr) : PopupMenuControl 
     167        String ctrlName 
     168        Variable popNum // which item is currently selected (1-based) 
     169        String popStr           // contents of current popup item as string 
     170 
     171 
     172        String str,winStr="V_1D_Combine",dataType 
     173        Variable binType,num,ii 
     174        ControlInfo popup0 
     175        binType = V_BinTypeStr2Num(S_Value) 
     176         
     177        //dataType now needs to be the full path to the folder 
     178        dataType = "root:"+popStr 
     179         
     180        sprintf str,"(\"%s\",%d,\"%s\")",dataType,binType,winStr 
     181 
     182        Execute ("V_Back_IQ_Graph"+str) 
     183        Execute ("V_Middle_IQ_Graph"+str) 
     184        Execute ("V_Front_IQ_Graph"+str) 
     185 
     186        ModifyGraph marker=8,opaque=1,msize=3           //make the traces open white circles 
     187 
     188 
     189        NewDataFolder/O root:ToTrim 
     190         
     191        //remove all of the "toTrim" data from the graph, if it's there 
     192        String type 
     193         
     194        SetDataFolder root:ToTrim 
     195         
     196        for(ii=0;ii<ItemsInList(ksPanelBinTypeList);ii+=1) 
     197                type = StringFromList(ii, ksPanelBinTypeList, ";") 
     198                CheckDisplayed/W=$winStr $("iBin_qxqy_"+type+"_trim") 
     199                if(V_flag==1) 
     200                        RemoveFromGraph/W=$winStr $("iBin_qxqy_"+type+"_trim") 
     201                endif 
     202        endfor 
     203         
     204        SetDataFolder root: 
     205         
     206//      ClearIQIfDisplayed_AllFldr("B_trim",winStr) 
     207//      ClearIQIfDisplayed_AllFldr("ML_trim",winStr) 
     208//      ClearIQIfDisplayed_AllFldr("MR_trim",winStr) 
     209//      ClearIQIfDisplayed_AllFldr("MT_trim",winStr) 
     210//      ClearIQIfDisplayed_AllFldr("MB_trim",winStr) 
     211//      ClearIQIfDisplayed_AllFldr("FL_trim",winStr) 
     212//      ClearIQIfDisplayed_AllFldr("FR_trim",winStr) 
     213//      ClearIQIfDisplayed_AllFldr("FT_trim",winStr) 
     214//      ClearIQIfDisplayed_AllFldr("FB_trim",winStr) 
     215//      ClearIQIfDisplayed_AllFldr("MLR_trim",winStr) 
     216//      ClearIQIfDisplayed_AllFldr("MTB_trim",winStr) 
     217//      ClearIQIfDisplayed_AllFldr("FLR_trim",winStr) 
     218//      ClearIQIfDisplayed_AllFldr("FTB_trim",winStr) 
     219//      ClearIQIfDisplayed_AllFldr("MLRTB_trim",winStr) 
     220//      ClearIQIfDisplayed_AllFldr("FLRTB_trim",winStr) 
     221 
     222        //then kill the data folder, so it can be duplicated 
     223         
     224// 
     225//      // rename all of the data in the new folder 
     226        SetDataFolder $dataType 
     227        String list = WaveList("*",";","")              //must be in the correct data folder 
     228        SetDataFolder root: 
     229//      Print list       
     230        num = ItemsInList(list) 
     231        for(ii=0;ii<num;ii+=1) 
     232                str = StringFromList(ii,list) 
     233                Duplicate/O $(dataType+":"+str), $("root:ToTrim:"+str+"_trim") 
     234        endfor 
     235        // plot the linked data 
     236        sprintf str,"(\"%s\",%d,\"%s\")","root:ToTrim",binType,winStr 
     237 
     238        Execute ("V_Back_IQ_Graph_trim"+str) 
     239        Execute ("V_Middle_IQ_Graph_trim"+str) 
     240        Execute ("V_Front_IQ_Graph_trim"+str) 
     241        // and link the data to the table with a dependency 
     242//       
     243         
     244         
     245        return(0)        
     246End 
     247 
     248 
     249 
     250 
     251 
     252 
     253 
     254 
     255 
     256 
     257 
     258 
     259 
     260 
     261 
     262 
     263 
     264 
     265 
     266 
     267 
     268 
     269 
     270 
     271 
     272 
     273 
     274 
     275 
     276 
     277 
     278 
     279//////////////// Below is unused -- it was started, but seems like the wrong approach, 
     280//////////////// so I have abandoned it for now 
     281 
     282 
    16283 
    17284//////////////// 
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_DataPlotting.ipf

    r1035 r1038  
    117117        // TODO: 
    118118// x- "B" detector is currently skipped - Q is not yet calculated 
    119         String str,winStr="V_1D_Data" 
    120         sprintf str,"(\"%s\",%d,\"%s\")",workType,binType,winStr 
     119        String str,winStr="V_1D_Data",workPathStr 
     120        workPathStr = "root:Packages:NIST:VSANS:"+worktype 
     121         
     122        sprintf str,"(\"%s\",%d,\"%s\")",workPathStr,binType,winStr 
    121123         
    122124        Execute ("V_Back_IQ_Graph"+str) 
     
    397399// just rebin 
    398400// 
    399 // see V_CombineModePopup() in V_Combine_1D.ipf for a duplicate verison of this function 
     401// see V_CombineModePopup() in V_Combine_1D.ipf for a duplicate version of this function 
    400402// 
    401403Function V_BinningModePopup(ctrlName,popNum,popStr) : PopupMenuControl 
     
    408410        V_QBinAllPanels(type,popNum) 
    409411 
    410         String str,winStr="V_1D_Data" 
    411         sprintf str,"(\"%s\",%d,\"%s\")",type,popNum,winStr 
     412        String str,winStr="V_1D_Data",workTypeStr 
     413        workTypeStr = "root:Packages:NIST:VSANS:"+type 
     414         
     415        sprintf str,"(\"%s\",%d,\"%s\")",workTypeStr,popNum,winStr 
    412416 
    413417        Execute ("V_Back_IQ_Graph"+str) 
    414418        Execute ("V_Middle_IQ_Graph"+str) 
    415419        Execute ("V_Front_IQ_Graph"+str) 
    416                  
    417 //      Execute ("V_Back_IQ_Graph(\""+type+"\")") 
    418 //      Execute ("V_Middle_IQ_Graph(\""+type+"\")") 
    419 //      Execute ("V_Front_IQ_Graph(\""+type+"\")") 
     420 
    420421         
    421422        return(0)        
     
    447448// x- currently  hard-wired == 1 
    448449// 
    449 // input "type" is the data type and defines the folder 
    450 // 
    451 Proc V_Middle_IQ_Graph(type,binType,winNameStr)  
    452         String type 
     450// input "fullPathToFolder" is the data type and defines the folder,  
     451// i.e. "root:Packages:NIST:VSANS:"+"SAM" 
     452// 
     453Proc V_Middle_IQ_Graph(fullPathToFolder,binType,winNameStr)  
     454        String fullPathToFolder 
    453455        Variable binType 
    454456        String winNameStr 
    455457 
    456458//      binType = V_GetBinningPopMode() 
    457         SetDataFolder $("root:Packages:NIST:VSANS:"+type) 
     459        SetDataFolder $(fullPathToFolder) 
    458460 
    459461// clear EVERYTHING 
     
    474476                ClearIQIfDisplayed_AllFldr("MR",winNameStr)      
    475477                ClearIQIfDisplayed_AllFldr("MB",winNameStr)                      
    476                 SetDataFolder $("root:Packages:NIST:VSANS:"+type) 
     478                SetDataFolder $(fullPathToFolder) 
    477479                CheckDisplayed/W=$winNameStr iBin_qxqy_ML 
    478480                 
     
    515517         
    516518 
    517                 SetDataFolder $("root:Packages:NIST:VSANS:"+type) 
     519                SetDataFolder $(fullPathToFolder) 
    518520                CheckDisplayed/W=$winNameStr iBin_qxqy_MLR 
    519521                 
     
    555557//              ClearIQIfDisplayed_AllFldr("MB")         
    556558         
    557                 SetDataFolder $("root:Packages:NIST:VSANS:"+type) 
     559                SetDataFolder $(fullPathToFolder) 
    558560                CheckDisplayed/W=$winNameStr iBin_qxqy_MLRTB 
    559561                 
     
    590592//              ClearIQIfDisplayed_AllFldr("MTB") 
    591593                 
    592                 SetDataFolder $("root:Packages:NIST:VSANS:"+type) 
     594                SetDataFolder $(fullPathToFolder) 
    593595                CheckDisplayed/W=$winNameStr iBin_qxqy_ML 
    594596                 
     
    629631// x- error bars on the data 
    630632// 
    631 Proc V_Front_IQ_Graph(type,binType,winNameStr)  
    632         String type 
     633Proc V_Front_IQ_Graph(fullPathToFolder,binType,winNameStr)  
     634        String fullPathToFolder 
    633635        Variable binType 
    634636        String winNameStr 
     
    636638 
    637639//      binType = V_GetBinningPopMode() 
    638         SetDataFolder $("root:Packages:NIST:VSANS:"+type) 
     640        SetDataFolder $(fullPathToFolder) 
    639641 
    640642// clear EVERYTHING 
     
    660662                ClearIQIfDisplayed_AllFldr("FB",winNameStr) 
    661663                                 
    662                 SetDataFolder $("root:Packages:NIST:VSANS:"+type) 
     664                SetDataFolder $(fullPathToFolder) 
    663665                CheckDisplayed/W=$winNameStr iBin_qxqy_FL 
    664666                 
     
    703705//              ClearIQIfDisplayed_AllFldr("FB")         
    704706 
    705                 SetDataFolder $("root:Packages:NIST:VSANS:"+type) 
     707                SetDataFolder $(fullPathToFolder) 
    706708                CheckDisplayed/W=$winNameStr iBin_qxqy_FLR 
    707709                 
     
    745747//              ClearIQIfDisplayed_AllFldr("FB")         
    746748         
    747                 SetDataFolder $("root:Packages:NIST:VSANS:"+type) 
     749                SetDataFolder $(fullPathToFolder) 
    748750                CheckDisplayed/W=$winNameStr iBin_qxqy_FLRTB 
    749751                 
     
    782784//              ClearIQIfDisplayed_AllFldr("FTB") 
    783785                 
    784                 SetDataFolder $("root:Packages:NIST:VSANS:"+type) 
     786                SetDataFolder $(fullPathToFolder) 
    785787                CheckDisplayed/W=$winNameStr iBin_qxqy_FL 
    786788                 
     
    822824// 
    823825////////////to plot the back panel I(q) 
    824 Proc V_Back_IQ_Graph(type,binType,winNameStr) 
    825         String type 
     826Proc V_Back_IQ_Graph(fullPathToFolder,binType,winNameStr) 
     827        String fullPathToFolder 
    826828        Variable binType 
    827829        String winNameStr 
     
    834836         
    835837 
    836         SetDataFolder $("root:Packages:NIST:VSANS:"+type)        
     838        SetDataFolder $(fullPathToFolder)        
    837839 
    838840        if(binType==1 || binType==2 || binType==3) 
    839841         
    840842                ClearIQIfDisplayed_AllFldr("B",winNameStr) 
    841                 SetDataFolder $("root:Packages:NIST:VSANS:"+type)        
     843                SetDataFolder $(fullPathToFolder)        
    842844                CheckDisplayed/W=$winNameStr iBin_qxqy_B 
    843845                 
     
    845847                        AppendtoGraph/W=$winNameStr iBin_qxqy_B vs qBin_qxqy_B 
    846848                        ErrorBars/T=0 iBin_qxqy_B Y,wave=(:eBin_qxqy_B,:eBin_qxqy_B) 
    847                         ModifyGraph/W=$winNameStr mode=4 
    848 //                      ModifyGraph/W=$winNameStr marker=19 
     849                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_B)=4 
    849850                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B)=(1,52428,52428) 
    850 //                      ModifyGraph/W=$winNameStr msize=2 
    851                         ModifyGraph/W=$winNameStr grid=1 
    852                         ModifyGraph/W=$winNameStr log=1 
    853                         ModifyGraph/W=$winNameStr mirror=2 
    854                         ModifyGraph/W=$winNameStr msize(iBin_qxqy_B)=3,textMarker(iBin_qxqy_B)={"B","default",1,0,5,0.00,0.00} 
     851                        ModifyGraph/W=$winNameStr grid=1 
     852                        ModifyGraph/W=$winNameStr log=1 
     853                        ModifyGraph/W=$winNameStr mirror=2 
     854                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_B)=19,msize(iBin_qxqy_B)=2 
     855//                      ModifyGraph/W=$winNameStr msize(iBin_qxqy_B)=3,textMarker(iBin_qxqy_B)={"B","default",1,0,5,0.00,0.00} 
    855856 
    856857                endif 
    857858                 
    858859//              ClearIQIfDisplayed_AllFldr("B") 
    859 //              SetDataFolder $("root:Packages:NIST:VSANS:"+type)        
     860//              SetDataFolder $(fullPathToFolder)        
    860861//              CheckDisplayed/W=V_1D_Data iBin_qxqy_B 
    861862//               
     
    882883                if(V_flag==0) 
    883884                        AppendtoGraph/W=$winNameStr iBin_qxqy_B vs qBin_qxqy_B 
    884                         ModifyGraph/W=$winNameStr mode=4 
    885                         ModifyGraph/W=$winNameStr marker=19 
     885                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_B)=4 
     886                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_B)=19 
    886887                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B)=(1,52428,52428) 
    887                         ModifyGraph/W=$winNameStr msize=2 
     888                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_B)=2 
    888889                        ModifyGraph/W=$winNameStr grid=1 
    889890                        ModifyGraph/W=$winNameStr log=1 
     
    896897End 
    897898 
     899 
     900 
     901//      type = the data folder 
     902// binType = numerical index of the bin type (1->4) 
     903//  one;two;four;slit 
     904// winNameStr = the name of the target window 
     905// 
     906////////////to plot the back panel I(q) 
     907Proc V_Back_IQ_Graph_trim(fullPathToFolder,binType,winNameStr) 
     908        String fullPathToFolder 
     909        Variable binType 
     910        String winNameStr 
     911         
     912//      SetDataFolder root:Packages:NIST:VSANS:VCALC:entry:instrument:detector_B 
     913 
     914//      Variable binType 
     915 
     916//      binType = V_GetBinningPopMode() 
     917         
     918 
     919        SetDataFolder $(fullPathToFolder)        
     920 
     921        if(binType==1 || binType==2 || binType==3) 
     922         
     923                ClearIQIfDisplayed_AllFldr("B_trim",winNameStr) 
     924                SetDataFolder $(fullPathToFolder)        
     925                CheckDisplayed/W=$winNameStr iBin_qxqy_B_trim 
     926                 
     927                if(V_flag==0) 
     928                        AppendtoGraph/W=$winNameStr iBin_qxqy_B_trim vs qBin_qxqy_B_trim 
     929                        ErrorBars/T=0 iBin_qxqy_B_trim Y,wave=(:eBin_qxqy_B_trim,:eBin_qxqy_B_trim) 
     930                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_B_trim)=4 
     931                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B_trim)=(1,52428,52428) 
     932                        ModifyGraph/W=$winNameStr grid=1 
     933                        ModifyGraph/W=$winNameStr log=1 
     934                        ModifyGraph/W=$winNameStr mirror=2 
     935                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_B_trim)=19,msize(iBin_qxqy_B_trim)=3 
     936//                      ModifyGraph/W=$winNameStr msize(iBin_qxqy_B_trim)=3,textMarker(iBin_qxqy_B_trim)={"B","default",1,0,5,0.00,0.00} 
     937 
     938                endif 
     939                 
     940//              ClearIQIfDisplayed_AllFldr("B_trim") 
     941//              SetDataFolder $(fullPathToFolder)        
     942//              CheckDisplayed/W=V_1D_Data iBin_qxqy_B_trim 
     943//               
     944//              if(V_flag==0) 
     945//                      AppendtoGraph/W=V_1D_Data iBin_qxqy_B_trim vs qBin_qxqy_B_trim 
     946//                      ModifyGraph/W=V_1D_Data mode=4 
     947//                      ModifyGraph/W=V_1D_Data marker=19 
     948//                      ModifyGraph/W=V_1D_Data rgb(iBin_qxqy_B_trim)=(1,52428,52428) 
     949//                      ModifyGraph/W=V_1D_Data msize=2 
     950//                      ModifyGraph/W=V_1D_Data grid=1 
     951//                      ModifyGraph/W=V_1D_Data log=1 
     952//                      ModifyGraph/W=V_1D_Data mirror=2 
     953//              endif 
     954                 
     955        endif 
     956 
     957        //nothing different here since there is ony a single detector to display, but for the future... 
     958        if(binType==4) 
     959         
     960                ClearIQIfDisplayed_AllFldr("B_trim",winNameStr) 
     961                SetDataFolder $("root:Packages:NIST:VSANS:"+type)        
     962                CheckDisplayed/W=$winNameStr iBin_qxqy_B_trim 
     963                 
     964                if(V_flag==0) 
     965                        AppendtoGraph/W=$winNameStr iBin_qxqy_B_trim vs qBin_qxqy_B_trim 
     966                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_B_trim)=4 
     967                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_B_trim)=19 
     968                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B_trim)=(1,52428,52428) 
     969                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_B_trim)=3 
     970                        ModifyGraph/W=$winNameStr grid=1 
     971                        ModifyGraph/W=$winNameStr log=1 
     972                        ModifyGraph/W=$winNameStr mirror=2 
     973                endif 
     974        endif 
     975 
     976         
     977        SetDataFolder root: 
     978End 
     979 
     980 
     981// TODO 
     982// x- need to set binType 
     983// x- currently  hard-wired == 1 
     984// 
     985// input "fullPathToFolder" is the data type and defines the folder,  
     986// i.e. "root:Packages:NIST:VSANS:"+"SAM" 
     987// 
     988Proc V_Middle_IQ_Graph_trim(fullPathToFolder,binType,winNameStr)  
     989        String fullPathToFolder 
     990        Variable binType 
     991        String winNameStr 
     992 
     993//      binType = V_GetBinningPopMode() 
     994        SetDataFolder $(fullPathToFolder) 
     995 
     996// clear EVERYTHING 
     997//              ClearIQIfDisplayed_AllFldr("MLRTB") 
     998//              ClearIQIfDisplayed_AllFldr("MLR") 
     999//              ClearIQIfDisplayed_AllFldr("MTB")               //this returns to root: 
     1000//              ClearIQIfDisplayed_AllFldr("MT")         
     1001//              ClearIQIfDisplayed_AllFldr("ML")         
     1002//              ClearIQIfDisplayed_AllFldr("MR")         
     1003//              ClearIQIfDisplayed_AllFldr("MB")         
     1004 
     1005        if(binType==1) 
     1006                ClearIQIfDisplayed_AllFldr("MLRTB_trim",winNameStr) 
     1007                ClearIQIfDisplayed_AllFldr("MLR_trim",winNameStr) 
     1008                ClearIQIfDisplayed_AllFldr("MTB_trim",winNameStr)               //this returns to root: 
     1009                ClearIQIfDisplayed_AllFldr("MT_trim",winNameStr)         
     1010                ClearIQIfDisplayed_AllFldr("ML_trim",winNameStr)         
     1011                ClearIQIfDisplayed_AllFldr("MR_trim",winNameStr)         
     1012                ClearIQIfDisplayed_AllFldr("MB_trim",winNameStr)                         
     1013                SetDataFolder $(fullPathToFolder) 
     1014                CheckDisplayed/W=$winNameStr iBin_qxqy_ML_trim 
     1015                 
     1016                if(V_flag==0) 
     1017                        AppendtoGraph/W=$winNameStr iBin_qxqy_ML_trim vs qBin_qxqy_ML_trim 
     1018                        AppendToGraph/W=$winNameStr iBin_qxqy_MR_trim vs qBin_qxqy_MR_trim 
     1019                        AppendToGraph/W=$winNameStr iBin_qxqy_MT_trim vs qBin_qxqy_MT_trim 
     1020                        AppendToGraph/W=$winNameStr iBin_qxqy_MB_trim vs qBin_qxqy_MB_trim 
     1021                        ErrorBars/T=0 iBin_qxqy_ML_trim Y,wave=(:eBin_qxqy_ML_trim,:eBin_qxqy_ML_trim) 
     1022                        ErrorBars/T=0 iBin_qxqy_MR_trim Y,wave=(:eBin_qxqy_MR_trim,:eBin_qxqy_MR_trim) 
     1023                        ErrorBars/T=0 iBin_qxqy_MT_trim Y,wave=(:eBin_qxqy_MT_trim,:eBin_qxqy_MT_trim) 
     1024                        ErrorBars/T=0 iBin_qxqy_MB_trim Y,wave=(:eBin_qxqy_MB_trim,:eBin_qxqy_MB_trim) 
     1025                         
     1026                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_ML_trim)=4 
     1027                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MR_trim)=4 
     1028                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MT_trim)=4 
     1029                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MB_trim)=4 
     1030                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_ML_trim)=19 
     1031                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MR_trim)=19 
     1032                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MT_trim)=19 
     1033                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MB_trim)=19 
     1034                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_ML_trim)=(65535,0,0),rgb(iBin_qxqy_MB_trim)=(1,16019,65535),rgb(iBin_qxqy_MR_trim)=(65535,0,0),rgb(iBin_qxqy_MT_trim)=(1,16019,65535) 
     1035                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_ML_trim)=3 
     1036                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MR_trim)=3 
     1037                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MT_trim)=3 
     1038                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MB_trim)=3 
     1039                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_ML_trim)={0,4},muloffset(iBin_qxqy_MB_trim)={0,2},muloffset(iBin_qxqy_MR_trim)={0,8} 
     1040                        ModifyGraph/W=$winNameStr grid=1 
     1041                        ModifyGraph/W=$winNameStr log=1 
     1042                        ModifyGraph/W=$winNameStr mirror=2 
     1043                endif            
     1044        endif 
     1045         
     1046        if(binType==2) 
     1047// clear EVERYTHING 
     1048                ClearIQIfDisplayed_AllFldr("MLRTB_trim",winNameStr) 
     1049                ClearIQIfDisplayed_AllFldr("MLR_trim",winNameStr) 
     1050                ClearIQIfDisplayed_AllFldr("MTB_trim",winNameStr)               //this returns to root: 
     1051                ClearIQIfDisplayed_AllFldr("MT_trim",winNameStr)         
     1052                ClearIQIfDisplayed_AllFldr("ML_trim",winNameStr)         
     1053                ClearIQIfDisplayed_AllFldr("MR_trim",winNameStr)         
     1054                ClearIQIfDisplayed_AllFldr("MB_trim",winNameStr)                 
     1055         
     1056//              ClearIQIfDisplayed_AllFldr("MLRTB") 
     1057//              ClearIQIfDisplayed_AllFldr("MT")         
     1058//              ClearIQIfDisplayed_AllFldr("ML")         
     1059//              ClearIQIfDisplayed_AllFldr("MR")         
     1060//              ClearIQIfDisplayed_AllFldr("MB") 
     1061         
     1062 
     1063                SetDataFolder $(fullPathToFolder) 
     1064                CheckDisplayed/W=$winNameStr iBin_qxqy_MLR_trim 
     1065                 
     1066                if(V_flag==0) 
     1067                        AppendtoGraph/W=$winNameStr iBin_qxqy_MLR_trim vs qBin_qxqy_MLR_trim 
     1068                        AppendToGraph/W=$winNameStr iBin_qxqy_MTB_trim vs qBin_qxqy_MTB_trim 
     1069                        ErrorBars/T=0 iBin_qxqy_MLR_trim Y,wave=(:eBin_qxqy_MLR_trim,:eBin_qxqy_MLR_trim) 
     1070                        ErrorBars/T=0 iBin_qxqy_MTB_trim Y,wave=(:eBin_qxqy_MTB_trim,:eBin_qxqy_MTB_trim) 
     1071                         
     1072                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MLR_trim)=4 
     1073                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MTB_trim)=4 
     1074                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MLR_trim)=19 
     1075                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MTB_trim)=19 
     1076                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLR_trim)=(65535,0,0),rgb(iBin_qxqy_MTB_trim)=(1,16019,65535) 
     1077                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MLR_trim)=3 
     1078                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MTB_trim)=3 
     1079                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_MLR_trim)={0,2} 
     1080                        ModifyGraph/W=$winNameStr grid=1 
     1081                        ModifyGraph/W=$winNameStr log=1 
     1082                        ModifyGraph/W=$winNameStr mirror=2 
     1083                        Label/W=$winNameStr left "Intensity (1/cm)" 
     1084                        Label/W=$winNameStr bottom "Q (1/A)" 
     1085                endif    
     1086                         
     1087        endif 
     1088         
     1089        if(binType==3) 
     1090// clear EVERYTHING 
     1091                ClearIQIfDisplayed_AllFldr("MLRTB_trim",winNameStr) 
     1092                ClearIQIfDisplayed_AllFldr("MLR_trim",winNameStr) 
     1093                ClearIQIfDisplayed_AllFldr("MTB_trim",winNameStr)               //this returns to root: 
     1094                ClearIQIfDisplayed_AllFldr("MT_trim",winNameStr)         
     1095                ClearIQIfDisplayed_AllFldr("ML_trim",winNameStr)         
     1096                ClearIQIfDisplayed_AllFldr("MR_trim",winNameStr)         
     1097                ClearIQIfDisplayed_AllFldr("MB_trim",winNameStr)                 
     1098         
     1099//              ClearIQIfDisplayed_AllFldr("MLR") 
     1100//              ClearIQIfDisplayed_AllFldr("MTB")        
     1101//              ClearIQIfDisplayed_AllFldr("MT")         
     1102//              ClearIQIfDisplayed_AllFldr("ML")         
     1103//              ClearIQIfDisplayed_AllFldr("MR")         
     1104//              ClearIQIfDisplayed_AllFldr("MB")         
     1105         
     1106                SetDataFolder $(fullPathToFolder) 
     1107                CheckDisplayed/W=$winNameStr iBin_qxqy_MLRTB_trim 
     1108                 
     1109                if(V_flag==0) 
     1110                        AppendtoGraph/W=$winNameStr iBin_qxqy_MLRTB_trim vs qBin_qxqy_MLRTB_trim 
     1111                        ErrorBars/T=0 iBin_qxqy_MLRTB_trim Y,wave=(:eBin_qxqy_MLRTB_trim,:eBin_qxqy_MLRTB_trim) 
     1112                         
     1113                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MLRTB_trim)=4 
     1114                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MLRTB_trim)=19 
     1115                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLRTB_trim)=(65535,0,0) 
     1116                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MLRTB_trim)=3 
     1117                        ModifyGraph/W=$winNameStr grid=1 
     1118                        ModifyGraph/W=$winNameStr log=1 
     1119                        ModifyGraph/W=$winNameStr mirror=2 
     1120                        Label/W=$winNameStr left "Intensity (1/cm)" 
     1121                        Label/W=$winNameStr bottom "Q (1/A)" 
     1122                endif    
     1123                         
     1124        endif 
     1125 
     1126        if(binType==4)          // slit aperture binning - MT, ML, MR, MB are averaged 
     1127// clear EVERYTHING 
     1128                ClearIQIfDisplayed_AllFldr("MLRTB_trim",winNameStr) 
     1129                ClearIQIfDisplayed_AllFldr("MLR_trim",winNameStr) 
     1130                ClearIQIfDisplayed_AllFldr("MTB_trim",winNameStr)               //this returns to root: 
     1131                ClearIQIfDisplayed_AllFldr("MT_trim",winNameStr)         
     1132                ClearIQIfDisplayed_AllFldr("ML_trim",winNameStr)         
     1133                ClearIQIfDisplayed_AllFldr("MR_trim",winNameStr)         
     1134                ClearIQIfDisplayed_AllFldr("MB_trim",winNameStr)                 
     1135         
     1136         
     1137//              ClearIQIfDisplayed_AllFldr("MLRTB") 
     1138//              ClearIQIfDisplayed_AllFldr("MLR") 
     1139//              ClearIQIfDisplayed_AllFldr("MTB") 
     1140                 
     1141                SetDataFolder $(fullPathToFolder) 
     1142                CheckDisplayed/W=$winNameStr iBin_qxqy_ML_trim 
     1143                 
     1144                if(V_flag==0) 
     1145                        AppendToGraph/W=$winNameStr iBin_qxqy_ML_trim vs qBin_qxqy_ML_trim 
     1146                        AppendToGraph/W=$winNameStr iBin_qxqy_MR_trim vs qBin_qxqy_MR_trim 
     1147                        AppendToGraph/W=$winNameStr iBin_qxqy_MT_trim vs qBin_qxqy_MT_trim 
     1148                        AppendToGraph/W=$winNameStr iBin_qxqy_MB_trim vs qBin_qxqy_MB_trim 
     1149                        ErrorBars/T=0 iBin_qxqy_ML_trim Y,wave=(:eBin_qxqy_ML_trim,:eBin_qxqy_ML_trim) 
     1150                        ErrorBars/T=0 iBin_qxqy_MR_trim Y,wave=(:eBin_qxqy_MR_trim,:eBin_qxqy_MR_trim) 
     1151                        ErrorBars/T=0 iBin_qxqy_MT_trim Y,wave=(:eBin_qxqy_MT_trim,:eBin_qxqy_MT_trim) 
     1152                        ErrorBars/T=0 iBin_qxqy_MB_trim Y,wave=(:eBin_qxqy_MB_trim,:eBin_qxqy_MB_trim) 
     1153                         
     1154                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_ML_trim)=4 
     1155                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MR_trim)=4 
     1156                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MT_trim)=4 
     1157                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_MB_trim)=4 
     1158                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_ML_trim)=19 
     1159                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MR_trim)=19 
     1160                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MT_trim)=19 
     1161                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_MB_trim)=19 
     1162                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_ML_trim)=(65535,0,0),rgb(iBin_qxqy_MB_trim)=(1,16019,65535),rgb(iBin_qxqy_MR_trim)=(65535,0,0),rgb(iBin_qxqy_MT_trim)=(1,16019,65535) 
     1163                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_ML_trim)=3 
     1164                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MR_trim)=3 
     1165                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MT_trim)=3 
     1166                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_MB_trim)=3 
     1167                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_ML_trim)={0,4},muloffset(iBin_qxqy_MB_trim)={0,2},muloffset(iBin_qxqy_MR_trim)={0,8} 
     1168                        ModifyGraph/W=$winNameStr grid=1 
     1169                        ModifyGraph/W=$winNameStr log=1 
     1170                        ModifyGraph/W=$winNameStr mirror=2 
     1171                endif            
     1172                         
     1173        endif 
     1174         
     1175        SetDataFolder root: 
     1176End 
     1177 
     1178 
     1179 
     1180 
     1181// TODO 
     1182// x- need to set binType 
     1183// x- currently  hard-wired == 1 
     1184// x- error bars on the data 
     1185// 
     1186Proc V_Front_IQ_Graph_trim(fullPathToFolder,binType,winNameStr)  
     1187        String fullPathToFolder 
     1188        Variable binType 
     1189        String winNameStr 
     1190 
     1191 
     1192//      binType = V_GetBinningPopMode() 
     1193        SetDataFolder $(fullPathToFolder) 
     1194 
     1195// clear EVERYTHING 
     1196//              ClearIQIfDisplayed_AllFldr("FLRTB") 
     1197//               
     1198//              ClearIQIfDisplayed_AllFldr("FLR") 
     1199//              ClearIQIfDisplayed_AllFldr("FTB") 
     1200// 
     1201//              ClearIQIfDisplayed_AllFldr("FT")         
     1202//              ClearIQIfDisplayed_AllFldr("FL")         
     1203//              ClearIQIfDisplayed_AllFldr("FR")         
     1204//              ClearIQIfDisplayed_AllFldr("FB") 
     1205                 
     1206        if(binType==1) 
     1207                ClearIQIfDisplayed_AllFldr("FLRTB_trim",winNameStr) 
     1208                 
     1209                ClearIQIfDisplayed_AllFldr("FLR_trim",winNameStr) 
     1210                ClearIQIfDisplayed_AllFldr("FTB_trim",winNameStr) 
     1211 
     1212                ClearIQIfDisplayed_AllFldr("FT_trim",winNameStr)         
     1213                ClearIQIfDisplayed_AllFldr("FL_trim",winNameStr)         
     1214                ClearIQIfDisplayed_AllFldr("FR_trim",winNameStr)         
     1215                ClearIQIfDisplayed_AllFldr("FB_trim",winNameStr) 
     1216                                 
     1217                SetDataFolder $(fullPathToFolder) 
     1218                CheckDisplayed/W=$winNameStr iBin_qxqy_FL_trim 
     1219                 
     1220                if(V_flag==0) 
     1221                        AppendtoGraph/W=$winNameStr iBin_qxqy_FL_trim vs qBin_qxqy_FL_trim 
     1222                        AppendToGraph/W=$winNameStr iBin_qxqy_FR_trim vs qBin_qxqy_FR_trim 
     1223                        AppendToGraph/W=$winNameStr iBin_qxqy_FT_trim vs qBin_qxqy_FT_trim 
     1224                        AppendToGraph/W=$winNameStr iBin_qxqy_FB_trim vs qBin_qxqy_FB_trim 
     1225                        ErrorBars/T=0 iBin_qxqy_FL_trim Y,wave=(:eBin_qxqy_FL_trim,:eBin_qxqy_FL_trim) 
     1226                        ErrorBars/T=0 iBin_qxqy_FR_trim Y,wave=(:eBin_qxqy_FR_trim,:eBin_qxqy_FR_trim) 
     1227                        ErrorBars/T=0 iBin_qxqy_FT_trim Y,wave=(:eBin_qxqy_FT_trim,:eBin_qxqy_FT_trim) 
     1228                        ErrorBars/T=0 iBin_qxqy_FB_trim Y,wave=(:eBin_qxqy_FB_trim,:eBin_qxqy_FB_trim) 
     1229 
     1230                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FL_trim)=4 
     1231                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FR_trim)=4 
     1232                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FT_trim)=4 
     1233                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FB_trim)=4 
     1234                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FL_trim)=19 
     1235                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FR_trim)=19 
     1236                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FT_trim)=19 
     1237                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FB_trim)=19 
     1238                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FL_trim)=(39321,26208,1),rgb(iBin_qxqy_FB_trim)=(2,39321,1),rgb(iBin_qxqy_FR_trim)=(39321,26208,1),rgb(iBin_qxqy_FT_trim)=(2,39321,1) 
     1239                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FL_trim)=3 
     1240                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FR_trim)=3 
     1241                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FT_trim)=3 
     1242                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FB_trim)=3 
     1243                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FL_trim)={0,4},muloffset(iBin_qxqy_FB_trim)={0,2},muloffset(iBin_qxqy_FR_trim)={0,8} 
     1244                        ModifyGraph/W=$winNameStr grid=1 
     1245                        ModifyGraph/W=$winNameStr log=1 
     1246                        ModifyGraph/W=$winNameStr mirror=2 
     1247                        Label/W=$winNameStr left "Intensity (1/cm)" 
     1248                        Label/W=$winNameStr bottom "Q (1/A)" 
     1249                endif            
     1250        endif 
     1251         
     1252        if(binType==2) 
     1253        // clear EVERYTHING 
     1254                ClearIQIfDisplayed_AllFldr("FLRTB_trim",winNameStr) 
     1255                 
     1256                ClearIQIfDisplayed_AllFldr("FLR_trim",winNameStr) 
     1257                ClearIQIfDisplayed_AllFldr("FTB_trim",winNameStr) 
     1258 
     1259                ClearIQIfDisplayed_AllFldr("FT_trim",winNameStr)         
     1260                ClearIQIfDisplayed_AllFldr("FL_trim",winNameStr)         
     1261                ClearIQIfDisplayed_AllFldr("FR_trim",winNameStr)         
     1262                ClearIQIfDisplayed_AllFldr("FB_trim",winNameStr) 
     1263//              ClearIQIfDisplayed_AllFldr("FLRTB") 
     1264//              ClearIQIfDisplayed_AllFldr("FT")         
     1265//              ClearIQIfDisplayed_AllFldr("FL")         
     1266//              ClearIQIfDisplayed_AllFldr("FR")         
     1267//              ClearIQIfDisplayed_AllFldr("FB")         
     1268 
     1269                SetDataFolder $(fullPathToFolder) 
     1270                CheckDisplayed/W=$winNameStr iBin_qxqy_FLR_trim 
     1271                 
     1272                if(V_flag==0) 
     1273                        AppendtoGraph/W=$winNameStr iBin_qxqy_FLR_trim vs qBin_qxqy_FLR_trim 
     1274                        AppendToGraph/W=$winNameStr iBin_qxqy_FTB_trim vs qBin_qxqy_FTB_trim 
     1275                        ErrorBars/T=0 iBin_qxqy_FLR_trim Y,wave=(:eBin_qxqy_FLR_trim,:eBin_qxqy_FLR_trim) 
     1276                        ErrorBars/T=0 iBin_qxqy_FTB_trim Y,wave=(:eBin_qxqy_FTB_trim,:eBin_qxqy_FTB_trim) 
     1277 
     1278                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FLR_trim)=4 
     1279                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FTB_trim)=4 
     1280                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FLR_trim)=19 
     1281                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FTB_trim)=19 
     1282                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLR_trim)=(39321,26208,1),rgb(iBin_qxqy_FTB_trim)=(2,39321,1) 
     1283                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FLR_trim)=3 
     1284                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FTB_trim)=3 
     1285                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FLR_trim)={0,2} 
     1286                        ModifyGraph/W=$winNameStr grid=1 
     1287                        ModifyGraph/W=$winNameStr log=1 
     1288                        ModifyGraph/W=$winNameStr mirror=2 
     1289//                      Label/W=$winNameStr left "Intensity (1/cm)" 
     1290//                      Label/W=$winNameStr bottom "Q (1/A)" 
     1291                endif    
     1292                         
     1293        endif 
     1294         
     1295        if(binType==3) 
     1296// clear EVERYTHING 
     1297                ClearIQIfDisplayed_AllFldr("FLRTB_trim",winNameStr) 
     1298                 
     1299                ClearIQIfDisplayed_AllFldr("FLR_trim",winNameStr) 
     1300                ClearIQIfDisplayed_AllFldr("FTB_trim",winNameStr) 
     1301 
     1302                ClearIQIfDisplayed_AllFldr("FT_trim",winNameStr)         
     1303                ClearIQIfDisplayed_AllFldr("FL_trim",winNameStr)         
     1304                ClearIQIfDisplayed_AllFldr("FR_trim",winNameStr)         
     1305                ClearIQIfDisplayed_AllFldr("FB_trim",winNameStr)         
     1306         
     1307//              ClearIQIfDisplayed_AllFldr("FLR") 
     1308//              ClearIQIfDisplayed_AllFldr("FTB")        
     1309//              ClearIQIfDisplayed_AllFldr("FT")         
     1310//              ClearIQIfDisplayed_AllFldr("FL")         
     1311//              ClearIQIfDisplayed_AllFldr("FR")         
     1312//              ClearIQIfDisplayed_AllFldr("FB")         
     1313         
     1314                SetDataFolder $(fullPathToFolder) 
     1315                CheckDisplayed/W=$winNameStr iBin_qxqy_FLRTB_trim 
     1316                 
     1317                if(V_flag==0) 
     1318                        AppendtoGraph/W=$winNameStr iBin_qxqy_FLRTB_trim vs qBin_qxqy_FLRTB_trim 
     1319                        ErrorBars/T=0 iBin_qxqy_FLRTB_trim Y,wave=(:eBin_qxqy_FLRTB_trim,:eBin_qxqy_FLRTB_trim) 
     1320 
     1321                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FLRTB_trim)=4 
     1322                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FLRTB_trim)=19 
     1323                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLRTB_trim)=(39321,26208,1) 
     1324                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FLRTB_trim)=3 
     1325                        ModifyGraph/W=$winNameStr grid=1 
     1326                        ModifyGraph/W=$winNameStr log=1 
     1327                        ModifyGraph/W=$winNameStr mirror=2 
     1328                        Label/W=$winNameStr left "Intensity (1/cm)" 
     1329                        Label/W=$winNameStr bottom "Q (1/A)" 
     1330                endif    
     1331                         
     1332        endif 
     1333 
     1334        if(binType==4)          // slit aperture binning - MT, ML, MR, MB are averaged 
     1335// clear EVERYTHING 
     1336                ClearIQIfDisplayed_AllFldr("FLRTB_trim",winNameStr) 
     1337                 
     1338                ClearIQIfDisplayed_AllFldr("FLR_trim",winNameStr) 
     1339                ClearIQIfDisplayed_AllFldr("FTB_trim",winNameStr) 
     1340 
     1341                ClearIQIfDisplayed_AllFldr("FT_trim",winNameStr)         
     1342                ClearIQIfDisplayed_AllFldr("FL_trim",winNameStr)         
     1343                ClearIQIfDisplayed_AllFldr("FR_trim",winNameStr)         
     1344                ClearIQIfDisplayed_AllFldr("FB_trim",winNameStr)         
     1345         
     1346         
     1347//              ClearIQIfDisplayed_AllFldr("FLRTB") 
     1348//              ClearIQIfDisplayed_AllFldr("FLR") 
     1349//              ClearIQIfDisplayed_AllFldr("FTB") 
     1350                 
     1351                SetDataFolder $(fullPathToFolder) 
     1352                CheckDisplayed/W=$winNameStr iBin_qxqy_FL_trim 
     1353                 
     1354                if(V_flag==0) 
     1355                        AppendtoGraph/W=$winNameStr iBin_qxqy_FL_trim vs qBin_qxqy_FL_trim 
     1356                        AppendToGraph/W=$winNameStr iBin_qxqy_FR_trim vs qBin_qxqy_FR_trim 
     1357                        AppendToGraph/W=$winNameStr iBin_qxqy_FT_trim vs qBin_qxqy_FT_trim 
     1358                        AppendToGraph/W=$winNameStr iBin_qxqy_FB_trim vs qBin_qxqy_FB_trim 
     1359                        ErrorBars/T=0 iBin_qxqy_FL_trim Y,wave=(:eBin_qxqy_FL_trim,:eBin_qxqy_FL_trim) 
     1360                        ErrorBars/T=0 iBin_qxqy_FR_trim Y,wave=(:eBin_qxqy_FR_trim,:eBin_qxqy_FR_trim) 
     1361                        ErrorBars/T=0 iBin_qxqy_FT_trim Y,wave=(:eBin_qxqy_FT_trim,:eBin_qxqy_FT_trim) 
     1362                        ErrorBars/T=0 iBin_qxqy_FB_trim Y,wave=(:eBin_qxqy_FB_trim,:eBin_qxqy_FB_trim) 
     1363                         
     1364                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FL_trim)=4 
     1365                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FR_trim)=4 
     1366                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FT_trim)=4 
     1367                        ModifyGraph/W=$winNameStr mode(iBin_qxqy_FB_trim)=4 
     1368                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FL_trim)=19 
     1369                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FR_trim)=19 
     1370                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FT_trim)=19 
     1371                        ModifyGraph/W=$winNameStr marker(iBin_qxqy_FB_trim)=19 
     1372                        ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FL_trim)=(39321,26208,1),rgb(iBin_qxqy_FB_trim)=(2,39321,1),rgb(iBin_qxqy_FR_trim)=(39321,26208,1),rgb(iBin_qxqy_FT_trim)=(2,39321,1) 
     1373                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FL_trim)=3 
     1374                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FR_trim)=3 
     1375                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FT_trim)=3 
     1376                        ModifyGraph/W=$winNameStr msize(iBin_qxqy_FB_trim)=3 
     1377                        ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FL_trim)={0,4},muloffset(iBin_qxqy_FB_trim)={0,2},muloffset(iBin_qxqy_FR_trim)={0,8} 
     1378                        ModifyGraph/W=$winNameStr grid=1 
     1379                        ModifyGraph/W=$winNameStr log=1 
     1380                        ModifyGraph/W=$winNameStr mirror=2 
     1381                endif            
     1382                         
     1383        endif 
     1384         
     1385        SetDataFolder root: 
     1386End 
     1387 
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_IQ_Utilities.ipf

    r1037 r1038  
    3535 
    3636Strconstant ksPanelBinTypeList = "B;FT;FB;FL;FR;MT;MB;ML;MR;FTB;FLR;MTB;MLR;FLRTB;MLRTB;" 
    37  
     37Strconstant ksBinTrimBegDefault = "B=5;FT=6;FB=6;FL=6;FR=6;MT=6;MB=6;ML=6;MR=6;FTB=7;FLR=7;MTB=7;MLR=7;FLRTB=8;MLRTB=8;" 
     38Strconstant ksBinTrimEndDefault = "B=10;FT=9;FB=9;FL=9;FR=9;MT=9;MB=9;ML=9;MR=9;FTB=8;FLR=8;MTB=8;MLR=8;FLRTB=7;MLRTB=7;" 
     39 
     40 
     41////////////////// 
    3842Strconstant ksBinTypeStr = "One;Two;Four;Slit Mode;" 
    3943Strconstant ksBinType1 = "B;FT;FB;FL;FR;MT;MB;ML;MR;"           //these are the "active" extensions 
     
    4145Strconstant ksBinType3 = "B;FLRTB;MLRTB;" 
    4246Strconstant ksBinType4 = "B;FT;FB;FL;FR;MT;MB;ML;MR;" 
    43  
    44  
     47/////////////////// 
     48// 
    4549// NOTE 
    4650// this is the master conversion function 
     
    450454                Wave/Z s_mr = eBin_qxqy_MR 
    451455                Wave/Z s_b = eBin_qxqy_B 
     456 
     457 
    452458                                 
    453459                DeletePoints 0,nBeg, q_fb,q_ft,q_fl,q_fr,q_mb,q_mt,q_ml,q_mr,q_b 
     
    892898 
    893899 
     900Macro V_Load_Data_ITX() 
     901        V_Load_itx("","",0,0) 
     902end 
     903 
    894904// TODO 
    895905// -- fill in 
     
    9901000        return(0) 
    9911001End 
     1002 
     1003 
     1004// given strings of the number of points to remove, loop over the detectors 
     1005Function V_Trim1DDataStr(folderStr,binType,nBegStr,nEndStr) 
     1006        String folderStr 
     1007        Variable binType 
     1008        String nBegStr,nEndStr 
     1009         
     1010        String detListStr 
     1011        if(binType == 1) 
     1012                detListStr = ksBinType1 
     1013        endif 
     1014        if(binType == 2) 
     1015                detListStr = ksBinType2 
     1016        endif 
     1017        if(binType == 3) 
     1018                detListStr = ksBinType3 
     1019        endif 
     1020        if(binType == 4) 
     1021                detListStr = ksBinType4 
     1022        endif 
     1023        if(strlen(detListStr)==0) 
     1024                return(0) 
     1025        endif 
     1026         
     1027        //use default values if null string passed in 
     1028        if(strlen(nBegStr)==0) 
     1029                nBegStr = ksBinTrimBegDefault 
     1030                nEndStr = ksBinTrimEndDefault 
     1031        endif    
     1032 
     1033        Variable num, ii,nBeg,nEnd 
     1034        String item,detstr 
     1035         
     1036        num = ItemsInList(detListStr) 
     1037        for(ii=0;ii<num;ii+=1) 
     1038                detStr = StringFromList(ii, detListStr) 
     1039                nBeg = NumberByKey(detStr, nBegStr,"=",";") 
     1040                nEnd = NumberByKey(detStr, nEndStr,"=",";") 
     1041                V_TrimOneSet(folderStr,detStr,nBeg,nEnd) 
     1042        endfor 
     1043 
     1044        return(0) 
     1045End 
     1046 
     1047// TODO 
     1048// -- make this resolution-aware 
     1049// 
     1050Function V_TrimOneSet(folderStr,detStr,nBeg,nEnd) 
     1051        String folderStr,detStr 
     1052        Variable nBeg,nEnd 
     1053         
     1054        SetDataFolder $("root:Packages:NIST:VSANS:"+folderStr) 
     1055 
     1056        Printf "%d points removed from beginning, %d points from the end  of %s \r",nbeg,nend,detStr 
     1057 
     1058// TODO  
     1059// for each binType block: 
     1060// --declare the waves 
     1061// --make a copy of the waves?? 
     1062//      //--Break out resolution wave into separate waves 
     1063// --delete the beginning points from everything 
     1064        // --trim off the last nEnd points from everything 
     1065//      --DeletePoints num-nEnd,nEnd, qw,iw,sw 
     1066//      // --delete all points where the shadow is < 0.98 
     1067////--Put resolution contents back??? 
     1068 
     1069                Wave/Z qw = $("qBin_qxqy_"+detStr) 
     1070                Wave/Z iw = $("iBin_qxqy_"+detStr) 
     1071                Wave/Z ew = $("eBin_qxqy_"+detStr) 
     1072 
     1073                         
     1074                DeletePoints 0,nBeg, qw,iw,ew 
     1075 
     1076                Variable npt 
     1077                npt = numpnts(qw)  
     1078                DeletePoints npt-nEnd,nEnd, qw,iw,ew 
     1079         
     1080        return(0) 
     1081End 
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_Protocol_Reduction.ipf

    r1036 r1038  
    24362436// 
    24372437// TODO: 
    2438 // -- fill in all of the cases, default is only the "standard" I(q) 
     2438// -- fill in all of the cases, default is only the "standard" circular average I(q) 
    24392439 
    24402440                                if(cmpstr(saveType,"Yes - Concatenate")==0) 
    2441                                         V_Trim1DData(activeType,binType,nBeg,nEnd) 
     2441                                        V_Trim1DDataStr(activeType,binType,"","")                       // TODO -- passing null strings uses default trimmings 
     2442//                                      V_Trim1DData(activeType,binType,nBeg,nEnd) 
    24422443                                        V_ConcatenateForSave(activeType,binType)                // this removes q=0 point, concatenates, sorts 
    24432444                                        V_Write1DData(activeType,newFileName+"."+exten)         //don't pass the full path, just the name 
Note: See TracChangeset for help on using the changeset viewer.