The fields
listed on this page are applicable to releases 3.3.0+ and are not
necessarily correct for other versions of Gannet.
All output from Gannet analyses is saved in a structure (e.g.,
MRS_struct, or whatever name the user has chosen) that
contains many fields and subfields. Listed below are lists of these
fields and their descriptions. Note that this is not an exhaustive list
of attributes of output that can be generated by Gannet.
MRS_struct
loadtime |
The time when GannetLoad was
initiated |
version |
Structure containing release numbers of Gannet and the
Gannet modules |
ii |
During analysis, the current file being loaded; after
analysis, the number of files that were loaded |
metabfile |
Cell array containing the inputted metabolite data
filenames |
waterfile |
Cell array containing the inputted water reference data
filenames |
MRS_struct.p
target |
The metabolite(s) targeted by the editing pulses |
ON_OFF_order |
Order of the editing subexperiments |
seqorig |
Origin of the Philips MEGA-PRESS or GE HERMES
sequences |
LB |
Exponential line-broadening applied (Hz) |
water_ECC |
Whether eddy-current correction was applied to the
water data |
metab_ECC |
Whether eddy-current correction was applied to the
metabolite data |
water_removal |
Whether the residual water signal in DIFF spectrum was
removed using HSVD |
alignment |
Choice of shot-to-shot frequency-and-phase
correction |
use_prealign_ref |
Whether RobustSpecReg used the averaged
pre-aligned subspectra as references to align the averaged post-aligned
subspectra |
fit_resid_water |
Whether the residual water signal in the OFF spectrum
was fitted to calculate a water suppression factor |
weighted_averaging |
Whether weighted signal averaging was implemented |
HERMES |
Whether the data are HERMES data |
HERCULES |
Whether the data are HERCULES data |
PRIAM |
Whether the data are PRIAM data |
phantom |
Whether the data are phantom data |
join |
Whether the input files were joined |
mat |
Whether the output structure was saved as MAT-file |
csv |
Whether a CSV file of useful data was created |
append |
Whether the PDF outputs were appended into single
files |
hide |
Whether the output figures were hidden |
vendor |
Scanner vendor |
reference |
Concentrations will be calculated relative to this; if
a water reference is provided, concentrations will be calculated
relative to both water and Cr, otherwise they will be calculated
relative to Cr |
numScans |
Total number of scans in the batch |
numFilesPerScan |
When input files are joined, the number of files joined
per scan |
npoints |
Number of data points of each input file |
nrows |
Number of data frames stored in each input file |
nrows_water |
Number of data frames stored in each input water
reference file |
Navg |
Total number of averages collected at acquisition |
Nwateravg |
Total number of averages collected at acquisition |
TR |
Repetition time (ms) |
TE |
Echo time (ms) |
TR_water |
Repetition time (ms) |
TE_water |
Echo time (ms) |
LarmorFreq |
Larmor frequency (MHz) |
sw |
Spectral width (Hz) |
voxdim |
Array of voxel dimensions (mm) |
voxoff |
Array of voxel position offset (mm) |
voxang |
Array of voxel angulation (deg) |
ZeroFillTo |
Processed spectra are zero-filled to this many data
points |
zf |
Zero-fill factor |
dt |
Dwell time (s) |
SpecRes |
Spectral resolution of the raw data (Hz/point) |
SpecResNominal |
Nominal spectral resolution of the processed data
(Hz/point) |
Tacq |
Acquisition time (s) |
weighted_averaging_method |
The algorithm used for weighted signal averaging |
MRS_struct.fids
data |
Raw time-domain metabolite data (dimensions:
npoints \(\times\)
nrows) of the last loaded dataset |
data_water |
Raw time-domain water reference data (dimensions:
npoints \(\times\)
nrows_water) of the last loaded dataset |
ON_OFF |
Array of the editing order of the last loaded dataset
(1 = ON; 0 = OFF) |
data_align |
Raw time-domain metabolite data of the last loaded
dataset with frequency-and-phase correction applied |
MRS_struct.spec
vox1 (or whatever was set in
MRS_struct.p.vox in
GannetPreInitialise.m) |
This structure contains the complex frequency-domain
spectral data for all input datasets |
freq |
Frequency axis (ppm), calculated from the last loaded
dataset |
F0freq |
Cell array of the observed frequency of either residual
water signal or the 3 ppm Cr signal for each average |
F0freq2 |
Cell array of the observed frequency of the 3 ppm Cr
signal for each average; this is used in
RobustSpectralRegistration.m as the starting values for
frequency during optimization |
AllFramesFT |
Spectra of the last loaded dataset without
frequency-and-phase correction applied |
AllFramesFTrealign |
Spectra of the last loaded dataset with
frequency-and-phase correction applied |
MRS_struct.out
AvgDeltaF0 |
Vector containing a metric of the amount of frequency
offset observed during the acquisition, calculated as the mean
difference between the observed frequency of the residual water signal
(or the 3 ppm Cr signal) in the pre-frequency-corrected subspectra and
the nominal water frequency at 4.68 ppm (or the nominal 3 ppm Cr signal
if HERMES or GSH editing) |
SpecReg |
Structure containing output from spectral
registration |
reject |
Cell array of binary integers indicating whether an
individual transient should be rejected during signal averaging |
signal_averaging |
Structure containing a cell array of the weighting
factors applied if weighted signal averaging is used |
vox1 (or whatever was set in
MRS_struct.p.vox in
GannetPreInitialise.m) |
This structure contains the output from the signal
modeling, quality analysis, and quantification of all the signals of
interest |
QA |
Structure containing metrics calculated to quantify the
performance of the tissue segmentation |
MRS_struct.mask
outfile |
Cell array of the output filenames of the voxel
masks |
img |
Cell array containing three-dimensional arrays
representing the three orthogonal slices of the
T1-weighted structural images that are displayed in
the figure outputs |
T1image |
Cell array of the input T1-weighted
structural image filenames |
img_montage |
Cell array containing three-dimensional arrays
representing a montage of axial slices of the
T1-weighted structural images overlaid by the
tissue-segmented voxel masks that are displayed in the
GannetQuantify.m figure output |
mask_overlap |
Structure giving details of where a voxel mask overlap
is saved (this is created if the normalize flag is set to
1 in GannetPreInitialise.m) |
LS0tCnRpdGxlOiAiT3V0cHV0IHN0cnVjdHVyZSBhdHRyaWJ1dGVzIgpkYXRlOiAiTGFzdCB1cGRhdGVkOiBgciBmb3JtYXQoU3lzLnRpbWUoKSwgJyVCICVkLCAlWScpYCIKb3V0cHV0OgogIGh0bWxfZG9jdW1lbnQ6CiAgICB0b2M6IFRSVUUKICAgIHRvY19kZXB0aDogMgogICAgdG9jX2Zsb2F0OgogICAgICBjb2xsYXBzZWQ6IEZBTFNFCi0tLQoKYGBge3Igc2V0dXAsIGluY2x1ZGUgPSBGQUxTRX0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBUUlVFKQpgYGAKCmBgYHtyLCBjaGlsZCA9IGMoImpzL2JhY2stdG8tdG9wLmh0bWwiLCAianMvY29weS10by1jbGlwYm9hcmQuaHRtbCIsICJqcy90b2NpZnktb2Zmc2V0Lmh0bWwiKX0KYGBgCgpgYGB7Y3NzLCBlY2hvID0gRkFMU0V9Ci5pbmZvIHsKICBtYXJnaW4tYm90dG9tOiAyMHB4Owp9CmBgYAoKPGJyPgoKOjo6IGluZm8KPGkgY2xhc3M9ImZhIGZhLWluZm8tY2lyY2xlIiBzdHlsZT0iY29sb3I6IHdoaXRlIj48L2k+Jm5ic3A7IFRoZSBmaWVsZHMgbGlzdGVkIG9uIHRoaXMgcGFnZSBhcmUgYXBwbGljYWJsZSB0byByZWxlYXNlcyAzLjMuMCsgYW5kIGFyZSBub3QgbmVjZXNzYXJpbHkgY29ycmVjdCBmb3Igb3RoZXIgdmVyc2lvbnMgb2YgR2FubmV0Lgo6OjoKCkFsbCBvdXRwdXQgZnJvbSBHYW5uZXQgYW5hbHlzZXMgaXMgc2F2ZWQgaW4gYSBzdHJ1Y3R1cmUgKGUuZy4sIGBNUlNfc3RydWN0YCwgb3Igd2hhdGV2ZXIgbmFtZSB0aGUgdXNlciBoYXMgY2hvc2VuKSB0aGF0IGNvbnRhaW5zIG1hbnkgZmllbGRzIGFuZCBzdWJmaWVsZHMuIExpc3RlZCBiZWxvdyBhcmUgbGlzdHMgb2YgdGhlc2UgZmllbGRzIGFuZCB0aGVpciBkZXNjcmlwdGlvbnMuIE5vdGUgdGhhdCB0aGlzIGlzIG5vdCBhbiBleGhhdXN0aXZlIGxpc3Qgb2YgYXR0cmlidXRlcyBvZiBvdXRwdXQgdGhhdCBjYW4gYmUgZ2VuZXJhdGVkIGJ5IEdhbm5ldC4KCiMjIE1SU19zdHJ1Y3QKCnwgPHU+RmllbGQ8L3U+IHwgPHU+RGVzY3JpcHRpb248L3U+IHwKfDotLS0tLS0tLS0tLS0tLS0tLS18Oi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18CnwgYGxvYWR0aW1lYCB8IFRoZSB0aW1lIHdoZW4gYEdhbm5ldExvYWRgIHdhcyBpbml0aWF0ZWQgfAp8IGB2ZXJzaW9uYCB8IFN0cnVjdHVyZSBjb250YWluaW5nIHJlbGVhc2UgbnVtYmVycyBvZiBHYW5uZXQgYW5kIHRoZSBHYW5uZXQgbW9kdWxlcyB8CnwgYGlpYCB8IER1cmluZyBhbmFseXNpcywgdGhlIGN1cnJlbnQgZmlsZSBiZWluZyBsb2FkZWQ7IGFmdGVyIGFuYWx5c2lzLCB0aGUgbnVtYmVyIG9mIGZpbGVzIHRoYXQgd2VyZSBsb2FkZWQgfAp8IGBtZXRhYmZpbGVgIHwgQ2VsbCBhcnJheSBjb250YWluaW5nIHRoZSBpbnB1dHRlZCBtZXRhYm9saXRlIGRhdGEgZmlsZW5hbWVzIHwKfCBgd2F0ZXJmaWxlYCB8IENlbGwgYXJyYXkgY29udGFpbmluZyB0aGUgaW5wdXR0ZWQgd2F0ZXIgcmVmZXJlbmNlIGRhdGEgZmlsZW5hbWVzIHwKCiMjIE1SU19zdHJ1Y3QucAoKfCA8dT5GaWVsZDwvdT4gfCA8dT5EZXNjcmlwdGlvbjwvdT4gfAp8Oi0tLS0tLS0tLS0tLS0tLS0tLXw6LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKfCBgdGFyZ2V0YCB8IFRoZSBtZXRhYm9saXRlKHMpIHRhcmdldGVkIGJ5IHRoZSBlZGl0aW5nIHB1bHNlcyB8CnwgYE9OX09GRl9vcmRlcmAgfCBPcmRlciBvZiB0aGUgZWRpdGluZyBzdWJleHBlcmltZW50cyB8IAp8IGBzZXFvcmlnYCB8IE9yaWdpbiBvZiB0aGUgUGhpbGlwcyBNRUdBLVBSRVNTIG9yIEdFIEhFUk1FUyBzZXF1ZW5jZXMgfAp8IGBMQmAgfCBFeHBvbmVudGlhbCBsaW5lLWJyb2FkZW5pbmcgYXBwbGllZCAoSHopIHwKfCBgd2F0ZXJfRUNDYCB8IFdoZXRoZXIgZWRkeS1jdXJyZW50IGNvcnJlY3Rpb24gd2FzIGFwcGxpZWQgdG8gdGhlIHdhdGVyIGRhdGEgfAp8IGBtZXRhYl9FQ0NgIHwgV2hldGhlciBlZGR5LWN1cnJlbnQgY29ycmVjdGlvbiB3YXMgYXBwbGllZCB0byB0aGUgbWV0YWJvbGl0ZSBkYXRhIHwKfCBgd2F0ZXJfcmVtb3ZhbGAgfCBXaGV0aGVyIHRoZSByZXNpZHVhbCB3YXRlciBzaWduYWwgaW4gRElGRiBzcGVjdHJ1bSB3YXMgcmVtb3ZlZCB1c2luZyBIU1ZEIHwKfCBgYWxpZ25tZW50YCB8IENob2ljZSBvZiBzaG90LXRvLXNob3QgZnJlcXVlbmN5LWFuZC1waGFzZSBjb3JyZWN0aW9uIHwKfCBgdXNlX3ByZWFsaWduX3JlZmAgfCBXaGV0aGVyIGBSb2J1c3RTcGVjUmVnYCB1c2VkIHRoZSBhdmVyYWdlZCBwcmUtYWxpZ25lZCBzdWJzcGVjdHJhIGFzIHJlZmVyZW5jZXMgdG8gYWxpZ24gdGhlIGF2ZXJhZ2VkIHBvc3QtYWxpZ25lZCBzdWJzcGVjdHJhIHwKfCBgZml0X3Jlc2lkX3dhdGVyYCB8IFdoZXRoZXIgdGhlIHJlc2lkdWFsIHdhdGVyIHNpZ25hbCBpbiB0aGUgT0ZGIHNwZWN0cnVtIHdhcyBmaXR0ZWQgdG8gY2FsY3VsYXRlIGEgd2F0ZXIgc3VwcHJlc3Npb24gZmFjdG9yIHwKfCBgd2VpZ2h0ZWRfYXZlcmFnaW5nYCB8IFdoZXRoZXIgd2VpZ2h0ZWQgc2lnbmFsIGF2ZXJhZ2luZyB3YXMgaW1wbGVtZW50ZWQgfAp8IGBIRVJNRVNgIHwgV2hldGhlciB0aGUgZGF0YSBhcmUgSEVSTUVTIGRhdGEgfAp8IGBIRVJDVUxFU2AgfCBXaGV0aGVyIHRoZSBkYXRhIGFyZSBIRVJDVUxFUyBkYXRhIHwgCnwgYFBSSUFNYCB8IFdoZXRoZXIgdGhlIGRhdGEgYXJlIFBSSUFNIGRhdGEgfAp8IGBwaGFudG9tYCB8IFdoZXRoZXIgdGhlIGRhdGEgYXJlIHBoYW50b20gZGF0YSB8CnwgYGpvaW5gIHwgV2hldGhlciB0aGUgaW5wdXQgZmlsZXMgd2VyZSBqb2luZWQgfAp8IGBtYXRgIHwgV2hldGhlciB0aGUgb3V0cHV0IHN0cnVjdHVyZSB3YXMgc2F2ZWQgYXMgTUFULWZpbGUgfAp8IGBjc3ZgIHwgV2hldGhlciBhIENTViBmaWxlIG9mIHVzZWZ1bCBkYXRhIHdhcyBjcmVhdGVkIHwKfCBgYXBwZW5kYCB8IFdoZXRoZXIgdGhlIFBERiBvdXRwdXRzIHdlcmUgYXBwZW5kZWQgaW50byBzaW5nbGUgZmlsZXMgfAp8IGBoaWRlYCB8IFdoZXRoZXIgdGhlIG91dHB1dCBmaWd1cmVzIHdlcmUgaGlkZGVuIHwKfCBgdmVuZG9yYCB8IFNjYW5uZXIgdmVuZG9yIHwKfCBgcmVmZXJlbmNlYCB8IENvbmNlbnRyYXRpb25zIHdpbGwgYmUgY2FsY3VsYXRlZCByZWxhdGl2ZSB0byB0aGlzOyBpZiBhIHdhdGVyIHJlZmVyZW5jZSBpcyBwcm92aWRlZCwgY29uY2VudHJhdGlvbnMgd2lsbCBiZSBjYWxjdWxhdGVkIHJlbGF0aXZlIHRvIGJvdGggd2F0ZXIgYW5kIENyLCBvdGhlcndpc2UgdGhleSB3aWxsIGJlIGNhbGN1bGF0ZWQgcmVsYXRpdmUgdG8gQ3IgfAp8IGBudW1TY2Fuc2AgfCBUb3RhbCBudW1iZXIgb2Ygc2NhbnMgaW4gdGhlIGJhdGNoIHwKfCBgbnVtRmlsZXNQZXJTY2FuYCB8IFdoZW4gaW5wdXQgZmlsZXMgYXJlIGpvaW5lZCwgdGhlIG51bWJlciBvZiBmaWxlcyBqb2luZWQgcGVyIHNjYW4gfAp8IGBucG9pbnRzYCB8IE51bWJlciBvZiBkYXRhIHBvaW50cyBvZiBlYWNoIGlucHV0IGZpbGUgfAp8IGBucm93c2AgfCBOdW1iZXIgb2YgZGF0YSBmcmFtZXMgc3RvcmVkIGluIGVhY2ggaW5wdXQgZmlsZSB8CnwgYG5yb3dzX3dhdGVyYCB8IE51bWJlciBvZiBkYXRhIGZyYW1lcyBzdG9yZWQgaW4gZWFjaCBpbnB1dCB3YXRlciByZWZlcmVuY2UgZmlsZSB8CnwgYE5hdmdgIHwgVG90YWwgbnVtYmVyIG9mIGF2ZXJhZ2VzIGNvbGxlY3RlZCBhdCBhY3F1aXNpdGlvbiB8CnwgYE53YXRlcmF2Z2AgfCBUb3RhbCBudW1iZXIgb2YgYXZlcmFnZXMgY29sbGVjdGVkIGF0IGFjcXVpc2l0aW9uIHwKfCBgVFJgIHwgUmVwZXRpdGlvbiB0aW1lIChtcykgfAp8IGBURWAgfCBFY2hvIHRpbWUgKG1zKSB8CnwgYFRSX3dhdGVyYCB8IFJlcGV0aXRpb24gdGltZSAobXMpIHwKfCBgVEVfd2F0ZXJgIHwgRWNobyB0aW1lIChtcykgfAp8IGBMYXJtb3JGcmVxYCB8IExhcm1vciBmcmVxdWVuY3kgKE1IeikgfAp8IGBzd2AgfCBTcGVjdHJhbCB3aWR0aCAoSHopIHwKfCBgdm94ZGltYCB8IEFycmF5IG9mIHZveGVsIGRpbWVuc2lvbnMgKG1tKSB8CnwgYHZveG9mZmAgfCBBcnJheSBvZiB2b3hlbCBwb3NpdGlvbiBvZmZzZXQgKG1tKSB8CnwgYHZveGFuZ2AgfCBBcnJheSBvZiB2b3hlbCBhbmd1bGF0aW9uIChkZWcpIHwKfCBgWmVyb0ZpbGxUb2AgfCBQcm9jZXNzZWQgc3BlY3RyYSBhcmUgemVyby1maWxsZWQgdG8gdGhpcyBtYW55IGRhdGEgcG9pbnRzIHwKfCBgemZgIHwgWmVyby1maWxsIGZhY3RvciB8CnwgYGR0YCB8IER3ZWxsIHRpbWUgKHMpIHwKfCBgU3BlY1Jlc2AgfCBTcGVjdHJhbCByZXNvbHV0aW9uIG9mIHRoZSByYXcgZGF0YSAoSHovcG9pbnQpIHwKfCBgU3BlY1Jlc05vbWluYWxgIHwgTm9taW5hbCBzcGVjdHJhbCByZXNvbHV0aW9uIG9mIHRoZSBwcm9jZXNzZWQgZGF0YSAoSHovcG9pbnQpIHwKfCBgVGFjcWAgfCBBY3F1aXNpdGlvbiB0aW1lIChzKSB8CnwgYHdlaWdodGVkX2F2ZXJhZ2luZ19tZXRob2RgIHwgVGhlIGFsZ29yaXRobSB1c2VkIGZvciB3ZWlnaHRlZCBzaWduYWwgYXZlcmFnaW5nIHwKCiMjIE1SU19zdHJ1Y3QuZmlkcwoKfCA8dT5GaWVsZDwvdT4gfCA8dT5EZXNjcmlwdGlvbjwvdT4gfAp8Oi0tLS0tLS0tLS0tLS0tLS0tLXw6LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKfCBgZGF0YWAgfCBSYXcgdGltZS1kb21haW4gbWV0YWJvbGl0ZSBkYXRhIChkaW1lbnNpb25zOiBgbnBvaW50c2AgJFx0aW1lcyQgYG5yb3dzYCkgb2YgdGhlIGxhc3QgbG9hZGVkIGRhdGFzZXQgfAp8IGBkYXRhX3dhdGVyYCB8IFJhdyB0aW1lLWRvbWFpbiB3YXRlciByZWZlcmVuY2UgZGF0YSAoZGltZW5zaW9uczogYG5wb2ludHNgICRcdGltZXMkIGBucm93c193YXRlcmApIG9mIHRoZSBsYXN0IGxvYWRlZCBkYXRhc2V0IHwKfCBgT05fT0ZGYCB8IEFycmF5IG9mIHRoZSBlZGl0aW5nIG9yZGVyIG9mIHRoZSBsYXN0IGxvYWRlZCBkYXRhc2V0IChgMWAgPSBPTjsgYDBgID0gT0ZGKSB8CnwgYGRhdGFfYWxpZ25gIHwgUmF3IHRpbWUtZG9tYWluIG1ldGFib2xpdGUgZGF0YSBvZiB0aGUgbGFzdCBsb2FkZWQgZGF0YXNldCB3aXRoIGZyZXF1ZW5jeS1hbmQtcGhhc2UgY29ycmVjdGlvbiBhcHBsaWVkIHwKCiMjIE1SU19zdHJ1Y3Quc3BlYwoKfCA8dT5GaWVsZDwvdT4gfCA8dT5EZXNjcmlwdGlvbjwvdT4gfAp8Oi0tLS0tLS0tLS0tLS0tLS0tLXw6LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKfCBgdm94MWAgKG9yIHdoYXRldmVyIHdhcyBzZXQgaW4gYE1SU19zdHJ1Y3QucC52b3hgIGluIGBHYW5uZXRQcmVJbml0aWFsaXNlLm1gKSB8IFRoaXMgc3RydWN0dXJlIGNvbnRhaW5zIHRoZSBjb21wbGV4IGZyZXF1ZW5jeS1kb21haW4gc3BlY3RyYWwgZGF0YSBmb3IgYWxsIGlucHV0IGRhdGFzZXRzIHwKfCBgZnJlcWAgfCBGcmVxdWVuY3kgYXhpcyAocHBtKSwgY2FsY3VsYXRlZCBmcm9tIHRoZSBsYXN0IGxvYWRlZCBkYXRhc2V0IHwKfCBgRjBmcmVxYCB8IENlbGwgYXJyYXkgb2YgdGhlIG9ic2VydmVkIGZyZXF1ZW5jeSBvZiBlaXRoZXIgcmVzaWR1YWwgd2F0ZXIgc2lnbmFsIG9yIHRoZSAzIHBwbSBDciBzaWduYWwgZm9yIGVhY2ggYXZlcmFnZSB8CnwgYEYwZnJlcTJgIHwgQ2VsbCBhcnJheSBvZiB0aGUgb2JzZXJ2ZWQgZnJlcXVlbmN5IG9mIHRoZSAzIHBwbSBDciBzaWduYWwgZm9yIGVhY2ggYXZlcmFnZTsgdGhpcyBpcyB1c2VkIGluIGBSb2J1c3RTcGVjdHJhbFJlZ2lzdHJhdGlvbi5tYCBhcyB0aGUgc3RhcnRpbmcgdmFsdWVzIGZvciBmcmVxdWVuY3kgZHVyaW5nIG9wdGltaXphdGlvbiB8CnwgYEFsbEZyYW1lc0ZUYCB8IFNwZWN0cmEgb2YgdGhlIGxhc3QgbG9hZGVkIGRhdGFzZXQgd2l0aG91dCBmcmVxdWVuY3ktYW5kLXBoYXNlIGNvcnJlY3Rpb24gYXBwbGllZCB8CnwgYEFsbEZyYW1lc0ZUcmVhbGlnbmAgfCBTcGVjdHJhIG9mIHRoZSBsYXN0IGxvYWRlZCBkYXRhc2V0IHdpdGggZnJlcXVlbmN5LWFuZC1waGFzZSBjb3JyZWN0aW9uIGFwcGxpZWQgfAoKIyMgTVJTX3N0cnVjdC5vdXQKCnwgPHU+RmllbGQ8L3U+IHwgPHU+RGVzY3JpcHRpb248L3U+IHwKfDotLS0tLS0tLS0tLS0tLS0tLS18Oi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18CnwgYEF2Z0RlbHRhRjBgIHwgVmVjdG9yIGNvbnRhaW5pbmcgYSBtZXRyaWMgb2YgdGhlIGFtb3VudCBvZiBmcmVxdWVuY3kgb2Zmc2V0IG9ic2VydmVkIGR1cmluZyB0aGUgYWNxdWlzaXRpb24sIGNhbGN1bGF0ZWQgYXMgdGhlIG1lYW4gZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBvYnNlcnZlZCBmcmVxdWVuY3kgb2YgdGhlIHJlc2lkdWFsIHdhdGVyIHNpZ25hbCAob3IgdGhlIDMgcHBtIENyIHNpZ25hbCkgaW4gdGhlIHByZS1mcmVxdWVuY3ktY29ycmVjdGVkIHN1YnNwZWN0cmEgYW5kIHRoZSBub21pbmFsIHdhdGVyIGZyZXF1ZW5jeSBhdCA0LjY4IHBwbSAob3IgdGhlIG5vbWluYWwgMyBwcG0gQ3Igc2lnbmFsIGlmIEhFUk1FUyBvciBHU0ggZWRpdGluZykgfAp8IGBTcGVjUmVnYCB8IFN0cnVjdHVyZSBjb250YWluaW5nIG91dHB1dCBmcm9tIHNwZWN0cmFsIHJlZ2lzdHJhdGlvbiB8CnwgYHJlamVjdGAgfCBDZWxsIGFycmF5IG9mIGJpbmFyeSBpbnRlZ2VycyBpbmRpY2F0aW5nIHdoZXRoZXIgYW4gaW5kaXZpZHVhbCB0cmFuc2llbnQgc2hvdWxkIGJlIHJlamVjdGVkIGR1cmluZyBzaWduYWwgYXZlcmFnaW5nIHwKfCBgc2lnbmFsX2F2ZXJhZ2luZ2AgfCBTdHJ1Y3R1cmUgY29udGFpbmluZyBhIGNlbGwgYXJyYXkgb2YgdGhlIHdlaWdodGluZyBmYWN0b3JzIGFwcGxpZWQgaWYgd2VpZ2h0ZWQgc2lnbmFsIGF2ZXJhZ2luZyBpcyB1c2VkIHwKfCBgdm94MWAgKG9yIHdoYXRldmVyIHdhcyBzZXQgaW4gYE1SU19zdHJ1Y3QucC52b3hgIGluIGBHYW5uZXRQcmVJbml0aWFsaXNlLm1gKSB8IFRoaXMgc3RydWN0dXJlIGNvbnRhaW5zIHRoZSBvdXRwdXQgZnJvbSB0aGUgc2lnbmFsIG1vZGVsaW5nLCBxdWFsaXR5IGFuYWx5c2lzLCBhbmQgcXVhbnRpZmljYXRpb24gb2YgYWxsIHRoZSBzaWduYWxzIG9mIGludGVyZXN0IHwKfCBgUUFgIHwgU3RydWN0dXJlIGNvbnRhaW5pbmcgbWV0cmljcyBjYWxjdWxhdGVkIHRvIHF1YW50aWZ5IHRoZSBwZXJmb3JtYW5jZSBvZiB0aGUgdGlzc3VlIHNlZ21lbnRhdGlvbiB8CgojIyBNUlNfc3RydWN0Lm1hc2sKCnwgPHU+RmllbGQ8L3U+IHwgPHU+RGVzY3JpcHRpb248L3U+IHwKfDotLS0tLS0tLS0tLS0tLS0tLS18Oi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18CnwgYG91dGZpbGVgIHwgQ2VsbCBhcnJheSBvZiB0aGUgb3V0cHV0IGZpbGVuYW1lcyBvZiB0aGUgdm94ZWwgbWFza3MgfAp8IGBpbWdgIHwgQ2VsbCBhcnJheSBjb250YWluaW5nIHRocmVlLWRpbWVuc2lvbmFsIGFycmF5cyByZXByZXNlbnRpbmcgdGhlIHRocmVlIG9ydGhvZ29uYWwgc2xpY2VzIG9mIHRoZSA8aT5UPC9pPjxzdWI+MTwvc3ViPi13ZWlnaHRlZCBzdHJ1Y3R1cmFsIGltYWdlcyB0aGF0IGFyZSBkaXNwbGF5ZWQgaW4gdGhlIGZpZ3VyZSBvdXRwdXRzIHwKfCBgVDFpbWFnZWAgfCBDZWxsIGFycmF5IG9mIHRoZSBpbnB1dCA8aT5UPC9pPjxzdWI+MTwvc3ViPi13ZWlnaHRlZCBzdHJ1Y3R1cmFsIGltYWdlIGZpbGVuYW1lcyB8CnwgYGltZ19tb250YWdlYCB8IENlbGwgYXJyYXkgY29udGFpbmluZyB0aHJlZS1kaW1lbnNpb25hbCBhcnJheXMgcmVwcmVzZW50aW5nIGEgbW9udGFnZSBvZiBheGlhbCBzbGljZXMgb2YgdGhlIDxpPlQ8L2k+PHN1Yj4xPC9zdWI+LXdlaWdodGVkIHN0cnVjdHVyYWwgaW1hZ2VzIG92ZXJsYWlkIGJ5IHRoZSB0aXNzdWUtc2VnbWVudGVkIHZveGVsIG1hc2tzIHRoYXQgYXJlIGRpc3BsYXllZCBpbiB0aGUgYEdhbm5ldFF1YW50aWZ5Lm1gIGZpZ3VyZSBvdXRwdXQgfAp8IGBtYXNrX292ZXJsYXBgIHwgU3RydWN0dXJlIGdpdmluZyBkZXRhaWxzIG9mIHdoZXJlIGEgdm94ZWwgbWFzayBvdmVybGFwIGlzIHNhdmVkICh0aGlzIGlzIGNyZWF0ZWQgaWYgdGhlIGBub3JtYWxpemVgIGZsYWcgaXMgc2V0IHRvIGAxYCBpbiBgR2FubmV0UHJlSW5pdGlhbGlzZS5tYCkgfAoKCgoK
Built with
R Markdown in
RStudio
Copyright © 2020–2026, Mark Mikkelsen