Changeset 855


Ignore:
Timestamp:
May 2, 2012 10:35:55 AM (10 years ago)
Author:
srkline
Message:

Added a menu option in the SANS Models ->1D to show the correlation matrix. This brings up a panel that shows the values along with the current parameter names. The help button links directly to the WM help file that explains the calculation. May want to add coloring for warning, if anyone uses it...

Most important would be to make it more visible and in the users line of sight if there is a problem...

Location:
sans/Dev/trunk/NCNR_User_Procedures
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • sans/Dev/trunk/NCNR_User_Procedures/Analysis/Packages/Wrapper_v40.ipf

    r829 r855  
    14641464Function DisplayCovarianceMatrix() 
    14651465 
     1466         
     1467 
    14661468        ControlInfo/W=wrapperpanel popup_0 
    14671469        String folderStr=S_Value 
     
    14831485        Duplicate/O M_Covar, CorMat      // You can use any name instead of CorMat 
    14841486        CorMat = M_Covar[p][q]/sqrt(M_Covar[p][p]*M_Covar[q][q]) 
    1485         Edit CorMat 
    1486          
     1487 
     1488        // clear the table (a subwindow) 
     1489        DoWindow/F CorMatPanel                          // ?? had to add this in during all of the cursor meddling... 
     1490        KillWindow CorMatPanel#T0 
     1491        Edit/W=(20,74,634,335)/HOST=CorMatPanel 
     1492        RenameWindow #,T0 
     1493        // get them onto the table 
     1494        // how do I get the parameter name? 
     1495        String param = getFunctionParams(funcStr) 
     1496        AppendtoTable/W=CorMatPanel#T0 $param 
     1497        AppendToTable/W=CorMatPanel#T0 CorMat 
     1498        ModifyTable/W=CorMatPanel#T0 width(Point)=0 
     1499 
     1500        GroupBox grpBox_1 title="Data set: "+folderStr 
     1501        GroupBox grpBox_2 title="Function: "+funcStr 
     1502 
     1503 
    14871504        SetDataFolder root: 
    14881505         
    14891506        return(0) 
    14901507End 
     1508 
     1509 
     1510Window CorMatPanel() 
     1511        PauseUpdate; Silent 1           // building window... 
     1512        NewPanel /W=(459,44,1113,399)/N=CorMatPanel/K=1 as "Correlation Matrix" 
     1513        ModifyPanel fixedSize=1 
     1514         
     1515        GroupBox grpBox_1 title="box 1",pos={10,20},size={0,0},frame=1,fSize=10,fstyle=1,fColor=(39321,1,1) 
     1516        GroupBox grpBox_2 title="box 2",pos={10,40},size={0,0},frame=1,fSize=10,fstyle=1,fColor=(39321,1,1) 
     1517 
     1518        Button button_1,pos={520,30},size={100,20},proc=CorMatHelpButtonProc,title="Help" 
     1519 
     1520        Edit/W=(20,74,634,335)/HOST=#   
     1521        ModifyTable width(Point)=0 
     1522        RenameWindow #,T0 
     1523        SetActiveSubwindow ## 
     1524EndMacro 
     1525 
     1526 
     1527Proc DisplayCovariance() 
     1528        DoWindow/F CorMatPanel 
     1529        if(V_Flag==0) 
     1530                CorMatPanel() 
     1531        endif 
     1532         
     1533        DisplayCovarianceMatrix() 
     1534 
     1535End 
     1536 
     1537//open the Help file for the Fit Manager 
     1538Function CorMatHelpButtonProc(ba) : ButtonControl 
     1539        STRUCT WMButtonAction &ba 
     1540 
     1541        switch( ba.eventCode ) 
     1542                case 2: // mouse up 
     1543                        // click code here 
     1544                        DisplayHelpTopic/Z/K=1 "Covariance Matrix" 
     1545                        if(V_flag !=0) 
     1546                                DoAlert 0,"Help for the correlation matrix could not be found" 
     1547                        endif 
     1548                        break 
     1549        endswitch 
     1550 
     1551        return 0 
     1552End 
  • sans/Dev/trunk/NCNR_User_Procedures/Analysis/SA_includes_v410.ipf

    r749 r855  
    4141                "1D Arithmetic Panel",MakeDAPanel() 
    4242                "ReBin 1D Data",OpenRebin() 
     43                "Show Correlation Matrix",DisplayCovariance() 
    4344        end 
    4445        "-" 
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/Polarization/Pol_PolarizationPanels.ipf

    r851 r855  
    815815                                 
    816816                        endfor          //loop over rows 
    817                          
    818                         // now get a running average of muP, Po, and the errors 
    819                         avg_muP = sum_muP/numRows 
    820                         avg_Po = sum_Po/numRows 
    821                         err_avg_muP = sqrt(err_avg_muP) / numRows 
    822                         err_avg_Po = sqrt(err_avg_Po) / numRows 
    823                          
     817 
     818 
     819////// 26 APR 12 -- why was I getting a running average of these values??               not sure, so I commented them out... 
     820//                              they aren't returned or used anywhere... 
     821//                      // now get a running average of muP, Po, and the errors 
     822//                      avg_muP = sum_muP/numRows 
     823//                      avg_Po = sum_Po/numRows 
     824//                      err_avg_muP = sqrt(err_avg_muP) / numRows 
     825//                      err_avg_Po = sqrt(err_avg_Po) / numRows 
     826//       
     827// 
     828//                      Printf "Average muP = %g +/- %g (%g%)\r",avg_muP,err_avg_muP,err_avg_muP/avg_muP*100 
     829//                      Printf "Average Po = %g +/- %g (%g%)\r",avg_Po,err_avg_Po,err_avg_Po/avg_Po*100 
     830//                       
     831//              E  26 APR 12 
     832                 
    824833//                      str = "muP=2,err_muP=0,P0=0.6,err_P0=0,T0=asdf,gamma=200,err_gamma=0," 
    825834 
     
    835844//                      Note w, noteStr 
    836845                                         
    837                         Printf "Average muP = %g +/- %g (%g%)\r",avg_muP,err_avg_muP,err_avg_muP/avg_muP*100 
    838                         Printf "Average Po = %g +/- %g (%g%)\r",avg_Po,err_avg_Po,err_avg_Po/avg_Po*100 
     846 
    839847                         
    840848                        //update the global values for display (not these, but after the fit) 
Note: See TracChangeset for help on using the changeset viewer.