Ignore:
Timestamp:
Mar 26, 2019 1:58:56 PM (4 years ago)
Author:
srkline
Message:

more changes to VCALC functionality and bug fixes for VCALC

File:
1 edited

Legend:

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

    r1133 r1134  
    12241224Function V_UpdateFourPanelDisp() 
    12251225 
    1226         ControlInfo popup0 
     1226        ControlInfo/W=VSANS_Det_Panels popup0 
    12271227        String carrStr = S_value 
    12281228 
    1229         if(cmpstr("B",carrStr)==0) 
    1230                 DoAlert 0, "Detector B plotting not supported yet" 
    1231                 return(0) 
    1232         endif 
    1233          
    1234         ControlInfo popup1 
     1229//      if(cmpstr("B",carrStr)==0) 
     1230//              DoAlert 0, "Detector B plotting not supported yet" 
     1231//              return(0) 
     1232//      endif 
     1233         
     1234        ControlInfo/W=VSANS_Det_Panels popup1 
    12351235        String folder = S_Value 
    12361236 
     
    12791279 
    12801280        // append the new image 
     1281        // if back, put this in the "left" postion, and nothing else 
     1282        if(cmpstr("B",carrStr)==0) 
     1283                if(isVCALC) 
     1284                        AppendImage/T/G=1/W=VSANS_Det_Panels#Panel_L $("root:Packages:NIST:VSANS:"+folder+":entry:instrument:detector_"+carrStr+":det_"+carrStr)                 
     1285                        SetActiveSubwindow VSANS_Det_Panels#Panel_L 
     1286                        ModifyImage ''#0 ctab= {*,*,ColdWarm,0} 
     1287                        ModifyImage ''#0 ctabAutoscale=3 
     1288                else 
     1289                        AppendImage/T/G=1/W=VSANS_Det_Panels#Panel_L $("root:Packages:NIST:VSANS:"+folder+":entry:instrument:detector_"+carrStr+":data")                 
     1290                        SetActiveSubwindow VSANS_Det_Panels#Panel_L 
     1291                        ModifyImage data ctab= {*,*,ColdWarm,0} 
     1292                        ModifyImage data ctabAutoscale=3         
     1293                endif 
     1294                ModifyGraph margin(left)=14,margin(bottom)=14,margin(top)=14,margin(right)=14 
     1295                ModifyGraph mirror=2 
     1296                ModifyGraph nticks=4 
     1297                ModifyGraph minor=1 
     1298                ModifyGraph fSize=9 
     1299                ModifyGraph standoff=0 
     1300                ModifyGraph tkLblRot(left)=90 
     1301                ModifyGraph btLen=3 
     1302                ModifyGraph tlOffset=-2 
     1303                SetActiveSubwindow ## 
     1304                return(0) 
     1305        endif 
     1306         
    12811307//      RemoveImage/Z/W=VSANS_Det_Panels#Panel_L data 
    12821308        if(isVCALC) 
     
    13721398        SetActiveSubwindow ## 
    13731399 
    1374 End 
    1375  
    1376  
    1377 // 
    1378 //Function V_DummyPopMenuProc(pa) : PopupMenuControl 
    1379 //      STRUCT WMPopupAction &pa 
    1380 // 
    1381 //      switch( pa.eventCode ) 
    1382 //              case 2: // mouse up 
    1383 //                      Variable popNum = pa.popNum 
    1384 //                      String popStr = pa.popStr 
    1385 //                       
    1386 //                      DoAlert 0,"Fill in the dummy procedure" 
    1387 //                       
    1388 //                      break 
    1389 //              case -1: // control being killed 
    1390 //                      break 
    1391 //      endswitch 
    1392 // 
    1393 //      return 0 
    1394 //End 
     1400        return(0) 
     1401End 
     1402 
     1403 
    13951404 
    13961405 
     
    14501459End 
    14511460 
    1452  
    1453  
     1461// 
     1462// toggle the mask overlay(s) on/off of the detector panels. 
     1463// 
    14541464Function V_ToggleFourMaskButtonProc(ba) : ButtonControl 
    14551465        STRUCT WMButtonAction &ba 
     
    14581468                case 2: // mouse up 
    14591469                        // click code here 
     1470 
     1471                        String detStr 
     1472                        Variable state,isVCALC 
    14601473                         
    14611474                        ControlInfo/W=VSANS_Det_Panels popup1 
    14621475                        String folderStr = S_Value 
    1463                         Variable state = 1 
    1464  
     1476                         
    14651477                        ControlInfo/W=VSANS_Det_Panels popup0 
    14661478                        String carrStr = S_Value 
    1467                          
     1479 
     1480                        if(cmpstr(folderStr,"VCALC") == 0) 
     1481                                isVCALC = 1 
     1482                        else 
     1483                                isVCALC = 0 
     1484                        endif 
     1485 
     1486// handle "B" separately 
     1487                        if(cmpstr(carrStr,"B") == 0) 
     1488                                detStr = carrStr 
     1489                                // is the mask already there? 
     1490                                wave/Z overlay = $("root:Packages:NIST:VSANS:MSK:entry:instrument:detector_"+detStr+":overlay_"+detStr) 
     1491                                CheckDisplayed/W=VSANS_Det_Panels#Panel_L overlay 
     1492                                if(V_Flag == 1)         //overlay is present, set state = 0 to remove overlay 
     1493                                        state = 0 
     1494                                else 
     1495                                        state = 1 
     1496                                endif 
     1497                                 
     1498                                if(state == 1) 
     1499                                        //duplicate the mask, which is named "data" 
     1500                                        wave maskW = $("root:Packages:NIST:VSANS:MSK:entry:instrument:detector_"+detStr+":data") 
     1501                                        // for the wave scaling 
     1502                                        if(isVCALC) 
     1503                                                wave data = $("root:Packages:NIST:VSANS:"+folderStr+":entry:instrument:detector_"+detStr+":det_"+detStr)         
     1504                                        else 
     1505                                                wave data = $("root:Packages:NIST:VSANS:"+folderStr+":entry:instrument:detector_"+detStr+":data")        
     1506                                        endif 
     1507                                        Duplicate/O data $("root:Packages:NIST:VSANS:MSK:entry:instrument:detector_"+detStr+":overlay_"+detStr) 
     1508                                        wave overlay = $("root:Packages:NIST:VSANS:MSK:entry:instrument:detector_"+detStr+":overlay_"+detStr) 
     1509                                        overlay = maskW         //this copies the data into the properly scaled wave 
     1510                 
     1511                                        //"B" uses the L side display                    
     1512                        //      Print ImageNameList("VSANS_Det_Panels#Panel_L", ";" ) 
     1513                                        CheckDisplayed/W=VSANS_Det_Panels#Panel_L overlay 
     1514                                        if(V_flag==0)           //so the overlay doesn't get appended more than once 
     1515                                                AppendImage/T/W=VSANS_Det_Panels#Panel_L overlay 
     1516                //                              ModifyImage/W=VSANS_Det_Panels#Panel_L overlay ctab= {0.9,0.95,BlueRedGreen,0}  ,minRGB=NaN,maxRGB=(0,65000,0,35000) 
     1517                                                ModifyImage/W=VSANS_Det_Panels#Panel_L ''#1 ctab= {0.9,0.95,BlueRedGreen,0}     ,minRGB=NaN,maxRGB=(0,65000,0,35000) 
     1518                                        endif 
     1519                 
     1520                                endif           //state == 1 
     1521                 
     1522                                if(state == 0) 
     1523                                        wave overlay = $("root:Packages:NIST:VSANS:MSK:entry:instrument:detector_"+detStr+":overlay_"+detStr) 
     1524                 
     1525                                        //"B" uses the L side display                    
     1526                 
     1527                                        CheckDisplayed/W=VSANS_Det_Panels#Panel_L overlay 
     1528                                        if(V_Flag == 1)         //overlay is present 
     1529                //                              RemoveImage/W=VSANS_Det_Panels#Panel_L overlay 
     1530                                                RemoveImage/W=VSANS_Det_Panels#Panel_L ''#1 
     1531                                        endif 
     1532                                endif           //state == 0 
     1533                                                                 
     1534                                return(0) 
     1535                        endif           //handle carriage B 
     1536 
     1537 
     1538// now toggle the mask for the F or M carriages                  
    14681539// test the L image to see if I need to remove the mask 
    1469                         String detStr 
    14701540                        if(cmpstr(carrStr,"F")==0) 
    14711541                                detStr = "FL" 
     
    14761546                        wave/Z overlay = $("root:Packages:NIST:VSANS:MSK:entry:instrument:detector_"+detStr+":overlay_"+detStr) 
    14771547                        CheckDisplayed/W=VSANS_Det_Panels#Panel_L overlay 
    1478                         if(V_Flag == 1)         //overlay is present 
     1548                        if(V_Flag == 1)         //overlay is present, set state = 0 to remove overlay 
    14791549                                state = 0 
    14801550                        else 
     
    15171587                        ControlInfo/W=VSANS_Det_Panels popup0 
    15181588                        String detGroup = S_Value 
     1589                         
     1590                        Variable isVCALC 
     1591                        if(cmpstr(folderStr,"VCALC")==0) 
     1592                                isVCALC = 1 
     1593                        else 
     1594                                isVCALC = 0 
     1595                        endif 
    15191596                         
    15201597                        // calculate the "mask" to add 
     
    15451622                                        // calculate phi matrix 
    15461623                                        // fill in the mask 
    1547                                         for(ii=0;ii<ItemsInList(ksDetectorListNoB);ii+=1) 
    1548                                                 detStr = StringFromList(ii, ksDetectorListNoB, ";") 
     1624                                        for(ii=0;ii<ItemsInList(ksDetectorListAll);ii+=1) 
     1625                                                detStr = StringFromList(ii, ksDetectorListAll, ";") 
    15491626                                                Wave qTotal = $(str1+str2+detStr+":qTot_"+detStr) 
    15501627                                                Wave phi =      V_MakePhiMatrix(qTotal,folderStr,detStr,str1+str2+detStr) 
    1551                                                 Wave w = V_getDetectorDataW(folderStr,detStr)   //this is simply to get the correct wave scaling on the overlay 
     1628                                                if(isVCALC) 
     1629                                                        Wave w = $("root:Packages:NIST:VSANS:VCALC:entry:instrument:detector_"+detStr+":det_"+detStr) 
     1630                                                else 
     1631                                                        Wave w = V_getDetectorDataW(folderStr,detStr)   //this is simply to get the correct wave scaling on the overlay 
     1632                                                endif 
    15521633                                                Duplicate/O w $("root:Packages:NIST:VSANS:MSK:entry:instrument:detector_"+detStr+":AvgOverlay_"+detStr) 
    15531634                                                Wave overlay = $("root:Packages:NIST:VSANS:MSK:entry:instrument:detector_"+detStr+":AvgOverlay_"+detStr) 
     
    15681649                                        // loop over all of the panels 
    15691650                                        // fill in the mask 
    1570                                         for(ii=0;ii<ItemsInList(ksDetectorListNoB);ii+=1) 
    1571                                                 detStr = StringFromList(ii, ksDetectorListNoB, ";") 
     1651                                        for(ii=0;ii<ItemsInList(ksDetectorListAll);ii+=1) 
     1652                                                detStr = StringFromList(ii, ksDetectorListAll, ";") 
    15721653                                                Wave qTotal = $(str1+str2+detStr+":qTot_"+detStr) 
    1573                                                 Wave w = V_getDetectorDataW(folderStr,detStr)   //this is simply to get the correct wave scaling on the overlay 
     1654                                                if(isVCALC) 
     1655                                                        Wave w = $("root:Packages:NIST:VSANS:VCALC:entry:instrument:detector_"+detStr+":det_"+detStr) 
     1656                                                else                                             
     1657                                                        Wave w = V_getDetectorDataW(folderStr,detStr)   //this is simply to get the correct wave scaling on the overlay 
     1658                                                endif 
    15741659                                                Duplicate/O w $("root:Packages:NIST:VSANS:MSK:entry:instrument:detector_"+detStr+":AvgOverlay_"+detStr) 
    15751660                                                Wave overlay = $("root:Packages:NIST:VSANS:MSK:entry:instrument:detector_"+detStr+":AvgOverlay_"+detStr) 
     
    15951680                                        ControlInfo/W=VSANS_Det_Panels popup0 
    15961681                                        String carrStr = S_Value 
     1682 
     1683// handle "B" separately 
     1684                                if(cmpstr(carrStr,"B") == 0) 
     1685                                        detStr = carrStr 
     1686                                        // is the mask already there? 
     1687                                        wave/Z overlay = $("root:Packages:NIST:VSANS:MSK:entry:instrument:detector_"+detStr+":AvgOverlay_"+detStr) 
     1688                                        CheckDisplayed/W=VSANS_Det_Panels#Panel_L overlay 
     1689                                        if(V_Flag == 1)         //overlay is present, set state = 0 to remove overlay 
     1690                                                state = 0 
     1691                                        else 
     1692                                                state = 1 
     1693                                        endif 
     1694                                         
     1695                                        V_OverlayFourAvgMask(folderStr,"B",state) 
     1696                                        return(0) 
     1697                                endif           //carriage "B" 
    15971698                                         
    15981699                // test the L image to see if I need to remove the mask 
     
    18941995        Variable state 
    18951996 
    1896  
     1997//      Variable isVCALC=0 
     1998//      if(cmpstr("VCALC",folderStr)==0) 
     1999//              isVCALC=1 
     2000//      endif 
     2001         
    18972002        String maskPath = "root:Packages:NIST:VSANS:MSK:entry:instrument:detector_"+detStr+":data" 
    18982003        if(WaveExists($maskPath) == 1) 
     
    19052010//                      wave data = $("root:Packages:NIST:VSANS:"+folderStr+":entry:instrument:detector_"+detStr+":data")        
    19062011//                      Duplicate/O data $("root:Packages:NIST:VSANS:MSK:entry:instrument:detector_"+detStr+":overlay_"+detStr) 
    1907                         wave overlay = $("root:Packages:NIST:VSANS:MSK:entry:instrument:detector_"+detStr+":AvgOverlay_"+detStr) 
     2012 
     2013//                      if(isVCALC) 
     2014//                              wave overlay = $("root:Packages:NIST:VSANS:"+folderStr+":entry:instrument:detector_"+detStr+":AvgOverlay_"+detStr)       
     2015//                      else 
     2016                                wave overlay = $("root:Packages:NIST:VSANS:MSK:entry:instrument:detector_"+detStr+":AvgOverlay_"+detStr) 
     2017//                      endif 
    19082018//                      overlay = maskW         //this copies the data into the properly scaled wave 
    19092019                         
     
    19112021                                case "ML": 
    19122022                                case "FL": 
     2023                                case "B": 
    19132024//                                      Print ImageNameList("VSANS_Det_Panels#Panel_L", ";" ) 
    19142025                                        CheckDisplayed/W=VSANS_Det_Panels#Panel_L overlay 
     
    19582069                                case "ML": 
    19592070                                case "FL": 
     2071                                case "B": 
    19602072                                        CheckDisplayed/W=VSANS_Det_Panels#Panel_L overlay 
    19612073                                        if(V_Flag == 1)         //overlay is present 
Note: See TracChangeset for help on using the changeset viewer.