- Timestamp:
- Nov 28, 2017 9:39:57 AM (5 years ago)
- Location:
- sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_Combine_1D.ipf
r1050 r1074 52 52 ModifyGraph cbRGB=(44000,44000,44000) 53 53 54 Button button2,pos={15,5},size={70,20},proc=V_Load_ITX_button,title="Load Data"55 Button button2,help={"Load an ITX file"}54 // Button button2,pos={15,5},size={70,20},proc=V_Load_ITX_button,title="Load Data" 55 // Button button2,help={"Load an ITX file"} 56 56 57 PopupMenu popup1,pos={125,5},size={90,20},title="Data Folder"58 PopupMenu popup1,help={"data folder"}59 PopupMenu popup1,value= GetAList(4),proc=V_DataFolderPlotPop57 // PopupMenu popup1,pos={125,5},size={90,20},title="Data Folder" 58 // PopupMenu popup1,help={"data folder"} 59 // PopupMenu popup1,value= GetAList(4),proc=V_DataFolderPlotPop 60 60 61 PopupMenu popup0,pos={ 320,5},size={70,20},title="Bin Type"61 PopupMenu popup0,pos={15,5},size={70,20},title="Bin Type" 62 62 PopupMenu popup0,help={"binning type"} 63 PopupMenu popup0,value= ksBinTypeStr 63 PopupMenu popup0,value= ksBinTypeStr,proc=V_DataBinTypePlotPop 64 64 65 65 Button button3,pos={544.00,5},size={30.00,20.00},title="?" … … 75 75 Button button1,help={"Convert the waves to global strings"} 76 76 77 Button button4,pos={388,36},size={90.00,20.00},title="Trim & Save"78 Button button4,help={"combine and save 1D data"},proc=V_SaveTrimmed_Button77 // Button button4,pos={388,36},size={90.00,20.00},title="Trim & Save" 78 // Button button4,help={"combine and save 1D data"},proc=V_SaveTrimmed_Button 79 79 80 80 Button button0,pos={524,36},size={70,20},proc=V_DoneCombine1D_ButtonProc,title="Done" … … 147 147 148 148 // SetDataFolder root:ToTrim 149 ControlInfo/W=V_1D_Combine popup1 150 String dataFldrStr = S_Value 149 // ControlInfo/W=V_1D_Combine popup1 150 // String dataFldrStr = S_Value 151 152 SVAR curDispType = root:Packages:NIST:VSANS:Globals:gCurDispType 153 String dataFldrStr = "root:Packages:NIST:VSANS:"+curDispType 151 154 152 155 Variable num,ii,p1,p2 … … 157 160 detStr = panelStr[ii] 158 161 Wave/Z iw = $("root:ToTrim:iBin_qxqy_"+detStr+"_trim") 159 Wave/Z iw_orig = $( "root:"+dataFldrStr+":iBin_qxqy_"+detStr)162 Wave/Z iw_orig = $(dataFldrStr+":iBin_qxqy_"+detStr) 160 163 // Wave/Z iw = $("iBin_qxqy_"+detStr) 161 164 // Wave/Z ew = $("eBin_qxqy_"+detStr) … … 190 193 // then the waves are always missing - and the function returns an error - every time 191 194 // 195 // now works with the "current" data that is displayed, rather than relying on 196 // a lot of user input regarding the details of the saved data 197 // 198 Function V_DataBinTypePlotPop(ctrlName,popNum,popStr) : PopupMenuControl 199 String ctrlName 200 Variable popNum // which item is currently selected (1-based) 201 String popStr // contents of current popup item as string 202 203 204 String str,winStr="V_1D_Combine" 205 Variable binType,num,ii,err 206 207 binType = V_BinTypeStr2Num(popStr) 208 209 210 // x- need to update this to make sure that the data waves are present before plotting. This 211 // currently looks in the ToTrim folder, but the binning could be wrong in the data folder 212 // and will be an error... 213 214 //dataType now needs to be the full path to the folder 215 // Plot the "real" data. data copy to trim will be plotted later 216 // 217 SVAR dispType = root:Packages:NIST:VSANS:Globals:gCurDispType 218 219 220 // dispatch based on the string, not on the number of selection in the pop string 221 V_QBinAllPanels_Circular(dispType,binType) 222 223 String workTypeStr 224 workTypeStr = "root:Packages:NIST:VSANS:"+dispType 225 226 227 // dataType = "root:"+popStr 228 // 229 // //remove EVERYTHING from the graph, no matter what 230 String type,list,item 231 // list = TraceNameList(winStr,";",1) 232 // for(ii=0;ii<ItemsInList(list);ii+=1) 233 // item = StringFromList(ii, list, ";") 234 //// CheckDisplayed/W=$winStr $(item) 235 //// if(V_flag==1) 236 // RemoveFromGraph/Z/W=$winStr $(item) 237 //// endif 238 // endfor 239 // 240 241 sprintf str,"(\"%s\",%d,\"%s\")",workTypeStr,binType,winStr 242 243 Execute ("V_Back_IQ_Graph"+str) 244 Execute ("V_Middle_IQ_Graph"+str) 245 Execute ("V_Front_IQ_Graph"+str) 246 247 ModifyGraph marker=8,opaque=1,msize=3 //make the traces open white circles 248 249 250 NewDataFolder/O root:ToTrim 251 252 //remove all of the "toTrim" data from the graph, if it's there 253 SetDataFolder root:ToTrim 254 for(ii=0;ii<ItemsInList(ksPanelBinTypeList);ii+=1) 255 type = StringFromList(ii, ksPanelBinTypeList, ";") 256 CheckDisplayed/W=$winStr $("iBin_qxqy_"+type+"_trim") 257 if(V_flag==1) 258 RemoveFromGraph/W=$winStr $("iBin_qxqy_"+type+"_trim") 259 endif 260 endfor 261 SetDataFolder root: 262 263 264 //then kill the data folder, so it can be duplicated 265 266 // 267 // // duplicate all of the data into the new folder 268 SetDataFolder $workTypeStr 269 list = WaveList("*",";","") //must be in the correct data folder 270 SetDataFolder root: 271 // Print list 272 num = ItemsInList(list) 273 for(ii=0;ii<num;ii+=1) 274 str = StringFromList(ii,list) 275 Duplicate/O $(workTypeStr+":"+str), $("root:ToTrim:"+str+"_trim") 276 endfor 277 278 // // be sure that the data is present in the ToTrim folder before trying to plot 279 // err = V_TrimWavesExist(binType) 280 // if(err) 281 // DoAlert 0,"wrong bin type selected" 282 // return(0) 283 // endif 284 285 286 // plot the linked data 287 sprintf str,"(\"%s\",%d,\"%s\")","root:ToTrim",binType,winStr 288 289 Execute ("V_Back_IQ_Graph_trim"+str) 290 Execute ("V_Middle_IQ_Graph_trim"+str) 291 Execute ("V_Front_IQ_Graph_trim"+str) 292 // and link the data to the table with a dependency? 293 // done in the panel macro? 294 295 // last, force the dependency to update so that the trimmed points are shown 296 Wave w = root:Packages:NIST:VSANS:Globals:Protocols:Beg_pts 297 w[0] += 1 298 w[0] -= 1 299 300 301 return(0) 302 End 303 304 305 306 // 307 // x- verify that the proper waves exist for the binning type 308 // 309 // x- the logic here is wrong. if the ToTrim folder is empty (As on startup) 310 // then the waves are always missing - and the function returns an error - every time 311 // 312 // currently unused, in favor of using the current data rather than saved itx data 192 313 // 193 314 Function V_DataFolderPlotPop(ctrlName,popNum,popStr) : PopupMenuControl … … 294 415 return(0) 295 416 End 417 418 296 419 297 420 // kill the dependency, -
sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_DataPlotting.ipf
r1073 r1074 962 962 963 963 // binType = V_GetBinningPopMode() 964 964 ClearIQIfDisplayed_AllFldr("B_trim",winNameStr) 965 965 966 966 967 SetDataFolder $(fullPathToFolder) … … 968 969 if(binType==1 || binType==2 || binType==3) 969 970 970 // ClearIQIfDisplayed_AllFldr("B_trim",winNameStr)971 CheckDisplayed/W=$winNameStr $("iBin_qxqy_B_trim")972 if(V_flag==1)973 RemoveFromGraph/W=$winNameStr $("iBin_qxqy_B_trim")974 endif975 971 SetDataFolder $(fullPathToFolder) 976 972 CheckDisplayed/W=$winNameStr iBin_qxqy_B_trim … … 989 985 endif 990 986 991 // ClearIQIfDisplayed_AllFldr("B_trim")992 // SetDataFolder $(fullPathToFolder)993 // CheckDisplayed/W=V_1D_Data iBin_qxqy_B_trim994 //995 // if(V_flag==0)996 // AppendtoGraph/W=V_1D_Data iBin_qxqy_B_trim vs qBin_qxqy_B_trim997 // ModifyGraph/W=V_1D_Data mode=4998 // ModifyGraph/W=V_1D_Data marker=19999 // ModifyGraph/W=V_1D_Data rgb(iBin_qxqy_B_trim)=(1,52428,52428)1000 // ModifyGraph/W=V_1D_Data msize=21001 // ModifyGraph/W=V_1D_Data grid=11002 // ModifyGraph/W=V_1D_Data log=11003 // ModifyGraph/W=V_1D_Data mirror=21004 // endif1005 1006 987 endif 1007 988 … … 1009 990 if(binType==4) 1010 991 1011 // ClearIQIfDisplayed_AllFldr("B_trim",winNameStr) 1012 CheckDisplayed/W=$winNameStr $("iBin_qxqy_B_trim") 1013 if(V_flag==1) 1014 RemoveFromGraph/W=$winNameStr $("iBin_qxqy_B_trim") 1015 endif 1016 SetDataFolder $("root:Packages:NIST:VSANS:"+type) 992 SetDataFolder $(fullPathToFolder) 1017 993 CheckDisplayed/W=$winNameStr iBin_qxqy_B_trim 1018 994 … … 1029 1005 endif 1030 1006 1007 if(binType==5 || binType==6 || binType==7) 1008 1009 SetDataFolder $(fullPathToFolder) 1010 CheckDisplayed/W=$winNameStr iBin_qxqy_B_trim 1011 1012 if(V_flag==0) 1013 AppendtoGraph/W=$winNameStr iBin_qxqy_B_trim vs qBin_qxqy_B_trim 1014 ModifyGraph/W=$winNameStr mode(iBin_qxqy_B_trim)=4 1015 ModifyGraph/W=$winNameStr marker(iBin_qxqy_B_trim)=19 1016 ModifyGraph/W=$winNameStr rgb(iBin_qxqy_B_trim)=(1,52428,52428) 1017 ModifyGraph/W=$winNameStr msize(iBin_qxqy_B_trim)=3 1018 ModifyGraph/W=$winNameStr grid=1 1019 ModifyGraph/W=$winNameStr log=1 1020 ModifyGraph/W=$winNameStr mirror=2 1021 endif 1022 endif 1031 1023 1032 1024 SetDataFolder root: … … 1049 1041 SetDataFolder $(fullPathToFolder) 1050 1042 1051 String midList = "ML;MR;MT;MB;MLR;MTB;MLRTB;"1043 // String midList = "ML;MR;MT;MB;MLR;MTB;MLRTB;" 1052 1044 String type 1053 1045 Variable ii 1054 1046 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 1055 1056 1056 if(binType==1) 1057 ii=01058 do1059 type = StringFromList(ii, midlist, ";")1060 CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")1061 if(V_flag==1)1062 RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")1063 endif1064 ii+=11065 while(ii<ItemsInList(midList))1057 // ii=0 1058 // do 1059 // type = StringFromList(ii, midlist, ";") 1060 // CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim") 1061 // if(V_flag==1) 1062 // RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim") 1063 // endif 1064 // ii+=1 1065 // while(ii<ItemsInList(midList)) 1066 1066 1067 1067 … … 1101 1101 if(binType==2) 1102 1102 // clear EVERYTHING 1103 ii=0 1104 do 1105 type = StringFromList(ii, midlist, ";") 1106 CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim") 1107 if(V_flag==1) 1108 RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim") 1109 endif 1110 ii+=1 1111 while(ii<ItemsInList(midList)) 1112 1113 1114 1103 // ii=0 1104 // do 1105 // type = StringFromList(ii, midlist, ";") 1106 // CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim") 1107 // if(V_flag==1) 1108 // RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim") 1109 // endif 1110 // ii+=1 1111 // while(ii<ItemsInList(midList)) 1112 // 1115 1113 1116 1114 SetDataFolder $(fullPathToFolder) … … 1141 1139 1142 1140 if(binType==3) 1143 // clear EVERYTHING1144 ii=01145 do1146 type = StringFromList(ii, midlist, ";")1147 CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")1148 if(V_flag==1)1149 RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")1150 endif1151 ii+=11152 while(ii<ItemsInList(midList))1141 //// clear EVERYTHING 1142 // ii=0 1143 // do 1144 // type = StringFromList(ii, midlist, ";") 1145 // CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim") 1146 // if(V_flag==1) 1147 // RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim") 1148 // endif 1149 // ii+=1 1150 // while(ii<ItemsInList(midList)) 1153 1151 1154 1152 … … 1174 1172 1175 1173 if(binType==4) // slit aperture binning - MT, ML, MR, MB are averaged 1176 // clear EVERYTHING1177 ii=01178 do1179 type = StringFromList(ii, midlist, ";")1180 CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")1181 if(V_flag==1)1182 RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")1183 endif1184 ii+=11185 while(ii<ItemsInList(midList))1174 //// clear EVERYTHING 1175 // ii=0 1176 // do 1177 // type = StringFromList(ii, midlist, ";") 1178 // CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim") 1179 // if(V_flag==1) 1180 // RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim") 1181 // endif 1182 // ii+=1 1183 // while(ii<ItemsInList(midList)) 1186 1184 1187 1185 … … 1193 1191 AppendToGraph/W=$winNameStr iBin_qxqy_ML_trim vs qBin_qxqy_ML_trim 1194 1192 AppendToGraph/W=$winNameStr iBin_qxqy_MR_trim vs qBin_qxqy_MR_trim 1195 AppendToGraph/W=$winNameStr iBin_qxqy_MT_trim vs qBin_qxqy_MT_trim1196 AppendToGraph/W=$winNameStr iBin_qxqy_MB_trim vs qBin_qxqy_MB_trim1193 // AppendToGraph/W=$winNameStr iBin_qxqy_MT_trim vs qBin_qxqy_MT_trim 1194 // AppendToGraph/W=$winNameStr iBin_qxqy_MB_trim vs qBin_qxqy_MB_trim 1197 1195 ErrorBars/T=0 iBin_qxqy_ML_trim Y,wave=(:eBin_qxqy_ML_trim,:eBin_qxqy_ML_trim) 1198 1196 ErrorBars/T=0 iBin_qxqy_MR_trim Y,wave=(:eBin_qxqy_MR_trim,:eBin_qxqy_MR_trim) 1199 ErrorBars/T=0 iBin_qxqy_MT_trim Y,wave=(:eBin_qxqy_MT_trim,:eBin_qxqy_MT_trim)1200 ErrorBars/T=0 iBin_qxqy_MB_trim Y,wave=(:eBin_qxqy_MB_trim,:eBin_qxqy_MB_trim)1197 // ErrorBars/T=0 iBin_qxqy_MT_trim Y,wave=(:eBin_qxqy_MT_trim,:eBin_qxqy_MT_trim) 1198 // ErrorBars/T=0 iBin_qxqy_MB_trim Y,wave=(:eBin_qxqy_MB_trim,:eBin_qxqy_MB_trim) 1201 1199 1202 1200 ModifyGraph/W=$winNameStr mode(iBin_qxqy_ML_trim)=4 1203 1201 ModifyGraph/W=$winNameStr mode(iBin_qxqy_MR_trim)=4 1204 ModifyGraph/W=$winNameStr mode(iBin_qxqy_MT_trim)=41205 ModifyGraph/W=$winNameStr mode(iBin_qxqy_MB_trim)=41202 // ModifyGraph/W=$winNameStr mode(iBin_qxqy_MT_trim)=4 1203 // ModifyGraph/W=$winNameStr mode(iBin_qxqy_MB_trim)=4 1206 1204 ModifyGraph/W=$winNameStr marker(iBin_qxqy_ML_trim)=19 1207 1205 ModifyGraph/W=$winNameStr marker(iBin_qxqy_MR_trim)=19 1208 ModifyGraph/W=$winNameStr marker(iBin_qxqy_MT_trim)=19 1209 ModifyGraph/W=$winNameStr marker(iBin_qxqy_MB_trim)=19 1210 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) 1206 // ModifyGraph/W=$winNameStr marker(iBin_qxqy_MT_trim)=19 1207 // ModifyGraph/W=$winNameStr marker(iBin_qxqy_MB_trim)=19 1208 ModifyGraph/W=$winNameStr rgb(iBin_qxqy_ML_trim)=(65535,0,0),rgb(iBin_qxqy_MR_trim)=(65535,0,0) 1209 // ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MB_trim)=(1,16019,65535),rgb(iBin_qxqy_MT_trim)=(1,16019,65535) 1211 1210 ModifyGraph/W=$winNameStr msize(iBin_qxqy_ML_trim)=3 1212 1211 ModifyGraph/W=$winNameStr msize(iBin_qxqy_MR_trim)=3 1213 ModifyGraph/W=$winNameStr msize(iBin_qxqy_MT_trim)=3 1214 ModifyGraph/W=$winNameStr msize(iBin_qxqy_MB_trim)=3 1215 ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_ML_trim)={0,4},muloffset(iBin_qxqy_MB_trim)={0,2},muloffset(iBin_qxqy_MR_trim)={0,8} 1212 // ModifyGraph/W=$winNameStr msize(iBin_qxqy_MT_trim)=3 1213 // ModifyGraph/W=$winNameStr msize(iBin_qxqy_MB_trim)=3 1214 ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_ML_trim)={0,4},muloffset(iBin_qxqy_MR_trim)={0,8} 1215 // ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_MB_trim)={0,2} 1216 1216 ModifyGraph/W=$winNameStr grid=1 1217 1217 ModifyGraph/W=$winNameStr log=1 … … 1221 1221 endif 1222 1222 1223 if(binType==5) 1224 //// clear EVERYTHING 1225 // ii=0 1226 // do 1227 // type = StringFromList(ii, midlist, ";") 1228 // CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim") 1229 // if(V_flag==1) 1230 // RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim") 1231 // endif 1232 // ii+=1 1233 // while(ii<ItemsInList(midList)) 1234 1235 1236 SetDataFolder $(fullPathToFolder) 1237 CheckDisplayed/W=$winNameStr iBin_qxqy_MLRTB_trim 1238 1239 if(V_flag==0) 1240 AppendtoGraph/W=$winNameStr iBin_qxqy_MLRTB_trim vs qBin_qxqy_MLRTB_trim 1241 ErrorBars/T=0 iBin_qxqy_MLRTB_trim Y,wave=(:eBin_qxqy_MLRTB_trim,:eBin_qxqy_MLRTB_trim) 1242 1243 ModifyGraph/W=$winNameStr mode(iBin_qxqy_MLRTB_trim)=4 1244 ModifyGraph/W=$winNameStr marker(iBin_qxqy_MLRTB_trim)=19 1245 ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLRTB_trim)=(65535,0,0) 1246 ModifyGraph/W=$winNameStr msize(iBin_qxqy_MLRTB_trim)=3 1247 ModifyGraph/W=$winNameStr grid=1 1248 ModifyGraph/W=$winNameStr log=1 1249 ModifyGraph/W=$winNameStr mirror=2 1250 Label/W=$winNameStr left "Intensity (1/cm)" 1251 Label/W=$winNameStr bottom "Q (1/A)" 1252 endif 1253 1254 endif 1255 1256 if(binType==6) 1257 // clear EVERYTHING 1258 // ii=0 1259 // do 1260 // type = StringFromList(ii, midlist, ";") 1261 // CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim") 1262 // if(V_flag==1) 1263 // RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim") 1264 // endif 1265 // ii+=1 1266 // while(ii<ItemsInList(midList)) 1267 // 1268 1269 SetDataFolder $(fullPathToFolder) 1270 CheckDisplayed/W=$winNameStr iBin_qxqy_MLR_trim 1271 1272 if(V_flag==0) 1273 AppendtoGraph/W=$winNameStr iBin_qxqy_MLR_trim vs qBin_qxqy_MLR_trim 1274 ErrorBars/T=0 iBin_qxqy_MLR_trim Y,wave=(:eBin_qxqy_MLR_trim,:eBin_qxqy_MLR_trim) 1275 1276 ModifyGraph/W=$winNameStr mode(iBin_qxqy_MLR_trim)=4 1277 ModifyGraph/W=$winNameStr marker(iBin_qxqy_MLR_trim)=19 1278 ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLR_trim)=(65535,0,0) 1279 ModifyGraph/W=$winNameStr msize(iBin_qxqy_MLR_trim)=3 1280 // ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_MLR_trim)={0,2} 1281 ModifyGraph/W=$winNameStr grid=1 1282 ModifyGraph/W=$winNameStr log=1 1283 ModifyGraph/W=$winNameStr mirror=2 1284 Label/W=$winNameStr left "Intensity (1/cm)" 1285 Label/W=$winNameStr bottom "Q (1/A)" 1286 endif 1287 1288 endif 1289 1290 if(binType==7) 1291 // clear EVERYTHING 1292 // ii=0 1293 // do 1294 // type = StringFromList(ii, midlist, ";") 1295 // CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim") 1296 // if(V_flag==1) 1297 // RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim") 1298 // endif 1299 // ii+=1 1300 // while(ii<ItemsInList(midList)) 1301 // 1302 1303 SetDataFolder $(fullPathToFolder) 1304 CheckDisplayed/W=$winNameStr iBin_qxqy_MLR_trim 1305 1306 if(V_flag==0) 1307 AppendtoGraph/W=$winNameStr iBin_qxqy_MLR_trim vs qBin_qxqy_MLR_trim 1308 ErrorBars/T=0 iBin_qxqy_MLR_trim Y,wave=(:eBin_qxqy_MLR_trim,:eBin_qxqy_MLR_trim) 1309 1310 ModifyGraph/W=$winNameStr mode(iBin_qxqy_MLR_trim)=4 1311 ModifyGraph/W=$winNameStr marker(iBin_qxqy_MLR_trim)=19 1312 ModifyGraph/W=$winNameStr rgb(iBin_qxqy_MLR_trim)=(65535,0,0) 1313 ModifyGraph/W=$winNameStr msize(iBin_qxqy_MLR_trim)=3 1314 // ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_MLR_trim)={0,2} 1315 ModifyGraph/W=$winNameStr grid=1 1316 ModifyGraph/W=$winNameStr log=1 1317 ModifyGraph/W=$winNameStr mirror=2 1318 Label/W=$winNameStr left "Intensity (1/cm)" 1319 Label/W=$winNameStr bottom "Q (1/A)" 1320 endif 1321 1322 endif 1323 1223 1324 SetDataFolder root: 1224 1325 End … … 1241 1342 String type 1242 1343 Variable ii 1243 // binType = V_GetBinningPopMode()1244 1344 SetDataFolder $(fullPathToFolder) 1245 1345 1246 1346 // clear EVERYTHING 1347 ClearIQIfDisplayed_AllFldr("FLRTB_trim",winNameStr) 1348 1349 ClearIQIfDisplayed_AllFldr("FLR_trim",winNameStr) 1350 ClearIQIfDisplayed_AllFldr("FTB_trim",winNameStr) 1351 1352 ClearIQIfDisplayed_AllFldr("FT_trim",winNameStr) 1353 ClearIQIfDisplayed_AllFldr("FL_trim",winNameStr) 1354 ClearIQIfDisplayed_AllFldr("FR_trim",winNameStr) 1355 ClearIQIfDisplayed_AllFldr("FB_trim",winNameStr) 1247 1356 1248 1357 if(binType==1) 1249 ii=01250 do1251 type = StringFromList(ii, frontList, ";")1252 CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")1253 if(V_flag==1)1254 RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")1255 endif1256 ii+=11257 while(ii<ItemsInList(frontList))1258 1259 1260 1358 1261 1359 SetDataFolder $(fullPathToFolder) … … 1295 1393 1296 1394 if(binType==2) 1297 // clear EVERYTHING1298 ii=01299 do1300 type = StringFromList(ii, frontList, ";")1301 CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")1302 if(V_flag==1)1303 RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")1304 endif1305 ii+=11306 while(ii<ItemsInList(frontList))1307 1308 1309 1395 1310 1396 SetDataFolder $(fullPathToFolder) … … 1335 1421 1336 1422 if(binType==3) 1337 // clear EVERYTHING1338 ii=01339 do1340 type = StringFromList(ii, frontList, ";")1341 CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")1342 if(V_flag==1)1343 RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")1344 endif1345 ii+=11346 while(ii<ItemsInList(frontList))1347 1348 1349 1423 1350 1424 SetDataFolder $(fullPathToFolder) … … 1369 1443 1370 1444 if(binType==4) // slit aperture binning - MT, ML, MR, MB are averaged 1371 // clear EVERYTHING1372 ii=01373 do1374 type = StringFromList(ii, frontList, ";")1375 CheckDisplayed/W=$winNameStr $("iBin_qxqy_"+type+"_trim")1376 if(V_flag==1)1377 RemoveFromGraph/W=$winNameStr $("iBin_qxqy_"+type+"_trim")1378 endif1379 ii+=11380 while(ii<ItemsInList(frontList))1381 1382 1383 1445 1384 1446 SetDataFolder $(fullPathToFolder) … … 1388 1450 AppendtoGraph/W=$winNameStr iBin_qxqy_FL_trim vs qBin_qxqy_FL_trim 1389 1451 AppendToGraph/W=$winNameStr iBin_qxqy_FR_trim vs qBin_qxqy_FR_trim 1390 AppendToGraph/W=$winNameStr iBin_qxqy_FT_trim vs qBin_qxqy_FT_trim1391 AppendToGraph/W=$winNameStr iBin_qxqy_FB_trim vs qBin_qxqy_FB_trim1452 // AppendToGraph/W=$winNameStr iBin_qxqy_FT_trim vs qBin_qxqy_FT_trim 1453 // AppendToGraph/W=$winNameStr iBin_qxqy_FB_trim vs qBin_qxqy_FB_trim 1392 1454 ErrorBars/T=0 iBin_qxqy_FL_trim Y,wave=(:eBin_qxqy_FL_trim,:eBin_qxqy_FL_trim) 1393 1455 ErrorBars/T=0 iBin_qxqy_FR_trim Y,wave=(:eBin_qxqy_FR_trim,:eBin_qxqy_FR_trim) 1394 ErrorBars/T=0 iBin_qxqy_FT_trim Y,wave=(:eBin_qxqy_FT_trim,:eBin_qxqy_FT_trim)1395 ErrorBars/T=0 iBin_qxqy_FB_trim Y,wave=(:eBin_qxqy_FB_trim,:eBin_qxqy_FB_trim)1456 // ErrorBars/T=0 iBin_qxqy_FT_trim Y,wave=(:eBin_qxqy_FT_trim,:eBin_qxqy_FT_trim) 1457 // ErrorBars/T=0 iBin_qxqy_FB_trim Y,wave=(:eBin_qxqy_FB_trim,:eBin_qxqy_FB_trim) 1396 1458 1397 1459 ModifyGraph/W=$winNameStr mode(iBin_qxqy_FL_trim)=4 1398 1460 ModifyGraph/W=$winNameStr mode(iBin_qxqy_FR_trim)=4 1399 ModifyGraph/W=$winNameStr mode(iBin_qxqy_FT_trim)=41400 ModifyGraph/W=$winNameStr mode(iBin_qxqy_FB_trim)=41461 // ModifyGraph/W=$winNameStr mode(iBin_qxqy_FT_trim)=4 1462 // ModifyGraph/W=$winNameStr mode(iBin_qxqy_FB_trim)=4 1401 1463 ModifyGraph/W=$winNameStr marker(iBin_qxqy_FL_trim)=19 1402 1464 ModifyGraph/W=$winNameStr marker(iBin_qxqy_FR_trim)=19 1403 ModifyGraph/W=$winNameStr marker(iBin_qxqy_FT_trim)=19 1404 ModifyGraph/W=$winNameStr marker(iBin_qxqy_FB_trim)=19 1405 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) 1465 // ModifyGraph/W=$winNameStr marker(iBin_qxqy_FT_trim)=19 1466 // ModifyGraph/W=$winNameStr marker(iBin_qxqy_FB_trim)=19 1467 ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FL_trim)=(39321,26208,1),rgb(iBin_qxqy_FR_trim)=(39321,26208,1) 1468 // ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FB_trim)=(2,39321,1),rgb(iBin_qxqy_FT_trim)=(2,39321,1) 1406 1469 ModifyGraph/W=$winNameStr msize(iBin_qxqy_FL_trim)=3 1407 1470 ModifyGraph/W=$winNameStr msize(iBin_qxqy_FR_trim)=3 1408 ModifyGraph/W=$winNameStr msize(iBin_qxqy_FT_trim)=3 1409 ModifyGraph/W=$winNameStr msize(iBin_qxqy_FB_trim)=3 1410 ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FL_trim)={0,4},muloffset(iBin_qxqy_FB_trim)={0,2},muloffset(iBin_qxqy_FR_trim)={0,8} 1471 // ModifyGraph/W=$winNameStr msize(iBin_qxqy_FT_trim)=3 1472 // ModifyGraph/W=$winNameStr msize(iBin_qxqy_FB_trim)=3 1473 ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FL_trim)={0,4},muloffset(iBin_qxqy_FR_trim)={0,8} 1474 // ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FB_trim)={0,2} 1411 1475 ModifyGraph/W=$winNameStr grid=1 1412 1476 ModifyGraph/W=$winNameStr log=1 … … 1415 1479 1416 1480 endif 1417 1481 1482 1483 if(binType==5) 1484 1485 SetDataFolder $(fullPathToFolder) 1486 CheckDisplayed/W=$winNameStr iBin_qxqy_FLR_trim 1487 1488 if(V_flag==0) 1489 AppendtoGraph/W=$winNameStr iBin_qxqy_FLR_trim vs qBin_qxqy_FLR_trim 1490 AppendToGraph/W=$winNameStr iBin_qxqy_FTB_trim vs qBin_qxqy_FTB_trim 1491 ErrorBars/T=0 iBin_qxqy_FLR_trim Y,wave=(:eBin_qxqy_FLR_trim,:eBin_qxqy_FLR_trim) 1492 ErrorBars/T=0 iBin_qxqy_FTB_trim Y,wave=(:eBin_qxqy_FTB_trim,:eBin_qxqy_FTB_trim) 1493 1494 ModifyGraph/W=$winNameStr mode(iBin_qxqy_FLR_trim)=4 1495 ModifyGraph/W=$winNameStr mode(iBin_qxqy_FTB_trim)=4 1496 ModifyGraph/W=$winNameStr marker(iBin_qxqy_FLR_trim)=19 1497 ModifyGraph/W=$winNameStr marker(iBin_qxqy_FTB_trim)=19 1498 ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLR_trim)=(39321,26208,1),rgb(iBin_qxqy_FTB_trim)=(2,39321,1) 1499 ModifyGraph/W=$winNameStr msize(iBin_qxqy_FLR_trim)=3 1500 ModifyGraph/W=$winNameStr msize(iBin_qxqy_FTB_trim)=3 1501 ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FLR_trim)={0,2} 1502 ModifyGraph/W=$winNameStr grid=1 1503 ModifyGraph/W=$winNameStr log=1 1504 ModifyGraph/W=$winNameStr mirror=2 1505 // Label/W=$winNameStr left "Intensity (1/cm)" 1506 // Label/W=$winNameStr bottom "Q (1/A)" 1507 endif 1508 1509 endif 1510 1511 if(binType==6) 1512 1513 SetDataFolder $(fullPathToFolder) 1514 CheckDisplayed/W=$winNameStr iBin_qxqy_FLRTB_trim 1515 1516 if(V_flag==0) 1517 AppendtoGraph/W=$winNameStr iBin_qxqy_FLRTB_trim vs qBin_qxqy_FLRTB_trim 1518 ErrorBars/T=0 iBin_qxqy_FLRTB_trim Y,wave=(:eBin_qxqy_FLRTB_trim,:eBin_qxqy_FLRTB_trim) 1519 1520 1521 ModifyGraph/W=$winNameStr mode(iBin_qxqy_FLRTB_trim)=4 1522 ModifyGraph/W=$winNameStr marker(iBin_qxqy_FLRTB_trim)=19 1523 ModifyGraph/W=$winNameStr msize(iBin_qxqy_FLRTB_trim)=3 1524 ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLRTB_trim)=(39321,26208,1) 1525 ModifyGraph/W=$winNameStr grid=1 1526 ModifyGraph/W=$winNameStr log=1 1527 ModifyGraph/W=$winNameStr mirror=2 1528 Label/W=$winNameStr left "Intensity (1/cm)" 1529 Label/W=$winNameStr bottom "Q (1/A)" 1530 endif 1531 1532 endif 1533 1534 if(binType==7) 1535 1536 SetDataFolder $(fullPathToFolder) 1537 CheckDisplayed/W=$winNameStr iBin_qxqy_FLR_trim 1538 1539 if(V_flag==0) 1540 AppendtoGraph/W=$winNameStr iBin_qxqy_FLR_trim vs qBin_qxqy_FLR_trim 1541 AppendToGraph/W=$winNameStr iBin_qxqy_FTB_trim vs qBin_qxqy_FTB_trim 1542 ErrorBars/T=0 iBin_qxqy_FLR_trim Y,wave=(:eBin_qxqy_FLR_trim,:eBin_qxqy_FLR_trim) 1543 ErrorBars/T=0 iBin_qxqy_FTB_trim Y,wave=(:eBin_qxqy_FTB_trim,:eBin_qxqy_FTB_trim) 1544 1545 ModifyGraph/W=$winNameStr mode(iBin_qxqy_FLR_trim)=4 1546 ModifyGraph/W=$winNameStr mode(iBin_qxqy_FTB_trim)=4 1547 ModifyGraph/W=$winNameStr marker(iBin_qxqy_FLR_trim)=19 1548 ModifyGraph/W=$winNameStr marker(iBin_qxqy_FTB_trim)=19 1549 ModifyGraph/W=$winNameStr msize(iBin_qxqy_FLR_trim)=3 1550 ModifyGraph/W=$winNameStr msize(iBin_qxqy_FTB_trim)=3 1551 1552 ModifyGraph/W=$winNameStr rgb(iBin_qxqy_FLR_trim)=(39321,26208,1),rgb(iBin_qxqy_FTB_trim)=(2,39321,1) 1553 ModifyGraph/W=$winNameStr muloffset(iBin_qxqy_FLR_trim)={0,2} 1554 ModifyGraph/W=$winNameStr grid=1 1555 ModifyGraph/W=$winNameStr log=1 1556 ModifyGraph/W=$winNameStr mirror=2 1557 // Label/W=$winNameStr left "Intensity (1/cm)" 1558 // Label/W=$winNameStr bottom "Q (1/A)" 1559 endif 1560 1561 endif 1418 1562 SetDataFolder root: 1419 1563 End -
sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_DetectorCorrections.ipf
r1073 r1074 152 152 153 153 // TODO 154 // -- GAP IS HARD-WIRED as a single constant value (there really are 4 values)154 // -- GAP IS HARD-WIRED as constant values 155 155 Variable offset,gap 156 156 157 157 // kPanelTouchingGap is in mm 158 // the gap is added to the RIGHT and TOP panels ONLY 159 // TODO -- replace with V_getDet_panel_gap(fname,detStr) once it is added to the file 160 gap = kPanelTouchingGap 158 // the gap is split equally between the panel pairs 159 // TODO -- replace all of this with V_getDet_panel_gap(fname,detStr) once it is added to the file 160 // these hard-wired values were determined from 6A and WB beam centers. LR values were exactly the same for 161 // both beam considitions (+/- 0.0 mm). FTB was +/- 0.8 mm, MTB +/- 2 mm 162 if(cmpstr(detStr,"FL") == 0 || cmpstr(detStr,"FR") == 0) 163 gap = 3.2 //mm 164 endif 165 if(cmpstr(detStr,"FT") == 0 || cmpstr(detStr,"FB") == 0) 166 gap = 8 //mm 167 endif 168 if(cmpstr(detStr,"ML") == 0 || cmpstr(detStr,"MR") == 0) 169 gap = 5.4 //mm 170 endif 171 if(cmpstr(detStr,"MT") == 0 || cmpstr(detStr,"MB") == 0) 172 gap = 5 //mm 173 endif 174 // TODO: this is the line to keep, to replace the hard-wired values 175 // gap = V_getDet_panel_gap(fname,detStr) 161 176 162 177 if(cmpstr(orientation,"vertical")==0) … … 182 197 if(cmpstr("L",detStr[1]) == 0) 183 198 // data_realDistX[][] = offset - (dimX - p)*tube_width // TODO should this be dimX-1-p = 47-p? 184 data_realDistX[][] = offset - (dimX - p )*tube_width - gap/2 // TODO should this be dimX-1-p = 47-p?199 data_realDistX[][] = offset - (dimX - p - 1/2)*tube_width - gap/2 // TODO should this be dimX-1-p = 47-p? 185 200 else 186 201 // right 187 202 // data_realDistX[][] = tube_width*(p+1) + offset + gap //add to the Right det, 188 data_realDistX[][] = tube_width*(p+1 ) + offset + gap/2 //add to the Right det203 data_realDistX[][] = tube_width*(p+1/2) + offset + gap/2 //add to the Right det 189 204 endif 190 205 else … … 214 229 if(cmpstr("T",detStr[1]) == 0) 215 230 // data_realDistY[][] = tube_width*(q+1) + offset + gap 216 data_realDistY[][] = tube_width*(q+1 ) + offset + gap/2231 data_realDistY[][] = tube_width*(q+1/2) + offset + gap/2 217 232 else 218 233 // bottom 219 234 // data_realDistY[][] = offset - (dimY - q)*tube_width // TODO should this be dimY-1-q = 47-q? 220 data_realDistY[][] = offset - (dimY - q )*tube_width - gap/2 // TODO should this be dimY-1-q = 47-q?235 data_realDistY[][] = offset - (dimY - q - 1/2)*tube_width - gap/2 // TODO should this be dimY-1-q = 47-q? 221 236 endif 222 237 else … … 375 390 376 391 variable edge,delta 377 Variable gap = kPanelTouchingGap // TODO: -- replace with V_getDet_panel_gap(fname,detStr) 378 392 Variable gap 393 394 // kPanelTouchingGap is in mm 395 // the gap is split equally between the panel pairs 396 // TODO -- replace all of this with V_getDet_panel_gap(fname,detStr) once it is added to the file 397 // these hard-wired values were determined from 6A and WB beam centers. LR values were exactly the same for 398 // both beam considitions (+/- 0.0 mm). FTB was +/- 0.8 mm, MTB +/- 2 mm 399 if(cmpstr(detStr,"FL") == 0 || cmpstr(detStr,"FR") == 0) 400 gap = 16.8 //mm 401 endif 402 if(cmpstr(detStr,"FT") == 0 || cmpstr(detStr,"FB") == 0) 403 gap = 20 //mm 404 endif 405 if(cmpstr(detStr,"ML") == 0 || cmpstr(detStr,"MR") == 0) 406 gap = 14.6 //mm 407 endif 408 if(cmpstr(detStr,"MT") == 0 || cmpstr(detStr,"MB") == 0) 409 gap = 15 //mm 410 endif 411 // TODO: this is the line to keep, to replace the hard-wired values 412 // gap = V_getDet_panel_gap(fname,detStr) 413 379 414 // 380 415 if(cmpstr(orientation,"vertical")==0) -
sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_HDF5_Read.ipf
r1073 r1074 1650 1650 // gap when panels are "touching" 1651 1651 // units are mm 1652 // returns gap value for TOP and RIGHT 1653 // returns 0 for BACK, BOTTOM and LEFT 1654 // force a return for BACK (no field in file) 1655 // B/L detectors have this field, and it should be set to zero in the file 1652 // returns gap value for RIGHT and LEFT (they are the same) 1653 // returns gap value for TOP and BOTTOM (they are the same) 1654 // returns 0 for BACK, (no such field for this detector) 1656 1655 // 1657 1656 Function V_getDet_panel_gap(fname,detStr) -
sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_Initialize.ipf
r1073 r1074 29 29 30 30 // for the change in July 2017 where the beam center is now defined in cm, rather than pixels. 31 // this need n ever change from 131 // this need not ever change from 1 32 32 Constant kBCTR_CM = 1 //set to 1 to use beam center in cm. O to use pixels 33 33 34 34 // // TODO: -- replace this constant with V_getDet_panel_gap(fname,detStr) 35 Constant kPanelTouchingGap = 10 // TODO -- measure this gap when panels "touch", UNITS OF mm, not cm35 //Constant kPanelTouchingGap = 10 // TODO -- measure this gap when panels "touch", UNITS OF mm, not cm 36 36 37 37 … … 57 57 Strconstant ksBinType3 = "FLRTB;MLRTB;B;" 58 58 //Strconstant ksBinType4 = "FT;FB;FL;FR;MT;MB;ML;MR;B;" 59 Strconstant ksBinType4 = "FL;FR;ML;MR;B;" //in SLIT mode 59 Strconstant ksBinType4 = "FL;FR;ML;MR;B;" //in SLIT mode, disregard the T/B panels 60 60 Strconstant ksBinType5 = "FTB;FLR;MLRTB;B;" 61 61 Strconstant ksBinType6 = "FLRTB;MLR;B;" -
sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_RAW_Data_Panel.ipf
r1073 r1074 177 177 Button button_annular,pos={770,114},size={90,20},proc=V_annularAvgButtonProc,title="Annular Avg" 178 178 179 TitleBox title_file,pos={606,178}, size={76,20},variable= root:Packages:NIST:VSANS:Globals:gLastLoadedFile180 TitleBox title_dataPresent,pos={606,210}, size={76,20},variable= root:Packages:NIST:VSANS:Globals:gCurDispFile179 TitleBox title_file,pos={606,178},fsize=12,size={76,20},variable= root:Packages:NIST:VSANS:Globals:gLastLoadedFile 180 TitleBox title_dataPresent,pos={606,210},fsize=12,size={76,20},variable= root:Packages:NIST:VSANS:Globals:gCurDispFile 181 181 TitleBox title_status,pos={606,240},size={200,200},fsize=12,variable= root:Packages:NIST:VSANS:Globals:gStatusText 182 182 … … 184 184 // Button button_tagFile,disable=2 185 185 Button button_saveIQ,pos={603,412},size={120,20},proc=V_SaveIQ_ButtonProc,title="Save I(Q) as ITX" 186 Button button_BeamCtr,pos={603, 450},size={110,20},proc=V_BeamCtrButtonProc,title="Beam Center",disable=2186 Button button_BeamCtr,pos={603,566},size={110,20},proc=V_BeamCtrButtonProc,title="Beam Center",disable=2 187 187 Button button_SpreadPanels,pos={603,488},size={100,20},proc=V_SpreadPanelButtonProc,title="Spread Panels" 188 188 Button button_RestorePanels,pos={603,526},size={100,20},proc=V_RestorePanelButtonProc,title="Restore Panels" 189 189 190 Button pick_trim,pos={603,450},size={120,20},proc=V_TrimDataProtoButton,title="Trim I(Q) Data" 191 Button pick_trim,help={"This button will prompt the user for trimming parameters"} 192 190 193 191 194 // on the tabs, always visible 192 TitleBox title_xy,pos={2 4,71},size={76,20},variable= root:Packages:NIST:VSANS:Globals:gLastLoadedFile195 TitleBox title_xy,pos={20,65},fsize=12,size={76,20},variable= root:Packages:NIST:VSANS:Globals:gLastLoadedFile 193 196 Slider slider_hi,pos={558,224},size={16,80},proc=V_HiMapSliderProc 194 197 Slider slider_hi,limits={0,1,0},value= 1,ticks= 0
Note: See TracChangeset
for help on using the changeset viewer.