Changeset 715


Ignore:
Timestamp:
Jul 6, 2010 5:17:53 PM (12 years ago)
Author:
ajj
Message:

Various ANSTO related fixes.

Location:
sans/Dev/trunk/NCNR_User_Procedures
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • sans/Dev/trunk/NCNR_User_Procedures/Common/Packages/PlotManager/PlotManager_v40.ipf

    r681 r715  
    341341        list = RemoveFromList(ListMatch(list,"*.GSP",";"), list, ";", 0) 
    342342        list = RemoveFromList(ListMatch(list,"*.MASK",";"), list, ";", 0) 
     343        #if(exists("QUOKKA") == 6) 
     344        list = RemoveFromList(ListMatch(list,"*.nx.hdf",";"), list, ";", 0)      
     345        list = RemoveFromList(ListMatch(list,"*.bin",";"), list, ";", 0)         
     346        #endif 
     347         
    343348 
    344349        //sort 
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/SANS/ANSTO_Utils.ipf

    r707 r715  
    174174 
    175175        return(deadtime) 
     176End 
     177 
     178 
     179//given a filename of a SANS data filename of the form 
     180//QKKNNNNNNN.nx.hdf 
     181//returns the prefix  
     182Function/S GetPrefixStrFromFile(item) 
     183        String item 
     184        String invalid = ""     //"" is not a valid run prefix, since it's text 
     185        Variable num=-1 
     186         
     187        //find the "dot" 
     188        String runStr="" 
     189         
     190        Variable pos = strsearch(item,".",0) 
     191        if(pos == -1) 
     192                //"dot" not found 
     193                return (invalid) 
     194        else 
     195                //found, skip the three characters preceeding it 
     196                if (pos <=7) 
     197                        //not enough characters 
     198                        return (invalid) 
     199                else 
     200                        runStr = item[0,pos-8] 
     201                        return (runStr) 
     202                Endif 
     203        Endif 
     204End 
     205 
     206Function/S RunDigitString(num) 
     207        Variable num 
     208         
     209        String numStr="" 
     210 
     211        //make 7 digit string from run number 
     212        sprintf numStr,"%07u",num 
     213         
     214        //Print "numstr = ",numstr 
     215        return(numstr) 
    176216End 
    177217 
     
    207247                        //if valid, return it 
    208248                        if (num == NaN) 
    209                                 //3 characters were not a number 
     249                                //7 characters were not a number 
    210250                                return (invalid) 
    211251                        else 
     
    474514        String retStr="" 
    475515         
    476         //your code here 
    477         //Assuming no issues with partialNames.... 
    478                  
    479         return(partialName) 
    480  
     516        //try name with no changes - to allow for ABS files that have spaces in the names 12APR04 
     517        retStr = ValidFileString(partialName) 
     518        if(cmpstr(retStr,"") !=0) 
     519                //non-null return 
     520                return(retStr) 
     521        Endif 
     522         
     523        //if the partial name is derived from the file header, there can be spaces at the beginning 
     524        //or in the middle of the filename - depending on the prefix and initials used 
     525        // 
     526        //remove any leading spaces from the name before starting 
     527        partialName = RemoveAllSpaces(partialName) 
     528         
     529        //try name with no spaces 
     530        retStr = ValidFileString(partialName) 
     531        if(cmpstr(retStr,"") !=0) 
     532                //non-null return 
     533                return(retStr) 
     534        Endif 
     535         
     536        //try all UPPERCASE 
     537        partialName = UpperStr(partialName) 
     538        retStr = ValidFileString(partialName) 
     539        if(cmpstr(retStr,"") !=0) 
     540                //non-null return 
     541                return(retStr) 
     542        Endif 
     543         
     544        //try all lowercase (ret null if failure) 
     545        partialName = LowerStr(partialName) 
     546        retStr = ValidFileString(partialName) 
     547        if(cmpstr(retStr,"") !=0) 
     548                //non-null return 
     549                return(retStr) 
     550        else 
     551                return(retStr) 
     552        Endif 
     553 
     554End 
     555 
     556// Function checks for the existence of a file 
     557// partialName;vers (to account for VAX filenaming conventions) 
     558// The partial name is tried first with no version number 
     559// 
     560// *** the PATH is hard-wired to catPathName (which is assumed to exist) 
     561// version numers up to ;10 are tried 
     562// only the "name;vers" is returned if successful. The path is not prepended 
     563// 
     564// local function 
     565// 
     566Function/S ValidFileString(partialName) 
     567        String partialName 
     568         
     569        String tempName = "",msg="" 
     570        Variable ii,refnum 
     571         
     572        ii=0 
     573        do 
     574                if(ii==0) 
     575                        //first pass, try the partialName 
     576                        tempName = partialName 
     577                        Open/Z/R/T="????TEXT"/P=catPathName refnum tempName     //Does open file (/Z flag) 
     578                        if(V_flag == 0) 
     579                                //file exists 
     580                                Close refnum            //YES needed,  
     581                                break 
     582                        endif 
     583                else 
     584                        tempName = partialName + ";" + num2str(ii) 
     585                        Open/Z/R/T="????TEXT"/P=catPathName refnum tempName 
     586                        if(V_flag == 0) 
     587                                //file exists 
     588                                Close refnum 
     589                                break 
     590                        endif 
     591                Endif 
     592                ii+=1 
     593                //print "ii=",ii 
     594        while(ii<11) 
     595        //go get the selected bits of information, using tempName, which exists 
     596        if(ii>=11) 
     597                //msg = partialName + " not found. is version number > 11?" 
     598                //DoAlert 0, msg 
     599                //PathInfo catPathName 
     600                //Print S_Path 
     601                Return ("")             //use null string as error condition 
     602        Endif 
     603         
     604        Return (tempName) 
    481605End 
    482606 
     
    8971021                if( !stringmatch(item,"*.SA1*") && !stringmatch(item,"*.SA2*") && !stringmatch(item,"*.SA3*") ) 
    8981022                        if( !stringmatch(item,".*") && !stringmatch(item,"*.pxp") && !stringmatch(item,"*.DIV"))                //eliminate mac "hidden" files, pxp, and div files 
    899                                 newlist += item + ";" 
     1023                                if (!stringmatch(item,"*.nx.hdf") && !stringmatch(item,"*.bin") && !stringmatch(item,"*.mask")) 
     1024                                        newlist += item + ";" 
     1025                                endif 
    9001026                        endif 
    9011027                endif 
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/SANS/NCNR_Utils.ipf

    r708 r715  
    398398        return(deadtime) 
    399399End 
     400 
     401//make a three character string of the run number 
     402//Moved to facility utils 
     403Function/S RunDigitString(num) 
     404        Variable num 
     405         
     406        String numStr="" 
     407        if(num<10) 
     408                numStr = "00"+num2str(num) 
     409        else 
     410                if(num<100) 
     411                        numStr = "0"+num2str(num) 
     412                else 
     413                        numStr = num2str(num) 
     414                Endif 
     415        Endif 
     416        //Print "numstr = ",numstr 
     417        return(numstr) 
     418End 
     419 
     420//given a filename of a SANS data filename of the form 
     421//TTTTTnnn.SAn_TTT_Txxx 
     422//returns the prefix "TTTTT" as some number of characters 
     423//returns "" as an invalid file prefix 
     424// 
     425// NCNR-specifc, does not really belong here - but it's a beta procedure anyhow... 
     426// 
     427Function/S GetPrefixStrFromFile(item) 
     428        String item 
     429        String invalid = ""     //"" is not a valid run prefix, since it's text 
     430        Variable num=-1 
     431         
     432        //find the "dot" 
     433        String runStr="" 
     434        Variable pos = strsearch(item,".",0) 
     435        if(pos == -1) 
     436                //"dot" not found 
     437                return (invalid) 
     438        else 
     439                //found, skip the three characters preceeding it 
     440                if (pos <=3) 
     441                        //not enough characters 
     442                        return (invalid) 
     443                else 
     444                        runStr = item[0,pos-4] 
     445                        return (runStr) 
     446                Endif 
     447        Endif 
     448End 
     449 
     450 
    400451 
    401452 
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/SANS/NSORT.ipf

    r700 r715  
    14571457         
    14581458        //lowQ menu 
    1459         absStr = pref+ThreeDigitString(low)+ext 
     1459        absStr = pref+RunDigitString(low)+ext 
    14601460        popNum = WhichListItem(absStr,lowQPopStr,";",0) 
    14611461        if(popNum == -1) 
     
    14661466         
    14671467        //medQ (a different list for the popup) 
    1468         absStr = pref+ThreeDigitString(med)+ext 
     1468        absStr = pref+RunDigitString(med)+ext 
    14691469        popNum = WhichListItem(absStr,medHiQPopStr,";",0) 
    14701470        if(popNum == -1) 
     
    14771477        //highQ (same pop list as medQ) 
    14781478        if(hi != 0) 
    1479                 absStr = pref+ThreeDigitString(hi)+ext 
     1479                absStr = pref+RunDigitString(hi)+ext 
    14801480                popNum = WhichListItem(absStr,medHiQPopStr,";",0) 
    14811481                if(popNum == -1) 
     
    14871487                PopupMenu popup_3,win=NSORT_Panel,mode=(1) 
    14881488        endif 
    1489 End 
    1490  
    1491 //make a three character string of the run number 
    1492 Function/S ThreeDigitString(num) 
    1493         Variable num 
    1494          
    1495         String numStr="" 
    1496         if(num<10) 
    1497                 numStr = "00"+num2str(num) 
    1498         else 
    1499                 if(num<100) 
    1500                         numStr = "0"+num2str(num) 
    1501                 else 
    1502                         numStr = num2str(num) 
    1503                 Endif 
    1504         Endif 
    1505         //Print "numstr = ",numstr 
    1506         return(numstr) 
    15071489End 
    15081490 
     
    18641846end 
    18651847 
    1866 //given a filename of a SANS data filename of the form 
    1867 //TTTTTnnn.SAn_TTT_Txxx 
    1868 //returns the prefix "TTTTT" as some number of characters 
    1869 //returns "" as an invalid file prefix 
    1870 // 
    1871 // NCNR-specifc, does not really belong here - but it's a beta procedure anyhow... 
    1872 // 
    1873 Function/S GetPrefixStrFromFile(item) 
    1874         String item 
    1875         String invalid = ""     //"" is not a valid run prefix, since it's text 
    1876         Variable num=-1 
    1877          
    1878         //find the "dot" 
    1879         String runStr="" 
    1880         Variable pos = strsearch(item,".",0) 
    1881         if(pos == -1) 
    1882                 //"dot" not found 
    1883                 return (invalid) 
    1884         else 
    1885                 //found, skip the three characters preceeding it 
    1886                 if (pos <=3) 
    1887                         //not enough characters 
    1888                         return (invalid) 
    1889                 else 
    1890                         runStr = item[0,pos-4] 
    1891                         return (runStr) 
    1892                 Endif 
    1893         Endif 
    1894 End 
    18951848 
    18961849//////////////////////// 
Note: See TracChangeset for help on using the changeset viewer.