Ignore:
Timestamp:
Feb 25, 2016 4:30:38 PM (7 years ago)
Author:
srkline
Message:

more changes and additons to display VSANS data

adding functions for IvsQ plotting

coverted much of VCALC to have similar folder structure as HDF to allow re-use of the Q-binning procedures from VCALC with real data in work files.

re-working the beam center finder to get it to work with work file data rather then only VCALC.

new plotting routines for the panels to rescale to the beam center (still in pixels, though)

File:
1 edited

Legend:

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

    r981 r982  
    1313 
    1414 
     15Function V_FindBeamCenter() 
     16        DoWindow/F PanelFit 
     17        if(V_flag==0) 
     18                Execute "DetectorPanelFit()" 
     19        endif 
     20End 
    1521// 
    1622// TODO - may need to adjust the display for the different pixel dimensions 
     
    2733        NewPanel /W=(662,418,1586,960)/N=PanelFit/K=1 
    2834//      ShowTools/A 
    29                  
     35         
    3036        PopupMenu popup_0,pos={20,20},size={109,20},proc=SetDetPanelPopMenuProc,title="Detector Panel" 
    3137        PopupMenu popup_0,mode=1,popvalue="FL",value= #"\"FL;FR;FT;FB;MR;ML;MT;MB;B;\"" 
     
    3844 
    3945 
    40         duplicate/O root:Packages:NIST:VSANS:VCALC:Front:det_FL curDispPanel 
     46        duplicate/O root:Packages:NIST:VSANS:VCALC:entry:entry:instrument:detector_FL:det_FL curDispPanel 
    4147        SetScale/P x 0,1, curDispPanel 
    4248        SetScale/P y 0,1, curDispPanel 
     
    155161                        NVAR pixSize_X = root:Packages:NIST:VSANS:VCALC:gFront_L_pixelX 
    156162                        NVAR pixSize_Y = root:Packages:NIST:VSANS:VCALC:gFront_L_pixelY 
    157                         wave newW = $("root:Packages:NIST:VSANS:VCALC:Front:det_"+str) 
     163//                      wave newW = $("root:Packages:NIST:VSANS:VCALC:entry:entry:instrument:detector_"+str+":det_"+str) 
    158164                        break 
    159165                case "FR": 
     
    162168                        NVAR pixSize_X = root:Packages:NIST:VSANS:VCALC:gFront_R_pixelX 
    163169                        NVAR pixSize_Y = root:Packages:NIST:VSANS:VCALC:gFront_R_pixelY 
    164                         wave newW = $("root:Packages:NIST:VSANS:VCALC:Front:det_"+str) 
     170//                      wave newW = $("root:Packages:NIST:VSANS:VCALC:Front:det_"+str) 
    165171                        break 
    166172                case "ML": 
     
    169175                        NVAR pixSize_X = root:Packages:NIST:VSANS:VCALC:gMiddle_L_pixelX 
    170176                        NVAR pixSize_Y = root:Packages:NIST:VSANS:VCALC:gMiddle_L_pixelY 
    171                         wave newW = $("root:Packages:NIST:VSANS:VCALC:Middle:det_"+str) 
     177//                      wave newW = $("root:Packages:NIST:VSANS:VCALC:Middle:det_"+str) 
    172178                        break 
    173179                case "MR": 
     
    176182                        NVAR pixSize_X = root:Packages:NIST:VSANS:VCALC:gMiddle_R_pixelX 
    177183                        NVAR pixSize_Y = root:Packages:NIST:VSANS:VCALC:gMiddle_R_pixelY 
    178                         wave newW = $("root:Packages:NIST:VSANS:VCALC:Middle:det_"+str) 
     184//                      wave newW = $("root:Packages:NIST:VSANS:VCALC:Middle:det_"+str) 
    179185                        break    
    180186 
     
    184190                        NVAR pixSize_X = root:Packages:NIST:VSANS:VCALC:gFront_T_pixelX 
    185191                        NVAR pixSize_Y = root:Packages:NIST:VSANS:VCALC:gFront_T_pixelY 
    186                         wave newW = $("root:Packages:NIST:VSANS:VCALC:Front:det_"+str) 
     192//                      wave newW = $("root:Packages:NIST:VSANS:VCALC:Front:det_"+str) 
    187193                        break 
    188194                case "FB": 
     
    191197                        NVAR pixSize_X = root:Packages:NIST:VSANS:VCALC:gFront_B_pixelX 
    192198                        NVAR pixSize_Y = root:Packages:NIST:VSANS:VCALC:gFront_B_pixelY 
    193                         wave newW = $("root:Packages:NIST:VSANS:VCALC:Front:det_"+str) 
     199//                      wave newW = $("root:Packages:NIST:VSANS:VCALC:Front:det_"+str) 
    194200                        break 
    195201                case "MT": 
     
    198204                        NVAR pixSize_X = root:Packages:NIST:VSANS:VCALC:gMiddle_T_pixelX 
    199205                        NVAR pixSize_Y = root:Packages:NIST:VSANS:VCALC:gMiddle_T_pixelY 
    200                         wave newW = $("root:Packages:NIST:VSANS:VCALC:Middle:det_"+str) 
     206//                      wave newW = $("root:Packages:NIST:VSANS:VCALC:Middle:det_"+str) 
    201207                        break 
    202208                case "MB": 
     
    205211                        NVAR pixSize_X = root:Packages:NIST:VSANS:VCALC:gMiddle_B_pixelX 
    206212                        NVAR pixSize_Y = root:Packages:NIST:VSANS:VCALC:gMiddle_B_pixelY 
    207                         wave newW = $("root:Packages:NIST:VSANS:VCALC:Middle:det_"+str) 
     213//                      wave newW = $("root:Packages:NIST:VSANS:VCALC:Middle:det_"+str) 
    208214                        break    
    209215                         
     
    215221        endswitch 
    216222         
    217  
    218          
    219          
     223        wave newW = $("root:Packages:NIST:VSANS:VCALC:entry:entry:instrument:detector_"+str+":det_"+str) 
     224 
    220225        Variable scale = 5 
    221226         
     
    395400        return 0 
    396401End 
     402 
     403 
     404// TODO 
     405// -- some of this is hard-wired in 
     406// -- this is still alll in terms of pixels, which still may not be what I want 
     407// -- the x-scale of the T/B panels is artificially compressed to "fake" 4mm per pixel in x-direction 
     408// 
     409Function V_RescaleToBeamCenter(folderStr,detStr,xCtr,yCtr) 
     410        String folderStr,detStr 
     411        Variable xCtr,yCtr 
     412         
     413        Wave w = $("root:Packages:NIST:VSANS:"+folderStr+":entry:entry:instrument:detector_"+detStr+":data") 
     414         
     415        Variable nPix = 128 
     416        Variable nTubes = 48 
     417         
     418        strswitch(detStr)       // string switch 
     419                case "MT":              // top panels 
     420                case "FT": 
     421//                      SetScale/I x -xCtr,npix-xCtr,"",w 
     422                        SetScale/I x -xCtr/2,(npix-xCtr)/2,"",w         // fake 4mm by compressing the scale 
     423                        SetScale/I y -yCtr,nTubes-yCtr,"",w 
     424                        break                                           // exit from switch 
     425                case "MB":              // bottom panels 
     426                case "FB": 
     427//                      SetScale/I x -xCtr,npix-xCtr,"",w 
     428                        SetScale/I x -xCtr/2,(npix-xCtr)/2,"",w 
     429                        SetScale/I y -yCtr,nTubes-yCtr,"",w 
     430                        break                                           // exit from switch 
     431                case "ML":              // left panels 
     432                case "FL": 
     433                        SetScale/I x -xCtr,nTubes-xCtr,"",w 
     434                        SetScale/I y -yCtr,npix-yCtr,"",w 
     435                        break                                           // exit from switch 
     436                case "MR":              // Right panels 
     437                case "FR": 
     438                        SetScale/I x -xCtr,nTubes-xCtr,"",w 
     439                        SetScale/I y -yCtr,npix-yCtr,"",w 
     440                        break                                           // exit from switch 
     441                                         
     442                default:                                                        // optional default expression executed 
     443                        Print "Error in V_RescaleToBeamCenter()" 
     444        endswitch 
     445         
     446        return(0) 
     447end 
     448 
     449Function V_RestorePanels() 
     450 
     451        V_RescaleToBeamCenter("RAW","MB",64,55) 
     452        V_RescaleToBeamCenter("RAW","MT",64,-8.7) 
     453        V_RescaleToBeamCenter("RAW","MR",-8.1,64) 
     454        V_RescaleToBeamCenter("RAW","ML",55,64) 
     455        V_RescaleToBeamCenter("RAW","FB",64,55) 
     456        V_RescaleToBeamCenter("RAW","FT",64,-8.7) 
     457        V_RescaleToBeamCenter("RAW","FR",-8.1,64) 
     458        V_RescaleToBeamCenter("RAW","FL",55,64) 
     459 
     460 
     461        return(0) 
     462end 
     463 
     464Function V_SpreadOutPanels() 
     465 
     466        V_RescaleToBeamCenter("RAW","MB",64,78) 
     467        V_RescaleToBeamCenter("RAW","MT",64,-30) 
     468        V_RescaleToBeamCenter("RAW","MR",-30,64) 
     469        V_RescaleToBeamCenter("RAW","ML",78,64) 
     470        V_RescaleToBeamCenter("RAW","FB",64,78) 
     471        V_RescaleToBeamCenter("RAW","FT",64,-30) 
     472        V_RescaleToBeamCenter("RAW","FR",-30,64) 
     473        V_RescaleToBeamCenter("RAW","FL",78,64) 
     474        return(0) 
     475end 
Note: See TracChangeset for help on using the changeset viewer.