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_MaskUtils.ipf

    r1110 r1117  
    644644                        bottom = top+height 
    645645                         
    646                         Print left,top,right,bottom 
     646//                      Print left,top,right,bottom 
    647647 
    648648                        break                                            
     
    836836                NewDataFolder/O/S root:VSANS_MASK_file:entry:instrument          
    837837                        Make/O/T/N=1    name    = "NG3_VSANS" 
     838                         
     839                         
     840//      NVAR gHighResBinning = root:Packages:NIST:VSANS:Globals:gHighResBinning 
    838841                NewDataFolder/O/S root:VSANS_MASK_file:entry:instrument:detector_B       
    839                         Make/O/I/N=(680,1656)   data    = 0 
    840                         data[][0,5] = 1 
    841                         data[][1650,1655] = 1 
    842                         data[0,5][] = 1 
    843                         data[675,679][] = 1 
     842                if(root:Packages:NIST:VSANS:Globals:gHighResBinning == 1) 
     843                                // TODOHIGHRES - the pixel values are hard-wired 
     844                                Make/O/I/N=(2720,6624)  data    = 0              
     845 
     846                        // TODOHIGHRES -- these values are simply the 4x4 values x4 
     847                        // these will need to be updated 
     848                                data[][0,20] = 1 
     849                                data[][6603,6623] = 1           //  
     850                                data[0,20][] = 1 
     851                                data[2599,2719][] = 1           //  
     852                                 
     853                        else 
     854                                Make/O/I/N=(680,1656)   data    = 0              
     855 
     856                                data[][0,5] = 1 
     857                                data[][1650,1655] = 1 
     858                                data[0,5][] = 1 
     859                                data[675,679][] = 1 
     860 
     861                endif 
     862                                 
     863                         
    844864                NewDataFolder/O/S root:VSANS_MASK_file:entry:instrument:detector_MR              
    845865                        Make/O/I/N=(48,128)     data    = 0 
     
    908928                NewDataFolder/O/S root:Packages:NIST:VSANS:MSK:entry:instrument          
    909929                        Make/O/T/N=1    name    = "NG3_VSANS" 
     930                         
     931         
     932        NVAR gHighResBinning = root:Packages:NIST:VSANS:Globals:gHighResBinning 
    910933                NewDataFolder/O/S root:Packages:NIST:VSANS:MSK:entry:instrument:detector_B       
    911                         Make/O/I/N=(680,1656)   data    = 0 
    912                         data[][0,38] = 1 
    913                         data[][1548,1655] = 1 
    914                         data[0,10][] = 1 
    915                         data[669,679][] = 1 
     934                switch(gHighResBinning) 
     935                        case 1: 
     936                        // TODOHIGHRES - the pix values are hard-wired 
     937                                Make/O/I/N=(2720,6624)  data    = 0              
     938 
     939                        // TODOHIGHRES -- these values are simply the 4x4 values x4 
     940                        // these will need to be updated 
     941                                data[][0,152] = 1 
     942                                data[][6195,6623] = 1           // 107 pix *4 =428 
     943                                data[0,40][] = 1 
     944                                data[2679,2719][] = 1           // 10 pix (*4) 
     945                                 
     946                                break 
     947                        case 4: 
     948                                Make/O/I/N=(680,1656)   data    = 0              
     949 
     950                                data[][0,38] = 1 
     951                                data[][1548,1655] = 1 
     952                                data[0,10][] = 1 
     953                                data[669,679][] = 1 
     954                                break 
     955                        default: 
     956                                Abort "No binning case matches in V_GenerateDefaultMask" 
     957                endswitch 
     958         
     959                         
    916960                NewDataFolder/O/S root:Packages:NIST:VSANS:MSK:entry:instrument:detector_MR              
    917961                        Make/O/I/N=(48,128)     data    = 0 
Note: See TracChangeset for help on using the changeset viewer.