Output files¶
Images¶
The reconstruction programs write single-file NIfTI-1 images (.nii) with 32-bit float voxels. Each complex image becomes two files: a magnitude image ending in _mag.nii and a phase image, in radians, ending in _phs.nii.
| Program | File names | Frames |
|---|---|---|
forgeSense, forgePcSense, forgePcSenseTimeSeg and the MPI programs |
img_Slice<s>_Rep<r>_Avg<a>_Echo<e>_Phase<p>_mag.nii and ..._phs.nii |
One 3-D image per file |
oscillateRecon |
img_Slice<s>_Avg<a>_Echo<e>_Phase<p>_mag.nii and ..._phs.nii |
One frame per repetition (4-D) |
gridCoilImages |
img_Rep<r>_Avg<a>_Echo<e>_Phase<p>_mag.nii and ..._phs.nii |
One frame per coil (4-D), or slices × coils (5-D) when the file has several slices |
gridCoilImages |
imSOS_Rep<r>_Avg<a>_Echo<e>_Phase<p>.nii |
Root sum of squares over coils |
The counters start at 0. Files go in the -o directory.
Voxel order and header¶
| Item | Value |
|---|---|
dim[1], dim[2], dim[3] |
Ny, Nx, Nz. FORGE stores images with y (the phase-encode direction) fastest, so NIfTI axis i is y. |
pixdim[1..3] |
Voxel size in mm along i, j, k: field of view over matrix size, or the --voxel-size values (y, x, z) |
qform_code, sform_code |
NIFTI_XFORM_SCANNER_ANAT (1), both describing the same affine |
| Affine | Axis i follows the acquisition's phase direction, j the read direction and k the slice direction, converted from ISMRMRD's LPS to NIfTI's RAS. The offset is the position of the centre of voxel (0, 0, 0). |
scl_slope, scl_inter |
1 and 0: the stored values are the image values |
xyzt_units |
mm |
With --no-orient, qform_code and sform_code are 0 and the images carry voxel sizes only. When the acquisitions have no direction cosines, FORGE logs a warning and writes an identity orientation at the origin.
Image orientation explains how the affine is built. Versions before 0.14.0 swapped axes i and j in the affine, put the offset at the slab centre and set scl_slope to 100; see the changelog.
Log file¶
Every program writes a rotating log file, forge.log, in the current directory, whatever output mode is chosen.
Progress output¶
What the programs write to the terminal depends on the output options:
| Options | Output |
|---|---|
| none | JSON lines on stderr. forgeview is started if stdout is a terminal and forgeview can be found. |
--no-tui |
JSON lines on stderr, and forgeview is never started |
--jsonl-output stdout |
JSON lines on stdout |
--jsonl-output <file> |
JSON lines written to the file |
--no-jsonl |
Plain log text on stderr and text progress bars, no JSON |
The JSON lines are described in JSON lines protocol.