Ignore:
Timestamp:
Apr 6, 2007 4:20:53 PM (15 years ago)
Author:
srkline
Message:

Final set of first pass changes to reduction code. Next is to throuroughly test before heading to the second pass of non-obvious function calls and documentation of the "required" stubs for a particular file type.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sans/SANSReduction/branches/kline_29MAR07/Put in User Procedures/SANS_Reduction_v5.00/Transmission.ipf

    r74 r75  
    252252        Variable isTrans, xTol= -5 
    253253 
    254         String textstr,temp,labelStr,date_time,suffix,assoc 
    255         Variable ctime,lambda,sdd,detcnt,cntrate,refNum,trans,thick,xcenter,ycenter,numatten 
    256         Variable lastPoint, beamstop, Whole 
     254//      String textstr,temp,labelStr,date_time,suffix,assoc 
     255//      Variable ctime,lambda,sdd,detcnt,cntrate,refNum,trans,thick,xcenter,ycenter,numatten 
     256        Variable lastPoint//, beamstop, Whole 
    257257 
    258258        isTrans = isTransFile(fname, xTol) 
     
    283283        lastPoint = numpnts(GLambda) 
    284284         
    285         Open/R refNum as fname 
    286          
    287285        InsertPoints lastPoint,1,G_TRANS_Filenames 
    288286        G_TRANS_Filenames[lastPoint]="" 
     
    292290         
    293291        //read the file suffix 
    294         FSetPos refNum,19 
    295         FReadLine/N=4 refNum,suffix 
    296         //print suffix 
    297292        InsertPoints lastPoint,1,GSuffix 
    298         GSuffix[lastPoint]=suffix 
     293        GSuffix[lastPoint]=getSuffix(fname) 
    299294 
    300295        //read any suffix that this file is associated with 
    301         //FSetPos refNum,91             //wrong position 
    302         FSetPos refNum,404 
    303         FReadLine/N=4 refNum,assoc 
    304         //print isTrans, assoc 
    305296        InsertPoints lastPoint,1,GSuffices 
    306         GSuffices[lastPoint]=assoc 
     297        GSuffices[lastPoint]=getAssociatedFileSuffix(fname) 
    307298             
    308299        // read the sample.label text field 
    309         FSetPos refNum,98               //will start reading at byte 99 
    310         FReadLine/N=60 refNum,labelStr 
    311300        InsertPoints lastPoint,1,GLabels 
    312         GLabels[lastPoint]=labelStr 
    313  
    314         Close refNum 
     301        GLabels[lastPoint]=getSampleLabel(fname) 
    315302             
    316         //read the reals with GBLoadWave 
    317         String GBLoadStr="GBLoadWave/O/N=tempGBwave/T={2,2}/J=2/W=1/Q" 
    318         String strToExecute 
    319          
     303 
    320304        //Transmission 
    321         strToExecute = GBLoadStr + "/S=158/U=1" + "\"" + fname + "\"" 
    322         Execute strToExecute 
    323         Wave w=$"tempGBWave0" 
    324         trans = w[0] 
    325305        InsertPoints lastPoint,1,GTransmission 
    326         GTransmission[lastPoint]=trans 
    327          
    328         //Whole Transmission 
    329         strToExecute = GBLoadStr + "/S=392/U=1" + "\"" + fname + "\"" 
    330         Execute strToExecute 
    331         Wave w=$"tempGBWave0" 
    332         Whole = w[0] 
     306        GTransmission[lastPoint]=getSampleTrans(fname) 
     307         
     308        //Whole detector Transmission 
    333309        InsertPoints lastPoint,1,GWhole 
    334         GWhole[lastPoint]=Whole 
     310        GWhole[lastPoint]=getSampleTransWholeDetector(fname) 
    335311             
    336312        //SDD 
    337         strToExecute = GBLoadStr + "/S=260/U=1" + "\"" + fname + "\"" 
    338         Execute strToExecute 
    339         sdd = w[0] 
    340313        InsertPoints lastPoint,1,GSDD 
    341         GSDD[lastPoint]=sdd 
     314        GSDD[lastPoint]=getSDD(fname) 
    342315             
    343316        //wavelength 
    344         strToExecute = GBLoadStr + "/S=292/U=1" + "\"" + fname + "\"" 
    345         Execute strToExecute 
    346         lambda = w[0] 
    347317        InsertPoints lastPoint,1,GLambda 
    348         GLambda[lastPoint]=lambda 
    349          
    350 //      InsertPoints lastPoint,1,GWhole 
    351 //      GWhole[lastPoint]=1 
    352          
    353         KillWaves/Z w 
    354  
     318        GLambda[lastPoint]=getWavelength(fname) 
     319         
     320        return(0) 
    355321End 
    356322 
     
    533499                                        suffix=T_GSuffix[jj] 
    534500                                        filename = pathname + T_GFilenames[ii] 
    535                                         Open/A/T="????TEXT" refnum as filename 
    536                                         //FSetPos refnum,91             //wrong position 
    537                                         FSetPos refnum,404 
    538                                         FBinWrite refnum, suffix 
    539                                         FStatus refnum 
    540                                         FSetPos refnum,V_logEOF 
    541                                         Close refnum 
     501                                        WriteAssocFileSuffixToHeader(filename,suffix) 
    542502                                endif 
    543503                                jj+=1 
     
    556516                                        suffix=T_GSuffix[jj] 
    557517                                        filename = pathname + S_GFilenames[ii] 
    558                                         Open/A/T="????TEXT" refnum as filename 
    559                                         //FSetPos refnum,91             //wrong position 
    560                                         FSetPos refnum,404 
    561                                         FBinWrite refnum, suffix 
    562                                         FStatus refnum 
    563                                         FSetPos refnum,V_logEOF 
    564                                         Close refnum 
     518                                        WriteAssocFileSuffixToHeader(filename,suffix) 
    565519                                endif 
    566520                                jj+=1 
     
    601555                                        suffix=T_GSuffix[jj] 
    602556                                        filename = pathname + T_GFilenames[ii] 
    603                                         Open/A/T="????TEXT" refnum as filename 
    604                                         //FSetPos refnum,91             //wrong position 
    605                                         FSetPos refnum,404 
    606                                         FBinWrite refnum, suffix 
    607                                         FStatus refnum 
    608                                         FSetPos refnum,V_logEOF 
    609                                         Close refnum 
     557                                        WriteAssocFileSuffixToHeader(filename,suffix) 
    610558                                endif 
    611559                                jj+=1 
     
    662610                         
    663611                        // write in zeros for the box coordinates 
    664                         Open/A/T="????TEXT" refnum as filename 
    665                         FSetPos refnum,478 
    666                         FBinWrite/F=3/B=3 refNum, zero 
    667                         FBinWrite/F=3/B=3 refNum, zero 
    668                         FBinWrite/F=3/B=3 refNum, zero 
    669                         FBinWrite/F=3/B=3 refNum, zero 
    670                         FStatus refnum                                  //move to the end of the file before closing 
    671                         FSetPos refnum,V_logEOF 
    672                         Close refnum 
    673          
     612                        WriteXYBoxToHeader(filename,0,0,0,0) 
     613                         
    674614                        // write in a null suffix 
    675                         Open/A/T="????TEXT" refnum as filename 
    676                         FSetPos refnum,404                      //suffix start byte is 404 
    677                         FBinWrite refnum, suffix 
    678                         FStatus refnum 
    679                         FSetPos refnum,V_logEOF 
    680                         Close refnum 
     615                        WriteAssocFileSuffixToHeader(filename,suffix) 
    681616                         
    682                         //write a trans==1 to the file header of the raw data (open/close done in function) 
    683                         ReWriteReal(filename,1,158)             //transmission start byte is 158 
    684                         ReWriteReal(filename,1,392)             //WholeTrans start byte is 392 
     617                        //write a trans==1 to the file header of the raw data 
     618                        WriteTransmissionToHeader(filename,1)           //sample trans 
     619                         
     620                        WriteWholeTransToHeader(filename,1)             //WholeTrans start byte is 392 
    685621                         
    686622                        //then update the table that is displayed 
     
    693629        endif 
    694630         
    695 //      // Write suffix of empty beam file into transmission files 
    696 //      ii= 0 
    697 //      do 
    698 //              if (cmpstr(T_EMP_Filenames[ii],"")!=0) 
    699 //                      jj=0 
    700 //                      do 
    701 //                              if (cmpstr(T_EMP_Filenames[ii],T_GFilenames[jj])==0) 
    702 //                                      suffix=T_GSuffix[jj] 
    703 //                                      filename = pathname + T_GFilenames[ii] 
    704 //                                      Open/A/T="????TEXT" refnum as filename 
    705 //                                      //FSetPos refnum,91             //wrong position 
    706 //                                      FSetPos refnum,404 
    707 //                                      FBinWrite refnum, suffix 
    708 //                                      FStatus refnum 
    709 //                                      FSetPos refnum,V_logEOF 
    710 //                                      Close refnum 
    711 //                              endif 
    712 //                              jj+=1 
    713 //                      while(jj<num_t_files) 
    714 //              endif 
    715 //      ii+=1 
    716 //      while(ii<num_t_files) 
    717631  
    718632        if(target == 1) 
     
    721635                do 
    722636                        filename = pathname + S_GFilenames[ii] 
    723                         Open/A/T="????TEXT" refnum as filename 
    724                         //FSetPos refnum,91             //wrong position 
    725                         FSetPos refnum,404 
    726                         FBinWrite refnum, suffix 
    727                         FStatus refnum 
    728                         FSetPos refnum,V_logEOF 
    729                         Close refnum 
     637                        // write in a null suffix 
     638                        WriteAssocFileSuffixToHeader(filename,suffix) 
    730639                         
    731640                        //write a trans==1 to the file header of the raw data (open/close done in function) 
    732                         ReWriteReal(filename,1,158)             //transmission start byte is 158 
     641                        WriteTransmissionToHeader(filename,1)           //sample trans 
    733642                         
    734643                        //then update the table that is displayed 
     
    742651        return(0) 
    743652End 
    744  
    745  
    746 // assigns both the empty file to the trans file 
    747 // and the trans file to the scattering file 
    748 // - writes out 4 characters to the file headers @ byte 404 
    749 // 
    750 // assignments are only permanently made when the transmissions 
    751 // are actually calculated 
    752 // 
    753 // NOT USED - AssignSelTransFilestoData(first,last) has been generalized to take a range 
    754 // 3/31/04 SRK 
    755 //Function AssignTransFilesToData() 
    756 // 
    757 //      Wave/T T_EMP_Filenames = $"root:myGlobals:TransHeaderInfo:T_EMP_Filenames" 
    758 //      Wave/T T_GSuffices = $"root:myGlobals:TransHeaderInfo:T_Suffices" 
    759 //      Wave/T T_GFilenames = $"root:myGlobals:TransHeaderInfo:T_Filenames" 
    760 //      Wave/T T_GSuffix = $"root:myGlobals:TransHeaderInfo:T_Suffix" 
    761 //       
    762 //      Wave/T S_TRANS_Filenames = $"root:myGlobals:TransHeaderInfo:S_TRANS_Filenames" 
    763 //      Wave/T S_GSuffices = $"root:myGlobals:TransHeaderInfo:S_Suffices" 
    764 //      Wave/T S_GFilenames = $"root:myGlobals:TransHeaderInfo:S_Filenames" 
    765 //      Wave/T S_GSuffix = $"root:myGlobals:TransHeaderInfo:S_Suffix" 
    766 //       
    767 //      Variable num_s_files, num_t_files, ii, jj 
    768 //      Variable refnum 
    769 //      num_t_files = numpnts(T_GFilenames) 
    770 //      num_s_files = numpnts(S_GFilenames) 
    771 //      String suffix = "" 
    772 //      PathInfo catPathName 
    773 //      String pathname = S_path 
    774 //      String filename 
    775 // 
    776 //      // Write suffix of empty beam file into transmission files 
    777 //      ii= 0 
    778 //      do 
    779 //              if (cmpstr(T_EMP_Filenames[ii],"")!=0) 
    780 //                      jj=0 
    781 //                      do 
    782 //                              if (cmpstr(T_EMP_Filenames[ii],T_GFilenames[jj])==0) 
    783 //                                      suffix=T_GSuffix[jj] 
    784 //                                      filename = pathname + T_GFilenames[ii] 
    785 //                                      Open/A/T="????TEXT" refnum as filename 
    786 //                                      //FSetPos refnum,91             //wrong position 
    787 //                                      FSetPos refnum,404 
    788 //                                      FBinWrite refnum, suffix 
    789 //                                      FStatus refnum 
    790 //                                      FSetPos refnum,V_logEOF 
    791 //                                      Close refnum 
    792 //                              endif 
    793 //                      jj+=1 
    794 //                      while(jj<num_t_files) 
    795 //              endif 
    796 //              ii+=1 
    797 //      while(ii<num_t_files) 
    798 //  
    799 //      // Write suffix of transmission files into scattering files 
    800 //      ii= 0 
    801 //      do 
    802 //              if (cmpstr(S_TRANS_Filenames[ii],"")!=0) 
    803 //                      jj=0 
    804 //                      do 
    805 //                              if (cmpstr(S_TRANS_Filenames[ii],T_GFilenames[jj])==0) 
    806 //                                      suffix=T_GSuffix[jj] 
    807 //                                      filename = pathname + S_GFilenames[ii] 
    808 //                                      Open/A/T="????TEXT" refnum as filename 
    809 //                                      //FSetPos refnum,91             //wrong position 
    810 //                                      FSetPos refnum,404 
    811 //                                      FBinWrite refnum, suffix 
    812 //                                      FStatus refnum 
    813 //                                      FSetPos refnum,V_logEOF 
    814 //                                      Close refnum 
    815 //                              endif 
    816 //                              jj+=1 
    817 //                      while(jj<num_t_files) 
    818 //              endif 
    819 //              ii+=1 
    820 //      while(ii<num_s_files) 
    821 // 
    822 //      return(0) 
    823 //End 
    824  
    825  
    826  
    827 // NOT USED --- CalcSelTransFromHeader(first,last) has been generalized to accept a selection 
    828 // and modified to account for different attenuation factors. 3/31/04 SRK 
    829 // 
    830 //Function CalcTransFromHeader() 
    831 //      String filename 
    832 //      Wave/T T_EMP_Filenames = $"root:myGlobals:TransHeaderInfo:T_EMP_Filenames" 
    833 //      Wave/T T_GFilenames = $"root:myGlobals:TransHeaderInfo:T_Filenames" 
    834 //       
    835 //      Wave/T S_TRANS_Filenames = $"root:myGlobals:TransHeaderInfo:S_TRANS_Filenames" 
    836 //      Wave/T S_GFilenames = $"root:myGlobals:TransHeaderInfo:S_Filenames" 
    837 //      Wave S_GTransmission =  $"root:myGlobals:TransHeaderInfo:S_Transmission" 
    838 //       
    839 //      Variable num_s_files, num_t_files, ii, jj 
    840 //      Variable refnum, transCts, emptyCts 
    841 //      num_t_files = numpnts(T_GFilenames) 
    842 //      num_s_files = numpnts(S_GFilenames) 
    843 //      String suffix = "" 
    844 //      PathInfo catPathName 
    845 //      String pathname = S_path 
    846 //      String textStr="",abortStr="" 
    847 //      String emptyFile, transFile 
    848 //       
    849 //      ii= 0 
    850 //      do 
    851 //              if (cmpstr(S_TRANS_Filenames[ii],"")!=0) 
    852 //                      jj=0 
    853 //                      do 
    854 //                              if (cmpstr(S_TRANS_Filenames[ii],T_GFilenames[jj])==0) 
    855 //                              //Look for an empty beam for the transmission then 
    856 //                                      if (cmpstr(T_EMP_Filenames[jj],"")!=0)//Do the transmission calculation 
    857 //                                              textStr = "" 
    858 //                                              filename=pathname+S_GFilenames[ii] 
    859 //                                              emptyFile = pathname+T_EMP_Filenames[jj] 
    860 //                                              transFile = pathname+T_GFilenames[jj] 
    861 //                                              ////////// 
    862 //                                              // check the empty beam file for previously selected coordinates 
    863 //                                              //if they exist, set the xy string , save the normalized counts somewhere 
    864 //                                              //the value was written to an unused r*4 header analysis.factor (@b494) 
    865 //                                              Variable x1,x2,y1,y2,err 
    866 //                                              Open/R refnum as emptyFile 
    867 //                                              FSetPos refnum,478 
    868 //                                              FBinRead/F=3/B=3 refnum, x1 
    869 //                                              FBinRead/F=3/B=3 refnum, x2 
    870 //                                              FBinRead/F=3/B=3 refnum, y1 
    871 //                                              FBinRead/F=3/B=3 refnum, y2 
    872 //                                              Close refnum 
    873 //                                              //read the real count value 
    874 //                                              String GBLoadStr="GBLoadWave/O/N=tempGBwave/T={2,2}/J=2/W=1/Q" 
    875 //                                              String strToExecute 
    876 //                                              strToExecute = GBLoadStr + "/S=494/U=1" + "\"" + emptyFile + "\"" 
    877 //                                              Execute strToExecute 
    878 //                                              Wave w=$"tempGBWave0" 
    879 //                                              Variable/G root:myGlobals:Patch:gTransCts = w[0] 
    880 //                                              emptyCts = w[0] 
    881 //                       
    882 //                                              // 
    883 //                                              if( ((x1-x2)==0) || ((y1-y2)==0) )              //zero width marquee in either direction 
    884 //                                                      //no region selected     
    885 //                                                      //prompt user to select box w/marquee 
    886 //                                                      DoWindow/F TransFileTable 
    887 //                                                      Abort "Use \"Set BCENT File\", then \"SetXYBox\" to select XY range in empty beam file "+T_EMP_Filenames[jj] 
    888 //                                                      //from here the Marquee menu selection must handle the task of setting the box 
    889 //                                                      //and updating the information in the file header 
    890 //                                              Endif 
    891 //               
    892 //                                              //read in trans file to add to SAM 
    893 //                                              ReadHeaderAndData(transFile) 
    894 //                                              //adds to SAM 
    895 //                                              err = Raw_to_work("SAM") 
    896 //                                              //sum region in SAM 
    897 //                                              transCts =  SumCountsInBox(x1,x2,y1,y2,"SAM") 
    898 //                                               
    899 //                                              //calculate trans based on empty beam value 
    900 //                                              Variable trans= transCts/emptyCts 
    901 //                                               
    902 //                                              //write out counts and transmission 
    903 //                                              textstr += "  Trans counts = "+num2str(transCts) + "   Trans = "+num2str(trans) 
    904 //                                              Print S_GFilenames[ii], textstr 
    905 //                                              //Print ii,jj 
    906 //                                              //Print  "Empty counts = ",emptycts, "Trans counts = "+num2str(transCts) + "   Trans = "+num2str(trans) 
    907 //                                               
    908 //                                              //write the trans to the file header of the raw data (open/close done in function) 
    909 //                                              Variable start = 158            //transmission start byte 
    910 //                                              ReWriteReal(filename,trans,start) 
    911 //                                               
    912 //                                              //then update the global that is displayed 
    913 //                                              S_GTransmission[ii] = trans 
    914 //       
    915 //                                      else  // There is no empty assigned 
    916 //                                               abortStr = "Empty beam file not assigned properly for " + T_GFilenames[jj] 
    917 //                                               Print abortStr 
    918 //                                               //Abort abortStr 
    919 //                                               return(1) 
    920 //                                      endif 
    921 //                              endif 
    922 //                              jj+=1 
    923 //                      while(jj<num_t_files) 
    924 //              else //no transmission file 
    925 //                      abortStr = "Transmission beam file not assigned properly for " + S_GFilenames[ii] 
    926 //                      Print abortStr 
    927 //              endif 
    928 //              ii+=1 
    929 //      while(ii<num_s_files) 
    930 //      print "done" 
    931 //      return(0) 
    932 //End 
    933  
    934  
    935653 
    936654//given a selection of scattering files, calculates the transmission 
     
    997715                                                //if they exist, set the xy string , save the normalized counts somewhere 
    998716                                                //the value was written to an unused r*4 header analysis.factor (@b494) 
    999                                                 Open/R refnum as emptyFile 
    1000                                                 FSetPos refnum,478 
    1001                                                 FBinRead/F=3/B=3 refnum, x1 
    1002                                                 FBinRead/F=3/B=3 refnum, x2 
    1003                                                 FBinRead/F=3/B=3 refnum, y1 
    1004                                                 FBinRead/F=3/B=3 refnum, y2 
    1005                                                 Close refnum 
     717                                                GetXYBoxFromFile(emptyFile,x1,x2,y1,y2) 
     718                                                 
    1006719                                                //read the real count value 
    1007                                                 strToExecute = GBLoadStr + "/S=494/U=1" + "\"" + emptyFile + "\"" 
    1008                                                 Execute strToExecute 
    1009                                                 Wave w=$"tempGBWave0" 
    1010                                         //      Variable/G root:myGlobals:Patch:gTransCts = w[0] 
    1011                                                 emptyCts = w[0] 
     720                                                emptyCts = getBoxCounts(emptyFile) 
    1012721                                                // read the attenuator number of the empty beam file 
    1013                                                 strToExecute = GBLoadStr + "/S=39/U=4" + "\"" + emptyFile + "\"" 
    1014                                                 Execute strToExecute 
    1015                                                 attenEmp = w[3] 
     722                                                attenEmp = getAttenNumber(emptyFile) 
    1016723                                                // 
    1017724                                                if( ((x1-x2)==0) || ((y1-y2)==0) )              //zero width marquee in either direction 
     
    1046753                                                endif 
    1047754                                                //write the trans to the file header of the raw data (open/close done in function) 
    1048                                                 ReWriteReal(filename,trans,158)         //transmission start byte is 158 
     755                                                WriteTransmissionToHeader(filename,trans) 
    1049756                                                 
    1050757                                                //then update the global that is displayed 
     
    1117824                                                //if they exist, set the xy string , save the normalized counts somewhere 
    1118825                                                //the value was written to an unused r*4 header analysis.factor (@b494) 
    1119                                                 Open/R refnum as emptyFile 
    1120                                                 FSetPos refnum,478 
    1121                                                 FBinRead/F=3/B=3 refnum, x1 
    1122                                                 FBinRead/F=3/B=3 refnum, x2 
    1123                                                 FBinRead/F=3/B=3 refnum, y1 
    1124                                                 FBinRead/F=3/B=3 refnum, y2 
    1125                                                 Close refnum 
     826                                                getXYBoxFromFile(emptyFile,x1,x2,y1,y2) 
     827                                                 
    1126828                                                //read the real count value 
    1127                                                 strToExecute = GBLoadStr + "/S=494/U=1" + "\"" + emptyFile + "\"" 
    1128                                                 Execute strToExecute 
    1129                                                 Wave w=$"tempGBWave0" 
    1130                                         //      Variable/G root:myGlobals:Patch:gTransCts = w[0] 
    1131                                                 emptyCts = w[0] 
     829                                                emptyCts = getBoxCounts(emptyFile) 
    1132830                                                // read the attenuator number of the empty beam file 
    1133                                                 strToExecute = GBLoadStr + "/S=39/U=4" + "\"" + emptyFile + "\"" 
    1134                                                 Execute strToExecute 
    1135                                                 attenEmp = w[3] 
     831                                                attenEmp = getAttenNumber(emptyFile) 
    1136832                                                // 
    1137833                                                if( ((x1-x2)==0) || ((y1-y2)==0) )              //zero width marquee in either direction 
     
    1168864                                                endif 
    1169865                                                //write the trans to the file header of the raw data (open/close done in function) 
    1170                                                 ReWriteReal(filename,trans,158)         //transmission start byte is 158 
     866                                                WriteTransmissionToHeader(filename,trans)               //transmission start byte is 158 
    1171867                                                 
    1172868                                                //then update the global that is displayed 
     
    1242938                                                //if they exist, set the xy string , save the normalized counts somewhere 
    1243939                                                //the value was written to an unused r*4 header analysis.factor (@b494) 
    1244                                                 Open/R refnum as emptyFile 
    1245                                                 FSetPos refnum,478 
    1246                                                 FBinRead/F=3/B=3 refnum, x1 
    1247                                                 FBinRead/F=3/B=3 refnum, x2 
    1248                                                 FBinRead/F=3/B=3 refnum, y1 
    1249                                                 FBinRead/F=3/B=3 refnum, y2 
    1250                                                 Close refnum 
     940                                                 
     941                                                getXYBoxFromFile(emptyFile,x1,x2,y1,y2) 
    1251942                                                //read the real count value 
    1252                                                 strToExecute = GBLoadStr + "/S=494/U=1" + "\"" + emptyFile + "\"" 
    1253                                                 Execute strToExecute 
    1254                                                 Wave w=$"tempGBWave0" 
    1255                                         //      Variable/G root:myGlobals:Patch:gTransCts = w[0] 
    1256                                                 emptyCts = w[0] 
     943                                                emptyCts = getBoxCounts(emptyFile) 
    1257944                                                // read the attenuator number of the empty beam file 
    1258                                                 strToExecute = GBLoadStr + "/S=39/U=4" + "\"" + emptyFile + "\"" 
    1259                                                 Execute strToExecute 
    1260                                                 attenEmp = w[3] 
     945                                                attenEmp = getAttenNumber(emptyFile) 
    1261946                                                // 
    1262947                                                if( ((x1-x2)==0) || ((y1-y2)==0) )              //zero width marquee in either direction 
     
    1298983                                                endif 
    1299984                                                //write the trans to the file header of the raw data (open/close done in function) 
    1300                                                 ReWriteReal(filename,trans,392)         //WholeTrans start byte is 392 
     985                                                WriteWholeTransToHeader(filename,trans) 
    1301986                                                 
    1302987                                                //then update the global that is displayed 
     
    14831168        //the value was written to an unused r*4 header analysis.factor (@b494) 
    14841169        Variable refnum,x1,x2,y1,y2,err 
    1485         Open/R refnum as filename 
    1486         FSetPos refnum,478 
    1487         FBinRead/F=3/B=3 refnum, x1 
    1488         FBinRead/F=3/B=3 refnum, x2 
    1489         FBinRead/F=3/B=3 refnum, y1 
    1490         FBinRead/F=3/B=3 refnum, y2 
    1491         Close refnum 
    1492         //read the real count value 
    1493         String GBLoadStr="GBLoadWave/O/N=tempGBwave/T={2,2}/J=2/W=1/Q" 
    1494         String strToExecute 
    1495         strToExecute = GBLoadStr + "/S=494/U=1" + "\"" + filename + "\"" 
    1496         Execute strToExecute 
    1497         Wave w=$"tempGBWave0" 
    1498         Variable/G root:myGlobals:gTransCts = w[0]                      //***NOTE this is NOT in the Trans sub-folder 
     1170        getXYBoxFromFile(filename,x1,x2,y1,y2) 
     1171         
     1172        //read the real count value, assign to a global 
     1173        Variable/G root:myGlobals:gTransCts = getBoxCounts(filename)                    //***NOTE this is NOT in the Trans sub-folder 
    14991174        // 
    15001175        if( ((x1-x2)==0) || ((y1-y2)==0) )              //zero width marquee in either direction 
     
    15471222         
    15481223        UpdateBoxCoordinates() 
    1549         KillWaves/Z w 
    15501224        Return (0) 
    15511225End 
     
    17951469         
    17961470        Variable start 
    1797         //x-position starts after byte 368 
    1798         //ReWriteReal() takes care of open/close on its own 
    1799         start = 368      //BS x-position 
    1800         ReWriteReal(fname,xpos,start) 
     1471        //x-position starts after byte 368 in VAX files 
     1472        WriteBSXPosToHeader(fname,xpos) 
    18011473        return(0) 
    18021474End 
Note: See TracChangeset for help on using the changeset viewer.