Changeset 890


Ignore:
Timestamp:
Mar 21, 2020 7:50:08 PM (3 years ago)
Author:
ilavsky
Message:

Added scaling data to bioSAXS code

Location:
trunk/User Procedures/Irena
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/User Procedures/Irena/IR1_DataManipulation.ipf

    r889 r890  
    11#pragma rtGlobals = 3   // Use strict wave reference mode and runtime bounds checking
    2 #pragma version=2.69
     2#pragma version=2.70
    33constant IR3MversionNumber = 2.62               //Data manipulation II panel version number
    44constant IR1DversionNumber = 2.61                       //Data manipulation I panel version number
     
    1010//*************************************************************************/
    1111
    12 //2.70 added option to porpagate errors through avergaing, needs to be added to GUI.
     12//2.70 added option to propagate measurement errors through averaging, it is now default option, unless user picks another method. No need to chaneg GUI.
    1313//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.
    1414//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.
     
    29102910        CheckBox NormalizeData,variable= root:Packages:DataManipulationII:NormalizeData, help={"Normalize data to another data set or value"}
    29112911        CheckBox AverageWaves,pos={15,355},size={80,14},title="Average Waves?",proc= IR3M_CheckProc
    2912         CheckBox AverageWaves,variable= root:Packzages:DataManipulationII:AverageWaves, help={"Average waves using Q values of the first selected wave"}
     2912        CheckBox AverageWaves,variable= root:Packages:DataManipulationII:AverageWaves, help={"Average waves using Q values of the first selected wave"}
    29132913        CheckBox AverageNWaves,pos={15,370},size={80,14},title="Average every N Waves?",proc= IR3M_CheckProc
    29142914        CheckBox AverageNWaves,variable= root:Packages:DataManipulationII:AverageNWaves, help={"Average every N selected waves using Q values of the first selected wave"}
     
    29252925        CheckBox PassTroughProcessing,variable= root:Packages:DataManipulationII:PassTroughProcessing, help={"Normalize data to another data set or value"}
    29262926
    2927 //error decisions, ErrorUseStdDev;ErrorUseStdErOfMean
    2928 
    2929        
    2930         CheckBox GenerateMinMax,pos={10,405},size={80,14},title="Min/Max?", noproc, disable=!(GenerateStatisticsForAveWvs&&AverageWaves)
     2927//error decisions, ErrorUseStdDev;ErrorUseStdErOfMean, ErrorPropagateErrors
     2928
     2929       
     2930        CheckBox GenerateMinMax,pos={10,420},size={80,14},title="Min/Max?", noproc, disable=!(GenerateStatisticsForAveWvs&&AverageWaves)
    29312931        CheckBox GenerateMinMax,variable= root:Packages:DataManipulationII:GenerateMinMax, help={"Generate Sdev of each point?"}, mode=0
    2932         CheckBox ErrorUseStdDev,pos={120,405},size={80,14},title="Std Deviation?", proc= IR3M_CheckProc, disable=!(GenerateStatisticsForAveWvs&&AverageWaves)
    2933         CheckBox ErrorUseStdDev,variable= root:Packages:DataManipulationII:ErrorUseStdDev, help={"Generate Sdev of each point?"}, mode=1
    2934         CheckBox ErrorUseStdErOfMean,pos={250,405},size={80,14},title="Std Dev of Mean?", proc= IR3M_CheckProc, disable=!(GenerateStatisticsForAveWvs&&AverageWaves)
    2935         CheckBox ErrorUseStdErOfMean,variable= root:Packages:DataManipulationII:ErrorUseStdErOfMean, help={"Generate Standard error of mean of each point?"}, mode=1
     2932        CheckBox ErrorUseStdDev,pos={120,420},size={80,14},title="Std Deviation?", proc= IR3M_CheckProc, disable=!(GenerateStatisticsForAveWvs&&AverageWaves)
     2933        CheckBox ErrorUseStdDev,variable= root:Packages:DataManipulationII:ErrorUseStdDev, help={"Generate Sdev of each point?"}, mode=0
     2934        CheckBox ErrorUseStdErOfMean,pos={250,420},size={80,14},title="Std Dev of Mean?", proc= IR3M_CheckProc, disable=!(GenerateStatisticsForAveWvs&&AverageWaves)
     2935        CheckBox ErrorUseStdErOfMean,variable= root:Packages:DataManipulationII:ErrorUseStdErOfMean, help={"Generate Standard error of mean of each point?"}, mode=0
    29362936       
    29372937        CheckBox NormalizeDataToData,pos={15,415},size={80,14},title="Normalize to Data?",proc= IR3M_CheckProc, disable=!(NormalizeData)
     
    33193319                                NVAR PassTroughProcessing=root:Packages:DataManipulationII:PassTroughProcessing
    33203320                                NVAR PutOnQScaleOfData=root:Packages:DataManipulationII:PutOnQScaleOfData
     3321                                NVAR ErrorPropagateErrors = root:Packages:DataManipulationII:ErrorPropagateErrors
     3322                                NVAR ErrorUseStdDev= root:Packages:DataManipulationII:ErrorUseStdDev
     3323                                NVAR ErrorUseStdErOfMean = root:Packages:DataManipulationII:ErrorUseStdErOfMean
    33213324
    33223325                        if(stringmatch(cba.CtrlName, "GenerateStatisticsForAveWvs"))
     
    33243327                                CheckBox ErrorUseStdErOfMean win=DataManipulationII, disable=!checked
    33253328                                CheckBox GenerateMinMax win=DataManipulationII,disable=!(checked&&!AverageNWaves)
    3326                         endif
     3329                                if(!checked)
     3330                                        ErrorPropagateErrors = 1
     3331                                        ErrorUseStdErOfMean = 0
     3332                                        ErrorUseStdDev = 0
     3333                                endif
     3334                        endif
     3335
    33273336                        if(stringmatch(cba.CtrlName, "ErrorUseStdDev"))
    3328                                 NVAR ErrorUseStdDev= root:Packages:DataManipulationII:ErrorUseStdDev
    3329                                 NVAR ErrorUseStdErOfMean = root:Packages:DataManipulationII:ErrorUseStdErOfMean
    3330                                 ErrorUseStdErOfMean=!ErrorUseStdDev
     3337                                if(checked)
     3338                                        ErrorUseStdErOfMean=0
     3339                                        ErrorPropagateErrors = 0
     3340                                endif
    33313341                        endif                   
     3342
     3343                        if(stringmatch(cba.CtrlName,"ErrorUseStdErOfMean"))
     3344                                if(checked)
     3345                                        ErrorUseStdDev=0
     3346                                        ErrorPropagateErrors = 0
     3347                                endif
     3348                        endif                   
     3349                        if(ErrorUseStdErOfMean+ErrorPropagateErrors+ErrorUseStdDev!=1)
     3350                                ErrorUseStdErOfMean = 0
     3351                                ErrorPropagateErrors = 1
     3352                                ErrorUseStdDev = 0
     3353                                print "Will propagate measurement uncertainties through averaging"
     3354                        endif
    33323355                        if(stringmatch(cba.CtrlName, "ScaleData"))
    33333356                                NVAR ScaleData= root:Packages:DataManipulationII:ScaleData
     
    33553378                        endif                   
    33563379
    3357                         if(stringmatch(cba.CtrlName,"ErrorUseStdErOfMean"))
    3358                                 NVAR ErrorUseStdDev= root:Packages:DataManipulationII:ErrorUseStdDev
    3359                                 NVAR ErrorUseStdErOfMean = root:Packages:DataManipulationII:ErrorUseStdErOfMean
    3360                                 ErrorUseStdDev=!ErrorUseStdErOfMean
    3361                         endif                   
    33623380                        if(stringmatch(cba.CtrlName,"PassTroughProcessing"))
    33633381                                if(checked)
     
    40224040        NVAR UseSEM = root:Packages:DataManipulationII:ErrorUseStdErOfMean
    40234041        NVAR UseMinMax = root:Packages:DataManipulationII:GenerateMinMax
     4042        NVAR PropagateErrors = root:Packages:DataManipulationII:ErrorPropagateErrors
    40244043        NVAR NforAveraging = root:Packages:DataManipulationII:NforAveraging
    40254044        NVAR NormalizeData = root:Packages:DataManipulationII:NormalizeData
     
    40474066                Abort "Nothing to do, select at least one data set to work with"
    40484067        endif
    4049         variable PropagateErrors = 0
    40504068        if(AverageWaves)
    40514069                //call average waves routine. Let's create the routine as folder/parameters agnostic to be able to be reused...
     
    55295547        ListOfVariables="UseIndra2Data;UseQRSdata;UseResults;UseSMRData;UseUserDefinedData;"
    55305548        ListOfVariables+="ManualFolderSelection;DisplayResults;DisplaySourceData;"
    5531         ListOfVariables+="ErrorUseStdDev;ErrorUseStdErOfMean;GenerateMinMax;"
     5549        ListOfVariables+="ErrorUseStdDev;ErrorUseStdErOfMean;ErrorPropagateErrors;GenerateMinMax;"
    55325550        ListOfVariables+="GraphLogX;GraphLogY;GraphColorScheme1;GraphColorScheme2;GraphColorScheme3;GraphFontSize;"
    55335551        ListOfVariables+="AverageWaves;AverageNWaves;NforAveraging;GenerateStatisticsForAveWvs;SubtractDataFromAll;"
     
    55715589        NVAR ErrorUseStdDev
    55725590        NVAR ErrorUseStdErOfMean
    5573         if(ErrorUseStdDev+ErrorUseStdErOfMean!=1)
     5591        NVAR ErrorPropagateErrors
     5592        if(ErrorUseStdDev+ErrorPropagateErrors+ErrorUseStdErOfMean!=1)
    55745593                ErrorUseStdDev=1
    55755594                ErrorUseStdErOfMean=0
     5595                ErrorPropagateErrors=0
    55765596        endif
    55775597        NVAR NforAveraging
  • trunk/User Procedures/Irena/IR1_Main.ipf

    r888 r890  
    160160        "Plotting II", IR2D_DWSPlotToolMain()
    161161        help = {"Plotting tool which controls any top graph"}
    162         "Multi-Plotting tool (beta)", IR3L_MultiSaPlotFit()
     162        "Multi-Sample Plotting", IR3L_MultiSamplePlot()
    163163        help={"Plotting of multiple SAS data. Developement for now. Do not use. "}
    164164                SubMenu "Support Tools for plots and tables"
     
    265265        "ASCII data import", IRB1_ImportASCII()
    266266        help={"Tool to import 1D bioSAXS data"}
    267         "Average and Subtract Data", IRB1_DataManipulation()
     267        "Average, Subtract, Scale Data", IRB1_DataManipulation()
    268268        help={"Tools to average many data sets and subtract buffer"}
    269         "Plot data", IR3L_MultiSaPlotFit()
     269        "Plot data", IR3L_MultiSamplePlot()
    270270        help={"Multi sample ploting tool, same as in SAS menu."}
    271271        "Simple fits", IR3J_SimpleFits()
  • trunk/User Procedures/Irena/IR3_MultiDataPlot.ipf

    r886 r890  
    1717///******************************************************************************************
    1818///******************************************************************************************
    19 Function IR3L_MultiSaPlotFit()
     19Function IR3L_MultiSamplePlot()
    2020
    2121        IN2G_CheckScreenSize("width",1000)
    2222        IN2G_CheckScreenSize("height",670)
    23         DoWIndow IR3L_MultiSaPlotFitPanel
     23        DoWIndow IR3L_MultiSamplePlotPanel
    2424        if(V_Flag)
    25                 DoWindow/F IR3L_MultiSaPlotFitPanel
     25                DoWindow/F IR3L_MultiSamplePlotPanel
    2626        else
    27                 IR3L_InitMultiSaPlotFit()
    28                 IR3L_MultiSaPlotFitPanelFnct()
    29                 //              setWIndow IR3L_MultiSaPlotFitPanel, hook(CursorMoved)=IR3D_PanelHookFunction
    30                 IR1_UpdatePanelVersionNumber("IR3L_MultiSaPlotFitPanel", IR3LversionNumber,1)
     27                IR3L_InitMultiSamplePlot()
     28                IR3L_MultiSamplePlotPanelFnct()
     29                //              setWIndow IR3L_MultiSamplePlotPanel, hook(CursorMoved)=IR3D_PanelHookFunction
     30                IR1_UpdatePanelVersionNumber("IR3L_MultiSamplePlotPanel", IR3LversionNumber,1)
    3131                //link it to top graph, if exists
    3232                IR3L_SetStartConditions()
    3333        endif
    34         //IR3L_UpdateListOfAvailFiles()
    35         IR3C_MultiUpdateListOfAvailFiles("root:Packages:Irena:MultiSaPlotFit")
    36 //      IR3D_RebuildListboxTables()
     34        IR3C_MultiUpdateListOfAvailFiles("root:Packages:Irena:MultiSamplePlot")
    3735end
    3836//*****************************************************************************************************************
     
    4038
    4139Function IR3L_MainCheckVersion()       
    42         DoWindow IR3L_MultiSaPlotFitPanel
     40        DoWindow IR3L_MultiSamplePlotPanel
    4341        if(V_Flag)
    44                 if(!IR1_CheckPanelVersionNumber("IR3L_MultiSaPlotFitPanel", IR3LversionNumber))
     42                if(!IR1_CheckPanelVersionNumber("IR3L_MultiSamplePlotPanel", IR3LversionNumber))
    4543                        DoAlert /T="The Multi Data Plots panel was created by incorrect version of Irena " 1, "Multi Data Plots may need to be restarted to work properly. Restart now?"
    4644                        if(V_flag==1)
    47                                 KillWIndow/Z IR3L_MultiSaPlotFitPanel
    48                                 IR3L_MultiSaPlotFit()
     45                                KillWIndow/Z IR3L_MultiSamplePlotPanel
     46                                IR3L_MultiSamplePlot()
    4947                        else            //at least reinitialize the variables so we avoid major crashes...
    50                                 IR3L_InitMultiSaPlotFit()
     48                                IR3L_InitMultiSamplePlot()
    5149                        endif
    5250                endif
     
    5957Function IR3L_SetStartConditions()
    6058               
    61                 SVAR GraphWindowName = root:Packages:Irena:MultiSaPlotFit:GraphWindowName
    62                 SVAR GraphUserTitle=root:Packages:Irena:MultiSaPlotFit:GraphUserTitle
     59                SVAR GraphWindowName = root:Packages:Irena:MultiSamplePlot:GraphWindowName
     60                SVAR GraphUserTitle=root:Packages:Irena:MultiSamplePlot:GraphUserTitle
    6361               
    6462                //look for top MultiDataPlot_*, if does nto exist, attach to top graph, if exists...
     
    9088//************************************************************************************************************
    9189//************************************************************************************************************
    92 Function IR3L_MultiSaPlotFitPanelFnct()
     90Function IR3L_MultiSamplePlotPanelFnct()
    9391        PauseUpdate; Silent 1           // building window...
    9492        NewPanel /K=1 /W=(5.25,43.25,605,820) as "MultiData Ploting tool"
    95         DoWIndow/C IR3L_MultiSaPlotFitPanel
     93        DoWIndow/C IR3L_MultiSamplePlotPanel
    9694        TitleBox MainTitle title="\Zr220Multi Data ploting tool",pos={140,1},frame=0,fstyle=3, fixedSize=1,font= "Times New Roman", size={360,30},fColor=(0,0,52224)
    9795                                                                //      TitleBox FakeLine2 title=" ",fixedSize=1,size={330,3},pos={16,428},frame=0,fColor=(0,0,52224), labelBack=(0,0,52224)
     
    10098        string XUserLookup=""
    10199        string EUserLookup=""
    102         IR2C_AddDataControls("Irena:MultiSaPlotFit","IR3L_MultiSaPlotFitPanel","DSM_Int;M_DSM_Int;SMR_Int;M_SMR_Int;","AllCurrentlyAllowedTypes",UserDataTypes,UserNameString,XUserLookup,EUserLookup, 0,1, DoNotAddControls=1)
     100        IR2C_AddDataControls("Irena:MultiSamplePlot","IR3L_MultiSamplePlotPanel","DSM_Int;M_DSM_Int;SMR_Int;M_SMR_Int;","AllCurrentlyAllowedTypes",UserDataTypes,UserNameString,XUserLookup,EUserLookup, 0,1, DoNotAddControls=1)
    103101        Button GetHelp,pos={480,10},size={80,15},fColor=(65535,32768,32768), proc=IR3L_ButtonProc,title="Get Help", help={"Open www manual page for this tool"}
    104         IR3C_MultiAppendControls("Irena:MultiSaPlotFit","IR3L_MultiSaPlotFitPanel", "IR3L_DoubleClickAction",0,1)
    105                                                                                                                 //      NVAR UseIndra2Data = root:Packages:Irena:MultiSaPlotFit:UseIndra2Data
    106                                                                                                                 //      NVAR UseQRSdata = root:Packages:Irena:MultiSaPlotFit:UseQRSdata
    107                                                                                                                 //      NVAR UseResults = root:Packages:Irena:MultiSaPlotFit:UseResults
    108                                                                                                                 //      if(UseResults+UseQRSdata+UseIndra2Data!=1)
    109                                                                                                                 //              UseIndra2Data = 0
    110                                                                                                                 //              UseQRSdata = 1
    111                                                                                                                 //              UseResults = 0
    112                                                                                                                 //      endif
    113                                                                                                                 //      TitleBox Dataselection title="\Zr130Data selection",size={100,15},pos={10,10},frame=0,fColor=(0,0,65535),labelBack=0
    114                                                                                                                 //      Checkbox UseIndra2Data, pos={10,30},size={76,14},title="USAXS", proc=IR3L_CheckProc, variable=root:Packages:Irena:MultiSaPlotFit:UseIndra2Data
    115                                                                                                                 //      checkbox UseQRSData, pos={100,30}, title="QRS(QIS)", size={76,14},proc=IR3L_CheckProc, variable=root:Packages:Irena:MultiSaPlotFit:UseQRSdata
    116                                                                                                                 //      checkbox UseResults, pos={190,30}, title="Irena results", size={76,14},proc=IR3L_CheckProc, variable=root:Packages:Irena:MultiSaPlotFit:UseResults
    117                                                                                                                 //      PopupMenu StartFolderSelection,pos={10,50},size={180,15},proc=IR3L_PopMenuProc,title="Start fldr"
    118                                                                                                                 //      SVAR DataStartFolder = root:Packages:Irena:MultiSaPlotFit:DataStartFolder
    119                                                                                                                 //      PopupMenu StartFolderSelection,mode=1,popvalue=DataStartFolder,value= #"\"root:;\"+IR3C_GenStringOfFolders2(root:Packages:Irena:MultiSaPlotFit:UseIndra2Data, root:Packages:Irena:MultiSaPlotFit:UseQRSdata,2,1)"
    120                                                                                                                 //      SetVariable FolderNameMatchString,pos={10,75},size={210,15}, proc=IR3L_SetVarProc,title="Folder Match (RegEx)"
    121                                                                                                                 //      Setvariable FolderNameMatchString,fSize=10,fStyle=2, variable=root:Packages:Irena:MultiSaPlotFit:DataMatchString
    122                                                                                                                 //      checkbox InvertGrepSearch, pos={222,75}, title="Invert?", size={76,14},proc=IR3L_CheckProc, variable=root:Packages:Irena:MultiSaPlotFit:InvertGrepSearch
    123                                                                                                                 //
    124                                                                                                                 //      PopupMenu SortFolders,pos={10,100},size={180,20},fStyle=2,proc=IR3L_PopMenuProc,title="Sort Folders"
    125                                                                                                                 //      SVAR FolderSortString = root:Packages:Irena:MultiSaPlotFit:FolderSortString
    126                                                                                                                 //      PopupMenu SortFolders,mode=1,popvalue=FolderSortString,value= #"root:Packages:Irena:MultiSaPlotFit:FolderSortStringAll"
    127                                                                                                                 //     
    128                                                                                                                 //      //Indra data types:
    129                                                                                                                 //      PopupMenu SubTypeData,pos={10,120},size={180,20},fStyle=2,proc=IR3L_PopMenuProc,title="Sub-type Data"
    130                                                                                                                 //      SVAR DataSubType = root:Packages:Irena:MultiSaPlotFit:DataSubType
    131                                                                                                                 //      PopupMenu SubTypeData,mode=1,popvalue=DataSubType,value= ""
    132                                                                                                                 //      //results data types
    133                                                                                                                 //      SVAR SelectedResultsTool = root:Packages:Irena:MultiSaPlotFit:SelectedResultsTool
    134                                                                                                                 //      SVAR SelectedResultsType = root:Packages:Irena:MultiSaPlotFit:SelectedResultsType
    135                                                                                                                 //      SVAR ResultsGenerationToUse = root:Packages:Irena:MultiSaPlotFit:ResultsGenerationToUse
    136                                                                                                                 //      PopupMenu ToolResultsSelector,pos={10,120},size={230,15},fStyle=2,proc=IR3L_PopMenuProc,title="Which tool results?    "
    137                                                                                                                 //      PopupMenu ToolResultsSelector,mode=1,popvalue=SelectedResultsTool,value= #"root:Packages:IrenaControlProcs:AllKnownToolsResults"
    138                                                                                                                 //      PopupMenu ResultsTypeSelector,pos={10,140},size={230,15},fStyle=2,proc=IR3L_PopMenuProc,title="Which results?          "
    139                                                                                                                 //      PopupMenu ResultsTypeSelector,mode=1,popvalue=SelectedResultsType,value= #"IR2C_ReturnKnownToolResults(root:Packages:Irena:MultiSaPlotFit:SelectedResultsTool)"
    140                                                                                                                 //      PopupMenu ResultsGenerationToUse,pos={10,160},size={230,15},fStyle=2,proc=IR3L_PopMenuProc,title="Results Generation?           "
    141                                                                                                                 //      PopupMenu ResultsGenerationToUse,mode=1,popvalue=ResultsGenerationToUse,value= "Latest;_0;_1;_2;_3;_4;_5;_6;_7;_8;_9;_10;"
    142                                                                                                                 //
    143                                                                                                                 //
    144                                                                                                                 //      ListBox DataFolderSelection,pos={4,180},size={250,495}, mode=10
    145                                                                                                                 //      ListBox DataFolderSelection,listWave=root:Packages:Irena:MultiSaPlotFit:ListOfAvailableData
    146                                                                                                                 //      ListBox DataFolderSelection,selWave=root:Packages:Irena:MultiSaPlotFit:SelectionOfAvailableData
    147                                                                                                                 //      ListBox DataFolderSelection,proc=IR3L_ListBoxProc
    148                                                                                                                 //
    149                                                                                                                        
     102        IR3C_MultiAppendControls("Irena:MultiSamplePlot","IR3L_MultiSamplePlotPanel", "IR3L_DoubleClickAction",0,1)
    150103        //graph controls
    151 
    152         SVAR GraphWindowName=root:Packages:Irena:MultiSaPlotFit:GraphWindowName
     104        SVAR GraphWindowName=root:Packages:Irena:MultiSamplePlot:GraphWindowName
    153105        PopupMenu SelectGraphWindows,pos={280,90},size={310,20},proc=IR3L_PopMenuProc, title="Select Graph",help={"Select one of controllable graphs"}
    154106        PopupMenu SelectGraphWindows,value=IR3L_GraphListPopupString(),mode=1, popvalue=GraphWindowName
    155107       
    156108        SetVariable GraphWindowName,pos={280,115},size={310,20}, proc=IR3L_SetVarProc,title="\Zr120Graph Window name: ", noedit=1, valueColor=(65535,0,0)
    157         Setvariable GraphWindowName,fStyle=2, variable=root:Packages:Irena:MultiSaPlotFit:GraphWindowName, disable=0, frame=0, help={"This is Igro internal name for graph currently selected for controls"}
     109        Setvariable GraphWindowName,fStyle=2, variable=root:Packages:Irena:MultiSamplePlot:GraphWindowName, disable=0, frame=0, help={"This is Igro internal name for graph currently selected for controls"}
    158110
    159111        SetVariable GraphUserTitle,pos={280,140},size={310,20}, proc=IR3L_SetVarProc,title="\Zr120Graph title: "
    160         Setvariable GraphUserTitle,fStyle=2, variable=root:Packages:Irena:MultiSaPlotFit:GraphUserTitle, help={"This is huma name for graph currently controlled by teh tool. You can change it."}
     112        Setvariable GraphUserTitle,fStyle=2, variable=root:Packages:Irena:MultiSamplePlot:GraphUserTitle, help={"This is huma name for graph currently controlled by teh tool. You can change it."}
    161113
    162114        //Plotting controls...
     
    164116       
    165117        Button NewGraphPlotData,pos={270,170},size={120,20}, proc=IR3L_ButtonProc,title="New graph", help={"Plot selected data in new graph"}
     118        //SVAR SelectedDataPlot=root:Packages:Irena:MultiSamplePlot:SelectedDataPlot
     119        //PopupMenu SelectedDataPlot,pos={260,198},size={310,20},proc=IR3L_PopMenuProc, title="Data Type",help={"Select data to create if needed to graph"}
     120        //PopupMenu SelectedDataPlot,value=#"root:Packages:Irena:MultiSamplePlot:ListOfDefinedDataPlots",mode=1, popvalue=SelectedDataPlot
     121
     122        PopupMenu ApplyStyle,pos={260,198},size={400,20},proc=IR3L_PopMenuProc, title="Apply style:",help={"Set tool setting to defined conditions and apply to graph"}
     123        PopupMenu ApplyStyle,value=#"root:Packages:Irena:MultiSamplePlot:ListOfDefinedStyles",mode=1, mode=1
     124        Button ApplyPresetFormating,pos={260,223},size={160,20}, proc=IR3L_ButtonProc,title="Apply All Formating", help={"Apply Preset Formating to update graph based on these choices"}
     125
     126
    166127        Button AppendPlotData,pos={410,170},size={180,20}, proc=IR3L_ButtonProc,title="Append to selected graph", help={"Append selected data to graph selected above"}
    167         Button ApplyPresetFormating,pos={420,195},size={160,20}, proc=IR3L_ButtonProc,title="Apply All Formating", help={"Apply Preset Formating to update graph based on these choices"}
    168         Button ExportGraphJPG,pos={420,220},size={70,20}, proc=IR3L_ButtonProc,title="Export jpg", help={"Export as jpg file"}
    169         Button ExportGraphTIF,pos={505,220},size={70,20}, proc=IR3L_ButtonProc,title="Export tiff", help={"Export as tiff file"}
    170 
    171 
     128        Button ExportGraphJPG,pos={510,195},size={70,20}, proc=IR3L_ButtonProc,title="Export jpg", help={"Export as jpg file"}
     129        Button ExportGraphTIF,pos={510,220},size={70,20}, proc=IR3L_ButtonProc,title="Export tiff", help={"Export as tiff file"}
    172130
    173131        TitleBox GraphAxesControls title="\Zr100Graph Axes Options",fixedSize=1,size={150,20},pos={350,260},frame=0,fstyle=1, fixedSize=1
     
    177135
    178136        SetVariable XAxisLegend,pos={260,300},size={160,15}, proc=IR3L_SetVarProc,title=" "
    179         Setvariable XAxisLegend,fSize=10,fStyle=2, variable=root:Packages:Irena:MultiSaPlotFit:XAxisLegend, help={"Legend for X axis, you can change it. "}
     137        Setvariable XAxisLegend,fSize=10,fStyle=2, variable=root:Packages:Irena:MultiSamplePlot:XAxisLegend, help={"Legend for X axis, you can change it. "}
    180138        SetVariable YAxislegend,pos={430,300},size={160,15}, proc=IR3L_SetVarProc,title=" "
    181         Setvariable YAxislegend,fSize=10,fStyle=2, variable=root:Packages:Irena:MultiSaPlotFit:YAxislegend, help={"legend for Y axis. You can change it. "}
    182        
    183         Checkbox LogXAxis, pos={280,320},size={76,14},title="LogXAxis?", proc=IR3L_CheckProc, variable=root:Packages:Irena:MultiSaPlotFit:LogXAxis, help={"Use log X axis. You can change it. "}
    184         Checkbox LogYAxis, pos={450,320},size={76,14},title="LogYAxis?", proc=IR3L_CheckProc, variable=root:Packages:Irena:MultiSaPlotFit:LogYAxis, help={"Use log X axis. You can change it. "}
     139        Setvariable YAxislegend,fSize=10,fStyle=2, variable=root:Packages:Irena:MultiSamplePlot:YAxislegend, help={"legend for Y axis. You can change it. "}
     140       
     141        Checkbox LogXAxis, pos={280,320},size={76,14},title="LogXAxis?", proc=IR3L_CheckProc, variable=root:Packages:Irena:MultiSamplePlot:LogXAxis, help={"Use log X axis. You can change it. "}
     142        Checkbox LogYAxis, pos={450,320},size={76,14},title="LogYAxis?", proc=IR3L_CheckProc, variable=root:Packages:Irena:MultiSamplePlot:LogYAxis, help={"Use log X axis. You can change it. "}
    185143
    186144        SetVariable XOffset,pos={260,340},size={130,15}, proc=IR3L_SetVarProc,title="X offset :     ", limits={0,inf,1}
    187         Setvariable XOffset,fSize=10,fStyle=2, variable=root:Packages:Irena:MultiSaPlotFit:XOffset, help={"X Offxet for X axis, you can change it. "}
     145        Setvariable XOffset,fSize=10,fStyle=2, variable=root:Packages:Irena:MultiSamplePlot:XOffset, help={"X Offxet for X axis, you can change it. "}
    188146        SetVariable YOffset,pos={430,340},size={130,15}, proc=IR3L_SetVarProc,title="Y offset :     ",limits={0,inf,1}
    189         Setvariable YOffset,fSize=10,fStyle=2, variable=root:Packages:Irena:MultiSaPlotFit:YOffset, help={"Y Offset for Y axis. You can change it. "}
     147        Setvariable YOffset,fSize=10,fStyle=2, variable=root:Packages:Irena:MultiSamplePlot:YOffset, help={"Y Offset for Y axis. You can change it. "}
    190148
    191149
    192150        TitleBox GraphTraceControls title="\Zr100Graph Trace Options",fixedSize=1,size={150,20},pos={350,420},frame=0,fstyle=1, fixedSize=1
    193151
    194         Checkbox Colorize, pos={280,440},size={76,14},title="Vary colors?", proc=IR3L_CheckProc, variable=root:Packages:Irena:MultiSaPlotFit:Colorize, help={"Colorize the data? Oposite is B/W"}
    195         Checkbox UseSymbols, pos={280,480},size={76,14},title="Use Symbols?", proc=IR3L_CheckProc, variable=root:Packages:Irena:MultiSaPlotFit:UseSymbols, help={"Use Symbols for data. "}
    196         Checkbox UseLines, pos={280,500},size={76,14},title="Use Lines?", proc=IR3L_CheckProc, variable=root:Packages:Irena:MultiSaPlotFit:UseLines, help={"Use Lines for data"}
    197 
    198         NVAR SymbolSize=root:Packages:Irena:MultiSaPlotFit:SymbolSize
     152        Checkbox Colorize, pos={280,440},size={76,14},title="Vary colors?", proc=IR3L_CheckProc, variable=root:Packages:Irena:MultiSamplePlot:Colorize, help={"Colorize the data? Oposite is B/W"}
     153        Checkbox UseSymbols, pos={280,480},size={76,14},title="Use Symbols?", proc=IR3L_CheckProc, variable=root:Packages:Irena:MultiSamplePlot:UseSymbols, help={"Use Symbols for data. "}
     154        Checkbox UseLines, pos={280,500},size={76,14},title="Use Lines?", proc=IR3L_CheckProc, variable=root:Packages:Irena:MultiSamplePlot:UseLines, help={"Use Lines for data"}
     155
     156        Checkbox DisplayErrorBars, pos={280,520},size={76,14},title="Display Error bars?", proc=IR3L_CheckProc, variable=root:Packages:Irena:MultiSamplePlot:DisplayErrorBars, help={"Display error bars (if they exist)"}
     157
     158
     159        NVAR SymbolSize=root:Packages:Irena:MultiSamplePlot:SymbolSize
    199160        PopupMenu SymbolSize,pos={430,480},size={310,20},proc=IR3L_PopMenuProc, title="Symbol Size : ",help={"Symbol Size"}
    200161        PopupMenu SymbolSize,value="0;1;2;3;5;7;10;",mode=1, popvalue=num2str(SymbolSize)
    201162        SetVariable LineThickness,pos={430,500},size={160,15}, proc=IR3L_SetVarProc,title="Line Thickness",limits={0.5,10,0.5}
    202         Setvariable LineThickness,fSize=10,fStyle=2, variable=root:Packages:Irena:MultiSaPlotFit:LineThickness, help={"Line Thickness. You can change it. "}
     163        Setvariable LineThickness,fSize=10,fStyle=2, variable=root:Packages:Irena:MultiSamplePlot:LineThickness, help={"Line Thickness. You can change it. "}
    203164
    204165
    205166        TitleBox GraphOtherControls title="\Zr100Graph Other Options",fixedSize=1,size={150,20},pos={350,560},frame=0,fstyle=1, fixedSize=1
    206167
    207         Checkbox AddLegend, pos={280,580},size={76,14},title="Add Legend?", proc=IR3L_CheckProc, variable=root:Packages:Irena:MultiSaPlotFit:AddLegend, help={"Add legend to data."}
    208         Checkbox UseOnlyFoldersInLegend, pos={280,600},size={76,14},title="Only Folders?", proc=IR3L_CheckProc, variable=root:Packages:Irena:MultiSaPlotFit:UseOnlyFoldersInLegend, help={"Only Folders in Legend?"}
    209         NVAR LegendSize=root:Packages:Irena:MultiSaPlotFit:LegendSize
     168        Checkbox AddLegend, pos={280,580},size={76,14},title="Add Legend?", proc=IR3L_CheckProc, variable=root:Packages:Irena:MultiSamplePlot:AddLegend, help={"Add legend to data."}
     169        Checkbox UseOnlyFoldersInLegend, pos={280,600},size={76,14},title="Only Folders?", proc=IR3L_CheckProc, variable=root:Packages:Irena:MultiSamplePlot:UseOnlyFoldersInLegend, help={"Only Folders in Legend?"}
     170        NVAR LegendSize=root:Packages:Irena:MultiSamplePlot:LegendSize
    210171        PopupMenu LegendSize,pos={430,580},size={310,20},proc=IR3L_PopMenuProc, title="Legend Size : ",help={"legend Size"}
    211172        PopupMenu LegendSize,value="8;10;12;14;16;20;24;",mode=1, popvalue=num2str(LegendSize)
    212 
    213         PopupMenu ApplyStyle,pos={260,700},size={400,20},proc=IR3L_PopMenuProc, title="Apply style : ",help={"Set tool setting to defined conditions and apply to graph"}
    214         PopupMenu ApplyStyle,value=#"root:Packages:Irena:MultiSaPlotFit:ListOfDefinedStyles",mode=1, mode=1
    215173
    216174
     
    253211//**********************************************************************************************************
    254212
    255 Function IR3L_InitMultiSaPlotFit()     
     213Function IR3L_InitMultiSamplePlot()     
    256214
    257215
     
    261219        variable i
    262220               
    263         if (!DataFolderExists("root:Packages:Irena:MultiSaPlotFit"))            //create folder
     221        if (!DataFolderExists("root:Packages:Irena:MultiSamplePlot"))           //create folder
    264222                NewDataFolder/O root:Packages
    265223                NewDataFolder/O root:Packages:Irena
    266                 NewDataFolder/O root:Packages:Irena:MultiSaPlotFit
    267         endif
    268         SetDataFolder root:Packages:Irena:MultiSaPlotFit                                        //go into the folder
     224                NewDataFolder/O root:Packages:Irena:MultiSamplePlot
     225        endif
     226        SetDataFolder root:Packages:Irena:MultiSamplePlot                                       //go into the folder
    269227
    270228        //here define the lists of variables and strings needed, separate names by ;...
     
    276234        ListOfStrings+="GraphUserTitle;GraphWindowName;XAxisLegend;YAxislegend;"
    277235        ListOfStrings+="QvecLookupUSAXS;ErrorLookupUSAXS;dQLookupUSAXS;"
    278         ListOfStrings+="ListOfDefinedStyles;"
     236        ListOfStrings+="ListOfDefinedStyles;SelectedStyle;ListOfDefinedDataPlots;SelectedDataPlot;"
    279237
    280238        ListOfVariables="UseIndra2Data;UseQRSdata;UseResults;"
     
    282240        ListOfVariables+="LogXAxis;LogYAxis;MajorGridXaxis;MajorGridYaxis;MinorGridXaxis;MinorGridYaxis;"
    283241        ListOfVariables+="Colorize;UseSymbols;UseLines;SymbolSize;LineThickness;"
    284         ListOfVariables+="XOffset;YOffset;"
     242        ListOfVariables+="XOffset;YOffset;DisplayErrorBars;"
    285243        ListOfVariables+="AddLegend;UseOnlyFoldersInLegend;LegendSize;"
    286244       
     
    324282        SVAR ListOfDefinedStyles
    325283        ListOfDefinedStyles = "Log-Log;Lin-Log;VolumeSizeDistribution;NumberSizeDistribution;"
     284        SVAR ListOfDefinedDataPlots
     285        ListOfDefinedDataPlots = "X-Y;Guinier;Kratky;Dimensionless Kratky;Porod;"
     286        SVAR SelectedStyle
     287        if(strlen(SelectedStyle)<2)
     288                SelectedStyle="Log-Log"
     289        endif
     290        SVAR SelectedDataPlot
     291        if(strlen(SelectedDataPlot)<2)
     292                SelectedDataPlot="X-Y"
     293        endif
     294
     295
    326296
    327297        SVAR QvecLookupUSAXS
     
    394364                case 2: // mouse up
    395365                        Variable checked = cba.checked
    396                         NVAR UseIndra2Data =  root:Packages:Irena:MultiSaPlotFit:UseIndra2Data
    397                         NVAR UseQRSData =  root:Packages:Irena:MultiSaPlotFit:UseQRSData
    398                         NVAR UseResults =  root:Packages:Irena:MultiSaPlotFit:UseResults
    399                         SVAR DataStartFolder = root:Packages:Irena:MultiSaPlotFit:DataStartFolder
    400                         SVAR GraphWindowName = root:Packages:Irena:MultiSaPlotFit:GraphWindowName
    401                         NVAR UseLines = root:Packages:Irena:MultiSaPlotFit:UseLines
    402                         NVAR UseSymbols = root:Packages:Irena:MultiSaPlotFit:UseSymbols
    403                         NVAR SymbolSize = root:Packages:Irena:MultiSaPlotFit:SymbolSize
    404                         NVAR LineThickness= root:Packages:Irena:MultiSaPlotFit:LineThickness
    405                         NVAR LegendSize = root:Packages:Irena:MultiSaPlotFit:LegendSize
    406                         NVAR UseOnlyFoldersInLegend = root:Packages:Irena:MultiSaPlotFit:UseOnlyFoldersInLegend
    407                         NVAR AddLegend= root:Packages:Irena:MultiSaPlotFit:AddLegend
    408 //                      if(stringmatch(cba.ctrlName,"InvertGrepSearch"))
    409 //                                      IR3L_UpdateListOfAvailFiles()   
    410 //                      endif
    411 //                      if(stringmatch(cba.ctrlName,"UseIndra2Data"))
    412 //                              if(checked)
    413 //                                      UseQRSData = 0
    414 //                                      UseResults = 0
    415 //                                      IR3L_FixPanelControls()
    416 //                                      IR3L_UpdateListOfAvailFiles()
    417 //                              endif
    418 //                      endif
    419 //                      if(stringmatch(cba.ctrlName,"UseResults"))
    420 //                              if(checked)
    421 //                                      UseQRSData = 0
    422 //                                      UseIndra2Data = 0
    423 //                                      IR3L_FixPanelControls()
    424 //                                      IR3L_UpdateListOfAvailFiles()
    425 //                              endif
    426 //                      endif
    427 //                      if(stringmatch(cba.ctrlName,"UseQRSData"))
    428 //                              if(checked)
    429 //                                      UseIndra2Data = 0
    430 //                                      UseResults = 0
    431 //                                      IR3L_FixPanelControls()
    432 //                                      IR3L_UpdateListOfAvailFiles()
    433 //                              endif
    434 //                      endif
    435 //                      if(stringmatch(cba.ctrlName,"UseQRSData")||stringmatch(cba.ctrlName,"UseIndra2Data"))
    436 //                              DataStartFolder = "root:"
    437 //                              PopupMenu StartFolderSelection,win=IR3L_MultiSaPlotFitPanel, mode=1,popvalue="root:"
    438 //                              IR3L_UpdateListOfAvailFiles()
    439 //                      endif
     366                        NVAR UseIndra2Data =  root:Packages:Irena:MultiSamplePlot:UseIndra2Data
     367                        NVAR UseQRSData =  root:Packages:Irena:MultiSamplePlot:UseQRSData
     368                        NVAR UseResults =  root:Packages:Irena:MultiSamplePlot:UseResults
     369                        SVAR DataStartFolder = root:Packages:Irena:MultiSamplePlot:DataStartFolder
     370                        SVAR GraphWindowName = root:Packages:Irena:MultiSamplePlot:GraphWindowName
     371                        NVAR UseLines = root:Packages:Irena:MultiSamplePlot:UseLines
     372                        NVAR UseSymbols = root:Packages:Irena:MultiSamplePlot:UseSymbols
     373                        NVAR SymbolSize = root:Packages:Irena:MultiSamplePlot:SymbolSize
     374                        NVAR LineThickness= root:Packages:Irena:MultiSamplePlot:LineThickness
     375                        NVAR LegendSize = root:Packages:Irena:MultiSamplePlot:LegendSize
     376                        NVAR UseOnlyFoldersInLegend = root:Packages:Irena:MultiSamplePlot:UseOnlyFoldersInLegend
     377                        NVAR AddLegend= root:Packages:Irena:MultiSamplePlot:AddLegend
     378                        if(stringmatch(cba.ctrlName,"DisplayErrorBars"))
     379                                NVAR DisplayErrorBars = root:Packages:Irena:MultiSamplePlot:DisplayErrorBars
     380                                IN2G_ShowHideErrorBars(DisplayErrorBars, topGraphStr=GraphWindowName)
     381                        endif
    440382                        if(stringmatch(cba.ctrlName,"LogXAxis"))
    441383                                if(checked)
     
    459401                        ModifyGraph/W=$(GraphWindowName) rgb=(0,0,0)
    460402                                endif
    461                                 DoWIndow/F IR3L_MultiSaPlotFitPanel
     403                                DoWIndow/F IR3L_MultiSamplePlotPanel
    462404                        endif
    463405                        if(stringmatch(cba.ctrlName,"UseSymbols"))
     
    473415                                        ModifyGraph mode=!(UseLines)   
    474416                                endif
    475                                 DoWIndow/F IR3L_MultiSaPlotFitPanel
     417                                DoWIndow/F IR3L_MultiSamplePlotPanel
    476418                        endif
    477419                        if(stringmatch(cba.ctrlName,"UseLines"))
     
    490432                                        ModifyGraph mode=UseSymbols*3   
    491433                                endif
    492                                 DoWIndow/F IR3L_MultiSaPlotFitPanel
     434                                DoWIndow/F IR3L_MultiSamplePlotPanel
    493435                        endif
    494436                       
     
    500442                                        Legend/K/N=text0/W=$(GraphWindowName)
    501443                                endif
    502                                 DoWIndow/F IR3L_MultiSaPlotFitPanel
     444                                DoWIndow/F IR3L_MultiSamplePlotPanel
    503445                        endif
    504446               
     
    529471        endif
    530472        IN2G_PrintDebugStatement(IrenaDebugLevel, 5,"")
    531         SVAR GraphWindowName = root:Packages:Irena:MultiSaPlotFit:GraphWindowName
     473        SVAR GraphWindowName = root:Packages:Irena:MultiSamplePlot:GraphWindowName
    532474        if(strlen(GraphWindowName)>0)
    533475                if(stringmatch(ctrlName,"SelectGraphWindows"))
    534476                        //do something here
    535                         SVAR GraphWindowName=root:Packages:Irena:MultiSaPlotFit:GraphWindowName
    536                         SVAR GraphUserTitle=root:Packages:Irena:MultiSaPlotFit:GraphUserTitle
     477                        SVAR GraphWindowName=root:Packages:Irena:MultiSamplePlot:GraphWindowName
     478                        SVAR GraphUserTitle=root:Packages:Irena:MultiSamplePlot:GraphUserTitle
    537479                        if(stringmatch(popStr,"---"))
    538480                                GraphWindowName = ""
     
    555497                if(stringmatch(ctrlName,"SymbolSize"))
    556498                        //do something here
    557                         NVAR UseSymbols = root:Packages:Irena:MultiSaPlotFit:UseSymbols
    558                         NVAR SymbolSize = root:Packages:Irena:MultiSaPlotFit:SymbolSize
    559                         NVAR UseLines = root:Packages:Irena:MultiSaPlotFit:UseLines
     499                        NVAR UseSymbols = root:Packages:Irena:MultiSamplePlot:UseSymbols
     500                        NVAR SymbolSize = root:Packages:Irena:MultiSamplePlot:SymbolSize
     501                        NVAR UseLines = root:Packages:Irena:MultiSamplePlot:UseLines
    560502                        SymbolSize = str2num(popStr)
    561503                        if(UseLines+UseSymbols<1)
     
    574516                if(stringmatch(ctrlName,"LegendSize"))
    575517                        //do something here
    576                         NVAR LegendSize = root:Packages:Irena:MultiSaPlotFit:LegendSize
    577                         NVAR AddLegend = root:Packages:Irena:MultiSaPlotFit:AddLegend
    578                         NVAR UseOnlyFoldersInLegend = root:Packages:Irena:MultiSaPlotFit:UseOnlyFoldersInLegend
     518                        NVAR LegendSize = root:Packages:Irena:MultiSamplePlot:LegendSize
     519                        NVAR AddLegend = root:Packages:Irena:MultiSamplePlot:AddLegend
     520                        NVAR UseOnlyFoldersInLegend = root:Packages:Irena:MultiSamplePlot:UseOnlyFoldersInLegend
    579521                        LegendSize = str2num(popStr)
    580522                        if(AddLegend)
    581523                                        IN2G_LegendTopGrphFldr(LegendSize, 20, 1, !(UseOnlyFoldersInLegend))
    582524                        endif
    583                 endif
    584                 if(stringmatch(ctrlName,"ApplyStyle"))
    585                         //do something here
    586                         IR3L_SetAndApplyStyle(popStr)   
    587                 endif
    588                                
    589         endif
    590         DOWIndow/F IR3L_MultiSaPlotFitPanel
     525                endif           
     526        endif
     527        if(stringmatch(ctrlName,"ApplyStyle"))
     528                //do something here
     529                IR3L_SetAndApplyStyle(popStr)   
     530        endif
     531       
     532        DOWIndow/F IR3L_MultiSamplePlotPanel
    591533end
    592534
     
    606548                                //                              IR3L_UpdateListOfAvailFiles()
    607549                                //                      endif
    608                 SVAR GraphUserTitle=root:Packages:Irena:MultiSaPlotFit:GraphUserTitle
    609                 SVAR GraphWindowName = root:Packages:Irena:MultiSaPlotFit:GraphWindowName
     550                SVAR GraphUserTitle=root:Packages:Irena:MultiSamplePlot:GraphUserTitle
     551                SVAR GraphWindowName = root:Packages:Irena:MultiSamplePlot:GraphWindowName
    610552                        if(strlen(GraphWindowName)>0)
    611553                                if(stringmatch(sva.ctrlName,"GraphUserTitle"))
     
    614556                               
    615557                                if(stringmatch(sva.ctrlName,"LineThickness"))
    616                                         NVAR LineThickness = root:Packages:Irena:MultiSaPlotFit:LineThickness
     558                                        NVAR LineThickness = root:Packages:Irena:MultiSamplePlot:LineThickness
    617559                                        if(LineThickness<0.5)
    618560                                                LineThickness = 0.5
     
    623565                               
    624566                                if(stringmatch(sva.ctrlName,"XOffset") || stringmatch(sva.ctrlName,"YOffset"))
    625                                         NVAR XOffset=root:Packages:Irena:MultiSaPlotFit:XOffset
    626                                         NVAR YOffset=root:Packages:Irena:MultiSaPlotFit:YOffset
    627                                         NVAR LogXAxis=root:Packages:Irena:MultiSaPlotFit:LogXAxis
    628                                         NVAR LogYAxis=root:Packages:Irena:MultiSaPlotFit:LogYAxis
     567                                        NVAR XOffset=root:Packages:Irena:MultiSamplePlot:XOffset
     568                                        NVAR YOffset=root:Packages:Irena:MultiSamplePlot:YOffset
     569                                        NVAR LogXAxis=root:Packages:Irena:MultiSamplePlot:LogXAxis
     570                                        NVAR LogYAxis=root:Packages:Irena:MultiSamplePlot:LogYAxis
    629571                                        DoWindow/F $(GraphWindowName)
    630572                                        IN2G_OffsetTopGrphTraces(LogXAxis, XOffset ,LogYAxis, YOffset)
     
    638580                        break
    639581        endswitch
    640         DoWIndow/F IR3L_MultiSaPlotFitPanel
     582        DoWIndow/F IR3L_MultiSamplePlotPanel
    641583        return 0
    642584End
     
    648590                        string FoldernameStr
    649591                        //if called with GraphWindowName = "---" need to create new graph and direct data there, or the tool doe snothing
    650                         SVAR GraphWindowName=root:Packages:Irena:MultiSaPlotFit:GraphWindowName
     592                        SVAR GraphWindowName=root:Packages:Irena:MultiSamplePlot:GraphWindowName
    651593                        string LocalGraphName
    652594                        variable CreatedNewGraph=0
     
    678620       
    679621        string oldDf=GetDataFolder(1)
    680         SetDataFolder root:Packages:Irena:MultiSaPlotFit                                        //go into the folder
     622        SetDataFolder root:Packages:Irena:MultiSamplePlot                                       //go into the folder
    681623        //IR3D_SetSavedNotSavedMessage(0)
    682624
    683                 SVAR DataStartFolder=root:Packages:Irena:MultiSaPlotFit:DataStartFolder
    684                 SVAR DataFolderName=root:Packages:Irena:MultiSaPlotFit:DataFolderName
    685                 SVAR IntensityWaveName=root:Packages:Irena:MultiSaPlotFit:IntensityWaveName
    686                 SVAR QWavename=root:Packages:Irena:MultiSaPlotFit:QWavename
    687                 SVAR ErrorWaveName=root:Packages:Irena:MultiSaPlotFit:ErrorWaveName
    688                 SVAR dQWavename=root:Packages:Irena:MultiSaPlotFit:dQWavename
    689                 NVAR UseIndra2Data=root:Packages:Irena:MultiSaPlotFit:UseIndra2Data
    690                 NVAR UseQRSdata=root:Packages:Irena:MultiSaPlotFit:UseQRSdata
    691                 NVAR useResults=root:Packages:Irena:MultiSaPlotFit:useResults
    692                 SVAR DataSubType = root:Packages:Irena:MultiSaPlotFit:DataSubType
     625                SVAR DataStartFolder=root:Packages:Irena:MultiSamplePlot:DataStartFolder
     626                SVAR DataFolderName=root:Packages:Irena:MultiSamplePlot:DataFolderName
     627                SVAR IntensityWaveName=root:Packages:Irena:MultiSamplePlot:IntensityWaveName
     628                SVAR QWavename=root:Packages:Irena:MultiSamplePlot:QWavename
     629                SVAR ErrorWaveName=root:Packages:Irena:MultiSamplePlot:ErrorWaveName
     630                SVAR dQWavename=root:Packages:Irena:MultiSamplePlot:dQWavename
     631                NVAR UseIndra2Data=root:Packages:Irena:MultiSamplePlot:UseIndra2Data
     632                NVAR UseQRSdata=root:Packages:Irena:MultiSamplePlot:UseQRSdata
     633                NVAR useResults=root:Packages:Irena:MultiSamplePlot:useResults
     634                SVAR DataSubType = root:Packages:Irena:MultiSamplePlot:DataSubType
    693635                //these are variables used by the control procedure
    694                 NVAR  UseUserDefinedData=  root:Packages:Irena:MultiSaPlotFit:UseUserDefinedData
    695                 NVAR  UseModelData = root:Packages:Irena:MultiSaPlotFit:UseModelData
    696                 SVAR DataFolderName  = root:Packages:Irena:MultiSaPlotFit:DataFolderName
    697                 SVAR IntensityWaveName = root:Packages:Irena:MultiSaPlotFit:IntensityWaveName
    698                 SVAR QWavename = root:Packages:Irena:MultiSaPlotFit:QWavename
    699                 SVAR ErrorWaveName = root:Packages:Irena:MultiSaPlotFit:ErrorWaveName
     636                NVAR  UseUserDefinedData=  root:Packages:Irena:MultiSamplePlot:UseUserDefinedData
     637                NVAR  UseModelData = root:Packages:Irena:MultiSamplePlot:UseModelData
     638                SVAR DataFolderName  = root:Packages:Irena:MultiSamplePlot:DataFolderName
     639                SVAR IntensityWaveName = root:Packages:Irena:MultiSamplePlot:IntensityWaveName
     640                SVAR QWavename = root:Packages:Irena:MultiSamplePlot:QWavename
     641                SVAR ErrorWaveName = root:Packages:Irena:MultiSamplePlot:ErrorWaveName
    700642                //graph control variable
    701                 SVAR GraphUserTitle=root:Packages:Irena:MultiSaPlotFit:GraphUserTitle
    702                 SVAR GraphWindowName=root:Packages:Irena:MultiSaPlotFit:GraphWindowName
     643                SVAR GraphUserTitle=root:Packages:Irena:MultiSamplePlot:GraphUserTitle
     644                SVAR GraphWindowName=root:Packages:Irena:MultiSamplePlot:GraphWindowName
    703645                SVAR ResultsDataTypesLookup=root:Packages:IrenaControlProcs:ResultsDataTypesLookup
    704646               
     
    715657                if(UseQRSdata)
    716658                        //get the names of waves, assume this tool actually works. May not under some conditions. In that case this tool will not work.
    717                         QWavename = stringFromList(0,IR2P_ListOfWaves("Xaxis","", "IR3L_MultiSaPlotFitPanel"))
    718                         IntensityWaveName = stringFromList(0,IR2P_ListOfWaves("Yaxis","*", "IR3L_MultiSaPlotFitPanel"))
    719                         ErrorWaveName = stringFromList(0,IR2P_ListOfWaves("Error","*", "IR3L_MultiSaPlotFitPanel"))
     659                        QWavename = stringFromList(0,IR2P_ListOfWaves("Xaxis","", "IR3L_MultiSamplePlotPanel"))
     660                        IntensityWaveName = stringFromList(0,IR2P_ListOfWaves("Yaxis","*", "IR3L_MultiSamplePlotPanel"))
     661                        ErrorWaveName = stringFromList(0,IR2P_ListOfWaves("Error","*", "IR3L_MultiSamplePlotPanel"))
    720662                        if(UseIndra2Data)
    721663                                dQWavename = ReplaceString("Qvec", QWavename, "dQ")
     
    727669                elseif(UseIndra2Data)
    728670                        string DataSubTypeInt = DataSubType
    729                         SVAR QvecLookup = root:Packages:Irena:MultiSaPlotFit:QvecLookupUSAXS
    730                         SVAR ErrorLookup = root:Packages:Irena:MultiSaPlotFit:ErrorLookupUSAXS
    731                         SVAR dQLookup = root:Packages:Irena:MultiSaPlotFit:dQLookupUSAXS
     671                        SVAR QvecLookup = root:Packages:Irena:MultiSamplePlot:QvecLookupUSAXS
     672                        SVAR ErrorLookup = root:Packages:Irena:MultiSamplePlot:ErrorLookupUSAXS
     673                        SVAR dQLookup = root:Packages:Irena:MultiSamplePlot:dQLookupUSAXS
    732674                        //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;"
    733675                        //string ErrorLookup="R_Int=R_Error;BL_R_Int=BL_R_error;SMR_Int=SMR_Error;DSM_Int=DSM_error;"
     
    741683                        dQWavename = DataSubTypedQ
    742684                elseif(useResults)
    743                         SVAR SelectedResultsTool = root:Packages:Irena:MultiSaPlotFit:SelectedResultsTool
    744                         SVAR SelectedResultsType = root:Packages:Irena:MultiSaPlotFit:SelectedResultsType
    745                         SVAR ResultsGenerationToUse = root:Packages:Irena:MultiSaPlotFit:ResultsGenerationToUse
     685                        SVAR SelectedResultsTool = root:Packages:Irena:MultiSamplePlot:SelectedResultsTool
     686                        SVAR SelectedResultsType = root:Packages:Irena:MultiSamplePlot:SelectedResultsType
     687                        SVAR ResultsGenerationToUse = root:Packages:Irena:MultiSamplePlot:ResultsGenerationToUse
    746688                        //follow IR2S_CallWithPlottingToolII
    747689                        if(stringmatch(ResultsGenerationToUse,"Latest"))
     
    823765                if(V_Flag==0)
    824766                        AppendToGraph /W=$(GraphWindowName) SourceIntWv vs  SourceQWv
     767                        if(WaveExists(SourceErrorWv))
     768                                ErrorBars /W=$(GraphWindowName)  $(NameOfWave(SourceIntWv)) Y,wave=(SourceErrorWv,SourceErrorWv)
     769                        endif
    825770                        print "Appended : "+DataFolderName+IntensityWaveName +" top the graph : "+GraphWindowName
    826771                else
    827                         print "Could not append "+DataFolderName+IntensityWaveName+" to the graph : "+GraphWindowName+" this wave is already displayed in thE graph"
     772                        print "Could not append "+DataFolderName+IntensityWaveName+" to the graph : "+GraphWindowName+" this wave is already displayed in the graph"
    828773                endif
    829774                //append data to graph
     
    840785        variable i
    841786        string FoldernameStr
    842         SVAR GraphUserTitle=root:Packages:Irena:MultiSaPlotFit:GraphUserTitle
    843         SVAR GraphWindowName=root:Packages:Irena:MultiSaPlotFit:GraphWindowName
     787        SVAR GraphUserTitle=root:Packages:Irena:MultiSamplePlot:GraphUserTitle
     788        SVAR GraphWindowName=root:Packages:Irena:MultiSamplePlot:GraphWindowName
    844789        switch( ba.eventCode )
    845790                case 2: // mouse up
     
    853798                                IR3L_CreateNewGraph()
    854799                                //now, append the data to it...
    855                                 Wave/T ListOfAvailableData = root:Packages:Irena:MultiSaPlotFit:ListOfAvailableData
    856                                 Wave SelectionOfAvailableData = root:Packages:Irena:MultiSaPlotFit:SelectionOfAvailableData     
     800                                Wave/T ListOfAvailableData = root:Packages:Irena:MultiSamplePlot:ListOfAvailableData
     801                                Wave SelectionOfAvailableData = root:Packages:Irena:MultiSamplePlot:SelectionOfAvailableData   
    857802                                for(i=0;i<numpnts(ListOfAvailableData);i+=1)
    858803                                        if(SelectionOfAvailableData[i]>0.5)
     
    872817                                        print "could not find graph we can control"
    873818                                endif
    874                                 Wave/T ListOfAvailableData = root:Packages:Irena:MultiSaPlotFit:ListOfAvailableData
    875                                 Wave SelectionOfAvailableData = root:Packages:Irena:MultiSaPlotFit:SelectionOfAvailableData     
     819                                Wave/T ListOfAvailableData = root:Packages:Irena:MultiSamplePlot:ListOfAvailableData
     820                                Wave SelectionOfAvailableData = root:Packages:Irena:MultiSamplePlot:SelectionOfAvailableData   
    876821                                for(i=0;i<numpnts(ListOfAvailableData);i+=1)    // Initialize variables;continue test
    877822                                        if(SelectionOfAvailableData[i]>0.5)
     
    895840                                DoWindow/F $(GraphWindowName)
    896841                                SavePICT/E=-6/B=288     as (GraphUserTitle)                             //this is jpg
    897                                 DoWIndow/F IR3L_MultiSaPlotFitPanel
     842                                DoWIndow/F IR3L_MultiSamplePlotPanel
    898843                        endif
    899844                        if(cmpstr(ba.ctrlname,"ExportGraphTif")==0)
    900845                                DoWindow/F $(GraphWindowName)
    901846                                SavePICT/E=-7/B=288     as (GraphUserTitle)                                     //this is TIFF
    902                                 DoWIndow/F IR3L_MultiSaPlotFitPanel
     847                                DoWIndow/F IR3L_MultiSamplePlotPanel
    903848                        endif
    904849
     
    915860Function IR3L_CreateNewGraph()
    916861
    917                 SVAR GraphWindowName=root:Packages:Irena:MultiSaPlotFit:GraphWindowName
    918                 SVAR GraphUserTitle=root:Packages:Irena:MultiSaPlotFit:GraphUserTitle
     862                SVAR GraphWindowName=root:Packages:Irena:MultiSamplePlot:GraphWindowName
     863                SVAR GraphUserTitle=root:Packages:Irena:MultiSamplePlot:GraphUserTitle
    919864                //first create a new GraphWindowName, this is new graph...
    920865                string basename="MultiDataPlot_"
     
    922867                Display /K=1/W=(1297,231,2097,841) as GraphUserTitle
    923868                DoWindow/C $(GraphWindowName)
    924                 AutoPositionWindow /M=0 /R=IR3L_MultiSaPlotFitPanel $(GraphWindowName)
     869                AutoPositionWindow /M=0 /R=IR3L_MultiSamplePlotPanel $(GraphWindowName)
    925870end
    926871//**********************************************************************************************************
     
    931876       
    932877//      ListOfDefinedStyles = "Log-Log;Lin-Log;VolumeSizeDistribution;NumberSizeDistribution;"
    933                 SVAR GraphWindowName=root:Packages:Irena:MultiSaPlotFit:GraphWindowName
    934                 NVAR LogXAxis=root:Packages:Irena:MultiSaPlotFit:LogXAxis
    935                 NVAR LogYAxis=root:Packages:Irena:MultiSaPlotFit:LogYAxis
    936                 NVAR Colorize=root:Packages:Irena:MultiSaPlotFit:Colorize
    937                 NVAR AddLegend=root:Packages:Irena:MultiSaPlotFit:AddLegend
    938                 SVAR XAxisLegend=root:Packages:Irena:MultiSaPlotFit:XAxisLegend
    939                 SVAR YAxislegend=root:Packages:Irena:MultiSaPlotFit:YAxislegend
    940                 SVAR GraphUserTitle=root:Packages:Irena:MultiSaPlotFit:GraphUserTitle
    941                 NVAR LineThickness = root:Packages:Irena:MultiSaPlotFit:LineThickness
    942                 NVAR UseSymbols = root:Packages:Irena:MultiSaPlotFit:UseSymbols
    943                 NVAR UseLines = root:Packages:Irena:MultiSaPlotFit:UseLines
    944                 NVAR SymbolSize = root:Packages:Irena:MultiSaPlotFit:SymbolSize
    945                 NVAR LegendSize = root:Packages:Irena:MultiSaPlotFit:LegendSize
    946                 NVAR UseOnlyFoldersInLegend = root:Packages:Irena:MultiSaPlotFit:UseOnlyFoldersInLegend
     878                SVAR GraphWindowName=root:Packages:Irena:MultiSamplePlot:GraphWindowName
     879                NVAR LogXAxis=root:Packages:Irena:MultiSamplePlot:LogXAxis
     880                NVAR LogYAxis=root:Packages:Irena:MultiSamplePlot:LogYAxis
     881                NVAR Colorize=root:Packages:Irena:MultiSamplePlot:Colorize
     882                NVAR AddLegend=root:Packages:Irena:MultiSamplePlot:AddLegend
     883                SVAR XAxisLegend=root:Packages:Irena:MultiSamplePlot:XAxisLegend
     884                SVAR YAxislegend=root:Packages:Irena:MultiSamplePlot:YAxislegend       
     885                SVAR GraphUserTitle=root:Packages:Irena:MultiSamplePlot:GraphUserTitle
     886                NVAR LineThickness = root:Packages:Irena:MultiSamplePlot:LineThickness
     887                NVAR UseSymbols = root:Packages:Irena:MultiSamplePlot:UseSymbols
     888                NVAR UseLines = root:Packages:Irena:MultiSamplePlot:UseLines
     889                NVAR SymbolSize = root:Packages:Irena:MultiSamplePlot:SymbolSize
     890                NVAR LegendSize = root:Packages:Irena:MultiSamplePlot:LegendSize
     891                NVAR UseOnlyFoldersInLegend = root:Packages:Irena:MultiSamplePlot:UseOnlyFoldersInLegend
    947892
    948893        if(stringmatch(WHichStyle,"log-Log"))
     
    999944                string GraphNameString
    1000945
     946        if(strlen(GraphNameString)<1)
     947                return 0
     948        endif
    1001949        DoWIndow $(GraphNameString)
    1002950        if(V_Flag)
    1003                 NVAR LogXAxis=root:Packages:Irena:MultiSaPlotFit:LogXAxis
    1004                 NVAR LogYAxis=root:Packages:Irena:MultiSaPlotFit:LogYAxis
    1005                 NVAR Colorize=root:Packages:Irena:MultiSaPlotFit:Colorize
    1006                 NVAR AddLegend=root:Packages:Irena:MultiSaPlotFit:AddLegend
    1007                 SVAR XAxisLegend=root:Packages:Irena:MultiSaPlotFit:XAxisLegend
    1008                 SVAR YAxislegend=root:Packages:Irena:MultiSaPlotFit:YAxislegend
    1009                 SVAR GraphUserTitle=root:Packages:Irena:MultiSaPlotFit:GraphUserTitle
    1010                 NVAR LineThickness = root:Packages:Irena:MultiSaPlotFit:LineThickness
    1011                 NVAR UseSymbols = root:Packages:Irena:MultiSaPlotFit:UseSymbols
    1012                 NVAR UseLines = root:Packages:Irena:MultiSaPlotFit:UseLines
    1013                 NVAR SymbolSize = root:Packages:Irena:MultiSaPlotFit:SymbolSize
    1014                 NVAR LegendSize = root:Packages:Irena:MultiSaPlotFit:LegendSize
    1015                 NVAR UseOnlyFoldersInLegend = root:Packages:Irena:MultiSaPlotFit:UseOnlyFoldersInLegend
    1016                
     951                NVAR LogXAxis=root:Packages:Irena:MultiSamplePlot:LogXAxis
     952                NVAR LogYAxis=root:Packages:Irena:MultiSamplePlot:LogYAxis
     953                NVAR Colorize=root:Packages:Irena:MultiSamplePlot:Colorize
     954                NVAR AddLegend=root:Packages:Irena:MultiSamplePlot:AddLegend
     955                SVAR XAxisLegend=root:Packages:Irena:MultiSamplePlot:XAxisLegend
     956                SVAR YAxislegend=root:Packages:Irena:MultiSamplePlot:YAxislegend       
     957                SVAR GraphUserTitle=root:Packages:Irena:MultiSamplePlot:GraphUserTitle
     958                NVAR LineThickness = root:Packages:Irena:MultiSamplePlot:LineThickness
     959                NVAR UseSymbols = root:Packages:Irena:MultiSamplePlot:UseSymbols
     960                NVAR UseLines = root:Packages:Irena:MultiSamplePlot:UseLines
     961                NVAR SymbolSize = root:Packages:Irena:MultiSamplePlot:SymbolSize
     962                NVAR LegendSize = root:Packages:Irena:MultiSamplePlot:LegendSize
     963                NVAR UseOnlyFoldersInLegend = root:Packages:Irena:MultiSamplePlot:UseOnlyFoldersInLegend
     964                NVAR DisplayErrorBars = root:Packages:Irena:MultiSamplePlot:DisplayErrorBars
    1017965                ModifyGraph mirror=1
    1018966                DoWIndow/F $(GraphNameString)
     967                IN2G_ShowHideErrorBars(DisplayErrorBars, topGraphStr=GraphNameString)
    1019968                if(LogXAxis)
    1020969                        ModifyGraph/W= $(GraphNameString)/Z log(bottom)=1
     
    10691018                        ModifyGraph/Z/W=$(GraphNameString) mode=!(UseLines)     
    10701019                endif
    1071                 NVAR XOffset=root:Packages:Irena:MultiSaPlotFit:XOffset
    1072                 NVAR YOffset=root:Packages:Irena:MultiSaPlotFit:YOffset
    1073                 NVAR LogXAxis=root:Packages:Irena:MultiSaPlotFit:LogXAxis
    1074                 NVAR LogYAxis=root:Packages:Irena:MultiSaPlotFit:LogYAxis
     1020                NVAR XOffset=root:Packages:Irena:MultiSamplePlot:XOffset
     1021                NVAR YOffset=root:Packages:Irena:MultiSamplePlot:YOffset
     1022                NVAR LogXAxis=root:Packages:Irena:MultiSamplePlot:LogXAxis
     1023                NVAR LogYAxis=root:Packages:Irena:MultiSamplePlot:LogYAxis
    10751024                IN2G_OffsetTopGrphTraces(LogXAxis, XOffset ,LogYAxis, YOffset)
    10761025
     
    10781027                TextBox/W=$(GraphNameString)/C/N=DateTimeTag/F=0/A=RB/E=2/X=2.00/Y=1.00 "\\Z07"+date()+", "+time()             
    10791028       
    1080                 DoWIndow/F IR3L_MultiSaPlotFitPanel
     1029                DoWIndow/F IR3L_MultiSamplePlotPanel
    10811030
    10821031        endif
     
    10901039                //applies only when creating new graph...
    10911040
    1092                 NVAR UseIndra2Data=root:Packages:Irena:MultiSaPlotFit:UseIndra2Data
    1093                 NVAR UseQRSdata=root:Packages:Irena:MultiSaPlotFit:UseQRSdata
    1094                 NVAR  UseResults=  root:Packages:Irena:MultiSaPlotFit:UseResults
    1095                 NVAR  UseUserDefinedData=  root:Packages:Irena:MultiSaPlotFit:UseUserDefinedData
    1096                 NVAR  UseModelData = root:Packages:Irena:MultiSaPlotFit:UseModelData
     1041                NVAR UseIndra2Data=root:Packages:Irena:MultiSamplePlot:UseIndra2Data
     1042                NVAR UseQRSdata=root:Packages:Irena:MultiSamplePlot:UseQRSdata
     1043                NVAR  UseResults=  root:Packages:Irena:MultiSamplePlot:UseResults
     1044                NVAR  UseUserDefinedData=  root:Packages:Irena:MultiSamplePlot:UseUserDefinedData
     1045                NVAR  UseModelData = root:Packages:Irena:MultiSamplePlot:UseModelData
    10971046               
    1098                 SVAR XAxisLegend=root:Packages:Irena:MultiSaPlotFit:XAxisLegend
    1099                 SVAR YAxislegend=root:Packages:Irena:MultiSaPlotFit:YAxislegend
    1100                 SVAR GraphUserTitle=root:Packages:Irena:MultiSaPlotFit:GraphUserTitle
    1101                 SVAR GraphWindowName=root:Packages:Irena:MultiSaPlotFit:GraphWindowName
    1102                 SVAR DataFolderName  = root:Packages:Irena:MultiSaPlotFit:DataFolderName
    1103                 SVAR IntensityWaveName = root:Packages:Irena:MultiSaPlotFit:IntensityWaveName
    1104                 SVAR QWavename = root:Packages:Irena:MultiSaPlotFit:QWavename
    1105                 SVAR ErrorWaveName = root:Packages:Irena:MultiSaPlotFit:ErrorWaveName
    1106                 SVAR DataSubType = root:Packages:Irena:MultiSaPlotFit:DataSubType
    1107                 SVAR SelectedResultsTool = root:Packages:Irena:MultiSaPlotFit:SelectedResultsTool
    1108                 SVAR SelectedResultsType = root:Packages:Irena:MultiSaPlotFit:SelectedResultsType
    1109                 SVAR ResultsGenerationToUse = root:Packages:Irena:MultiSaPlotFit:ResultsGenerationToUse
     1047                SVAR XAxisLegend=root:Packages:Irena:MultiSamplePlot:XAxisLegend
     1048                SVAR YAxislegend=root:Packages:Irena:MultiSamplePlot:YAxislegend       
     1049                SVAR GraphUserTitle=root:Packages:Irena:MultiSamplePlot:GraphUserTitle
     1050                SVAR GraphWindowName=root:Packages:Irena:MultiSamplePlot:GraphWindowName
     1051                SVAR DataFolderName  = root:Packages:Irena:MultiSamplePlot:DataFolderName
     1052                SVAR IntensityWaveName = root:Packages:Irena:MultiSamplePlot:IntensityWaveName
     1053                SVAR QWavename = root:Packages:Irena:MultiSamplePlot:QWavename
     1054                SVAR ErrorWaveName = root:Packages:Irena:MultiSamplePlot:ErrorWaveName
     1055                SVAR DataSubType = root:Packages:Irena:MultiSamplePlot:DataSubType
     1056                SVAR SelectedResultsTool = root:Packages:Irena:MultiSamplePlot:SelectedResultsTool
     1057                SVAR SelectedResultsType = root:Packages:Irena:MultiSamplePlot:SelectedResultsType
     1058                SVAR ResultsGenerationToUse = root:Packages:Irena:MultiSamplePlot:ResultsGenerationToUse
    11101059               
    11111060                string yAxisUnits="arbitrary"
     
    12291178//
    12301179//      string oldDf=GetDataFolder(1)
    1231 //      SetDataFolder root:Packages:Irena:MultiSaPlotFit                                        //go into the folder
    1232 //      Wave OriginalDataIntWave=root:Packages:Irena:MultiSaPlotFit:OriginalDataIntWave
    1233 //      Wave OriginalDataQWave=root:Packages:Irena:MultiSaPlotFit:OriginalDataQWave
    1234 //      Wave OriginalDataErrorWave=root:Packages:Irena:MultiSaPlotFit:OriginalDataErrorWave
    1235 //      SVAR SimpleModel=root:Packages:Irena:MultiSaPlotFit:SimpleModel
     1180//      SetDataFolder root:Packages:Irena:MultiSamplePlot                                       //go into the folder
     1181//      Wave OriginalDataIntWave=root:Packages:Irena:MultiSamplePlot:OriginalDataIntWave
     1182//      Wave OriginalDataQWave=root:Packages:Irena:MultiSamplePlot:OriginalDataQWave
     1183//      Wave OriginalDataErrorWave=root:Packages:Irena:MultiSamplePlot:OriginalDataErrorWave
     1184//      SVAR SimpleModel=root:Packages:Irena:MultiSamplePlot:SimpleModel
    12361185//      Duplicate/O OriginalDataIntWave, LinModelDataIntWave, ModelNormalizedResidual
    12371186//      Duplicate/O OriginalDataQWave, LinModelDataQWave, ModelNormResXWave
     
    12511200//Function IR3L_AppendDataToGraphModel()
    12521201//     
    1253 //      DoWindow IR3L_MultiSaPlotFitPanel
     1202//      DoWindow IR3L_MultiSamplePlotPanel
    12541203//      if(!V_Flag)
    12551204//              return 0
     
    12621211////    Duplicate/O OriginalDataErrorWave, LinModelDataEWave
    12631212//
    1264 //      Wave LinModelDataIntWave=root:Packages:Irena:MultiSaPlotFit:LinModelDataIntWave
    1265 //      Wave LinModelDataQWave=root:Packages:Irena:MultiSaPlotFit:LinModelDataQWave
    1266 //      Wave LinModelDataEWave=root:Packages:Irena:MultiSaPlotFit:LinModelDataEWave
    1267 //      CheckDisplayed /W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay LinModelDataIntWave
     1213//      Wave LinModelDataIntWave=root:Packages:Irena:MultiSamplePlot:LinModelDataIntWave
     1214//      Wave LinModelDataQWave=root:Packages:Irena:MultiSamplePlot:LinModelDataQWave
     1215//      Wave LinModelDataEWave=root:Packages:Irena:MultiSamplePlot:LinModelDataEWave
     1216//      CheckDisplayed /W=IR3L_MultiSamplePlotPanel#LogLogDataDisplay LinModelDataIntWave
    12681217//      if(!V_flag)
    1269 //              AppendToGraph /W=IR3L_MultiSaPlotFitPanel#LinearizedDataDisplay  LinModelDataIntWave  vs LinModelDataQWave
    1270 //              ModifyGraph /W=IR3L_MultiSaPlotFitPanel#LinearizedDataDisplay log=1, mirror(bottom)=1
    1271 //              Label /W=IR3L_MultiSaPlotFitPanel#LinearizedDataDisplay left "\\Z"+IN2G_LkUpDfltVar("AxisLabelSize")+"Intensity"
    1272 //              Label /W=IR3L_MultiSaPlotFitPanel#LinearizedDataDisplay bottom "\\Z"+IN2G_LkUpDfltVar("AxisLabelSize")+"Q [A\\S-1\\M]"
    1273 //              ErrorBars /W=IR3L_MultiSaPlotFitPanel#LinearizedDataDisplay LinModelDataIntWave Y,wave=(LinModelDataEWave,LinModelDataEWave)           
     1218//              AppendToGraph /W=IR3L_MultiSamplePlotPanel#LinearizedDataDisplay  LinModelDataIntWave  vs LinModelDataQWave
     1219//              ModifyGraph /W=IR3L_MultiSamplePlotPanel#LinearizedDataDisplay log=1, mirror(bottom)=1
     1220//              Label /W=IR3L_MultiSamplePlotPanel#LinearizedDataDisplay left "\\Z"+IN2G_LkUpDfltVar("AxisLabelSize")+"Intensity"
     1221//              Label /W=IR3L_MultiSamplePlotPanel#LinearizedDataDisplay bottom "\\Z"+IN2G_LkUpDfltVar("AxisLabelSize")+"Q [A\\S-1\\M]"
     1222//              ErrorBars /W=IR3L_MultiSamplePlotPanel#LinearizedDataDisplay LinModelDataIntWave Y,wave=(LinModelDataEWave,LinModelDataEWave)           
    12741223//      endif
    1275 ////    NVAR DataQEnd = root:Packages:Irena:MultiSaPlotFit:DataQEnd
     1224////    NVAR DataQEnd = root:Packages:Irena:MultiSamplePlot:DataQEnd
    12761225////    if(DataQEnd>0)                  //old Q max already set.
    12771226////            endQp = BinarySearch(OriginalDataQWave, DataQEnd)
     
    12811230////            endQp = numpnts(OriginalDataQWave)-2
    12821231////    endif
    1283 ////    cursor /W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay B, OriginalDataIntWave, endQp
     1232////    cursor /W=IR3L_MultiSamplePlotPanel#LogLogDataDisplay B, OriginalDataIntWave, endQp
    12841233//      DoUpdate
    12851234//
    1286 //      Wave/Z ModelNormalizedResidual=root:Packages:Irena:MultiSaPlotFit:ModelNormalizedResidual
    1287 //      Wave/Z ModelNormResXWave=root:Packages:Irena:MultiSaPlotFit:ModelNormResXWave
    1288 //      CheckDisplayed /W=IR3L_MultiSaPlotFitPanel#ResidualDataDisplay ModelNormalizedResidual  //, ResultIntensity
     1235//      Wave/Z ModelNormalizedResidual=root:Packages:Irena:MultiSamplePlot:ModelNormalizedResidual
     1236//      Wave/Z ModelNormResXWave=root:Packages:Irena:MultiSamplePlot:ModelNormResXWave
     1237//      CheckDisplayed /W=IR3L_MultiSamplePlotPanel#ResidualDataDisplay ModelNormalizedResidual  //, ResultIntensity
    12891238//      if(!V_flag)
    1290 //              AppendToGraph /W=IR3L_MultiSaPlotFitPanel#ResidualDataDisplay  ModelNormalizedResidual  vs ModelNormResXWave
    1291 //              ModifyGraph /W=IR3L_MultiSaPlotFitPanel#LinearizedDataDisplay log=1, mirror(bottom)=1
    1292 //              Label /W=IR3L_MultiSaPlotFitPanel#LinearizedDataDisplay left "\\Z"+IN2G_LkUpDfltVar("AxisLabelSize")+"Normalized res."
    1293 //              Label /W=IR3L_MultiSaPlotFitPanel#LinearizedDataDisplay bottom "\\Z"+IN2G_LkUpDfltVar("AxisLabelSize")+"Q [A\\S-1\\M]"
     1239//              AppendToGraph /W=IR3L_MultiSamplePlotPanel#ResidualDataDisplay  ModelNormalizedResidual  vs ModelNormResXWave
     1240//              ModifyGraph /W=IR3L_MultiSamplePlotPanel#LinearizedDataDisplay log=1, mirror(bottom)=1
     1241//              Label /W=IR3L_MultiSamplePlotPanel#LinearizedDataDisplay left "\\Z"+IN2G_LkUpDfltVar("AxisLabelSize")+"Normalized res."
     1242//              Label /W=IR3L_MultiSamplePlotPanel#LinearizedDataDisplay bottom "\\Z"+IN2G_LkUpDfltVar("AxisLabelSize")+"Q [A\\S-1\\M]"
    12941243//      endif
    12951244//
     
    13001249//      switch(V_Flag)  // numeric switch
    13011250//              case 0:         // execute if case matches expression
    1302 //                      Legend/W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay /N=text0/K
     1251//                      Legend/W=IR3L_MultiSamplePlotPanel#LogLogDataDisplay /N=text0/K
    13031252//                      break                                           // exit from switch
    13041253////            case 1:         // execute if case matches expression
    1305 ////                    SVAR DataFolderName=root:Packages:Irena:MultiSaPlotFit:DataFolderName
     1254////                    SVAR DataFolderName=root:Packages:Irena:MultiSamplePlot:DataFolderName
    13061255////                    Shortname1 = StringFromList(ItemsInList(DataFolderName1, ":")-1, DataFolderName1  ,":")
    1307 ////                    Legend/W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay /C/N=text0/J/A=LB "\\s(OriginalData1IntWave) "+Shortname1
     1256////                    Legend/W=IR3L_MultiSamplePlotPanel#LogLogDataDisplay /C/N=text0/J/A=LB "\\s(OriginalData1IntWave) "+Shortname1
    13081257////                    break
    13091258////            case 2:
    1310 ////                    SVAR DataFolderName=root:Packages:Irena:MultiSaPlotFit:DataFolderName
     1259////                    SVAR DataFolderName=root:Packages:Irena:MultiSamplePlot:DataFolderName
    13111260////                    Shortname2 = StringFromList(ItemsInList(DataFolderName2, ":")-1, DataFolderName2  ,":")
    1312 ////                    Legend/W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay /C/N=text0/J/A=LB "\\s(OriginalData2IntWave) " + Shortname2         
     1261////                    Legend/W=IR3L_MultiSamplePlotPanel#LogLogDataDisplay /C/N=text0/J/A=LB "\\s(OriginalData2IntWave) " + Shortname2               
    13131262////                    break
    13141263////            case 3:
    1315 ////                    SVAR DataFolderName=root:Packages:Irena:MultiSaPlotFit:DataFolderName
     1264////                    SVAR DataFolderName=root:Packages:Irena:MultiSamplePlot:DataFolderName
    13161265////                    Shortname1 = StringFromList(ItemsInList(DataFolderName1, ":")-1, DataFolderName1  ,":")
    1317 ////                    Legend/W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay /C/N=text0/J/A=LB "\\s(OriginalData1IntWave) "+Shortname1+"\r\\s(OriginalData2IntWave) "+Shortname2
     1266////                    Legend/W=IR3L_MultiSamplePlotPanel#LogLogDataDisplay /C/N=text0/J/A=LB "\\s(OriginalData1IntWave) "+Shortname1+"\r\\s(OriginalData2IntWave) "+Shortname2
    13181267////                    break
    13191268////            case 7:
    1320 ////                    SVAR DataFolderName=root:Packages:Irena:MultiSaPlotFit:DataFolderName
     1269////                    SVAR DataFolderName=root:Packages:Irena:MultiSamplePlot:DataFolderName
    13211270////                    Shortname1 = StringFromList(ItemsInList(DataFolderName1, ":")-1, DataFolderName1  ,":")
    1322 ////                    Legend/W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay /C/N=text0/J/A=LB "\\s(OriginalData1IntWave) "+Shortname1+"\r\\s(OriginalData2IntWave) "+Shortname2+"\r\\s(ResultIntensity) Merged Data"
     1271////                    Legend/W=IR3L_MultiSamplePlotPanel#LogLogDataDisplay /C/N=text0/J/A=LB "\\s(OriginalData1IntWave) "+Shortname1+"\r\\s(OriginalData2IntWave) "+Shortname2+"\r\\s(ResultIntensity) Merged Data"
    13231272//                      break
    13241273//      endswitch
     
    13321281//Function IR3L_AppendDataToGraphLogLog()
    13331282//     
    1334 //      DoWindow IR3L_MultiSaPlotFitPanel
     1283//      DoWindow IR3L_MultiSamplePlotPanel
    13351284//      if(!V_Flag)
    13361285//              return 0
     
    13381287//      variable WhichLegend=0
    13391288//      variable startQp, endQp, tmpStQ
    1340 //      Wave OriginalDataIntWave=root:Packages:Irena:MultiSaPlotFit:OriginalDataIntWave
    1341 //      Wave OriginalDataQWave=root:Packages:Irena:MultiSaPlotFit:OriginalDataQWave
    1342 //      Wave OriginalDataErrorWave=root:Packages:Irena:MultiSaPlotFit:OriginalDataErrorWave
    1343 //      CheckDisplayed /W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay OriginalDataIntWave
     1289//      Wave OriginalDataIntWave=root:Packages:Irena:MultiSamplePlot:OriginalDataIntWave
     1290//      Wave OriginalDataQWave=root:Packages:Irena:MultiSamplePlot:OriginalDataQWave
     1291//      Wave OriginalDataErrorWave=root:Packages:Irena:MultiSamplePlot:OriginalDataErrorWave
     1292//      CheckDisplayed /W=IR3L_MultiSamplePlotPanel#LogLogDataDisplay OriginalDataIntWave
    13441293//      if(!V_flag)
    1345 //              AppendToGraph /W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay  OriginalDataIntWave  vs OriginalDataQWave
    1346 //              ModifyGraph /W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay log=1, mirror(bottom)=1
    1347 //              Label /W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay left "Intensity 1"
    1348 //              Label /W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay bottom "Q [A\\S-1\\M]"
    1349 //              ErrorBars /W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay OriginalDataIntWave Y,wave=(OriginalDataErrorWave,OriginalDataErrorWave)               
     1294//              AppendToGraph /W=IR3L_MultiSamplePlotPanel#LogLogDataDisplay  OriginalDataIntWave  vs OriginalDataQWave
     1295//              ModifyGraph /W=IR3L_MultiSamplePlotPanel#LogLogDataDisplay log=1, mirror(bottom)=1
     1296//              Label /W=IR3L_MultiSamplePlotPanel#LogLogDataDisplay left "Intensity 1"
     1297//              Label /W=IR3L_MultiSamplePlotPanel#LogLogDataDisplay bottom "Q [A\\S-1\\M]"
     1298//              ErrorBars /W=IR3L_MultiSamplePlotPanel#LogLogDataDisplay OriginalDataIntWave Y,wave=(OriginalDataErrorWave,OriginalDataErrorWave)               
    13501299//      endif
    1351 //      NVAR DataQEnd = root:Packages:Irena:MultiSaPlotFit:DataQEnd
     1300//      NVAR DataQEnd = root:Packages:Irena:MultiSamplePlot:DataQEnd
    13521301//      if(DataQEnd>0)                  //old Q max already set.
    13531302//              endQp = BinarySearch(OriginalDataQWave, DataQEnd)
     
    13571306//              endQp = numpnts(OriginalDataQWave)-2
    13581307//      endif
    1359 //      cursor /W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay B, OriginalDataIntWave, endQp
     1308//      cursor /W=IR3L_MultiSamplePlotPanel#LogLogDataDisplay B, OriginalDataIntWave, endQp
    13601309//      DoUpdate
    13611310//
    1362 //      Wave/Z OriginalDataIntWave=root:Packages:Irena:MultiSaPlotFit:OriginalDataIntWave
    1363 //      CheckDisplayed /W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay OriginalDataIntWave  //, ResultIntensity
     1311//      Wave/Z OriginalDataIntWave=root:Packages:Irena:MultiSamplePlot:OriginalDataIntWave
     1312//      CheckDisplayed /W=IR3L_MultiSamplePlotPanel#LogLogDataDisplay OriginalDataIntWave  //, ResultIntensity
    13641313//      string Shortname1, ShortName2
    13651314//     
    13661315//      switch(V_Flag)  // numeric switch
    13671316//              case 0:         // execute if case matches expression
    1368 //                      Legend/W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay /N=text0/K
     1317//                      Legend/W=IR3L_MultiSamplePlotPanel#LogLogDataDisplay /N=text0/K
    13691318//                      break                                           // exit from switch
    13701319////            case 1:         // execute if case matches expression
    1371 ////                    SVAR DataFolderName=root:Packages:Irena:MultiSaPlotFit:DataFolderName
     1320////                    SVAR DataFolderName=root:Packages:Irena:MultiSamplePlot:DataFolderName
    13721321////                    Shortname1 = StringFromList(ItemsInList(DataFolderName1, ":")-1, DataFolderName1  ,":")
    1373 ////                    Legend/W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay /C/N=text0/J/A=LB "\\s(OriginalData1IntWave) "+Shortname1
     1322////                    Legend/W=IR3L_MultiSamplePlotPanel#LogLogDataDisplay /C/N=text0/J/A=LB "\\s(OriginalData1IntWave) "+Shortname1
    13741323////                    break
    13751324////            case 2:
    1376 ////                    SVAR DataFolderName=root:Packages:Irena:MultiSaPlotFit:DataFolderName
     1325////                    SVAR DataFolderName=root:Packages:Irena:MultiSamplePlot:DataFolderName
    13771326////                    Shortname2 = StringFromList(ItemsInList(DataFolderName2, ":")-1, DataFolderName2  ,":")
    1378 ////                    Legend/W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay /C/N=text0/J/A=LB "\\s(OriginalData2IntWave) " + Shortname2         
     1327////                    Legend/W=IR3L_MultiSamplePlotPanel#LogLogDataDisplay /C/N=text0/J/A=LB "\\s(OriginalData2IntWave) " + Shortname2               
    13791328////                    break
    13801329////            case 3:
    1381 ////                    SVAR DataFolderName=root:Packages:Irena:MultiSaPlotFit:DataFolderName
     1330////                    SVAR DataFolderName=root:Packages:Irena:MultiSamplePlot:DataFolderName
    13821331////                    Shortname1 = StringFromList(ItemsInList(DataFolderName1, ":")-1, DataFolderName1  ,":")
    1383 ////                    Legend/W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay /C/N=text0/J/A=LB "\\s(OriginalData1IntWave) "+Shortname1+"\r\\s(OriginalData2IntWave) "+Shortname2
     1332////                    Legend/W=IR3L_MultiSamplePlotPanel#LogLogDataDisplay /C/N=text0/J/A=LB "\\s(OriginalData1IntWave) "+Shortname1+"\r\\s(OriginalData2IntWave) "+Shortname2
    13841333////                    break
    13851334////            case 7:
    1386 ////                    SVAR DataFolderName=root:Packages:Irena:MultiSaPlotFit:DataFolderName
     1335////                    SVAR DataFolderName=root:Packages:Irena:MultiSamplePlot:DataFolderName
    13871336////                    Shortname1 = StringFromList(ItemsInList(DataFolderName1, ":")-1, DataFolderName1  ,":")
    1388 ////                    Legend/W=IR3L_MultiSaPlotFitPanel#LogLogDataDisplay /C/N=text0/J/A=LB "\\s(OriginalData1IntWave) "+Shortname1+"\r\\s(OriginalData2IntWave) "+Shortname2+"\r\\s(ResultIntensity) Merged Data"
     1337////                    Legend/W=IR3L_MultiSamplePlotPanel#LogLogDataDisplay /C/N=text0/J/A=LB "\\s(OriginalData1IntWave) "+Shortname1+"\r\\s(OriginalData2IntWave) "+Shortname2+"\r\\s(ResultIntensity) Merged Data"
    13891338//                      break
    13901339//      endswitch
     
    14011350//
    14021351//      string OldDF=GetDataFolder(1)
    1403 //      setDataFolder root:Packages:Irena:MultiSaPlotFit
     1352//      setDataFolder root:Packages:Irena:MultiSamplePlot
    14041353//     
    1405 //      NVAR UseIndra2Data=root:Packages:Irena:MultiSaPlotFit:UseIndra2Data
    1406 //      NVAR UseQRSdata=root:Packages:Irena:MultiSaPlotFit:UseQRSData
    1407 //      NVAR UseResults=root:Packages:Irena:MultiSaPlotFit:UseResults
    1408 //      SVAR StartFolderName=root:Packages:Irena:MultiSaPlotFit:DataStartFolder
    1409 //      SVAR DataMatchString= root:Packages:Irena:MultiSaPlotFit:DataMatchString
    1410 //      SVAR DataSubType = root:Packages:Irena:MultiSaPlotFit:DataSubType
    1411 //      NVAR InvertGrepSearch=root:Packages:Irena:MultiSaPlotFit:InvertGrepSearch
     1354//      NVAR UseIndra2Data=root:Packages:Irena:MultiSamplePlot:UseIndra2Data
     1355//      NVAR UseQRSdata=root:Packages:Irena:MultiSamplePlot:UseQRSData
     1356//      NVAR UseResults=root:Packages:Irena:MultiSamplePlot:UseResults
     1357//      SVAR StartFolderName=root:Packages:Irena:MultiSamplePlot:DataStartFolder
     1358//      SVAR DataMatchString= root:Packages:Irena:MultiSamplePlot:DataMatchString
     1359//      SVAR DataSubType = root:Packages:Irena:MultiSamplePlot:DataSubType
     1360//      NVAR InvertGrepSearch=root:Packages:Irena:MultiSamplePlot:InvertGrepSearch
    14121361//      string LStartFolder, FolderContent
    14131362//      if(stringmatch(StartFolderName,"---"))
     
    14441393//     
    14451394//
    1446 //      Wave/T ListOfAvailableData=root:Packages:Irena:MultiSaPlotFit:ListOfAvailableData
    1447 //      Wave SelectionOfAvailableData=root:Packages:Irena:MultiSaPlotFit:SelectionOfAvailableData
     1395//      Wave/T ListOfAvailableData=root:Packages:Irena:MultiSamplePlot:ListOfAvailableData
     1396//      Wave SelectionOfAvailableData=root:Packages:Irena:MultiSamplePlot:SelectionOfAvailableData
    14481397//      variable i, j, match
    14491398//      string TempStr, FolderCont
     
    15061455//                      result=IR3C_CheckForRightQRSTripletWvs(ResultingWave,AllowQRDataOnly)
    15071456//      elseif (UseResults)
    1508 //              SVAR SelectedResultsTool=root:Packages:Irena:MultiSaPlotFit:SelectedResultsTool
    1509 //              SVAR SelectedResultsType=root:Packages:Irena:MultiSaPlotFit:SelectedResultsType
    1510 //              SVAR ResultsGenerationToUse=root:Packages:Irena:MultiSaPlotFit:ResultsGenerationToUse
     1457//              SVAR SelectedResultsTool=root:Packages:Irena:MultiSamplePlot:SelectedResultsTool
     1458//              SVAR SelectedResultsType=root:Packages:Irena:MultiSamplePlot:SelectedResultsType
     1459//              SVAR ResultsGenerationToUse=root:Packages:Irena:MultiSamplePlot:ResultsGenerationToUse
    15111460//              if(stringmatch(ResultsGenerationToUse,"Latest"))
    15121461//                      result=IN2G_FindFolderWithWvTpsList(StartFolder, 10,SelectedResultsType+"*", 1)
     
    15331482//Function IR3L_SortListOfAvailableFldrs()
    15341483//     
    1535 //      SVAR FolderSortString=root:Packages:Irena:MultiSaPlotFit:FolderSortString
    1536 //      Wave/T ListOfAvailableData=root:Packages:Irena:MultiSaPlotFit:ListOfAvailableData
    1537 //      Wave SelectionOfAvailableData=root:Packages:Irena:MultiSaPlotFit:SelectionOfAvailableData
     1484//      SVAR FolderSortString=root:Packages:Irena:MultiSamplePlot:FolderSortString
     1485//      Wave/T ListOfAvailableData=root:Packages:Irena:MultiSamplePlot:ListOfAvailableData
     1486//      Wave SelectionOfAvailableData=root:Packages:Irena:MultiSamplePlot:SelectionOfAvailableData
    15381487//      if(numpnts(ListOfAvailableData)<2)
    15391488//              return 0
  • trunk/User Procedures/Irena/IR3_SimpleFits.ipf

    r888 r890  
    540540        cursor /W=IR3J_LinDataDisplay A, LinModelDataIntWave, DataQstartPoint
    541541        SetWindow IR3J_LinDataDisplay, hook(SimpleFitsLinCursorMoved) = IR3J_GraphWindowHook
    542         variable tempMaxQ
    543         tempMaxQ = LinModelDataQWave[DataQEndPoint]
    544         SetAxis/W=IR3J_LinDataDisplay bottom 0,tempMaxQ*1.5
    545542        SVAR SimpleModel = root:Packages:Irena:SimpleFits:SimpleModel
    546543        strswitch(SimpleModel)  // string switch
     
    573570                        //<code>]               // when no case matches
    574571        endswitch
     572        //and set limtis on axis
     573        variable tempMaxQ
     574        tempMaxQ = LinModelDataQWave[DataQEndPoint]
     575        SetAxis/W=IR3J_LinDataDisplay bottom 0,tempMaxQ*1.5
     576        variable tempMaxQY, tempMinQY, maxY, minY
     577        tempMaxQY = 0.8*LinModelDataIntWave[DataQstartPoint]
     578        tempMinQY = 1.2*LinModelDataIntWave[DataQEndPoint]
     579        maxY = max(tempMaxQY, tempMinQY)
     580        minY = min(tempMaxQY, tempMinQY)
     581        //SetAxis/W=IR3J_LinDataDisplay left 0.5*tempMinQY,tempMaxQY*1.5
     582        SetAxis/W=IR3J_LinDataDisplay left minY, maxY
    575583
    576584end
     
    793801        Wave OriginalDataIntWave=root:Packages:Irena:SimpleFits:OriginalDataIntWave
    794802        Wave LinModelDataQWave=root:Packages:Irena:SimpleFits:LinModelDataQWave
    795         variable tempMaxQ, tempMaxQY, tempMinQY
     803        variable tempMaxQ, tempMaxQY, tempMinQY, maxY, minY
    796804       
    797805        //check if user removed cursor from graph, in which case do nothing for now...
     
    825833                                        tempMaxQY = 0.8*LinModelDataIntWave[DataQstartPoint]
    826834                                        tempMinQY = 1.2*LinModelDataIntWave[DataQEndPoint]
     835                                        maxY = max(tempMaxQY, tempMinQY)
     836                                        minY = min(tempMaxQY, tempMinQY)
    827837                                        //SetAxis/W=IR3J_LinDataDisplay left 0.5*tempMinQY,tempMaxQY*1.5
    828                                         SetAxis/W=IR3J_LinDataDisplay left tempMinQY, tempMaxQY
     838                                        SetAxis/W=IR3J_LinDataDisplay left minY, maxY
    829839                                endif
    830840                        elseif(StringMatch(traceName, "LinModelDataIntWave" ))
  • trunk/User Procedures/Irena/IRB1_bioSAXS.ipf

    r888 r890  
    1212constant IRB1_ImportBioSAXSASCIIDataVersion = 0.1                       //IRB1_ImportBioSAXSASCIIData tool version number.
    1313constant IRB1_DataManipulation = 0.1                    //IRB1_ImportBioSAXSASCIIData tool version number.
    14 
     14constant IRB1_SetVariableStepScaling = 0.01                     //this is fraction of the value to which the step in SetVariable is set. 
    1515
    1616//functions for bioSAXS community
     
    454454        TabControl ProcessingTabs,pos={262,135},size={250,500}
    455455        TabControl ProcessingTabs,tabLabel(0)="Average",tabLabel(1)="Subtract"
     456        TabControl ProcessingTabs,tabLabel(2)="Scale"
    456457        TabControl ProcessingTabs proc=IRB1_DataManTabProc
    457458
     
    493494        SetVariable SubtractedOutputFldrName, title=" ", limits={0,0,0}, noedit=1, frame=0
    494495
    495 //      Checkbox ProcessTest, pos={520,30},size={76,14},title="Test mode", proc=IR3D_DatamergeCheckProc, variable=root:Packages:Irena:SASDataMerging:ProcessTest
    496 //      Checkbox ProcessMerge, pos={520,50},size={76,14},title="Merge mode", proc=IR3D_DatamergeCheckProc, variable=root:Packages:Irena:SASDataMerging:ProcessMerge
    497 //
    498 //      TitleBox UserMessage title="",fixedSize=1,size={470,20}, pos={480,90}, variable= root:Packages:Irena:SASDataMerging:UserMessageString
    499 //      TitleBox UserMessage help={"This is what will happen"}
    500 
     496        //tab 3 - scaling data
     497        TitleBox ScaleInstructions1 title="\Zr1201. Add data (double click)",size={330,15},pos={270,175},frame=0,fColor=(0,0,65535),labelBack=0
     498        TitleBox ScaleInstructions2 title="\Zr1202. Tweak Scaling/background",size={330,15},pos={270,200},frame=0,fColor=(0,0,65535),labelBack=0
     499        TitleBox ScaleInstructions3 title="\Zr1203. Data are saved automatically",size={330,15},pos={270,225},frame=0,fColor=(0,0,65535),labelBack=0
     500
     501        Button ScaleRangeOfData,pos={280,260},size={190,20}, proc=IRB1_DataManButtonProc,title="4. Scale & Save Selected Data", help={"Load and save selected data and save with _scaled in name"}
     502
     503        SetVariable DataScalingConstant,pos={280,340},size={220,15}, proc=IRB1_DataManSetVarProc,variable=root:Packages:Irena:BioSAXSDataMan:DataScalingConstant
     504        NVAR TmpVal = root:Packages:Irena:BioSAXSDataMan:DataScalingConstant
     505        SetVariable DataScalingConstant, title="Data Scaling :                  ", limits={0,inf,IRB1_SetVariableStepScaling*TmpVal}
     506
     507        SetVariable ErrorScalingConstant,pos={280,370},size={220,15}, proc=IRB1_DataManSetVarProc,variable=root:Packages:Irena:BioSAXSDataMan:ErrorScalingConstant
     508        NVAR TmpVal = root:Packages:Irena:BioSAXSDataMan:ErrorScalingConstant
     509        SetVariable ErrorScalingConstant, title="Error Scaling :                 ", limits={0,inf,IRB1_SetVariableStepScaling*TmpVal}
     510
     511        SetVariable FlatBackgroundSubtract,pos={280,400},size={220,15}, proc=IRB1_DataManSetVarProc,variable=root:Packages:Irena:BioSAXSDataMan:FlatBackgroundSubtract
     512        NVAR TmpVal = root:Packages:Irena:BioSAXSDataMan:FlatBackgroundSubtract
     513        SetVariable FlatBackgroundSubtract, title="Flat background subtract :   ", limits={-inf,inf,IRB1_SetVariableStepScaling*TmpVal}
     514
     515
     516        ///*** end of tabs...
    501517        Display /W=(521,10,1183,750) /HOST=# /N=LogLogDataDisplay
    502518        SetActiveSubwindow ##
    503 //      Display /W=(521,350,1183,410) /HOST=# /N=ResidualDataDisplay
    504 //      SetActiveSubwindow ##
    505 //      Display /W=(521,420,1183,750) /HOST=# /N=LinearizedDataDisplay
    506 //      SetActiveSubwindow ##
    507 
     519                        //      Display /W=(521,350,1183,410) /HOST=# /N=ResidualDataDisplay
     520                        //      SetActiveSubwindow ##
     521                        //      Display /W=(521,420,1183,750) /HOST=# /N=LinearizedDataDisplay
     522                        //      SetActiveSubwindow ##
     523
     524
     525        SetVariable SleepBetweenDataProcesses,pos={275,640},size={220,15}, noproc,variable=root:Packages:Irena:BioSAXSDataMan:SleepBetweenDataProcesses
     526        SetVariable SleepBetweenDataProcesses, title="Sleep between data sets", limits={0.0,30,1}
    508527
    509528        Checkbox OverwriteExistingData, pos={320,670},size={76,14},title="Overwrite Ouput?", noproc, variable=root:Packages:Irena:BioSAXSDataMan:OverwriteExistingData
     
    536555                        NVAR InvertGrepSearch = root:Packages:Irena:BioSAXSDataMan:InvertGrepSearch
    537556                        Variable tab = tca.tab
    538                         //tab0
     557                        //tab 0
    539558                                Button SelectAllData,win=IRB1_DataManipulationPanel, disable=(tab!=0)
    540559                                Button PlotSelectedData,win=IRB1_DataManipulationPanel, disable=(tab!=0)
    541560                                TitleBox AverageInstructions,win=IRB1_DataManipulationPanel, disable=(tab!=0)
    542561                                Button AverageData,win=IRB1_DataManipulationPanel, disable=(tab!=0)
    543                                 Button ClearGraph,win=IRB1_DataManipulationPanel, disable=(tab!=0)
     562                                Button ClearGraph,win=IRB1_DataManipulationPanel, disable=(tab!=0 && tab!=2)
    544563                                TitleBox AverageInstructions2,win=IRB1_DataManipulationPanel, disable=(tab!=0)
    545564                                SetVariable AverageOutputFolderString,win=IRB1_DataManipulationPanel, disable=(tab!=0)
     
    559578                                SetVariable UserBufferDataFolderName,win=IRB1_DataManipulationPanel, disable=(tab!=1)
    560579                                SetVariable UserSourceDataFolderName,win=IRB1_DataManipulationPanel, disable=(tab!=1)
     580                        //tab 2
     581                                TitleBox ScaleInstructions1,win=IRB1_DataManipulationPanel, disable=(tab!=2)
     582                                TitleBox ScaleInstructions2,win=IRB1_DataManipulationPanel, disable=(tab!=2)
     583                                TitleBox ScaleInstructions3,win=IRB1_DataManipulationPanel, disable=(tab!=2)
     584                                SetVariable DataScalingConstant,win=IRB1_DataManipulationPanel, disable=(tab!=2)
     585                                SetVariable ErrorScalingConstant,win=IRB1_DataManipulationPanel, disable=(tab!=2)
     586                                Button ScaleRangeOfData,win=IRB1_DataManipulationPanel, disable=(tab!=2)
     587                                SetVariable FlatBackgroundSubtract,win=IRB1_DataManipulationPanel, disable=(tab!=2)
    561588                               
    562589                        //other stuff, clear teh graph
     
    566593                                InvertGrepSearch = 0
    567594                                DataMatchString="ave"
    568                         else
     595                        elseif(tab==0)
    569596                                InvertGrepSearch = 1
    570597                                DataMatchString="ave|sub"
    571                         endif
     598                        elseif(tab==2)
     599                                InvertGrepSearch = 0
     600                                DataMatchString=""
     601                        endif
     602                       
    572603                                IR3C_MultiUpdateListOfAvailFiles("root:Packages:Irena:BioSAXSDataMan")
    573604                        break
     
    609640                                IRB1_DataManSubtractBufferMany()
    610641                        endif
    611 
     642                        if(stringMatch(ba.ctrlName,"ScaleRangeOfData"))
     643                                IRB1_DataManScaleMany()
     644                        endif
    612645                        if(stringmatch(ba.ctrlName,"GetHelp"))
    613                                         IN2G_OpenWebManual("Irena/ImportData.html")                             //fix me!!                     
     646                                IN2G_OpenWebManual("Irena/ImportData.html")                             //fix me!!                     
    614647                        endif
    615648
     
    679712        Ytmplt = "(?i)r_"
    680713        Etmplt = "(?i)s_"
    681         UseStdDev = 0
     714        UseStdDev = 1
    682715        UseSEM = 0
    683         PropagateErrors = 1
     716        PropagateErrors = 0
    684717        UseMinMax = 0
    685718        IR3M_AverageMultipleWaves(FldrNamesTWv,SelFldrs,Xtmplt,Ytmplt,Etmplt,UseStdDev,UseSEM, UseMinMax, PropagateErrors)     
     
    753786//**********************************************************************************************************
    754787//**************************************************************************************
    755         Function IRB1_DataManAppendOneDataSet(FolderNameStr)
     788Function IRB1_DataManAppendOneDataSet(FolderNameStr)
    756789        string FolderNameStr
    757790       
     
    761794        //figure out if we are doing averaging or buffer subtraction
    762795        ControlInfo /W=IRB1_DataManipulationPanel ProcessingTabs
    763         variable UsingAveraging
     796        variable UsingAveraging=0
     797        variable Subtracting=0
     798        variable Scaling=0
    764799        if(V_Value==0)
    765800                UsingAveraging=1
    766         else
    767                 UsingAveraging=0                        //buffer subtraction
     801        elseif(V_Value==1)
     802                Subtracting=1                   //buffer subtraction
     803        elseif(V_Value==2)
     804                Scaling=1                                       //scaling data         
    768805        endif
    769806        SVAR DataStartFolder=root:Packages:Irena:BioSAXSDataMan:DataStartFolder
     
    815852                Abort "Data selection failed for Data"
    816853        endif
    817         if(!UsingAveraging)             //subtracting buffer from ave data
     854        if(Subtracting)         //subtracting buffer from ave data or scaling data, in each case, must remove the existing files.
    818855                //preset for user output name for merged data
    819856                UserSourceDataFolderName = StringFromList(ItemsInList(FolderNameStr, ":")-1, FolderNameStr, ":")
     
    835872                endif
    836873        endif
     874        if(Scaling)
     875                //remove, if needed, all data from graph
     876                IRB1_DataManRemoveAllDataSets()
     877        endif
    837878        CheckDisplayed /W=IRB1_DataManipulationPanel#LogLogDataDisplay SourceIntWv
    838879        if(!V_flag)
     
    843884                ErrorBars /W=IRB1_DataManipulationPanel#LogLogDataDisplay $(NameOfWave(SourceIntWv)) Y,wave=(SourceErrorWv,SourceErrorWv)
    844885        endif
     886        if(Scaling)             //in this case we can safely process data or user looks at graph with no change.
     887                IRB1_DataManScaleDataOne()
     888        endif
     889       
    845890        IN2G_ColorTopGrphRainbow(topGraphStr="IRB1_DataManipulationPanel#LogLogDataDisplay")
    846891        IN2G_LegendTopGrphFldr(12, 20, 1, 0, topGraphStr="IRB1_DataManipulationPanel#LogLogDataDisplay")
     
    875920
    876921        ListOfVariables="UseIndra2Data1;UseQRSdata1;DisplayErrorBars;"
    877         ListOfVariables+="OverwriteExistingData;"
     922        ListOfVariables+="OverwriteExistingData;SleepBetweenDataProcesses;"
    878923        ListOfVariables+="BufferScalingFraction;DataQEnd;DataQstart;"
     924        ListOfVariables+="DataScalingConstant;ErrorScalingConstant;FlatBackgroundSubtract;"
    879925
    880926        //and here we create them
     
    915961                BufferScalingFraction = 1
    916962        endif
     963        NVAR DataScalingConstant
     964        NVAR ErrorScalingConstant
     965        if(DataScalingConstant<1e-30)
     966                DataScalingConstant=1
     967        endif
     968        if(ErrorScalingConstant<1e-30)
     969                ErrorScalingConstant=1
     970        endif
     971        NVAR SleepBetweenDataProcesses
     972        if(SleepBetweenDataProcesses<0.1)
     973                SleepBetweenDataProcesses = 2
     974        endif
     975       
    917976        Make/O/T/N=(0) ListOfAvailableData
    918977        Make/O/N=(0) SelectionOfAvailableData
     
    10391098        Wave/T ListOfAvailableData = root:Packages:Irena:BioSAXSDataMan:ListOfAvailableData
    10401099        Wave SelectionOfAvailableData = root:Packages:Irena:BioSAXSDataMan:SelectionOfAvailableData     
     1100        NVAR SleepBetweenDataProcesses = root:Packages:Irena:BioSAXSDataMan:SleepBetweenDataProcesses
    10411101        for(i=0;i<numpnts(ListOfAvailableData);i+=1)
    10421102                if(SelectionOfAvailableData[i]>0.5)
     
    10441104                        IRB1_DataManSubtractBufferOne()
    10451105                        DoUpdate
    1046                         sleep/S/C=6/M="Subtracted buffer for "+ListOfAvailableData[i] 2
     1106                        sleep/S/C=6/M="Subtracted buffer for "+ListOfAvailableData[i] SleepBetweenDataProcesses
    10471107                endif
    10481108        endfor
     
    10531113///******************************************************************************************
    10541114///******************************************************************************************
     1115///******************************************************************************************
     1116///******************************************************************************************
     1117///******************************************************************************************
     1118Function IRB1_DataManScaleMany()
     1119
     1120        DfRef OldDf=GetDataFolderDFR()
     1121        SetDataFolder root:Packages:Irena:BioSAXSDataMan:
     1122        IRB1_DataManRemoveAllDataSets()
     1123        variable i
     1124        Wave/T ListOfAvailableData = root:Packages:Irena:BioSAXSDataMan:ListOfAvailableData
     1125        Wave SelectionOfAvailableData = root:Packages:Irena:BioSAXSDataMan:SelectionOfAvailableData     
     1126        NVAR SleepBetweenDataProcesses = root:Packages:Irena:BioSAXSDataMan:SleepBetweenDataProcesses
     1127        for(i=0;i<numpnts(ListOfAvailableData);i+=1)
     1128                if(SelectionOfAvailableData[i]>0.5)
     1129                        IRB1_DataManAppendOneDataSet(ListOfAvailableData[i])
     1130                        IRB1_DataManScaleDataOne()
     1131                        DoUpdate
     1132                        sleep/S/C=6/M="Subtracted buffer for "+ListOfAvailableData[i] SleepBetweenDataProcesses
     1133                endif
     1134        endfor
     1135        Print "Done subtracting buffer"
     1136        SetDataFolder OldDf
     1137end
     1138///******************************************************************************************
     1139///******************************************************************************************
     1140///******************************************************************************************
     1141
    10551142
    10561143Function IRB1_DataManSubtractBufferOne()
     
    11691256//**********************************************************************************************************
    11701257//**********************************************************************************************************
     1258
     1259Function IRB1_DataManScaleDataOne()
     1260
     1261        DfRef OldDf=GetDataFolderDFR()
     1262        SetDataFolder root:Packages:Irena:BioSAXSDataMan:
     1263        variable i, numTraces
     1264        string TraceNames
     1265        string OriginalDataNote, BufferDataNote
     1266       
     1267        SVAR SourceFolderName = root:Packages:Irena:BioSAXSDataMan:DataFolderName
     1268        NVAR Overwrite=root:Packages:Irena:BioSAXSDataMan:OverwriteExistingData
     1269        NVAR DataScalingConstant=root:Packages:Irena:BioSAXSDataMan:DataScalingConstant
     1270        NVAR ErrorScalingConstant=root:Packages:Irena:BioSAXSDataMan:ErrorScalingConstant
     1271        NVAR FlatBackgroundSubtract=root:Packages:Irena:BioSAXSDataMan:FlatBackgroundSubtract
     1272
     1273        string XwaveNameStr = SourceFolderName+"q_"+StringFromList(ItemsInList(SourceFolderName,":")-1, SourceFolderName, ":")
     1274        string YwaveNameStr = SourceFolderName+"r_"+StringFromList(ItemsInList(SourceFolderName,":")-1, SourceFolderName, ":")
     1275        string EwaveNameStr = SourceFolderName+"s_"+StringFromList(ItemsInList(SourceFolderName,":")-1, SourceFolderName, ":")
     1276
     1277        Wave/Z Xwave = $(XwaveNameStr)
     1278        Wave/Z Ywave = $(YwaveNameStr)
     1279        Wave/Z Ewave = $(EwaveNameStr)
     1280        if(!WaveExists(XWave) || !WaveExists(YWave) || !WaveExists(EWave))
     1281                ABort "Source wave selection failed"
     1282        endif
     1283
     1284        Duplicate/O Xwave, q_SampleData
     1285        Duplicate/O Ywave, r_SampleData
     1286        Duplicate/O Ewave, s_SampleData
     1287
     1288        Wave q_SampleData = q_SampleData
     1289        Wave r_SampleData = r_SampleData
     1290        Wave s_SampleData = s_SampleData
     1291        OriginalDataNote=note(r_SampleData)
     1292        Duplicate/Free r_SampleData, ResultsInt
     1293        Duplicate/Free q_SampleData, ResultsQ
     1294        Duplicate/Free s_SampleData, ResultsE
     1295        //process the data
     1296        ResultsInt = DataScalingConstant * (r_SampleData -FlatBackgroundSubtract)
     1297        ResultsE = ErrorScalingConstant * s_SampleData
     1298       
     1299        IN2G_ReplaceNegValsByNaNWaves(ResultsInt,ResultsQ,ResultsE)
     1300        IN2G_RemoveNaNsFrom3Waves(ResultsInt,ResultsQ,ResultsE)
     1301
     1302        String OutFldrNm, OutXWvNm, OutYWvNm,OutEWvNm
     1303        OutFldrNm = removeEnding(SourceFolderName,":") + "_scaled"
     1304        string FirstFolderShortName=StringFromList(ItemsInList(OutFldrNm, ":")-1, OutFldrNm, ":")
     1305        string OutputWaveNameMain = RemoveListItem(ItemsInList(FirstFolderShortName,"_")-1, FirstFolderShortName, "_") +"scaled"
     1306        OutYWvNm = "r_"+OutputWaveNameMain
     1307        OutEWvNm = "s_"+OutputWaveNameMain
     1308        OutXWvNm = "q_"+OutputWaveNameMain
     1309        //and now I need to save the data
     1310        if(DataFolderExists(OutFldrNm)&&!Overwrite)
     1311                DoAlert /T="Folder for Scaled data exists" 1, "Folder "+OutFldrNm+" exists, do you want to overwrite?"
     1312                if(V_Flag!=1)
     1313                        abort
     1314                endif
     1315        endif
     1316        NewDataFolder/O/S $(RemoveEnding(OutFldrNm , ":") )
     1317        Duplicate/O ResultsQ, $(OutXWvNm)
     1318        Duplicate/O ResultsInt, $(OutYWvNm)
     1319        Duplicate/O ResultsE, $(OutEWvNm)
     1320        Wave NewScaledXWave = $(OutXWvNm)
     1321        Wave NewScaledYWave = $(OutYWvNm)
     1322        Wave NewScaledEWave = $(OutEWvNm)
     1323        print "Scaled data from "+SourceFolderName+"   and saved into new folder :    "+OutFldrNm
     1324        string NewNote
     1325        NewNote="Data scaled;"+date()+";"+time()+";Data Folder="+SourceFolderName+";"
     1326        NewNote+="Intensity values scaled by:"+num2str(DataScalingConstant)+";"+"After subtracting flat background:"+num2str(FlatBackgroundSubtract)+";"
     1327        NewNote+="Error values scaled by:"+num2str(ErrorScalingConstant)+";"
     1328        NewNote+="Prior data note:"+OriginalDataNote+";"
     1329        Note /K/NOCR NewScaledYWave, NewNote
     1330        Note /K/NOCR NewScaledXWave, NewNote
     1331        Note /K/NOCR NewScaledEWave, NewNote
     1332        CheckDisplayed /W=IRB1_DataManipulationPanel#LogLogDataDisplay $(NameOfWave(NewScaledYWave))
     1333        if(V_Flag!=1)
     1334                AppendToGraph /W=IRB1_DataManipulationPanel#LogLogDataDisplay  NewScaledYWave  vs NewScaledXWave
     1335                ErrorBars/T=2/L=2 /W=IRB1_DataManipulationPanel#LogLogDataDisplay $(NameOfWave(NewScaledYWave)) Y,wave=(NewScaledEWave,NewScaledEWave)
     1336                ModifyGraph /W=IRB1_DataManipulationPanel#LogLogDataDisplay lstyle($(NameOfWave(NewScaledYWave)))=3,lsize($(NameOfWave(NewScaledYWave)))=3,rgb($(NameOfWave(NewScaledYWave)))=(0,0,0)
     1337                ModifyGraph /W=IRB1_DataManipulationPanel#LogLogDataDisplay rgb($(NameOfWave(NewScaledYWave)))=(0,0,65535)
     1338        endif
     1339        IN2G_ColorTopGrphRainbow(topGraphStr="IRB1_DataManipulationPanel#LogLogDataDisplay")
     1340        IN2G_LegendTopGrphFldr(12, 20, 1, 0, topGraphStr="IRB1_DataManipulationPanel#LogLogDataDisplay")
     1341        NVAR DisplayErrorBars = root:Packages:Irena:BioSAXSDataMan:DisplayErrorBars
     1342        IN2G_ShowHideErrorBars(DisplayErrorBars, topGraphStr="IRB1_DataManipulationPanel#LogLogDataDisplay")
     1343
     1344        setDataFOlder oldDf
     1345end
     1346//**********************************************************************************************************
     1347//**********************************************************************************************************
Note: See TracChangeset for help on using the changeset viewer.