Ignore:
Timestamp:
Feb 8, 2019 1:33:12 PM (4 years ago)
Author:
srkline
Message:

changes to read in new USANS Raw data structure, based on the file creation date.

Some additional changes to sector averaging and viewing the "avg" masks on the detector panels. still not quite complete.

File:
1 edited

Legend:

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

    r1121 r1124  
    2929        pixSizeY = V_getDet_y_pixel_size(folderStr,detStr) 
    3030        phi = V_FindPhi( pixSizeX*((p+1)-xctr) , pixSizeY*((q+1)-yctr))         //(dx,dy) 
    31         //phi = V_FindPhi( pixSizeX*((p+1)-xctr) , pixSizeY*((q+1)-yctr)+(2)*yg_d)              //with gravity, (dx,dy+yg_d) 
    3231         
    3332        return phi       
     
    3534 
    3635 
    37 // TODO 
    38 // actually, for this to work, I need the inverse of this mask 
    39 // -- I want to mask out everything that is "out" of the sector 
    40 // 
    41 Function V_MarkOverlayPixels() 
    42  
    43         Wave phi=root:phi 
    44         String str="FL" 
    45         Wave overlay = $("root:Packages:NIST:VSANS:MSK:entry:instrument:detector_"+str+":overlay")       
    46          
    47         Variable phiCtr,delta,phiVal 
    48          
    49         phiCtr = pi/2 
    50         delta = 90 * (2*pi)/360         // phi is in radians 
    51          
    52         Variable xDim=48 
    53         Variable yDim=128 
    54  
    55         Variable ii,jj,isIn 
    56          
     36//  
     37// x- I want to mask out everything that is "out" of the sector 
     38// 
     39// 0 = keep the point 
     40// 1 = yes, mask the point 
     41Function V_MarkSectorOverlayPixels(phi,overlay,phiCtr,delta,side) 
     42        Wave phi,overlay 
     43        Variable phiCtr,delta 
     44        String side 
     45         
     46        Variable phiVal 
     47 
     48// convert the imput from degrees to radians    , since phi is in radians 
     49        phiCtr *= pi/180 
     50        delta *= pi/180          
     51         
     52        Variable xDim=DimSize(phi, 0) 
     53        Variable yDim=DimSize(phi, 1) 
     54 
     55        Variable ii,jj,isIn,forward,mirror 
     56         
     57// initialize the mask to keep everything 
     58        overlay = 0 
    5759 
    5860        for(ii=0;ii<xDim;ii+=1) 
     
    6062                        //qTot = sqrt(qx[ii]^2 + qy[ii]^2+ qz[ii]^2) 
    6163                        phiVal = phi[ii][jj] 
    62  
    63 //                       
     64                        isIn = 0 
     65                 
    6466                        isIn = V_CloseEnough(phiVal,phiCtr,delta) 
    65                          
    6667                        if(!isIn)               // it's NOT in the sector, do something 
    6768                                overlay[ii][jj] = 1 
    6869                        endif 
     70 
     71//                      isIn = V_CloseEnough(phiVal,pi+phiCtr,delta) 
     72//                      if(!isIn)               // it's NOT in the sector, do something 
     73//                              overlay[ii][jj] = 1 
     74//                      endif 
     75 
     76//                       
     77//                      if(phiVal < delta) 
     78//                              forward = 1                     //within forward sector 
     79//                      else 
     80//                              forward = 0 
     81//                      Endif 
     82//                      if((Pi - phiVal) < delta) 
     83//                              mirror = 1              //within mirror sector 
     84//                      else 
     85//                              mirror = 0 
     86//                      Endif 
     87//                      //check if pixel lies within allowed sector(s) 
     88//                      if(cmpstr(side,"both")==0)              //both sectors 
     89//                              if ( mirror || forward) 
     90//                                      //increment 
     91//                                      isIn = 1 
     92//                              Endif 
     93//                      else 
     94//                              if(cmpstr(side,"right")==0)             //forward sector only 
     95//                                      if(forward) 
     96//                                              //increment 
     97//                                              isIn = 1 
     98//                                      Endif 
     99//                              else                    //mirror sector only 
     100//                                      if(mirror) 
     101//                                              //increment 
     102//                                              isIn = 1 
     103//                                      Endif 
     104//                              Endif 
     105//                      Endif           //allowable sectors 
     106//               
     107                         
     108                 
    69109                endfor 
    70110        endfor 
Note: See TracChangeset for help on using the changeset viewer.