Ignore:
Timestamp:
Jul 25, 2016 2:50:41 PM (6 years ago)
Author:
srkline
Message:

editing the read/write routines to include the latest additions to the json file definiton, including all of the additions to the polarization components. The file structure should be largely set at this point, with hopefully only minor changes as I shake out the bugs of working with the data.

File:
1 edited

Legend:

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

    r1004 r1005  
    590590        if(change[5])           //attenuator number 
    591591                num = str2num(textVal[5]) 
    592                 V_writeAtten_num_dropped(fname,num) 
     592                V_writeAttenThickness(fname,num) 
    593593        Endif 
    594594        if(change[6]) 
     
    856856        Variable/G root:Packages:NIST:VSANS:Globals:Patch:gPV3 = V_getDet_beam_center_x(fname,detStr) 
    857857        Variable/G root:Packages:NIST:VSANS:Globals:Patch:gPV4 = V_getDet_beam_center_y(fname,detStr) 
    858         Variable/G root:Packages:NIST:VSANS:Globals:Patch:gPV5 = V_getAtten_Number(fname) 
     858        Variable/G root:Packages:NIST:VSANS:Globals:Patch:gPV5 = V_getAttenThickness(fname) 
    859859        Variable/G root:Packages:NIST:VSANS:Globals:Patch:gPV6 = V_getCount_Time(fname) 
    860860        Variable/G root:Packages:NIST:VSANS:Globals:Patch:gPV7 = V_getMonitorCount(fname) 
     
    993993End 
    994994 
    995  
    996 // testing, very dangerous batch changing of the file header labels 
    997 // 
    998 // testStr is the string at the front of a label, that will be moved to the "back" 
    999 // if doIt is 1, it will write to the headers, any other value will only print to history 
    1000 Function xMPatchLabel(testStr,doIt) 
    1001         String testStr 
    1002         Variable doIt 
    1003  
    1004 //      SVAR list = root:Packages:NIST:VSANS:Globals:Patch:gPatchList 
    1005         String list = GetValidPatchPopupList() 
    1006  
    1007         Variable numitems,ii 
    1008         numitems = ItemsInList(list,";") 
    1009          
    1010         if(numitems == 0) 
    1011                 Abort "no items in list for multiple patch" 
    1012         Endif 
    1013          
    1014         String partialName="", tempName = "" 
    1015         Variable ok,nvars = 20 
    1016          
    1017         //loop through all of the files in the list, applying changes as dictated by w and wt waves 
    1018         string str1,str2,str3 
    1019         Variable match,loc,len,spc,jj,len1 
    1020         len=strlen(testStr) 
    1021         ii=0 
    1022         do 
    1023                 //get current item in the list 
    1024                 partialName = StringFromList(ii, list, ";") 
    1025                     
    1026                 //get a valid file based on this partialName and catPathName 
    1027                 tempName = V_FindValidFilename(partialName) 
    1028          
    1029                 //prepend path to tempName for read routine  
    1030                 PathInfo catPathName 
    1031                 tempName = S_path + tempName 
    1032          
    1033                 //make sure the file is really a RAW data file 
    1034                 ok = V_CheckIfRawData(tempName) 
    1035                 if (!ok) 
    1036                    Print "this file is not recognized as a RAW SANS data file = ",tempName 
    1037                 else 
    1038                    //go write the changes to the file 
    1039                         str1 = V_getSampleDescription(tempName) 
    1040                         match = strsearch(str1, testStr, 0) 
    1041                         if(match != -1) 
    1042                                 str2 = ReplaceString(testStr, str1, "", 0, 1) 
    1043                                  
    1044                                 jj=strlen(str2) 
    1045                                 do 
    1046                                         jj -= 1 
    1047                                         spc = cmpstr(str2[jj], " ")             //can add the optional flag ,0), but I don't care about case, and Igor 6.02 is necessary... 
    1048                                         if (spc != 0) 
    1049                                                 break           //no more spaces found, get out 
    1050                                         endif 
    1051                                 While(1)        // jj is the location of the last non-space 
    1052                                  
    1053                                 str2[jj+2,jj+1+len] = testStr 
    1054                          
    1055                         // may need to remove leading spaces??? 
    1056                                 str2 = PadString(str2, 60, 0x20 ) 
    1057                                  
    1058                                 if(doIt == 1) 
    1059                                         V_writeSampleDescription(tempName,str2) 
    1060                                         print str2," ** Written to file **" 
    1061                                 else 
    1062                                         //print str2,strlen(str2) 
    1063                                         print str2," ** Testing, not written to file **" 
    1064                                 endif 
    1065                         else 
    1066                                  
    1067                                 jj=strlen(str1) 
    1068                                 do 
    1069                                         jj -= 1 
    1070                                         spc = cmpstr(str1[jj], " ") 
    1071                                         if (spc != 0) 
    1072                                                 break           //no more spaces found, get out 
    1073                                         endif 
    1074                                 While(1) 
    1075          
    1076                                 //print str1, jj, str1[jj]       
    1077                         endif 
    1078                 Endif 
    1079                  
    1080                 ii+=1 
    1081         while(ii<numitems) 
    1082  
    1083  
    1084 end 
Note: See TracChangeset for help on using the changeset viewer.