Ignore:
Timestamp:
Nov 8, 2007 11:15:58 AM (15 years ago)
Author:
srkline
Message:

Changes to PlotUtils2D here undo the previous changeset, now correctly setting upt the Qx and Qy waves in the call to FucFit?. 2D fit functions do need to have the parameters in the order specified in the function (cw,zw,xw,yw)

Cylinder2D has been REPLACED with a version that uses a MODIFIED version of the DANSE XOPs that is currently only on my computer... We will need to decide in the near future how we are going to include Mathieu's code into our XOPs.

GizmoCylinder? is a crude display of the cylinder angles as a function of theta and phi. Not automatically included, and needs to be tweaked (a lot) before prime time, but it's at least something.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sans/Analysis/branches/ajj_23APR07/IGOR_Package_Files/Put in User Procedures/SANS_Models_v3.00/Packages/PlotUtils2D.ipf

    r196 r197  
    598598        //      FuncFit/H="11110111111"/NTHR=0 Cylinder2D_D :cyl2d_c_txt:coef_Cyl2D_D  :cyl2d_c_txt:cyl2d_c_txt_i /X={:cyl2d_c_txt:cyl2d_c_txt_qy,:cyl2d_c_txt:cyl2d_c_txt_qx} /W=:cyl2d_c_txt:sw /I=1 /M=:cyl2d_c_txt:mask /D  
    599599 
    600 // !!! /X={Qy,Qx} is correct !!! using {Qx,Qy} return jibberish for the chi^2 from the fit 
    601  
    602600        do 
    603601                if(useRes && useEps && useCursors && useConstr)         //do it all 
    604                         FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten[pcsr(A),pcsr(B)] /X={Qy,Qx} /M=mask /W=sw /I=1 /D /E=eps /C=constr 
     602                        FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten[pcsr(A),pcsr(B)] /X={Qx,Qy} /M=mask /W=sw /I=1 /D /E=eps /C=constr 
    605603                        break 
    606604                endif 
    607605                 
    608606                if(useRes && useEps && useCursors)              //no constr 
    609                         FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten[pcsr(A),pcsr(B)] /X={Qy,Qx} /M=mask /W=sw /I=1 /D /E=eps 
     607                        FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten[pcsr(A),pcsr(B)] /X={Qx,Qy} /M=mask /W=sw /I=1 /D /E=eps 
    610608                        break 
    611609                endif 
    612610                 
    613611                if(useRes && useEps && useConstr)               //no crsr 
    614                         FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten /X={Qy,Qx} /M=mask /W=sw /I=1 /D /E=eps /C=constr 
     612                        FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten /X={Qx,Qy} /M=mask /W=sw /I=1 /D /E=eps /C=constr 
    615613                        break 
    616614                endif 
    617615                 
    618616                if(useRes && useCursors && useConstr)           //no eps 
    619                         FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten[pcsr(A),pcsr(B)] /X={Qy,Qx} /M=mask /W=sw /I=1 /D /C=constr 
     617                        FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten[pcsr(A),pcsr(B)] /X={Qx,Qy} /M=mask /W=sw /I=1 /D /C=constr 
    620618                        break 
    621619                endif 
    622620                 
    623621                if(useRes && useCursors)                //no eps, no constr 
    624                         FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten[pcsr(A),pcsr(B)] /X={Qy,Qx} /M=mask /W=sw /I=1 /D 
     622                        FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten[pcsr(A),pcsr(B)] /X={Qx,Qy} /M=mask /W=sw /I=1 /D 
    625623                        break 
    626624                endif 
    627625                 
    628626                if(useRes && useEps)            //no crsr, no constr 
    629                         FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten /X={Qy,Qx} /M=mask /W=sw /I=1 /D /E=eps 
     627                        FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten /X={Qx,Qy} /M=mask /W=sw /I=1 /D /E=eps 
    630628                        break 
    631629                endif 
    632630         
    633631                if(useRes && useConstr)         //no crsr, no eps 
    634                         FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten /X={Qy,Qx} /M=mask /W=sw /I=1 /D /C=constr 
     632                        FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten /X={Qx,Qy} /M=mask /W=sw /I=1 /D /C=constr 
    635633                        break 
    636634                endif 
    637635                 
    638636                if(useRes)              //just res 
    639                         FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten /X={Qy,Qx} /M=mask /W=sw /I=1 /D 
     637                        FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten /X={Qx,Qy} /M=mask /W=sw /I=1 /D 
    640638                        break 
    641639                endif 
     
    643641/////   same as above, but all without useRes (no /STRC flag) 
    644642                if(useEps && useCursors && useConstr)           //do it all 
    645                         FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten[pcsr(A),pcsr(B)] /X={Qy,Qx} /M=mask /W=sw /I=1 /D /E=eps /C=constr 
     643                        FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten[pcsr(A),pcsr(B)] /X={Qx,Qy} /M=mask /W=sw /I=1 /D /E=eps /C=constr 
    646644                        break 
    647645                endif 
    648646                 
    649647                if(useEps && useCursors)                //no constr 
    650                         FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten[pcsr(A),pcsr(B)] /X={Qy,Qx} /M=mask /W=sw /I=1 /D /E=eps 
     648                        FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten[pcsr(A),pcsr(B)] /X={Qx,Qy} /M=mask /W=sw /I=1 /D /E=eps 
    651649                        break 
    652650                endif 
     
    654652                 
    655653                if(useEps && useConstr)         //no crsr 
    656                         FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten /X={Qy,Qx} /M=mask /W=sw /I=1 /D /E=eps /C=constr 
     654                        FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten /X={Qx,Qy} /M=mask /W=sw /I=1 /D /E=eps /C=constr 
    657655                        break 
    658656                endif 
    659657                 
    660658                if(useCursors && useConstr)             //no eps 
    661                         FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten[pcsr(A),pcsr(B)] /X={Qy,Qx} /M=mask /W=sw /I=1 /D /C=constr 
     659                        FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten[pcsr(A),pcsr(B)] /X={Qx,Qy} /M=mask /W=sw /I=1 /D /C=constr 
    662660                        break 
    663661                endif 
    664662                 
    665663                if(useCursors)          //no eps, no constr 
    666                         FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten[pcsr(A),pcsr(B)] /X={Qy,Qx} /M=mask /W=sw /I=1 /D 
     664                        FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten[pcsr(A),pcsr(B)] /X={Qx,Qy} /M=mask /W=sw /I=1 /D 
    667665                        break 
    668666                endif 
    669667                 
    670668                if(useEps)              //no crsr, no constr 
    671                         FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten /X={Qy,Qx} /M=mask /W=sw /I=1 /D /E=eps 
     669                        FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten /X={Qx,Qy} /M=mask /W=sw /I=1 /D /E=eps 
    672670                        break 
    673671                endif 
    674672         
    675673                if(useConstr)           //no crsr, no eps 
    676                         FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten /X={Qy,Qx} /M=mask /W=sw /I=1 /D /C=constr 
     674                        FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten /X={Qx,Qy} /M=mask /W=sw /I=1 /D /C=constr 
    677675                        break 
    678676                endif 
    679677                 
    680678                //just a plain vanilla fit 
    681                         FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten /X={Qy,Qx} /M=mask /W=sw /I=1 /D 
     679                        FuncFit/H=getHStr(hold) /NTHR=0 $funcStr cw, inten /X={Qx,Qy} /M=mask /W=sw /I=1 /D 
    682680         
    683681        while(0) 
     
    824822EndMacro 
    825823 
    826 Macro CalculateChiSquared(str) 
    827         String str 
    828         Prompt str,"Pick the data folder containing 2D data",popup,getAList(4) 
    829  
    830  
    831         String fldrSav0= GetDataFolder(1) 
    832         SetDataFolder $("root:"+str) 
    833  
    834         Duplicate/O $(str+"_i") chi 
    835         chi = ((zwave_cyl2D_D - $(str+"_i"))/sw )^2 
    836          
    837         chi = (mask == 1) ? chi : 0 
    838          
    839         Print sum(chi,-inf,inf) 
    840          
    841         SetDataFolder fldrSav0 
    842 EndMacro 
     824//Macro CalculateChiSquared(str) 
     825//      String str 
     826//      Prompt str,"Pick the data folder containing 2D data",popup,getAList(4) 
     827// 
     828// 
     829//      String fldrSav0= GetDataFolder(1) 
     830//      SetDataFolder $("root:"+str) 
     831// 
     832//      Duplicate/O $(str+"_i") chi 
     833//      chi = ((zwave_cyl2D_D - $(str+"_i"))/sw )^2 
     834//       
     835//      chi = (mask == 1) ? chi : 0 
     836//       
     837//      Print sum(chi,-inf,inf) 
     838//       
     839//      SetDataFolder fldrSav0 
     840//EndMacro 
Note: See TracChangeset for help on using the changeset viewer.