Ignore:
Timestamp:
May 22, 2019 2:36:28 PM (3 years ago)
Author:
srkline
Message:

some addtions:

DIV file generation is now aware of the High resolution detector, but the procedures are still awaiting data for testing.

Read Noise file can now be read in and stored in the (RAW) folder ReadNoise?. This is not a work folder and the data isnot changed from the RAW state. This image is then subtracted from other raw data as it is converted to a work file (SAM, EMP, etc.) Previously, only a constant value was subtracted. If the ReadNoise? data is not present, the constant will be subtracted. There is a menu option to load the ReadNoise? data.

File:
1 edited

Legend:

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

    r1124 r1151  
    5858        Button button1_2,pos={54.00,70.00},size={120.00,20.00},proc=V_DIVMaskButtonProc,title="Mask for DIV" 
    5959 
    60         DrawText 36,130,"Reduce data for one carriage"   
    61         DrawText 36,200,"Repeat for the other carriage" 
     60        DrawText 32,130,"Reduce data for one carriage"   
     61        DrawText 32,200,"Repeat for the other carriage(s)" 
    6262         
    6363        Button button2,pos={54.00,145.00},size={120.00,20.00},proc=V_DIVNormalizeButtonProc,title="Normalize+Copy" 
    6464 
    65         DrawText 36,290,"Once data for both carriages has\rbeen normalized, save the file"       
     65        DrawText 32,290,"Once data for both (or 3) carriages\rhas been normalized, save the file"        
    6666         
    6767        Button button3,pos={54.00,300.00},size={120.00,20.00},proc=V_DIVSaveButtonProc,title="Save DIV" 
     
    163163Proc V_NormalizeDIV_proc(reducedFolderType,carriageStr) 
    164164        String reducedFolderType="COR",carriageStr="F" 
    165         if(cmpstr(carriageStr,"F")==0) 
     165         
     166        if (cmpstr(carriageStr,"B")==0) 
     167                V_NormalizeDIV_onePanel(reducedFolderType,"B") 
     168        elseif (cmpstr(carriageStr,"F")==0) 
    166169                V_NormalizeDIV_onePanel(reducedFolderType,"FL") 
    167170                V_NormalizeDIV_onePanel(reducedFolderType,"FR") 
     
    503506 
    504507        PopupMenu popup0,pos={17.00,10.00},size={77.00,23.00},proc=V_DispCarriagePopMenuProc,title="Carriage" 
    505         PopupMenu popup0,mode=1,value= #"\"F;M;\"" 
     508        PopupMenu popup0,mode=1,value= #"\"F;M;B;\"" 
    506509        PopupMenu popup1,pos={134.00,10.00},size={68.00,23.00},proc=V_DispFolderPopMenuProc,title="Folder" 
    507510        PopupMenu popup1,mode=1,popvalue="RAW",value= #"\"SAM;EMP;BGD;DIV;COR;CAL;RAW;ABS;STO;SUB;DRK;MSK;ADJ;\"" 
     
    598601 
    599602// called by the "update" button 
    600 Proc V_UpdatePanelDisp() 
     603Function V_UpdatePanelDisp() 
    601604 
    602605        ControlInfo popup0 
     
    606609        String folder = S_Value 
    607610         
    608         // remove the image 
     611        string tmpStr="" 
     612        Variable isVCALC=0 
     613        if(cmpstr("VCALC",folder)==0) 
     614                isVCALC=1 
     615        endif 
     616                 
     617        // remove everything from each of the 4 panels 
     618        tmpStr = ImageNameList("VSANS_DIVPanels#Panel_L",";") 
     619        if(ItemsInList(tmpStr) > 0) 
     620                do 
     621                        RemoveImage /W=VSANS_DIVPanels#Panel_L $(StringFromList(0,tmpStr,";"))          //get 1st item 
     622                        tmpStr = ImageNameList("VSANS_DIVPanels#Panel_L",";")                                                           //refresh list 
     623                while(ItemsInList(tmpStr) > 0) 
     624        endif 
     625         
     626        tmpStr = ImageNameList("VSANS_DIVPanels#Panel_R",";") 
     627        if(ItemsInList(tmpStr) > 0) 
     628                do 
     629                        RemoveImage /W=VSANS_DIVPanels#Panel_R $(StringFromList(0,tmpStr,";"))          //get 1st item 
     630                        tmpStr = ImageNameList("VSANS_DIVPanels#Panel_R",";")                                                           //refresh list 
     631                while(ItemsInList(tmpStr) > 0) 
     632        endif 
     633         
     634        tmpStr = ImageNameList("VSANS_DIVPanels#Panel_T",";") 
     635        if(ItemsInList(tmpStr) > 0) 
     636                do 
     637                        RemoveImage /W=VSANS_DIVPanels#Panel_T $(StringFromList(0,tmpStr,";"))          //get 1st item 
     638                        tmpStr = ImageNameList("VSANS_DIVPanels#Panel_T",";")                                                           //refresh list 
     639                while(ItemsInList(tmpStr) > 0) 
     640        endif 
     641         
     642        tmpStr = ImageNameList("VSANS_DIVPanels#Panel_B",";") 
     643        if(ItemsInList(tmpStr) > 0) 
     644                do 
     645                        RemoveImage /W=VSANS_DIVPanels#Panel_B $(StringFromList(0,tmpStr,";"))          //get 1st item 
     646                        tmpStr = ImageNameList("VSANS_DIVPanels#Panel_B",";")                                                           //refresh list 
     647                while(ItemsInList(tmpStr) > 0) 
     648        endif 
     649         
     650 
    609651        // append the new image 
    610         RemoveImage/Z/W=VSANS_DIVPanels#Panel_L data 
    611         AppendImage/T/G=1/W=VSANS_DIVPanels#Panel_L $("root:Packages:NIST:VSANS:"+folder+":entry:instrument:detector_"+carrStr+"L:data")                 
    612         SetActiveSubwindow VSANS_DIVPanels#Panel_L 
    613         ModifyImage data ctab= {*,*,ColdWarm,0} 
    614         ModifyImage data ctabAutoscale=3 
     652        // if back, put this in the "left" postion, and nothing else 
     653        if(cmpstr("B",carrStr)==0) 
     654                if(isVCALC) 
     655                        AppendImage/T/G=1/W=VSANS_DIVPanels#Panel_L $("root:Packages:NIST:VSANS:"+folder+":entry:instrument:detector_"+carrStr+":det_"+carrStr)          
     656                        SetActiveSubwindow VSANS_DIVPanels#Panel_L 
     657                        ModifyImage ''#0 ctab= {*,*,ColdWarm,0} 
     658                        ModifyImage ''#0 ctabAutoscale=3 
     659                else 
     660                        AppendImage/T/G=1/W=VSANS_DIVPanels#Panel_L $("root:Packages:NIST:VSANS:"+folder+":entry:instrument:detector_"+carrStr+":data")          
     661                        SetActiveSubwindow VSANS_DIVPanels#Panel_L 
     662                        ModifyImage data ctab= {*,*,ColdWarm,0} 
     663                        ModifyImage data ctabAutoscale=3         
     664                endif 
     665                ModifyGraph margin(left)=14,margin(bottom)=14,margin(top)=14,margin(right)=14 
     666                ModifyGraph mirror=2 
     667                ModifyGraph nticks=4 
     668                ModifyGraph minor=1 
     669                ModifyGraph fSize=9 
     670                ModifyGraph standoff=0 
     671                ModifyGraph tkLblRot(left)=90 
     672                ModifyGraph btLen=3 
     673                ModifyGraph tlOffset=-2 
     674                SetActiveSubwindow ## 
     675                return(0) 
     676        endif 
     677         
     678//      RemoveImage/Z/W=VSANS_DIVPanels#Panel_L data 
     679        if(isVCALC) 
     680                AppendImage/T/G=1/W=VSANS_DIVPanels#Panel_L $("root:Packages:NIST:VSANS:"+folder+":entry:instrument:detector_"+carrStr+"L:det_"+carrStr+"L")             
     681                SetActiveSubwindow VSANS_DIVPanels#Panel_L 
     682                ModifyImage ''#0 ctab= {*,*,ColdWarm,0} 
     683                ModifyImage ''#0 ctabAutoscale=3 
     684        else 
     685                AppendImage/T/G=1/W=VSANS_DIVPanels#Panel_L $("root:Packages:NIST:VSANS:"+folder+":entry:instrument:detector_"+carrStr+"L:data")                 
     686                SetActiveSubwindow VSANS_DIVPanels#Panel_L 
     687                ModifyImage data ctab= {*,*,ColdWarm,0} 
     688                ModifyImage data ctabAutoscale=3         
     689        endif 
    615690        ModifyGraph margin(left)=14,margin(bottom)=14,margin(top)=14,margin(right)=14 
    616691        ModifyGraph mirror=2 
     
    625700 
    626701 
    627         RemoveImage/Z/W=VSANS_DIVPanels#Panel_T data 
    628         AppendImage/T/G=1/W=VSANS_DIVPanels#Panel_T $("root:Packages:NIST:VSANS:"+folder+":entry:instrument:detector_"+carrStr+"T:data")                 
    629         SetActiveSubwindow VSANS_DIVPanels#Panel_T 
    630         ModifyImage data ctab= {*,*,ColdWarm,0} 
    631         ModifyImage data ctabAutoscale=3 
     702//      RemoveImage/Z/W=VSANS_DIVPanels#Panel_T data 
     703        if(isVCALC) 
     704                AppendImage/T/G=1/W=VSANS_DIVPanels#Panel_T $("root:Packages:NIST:VSANS:"+folder+":entry:instrument:detector_"+carrStr+"T:det_"+carrStr+"T")             
     705                SetActiveSubwindow VSANS_DIVPanels#Panel_T 
     706                ModifyImage ''#0 ctab= {*,*,ColdWarm,0} 
     707                ModifyImage ''#0 ctabAutoscale=3 
     708        else 
     709                AppendImage/T/G=1/W=VSANS_DIVPanels#Panel_T $("root:Packages:NIST:VSANS:"+folder+":entry:instrument:detector_"+carrStr+"T:data")                 
     710                SetActiveSubwindow VSANS_DIVPanels#Panel_T 
     711                ModifyImage data ctab= {*,*,ColdWarm,0} 
     712                ModifyImage data ctabAutoscale=3 
     713        endif 
    632714        ModifyGraph margin(left)=14,margin(bottom)=14,margin(top)=14,margin(right)=14 
    633715        ModifyGraph mirror=2 
     
    641723        SetActiveSubwindow ## 
    642724         
    643         RemoveImage/Z/W=VSANS_DIVPanels#Panel_B data 
    644         AppendImage/T/G=1/W=VSANS_DIVPanels#Panel_B $("root:Packages:NIST:VSANS:"+folder+":entry:instrument:detector_"+carrStr+"B:data")                 
    645         SetActiveSubwindow VSANS_DIVPanels#Panel_B 
    646         ModifyImage data ctab= {*,*,ColdWarm,0} 
    647         ModifyImage data ctabAutoscale=3 
     725//      RemoveImage/Z/W=VSANS_DIVPanels#Panel_B data 
     726        if(isVCALC) 
     727                AppendImage/T/G=1/W=VSANS_DIVPanels#Panel_B $("root:Packages:NIST:VSANS:"+folder+":entry:instrument:detector_"+carrStr+"B:det_"+carrStr+"B")             
     728                SetActiveSubwindow VSANS_DIVPanels#Panel_B 
     729                ModifyImage ''#0 ctab= {*,*,ColdWarm,0} 
     730                ModifyImage ''#0 ctabAutoscale=3 
     731        else 
     732                AppendImage/T/G=1/W=VSANS_DIVPanels#Panel_B $("root:Packages:NIST:VSANS:"+folder+":entry:instrument:detector_"+carrStr+"B:data")                 
     733                SetActiveSubwindow VSANS_DIVPanels#Panel_B 
     734                ModifyImage data ctab= {*,*,ColdWarm,0} 
     735                ModifyImage data ctabAutoscale=3 
     736        endif 
    648737        ModifyGraph margin(left)=14,margin(bottom)=14,margin(top)=14,margin(right)=14 
    649738        ModifyGraph mirror=2 
     
    657746        SetActiveSubwindow ## 
    658747 
    659         RemoveImage/Z/W=VSANS_DIVPanels#Panel_R data 
    660         AppendImage/T/G=1/W=VSANS_DIVPanels#Panel_R $("root:Packages:NIST:VSANS:"+folder+":entry:instrument:detector_"+carrStr+"R:data")                 
    661         SetActiveSubwindow VSANS_DIVPanels#Panel_R 
    662         ModifyImage data ctab= {*,*,ColdWarm,0} 
    663         ModifyImage data ctabAutoscale=3 
     748//      RemoveImage/Z/W=VSANS_DIVPanels#Panel_R data 
     749        if(isVCALC) 
     750                AppendImage/T/G=1/W=VSANS_DIVPanels#Panel_R $("root:Packages:NIST:VSANS:"+folder+":entry:instrument:detector_"+carrStr+"R:det_"+carrStr+"R")             
     751                SetActiveSubwindow VSANS_DIVPanels#Panel_R 
     752                ModifyImage ''#0 ctab= {*,*,ColdWarm,0} 
     753                ModifyImage ''#0 ctabAutoscale=3 
     754        else 
     755                AppendImage/T/G=1/W=VSANS_DIVPanels#Panel_R $("root:Packages:NIST:VSANS:"+folder+":entry:instrument:detector_"+carrStr+"R:data")                 
     756                SetActiveSubwindow VSANS_DIVPanels#Panel_R 
     757                ModifyImage data ctab= {*,*,ColdWarm,0} 
     758                ModifyImage data ctabAutoscale=3 
     759        endif 
    664760        ModifyGraph margin(left)=14,margin(bottom)=14,margin(top)=14,margin(right)=14 
    665761        ModifyGraph mirror=2 
     
    673769        SetActiveSubwindow ## 
    674770 
     771        return(0) 
    675772End 
    676773 
     
    734831                         
    735832                        // update the data that is displayed 
    736                         Execute "V_UpdatePanelDisp()" 
     833                        V_UpdatePanelDisp() 
    737834                         
    738835                         
     
    763860         
    764861        String  formatStr="Avg = %g +/- %g\rMin = %g, Max = %g" 
    765          
     862 
     863        if(cmpstr(carrStr,"B")==0) 
     864                WaveStats/Q $("root:Packages:NIST:VSANS:"+folder+":entry:instrument:detector_B:data") 
     865                sprintf gDIVstr0,formatStr,V_avg,V_sdev,V_min,V_max 
     866                gDIVStr1 = "" 
     867                gDIVStr2 = "" 
     868                gDIVStr3 = "" 
     869                TitleBox title0 title=gDIVstr0 
     870                TitleBox title1 title=gDIVstr1 
     871                TitleBox title2 title=gDIVstr2 
     872                TitleBox title3 title=gDIVstr3 
     873                return(0) 
     874        endif 
     875                 
    766876        WaveStats/Q $("root:Packages:NIST:VSANS:"+folder+":entry:instrument:detector_"+carrStr+"L:data") 
    767877        sprintf gDIVstr0,formatStr,V_avg,V_sdev,V_min,V_max 
     
    808918        V_CopyHDFToWorkFolder("STO","ADJ") 
    809919 
    810         WAVE w_sto_L = $("root:Packages:NIST:VSANS:STO:entry:instrument:detector_"+carrStr+"L:data") 
    811         WAVE w_sub_L = $("root:Packages:NIST:VSANS:SUB:entry:instrument:detector_"+carrStr+"L:data") 
    812         Duplicate/O w_sto_L $("root:Packages:NIST:VSANS:ADJ:entry:instrument:detector_"+carrStr+"L:data") 
    813         WAVE w_adj_L = $("root:Packages:NIST:VSANS:ADJ:entry:instrument:detector_"+carrStr+"L:data") 
    814  
    815         WAVE w_sto_R = $("root:Packages:NIST:VSANS:STO:entry:instrument:detector_"+carrStr+"R:data") 
    816         WAVE w_sub_R = $("root:Packages:NIST:VSANS:SUB:entry:instrument:detector_"+carrStr+"R:data") 
    817         Duplicate/O w_sto_R $("root:Packages:NIST:VSANS:ADJ:entry:instrument:detector_"+carrStr+"R:data") 
    818         WAVE w_adj_R = $("root:Packages:NIST:VSANS:ADJ:entry:instrument:detector_"+carrStr+"R:data") 
    819  
    820         WAVE w_sto_T = $("root:Packages:NIST:VSANS:STO:entry:instrument:detector_"+carrStr+"T:data") 
    821         WAVE w_sub_T = $("root:Packages:NIST:VSANS:SUB:entry:instrument:detector_"+carrStr+"T:data") 
    822         Duplicate/O w_sto_T $("root:Packages:NIST:VSANS:ADJ:entry:instrument:detector_"+carrStr+"T:data") 
    823         WAVE w_adj_T = $("root:Packages:NIST:VSANS:ADJ:entry:instrument:detector_"+carrStr+"T:data") 
    824  
    825         WAVE w_sto_B = $("root:Packages:NIST:VSANS:STO:entry:instrument:detector_"+carrStr+"B:data") 
    826         WAVE w_sub_B = $("root:Packages:NIST:VSANS:SUB:entry:instrument:detector_"+carrStr+"B:data") 
    827         Duplicate/O w_sto_B $("root:Packages:NIST:VSANS:ADJ:entry:instrument:detector_"+carrStr+"B:data") 
    828         WAVE w_adj_B = $("root:Packages:NIST:VSANS:ADJ:entry:instrument:detector_"+carrStr+"B:data") 
    829  
    830          
     920 
     921        if(cmpstr(carrStr,"B")==0) 
     922                WAVE w_sto_B = $("root:Packages:NIST:VSANS:STO:entry:instrument:detector_B:data") 
     923                WAVE w_sub_B = $("root:Packages:NIST:VSANS:SUB:entry:instrument:detector_B:data") 
     924                Duplicate/O w_sto_B $("root:Packages:NIST:VSANS:ADJ:entry:instrument:detector_B:data") 
     925                WAVE w_adj_B = $("root:Packages:NIST:VSANS:ADJ:entry:instrument:detector_B:data")  
     926        else 
     927                WAVE w_sto_L = $("root:Packages:NIST:VSANS:STO:entry:instrument:detector_"+carrStr+"L:data") 
     928                WAVE w_sub_L = $("root:Packages:NIST:VSANS:SUB:entry:instrument:detector_"+carrStr+"L:data") 
     929                Duplicate/O w_sto_L $("root:Packages:NIST:VSANS:ADJ:entry:instrument:detector_"+carrStr+"L:data") 
     930                WAVE w_adj_L = $("root:Packages:NIST:VSANS:ADJ:entry:instrument:detector_"+carrStr+"L:data") 
     931         
     932                WAVE w_sto_R = $("root:Packages:NIST:VSANS:STO:entry:instrument:detector_"+carrStr+"R:data") 
     933                WAVE w_sub_R = $("root:Packages:NIST:VSANS:SUB:entry:instrument:detector_"+carrStr+"R:data") 
     934                Duplicate/O w_sto_R $("root:Packages:NIST:VSANS:ADJ:entry:instrument:detector_"+carrStr+"R:data") 
     935                WAVE w_adj_R = $("root:Packages:NIST:VSANS:ADJ:entry:instrument:detector_"+carrStr+"R:data") 
     936         
     937                WAVE w_sto_T = $("root:Packages:NIST:VSANS:STO:entry:instrument:detector_"+carrStr+"T:data") 
     938                WAVE w_sub_T = $("root:Packages:NIST:VSANS:SUB:entry:instrument:detector_"+carrStr+"T:data") 
     939                Duplicate/O w_sto_T $("root:Packages:NIST:VSANS:ADJ:entry:instrument:detector_"+carrStr+"T:data") 
     940                WAVE w_adj_T = $("root:Packages:NIST:VSANS:ADJ:entry:instrument:detector_"+carrStr+"T:data") 
     941         
     942                WAVE w_sto_B = $("root:Packages:NIST:VSANS:STO:entry:instrument:detector_"+carrStr+"B:data") 
     943                WAVE w_sub_B = $("root:Packages:NIST:VSANS:SUB:entry:instrument:detector_"+carrStr+"B:data") 
     944                Duplicate/O w_sto_B $("root:Packages:NIST:VSANS:ADJ:entry:instrument:detector_"+carrStr+"B:data") 
     945                WAVE w_adj_B = $("root:Packages:NIST:VSANS:ADJ:entry:instrument:detector_"+carrStr+"B:data") 
     946        endif 
     947 
     948 
     949//handle the back detector separately, then exit 
     950        if(cmpstr(carrStr,"B")==0) 
     951                if(cmpstr(opStr,"ADJ=STO/SUB")==0) 
     952                        w_adj_B = w_sto_B/w_sub_B 
     953                else 
     954                        w_adj_B = w_sto_B - w_sub_B 
     955                endif 
     956                return(0) 
     957        endif 
     958 
     959 
     960// M or F carriages      
    831961        if(cmpstr(opStr,"ADJ=STO/SUB")==0) 
    832962                w_adj_L = w_sto_L/w_sub_L 
Note: See TracChangeset for help on using the changeset viewer.