NMRPipe File Format - CONNJUR/CONNJUR_widgets GitHub Wiki
Mostly from fdatap.h
The NMRPipe header is 2048 bytes. It is essentially a 512 element array of 4-byte floats. However, some of the contiguous floats are actually recast into char's for storing strings. Integer metadata is simply recorded as floats. fdatap.h defines named constants to provide a key-value lookup using the array indices.
Two notes. One, the actual data sizes of the file appear to be given by array elements 99, 219, 15 and 32, corresponding to FDSIZE, FDSPECNUM, FDF3SIZE and FDF4SIZE. Two, the "correct first point" C1 value and the ZF sizes appear to be negated. (Array elements: 108, 404, 409, 418, 423, 437, 438 and 439)
Array Index | Name | Comment |
0 | FDMAGIC | Should be zero in valid NMRPipe file |
1 | FDFLTFORMAT | Constant defining floating point format. (IEEE or VAX). |
2 | FDFLTORDER | Constant for determining endieness. 2.345 is correct. |
3-8 | unused | |
9 | FDDIMCOUNT | Number of dimensions in complete data |
10 | FDF3OBS | Obs Freq MHz. |
11 | FDF3SW | Sweep Width Hz. |
12 | FDF3ORIG | Axis Origin (Last Point), Hz. |
13 | FDF3FTFLAG | 1=Freq Domain 0=Time Domain. |
14 | FDPLANELOC | Location of this plane; currently unused |
15 | FDF3SIZE | Number of points in dimension. |
16-17 | FDF2LABEL | 8-char Axis Label. |
18-19 | FDF1LABEL | 8-char Axis Label. |
20-21 | FDF3LABEL | 8-char Axis Label. |
22-23 | FDF4LABEL | 8-char Axis Label. |
24 | FDDIMORDER1 | Dimension stored in X-Axis. |
25 | FDDIMORDER2 | Dimension stored in Y-Axis. |
26 | FDDIMORDER3 | Dimension stored in Z-Axis. |
27 | FDDIMORDER4 | Dimension stored in A-Axis. |
28 | FDF4OBS | Obs Freq MHz. |
29 | FDF4SW | Sweep Width Hz. |
30 | FDF4ORIG | Axis Origin (Last Point), Hz. |
31 | FDF4FTFLAG | 1=Freq Domain 0=Time Domain. |
32 | FDF4SIZE | Number of points in dimension. |
40 | FDDMXVAL | |
41 | FDDMXFLAG | |
42 | FDDELTATR | |
45 | FDNUSDIM | Unexpanded NUS dimensions. |
50 | FDF3APOD | Current valid time-domain size. |
51 | FDF3QUADFLAG | |
53 | FDF4APOD | Current valid time-domain size. |
54 | FDF4QUADFLAG | |
55 | FDF1QUADFLAG | |
56 | FDF2QUADFLAG | |
57 | FDPIPEFLAG | Dimension code of data stream. |
58 | FDF3UNITS | |
59 | FDF4UNITS | |
60 | FDF3P0 | |
61 | FDF3P1 | |
62 | FDF4P0 | |
63 | FDF4P1 | |
64 | FDF2AQSIGN | |
65 | FDPARTITION | Slice count for server mode. Added for NMRPipe |
66 | FDF2CAR | |
67 | FDF1CAR | |
68 | FDF3CAR | |
69 | FDF4CAR | |
70 | FDUSER1 | |
71 | FDUSER2 | |
72 | FDUSER3 | |
73 | FDUSER4 | |
74 | FDUSER5 | |
75 | FDPIPECOUNT | Number of functions in pipe. |
76 | FDUSER6 | |
77 | FDFIRSTPLANE | First Z-Plane in subset. Added for NMRPipe |
78 | FDLASTPLANE | Last Z-Plane in subset. Added for NMRPipe |
79 | FDF2CENTER | Point where carrier freq is referenced. May be outside datasize. |
80 | FDF1CENTER | Point where carrier freq is referenced. May be outside datasize. |
81 | FDF3CENTER | Point where carrier freq is referenced. May be outside datasize. |
82 | FDF4CENTER | Point where carrier freq is referenced. May be outside datasize. |
95 | FDF2APOD | Current valid time-domain size. |
96 | FDF2FTSIZE | |
97 | FDREALSIZE | Number of valid time-domain pts (obsolete). |
98 | FDF1FTSIZE | |
99 | FDSIZE | I. |
100 | FDF2SW | Sweep Width Hz. |
101 | FDF2ORIG | Axis Origin (Last Point), Hz. |
106 | FDQUADFLAG | See Data Type codes below. |
108 | FDF2ZF | |
109 | FDF2P0 | |
110 | FDF2P1 | |
111 | FDF2LB | |
119 | FDF2OBS | Obs Freq MHz. |
135 | FDMCFLAG | Magnitude Calculation performed. |
152 | FDF2UNITS | |
153 | FDNOISE | Used to contain an RMS noise estimate. |
157 | FDTEMPERATURE | Temperature, K. |
158 | FDPRESSURE | Pressure, Pascal. |
180 | FDRANK | Estimate of matrix rank; Added for NMRPipe. |
199 | FDTAU | A Tau value (for spectral series). |
200 | FDF3FTSIZE | |
201 | FDF4FTSIZE | |
218 | FDF1OBS | Obs Freq MHz. |
219 | FDSPECNUM | Number of complex 1D slices in file. |
220 | FDF2FTFLAG | 1=Freq Domain 0=Time Domain. |
221 | FDTRANSPOSED | 1=Transposed, 0=Not Transposed. |
222 | FDF1FTFLAG | 1=Freq Domain 0=Time Domain. |
229 | FDF1SW | Sweep Width Hz. |
234 | FDF1UNITS | |
243 | FDF1LB | |
245 | FDF1P0 | |
246 | FDF1P1 | |
247 | FDMAX | Max value in real part of data. |
248 | FDMIN | Min value in real part of data. |
249 | FDF1ORIG | Axis Origin (Last Point), Hz. |
250 | FDSCALEFLAG | 1 if FDMAX and FDMIN are valid. |
251 | FDDISPMAX | Max value, used for display generation. |
252 | FDDISPMIN | Min value, used for display generation. |
253 | FDPTHRESH | Positive threshold for peak detection. |
254 | FDNTHRESH | Negative threshold for peak detection. |
256 | FD2DPHASE | See 2D Plane Type codes below. |
257 | FDF2X1 | |
258 | FDF2XN | |
259 | FDF1X1 | |
260 | FDF1XN | |
261 | FDF3X1 | |
262 | FDF3XN | |
263 | FDF4X1 | |
264 | FDF4XN | |
266 | FDDOMINFO | Spectral/Spatial Flags. Added for NMRPipe. |
267 | FDMETHINFO | FT/Direct Flags. Added for NMRPipe. |
283 | FDHOURS | Time: hours |
284 | FDMINS | Time: minutes |
285 | FDSECS | Time: seconds |
286-289 | FDSRCNAME | char srcFile[16] (seems blank) |
290-293 | FDUSERNAME | char uName[16] (seems blank) |
294 | FDMONTH | Date: month |
295 | FDDAY | Date: day |
296 | FDYEAR | Date: year |
297-311 | FDTITLE | char title[60] (seems blank) |
312-351 | FDCOMMENT | char comment[160] (seems blank) |
359 | FDLASTBLOCK | |
360 | FDCONTBLOCK | |
361 | FDBASEBLOCK | |
362 | FDPEAKBLOCK | |
363 | FDBMAPBLOCK | |
364 | FDHISTBLOCK | |
365 | FD1DBLOCK | |
370 | FDSCORE | Added for screening score etc. |
371 | FDSCANS | Number of Scans per 1D. |
372 | FDF3LB | |
373 | FDF4LB | |
374 | FDF2GB | |
375 | FDF1GB | |
376 | FDF3GB | |
377 | FDF4GB | |
378 | FDF2OBSMID | |
379 | FDF1OBSMID | |
380 | FDF3OBSMID | |
381 | FDF4OBSMID | |
382 | FDF2GOFF | |
383 | FDF1GOFF | |
384 | FDF3GOFF | |
385 | FDF4GOFF | |
386 | FDF2TDSIZE | |
387 | FDF1TDSIZE | |
388 | FDF3TDSIZE | |
389 | FDF4TDSIZE | |
399 | FD2DVIRGIN | 0=Data never accessed, header never adjusted. |
400 | FDF3APODCODE | |
401 | FDF3APODQ1 | |
402 | FDF3APODQ2 | |
403 | FDF3APODQ3 | |
404 | FDF3C1 | |
405 | FDF4APODCODE | |
406 | FDF4APODQ1 | |
407 | FDF4APODQ2 | |
408 | FDF4APODQ3 | |
409 | FDF4C1 | |
413 | FDF2APODCODE | GMB=7, SP=1 |
414 | FDF1APODCODE | |
415 | FDF2APODQ1 | |
416 | FDF2APODQ2 | |
417 | FDF2APODQ3 | |
418 | FDF2C1 | |
419 | FDF2APODDF | |
420 | FDF1APODQ1 | |
421 | FDF1APODQ2 | |
422 | FDF1APODQ3 | |
423 | FDF1C1 | |
428 | FDF1APOD | Current valid time-domain size. |
437 | FDF1ZF | |
438 | FDF3ZF | |
439 | FDF4ZF | |
442 | FDFILECOUNT | Number of files in complete data. |
443 | FDSLICECOUNT0 | Encodes number of 1D slices in stream. |
444 | FDTHREADCOUNT | Multi-Thread Mode: Number of Threads. |
445 | FDTHREADID | Multi-Thread Mode: Thread ID, First = 0. |
446 | FDSLICECOUNT1 | Encodes number of 1D slices in stream. |
447 | FDCUBEFLAG | Data is 3D cube file series. |
464-471 | FDOPERNAME | char oName[32] (seems blank) |
475 | FDF1AQSIGN | |
476 | FDF3AQSIGN | |
477 | FDF4AQSIGN | |
480 | FDF2OFFPPM | |
481 | FDF1OFFPPM | |
482 | FDF3OFFPPM | |
483 | FDF4OFFPPM |