Ignore:
Timestamp:
Feb 19, 2016 4:37:30 PM (7 years ago)
Author:
srkline
Message:

more changes, filling in functionality of the initial data correction

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_Test_RAW_Panel.ipf

    r979 r981  
    66// this will become the equivalent of "RawWindowHook" 
    77// 
    8 // Procedures to display the detector data along with whatever visualization tools 
    9 // necessary to understand the data 
    10 // 
     8// Procedures to: 
     9// display the detector data 
     10// visualization tools 
     11// mouse interaction 
     12// status information necessary to understand the data 
     13// buttons to more functionality to process data 
    1114 
    1215 
     
    3437         
    3538        DoWindow/F VSANS_Data 
    36         Print V_flag 
     39//      Print V_flag 
    3740        if(V_flag==0) 
    3841         
     
    4043                 
    4144                VSANS_DataPanel()               //draws the panel 
    42                 // fake a click on all three tabs - to populate the data 
    43                 FakeTabClick(2) 
    44                 FakeTabClick(1) 
    45                 FakeTabClick(0) 
     45 
    4646        endif 
    4747         
     
    4949        // what isn't automatically picked up? What is "stale" on the display? 
    5050        String/G root:Packages:NIST:VSANS:Globals:gCurDispType = type 
     51         
     52        // fake a click on all three tabs - to populate the data 
     53        FakeTabClick(2) 
     54        FakeTabClick(1) 
     55        FakeTabClick(0) 
    5156//      DoWindow/T VSANS_Data,type + " VSANS_Data" 
     57 
     58        String newTitle = "WORK_"+type 
     59        DoWindow/F VSANS_Data 
     60        DoWindow/T VSANS_Data, newTitle 
     61        KillStrings/Z newTitle 
     62         
    5263end 
    5364 
     
    354365//  x- remove the dependency on VCALC being initialized first, and using dummy waves from there... 
    355366// 
     367// -- can I use "ReplaceWave" to do this? 
    356368Function VDataTabProc(tca) : TabControl 
    357369        STRUCT WMTabControlAction &tca 
     
    368380                        SetDataFolder root: 
    369381                         
     382                        SVAR dataType = root:Packages:NIST:VSANS:Globals:gCurDispType 
     383                         
     384                        //************ 
     385                        // -- can I use "ReplaceWave/W=VSANS_Data#det_panelsB allinCDF" to do this? 
     386                        // -- only works for "B", since for M and F panels, all 4 data sets are named "data" 
     387                        // in their respective folders... 
     388 
     389                        String tmpStr 
     390                        Variable ii 
    370391                        if(tab==2) 
    371                                 //SetDataFolder root:Packages:NIST:VSANS:VCALC:Back 
    372                                 //Wave det_B 
    373                                 SetDataFolder root:Packages:NIST:VSANS:RAW:entry:entry:instrument:detector_B 
     392                                tmpStr = ImageNameList("VSANS_Data#det_panelsB",";") 
     393                                // for some odd reason, it appears that I need to work from the back of the list 
     394                                // since the traces get "renumbered" as I take them off !! A do loop may be a better choice 
     395                                if(ItemsInList(tmpStr) > 0) 
     396                                        do 
     397                                                RemoveImage /W=VSANS_Data#det_panelsB $(StringFromList(0,tmpStr,";"))           //get 1st item 
     398                                                tmpStr = ImageNameList("VSANS_Data#det_panelsB",";")                                                            //refresh list 
     399                                        while(ItemsInList(tmpStr) > 0) 
     400                                endif 
     401                                 
     402                                SetDataFolder $("root:Packages:NIST:VSANS:"+dataType+":entry:entry:instrument:detector_B") 
    374403                                Wave det_B=data 
    375                                 CheckDisplayed /W=VSANS_Data#det_panelsB det_B 
    376                                 if(V_flag == 0) 
     404                                 
     405                                CheckDisplayed /W=VSANS_Data#det_panelsB det_B   
     406                                if(V_flag == 0)         // 0 == data is not displayed, so append it 
    377407                                        AppendImage/W=VSANS_Data#det_panelsB det_B 
    378 //                                      ModifyImage/W=VSANS_Data#det_panelsB det_B ctab= {*,*,ColdWarm,0} 
    379408                                        ModifyImage/W=VSANS_Data#det_panelsB ''#0 ctab= {*,*,ColdWarm,0} 
    380409                                endif 
     
    388417         
    389418                        if(tab==1) 
    390                                 //SetDataFolder root:Packages:NIST:VSANS:VCALC:Middle 
    391                                 //Wave det_MR,det_ML,det_MB,det_MT 
    392                                 SetDataFolder root:Packages:NIST:VSANS:RAW:entry:entry:instrument:detector_ML 
    393                                 Wave det_ML=data 
    394                                 SetDataFolder root:Packages:NIST:VSANS:RAW:entry:entry:instrument:detector_MR 
     419                                tmpStr = ImageNameList("VSANS_Data#det_panelsM",";") 
     420                                // for some odd reason, it appears that I need to work from the back of the list 
     421                                // since the traces get "renumbered" as I take them off !! A do loop may be a better choice 
     422                                if(ItemsInList(tmpStr) > 0) 
     423                                        do 
     424                                                RemoveImage /W=VSANS_Data#det_panelsM $(StringFromList(0,tmpStr,";"))           //get 1st item 
     425                                                tmpStr = ImageNameList("VSANS_Data#det_panelsM",";")                                                            //refresh list 
     426                                        while(ItemsInList(tmpStr) > 0) 
     427                                endif 
     428 
     429                                SetDataFolder $("root:Packages:NIST:VSANS:"+dataType+":entry:entry:instrument:detector_ML") 
     430                                Wave det_ML=data                                 
     431                                SetDataFolder $("root:Packages:NIST:VSANS:"+dataType+":entry:entry:instrument:detector_MR") 
    395432                                Wave det_MR=data 
    396                                 SetDataFolder root:Packages:NIST:VSANS:RAW:entry:entry:instrument:detector_MT 
     433                                SetDataFolder $("root:Packages:NIST:VSANS:"+dataType+":entry:entry:instrument:detector_MT") 
    397434                                Wave det_MT=data 
    398                                 SetDataFolder root:Packages:NIST:VSANS:RAW:entry:entry:instrument:detector_MB 
     435                                SetDataFolder $("root:Packages:NIST:VSANS:"+dataType+":entry:entry:instrument:detector_MB") 
    399436                                Wave det_MB=data 
     437 
    400438                                CheckDisplayed /W=VSANS_Data#det_panelsM det_MR 
    401439                                if(V_flag == 0) 
     
    404442                                        AppendImage/W=VSANS_Data#det_panelsM det_ML 
    405443                                        AppendImage/W=VSANS_Data#det_panelsM det_MR 
    406 //                                      ModifyImage/W=VSANS_Data#det_panelsM det_MT ctab= {*,*,ColdWarm,0} 
    407 //                                      ModifyImage/W=VSANS_Data#det_panelsM det_MB ctab= {*,*,ColdWarm,0} 
    408 //                                      ModifyImage/W=VSANS_Data#det_panelsM det_ML ctab= {*,*,ColdWarm,0} 
    409 //                                      ModifyImage/W=VSANS_Data#det_panelsM det_MR ctab= {*,*,ColdWarm,0} 
    410444                                        ModifyImage/W=VSANS_Data#det_panelsM ''#0 ctab= {*,*,ColdWarm,0}                // ''#n means act on the nth image (there are 4) 
    411445                                        ModifyImage/W=VSANS_Data#det_panelsM ''#1 ctab= {*,*,ColdWarm,0} 
     
    422456 
    423457                        if(tab==0) 
    424                                 //SetDataFolder root:Packages:NIST:VSANS:VCALC:Front 
    425                                 //Wave det_FL,det_FR,det_FT,det_FB 
    426                                 SetDataFolder root:Packages:NIST:VSANS:RAW:entry:entry:instrument:detector_FL 
     458                                tmpStr = ImageNameList("VSANS_Data#det_panelsF",";") 
     459                                // for some odd reason, it appears that I need to work from the back of the list 
     460                                // since the traces get "renumbered" as I take them off !! A do loop may be a better choice 
     461                                if(ItemsInList(tmpStr) > 0) 
     462                                        do 
     463                                                RemoveImage /W=VSANS_Data#det_panelsF $(StringFromList(0,tmpStr,";"))           //get 1st item 
     464                                                tmpStr = ImageNameList("VSANS_Data#det_panelsF",";")                                                            //refresh list 
     465                                        while(ItemsInList(tmpStr) > 0) 
     466                                endif 
     467 
     468                                SetDataFolder $("root:Packages:NIST:VSANS:"+dataType+":entry:entry:instrument:detector_FL") 
    427469                                Wave det_FL=data 
    428                                 SetDataFolder root:Packages:NIST:VSANS:RAW:entry:entry:instrument:detector_FR 
     470                                SetDataFolder $("root:Packages:NIST:VSANS:"+dataType+":entry:entry:instrument:detector_FR") 
    429471                                Wave det_FR=data 
    430                                 SetDataFolder root:Packages:NIST:VSANS:RAW:entry:entry:instrument:detector_FT 
    431                                 Wave det_FT=data 
    432                                 SetDataFolder root:Packages:NIST:VSANS:RAW:entry:entry:instrument:detector_FB 
     472                                SetDataFolder $("root:Packages:NIST:VSANS:"+dataType+":entry:entry:instrument:detector_FT") 
     473                                Wave det_FT=data                                 
     474                                SetDataFolder $("root:Packages:NIST:VSANS:"+dataType+":entry:entry:instrument:detector_FB") 
    433475                                Wave det_FB=data 
     476                                                                 
    434477                                CheckDisplayed /W=VSANS_Data#det_panelsF det_FL 
    435478                                if(V_flag == 0) 
     
    438481                                        AppendImage/W=VSANS_Data#det_panelsF det_FL 
    439482                                        AppendImage/W=VSANS_Data#det_panelsF det_FR 
    440 //                                      ModifyImage/W=VSANS_Data#det_panelsF det_FT ctab= {*,*,ColdWarm,0} 
    441 //                                      ModifyImage/W=VSANS_Data#det_panelsF det_FB ctab= {*,*,ColdWarm,0} 
    442 //                                      ModifyImage/W=VSANS_Data#det_panelsF det_FL ctab= {*,*,ColdWarm,0} 
    443 //                                      ModifyImage/W=VSANS_Data#det_panelsF det_FR ctab= {*,*,ColdWarm,0} 
    444483                                        ModifyImage/W=VSANS_Data#det_panelsF ''#0 ctab= {*,*,ColdWarm,0} 
    445484                                        ModifyImage/W=VSANS_Data#det_panelsF ''#1 ctab= {*,*,ColdWarm,0} 
     
    454493                                SetDataFolder root: 
    455494                        endif 
    456                          
     495 
     496// make sure log scaling is correct                      
     497                        NVAR state = root:Packages:NIST:VSANS:Globals:gIsLogScale 
     498                         
     499                        // on the front:                         
     500                        ModifyImage/W=VSANS_Data#det_panelsF ''#0 log=State 
     501                        ModifyImage/W=VSANS_Data#det_panelsF ''#1 log=State 
     502                        ModifyImage/W=VSANS_Data#det_panelsF ''#2 log=State 
     503                        ModifyImage/W=VSANS_Data#det_panelsF ''#3 log=State 
     504                        //on the middle: 
     505                        ModifyImage/W=VSANS_Data#det_panelsM ''#0 log=State 
     506                        ModifyImage/W=VSANS_Data#det_panelsM ''#1 log=State 
     507                        ModifyImage/W=VSANS_Data#det_panelsM ''#2 log=State 
     508                        ModifyImage/W=VSANS_Data#det_panelsM ''#3 log=State 
     509                        // on the back: 
     510                        ModifyImage/W=VSANS_Data#det_panelsB ''#0 log=State 
     511//// 
     512         
    457513                                                 
    458514                        break 
     
    602658 
    603659 
    604 // TODO 
     660// TODO -- this appears to be complete... 
    605661// toggle the (z) value of the display log/lin 
    606662// 
     
    658714// TODO 
    659715// possibly function to "tag" files right here in the disaply with things 
    660 // like their intent, or other values that reduction will need,  
     716// like their intent, or other values that reduction will need, kind of like a "quick patch" 
     717// with limited functionality (since full function would be a nightmare!)  
    661718Function TagFileButtonProc(ba) : ButtonControl 
    662719        STRUCT WMButtonAction &ba 
Note: See TracChangeset for help on using the changeset viewer.