Changeset 858


Ignore:
Timestamp:
Feb 25, 2020 1:19:33 PM (22 months ago)
Author:
ilavsky
Message:

New ploting tool

Location:
trunk/User Procedures
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/User Procedures/Indra 2/IN2_GeneralProcedures.ipf

    r855 r858  
    51625162        dfSave = GetDataFolder(1)
    51635163       
    5164         if (!DataFolderExists(startDF))
    5165                 return ""
    5166         endif
     5164                        if (!DataFolderExists(startDF))
     5165                                return ""
     5166                        endif
    51675167       
    51685168        SetDataFolder startDF
     
    51715171        templist = DataFolderDir(1)
    51725172        skipRest=0
    5173         //first treat the empty folders...
    5174         if(strlen(WaveList("*",";",""))>0 && cmpstr(WaveTypes,"*")==0)  //if the folder is NOT empty and matchstr="*", then we need to include this folder...
    5175                 if (LongShortType)
     5173                //first treat the empty folders...
     5174                if(strlen(WaveList("*",";",""))>0 && cmpstr(WaveTypes,"*")==0)  //if the folder is NOT empty and matchstr="*", then we need to include this folder...
     5175                        if (LongShortType)
    51765176                                list += startDF + ";"
    51775177                                skipRest=1
     
    51805180                                skipRest=1
    51815181                endif   
    5182         elseif(strlen(WaveList("*",";",""))>0)  //folder not empty, but need to test match strings...
    5183                 //and now the non-empty folders...
     5182                elseif(strlen(WaveList("*",";",""))>0)  //folder not empty, but need to test match strings...
     5183                        //and now the non-empty folders...
    51845184                        // For(i=0;i<ItemsInList(WaveList("*",";",""));i+=1)
    5185                  TempWvList =   WaveList(WaveTypes,";","")
     5185                  TempWvList =  WaveList(WaveTypes,";","")
    51865186                  For(i=0;i<ItemsInList(TempWvList);i+=1)
    5187                         tempWvName = StringFromList(i, TempWvList ,";")
    5188                          //      if (Stringmatch(WaveList("*",";",""),WaveTypes))
     5187                                tempWvName = StringFromList(i, TempWvList ,";")
    51895188                                if (Stringmatch(tempWvName,WaveTypes))
    51905189                                        if (LongShortType)
  • trunk/User Procedures/Indra 2/IN2_USAXS.ipf

    r855 r858  
    187187        NewPath /O/Q TmpPathToIgorProcs  , path
    188188        variable version = IN2G_FindVersionOfSingleFile(file,"TmpPathToIgorProcs")
     189        KillPath /Z TmpPathToIgorProcs
    189190        print "*** >>>  Indra version: "+num2str(version)+", compiled on "+date()+"  "+time()
    190191
  • trunk/User Procedures/Irena/IR1_DataManipulation.ipf

    r829 r858  
    11#pragma rtGlobals = 3   // Use strict wave reference mode and runtime bounds checking
    2 //#pragma rtGlobals=2           // Use modern global access method.
    3 #pragma version=2.68
     2#pragma version=2.69
    43constant IR3MversionNumber = 2.62               //Data manipulation II panel version number
    54constant IR1DversionNumber = 2.61                       //Data manipulation I panel version number
     
    1110//*************************************************************************/
    1211
     12//2.69 fixed leftover RT global issues which threw errors on users due to incorrect search for high-q end of usabel data. Fixed positions on DMII after creation.
    1313//2.68 handle weird case of DM I when data 1 is regular Q-I-S data set and data 2 are model data without error. Generate fake error here is the solution.
    1414//2.67 add toDataManipulation II ability to rescale to Q scale for data set to produce data at same Q values
     
    11771177                        endif
    11781178                        if ((BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1] )!=numpnts(ResultsQ)-1)&&(BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1] )!=-2))
    1179                                 TempIntInterp2[BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1]), ]=Nan
    1180                                 TempEInterp2[BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1]), ]=Nan
     1179                                TempIntInterp2[BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1])+1,inf]=Nan
     1180                                TempEInterp2[BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1])+1,inf]=Nan
    11811181                        endif
    11821182                        ResultsInt = TempInt1 - TempIntInterp2
     
    11981198                        endif
    11991199                        if ((BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1] )!=numpnts(ResultsQ)-1)&&(BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1] )!=-2))
    1200                                 TempIntInterp2[BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)])+1,inf]=NaN
     1200                                TempIntInterp2[BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1])+1,inf]=NaN
    12011201                        endif
    12021202                        ResultsInt = TempInt1 - TempIntInterp2
     
    12241224                        endif
    12251225                        if ((BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1] )!=numpnts(ResultsQ)-1)&&(BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1] )!=-2) )
    1226                                 TempIntInterp2[BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1])+1,  ]=NaN
    1227                                 TempEInterp2[BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1])+1,  ]=NaN
     1226                                TempIntInterp2[BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1])+1,inf]=NaN
     1227                                TempEInterp2[BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1])+1,inf]=NaN
    12281228                        endif
    12291229                        ResultsInt =  TempIntInterp2 -TempInt1
     
    12451245                        endif
    12461246                        if ((BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1] )!=numpnts(ResultsQ)-1)&&(BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1] )!=-2))
    1247                                 TempIntInterp2[BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1])+1, ]=NaN
     1247                                TempIntInterp2[BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1])+1,inf]=NaN
    12481248                        endif
    12491249                        ResultsInt =  TempIntInterp2 - TempInt1
     
    12991299                        endif
    13001300                        if ((BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1] )!=numpnts(ResultsQ)-1)&&(BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1] )!=-2))
    1301                                 TempIntInterp2[BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)])+1,inf]=NaN
    1302                                 TempEInterp2[BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)])+1,inf]=NaN
     1301                                TempIntInterp2[BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1])+1,inf]=NaN
     1302                                TempEInterp2[BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1])+1,inf]=NaN
    13031303                        endif
    13041304                        ResultsInt = TempInt1+ TempIntInterp2
     
    13201320                        endif
    13211321                        if ((BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1] )!=numpnts(ResultsQ)-1)&&(BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1] )!=-2))
    1322                                 TempIntInterp2[BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)])+1,inf]=Nan
     1322                                TempIntInterp2[BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1])+1,inf]=Nan
    13231323                        endif
    13241324                        ResultsInt = TempInt1+ TempIntInterp2
     
    13461346                        endif
    13471347                        if ((BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1] )!=numpnts(ResultsQ)-1)&&(BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1] )!=-2))
    1348                                 TempIntInterp2[BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)])+1,inf]=NaN
    1349                                 TempEInterp2[BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)])+1,inf]=NaN
     1348                                TempIntInterp2[BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1])+1,inf]=NaN
     1349                                TempEInterp2[BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1])+1,inf]=NaN
    13501350                        endif
    13511351                        ResultsInt = TempInt1/ TempIntInterp2
     
    13671367                        endif
    13681368                        if ((BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1] )!=numpnts(ResultsQ)-1)&&(BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1] )!=-2))
    1369                                 TempIntInterp2[BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)])+1,inf]=NaN
     1369                                TempIntInterp2[BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1])+1,inf]=NaN
    13701370                        endif
    13711371                        ResultsInt = TempInt1 / TempIntInterp2
     
    13931393                        endif
    13941394                        if ((BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1] )!=numpnts(ResultsQ)-1)&&(BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1] )!=-2))
    1395                                 TempIntInterp2[BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)])+1,inf]=NaN
    1396                                 TempEInterp2[BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)])+1,inf]=NaN
     1395                                TempIntInterp2[BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1])+1,inf]=NaN
     1396                                TempEInterp2[BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1])+1,inf]=NaN
    13971397                        endif
    13981398                        ResultsInt = (TempInt1- TempIntInterp2)/TempIntInterp2
     
    14161416                        endif
    14171417                        if ((BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1] )!=numpnts(ResultsQ)-1)&&(BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1] )!=-2))
    1418                                 TempIntInterp2[BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)])+1,inf]=NaN
     1418                                TempIntInterp2[BinarySearch(ResultsQ, TempQ2[numpnts(TempQ2)-1])+1,inf]=NaN
    14191419                        endif
    14201420                        ResultsInt = (TempInt1 - TempIntInterp2)/TempIntInterp2
     
    54195419        Button DeselectAll,pos={155,610},size={120,14},proc= IR3M_DataManIIPanelButtonProc,title="Deselect All", disable=!ManualFolderSelection
    54205420       
    5421         AutoPositionWindow/M=0 /R=DataManipulationII ItemsInFolderPanel_DMII
     5421        Execute/P("AutoPositionWindow/M=0 /R=DataManipulationII ItemsInFolderPanel_DMII")
    54225422        setDataFolder oldDF
    54235423end
  • trunk/User Procedures/Irena/IR1_Fractals.ipf

    r856 r858  
    190190        CheckBox MassFr1_UseUFFormFactor,variable= root:Packages:FractalsModel:MassFr1_UseUFFormFactor, help={"Check to use Unified Fit Form Factor. Beta=1 = Primary particle is sphere."}
    191191
     192        SetVariable MassFr1_UFPDIIndex,pos={14,420},size={320,16},proc=IR1V_PanelSetVarProc,title="Polydispersity index                         "
     193        SetVariable MassFr1_UFPDIIndex,limits={1,10,0.5},value=root:Packages:FractalsModel:MassFr1_UFPDIIndex, help={"Polydispersity index for Unified fit size distribution 1 to 10"}
     194
    192195        SetVariable MassFr1_Beta,pos={14,420},size={320,16},proc=IR1V_PanelSetVarProc,title="Particle aspect ratio                           "
    193196        SetVariable MassFr1_Beta,limits={0.01,100,0.1},value= root:Packages:FractalsModel:MassFr1_Beta, help={"Beta, aspect ratio of particles, should be about 0.5 and 2"}
     
    244247        CheckBox MassFr2_UseUFFormFactor,variable= root:Packages:FractalsModel:MassFr2_UseUFFormFactor, help={"Check to use Unified Fit Form Factor. Beta=1 = Primary particle is sphere."}
    245248
     249        SetVariable MassFr2_UFPDIIndex,pos={14,420},size={320,16},proc=IR1V_PanelSetVarProc,title="Polydispersity index                         "
     250        SetVariable MassFr2_UFPDIIndex,limits={1,10,0.5},value=root:Packages:FractalsModel:MassFr2_UFPDIIndex, help={"Polydispersity index for Unified fit size distribution 1 to 10"}
    246251        SetVariable MassFr2_Beta,pos={14,420},size={320,16},proc=IR1V_PanelSetVarProc,title="Particle aspect ratio                           "
    247252        SetVariable MassFr2_Beta,limits={0.01,100,0.1},value= root:Packages:FractalsModel:MassFr2_Beta, help={"Beta, aspect ratio of particles, should be about 0.5 and 2"}
     
    429434        SetVariable MassFr1_KsiMin, disable= (tab!=0 || !UseMassFract1)
    430435        SetVariable MassFr1_KsiMax, disable= (tab!=0 || !UseMassFract1)
    431         SetVariable MassFr1_Beta, disable= (tab!=0 || !UseMassFract1)
     436        SetVariable MassFr1_Beta, disable= (tab!=0 || (!UseMassFract1 || MassFr1_UseUFFormFactor))
    432437        SetVariable MassFr1_Contrast, disable= (tab!=0 || !UseMassFract1)
    433438        SetVariable MassFr1_Eta, disable= (tab!=0 || !UseMassFract1)
    434439        SetVariable MassFr1_IntgNumPnts, disable= (tab!=0 || !UseMassFract1)
    435440        CheckBox MassFr1_UseUFFormFactor,  disable= (tab!=0 || !UseMassFract1)
    436         if(MassFr1_UseUFFormFactor)
    437                 SetVariable MassFr1_Beta, disable=1
    438         endif   
     441        SetVariable MassFr1_UFPDIIndex,  disable= (tab!=0 || (!UseMassFract1 || !MassFr1_UseUFFormFactor))
     442
    439443        TitleBox SurfFract1_Title, disable= (tab!=1 || !UseSurfFract1)
    440444
     
    472476        SetVariable MassFr2_KsiMin, disable= (tab!=2 || !UseMassFract2)
    473477        SetVariable MassFr2_KsiMax, disable= (tab!=2 || !UseMassFract2)
    474         SetVariable MassFr2_Beta, disable= (tab!=2 || !UseMassFract2)
     478        SetVariable MassFr2_Beta, disable= (tab!=2 || !UseMassFract2 || MassFr2_UseUFFormFactor)
    475479        SetVariable MassFr2_Contrast, disable= (tab!=2 || !UseMassFract2)
    476480        SetVariable MassFr2_Eta, disable= (tab!=2 || !UseMassFract2)
    477481        SetVariable MassFr2_IntgNumPnts, disable= (tab!=2 || !UseMassFract2)
    478482        CheckBox MassFr2_UseUFFormFactor,  disable= (tab!=2 || !UseMassFract2)
    479         if(MassFr2_UseUFFormFactor)
    480                 SetVariable MassFr2_Beta, disable=1
    481         endif
     483        SetVariable MassFr2_UFPDIIndex,  disable= (tab!=2 || (!UseMassFract2 || !MassFr2_UseUFFormFactor))
    482484       
    483485        TitleBox SurfFract2_Title, disable= (tab!=3 || !UseSurfFract2)
     
    575577                NVAR MassFr2_UseUFFormFactor=root:Packages:FractalsModel:MassFr2_UseUFFormFactor
    576578                SetVariable MassFr2_Beta, win=IR1V_ControlPanel,  disable=MassFr2_UseUFFormFactor
     579                SetVariable MassFr1_UFPDIIndex, win=IR1V_ControlPanel,  disable=!MassFr2_UseUFFormFactor
    577580                IR1V_AutoUpdateIfSelected()
    578581        endif
     
    581584                NVAR MassFr1_UseUFFormFactor=root:Packages:FractalsModel:MassFr1_UseUFFormFactor
    582585                SetVariable MassFr1_Beta, win=IR1V_ControlPanel, disable=MassFr1_UseUFFormFactor
     586                SetVariable MassFr1_UFPDIIndex, win=IR1V_ControlPanel, disable=!MassFr1_UseUFFormFactor
    583587                IR1V_AutoUpdateIfSelected()
    584588        endif
     
    16321636                IR1V_AutoUpdateIfSelected()
    16331637        endif
     1638        if (cmpstr(ctrlName,"MassFr1_UFPDIIndex")==0 || cmpstr(ctrlName,"MassFr2_UFPDIIndex")==0)
     1639                //here goes what happens when user changes the MassFr1_UFPDIIndex in distribution
     1640                IR1V_AutoUpdateIfSelected()
     1641        endif
     1642       
     1643       
    16341644        if (cmpstr(ctrlName,"MassFr2_Contrast")==0)
    16351645                //here goes what happens when user changes the SASBackground in distribution
     
    18671877        NVAR Eta=$("root:Packages:FractalsModel:MassFr"+num2str(which)+"_Eta")
    18681878        NVAR UseUFFormFactor=$("root:Packages:FractalsModel:MassFr"+num2str(which)+"_UseUFFormFactor")
     1879        NVAR PDI= $("root:Packages:FractalsModel:MassFr"+num2str(which)+"_UFPDIIndex")
    18691880       
    18701881
     
    18831894        Bracket = ( Eta * RC^3 / (BetaVar * Radius^3)) * ((Ksi/RC)^Dv )
    18841895        if(UseUFFormFactor)                                                             //use Unified fit Form factor for sphere...
    1885                 tempFractFitIntensity = Phi * Contrast* 1e-4 * IR1V_SpheroidVolume(Radius,BetaVar) * (Bracket * sin((Dv-1)*atan(Qvec*Ksi)) / ((Dv-1)*Qvec*Ksi*(1+(Qvec*Ksi)^2)^((Dv-1)/2)) + (1-Eta)^2 )* IR1V_UnifiedSphereFFSquared(which,Qvec)
     1896                tempFractFitIntensity = Phi * Contrast* 1e-4 * IR1V_SpheroidVolume(Radius,BetaVar) * (Bracket * sin((Dv-1)*atan(Qvec*Ksi)) / ((Dv-1)*Qvec*Ksi*(1+(Qvec*Ksi)^2)^((Dv-1)/2)) + (1-Eta)^2 )* IR1V_UnifiedSphereFFSquared(Radius,Qvec, PDI)
    18861897        else
    18871898                if(BetaVar!=1)
    1888                         tempFractFitIntensity = Phi * Contrast* 1e-4 * IR1V_SpheroidVolume(Radius,BetaVar) * (Bracket * sin((Dv-1)*atan(Qvec*Ksi)) / ((Dv-1)*Qvec*Ksi*(1+(Qvec*Ksi)^2)^((Dv-1)/2)) + (1-Eta)^2 )* IR1V_CalculateFSquared(which,Qvec)
     1899                        tempFractFitIntensity = Phi * Contrast* 1e-4 * IR1V_SpheroidVolume(Radius,BetaVar) * (Bracket * sin((Dv-1)*atan(Qvec*Ksi)) / ((Dv-1)*Qvec*Ksi*(1+(Qvec*Ksi)^2)^((Dv-1)/2)) + (1-Eta)^2 )* IR1V_CalculateFSquared(Radius,Qvec)
    18891900                else
    1890                         tempFractFitIntensity = Phi * Contrast* 1e-4 * IR1V_SpheroidVolume(Radius,BetaVar) * (Bracket * sin((Dv-1)*atan(Qvec*Ksi)) / ((Dv-1)*Qvec*Ksi*(1+(Qvec*Ksi)^2)^((Dv-1)/2)) + (1-Eta)^2 )* IR1V_SphereFFSquared(which,Qvec)
     1901                        tempFractFitIntensity = Phi * Contrast* 1e-4 * IR1V_SpheroidVolume(Radius,BetaVar) * (Bracket * sin((Dv-1)*atan(Qvec*Ksi)) / ((Dv-1)*Qvec*Ksi*(1+(Qvec*Ksi)^2)^((Dv-1)/2)) + (1-Eta)^2 )* IR1V_SphereFFSquared(Radius,Qvec)
    18911902                endif
    18921903        endif
     
    19031914///******************************************************************************************
    19041915
    1905 Function IR1V_SphereFFSquared(which, Qvalue)
    1906         variable Qvalue, which                                                                          //does the math for Sphere Form factor function
    1907 
    1908         NVAR Radius=$("MassFr"+num2str(which)+"_Radius")
     1916Function IR1V_SphereFFSquared(Radius, Qvalue)
     1917        variable Qvalue, Radius                                                                         //does the math for Sphere Form factor function
    19091918
    19101919        variable QR=Qvalue*radius
     
    19191928///******************************************************************************************
    19201929
    1921 Function IR1V_UnifiedSphereFFSquared(which, Qvalue)
    1922         variable Qvalue, which                                                                          //does the math for Unified fit Sphere Form factor function
    1923 
    1924         NVAR Radius=$("MassFr"+num2str(which)+"_Radius")
     1930Function IR1V_UnifiedSphereFFSquared(radius, Qvalue, PDI)
     1931        variable Qvalue, radius, PDI                                                                            //does the math for Unified fit Sphere Form factor function
    19251932
    19261933   Variable G1=1, P1=4, Rg1=sqrt(3/5)*radius
    1927    variable B1=1.62*G1/Rg1^4
     1934   variable B1=PDI*1.62*G1/Rg1^4
    19281935   variable QstarVector=qvalue/(erf(qvalue*Rg1/sqrt(6)))^3
    19291936   variable result =G1*exp(-qvalue^2*Rg1^2/3)+(B1/QstarVector^P1)
     
    22492256        ListOfVariables+="MassFr2_DvMin;MassFr2_DvMax;MassFr2_DvStep;MassFr2_KsiMin;MassFr2_KsiMax;MassFr2_KsiStep;MassFr2_FitMin;MassFr2_FitMax;"
    22502257
    2251         ListOfVariables+="MassFr1_UseUFFormFactor;MassFr2_UseUFFormFactor;"
     2258        ListOfVariables+="MassFr1_UseUFFormFactor;MassFr2_UseUFFormFactor;MassFr1_UFPDIIndex;MassFr2_UFPDIIndex;"
    22522259       
    22532260        ListOfVariables+="SurfFr1_Surface;SurfFr1_Ksi;SurfFr1_DS;SurfFr1_Contrast;"
     
    24452452       
    24462453        ListOfVariables="MassFr1_IntgNumPnts;MassFr2_IntgNumPnts;"
    2447        
    24482454        For(i=0;i<itemsInList(ListOfVariables);i+=1)
    24492455                NVAR/Z testVar=$(StringFromList(i,ListOfVariables))
    24502456                if (testVar==0)
    24512457                        testVar=500
     2458                endif
     2459        endfor
     2460
     2461        ListOfVariables="MassFr1_UFPDIIndex;MassFr2_UFPDIIndex;"
     2462        For(i=0;i<itemsInList(ListOfVariables);i+=1)
     2463                NVAR/Z testVar=$(StringFromList(i,ListOfVariables))
     2464                if (testVar==0)
     2465                        testVar=3
    24522466                endif
    24532467        endfor
  • trunk/User Procedures/Irena/IR1_Main.ipf

    r857 r858  
    310310        NewPath /O/Q TmpPathToIgorProcs  , path
    311311        variable version = IN2G_FindVersionOfSingleFile(file,"TmpPathToIgorProcs")
     312        KillPath /Z TmpPathToIgorProcs
    312313        print "*** >>>  Irena version: "+num2str(version)+", compiled on "+date()+"  "+time()
    313314       
  • trunk/User Procedures/Irena/IR3_MultiDataPlot.ipf

    r857 r858  
    11#pragma rtGlobals=3             // Use modern global access method and strict wave access.
    2 #pragma version=1.1
    3 constant IR3LversionNumber = 1                  //Data merging panel version number
     2#pragma version=1
     3constant IR3LversionNumber = 1                  //MultiDataPloting tool version number.
    44
    55//*************************************************************************\
     
    99//*************************************************************************/
    1010
    11 //1.1 combined this ipf with "Simple fits models"
    12 //1.0 Simple Fits tool first test version
     11//1.0 New ploting tool to make plotting various data easy for multiple data sets. 
    1312
    1413
     
    2423        if(V_Flag)
    2524                DoWindow/F IR3L_MultiSaPlotFitPanel
    26                 //DoWindow/K IR3L_MultiSaPlotFitPanel
    27                 //Execute("IR3L_MultiSaPlotFitPanel()")
    2825        else
    2926                IR3L_InitMultiSaPlotFit()
     
    3128//              setWIndow IR3L_MultiSaPlotFitPanel, hook(CursorMoved)=IR3D_PanelHookFunction
    3229        endif
    33 //      UpdatePanelVersionNumber("IR3D_DataMergePanel", IR3DversionNumber)
    34 //      IR3D_UpdateListOfAvailFiles(1)
    35 //      IR3D_UpdateListOfAvailFiles(2)
     30//      UpdatePanelVersionNumber("IR3L_MultiSaPlotFitPanel", IR3LversionNumber)
     31        IR3L_UpdateListOfAvailFiles()
    3632//      IR3D_RebuildListboxTables()
    3733end
     
    4339Function IR3L_MultiSaPlotFitPanelFnct()
    4440        PauseUpdate; Silent 1           // building window...
    45         NewPanel /K=1 /W=(2.25,43.25,600,800) as "Simple Fits"
     41        NewPanel /K=1 /W=(2.25,43.25,600,800) as "MultiSample Ploting tool"
    4642        DoWIndow/C IR3L_MultiSaPlotFitPanel
    4743        TitleBox MainTitle title="Multi Sample plots",pos={200,2},frame=0,fstyle=3, fixedSize=1,font= "Times New Roman", size={360,30},fSize=22,fColor=(0,0,52224)
     
    8076        ListBox DataFolderSelection,proc=IR3L_LinFitsListBoxProc
    8177
     78       
     79        //graph controls
     80        SetVariable GraphUserTitle,pos={260,90},size={330,20}, proc=IR3L_SetVarProc,title="Graph title: "
     81        Setvariable GraphUserTitle,fStyle=2, variable=root:Packages:Irena:MultiSaPlotFit:GraphUserTitle
     82
     83        SVAR GraphWindowName=root:Packages:Irena:MultiSaPlotFit:GraphWindowName
     84        PopupMenu SelectGraphWindows,pos={280,115},size={300,20},proc=IR3L_PopMenuProc, title="Select Graph",help={"Select one of controllable graphs"}
     85        PopupMenu SelectGraphWindows,value=#"WinList(\"MultiSamplePlot_*\", \";\", \"WIN:1\" )",mode=1, popvalue=GraphWindowName
     86       
     87        SetVariable GraphWindowName,pos={280,140},size={300,20}, proc=IR3L_SetVarProc,title="Graph Window name: ", noedit=1, valueColor=(65535,0,0)
     88        Setvariable GraphWindowName,fStyle=2, variable=root:Packages:Irena:MultiSaPlotFit:GraphWindowName, disable=0, frame=0
    8289
    8390        //Plotting controls...
     
    164171        ListOfStrings+="SimpleModel;ListOfSimpleModels;"
    165172        ListOfStrings+="DataSubTypeUSAXSList;DataSubTypeResultsList;DataSubType;"
    166         ListOfStrings+="XAxisLegend;YAxislegend;"
     173        ListOfStrings+="GraphUserTitle;GraphWindowName;XAxisLegend;YAxislegend;"
     174        ListOfStrings+="QvecLookupUSAXS;ErrorLookupUSAXS;dQLookupUSAXS;"
    167175
    168176        ListOfVariables="UseIndra2Data1;UseQRSdata1;"
     
    211219        endif
    212220        SVAR DataSubTypeUSAXSList
    213         DataSubTypeUSAXSList="DSM_Int;SMR_Int;R_Int;BL_R_Int;USAXS_PD;Monitor;"
     221        DataSubTypeUSAXSList="DSM_Int;SMR_Int;R_Int;Blank_R_Int;USAXS_PD;Monitor;"
    214222        SVAR DataSubTypeResultsList
    215223        DataSubTypeResultsList="Size"
     
    217225        DataSubType="DSM_Int"
    218226
     227        SVAR QvecLookupUSAXS
     228        QvecLookupUSAXS="R_Int=R_Qvec;Blank_R_Int=Blank_R_Qvec;SMR_Int=SMR_Qvec;DSM_Int=DSM_Qvec;USAXS_PD=Ar_encoder;Monitor=Ar_encoder;"
     229        SVAR ErrorLookupUSAXS
     230        ErrorLookupUSAXS="R_Int=R_Error;Blank_R_Int=Blank_R_error;SMR_Int=SMR_Error;DSM_Int=DSM_error;"
     231        SVAR dQLookupUSAXS
     232        dQLookupUSAXS="SMR_Int=SMR_dQ;DSM_Int=DSM_dQ;"
     233       
     234        SVAR GraphUserTitle
     235        SVAR GraphWindowName
     236        GraphUserTitle=""
     237        GraphWindowName=stringFromList(0,WinList("MultiSamplePlot_*", ";", "WIN:1" ))
     238        if(strlen(GraphWindowName)<2)
     239                GraphWindowName="---"
     240        endif
    219241
    220242//      NVAR OverwriteExistingData
     
    249271                        NVAR UseQRSData =  root:Packages:Irena:MultiSaPlotFit:UseQRSData
    250272                        SVAR DataStartFolder = root:Packages:Irena:MultiSaPlotFit:DataStartFolder
     273                        SVAR GraphWindowName = root:Packages:Irena:MultiSaPlotFit:GraphWindowName
    251274                        if(stringmatch(cba.ctrlName,"UseIndra2Data"))
    252275                                if(checked)
     
    268291                        if(stringmatch(cba.ctrlName,"LogXAxis"))
    269292                                if(checked)
    270                                         ModifyGraph/W=MultiSamplePlotGraph log(bottom)=1
     293                                        ModifyGraph/W=$(GraphWindowName) log(bottom)=1
    271294                                else
    272                                         ModifyGraph/W=MultiSamplePlotGraph log(bottom)=0
     295                                        ModifyGraph/W=$(GraphWindowName) log(bottom)=0
    273296                                endif
    274297                        endif
    275298                        if(stringmatch(cba.ctrlName,"LogYAxis"))
    276299                                if(checked)
    277                                         ModifyGraph/W=MultiSamplePlotGraph log(left)=1
     300                                        ModifyGraph/W=$(GraphWindowName) log(left)=1
    278301                                else
    279                                         ModifyGraph/W=MultiSamplePlotGraph log(left)=0
     302                                        ModifyGraph/W=$(GraphWindowName) log(left)=0
    280303                                endif
    281304                        endif
    282305                        if(stringmatch(cba.ctrlName,"Colorize"))
    283306                                if(checked)
    284                                         DoWIndow/F MultiSamplePlotGraph
     307                                        DoWIndow/F $(GraphWindowName)
    285308                                        IN2G_ColorTopGrphRainbow()
    286309                                else
    287                 ModifyGraph/W=MultiSamplePlotGraph rgb=(0,0,0)
     310                ModifyGraph/W=$(GraphWindowName) rgb=(0,0,0)
    288311                                endif
    289312                        endif
    290313                        if(stringmatch(cba.ctrlName,"AddLegend"))
    291314                                if(checked)
    292                                         DoWIndow/F MultiSamplePlotGraph
     315                                        DoWIndow/F $(GraphWindowName)
    293316                                        //IN2G_LegendTopGrphFldr(fontsize, numberofItems, UseFolderName, UseWavename)
    294317                                        IN2G_LegendTopGrphFldr(str2num(IN2G_LkUpDfltVar("defaultFontSize")), 20, 1, 1)
    295318                                else
    296                                         Legend/K/N=text0/W=MultiSamplePlotGraph
     319                                        Legend/K/N=text0/W=$(GraphWindowName)
    297320                                endif
    298321                        endif
     
    321344        SVAR StartFolderName=root:Packages:Irena:MultiSaPlotFit:DataStartFolder
    322345        SVAR DataMatchString= root:Packages:Irena:MultiSaPlotFit:DataMatchString
     346        SVAR DataSubType = root:Packages:Irena:MultiSaPlotFit:DataSubType
    323347        string LStartFolder, FolderContent
    324348        if(stringmatch(StartFolderName,"---"))
     
    327351                LStartFolder = StartFolderName
    328352        endif
    329         string CurrentFolders=IR3D_GenStringOfFolders(LStartFolder,UseIndra2Data, UseQRSData, 2,0,DataMatchString)
     353        //build list of availabe folders here...
     354        string CurrentFolders
     355        if(UseIndra2Data && !(StringMatch(DataSubType, "DSM_Int")||StringMatch(DataSubType, "SMR_Int")))                //special folders...
     356                CurrentFolders=IN2G_FindFolderWithWaveTypes(LStartFolder, 10, DataSubType, 1)                                                   //this does not clean up by matchstring...
     357                if(strlen(DataMatchString)>0)                                                                                                                                                                                   //match string selections
     358                        CurrentFolders = GrepList(CurrentFolders, DataMatchString)
     359                endif
     360        else
     361                CurrentFolders=IR3D_GenStringOfFolders(LStartFolder,UseIndra2Data, UseQRSData, 2,0,DataMatchString)
     362        endif
     363
     364       
    330365
    331366        Wave/T ListOfAvailableData=root:Packages:Irena:MultiSaPlotFit:ListOfAvailableData
     
    531566                IR3L_UpdateListOfAvailFiles()
    532567        endif
    533         if(stringmatch(ctrlName,"SimpleModel"))
     568        if(stringmatch(ctrlName,"SelectGraphWindows"))
    534569                //do something here
    535                 SVAR SimpleModel = root:Packages:Irena:MultiSaPlotFit:SimpleModel
    536                 SimpleModel = popStr
    537                 IR3L_CreateLinearizedData()
    538                 IR3L_AppendDataToGraphModel()
     570                SVAR GraphWindowName=root:Packages:Irena:MultiSaPlotFit:GraphWindowName
     571                GraphWindowName = popStr
     572                DoWIndow/F $(GraphWindowName)
    539573        endif
    540574
     
    543577                SVAR DataSubType = root:Packages:Irena:MultiSaPlotFit:DataSubType
    544578                DataSubType = popStr
     579                IR3L_UpdateListOfAvailFiles()
    545580        endif
    546581end
     
    558593                case 1: // mouse up
    559594                case 2: // Enter key
    560                         if(stringmatch(sva.ctrlName,"FolderNameMatchString1"))
    561                                 IR3D_UpdateListOfAvailFiles(1)
    562                                 IR3D_RebuildListboxTables()
    563 //                              IR2S_SortListOfAvailableFldrs()
     595                        if(stringmatch(sva.ctrlName,"FolderNameMatchString"))
     596                                IR3L_UpdateListOfAvailFiles()
     597                                //IR3D_RebuildListboxTables()
    564598                        endif
    565                         NVAR DataQstart=root:Packages:Irena:MultiSaPlotFit:DataQstart
    566                         NVAR DataQEnd=root:Packages:Irena:MultiSaPlotFit:DataQEnd
    567599                       
    568                         if(stringmatch(sva.ctrlName,"DataQEnd"))
    569                                 WAVE OriginalDataQWave = root:Packages:Irena:MultiSaPlotFit:OriginalDataQWave
    570                                 tempP = BinarySearch(OriginalDataQWave, DataQEnd )
    571                                 if(tempP<1)
    572                                         print "Wrong Q value set, Data Q max must be at most 1 point before the end of Data"
    573                                         tempP = numpnts(OriginalDataQWave)-2
    574                                         DataQEnd = OriginalDataQWave[tempP]
    575                                 endif
    576         //                      cursor /W=IR3D_DataMergePanel#DataDisplay B, OriginalData1IntWave, tempP
    577                         endif
    578                         if(stringmatch(sva.ctrlName,"DataQstart"))
    579                                 WAVE OriginalDataQWave = root:Packages:Irena:MultiSaPlotFit:OriginalDataQWave
    580                                 tempP = BinarySearch(OriginalDataQWave, DataQstart )
    581                                 if(tempP<1)
    582                                         print "Wrong Q value set, Data Q min must be at least 1 point from the start of Data"
    583                                         tempP = 1
    584                                         DataQstart = OriginalDataQWave[tempP]
    585                                 endif
    586         //                      cursor /W=IR3D_DataMergePanel#DataDisplay A, OriginalData2IntWave, tempP
    587                         endif
     600//                      if(stringmatch(sva.ctrlName,"DataQEnd"))
     601//                              WAVE OriginalDataQWave = root:Packages:Irena:MultiSaPlotFit:OriginalDataQWave
     602//                              tempP = BinarySearch(OriginalDataQWave, DataQEnd )
     603//                              if(tempP<1)
     604//                                      print "Wrong Q value set, Data Q max must be at most 1 point before the end of Data"
     605//                                      tempP = numpnts(OriginalDataQWave)-2
     606//                                      DataQEnd = OriginalDataQWave[tempP]
     607//                              endif
     608//      //                      cursor /W=IR3D_DataMergePanel#DataDisplay B, OriginalData1IntWave, tempP
     609//                      endif
     610//                      if(stringmatch(sva.ctrlName,"DataQstart"))
     611//                              WAVE OriginalDataQWave = root:Packages:Irena:MultiSaPlotFit:OriginalDataQWave
     612//                              tempP = BinarySearch(OriginalDataQWave, DataQstart )
     613//                              if(tempP<1)
     614//                                      print "Wrong Q value set, Data Q min must be at least 1 point from the start of Data"
     615//                                      tempP = 1
     616//                                      DataQstart = OriginalDataQWave[tempP]
     617//                              endif
     618//      //                      cursor /W=IR3D_DataMergePanel#DataDisplay A, OriginalData2IntWave, tempP
     619//                      endif
    588620                        break
    589621
     
    616648                        break
    617649                case 3: // double click
    618 //                      NVAR ProcessTest=root:Packages:Irena:SASDataMerging:ProcessTest
    619 //                      NVAR ProcessManually=root:Packages:Irena:SASDataMerging:ProcessManually
    620 //                      NVAR AutosaveAfterProcessing = root:Packages:Irena:SASDataMerging:AutosaveAfterProcessing
    621 //                      if(col==0)
    622 //                              isData1or2=1
    623 //                      else
    624 //                              isData1or2=2
    625 //                      endif
    626650                        FoldernameStr=listWave[row]
    627                         IR3L_AppendData(FoldernameStr,"MultiSamplePlotGraph")
    628 //                      if(col==1&&!ProcessTest)                //this is second column of data
    629 //                              IR3D_MergeProcessData()
    630 //                      endif
    631 //                      if(col==1&&AutosaveAfterProcessing&&ProcessManually)
    632 //                              IR3D_SaveData()
    633 //                      endif
     651                        IR3L_AppendData(FoldernameStr)
    634652                        break
    635653                case 4: // cell selection
     
    648666//**************************************************************************************
    649667//**************************************************************************************
    650 Function IR3L_AppendData(FolderNameStr, GraphNameString)
    651         string FolderNameStr, GraphNameString
     668Function IR3L_AppendData(FolderNameStr)
     669        string FolderNameStr
    652670       
    653671        string oldDf=GetDataFolder(1)
     
    672690                SVAR QWavename = root:Packages:Irena:MultiSaPlotFit:QWavename
    673691                SVAR ErrorWaveName = root:Packages:Irena:MultiSaPlotFit:ErrorWaveName
     692                //graph control variable
     693                SVAR GraphUserTitle=root:Packages:Irena:MultiSaPlotFit:GraphUserTitle
     694                SVAR GraphWindowName=root:Packages:Irena:MultiSaPlotFit:GraphWindowName
     695
    674696                UseResults = 0
    675697                UseUserDefinedData = 0
     
    690712                elseif(UseIndra2Data)
    691713                        string DataSubTypeInt = DataSubType
    692                         string QvecLookup="R_Int=R_Qvec;BL_R_Int=BL_R_Qvec;SMR_Int=SMR_Qvec;DSM_Int=DSM_Qvec;USAXS_PD=Ar_encoder;Monitor=Ar_encoder;"
    693                         string ErrorLookup="R_Int=R_Error;BL_R_Int=BL_R_error;SMR_Int=SMR_Error;DSM_Int=DSM_error;"
    694                         string dQLookup="SMR_Int=SMR_dQ;DSM_Int=DSM_dQ;"
     714                        SVAR QvecLookup = root:Packages:Irena:MultiSaPlotFit:QvecLookupUSAXS
     715                        SVAR ErrorLookup = root:Packages:Irena:MultiSaPlotFit:ErrorLookupUSAXS
     716                        SVAR dQLookup = root:Packages:Irena:MultiSaPlotFit:dQLookupUSAXS
     717                        //string QvecLookup="R_Int=R_Qvec;BL_R_Int=BL_R_Qvec;SMR_Int=SMR_Qvec;DSM_Int=DSM_Qvec;USAXS_PD=Ar_encoder;Monitor=Ar_encoder;"
     718                        //string ErrorLookup="R_Int=R_Error;BL_R_Int=BL_R_error;SMR_Int=SMR_Error;DSM_Int=DSM_error;"
     719                        // string dQLookup="SMR_Int=SMR_dQ;DSM_Int=DSM_dQ;"
    695720                        string DataSubTypeQvec = StringByKey(DataSubTypeInt, QvecLookup,"=",";")
    696721                        string DataSubTypeError = StringByKey(DataSubTypeInt, ErrorLookup,"=",";")
     
    709734                        return 0
    710735                endif
    711                
    712                 DoWIndow  $(GraphNameString)
     736                //create graph if needed.
     737                DoWIndow  $(GraphWindowName)
    713738                if(V_Flag==0)
    714                                         IR3L_CreateNewGraph(GraphNameString)
    715                 endif
    716                 CheckDisplayed /W=$(GraphNameString) SourceIntWv
     739                        print "Graph does not exist, nothing to append"
     740                endif
     741                CheckDisplayed /W=$(GraphWindowName) SourceIntWv
    717742                if(V_Flag==0)
    718                         AppendToGraph /W=$(GraphNameString) SourceIntWv vs  SourceQWv
    719                         print "Appended : "+DataFolderName+IntensityWaveName +" topp the graph : "+GraphNameString
     743                        AppendToGraph /W=$(GraphWindowName) SourceIntWv vs  SourceQWv
     744                        print "Appended : "+DataFolderName+IntensityWaveName +" top the graph : "+GraphWindowName
    720745                else
    721                         print "Could not append "+DataFolderName+IntensityWaveName+" to the graph : "+GraphNameString+" this wave is already displayed int eh graph"
     746                        print "Could not append "+DataFolderName+IntensityWaveName+" to the graph : "+GraphWindowName+" this wave is already displayed in thE graph"
    722747                endif
    723748                //append data to graph
     
    757782        variable i
    758783        string FoldernameStr
     784        SVAR GraphUserTitle=root:Packages:Irena:MultiSaPlotFit:GraphUserTitle
     785        SVAR GraphWindowName=root:Packages:Irena:MultiSaPlotFit:GraphWindowName
    759786        switch( ba.eventCode )
    760787                case 2: // mouse up
    761788                        // click code here
    762789                        if(stringmatch(ba.ctrlname,"NewGraphPlotData"))
     790                                //set some meaningful values for these data first
     791                                IR3L_SetPlotLegends()                                                           
    763792                                //Create new graph and append data to graph
    764                                 //use MultiSamplePlotGraph for now... To be changed.
    765                                 KillWindow/Z MultiSamplePlotGraph
    766                                 IR3L_CreateNewGraph("MultiSamplePlotGraph")
     793                                //use $(GraphWindowName) for now... To be changed.
     794                                //KillWindow/Z $(GraphWindowName)
     795                                IR3L_CreateNewGraph()
    767796                                //now, append the data to it...
    768797                                Wave/T ListOfAvailableData = root:Packages:Irena:MultiSaPlotFit:ListOfAvailableData
     
    770799                                for(i=0;i<numpnts(ListOfAvailableData);i+=1)
    771800                                        if(SelectionOfAvailableData[i]>0.5)
    772                                                 IR3L_AppendData(ListOfAvailableData[i],"MultiSamplePlotGraph")
     801                                                IR3L_AppendData(ListOfAvailableData[i])
    773802                                        endif
    774                                 endfor                                         
    775                                 IR3L_ApplyPresetFormating("MultiSamplePlotGraph")
     803                                endfor
     804                                DoUpdate
     805                                IR3L_ApplyPresetFormating(GraphWindowName)
    776806                        endif
    777807
     
    779809                        if(stringmatch(ba.ctrlname,"AppendPlotData"))
    780810                                //append data to graph
    781                                 DoWIndow MultiSamplePlotGraph
     811                                DoWIndow $(GraphWindowName)
    782812                                if(V_Flag==0)
    783                                 IR3L_CreateNewGraph("MultiSamplePlotGraph")
     813                                        //IR3L_CreateNewGraph()
     814                                        print "could not find graph we can control"
    784815                                endif
    785816                                Wave/T ListOfAvailableData = root:Packages:Irena:MultiSaPlotFit:ListOfAvailableData
     
    787818                                for(i=0;i<numpnts(ListOfAvailableData);i+=1)    // Initialize variables;continue test
    788819                                        if(SelectionOfAvailableData[i]>0.5)
    789                                                 IR3L_AppendData(ListOfAvailableData[i],"MultiSamplePlotGraph")
     820                                                IR3L_AppendData(ListOfAvailableData[i])
    790821                                        endif
    791822                                endfor                                          // Execute body code until continue test is FALSE
     
    794825                        if(stringmatch(ba.ctrlname,"ApplyPresetFormating"))
    795826                                //append data to graph
    796                                 DoWIndow MultiSamplePlotGraph
     827                                DoWIndow $(GraphWindowName)
    797828                                if(V_Flag)
    798                                         IR3L_ApplyPresetFormating("MultiSamplePlotGraph")
     829                                        IR3L_ApplyPresetFormating(GraphWindowName)
    799830                                endif
    800831                        endif
     
    809840//**********************************************************************************************************
    810841//**********************************************************************************************************
    811 Function IR3L_CreateNewGraph(GraphNameString)
    812                 string GraphNameString
    813 
    814                 DoWIndow $(GraphNameString)
    815                 if(V_Flag==0)
    816                                 Display /K=1/W=(1297,231,2097,841) as "Multi Sample Plot Graph"
    817                                 DoWindow/C $(GraphNameString)
    818                 endif
    819 
    820 
     842Function IR3L_CreateNewGraph()
     843
     844                SVAR GraphWindowName=root:Packages:Irena:MultiSaPlotFit:GraphWindowName
     845                SVAR GraphUserTitle=root:Packages:Irena:MultiSaPlotFit:GraphUserTitle
     846                //first create a new GraphWindowName, this is new graph...
     847                        //string ExistingGraphNames
     848                string basename="MultiSamplePlot_"
     849                        //ExistingGraphNames = WinList(basename, separatorStr, optionsStr )
     850                GraphWindowName = UniqueName(basename, 6, 0)
     851                Display /K=1/W=(1297,231,2097,841) as GraphUserTitle
     852                DoWindow/C $(GraphWindowName)
    821853end
    822854//**********************************************************************************************************
     
    833865                NVAR Colorize=root:Packages:Irena:MultiSaPlotFit:Colorize
    834866                NVAR AddLegend=root:Packages:Irena:MultiSaPlotFit:AddLegend
    835                                 if(LogXAxis)
    836                                         ModifyGraph/W= $(GraphNameString) log(bottom)=1
    837                                 else
    838                                         ModifyGraph/W= $(GraphNameString) log(bottom)=0
    839                                 endif
    840 
    841                                 if(LogYAxis)
    842                                         ModifyGraph/W= $(GraphNameString) log(left)=1
    843                                 else
    844                                         ModifyGraph/W= $(GraphNameString) log(left)=0
    845                                 endif
    846 
    847                                 if(Colorize)
    848                                         DoWIndow/F  $(GraphNameString)
    849                                         IN2G_ColorTopGrphRainbow()
    850                                 else
    851                 ModifyGraph/W= $(GraphNameString) rgb=(0,0,0)
    852                                 endif
    853 
    854                                 if(AddLegend)
    855                                         DoWIndow/F  $(GraphNameString)
    856                                         //IN2G_LegendTopGrphFldr(fontsize, numberofItems, UseFolderName, UseWavename)
    857                                         IN2G_LegendTopGrphFldr(str2num(IN2G_LkUpDfltVar("defaultFontSize")), 20, 1, 1)
    858                                 else
    859                                         Legend/K/N=text0/W= $(GraphNameString)
    860                                 endif
    861         endif
    862 end
    863 
    864 //**********************************************************************************************************
    865 //**********************************************************************************************************
    866 //**********************************************************************************************************
    867 
    868 Function IR3L_AppendDataToGraphModel()
     867                SVAR XAxisLegend=root:Packages:Irena:MultiSaPlotFit:XAxisLegend
     868                SVAR YAxislegend=root:Packages:Irena:MultiSaPlotFit:YAxislegend
     869                SVAR GraphUserTitle=root:Packages:Irena:MultiSaPlotFit:GraphUserTitle
     870                ModifyGraph mirror=1
     871                if(LogXAxis)
     872                        ModifyGraph/W= $(GraphNameString)/Z log(bottom)=1
     873                else
     874                        ModifyGraph/W= $(GraphNameString)/Z log(bottom)=0
     875                endif
     876                if(LogYAxis)
     877                        ModifyGraph/W= $(GraphNameString)/Z log(left)=1
     878                else
     879                        ModifyGraph/W= $(GraphNameString)/Z log(left)=0
     880                endif
     881                if(strlen(GraphUserTitle)>0)
     882                        DoWindow/T $(GraphNameString),GraphUserTitle   
     883                endif
     884                if(strlen(XAxisLegend)>0)
     885                        Label/Z/W=$(GraphNameString) bottom XAxisLegend
     886                endif
     887                if(strlen(YAxisLegend)>0)
     888                        Label/Z/W=$(GraphNameString) left YAxisLegend
     889                endif
     890                       
     891                if(Colorize)
     892                        DoWIndow/F  $(GraphNameString)
     893                        IN2G_ColorTopGrphRainbow()
     894                else
     895                        ModifyGraph/Z/W=$(GraphNameString) rgb=(0,0,0)
     896                endif
     897
     898                if(AddLegend)
     899                        DoWIndow/F  $(GraphNameString)
     900                        //IN2G_LegendTopGrphFldr(fontsize, numberofItems, UseFolderName, UseWavename)
     901                        IN2G_LegendTopGrphFldr(str2num(IN2G_LkUpDfltVar("defaultFontSize")), 20, 1, 1)
     902                else
     903                        Legend/K/N=text0/W= $(GraphNameString)
     904                endif
     905        endif
     906end
     907
     908//**********************************************************************************************************
     909//**********************************************************************************************************
     910//**********************************************************************************************************
     911
     912//Function IR3L_AppendDataToGraphModel()
     913//     
     914//      DoWindow IR3L_MultiSaPlotFitPanel
     915//      if(!V_Flag)
     916//              return 0
     917//      endif
     918//      variable WhichLegend=0
     919//      variable startQp, endQp, tmpStQ
     920//
     921////    Duplicate/O OriginalDataIntWave, LinModelDataIntWave, ModelNormalizedResidual
     922////    Duplicate/O OriginalDataQWave, LinModelDataQWave, ModelNormResXWave
     923////    Duplicate/O OriginalDataErrorWave, LinModelDataEWave
     924//
     925//      Wave LinModelDataIntWave=root:Packages:Irena:MultiSaPlotFit:LinModelDataIntWave
     926//      Wave LinModelDataQWave=root:Packages:Irena:MultiSaPlotFit:LinModelDataQWave
     927//      Wave LinModelDataEWave=root:Packages:Irena:MultiSaPlotFit:LinModelDataEWave
     928//      CheckDisplayed /W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay LinModelDataIntWave
     929//      if(!V_flag)
     930//              AppendToGraph /W=IR3L_MultiSaPlotFitPanel#LinearizedDataDisplay  LinModelDataIntWave  vs LinModelDataQWave
     931//              ModifyGraph /W=IR3L_MultiSaPlotFitPanel#LinearizedDataDisplay log=1, mirror(bottom)=1
     932//              Label /W=IR3L_MultiSaPlotFitPanel#LinearizedDataDisplay left "\\Z"+IN2G_LkUpDfltVar("AxisLabelSize")+"Intensity"
     933//              Label /W=IR3L_MultiSaPlotFitPanel#LinearizedDataDisplay bottom "\\Z"+IN2G_LkUpDfltVar("AxisLabelSize")+"Q [A\\S-1\\M]"
     934//              ErrorBars /W=IR3L_MultiSaPlotFitPanel#LinearizedDataDisplay LinModelDataIntWave Y,wave=(LinModelDataEWave,LinModelDataEWave)           
     935//      endif
     936////    NVAR DataQEnd = root:Packages:Irena:MultiSaPlotFit:DataQEnd
     937////    if(DataQEnd>0)                  //old Q max already set.
     938////            endQp = BinarySearch(OriginalDataQWave, DataQEnd)
     939////    endif
     940////    if(endQp<1)     //Qmax not set or not found. Set to last point-1 on that wave.
     941////            DataQEnd = OriginalDataQWave[numpnts(OriginalDataQWave)-2]
     942////            endQp = numpnts(OriginalDataQWave)-2
     943////    endif
     944////    cursor /W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay B, OriginalDataIntWave, endQp
     945//      DoUpdate
     946//
     947//      Wave/Z ModelNormalizedResidual=root:Packages:Irena:MultiSaPlotFit:ModelNormalizedResidual
     948//      Wave/Z ModelNormResXWave=root:Packages:Irena:MultiSaPlotFit:ModelNormResXWave
     949//      CheckDisplayed /W=IR3L_MultiSaPlotFitPanel#ResidualDataDisplay ModelNormalizedResidual  //, ResultIntensity
     950//      if(!V_flag)
     951//              AppendToGraph /W=IR3L_MultiSaPlotFitPanel#ResidualDataDisplay  ModelNormalizedResidual  vs ModelNormResXWave
     952//              ModifyGraph /W=IR3L_MultiSaPlotFitPanel#LinearizedDataDisplay log=1, mirror(bottom)=1
     953//              Label /W=IR3L_MultiSaPlotFitPanel#LinearizedDataDisplay left "\\Z"+IN2G_LkUpDfltVar("AxisLabelSize")+"Normalized res."
     954//              Label /W=IR3L_MultiSaPlotFitPanel#LinearizedDataDisplay bottom "\\Z"+IN2G_LkUpDfltVar("AxisLabelSize")+"Q [A\\S-1\\M]"
     955//      endif
     956//
     957//
     958//
     959//      string Shortname1, ShortName2
     960//     
     961//      switch(V_Flag)  // numeric switch
     962//              case 0:         // execute if case matches expression
     963//                      Legend/W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay /N=text0/K
     964//                      break                                           // exit from switch
     965////            case 1:         // execute if case matches expression
     966////                    SVAR DataFolderName=root:Packages:Irena:MultiSaPlotFit:DataFolderName
     967////                    Shortname1 = StringFromList(ItemsInList(DataFolderName1, ":")-1, DataFolderName1  ,":")
     968////                    Legend/W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay /C/N=text0/J/A=LB "\\s(OriginalData1IntWave) "+Shortname1
     969////                    break
     970////            case 2:
     971////                    SVAR DataFolderName=root:Packages:Irena:MultiSaPlotFit:DataFolderName
     972////                    Shortname2 = StringFromList(ItemsInList(DataFolderName2, ":")-1, DataFolderName2  ,":")
     973////                    Legend/W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay /C/N=text0/J/A=LB "\\s(OriginalData2IntWave) " + Shortname2         
     974////                    break
     975////            case 3:
     976////                    SVAR DataFolderName=root:Packages:Irena:MultiSaPlotFit:DataFolderName
     977////                    Shortname1 = StringFromList(ItemsInList(DataFolderName1, ":")-1, DataFolderName1  ,":")
     978////                    Legend/W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay /C/N=text0/J/A=LB "\\s(OriginalData1IntWave) "+Shortname1+"\r\\s(OriginalData2IntWave) "+Shortname2
     979////                    break
     980////            case 7:
     981////                    SVAR DataFolderName=root:Packages:Irena:MultiSaPlotFit:DataFolderName
     982////                    Shortname1 = StringFromList(ItemsInList(DataFolderName1, ":")-1, DataFolderName1  ,":")
     983////                    Legend/W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay /C/N=text0/J/A=LB "\\s(OriginalData1IntWave) "+Shortname1+"\r\\s(OriginalData2IntWave) "+Shortname2+"\r\\s(ResultIntensity) Merged Data"
     984//                      break
     985//      endswitch
     986//
     987//     
     988//end
     989//**********************************************************************************************************
     990//**********************************************************************************************************
     991//**********************************************************************************************************
     992
     993Function IR3L_SetPlotLegends()                          //this function will set axis legends and otehr stuff based on waves
     994                //applies only when creating new graph...
     995
     996                NVAR UseIndra2Data=root:Packages:Irena:MultiSaPlotFit:UseIndra2Data
     997                NVAR UseQRSdata=root:Packages:Irena:MultiSaPlotFit:UseQRSdata
     998                NVAR  UseResults=  root:Packages:Irena:MultiSaPlotFit:UseResults
     999                NVAR  UseUserDefinedData=  root:Packages:Irena:MultiSaPlotFit:UseUserDefinedData
     1000                NVAR  UseModelData = root:Packages:Irena:MultiSaPlotFit:UseModelData
     1001               
     1002                SVAR XAxisLegend=root:Packages:Irena:MultiSaPlotFit:XAxisLegend
     1003                SVAR YAxislegend=root:Packages:Irena:MultiSaPlotFit:YAxislegend
     1004                SVAR GraphUserTitle=root:Packages:Irena:MultiSaPlotFit:GraphUserTitle
     1005                SVAR GraphWindowName=root:Packages:Irena:MultiSaPlotFit:GraphWindowName
     1006                SVAR DataFolderName  = root:Packages:Irena:MultiSaPlotFit:DataFolderName
     1007                SVAR IntensityWaveName = root:Packages:Irena:MultiSaPlotFit:IntensityWaveName
     1008                SVAR QWavename = root:Packages:Irena:MultiSaPlotFit:QWavename
     1009                SVAR ErrorWaveName = root:Packages:Irena:MultiSaPlotFit:ErrorWaveName
     1010                SVAR DataSubType = root:Packages:Irena:MultiSaPlotFit:DataSubType
     1011               
     1012                string yAxisUnits="arbitrary"
     1013                string xAxisUnits
     1014                //now, what can we do about naming this for users....
     1015                if(UseIndra2Data)
     1016                        IntensityWaveName = DataSubType
     1017                        Wave/Z SourceIntWv=$(DataFolderName+IntensityWaveName)
     1018                        if(WaveExists(SourceIntWv))
     1019                                yAxisUnits= StringByKey("Units", note(SourceIntWv),"=",";")
     1020                                //format the units...
     1021                                if(stringmatch(yAxisUnits,"cm2/g"))
     1022                                        yAxisUnits = "cm\S2\Mg\S-1\M"
     1023                                elseif(stringmatch(yAxisUnits,"1/cm"))
     1024                                        yAxisUnits = "cm\S2\M/cm\S3\M"
     1025                                endif
     1026                        endif
     1027                        if(StringMatch(DataSubType, "DSM_Int" ))
     1028                                GraphUserTitle = "USAXS desmeared data"
     1029                                XAxisLegend = "Q [A\S-1\M]"
     1030                                YAxislegend = "Intensity ["+yAxisUnits+"]"
     1031                        elseif(StringMatch(DataSubType, "SMR_Int" ))
     1032                                GraphUserTitle = "USAXS slit smeared data"
     1033                                XAxisLegend = "Q [A\S-1\M]"
     1034                                YAxislegend = "Intensity ["+yAxisUnits+"]"
     1035                        elseif(StringMatch(DataSubType, "Blank_R_int" ))
     1036                                GraphUserTitle = "USAXS Blank R Intensity"
     1037                                XAxisLegend = "Q [A\S-1\M]"
     1038                                YAxislegend = "Intensity"
     1039                        elseif(StringMatch(DataSubType, "R_int" ))
     1040                                GraphUserTitle = "USAXS R Intensity"
     1041                                XAxisLegend = "Q [A\S-1\M]"
     1042                                YAxislegend = "Intensity [normalized, arbitrary]"
     1043                        elseif(StringMatch(DataSubType, "USAXS_PD" ))
     1044                                GraphUserTitle = "USAXS Diode Intensity"
     1045                                XAxisLegend = "AR angle [degrees]"
     1046                                YAxislegend = "Diode Intensity [not normalized, arbitrary counts]"
     1047                        elseif(StringMatch(DataSubType, "Monitor" ))
     1048                                GraphUserTitle = "USAXS I0 Intensity"
     1049                                XAxisLegend = "AR angle [degrees]"
     1050                                YAxislegend = "I0 Intensity [not normalized, counts]"
     1051                        else
     1052                                GraphUserTitle = "USAXS data"
     1053                                XAxisLegend = ""
     1054                                YAxislegend = ""                       
     1055                        endif
     1056                elseif(UseQRSdata)
     1057                                GraphUserTitle = "SAXS/WAXS data"
     1058                                XAxisLegend = "Q [A\S-1\M]"
     1059                                YAxislegend = "Intensity [arb]"
     1060                elseif(UseResults)
     1061               
     1062               
     1063                else
     1064               
     1065                endif
     1066               
     1067       
     1068end
     1069
     1070//**********************************************************************************************************
     1071//**********************************************************************************************************
     1072//**********************************************************************************************************
     1073
     1074
     1075Function IR3L_AppendDataToGraphLogLog()
    8691076       
    8701077        DoWindow IR3L_MultiSaPlotFitPanel
     
    8741081        variable WhichLegend=0
    8751082        variable startQp, endQp, tmpStQ
    876 
    877 //      Duplicate/O OriginalDataIntWave, LinModelDataIntWave, ModelNormalizedResidual
    878 //      Duplicate/O OriginalDataQWave, LinModelDataQWave, ModelNormResXWave
    879 //      Duplicate/O OriginalDataErrorWave, LinModelDataEWave
    880 
    881         Wave LinModelDataIntWave=root:Packages:Irena:MultiSaPlotFit:LinModelDataIntWave
    882         Wave LinModelDataQWave=root:Packages:Irena:MultiSaPlotFit:LinModelDataQWave
    883         Wave LinModelDataEWave=root:Packages:Irena:MultiSaPlotFit:LinModelDataEWave
    884         CheckDisplayed /W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay LinModelDataIntWave
     1083        Wave OriginalDataIntWave=root:Packages:Irena:MultiSaPlotFit:OriginalDataIntWave
     1084        Wave OriginalDataQWave=root:Packages:Irena:MultiSaPlotFit:OriginalDataQWave
     1085        Wave OriginalDataErrorWave=root:Packages:Irena:MultiSaPlotFit:OriginalDataErrorWave
     1086        CheckDisplayed /W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay OriginalDataIntWave
    8851087        if(!V_flag)
    886                 AppendToGraph /W=IR3L_MultiSaPlotFitPanel#LinearizedDataDisplay  LinModelDataIntWave  vs LinModelDataQWave
    887                 ModifyGraph /W=IR3L_MultiSaPlotFitPanel#LinearizedDataDisplay log=1, mirror(bottom)=1
    888                 Label /W=IR3L_MultiSaPlotFitPanel#LinearizedDataDisplay left "\\Z"+IN2G_LkUpDfltVar("AxisLabelSize")+"Intensity"
    889                 Label /W=IR3L_MultiSaPlotFitPanel#LinearizedDataDisplay bottom "\\Z"+IN2G_LkUpDfltVar("AxisLabelSize")+"Q [A\\S-1\\M]"
    890                 ErrorBars /W=IR3L_MultiSaPlotFitPanel#LinearizedDataDisplay LinModelDataIntWave Y,wave=(LinModelDataEWave,LinModelDataEWave)           
    891         endif
    892 //      NVAR DataQEnd = root:Packages:Irena:MultiSaPlotFit:DataQEnd
    893 //      if(DataQEnd>0)                  //old Q max already set.
    894 //              endQp = BinarySearch(OriginalDataQWave, DataQEnd)
    895 //      endif
    896 //      if(endQp<1)     //Qmax not set or not found. Set to last point-1 on that wave.
    897 //              DataQEnd = OriginalDataQWave[numpnts(OriginalDataQWave)-2]
    898 //              endQp = numpnts(OriginalDataQWave)-2
    899 //      endif
    900 //      cursor /W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay B, OriginalDataIntWave, endQp
     1088                AppendToGraph /W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay  OriginalDataIntWave  vs OriginalDataQWave
     1089                ModifyGraph /W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay log=1, mirror(bottom)=1
     1090                Label /W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay left "Intensity 1"
     1091                Label /W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay bottom "Q [A\\S-1\\M]"
     1092                ErrorBars /W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay OriginalDataIntWave Y,wave=(OriginalDataErrorWave,OriginalDataErrorWave)               
     1093        endif
     1094        NVAR DataQEnd = root:Packages:Irena:MultiSaPlotFit:DataQEnd
     1095        if(DataQEnd>0)                  //old Q max already set.
     1096                endQp = BinarySearch(OriginalDataQWave, DataQEnd)
     1097        endif
     1098        if(endQp<1)     //Qmax not set or not found. Set to last point-1 on that wave.
     1099                DataQEnd = OriginalDataQWave[numpnts(OriginalDataQWave)-2]
     1100                endQp = numpnts(OriginalDataQWave)-2
     1101        endif
     1102        cursor /W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay B, OriginalDataIntWave, endQp
    9011103        DoUpdate
    9021104
    903         Wave/Z ModelNormalizedResidual=root:Packages:Irena:MultiSaPlotFit:ModelNormalizedResidual
    904         Wave/Z ModelNormResXWave=root:Packages:Irena:MultiSaPlotFit:ModelNormResXWave
    905         CheckDisplayed /W=IR3L_MultiSaPlotFitPanel#ResidualDataDisplay ModelNormalizedResidual  //, ResultIntensity
    906         if(!V_flag)
    907                 AppendToGraph /W=IR3L_MultiSaPlotFitPanel#ResidualDataDisplay  ModelNormalizedResidual  vs ModelNormResXWave
    908                 ModifyGraph /W=IR3L_MultiSaPlotFitPanel#LinearizedDataDisplay log=1, mirror(bottom)=1
    909                 Label /W=IR3L_MultiSaPlotFitPanel#LinearizedDataDisplay left "\\Z"+IN2G_LkUpDfltVar("AxisLabelSize")+"Normalized res."
    910                 Label /W=IR3L_MultiSaPlotFitPanel#LinearizedDataDisplay bottom "\\Z"+IN2G_LkUpDfltVar("AxisLabelSize")+"Q [A\\S-1\\M]"
    911         endif
    912 
    913 
    914 
     1105        Wave/Z OriginalDataIntWave=root:Packages:Irena:MultiSaPlotFit:OriginalDataIntWave
     1106        CheckDisplayed /W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay OriginalDataIntWave  //, ResultIntensity
    9151107        string Shortname1, ShortName2
    9161108       
     
    9461138//**********************************************************************************************************
    9471139//**********************************************************************************************************
    948 
    949 
    950 Function IR3L_AppendDataToGraphLogLog()
    951        
    952         DoWindow IR3L_MultiSaPlotFitPanel
    953         if(!V_Flag)
    954                 return 0
    955         endif
    956         variable WhichLegend=0
    957         variable startQp, endQp, tmpStQ
    958         Wave OriginalDataIntWave=root:Packages:Irena:MultiSaPlotFit:OriginalDataIntWave
    959         Wave OriginalDataQWave=root:Packages:Irena:MultiSaPlotFit:OriginalDataQWave
    960         Wave OriginalDataErrorWave=root:Packages:Irena:MultiSaPlotFit:OriginalDataErrorWave
    961         CheckDisplayed /W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay OriginalDataIntWave
    962         if(!V_flag)
    963                 AppendToGraph /W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay  OriginalDataIntWave  vs OriginalDataQWave
    964                 ModifyGraph /W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay log=1, mirror(bottom)=1
    965                 Label /W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay left "Intensity 1"
    966                 Label /W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay bottom "Q [A\\S-1\\M]"
    967                 ErrorBars /W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay OriginalDataIntWave Y,wave=(OriginalDataErrorWave,OriginalDataErrorWave)               
    968         endif
    969         NVAR DataQEnd = root:Packages:Irena:MultiSaPlotFit:DataQEnd
    970         if(DataQEnd>0)                  //old Q max already set.
    971                 endQp = BinarySearch(OriginalDataQWave, DataQEnd)
    972         endif
    973         if(endQp<1)     //Qmax not set or not found. Set to last point-1 on that wave.
    974                 DataQEnd = OriginalDataQWave[numpnts(OriginalDataQWave)-2]
    975                 endQp = numpnts(OriginalDataQWave)-2
    976         endif
    977         cursor /W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay B, OriginalDataIntWave, endQp
    978         DoUpdate
    979 
    980         Wave/Z OriginalDataIntWave=root:Packages:Irena:MultiSaPlotFit:OriginalDataIntWave
    981         CheckDisplayed /W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay OriginalDataIntWave  //, ResultIntensity
    982         string Shortname1, ShortName2
    983        
    984         switch(V_Flag)  // numeric switch
    985                 case 0:         // execute if case matches expression
    986                         Legend/W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay /N=text0/K
    987                         break                                           // exit from switch
    988 //              case 1:         // execute if case matches expression
    989 //                      SVAR DataFolderName=root:Packages:Irena:MultiSaPlotFit:DataFolderName
    990 //                      Shortname1 = StringFromList(ItemsInList(DataFolderName1, ":")-1, DataFolderName1  ,":")
    991 //                      Legend/W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay /C/N=text0/J/A=LB "\\s(OriginalData1IntWave) "+Shortname1
    992 //                      break
    993 //              case 2:
    994 //                      SVAR DataFolderName=root:Packages:Irena:MultiSaPlotFit:DataFolderName
    995 //                      Shortname2 = StringFromList(ItemsInList(DataFolderName2, ":")-1, DataFolderName2  ,":")
    996 //                      Legend/W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay /C/N=text0/J/A=LB "\\s(OriginalData2IntWave) " + Shortname2         
    997 //                      break
    998 //              case 3:
    999 //                      SVAR DataFolderName=root:Packages:Irena:MultiSaPlotFit:DataFolderName
    1000 //                      Shortname1 = StringFromList(ItemsInList(DataFolderName1, ":")-1, DataFolderName1  ,":")
    1001 //                      Legend/W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay /C/N=text0/J/A=LB "\\s(OriginalData1IntWave) "+Shortname1+"\r\\s(OriginalData2IntWave) "+Shortname2
    1002 //                      break
    1003 //              case 7:
    1004 //                      SVAR DataFolderName=root:Packages:Irena:MultiSaPlotFit:DataFolderName
    1005 //                      Shortname1 = StringFromList(ItemsInList(DataFolderName1, ":")-1, DataFolderName1  ,":")
    1006 //                      Legend/W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay /C/N=text0/J/A=LB "\\s(OriginalData1IntWave) "+Shortname1+"\r\\s(OriginalData2IntWave) "+Shortname2+"\r\\s(ResultIntensity) Merged Data"
    1007                         break
    1008         endswitch
    1009 
    1010        
    1011 end
    1012 //**********************************************************************************************************
    1013 //**********************************************************************************************************
    1014 //**********************************************************************************************************
  • trunk/User Procedures/Nika/NI1_Main.ipf

    r855 r858  
    212212        NewPath /O/Q TmpPathToIgorProcs  , path
    213213        variable version = IN2G_FindVersionOfSingleFile(file,"TmpPathToIgorProcs")
     214        KillPath /Z TmpPathToIgorProcs 
    214215        print "*** >>>  Nika version : "+num2str(version)+", compiled on "+date()+"  "+time()
    215216       
Note: See TracChangeset for help on using the changeset viewer.