Ignore:
Timestamp:
Apr 29, 2019 12:26:53 PM (4 years ago)
Author:
srkline
Message:

bug fix for Igor 8 - removing the setIgorOption forceCOLORONCOLOR for windows graphics. No longer needed in Igor 8, and generates an error. removed this line in the initialization step in all packages.

bug fix for the defining of a mask for sector averaging in VSANS. beam center in [cm] was incorrectly converted to [pixels]. No other calculations were affected.

File:
1 edited

Legend:

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

    r1144 r1147  
    464464                if(kBCTR_CM) 
    465465                        if(cmpstr("L",detStr[1]) == 0) 
    466                                 edge = data_realDistX[47][0]            //tube 47 
    467                                 delta = abs(xCtr*10 - edge) 
    468                                 x_pix[0] = dimX-1 + delta/tube_width 
     466                                Make/O/D/N=(dimX) tmpTube 
     467                                tmpTube = data_RealDistX[p][0] 
     468                                FindLevel/P/Q tmpTube xCtr*10 
     469                                if(V_Flag) 
     470                                        edge = data_realDistX[47][0]            //tube 47 
     471                                        delta = abs(xCtr*10 - edge) 
     472                                        x_pix[0] = dimX-1 + delta/tube_width 
     473                                else 
     474                                        // beam center is on the panel, report the pixel value 
     475                                        x_pix[0] = V_LevelX 
     476                                endif 
     477                                 
    469478                        else 
    470479                        // R panel 
    471                                 edge = data_realDistX[0][0] 
    472                                 delta = abs(xCtr*10 - edge + gap) 
    473                                 x_pix[0] = -delta/tube_width            //since the left edge of the R panel is pixel 0 
     480                                Make/O/D/N=(dimX) tmpTube 
     481                                tmpTube = data_RealDistX[p][0] 
     482                                FindLevel/P/Q tmpTube xCtr*10 
     483                                if(V_Flag) 
     484                                        //level not found 
     485                                        edge = data_realDistX[0][0] 
     486                                        delta = abs(xCtr*10 - edge + gap)               // how far past the edge of the panel 
     487                                        x_pix[0] = -delta/tube_width            //since the left edge of the R panel is pixel 0 
     488                                else 
     489                                        // beam center is on the panel, report the pixel value 
     490                                        x_pix[0] = V_LevelX 
     491                                endif 
     492                                 
     493                        endif 
     494 
     495                endif 
     496 
     497// the y-center will be on the panel in this direction 
     498                Make/O/D/N=(dimY) tmpTube 
     499                tmpTube = data_RealDistY[0][p] 
     500                FindLevel /P/Q tmpTube, yCtr*10 
     501                 
     502                y_pix[0] = V_levelX 
     503                KillWaves/Z tmpTube 
     504//              Print x_pix[0],y_pix[0] 
     505                 
     506        else 
     507                //      this is data (horizontal) dimensioned as (Npix,Ntubes) 
     508 
     509                if(kBCTR_CM) 
     510                        if(cmpstr("T",detStr[1]) == 0) 
     511                                Make/O/D/N=(dimY) tmpTube 
     512                                tmpTube = data_RealDistY[p][0] 
     513                                FindLevel/P/Q tmpTube yCtr*10 
     514                                if(V_Flag) 
     515                                        edge = data_realDistY[0][0]             //tube 0 
     516                                        delta = abs(yCtr*10 - edge + gap) 
     517                                        y_pix[0] =  -delta/tube_width           //since the bottom edge of the T panel is pixel 0                                
     518                                else 
     519                                        y_pix[0] = V_LevelX 
     520                                endif                            
     521                                 
     522                        else 
     523                        // FM(B) panel 
     524                                Make/O/D/N=(dimY) tmpTube 
     525                                tmpTube = data_RealDistY[p][0] 
     526                                FindLevel/P/Q tmpTube yCtr*10 
     527                                if(V_Flag) 
     528                                        edge = data_realDistY[0][47]            //y tube 47 
     529                                        delta = abs(yCtr*10 - edge) 
     530                                        y_pix[0] = dimY-1 + delta/tube_width            //since the top edge of the B panels is pixel 47                 
     531                                else 
     532                                        y_pix[0] = V_LevelX 
     533                                endif 
     534 
    474535                        endif 
    475536                endif 
    476537 
    477                 Make/O/D/N=(dimY) tmpTube 
    478                 tmpTube = data_RealDistY[0][p] 
    479                 FindLevel /P/Q tmpTube, yCtr 
    480                  
    481                 y_pix[0] = V_levelX 
    482                 KillWaves/Z tmpTube 
    483         else 
    484                 //      this is data (horizontal) dimensioned as (Npix,Ntubes) 
    485  
    486                 if(kBCTR_CM) 
    487                         if(cmpstr("T",detStr[1]) == 0) 
    488                                 edge = data_realDistY[0][0]             //tube 0 
    489                                 delta = abs(yCtr*10 - edge + gap) 
    490                                 y_pix[0] =  -delta/tube_width           //since the bottom edge of the T panel is pixel 0 
    491                         else 
    492                         // FM(B) panel 
    493                                 edge = data_realDistY[0][47]            //y tube 47 
    494                                 delta = abs(yCtr*10 - edge) 
    495                                 y_pix[0] = dimY-1 + delta/tube_width            //since the top edge of the B panels is pixel 47                 
    496                         endif 
    497                 endif 
    498  
    499                  
     538// the x-center will be on the panel in this direction           
    500539                Make/O/D/N=(dimX) tmpTube 
    501540                tmpTube = data_RealDistX[p][0] 
    502                 FindLevel /P/Q tmpTube, xCtr 
     541                FindLevel /P/Q tmpTube, xCtr*10 
    503542                 
    504543                x_pix[0] = V_levelX 
    505544                KillWaves/Z tmpTube 
    506                  
    507545                 
    508546        endif 
Note: See TracChangeset for help on using the changeset viewer.