Ignore:
Timestamp:
Oct 18, 2018 12:09:16 PM (4 years ago)
Author:
srkline
Message:

extensive changes to accomodate 1x1 binning of the HighRes? detector. It is implemented as a global flag. Currently only 4x4 and 1x1 are allowed. 1x1 has never been tested in reality, only simulated data - so my assumed dimensions may not be correct. look for TODOHIGHRES in the file for places that may need to be updated for different file dimensions. Testing of the simulated data is proving to be excruciatingly slow, but passable for a test. Speed optimization will be needed if this is the final solution. Memory management will also be an issue since every "copy" of the highRes matrix is enormous. Carry as few of these around as possible in the future to keep the experiment size to something reasonable.

File:
1 edited

Legend:

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

    r1103 r1117  
    5454        Button button_1,pos={615,20},size={80,20},proc=V_DetFitButtonProc,title="Do Fit" 
    5555        Button button_2,pos={744,20},size={80,20},proc=V_DetFitHelpButtonProc,title="Help" 
    56         Button button_3,pos={730,400},size={110,20},proc=V_CopyCtrButtonProc,title="Copy Centers" 
     56        Button button_3,pos={730,400},size={110,20},proc=V_CopyCtrButtonProc,title="Copy Centers",disable=2 
    5757        Button button_4,pos={615,400},size={110,20},proc=V_CtrTableButtonProc,title="Ctr table" 
    58         Button button_5,pos={730,440},size={110,20},proc=V_WriteCtrTableButtonProc,title="Write table" 
     58        Button button_5,pos={730,440},size={110,20},proc=V_WriteCtrTableButtonProc,title="Write table",disable=2 
    5959 
    6060 
     
    211211                Variable VC_pixSize_X = VCALC_getPixSizeX(str) 
    212212                Variable VC_pixSize_Y = VCALC_getPixSizeY(str) 
    213 //              strswitch(str) 
    214 //                      case "FL": 
    215 //                              NVAR VC_nPix_X = root:Packages:NIST:VSANS:VCALC:gFront_L_nPix_X 
    216 //                              NVAR VC_nPix_Y = root:Packages:NIST:VSANS:VCALC:gFront_L_nPix_Y 
    217 //                              NVAR VC_pixSize_X = root:Packages:NIST:VSANS:VCALC:gFront_L_pixelX 
    218 //                              NVAR VC_pixSize_Y = root:Packages:NIST:VSANS:VCALC:gFront_L_pixelY 
    219 //      //                      wave newW = $("root:Packages:NIST:VSANS:VCALC:entry:instrument:detector_"+str+":det_"+str) 
    220 //                              break 
    221 //                      case "FR": 
    222 //                              NVAR VC_nPix_X = root:Packages:NIST:VSANS:VCALC:gFront_R_nPix_X 
    223 //                              NVAR VC_nPix_Y = root:Packages:NIST:VSANS:VCALC:gFront_R_nPix_Y 
    224 //                              NVAR VC_pixSize_X = root:Packages:NIST:VSANS:VCALC:gFront_R_pixelX 
    225 //                              NVAR VC_pixSize_Y = root:Packages:NIST:VSANS:VCALC:gFront_R_pixelY 
    226 //      //                      wave newW = $("root:Packages:NIST:VSANS:VCALC:Front:det_"+str) 
    227 //                              break 
    228 //                      case "ML": 
    229 //                              NVAR VC_nPix_X = root:Packages:NIST:VSANS:VCALC:gMiddle_L_nPix_X 
    230 //                              NVAR VC_nPix_Y = root:Packages:NIST:VSANS:VCALC:gMiddle_L_nPix_Y 
    231 //                              NVAR VC_pixSize_X = root:Packages:NIST:VSANS:VCALC:gMiddle_L_pixelX 
    232 //                              NVAR VC_pixSize_Y = root:Packages:NIST:VSANS:VCALC:gMiddle_L_pixelY 
    233 //      //                      wave newW = $("root:Packages:NIST:VSANS:VCALC:Middle:det_"+str) 
    234 //                              break 
    235 //                      case "MR": 
    236 //                              NVAR VC_nPix_X = root:Packages:NIST:VSANS:VCALC:gMiddle_R_nPix_X 
    237 //                              NVAR VC_nPix_Y = root:Packages:NIST:VSANS:VCALC:gMiddle_R_nPix_Y 
    238 //                              NVAR VC_pixSize_X = root:Packages:NIST:VSANS:VCALC:gMiddle_R_pixelX 
    239 //                              NVAR VC_pixSize_Y = root:Packages:NIST:VSANS:VCALC:gMiddle_R_pixelY 
    240 //      //                      wave newW = $("root:Packages:NIST:VSANS:VCALC:Middle:det_"+str) 
    241 //                              break    
    242 //       
    243 //                      case "FT": 
    244 //                              NVAR VC_nPix_X = root:Packages:NIST:VSANS:VCALC:gFront_T_nPix_X 
    245 //                              NVAR VC_nPix_Y = root:Packages:NIST:VSANS:VCALC:gFront_T_nPix_Y 
    246 //                              NVAR VC_pixSize_X = root:Packages:NIST:VSANS:VCALC:gFront_T_pixelX 
    247 //                              NVAR VC_pixSize_Y = root:Packages:NIST:VSANS:VCALC:gFront_T_pixelY 
    248 //      //                      wave newW = $("root:Packages:NIST:VSANS:VCALC:Front:det_"+str) 
    249 //                              break 
    250 //                      case "FB": 
    251 //                              NVAR VC_nPix_X = root:Packages:NIST:VSANS:VCALC:gFront_B_nPix_X 
    252 //                              NVAR VC_nPix_Y = root:Packages:NIST:VSANS:VCALC:gFront_B_nPix_Y 
    253 //                              NVAR VC_pixSize_X = root:Packages:NIST:VSANS:VCALC:gFront_B_pixelX 
    254 //                              NVAR VC_pixSize_Y = root:Packages:NIST:VSANS:VCALC:gFront_B_pixelY 
    255 //      //                      wave newW = $("root:Packages:NIST:VSANS:VCALC:Front:det_"+str) 
    256 //                              break 
    257 //                      case "MT": 
    258 //                              NVAR VC_nPix_X = root:Packages:NIST:VSANS:VCALC:gMiddle_T_nPix_X 
    259 //                              NVAR VC_nPix_Y = root:Packages:NIST:VSANS:VCALC:gMiddle_T_nPix_Y 
    260 //                              NVAR VC_pixSize_X = root:Packages:NIST:VSANS:VCALC:gMiddle_T_pixelX 
    261 //                              NVAR VC_pixSize_Y = root:Packages:NIST:VSANS:VCALC:gMiddle_T_pixelY 
    262 //      //                      wave newW = $("root:Packages:NIST:VSANS:VCALC:Middle:det_"+str) 
    263 //                              break 
    264 //                      case "MB": 
    265 //                              NVAR VC_nPix_X = root:Packages:NIST:VSANS:VCALC:gMiddle_B_nPix_X 
    266 //                              NVAR VC_nPix_Y = root:Packages:NIST:VSANS:VCALC:gMiddle_B_nPix_Y 
    267 //                              NVAR VC_pixSize_X = root:Packages:NIST:VSANS:VCALC:gMiddle_B_pixelX 
    268 //                              NVAR VC_pixSize_Y = root:Packages:NIST:VSANS:VCALC:gMiddle_B_pixelY 
    269 //      //                      wave newW = $("root:Packages:NIST:VSANS:VCALC:Middle:det_"+str) 
    270 //                              break    
    271 //                               
    272 //                      case "B": 
    273 //                              return(0)               //just exit 
    274 //                              break                                            
    275 //                      default: 
    276 //                              return(0)               //just exit 
    277 //              endswitch 
     213 
    278214         
    279215        // if VCALC declare this way     
     
    427363                         
    428364                        WaveStats/Q dispW 
    429                         coefW[2] = V_max 
    430                         coefW[0] = 1                     
     365                        coefW[2] = V_max                //approx peak height 
     366                        coefW[6] = V_avg                //approx background 
     367                        coefW[0] = 0                    // remove the porod scale 
     368                        coefW[3] = 0.9          //peak width, first guess 
    431369                         
    432370                        break 
     
    773711        //FT;FB;FL;FR;MT;MB;ML;MR;B; 
    774712        Make/O/T/N=9 panelW 
    775         Make/O/D/N=9 xCtr_pix,yCtr_pix,xCtr_mm,yCtr_mm 
     713        Make/O/D/N=9 xCtr_pix,yCtr_pix,xCtr_cm,yCtr_cm 
    776714        DoWindow/F BCtrTable 
    777715        if(V_flag == 0) 
    778                 Edit/W=(547,621,1076,943)/N=BCtrTable panelW,xCtr_pix,yCtr_pix,xCtr_mm,yCtr_mm 
     716                Edit/W=(547,621,1076,943)/N=BCtrTable panelW,xCtr_pix,yCtr_pix,xCtr_cm,yCtr_cm 
    779717        endif 
    780718         
     
    786724                detStr = StringFromList(ii, ksDetectorListAll, ";") 
    787725                panelW[ii] = detStr 
    788                 xCtr_pix[ii] = V_getDet_beam_center_x_pix(fname,detStr) 
    789                 yCtr_pix[ii] = V_getDet_beam_center_y_pix(fname,detStr) 
    790                 // TODO 
    791                 // and now the mm values 
    792                 xCtr_mm[ii] = V_getDet_beam_center_x_mm(fname,detStr) 
    793                 yCtr_mm[ii] = V_getDet_beam_center_y_mm(fname,detStr) 
    794                  
     726 
    795727        endfor 
     728         
     729//              xCtr_pix[ii] = V_getDet_beam_center_x_pix(fname,detStr) 
     730//              yCtr_pix[ii] = V_getDet_beam_center_y_pix(fname,detStr) 
     731//              // TODO 
     732//              // and now the mm values 
     733//              xCtr_mm[ii] = V_getDet_beam_center_x_mm(fname,detStr) 
     734//              yCtr_mm[ii] = V_getDet_beam_center_y_mm(fname,detStr) 
    796735        return(0) 
    797736End 
     
    868807End 
    869808 
    870  
     809// TODO: 
     810// if I change any of these values, I need to also change them in the V_FindCentroid function  
     811// in V_Marquee_Operation.ipf 
    871812Proc V_fDeriveBeamCenters(x_FrontReference,y_FrontReference,x_MiddleReference,y_MiddleReference) 
    872813        Variable x_FrontReference,y_FrontReference,x_MiddleReference,y_MiddleReference 
Note: See TracChangeset for help on using the changeset viewer.