Ignore:
Timestamp:
May 20, 2016 4:28:56 PM (7 years ago)
Author:
srkline
Message:

changes to a few analysis models to make these Igor 7-ready

adding mask editing utilities

many changes to event mode for easier processing of split lists

updated event mode help file

+ lots more!

File:
1 edited

Legend:

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

    r993 r999  
    238238                        newX = data_realDistX[xCtr][0] 
    239239                        newY = data_realDistY[0][yCtr] 
     240                        //newX = xCtr 
     241                        //newY = yCtr 
    240242                endif            
    241243                                 
     
    668670//    a blanket correction (matrix multiply) for an entire panel? 
    669671// 
     672// 
     673// 
    670674// folderStr = WORK folder, type = the binning type (may include multiple detectors) 
    671675Function VC_fDoBinning_QxQy2D(folderStr,type) 
     
    690694// 
    691695 
     696// TODO: 
     697// -- Solid_Angle -- waves will be present for WORK data other than RAW, but not for RAW 
     698// 
    692699// assume that the mask files are missing unless we can find them. If VCALC data,  
    693700//  then the Mask is missing by definition 
     
    986993 
    987994//TODO: properly define the errors here - I'll have this if I do the simulation 
     995// -- need to propagate the errors up to this point 
     996// 
    988997        if(WaveExists(iErr)==0  && WaveExists(inten) != 0) 
    989998                Duplicate/O inten,iErr 
     
    10551064// 
    10561065// this needs to be a double loop now... 
     1066// TODO: 
     1067// -- the iErr wave and accumulation of error is NOT CALCULATED CORRECTLY YET 
     1068// -- the solid angle per pixel is not yet implemented. 
     1069//    it will be present for WORK data other than RAW, but not for RAW 
    10571070 
    10581071// if any of the masks don't exist, display the error, and proceed with the averaging, using all data 
     
    10741087                                val = inten[ii][jj] 
    10751088                                 
    1076                                 if(isVCALC || maskMissing)              // mask_val == 1 == keep 
    1077                                         mask_val = 1 
     1089                                if(isVCALC || maskMissing)              // mask_val == 0 == keep, mask_val == 1 = YES, mask out the point 
     1090                                        mask_val = 0 
    10781091                                else 
    10791092                                        mask_val = mask[ii][jj] 
    10801093                                endif 
    1081                                 if (numType(val)==0 && mask_val == 1)           //count only the good points, ignore Nan or Inf 
     1094                                if (numType(val)==0 && mask_val == 0)           //count only the good points, ignore Nan or Inf 
    10821095                                        iBin_qxqy[binIndex] += val 
    10831096                                        iBin2_qxqy[binIndex] += val*val 
     
    11031116                                 
    11041117                                if(isVCALC || maskMissing) 
    1105                                         mask_val = 1 
     1118                                        mask_val = 0 
    11061119                                else 
    11071120                                        mask_val = mask2[ii][jj] 
    11081121                                endif 
    1109                                 if (numType(val)==0 && mask_val == 1)           //count only the good points, ignore Nan or Inf 
     1122                                if (numType(val)==0 && mask_val == 0)           //count only the good points, ignore Nan or Inf 
    11101123                                        iBin_qxqy[binIndex] += val 
    11111124                                        iBin2_qxqy[binIndex] += val*val 
     
    11311144                                 
    11321145                                if(isVCALC || maskMissing) 
    1133                                         mask_val = 1 
     1146                                        mask_val = 0 
    11341147                                else 
    11351148                                        mask_val = mask3[ii][jj] 
    11361149                                endif 
    1137                                 if (numType(val)==0 && mask_val == 1)           //count only the good points, ignore Nan or Inf 
     1150                                if (numType(val)==0 && mask_val == 0)           //count only the good points, ignore Nan or Inf 
    11381151                                        iBin_qxqy[binIndex] += val 
    11391152                                        iBin2_qxqy[binIndex] += val*val 
     
    11561169                                 
    11571170                                if(isVCALC || maskMissing) 
    1158                                         mask_val = 1 
     1171                                        mask_val = 0 
    11591172                                else 
    11601173                                        mask_val = mask4[ii][jj] 
    11611174                                endif 
    1162                                 if (numType(val)==0 && mask_val == 1)           //count only the good points, ignore Nan or Inf 
     1175                                if (numType(val)==0 && mask_val == 0)           //count only the good points, ignore Nan or Inf 
    11631176                                        iBin_qxqy[binIndex] += val 
    11641177                                        iBin2_qxqy[binIndex] += val*val 
     
    11741187// after looping through all of the data on the panels, calculate errors on I(q), 
    11751188// just like in CircSectAve.ipf 
     1189// TODO: 
     1190// -- Errors were NOT properly acculumated above, so this loop of calculations is NOT MEANINGFUL (yet) 
    11761191        for(ii=0;ii<nq;ii+=1) 
    11771192                if(nBin_qxqy[ii] == 0) 
Note: See TracChangeset for help on using the changeset viewer.