Ignore:
Timestamp:
Jun 8, 2018 2:35:44 PM (4 years ago)
Author:
srkline
Message:

updated mask drawing to draw arbitrary shapes, fixing bugs in the operation.

fix operation of popups in transmission panel.

other bug fixes that I don't recall from the past week.

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

Legend:

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

    r1100 r1105  
    14831483// 
    14841484// TODO: the values in the file are incorrect!!! BS = 1000 mm diameter!!! 
     1485        BS = V_DeduceBeamstopDiameter(folderStr,type)           //returns diameter in [mm] 
    14851486//      BS = V_getBeamStopC2_size(folderStr)            // Units are [mm]  
    1486         BS = 25.4                       //TODO hard-wired value 
     1487//      BS = 25.4                       //TODO hard-wired value 
    14871488         
    14881489//      bs_shape = V_getBeamStopC2_shape(folderStr) 
     
    14961497         
    14971498// del_r = step size [mm] = binWidth*(mm/pixel)  
    1498         del_r = 1*8                     // TODO: 8mm/pixel hard-wired 
     1499        del_r = 1*DDet*10               // TODO: this is probably not the correct value 
    14991500 
    15001501// usingLenses = flag for lenses = 0 if no lenses, non-zero if lenses are in-beam 
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_FileCatalog.ipf

    r1082 r1105  
    852852                         
    853853                case "SortMonitorCountsButton": 
    854                         SetDataFolder root: 
    855                         return(0) 
     854                        sortKey = "MCR" 
     855 
    856856                        break 
    857857                         
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_MaskUtils.ipf

    r1104 r1105  
    125125                 
    126126        PopupMenu popup_0,pos={18,40},size={109,20},proc=V_SetMaskPanelPopMenuProc,title="Detector Panel" 
    127         PopupMenu popup_0,mode=1,popvalue="FL",value= #"\"FL;FR;FT;FB;MR;ML;MT;MB;B;\"" 
     127        PopupMenu popup_0,mode=1,popvalue="FL",value= #"\"FL;FR;FT;FB;ML;MR;MT;MB;B;\"" 
    128128        PopupMenu popup_2,pos={18,10},size={109,20},title="Data Source"//,proc=SetFldrPopMenuProc 
    129129        PopupMenu popup_2,mode=1,popvalue="RAW",value= #"\"RAW;SAM;VCALC;\"" 
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_Transmission.ipf

    r1102 r1105  
    186186//                      PopupMenu popup_0,mode=1,value=#gSamMatchList 
    187187                        PopupMenu popup_0,mode=1,value=V_getSamListForPopup() 
     188 
     189 
     190// then pop the sample list with the top file to see that it is a match for the transmission file 
     191                        STRUCT WMPopupAction samPopAct 
     192                        ControlInfo popup_0 
     193                        samPopAct.popStr = S_Value              // the top file 
     194                        V_TSamFilePopMenuProc(samPopAct) 
    188195                         
    189196                        break 
     
    231238Function/S V_getTransListForPopup() 
    232239 
    233         String retStr = V_getFilePurposeList("TRANSMISSION",0) 
     240        String retStr ="" 
     241         
     242//      retStr = V_getFilePurposeList("TRANSMISSION",0) 
     243         
     244        retStr = V_getFileIntentPurposeList("Sample","TRANSMISSION",0) 
     245        retStr += V_getFileIntentPurposeList("Empty Cell","TRANSMISSION",0) 
    234246         
    235247        // now filter through the string to refine the list to only transmission files that match 
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_Utilities_Comparisons.ipf

    r1104 r1105  
    3232// 
    3333// 
    34 Function V_RawFilesMatch(fname1,fname2) 
     34Function V_RawFilesMatchConfig(fname1,fname2) 
    3535        String fname1,fname2 
    3636 
     
    361361        variable wb_in=0,slit=0 
    362362         
    363         status = V_getConvPinholeStatus(fname) 
    364         if(cmpstr(status,"IN") == 0) 
     363        guides = V_getNumberOfGuides(fname) 
     364        if(cmpstr(guides,"CONV_BEAMS") == 0) 
    365365                return("convergingPinholes") 
    366366        endif 
     367 
     368// TODO: as of 6/2018 with the converging pinholes IN, status is "out" 
     369//      status = V_getConvPinholeStatus(fname) 
     370//      if(cmpstr(status,"IN") == 0) 
     371//              return("convergingPinholes") 
     372//      endif 
    367373 
    368374        status = V_getWhiteBeamStatus(fname) 
     
    424430 
    425431 
     432// returns the beamstop diameter [mm] 
     433// if there is no beamtop in front of the specified detector, return 0.01mm 
     434// 
     435Function V_DeduceBeamstopDiameter(folderStr,detStr) 
     436        String folderStr,detStr 
     437         
     438        Variable BS, dummyVal,num 
     439        dummyVal = 0.01         //[mm] 
     440         
     441        if(cmpstr("F",detStr[0]) == 0) 
     442                // front carriage has no beamstops 
     443                return(dummyVal) 
     444        endif 
     445         
     446        if(cmpstr("M",detStr[0]) == 0) 
     447                // middle carriage (2) 
     448                num = V_getBeamStopC2num_beamstops(folderStr) 
     449                if(num) 
     450                        BS = V_getBeamStopC2_size(folderStr) 
     451                else 
     452                        //num = 0, no beamstops in the middle. 
     453                        return(dummyVal) 
     454                endif 
     455        endif 
     456 
     457        if(cmpstr("B",detStr[0]) == 0) 
     458                // back (3) 
     459                num = V_getBeamStopC3num_beamstops(folderStr) 
     460                if(num) 
     461                        BS = V_getBeamStopC3_size(folderStr) 
     462                else 
     463                        //num = 0, no beamstops on the back 
     464                        return(dummyVal) 
     465                endif 
     466        endif    
     467         
     468        return(BS) 
     469end 
     470 
     471 
     472 
     473// 
     474// tests if two values are close enough to each other 
     475// very useful since ICE came to be 
     476// 
     477// tol is an absolute value (since input v1 or v2 may be zero, can't reliably 
     478// use a percentage 
     479Function V_CloseEnough(v1,v2,tol) 
     480        Variable v1, v2, tol 
     481 
     482        if(abs(v1-v2) < tol) 
     483                return(1) 
     484        else 
     485                return(0) 
     486        endif 
     487End 
     488 
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_Utilities_General.ipf

    r1099 r1105  
    7777        return(WaveExists(w)) 
    7878end 
    79  
    80  
    81 // 
    82 // tests if two values are close enough to each other 
    83 // very useful since ICE came to be 
    84 // 
    85 // tol is an absolute value (since input v1 or v2 may be zero, can't reliably 
    86 // use a percentage 
    87 Function V_CloseEnough(v1,v2,tol) 
    88         Variable v1, v2, tol 
    89  
    90         if(abs(v1-v2) < tol) 
    91                 return(1) 
    92         else 
    93                 return(0) 
    94         endif 
    95 End 
    9679 
    9780 
     
    14441427 
    14451428 
    1446 // match BOTH the intent and purpose 
     1429// match the INTENT and PURPOSE and GROUP_ID 
     1430// 
    14471431// -- needed to identify the SAMPLE + SCATTERING data files. 
    14481432// 
Note: See TracChangeset for help on using the changeset viewer.