Ignore:
Timestamp:
Mar 26, 2012 11:26:28 AM (11 years ago)
Author:
srkline
Message:

Changes to the real-space modeling to sped up the drawing of cylinders, and to provide a few more examples of scritped, unattended calculations, and saving the 3D matrix.

Location:
sans/Dev/trunk/NCNR_User_Procedures/Analysis/Alpha/Tinker
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • sans/Dev/trunk/NCNR_User_Procedures/Analysis/Alpha/Tinker/FFT_Cylinder_Fills.ipf

    r840 r849  
    616616        for(ii=0;ii<num;ii+=1) 
    617617                FillXCylinder(mat,grid,rad,x3d[ii],y3d[ii],z3d[ii],len,fill)            //cylinder 1 
     618                Print "cyl = ",ii,num 
    618619        endfor 
    619620 
  • sans/Dev/trunk/NCNR_User_Procedures/Analysis/Alpha/Tinker/FFT_FillMatrixShapes.ipf

    r840 r849  
    286286        numx=DimSize(mat,0) 
    287287        numy=DimSize(mat,1) 
    288         for(ii=0;ii<numx;ii+=1) 
    289                 for(jj=0;jj<numy;jj+=1) 
     288         
     289        Variable x1,x2,y1,y2 
     290        x1 = xc - trunc(rad/grid) - 2 
     291        x2 = xc + trunc(rad/grid) + 2 
     292        y1 = yc - trunc(rad/grid) - 2 
     293        y2 = yc + trunc(rad/grid) + 2 
     294 
     295         
     296        y1 = y1 < 0 ? 0 : y1 
     297        x1 = x1 < 0 ? 0 : x1 
     298         
     299        y2 = y2 > numy ? numy : y2 
     300        x2 = x2 > numx ? numx : x2 
     301         
     302        for(ii=x1;ii<x2;ii+=1) 
     303                for(jj=y1;jj<y2;jj+=1) 
    290304                                dik=sqrt( (ii-xc)^2+(jj-yc)^2)*grid 
    291305                                if(dik<=rad) 
     
    294308                endfor 
    295309        endfor 
     310         
     311//      for(ii=0;ii<numx;ii+=1) 
     312//              for(jj=0;jj<numy;jj+=1) 
     313//                              dik=sqrt( (ii-xc)^2+(jj-yc)^2)*grid 
     314//                              if(dik<=rad) 
     315//                                      mat[ii][jj][zloc] = fill 
     316//                              endif 
     317//              endfor 
     318//      endfor 
    296319         
    297320        return(0)        
     
    307330        WAVE mat 
    308331        Variable grid,rad,xc,yc,zc,len,fill 
    309          
     332 
     333//      Variable tref = startMSTimer 
     334                 
    310335        Variable ii,pts 
    311336        //put half the length above - half below 
     
    314339                FillYZCircle(mat,grid,rad,yc,zc,ii,fill) 
    315340        endfor 
    316          
     341 
     342//      Variable ms = stopMSTimer(tref) 
     343//      print "Time elapsed = ", ms/1e6, "s" 
     344                 
    317345        return(0)        
    318346End 
     
    328356        numy=DimSize(mat,0) 
    329357        numz=DimSize(mat,1) 
    330         for(ii=0;ii<numy;ii+=1) 
    331                 for(jj=0;jj<numz;jj+=1) 
     358         
     359        Variable y1,y2,z1,z2 
     360        y1 = yc - trunc(rad/grid) - 2 
     361        y2 = yc + trunc(rad/grid) + 2 
     362        z1 = zc - trunc(rad/grid) - 2 
     363        z2 = zc + trunc(rad/grid) + 2 
     364         
     365        y1 = y1 < 0 ? 0 : y1 
     366        z1 = z1 < 0 ? 0 : z1 
     367         
     368        y2 = y2 > numy ? numy : y2 
     369        z2 = z2 > numz ? numz : z2 
     370         
     371 
     372        for(ii=y1;ii<y2;ii+=1) 
     373                for(jj=z1;jj<z2;jj+=1) 
    332374                                dik=sqrt( (ii-yc)^2+(jj-zc)^2)*grid 
    333375                                if(dik<=rad) 
     
    336378                endfor 
    337379        endfor 
    338          
     380 
     381 
     382////slow way             
     383//      for(ii=0;ii<numy;ii+=1) 
     384//              for(jj=0;jj<numz;jj+=1) 
     385//                              dik=sqrt( (ii-yc)^2+(jj-zc)^2)*grid 
     386//                              if(dik<=rad) 
     387//                                      mat[xloc][ii][jj] = fill 
     388//                              endif 
     389//              endfor 
     390//      endfor 
     391 
    339392        return(0)        
    340393End 
     
    371424        numx=DimSize(mat,0) 
    372425        numz=DimSize(mat,1) 
    373         for(ii=0;ii<numx;ii+=1) 
    374                 for(jj=0;jj<numz;jj+=1) 
     426         
     427        Variable x1,x2,z1,z2 
     428        x1 = xc - trunc(rad/grid) - 2 
     429        x2 = xc + trunc(rad/grid) + 2 
     430        z1 = zc - trunc(rad/grid) - 2 
     431        z2 = zc + trunc(rad/grid) + 2 
     432 
     433         
     434        z1 = z1 < 0 ? 0 : z1 
     435        x1 = x1 < 0 ? 0 : x1 
     436         
     437        z2 = z2 > numz ? numz : z2 
     438        x2 = x2 > numx ? numx : x2 
     439         
     440        for(ii=x1;ii<x2;ii+=1) 
     441                for(jj=z1;jj<z2;jj+=1) 
    375442                                dik=sqrt( (ii-xc)^2+(jj-zc)^2)*grid 
    376443                                if(dik<=rad) 
     
    379446                endfor 
    380447        endfor 
     448         
     449//      for(ii=0;ii<numx;ii+=1) 
     450//              for(jj=0;jj<numz;jj+=1) 
     451//                              dik=sqrt( (ii-xc)^2+(jj-zc)^2)*grid 
     452//                              if(dik<=rad) 
     453//                                      mat[ii][yloc][jj] = fill 
     454//                              endif 
     455//              endfor 
     456//      endfor 
    381457         
    382458        return(0)        
     
    564640Function ParseMatrix3D_rho(mat) 
    565641        Wave mat 
    566          
     642 
     643//      Variable tref = startMSTimer 
     644                 
    567645        Variable nptx,npty,nptz,ii,jj,kk,num 
    568646         
     
    589667                endfor 
    590668        endfor 
    591          
     669 
     670 
     671//      Variable ms = stopMSTimer(tref) 
     672//      print "Time elapsed = ", ms/1e6, "s" 
     673                 
    592674        return(0) 
    593675End 
  • sans/Dev/trunk/NCNR_User_Procedures/Analysis/Alpha/Tinker/FFT_FillTests.ipf

    r846 r849  
    290290// do the Binned SLD calculation + rename 
    291291// 
    292 Function TestSaveLoad_Hexagonal_vs_Sep() 
     292//      SaveExperiment statements are done after every step to be sure that there is enough free memory 
     293// -- running without caused a "not enough memory" error before any of the calculations could be done 
     294// -- so I'm not completely sure that the Save statements will work. 
     295// 
     296// 
     297Function TestSaveLoad_CoreShellHexagonal() 
    293298 
    294299 
     
    299304        NVAR FFT_delRho = root:FFT_delRho               //the SLD multiplier, should have been initialized to 1e-7 
    300305         
    301         // this function takes care of everything in clearing/filling the matrix 
     306//      // this function takes care of everything in clearing/filling the matrix 
    302307        FilledPores(40,25,2e-6,0e-6,400,100) 
    303         SaveMyMatrix("mat_R40C25_L400_S100.ibw") 
     308        SaveMyMatrix("mat_R40C25_L400_S100_N512.ibw") 
    304309        Print "Done with save 1 of 7" 
    305          
     310        SaveExperiment 
     311 
    306312        FilledPores(40,25,2e-6,0e-6,400,120) 
    307         SaveMyMatrix("mat_R40C25_L400_S120.ibw") 
     313        SaveMyMatrix("mat_R40C25_L400_S120_N512.ibw") 
    308314        Print "Done with save 2 of 7" 
     315        SaveExperiment 
    309316         
    310317        FilledPores(40,25,2e-6,0e-6,400,140) 
    311         SaveMyMatrix("mat_R40C25_L400_S140.ibw") 
     318        SaveMyMatrix("mat_R40C25_L400_S140_N512.ibw") 
    312319        Print "Done with save 3 of 7" 
     320        SaveExperiment 
    313321         
    314322        FilledPores(40,25,2e-6,0e-6,400,160) 
    315         SaveMyMatrix("mat_R40C25_L400_S160.ibw") 
     323        SaveMyMatrix("mat_R40C25_L400_S160_N512.ibw") 
    316324        Print "Done with save 4 of 7" 
     325        SaveExperiment 
    317326         
    318327        FilledPores(40,25,2e-6,0e-6,400,180) 
    319         SaveMyMatrix("mat_R40C25_L400_S180.ibw") 
     328        SaveMyMatrix("mat_R40C25_L400_S180_N512.ibw") 
    320329        Print "Done with save 5 of 7" 
     330        SaveExperiment 
    321331 
    322332        FilledPores(40,25,2e-6,0e-6,400,200) 
    323         SaveMyMatrix("mat_R40C25_L400_S200.ibw") 
     333        SaveMyMatrix("mat_R40C25_L400_S200_N512.ibw") 
    324334        Print "Done with save 6 of 7" 
     335        SaveExperiment 
    325336         
    326337        FilledPores(40,25,2e-6,0e-6,400,220) 
    327         SaveMyMatrix("mat_R40C25_L400_S220.ibw") 
     338        SaveMyMatrix("mat_R40C25_L400_S220_N512.ibw") 
    328339        Print "Done with save 7 of 7" 
    329  
    330  
     340        SaveExperiment 
     341 
     342         
     343         
    331344        //re-load the matrices 
    332345        Variable num,qmin,qmax 
     
    339352         
    340353         
    341         ReloadMatrix("mat_R40C25_L400_S100.ibw") 
    342         Execute "DoFFT()" 
    343         Duplicate/O iBin iBin_R40C25_L400_S100 
    344         Duplicate/O qBin qBin_R40C25_L400_S100 
    345         fDoCalc(qval_SLD,ival_SLD,grid,3,1) 
    346         Duplicate/O ival_SLD ival_SLD_R40C25_L400_S100 
    347         Duplicate/O qval_SLD qval_SLD_R40C25_L400_S100 
     354        ReloadMatrix("mat_R40C25_L400_S100_N512.ibw") 
     355        Execute "DoFFT()" 
     356        Duplicate/O iBin iBin_R40C25_L400_S100_N512 
     357        Duplicate/O qBin qBin_R40C25_L400_S100_N512 
     358//      fDoCalc(qval_SLD,ival_SLD,grid,3,1) 
     359//      Duplicate/O ival_SLD ival_SLD_R40C25_L400_S100 
     360//      Duplicate/O qval_SLD qval_SLD_R40C25_L400_S100 
    348361        Print "Done with calculation 1 of 7" 
    349          
    350         ReloadMatrix("mat_R40C25_L400_S120.ibw") 
    351         Execute "DoFFT()" 
    352         Duplicate/O iBin iBin_R40C25_L400_S120 
    353         Duplicate/O qBin qBin_R40C25_L400_S120 
    354         fDoCalc(qval_SLD,ival_SLD,grid,3,1) 
    355         Duplicate/O ival_SLD ival_SLD_R40C25_L400_S120 
    356         Duplicate/O qval_SLD qval_SLD_R40C25_L400_S120 
     362        SaveExperiment 
     363         
     364        ReloadMatrix("mat_R40C25_L400_S120_N512.ibw") 
     365        Execute "DoFFT()" 
     366        Duplicate/O iBin iBin_R40C25_L400_S120_N512 
     367        Duplicate/O qBin qBin_R40C25_L400_S120_N512 
     368//      fDoCalc(qval_SLD,ival_SLD,grid,3,1) 
     369//      Duplicate/O ival_SLD ival_SLD_R40C25_L400_S120 
     370//      Duplicate/O qval_SLD qval_SLD_R40C25_L400_S120 
    357371        Print "Done with calculation 2 of 7" 
    358          
    359         ReloadMatrix("mat_R40C25_L400_S140.ibw") 
    360         Execute "DoFFT()" 
    361         Duplicate/O iBin iBin_R40C25_L400_S140 
    362         Duplicate/O qBin qBin_R40C25_L400_S140 
    363         fDoCalc(qval_SLD,ival_SLD,grid,3,1) 
    364         Duplicate/O ival_SLD ival_SLD_R40C25_L400_S140 
    365         Duplicate/O qval_SLD qval_SLD_R40C25_L400_S140 
     372        SaveExperiment 
     373         
     374        ReloadMatrix("mat_R40C25_L400_S140_N512.ibw") 
     375        Execute "DoFFT()" 
     376        Duplicate/O iBin iBin_R40C25_L400_S140_N512 
     377        Duplicate/O qBin qBin_R40C25_L400_S140_N512 
     378//      fDoCalc(qval_SLD,ival_SLD,grid,3,1) 
     379//      Duplicate/O ival_SLD ival_SLD_R40C25_L400_S140 
     380//      Duplicate/O qval_SLD qval_SLD_R40C25_L400_S140 
    366381        Print "Done with calculation 3 of 7" 
    367          
    368         ReloadMatrix("mat_R40C25_L400_S160.ibw") 
    369         Execute "DoFFT()" 
    370         Duplicate/O iBin iBin_R40C25_L400_S160 
    371         Duplicate/O qBin qBin_R40C25_L400_S160 
    372         fDoCalc(qval_SLD,ival_SLD,grid,3,1) 
    373         Duplicate/O ival_SLD ival_SLD_R40C25_L400_S160 
    374         Duplicate/O qval_SLD qval_SLD_R40C25_L400_S160 
     382        SaveExperiment 
     383         
     384        ReloadMatrix("mat_R40C25_L400_S160_N512.ibw") 
     385        Execute "DoFFT()" 
     386        Duplicate/O iBin iBin_R40C25_L400_S160_N512 
     387        Duplicate/O qBin qBin_R40C25_L400_S160_N512 
     388//      fDoCalc(qval_SLD,ival_SLD,grid,3,1) 
     389//      Duplicate/O ival_SLD ival_SLD_R40C25_L400_S160 
     390//      Duplicate/O qval_SLD qval_SLD_R40C25_L400_S160 
    375391        Print "Done with calculation 4 of 7" 
    376          
    377         ReloadMatrix("mat_R40C25_L400_S180.ibw") 
    378         Execute "DoFFT()" 
    379         Duplicate/O iBin iBin_R40C25_L400_S180 
    380         Duplicate/O qBin qBin_R40C25_L400_S180 
    381         fDoCalc(qval_SLD,ival_SLD,grid,3,1) 
    382         Duplicate/O ival_SLD ival_SLD_R40C25_L400_S180 
    383         Duplicate/O qval_SLD qval_SLD_R40C25_L400_S180 
     392        SaveExperiment 
     393         
     394        ReloadMatrix("mat_R40C25_L400_S180_N512.ibw") 
     395        Execute "DoFFT()" 
     396        Duplicate/O iBin iBin_R40C25_L400_S180_N512 
     397        Duplicate/O qBin qBin_R40C25_L400_S180_N512 
     398//      fDoCalc(qval_SLD,ival_SLD,grid,3,1) 
     399//      Duplicate/O ival_SLD ival_SLD_R40C25_L400_S180 
     400//      Duplicate/O qval_SLD qval_SLD_R40C25_L400_S180 
    384401        Print "Done with calculation 5 of 7" 
    385  
    386         ReloadMatrix("mat_R40C25_L400_S200.ibw") 
    387         Execute "DoFFT()" 
    388         Duplicate/O iBin iBin_R40C25_L400_S200 
    389         Duplicate/O qBin qBin_R40C25_L400_S200 
    390         fDoCalc(qval_SLD,ival_SLD,grid,3,1) 
    391         Duplicate/O ival_SLD ival_SLD_R40C25_L400_S200 
    392         Duplicate/O qval_SLD qval_SLD_R40C25_L400_S200 
     402        SaveExperiment 
     403 
     404        ReloadMatrix("mat_R40C25_L400_S200_N512.ibw") 
     405        Execute "DoFFT()" 
     406        Duplicate/O iBin iBin_R40C25_L400_S200_N512 
     407        Duplicate/O qBin qBin_R40C25_L400_S200_N512 
     408//      fDoCalc(qval_SLD,ival_SLD,grid,3,1) 
     409//      Duplicate/O ival_SLD ival_SLD_R40C25_L400_S200 
     410//      Duplicate/O qval_SLD qval_SLD_R40C25_L400_S200 
    393411        Print "Done with calculation 6 of 7" 
    394          
    395         ReloadMatrix("mat_R40C25_L400_S220.ibw") 
    396         Execute "DoFFT()" 
    397         Duplicate/O iBin iBin_R40C25_L400_S220 
    398         Duplicate/O qBin qBin_R40C25_L400_S220 
    399         fDoCalc(qval_SLD,ival_SLD,grid,3,1) 
    400         Duplicate/O ival_SLD ival_SLD_R40C25_L400_S220 
    401         Duplicate/O qval_SLD qval_SLD_R40C25_L400_S220 
     412        SaveExperiment 
     413         
     414        ReloadMatrix("mat_R40C25_L400_S220_N512.ibw") 
     415        Execute "DoFFT()" 
     416        Duplicate/O iBin iBin_R40C25_L400_S220_N512 
     417        Duplicate/O qBin qBin_R40C25_L400_S220_N512 
     418//      fDoCalc(qval_SLD,ival_SLD,grid,3,1) 
     419//      Duplicate/O ival_SLD ival_SLD_R40C25_L400_S220 
     420//      Duplicate/O qval_SLD qval_SLD_R40C25_L400_S220 
    402421        Print "Done with calculation 7 of 7" 
    403          
    404  
     422        SaveExperiment 
     423 
     424                 
     425         
    405426        Print "All calculations done" 
    406427 
     
    409430        return(0) 
    410431End 
     432 
     433 
     434Function TestSaveLoad_Hexagonal_vs_Sep() 
     435 
     436 
     437        Wave    mat=mat 
     438        NVAR    solventSLD = root:FFT_SolventSLD 
     439         
     440        NVAR grid=root:FFT_T 
     441        NVAR FFT_delRho = root:FFT_delRho               //the SLD multiplier, should have been initialized to 1e-7 
     442 
     443 
     444// fill the matrix with solvent 
     445        FFTFillSolventMatrixProc("") 
     446        X_CylindersHexagonalGrid(mat,40,400,100,20) 
     447        SaveMyMatrix("mat_R40_L400_S100_N512.ibw") 
     448        Print "Done with save 1 of 7" 
     449        SaveExperiment 
     450 
     451// fill the matrix with solvent 
     452        FFTFillSolventMatrixProc("")     
     453        X_CylindersHexagonalGrid(mat,40,400,120,20) 
     454        SaveMyMatrix("mat_R40_L400_S120_N512.ibw") 
     455        Print "Done with save 2 of 7" 
     456        SaveExperiment 
     457         
     458        // fill the matrix with solvent 
     459        FFTFillSolventMatrixProc("") 
     460        X_CylindersHexagonalGrid(mat,40,400,140,20) 
     461        SaveMyMatrix("mat_R40_L400_S140_N512.ibw") 
     462        Print "Done with save 3 of 7" 
     463        SaveExperiment 
     464         
     465        // fill the matrix with solvent 
     466        FFTFillSolventMatrixProc("") 
     467        X_CylindersHexagonalGrid(mat,40,400,160,20) 
     468        SaveMyMatrix("mat_R40_L400_S160_N512.ibw") 
     469        Print "Done with save 4 of 7" 
     470        SaveExperiment 
     471         
     472        // fill the matrix with solvent 
     473        FFTFillSolventMatrixProc("") 
     474        X_CylindersHexagonalGrid(mat,40,400,180,20) 
     475        SaveMyMatrix("mat_R40_L400_S180_N512.ibw") 
     476        Print "Done with save 5 of 7" 
     477        SaveExperiment 
     478         
     479        // fill the matrix with solvent 
     480        FFTFillSolventMatrixProc("") 
     481        X_CylindersHexagonalGrid(mat,40,400,200,20) 
     482        SaveMyMatrix("mat_R40_L400_S200_N512.ibw") 
     483        Print "Done with save 6 of 7" 
     484        SaveExperiment 
     485         
     486        // fill the matrix with solvent 
     487        FFTFillSolventMatrixProc("") 
     488        X_CylindersHexagonalGrid(mat,40,400,220,20) 
     489        SaveMyMatrix("mat_R40_L400_S220_N512.ibw") 
     490        Print "Done with save 7 of 7" 
     491        SaveExperiment 
     492         
     493         
     494        //re-load the matrices 
     495        Variable num,qmin,qmax 
     496        num=1000 
     497        qmin=0.01 
     498        qmax=0.6 
     499         
     500        Make/O/D/N=(num) qval_SLD,ival_SLD 
     501        qval_SLD = alog(log(qmin) + x*((log(qmax)-log(qmin))/num))               
     502 
     503 
     504 
     505        ReloadMatrix("mat_R40_L400_S100_N512.ibw") 
     506        Execute "DoFFT()" 
     507        Duplicate/O iBin iBin_R40_L400_S100_N512 
     508        Duplicate/O qBin qBin_R40_L400_S100_N512 
     509//      fDoCalc(qval_SLD,ival_SLD,grid,3,1) 
     510//      Duplicate/O ival_SLD ival_SLD_R40C25_L400_S100 
     511//      Duplicate/O qval_SLD qval_SLD_R40C25_L400_S100 
     512        Print "Done with calculation 1 of 7" 
     513        SaveExperiment 
     514         
     515        ReloadMatrix("mat_R40_L400_S120_N512.ibw") 
     516        Execute "DoFFT()" 
     517        Duplicate/O iBin iBin_R40_L400_S120_N512 
     518        Duplicate/O qBin qBin_R40_L400_S120_N512 
     519//      fDoCalc(qval_SLD,ival_SLD,grid,3,1) 
     520//      Duplicate/O ival_SLD ival_SLD_R40C25_L400_S120 
     521//      Duplicate/O qval_SLD qval_SLD_R40C25_L400_S120 
     522        Print "Done with calculation 2 of 7" 
     523        SaveExperiment 
     524         
     525        ReloadMatrix("mat_R40_L400_S140_N512.ibw") 
     526        Execute "DoFFT()" 
     527        Duplicate/O iBin iBin_R40_L400_S140_N512 
     528        Duplicate/O qBin qBin_R40_L400_S140_N512 
     529//      fDoCalc(qval_SLD,ival_SLD,grid,3,1) 
     530//      Duplicate/O ival_SLD ival_SLD_R40C25_L400_S140 
     531//      Duplicate/O qval_SLD qval_SLD_R40C25_L400_S140 
     532        Print "Done with calculation 3 of 7" 
     533        SaveExperiment 
     534         
     535        ReloadMatrix("mat_R40_L400_S160_N512.ibw") 
     536        Execute "DoFFT()" 
     537        Duplicate/O iBin iBin_R40_L400_S160_N512 
     538        Duplicate/O qBin qBin_R40_L400_S160_N512 
     539//      fDoCalc(qval_SLD,ival_SLD,grid,3,1) 
     540//      Duplicate/O ival_SLD ival_SLD_R40C25_L400_S160 
     541//      Duplicate/O qval_SLD qval_SLD_R40C25_L400_S160 
     542        Print "Done with calculation 4 of 7" 
     543        SaveExperiment 
     544         
     545        ReloadMatrix("mat_R40_L400_S180_N512.ibw") 
     546        Execute "DoFFT()" 
     547        Duplicate/O iBin iBin_R40_L400_S180_N512 
     548        Duplicate/O qBin qBin_R40_L400_S180_N512 
     549//      fDoCalc(qval_SLD,ival_SLD,grid,3,1) 
     550//      Duplicate/O ival_SLD ival_SLD_R40C25_L400_S180 
     551//      Duplicate/O qval_SLD qval_SLD_R40C25_L400_S180 
     552        Print "Done with calculation 5 of 7" 
     553        SaveExperiment 
     554         
     555        ReloadMatrix("mat_R40_L400_S200_N512.ibw") 
     556        Execute "DoFFT()" 
     557        Duplicate/O iBin iBin_R40_L400_S200_N512 
     558        Duplicate/O qBin qBin_R40_L400_S200_N512 
     559//      fDoCalc(qval_SLD,ival_SLD,grid,3,1) 
     560//      Duplicate/O ival_SLD ival_SLD_R40C25_L400_S200 
     561//      Duplicate/O qval_SLD qval_SLD_R40C25_L400_S200 
     562        Print "Done with calculation 6 of 7" 
     563        SaveExperiment 
     564 
     565        ReloadMatrix("mat_R40_L400_S220_N512.ibw") 
     566        Execute "DoFFT()" 
     567        Duplicate/O iBin iBin_R40_L400_S220_N512 
     568        Duplicate/O qBin qBin_R40_L400_S220_N512 
     569//      fDoCalc(qval_SLD,ival_SLD,grid,3,1) 
     570//      Duplicate/O ival_SLD ival_SLD_R40_L400_S220 
     571//      Duplicate/O qval_SLD qval_SLD_R40_L400_S220 
     572        Print "Done with calculation 7 of 7" 
     573        SaveExperiment 
     574                 
     575         
     576        Print "All calculations done" 
     577 
     578 
     579 
     580        return(0) 
     581End 
  • sans/Dev/trunk/NCNR_User_Procedures/Analysis/Alpha/Tinker/FFT_Panel.ipf

    r846 r849  
    178178         
    179179                LoadWave/M/O/W/P=home           fileStr         //will ask for a file, Igor Binary format is assumed here 
     180                if(V_flag == 0) 
     181                        return(0)               //user cancel 
     182                endif 
     183                 
    180184                String str 
    181185                str=note(mat) 
     
    663667        Variable isOn=0 
    664668        String str 
    665         str = TraceNameList("winStr",";",1)             //only normal traces 
    666         isOn = stringmatch(str,traceStr)                //must be an exact match 
     669        str = TraceNameList(winStr,";",1)               //only normal traces 
     670        isOn = strsearch(str,traceStr,0)                //is the trace there? 
     671        isOn = isOn == -1 ? 0 : 1                       // return 0 if not there, 1 if there 
    667672 
    668673        return(isOn) 
Note: See TracChangeset for help on using the changeset viewer.