Ignore:
Timestamp:
Apr 16, 2020 4:03:31 PM (2 years ago)
Author:
ilavsky
Message:

Fixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/User Procedures/Nika/NI1_FileLoaders.ipf

    r865 r924  
    41564156        For (i=0;i<ItemsInList(ListOfGroups);i+=1)
    41574157                AttribList = NI1_HdfReadAllAttributes(fileID, stringfromlist(i,ListOfGroups),0)
     4158                //version 0.1 of the standard...
    41584159                if(stringMatch(StringByKey("NX_class", AttribList),"NXdata") && stringMatch(StringByKey("canSAS_class", AttribList),"SASdata") && stringMatch(StringByKey("canSAS_version", AttribList),"0.1"))
    41594160                        PathToData = stringfromlist(i,ListOfGroups)
     
    41924193                                        DataIdentification += "MaskWv:"+TempMaskPath+","+"AzimAngles:"+TempAzAPath+","
    41934194                                        DataIdentification += "UnbinnedQx:"+OrigQxPath+","+"UnbinnedQy:"+OrigQyPath+","
    4194 
    41954195                                endif                   
    41964196                        endfor
    41974197                endif
     4198                //this is generic NXcanSAS as avilable on https://github.com/canSAS-org/NXcanSAS_examples April 2020
     4199                if(stringMatch(StringByKey("NX_class", AttribList),"NXdata") && stringMatch(StringByKey("canSAS_class", AttribList),"SASdata"))
     4200                        PathToData = stringfromlist(i,ListOfGroups)
     4201                        //print "Found location of data : " + PathToData
     4202                        HDF5ListGroup /F /TYPE=2  /Z fileID , PathToData
     4203                        ListOfDataSets = S_HDF5ListGroup
     4204                        For(j=0;j<ItemsInList(ListOfDataSets);j+=1)
     4205                                tempStr = NI1_HdfReadAllAttributes(fileID, stringfromlist(j,ListOfDataSets),1)
     4206                                if(stringmatch(stringByKey("signal", tempStr),"I"))                     //the group has signal=I attribute
     4207                                        TempDataPath = stringfromlist(j,ListOfDataSets)
     4208                                        tempStr2 = stringByKey("I_axes", tempStr)
     4209                                        if(stringmatch(tempStr2,"Q"))
     4210                                                TempQPath = TempDataPath[0,strlen(TempDataPath)-2]+"Q"
     4211                                        elseif(stringmatch(tempStr2,"Qx,Qy"))
     4212                                                TempQPath = TempDataPath[0,strlen(TempDataPath)-2]+"Qx"+";"
     4213                                                TempQPath += TempDataPath[0,strlen(TempDataPath)-2]+"Qy"
     4214                                        else
     4215                                                abort "Problem identifying Q axes"
     4216                                        endif
     4217                                        if(StringMatch(ListOfDataSets,"*Mask*"))
     4218                                                TempMaskPath = TempDataPath[0,strlen(TempDataPath)-2]+"Mask"
     4219                                        endif
     4220                                        if(StringMatch(ListOfDataSets,"*Idev*"))
     4221                                                TempIdevPath = TempDataPath[0,strlen(TempDataPath)-2]+"Idev"
     4222                                        endif
     4223                                        if(StringMatch(ListOfDataSets,"*AzimAngles*"))
     4224                                                TempAzAPath = TempDataPath[0,strlen(TempDataPath)-2]+"AzimAngles"
     4225                                        endif
     4226                                        if(StringMatch(ListOfDataSets,"*UnbinnedQx*"))
     4227                                                OrigQxPath = TempDataPath[0,strlen(TempDataPath)-2]+"UnbinnedQx"
     4228                                        endif
     4229                                        if(StringMatch(ListOfDataSets,"*UnbinnedQy*"))
     4230                                                OrigQyPath = TempDataPath[0,strlen(TempDataPath)-2]+"UnbinnedQy"
     4231                                        endif
     4232                                        DataIdentification = "DataWv:"+TempDataPath+","+"QWv:"+TempQPath+","+"IdevWv:"+TempIdevPath+","
     4233                                        DataIdentification += "MaskWv:"+TempMaskPath+","+"AzimAngles:"+TempAzAPath+","
     4234                                        DataIdentification += "UnbinnedQx:"+OrigQxPath+","+"UnbinnedQy:"+OrigQyPath+","
     4235
     4236                                endif                   
     4237                        endfor
     4238                endif
     4239
    41984240        endfor
    41994241        HDF5CloseFile fileID 
     4242        if(strlen(DataIdentification)<5)
     4243                abort "Do not understand canSAS version/data in NI1_ReadNexusCanSAS"
     4244        endif
    42004245        return DataIdentification
    42014246end
Note: See TracChangeset for help on using the changeset viewer.