- Timestamp:
- May 31, 2019 2:08:01 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sans/Dev/trunk/NCNR_User_Procedures/Reduction/SANS/WriteHDF5.ipf
r1069 r1155 80 80 NewDataFolder/O/S $(dataBase) 81 81 Make/O/T/N=5 $(dataBase + ":attr") = {"canSAS_class","signal","I_axes","NX_class","Q_indices", "timestamp"} 82 Make/O/T/N=5 $(dataBase + ":attrVals") = {"SASdata","I","Q","NXdata","0 ,1",textw[1]}82 Make/O/T/N=5 $(dataBase + ":attrVals") = {"SASdata","I","Q","NXdata","0",textw[1]} 83 83 CreateStrNxCansas(fileID,dataParent,"","",empty,$(dataBase + ":attr"),$(dataBase + ":attrVals")) 84 84 // Create q entry … … 219 219 r_dist = sqrt( (pixSize*((p+1)-xctr))^2 + (pixSize*((q+1)-yctr)+(2)*yg_d)^2 ) //radial distance from ctr to pt 220 220 Redimension/N=(pixelsX*pixelsY) qz_val,qval,phi,r_dist 221 Make/O/N=(2,pixelsX,pixelsY) qxy_vals 221 222 //everything in 1D now 222 Duplicate/O qval SigmaQX,SigmaQY,fsubS 223 Duplicate/O qval SigmaQX,SigmaQY 224 Make/O/N=(pixelsX,pixelsY) shadow 225 Make/O/N=(2,pixelsX,pixelsY) SigmaQ_combined 223 226 224 227 //Two parameters DDET and APOFF are instrument dependent. Determine … … 229 232 DDet = rw[10]/10 // header value (X) is in mm, want cm here 230 233 231 Variable ret1,ret2,ret3, nq232 nq = pixelsX*pixelsY234 Variable ret1,ret2,ret3,jj 235 Variable nq = 0 233 236 Variable ii = 0 234 237 235 238 do 236 get2DResolution(qval[ii],phi[ii],lambda,lambdaWidth,DDet,apOff,S1,S2,L1,L2,BS,pixSize,usingLenses,r_dist[ii],ret1,ret2,ret3) 237 SigmaQX[ii] = ret1 238 SigmaQY[ii] = ret2 239 fsubs[ii] = ret3 239 jj = 0 240 do 241 nq = ii * pixelsX + jj 242 get2DResolution(qval[nq],phi[nq],lambda,lambdaWidth,DDet,apOff,S1,S2,L1,L2,BS,pixSize,usingLenses,r_dist[nq],ret1,ret2,ret3) 243 qxy_vals[0][ii][jj] = qx_val[nq] 244 qxy_vals[1][ii][jj] = qy_val[nq] 245 SigmaQ_combined[0][ii][jj] = ret1 246 SigmaQ_combined[1][ii][jj] = ret2 247 shadow[ii][jj] = ret3 248 jj+=1 249 while(jj<pixelsX) 240 250 ii+=1 241 while(ii< nq)251 while(ii<pixelsY) 242 252 // 243 253 /////////////////////////////////////////////////////////////////////////// … … 266 276 NewDataFolder/O/S $(dataBase) 267 277 Make/O/T/N=5 $(dataBase + ":attr") = {"canSAS_class","signal","I_axes","NX_class","Q_indices", "timestamp"} 268 Make/O/T/N=5 $(dataBase + ":attrVals") = {"SASdata","I","Q x,Qy","NXdata","0,1",textw[1]}278 Make/O/T/N=5 $(dataBase + ":attrVals") = {"SASdata","I","Q,Q","NXdata","0,1",textw[1]} 269 279 CreateStrNxCansas(fileID,dataParent,"","",empty,$(dataBase + ":attr"),$(dataBase + ":attrVals")) 270 280 // Create i entry … … 273 283 Make/T/N=2 $(dataBase + ":i:attrVals") = {"1/cm","Idev"} 274 284 CreateVarNxCansas(fileID,dataParent,"sasdata","I",data,$(dataBase + ":i:attr"),$(dataBase + ":i:attrVals")) 285 286 // 287 // TODO: Reinstate Qdev/resolutions when I can fix the reader issue 288 // 289 275 290 // Create qx and qy entry 276 NewDataFolder/O/S $(dataBase + ":qx") 277 Make/T/N=2 $(dataBase + ":qx:attr") = {"units","resolutions"} 278 Make/T/N=2 $(dataBase + ":qx:attrVals") = {"1/angstrom","Qxdev"} 279 CreateVarNxCansas(fileID,dataParent,"sasdata","Qx",qx_val,$(dataBase + ":qx:attr"),$(dataBase + ":qx:attrVals")) 280 NewDataFolder/O/S $(dataBase + ":qy") 281 Make/T/N=2 $(dataBase + ":qy:attr") = {"units","resolutions"} 282 Make/T/N=2 $(dataBase + ":qy:attrVals") = {"1/angstrom","Qydev"} 283 CreateVarNxCansas(fileID,dataParent,"sasdata","Qy",qy_val,$(dataBase + ":qy:attr"),$(dataBase + ":qy:attrVals")) 291 NewDataFolder/O/S $(dataBase + ":q") 292 Make/T/N=2 $(dataBase + ":q:attr") = {"units"}//,"resolutions"} 293 Make/T/N=2 $(dataBase + ":q:attrVals") = {"1/angstrom"}//,"Qdev"} 294 CreateVarNxCansas(fileID,dataParent,"sasdata","Q",qxy_vals,$(dataBase + ":q:attr"),$(dataBase + ":q:attrVals")) 295 284 296 // Create idev entry 285 297 CreateVarNxCansas(fileID,dataParent,"sasdata","Idev",data_err,units,inv_cm) 286 298 // Create qdev entry 287 CreateVarNxCansas(fileID,dataParent,"sasdata","Qxdev",SigmaQX,units,inv_angstrom) 288 CreateVarNxCansas(fileID,dataParent,"sasdata","Qydev",SigmaQY,units,inv_angstrom) 299 CreateVarNxCansas(fileID,dataParent,"sasdata","Qdev",SigmaQ_combined,units,inv_angstrom) 289 300 // Create shadwfactor entry 290 291 // TODO: Reinstate ShadowFactor 292 // CreateVarNxCansas(fileID,dataParent,"sasdata","ShadowFactor",fsubs,empty,empty) 301 CreateVarNxCansas(fileID,dataParent,"sasdata","ShadowFactor",shadow,empty,empty) 293 302 294 303 // Write all meta data … … 341 350 Make/O/T/N=5 $(apertureBase + ":attrVals") = {"SASaperture","NXaperture"} 342 351 CreateStrNxCansas(fileID,apertureParent,"","",empty,$(apertureBase + ":attr"),$(apertureBase + ":attrVals")) 352 353 // 354 // TODO: Where do I get rectangular dimensions from? 355 // 356 343 357 // Create SASaperture shape entry 344 Make/O/T/N=1 $(apertureBase + ":shape") = {"pinhole"} // TODO: Where do I get rectangular dimensions from?358 Make/O/T/N=1 $(apertureBase + ":shape") = {"pinhole"} 345 359 CreateStrNxCansas(fileID,apertureParent,"sasaperture","shape",$(apertureBase + ":shape"),empty,empty) 346 360 // Create SASaperture x_gap entry 347 Make/O/N=1 $(apertureBase + ":x_gap") = {rw[24]} // TODO: Where do I get rectangular dimensions from?348 CreateVarNxCansas(fileID,apertureParent,"sasaperture","x_gap",$(apertureBase + ":x_gap"),units, cm)361 Make/O/N=1 $(apertureBase + ":x_gap") = {rw[24]} 362 CreateVarNxCansas(fileID,apertureParent,"sasaperture","x_gap",$(apertureBase + ":x_gap"),units,mm) 349 363 // Create SASaperture y_gap entry 350 Make/O/N=1 $(apertureBase + ":y_gap") = {rw[24]} // TODO: Where do I get rectangular dimensions from?351 CreateVarNxCansas(fileID,apertureParent,"sasaperture","y_gap",$(apertureBase + ":y_gap"),units, cm)364 Make/O/N=1 $(apertureBase + ":y_gap") = {rw[24]} 365 CreateVarNxCansas(fileID,apertureParent,"sasaperture","y_gap",$(apertureBase + ":y_gap"),units,mm) 352 366 353 367 // SAScollimation
Note: See TracChangeset
for help on using the changeset viewer.