This is a basic implementation of functionality provided in the open-source R package {mnirs}.
Available from: https://github.com/jemarnold/mnirs
Author: Jem Arnold
<currently under development>
mNIRS files can be imported and processed using standardised methods, and displayed in a plot and data table. Processed data can be downloaded for further analysis.
Upload an .xls(x) or .csv file containing mNIRS data exported from
many common wearable devices. Files exported from common NIRS devices
should be automatically recognised, with the first detected
nirs_channel returned.
Specify the column name(s) containing mNIRS data. Multiple channels
can be specified using comma-separated new_name = file_column_name
pairs.
Example: nirs_channels = c(smo2_left = SmO2, smo2_right = SmO2(2))
Specify the column containing time or sample values. This channel will be estimated from the file, if not specified.
Example: time_channel = c(time = Timestamp (seconds))
Optionally specify column with lap/event markers.
Specify the exported data sample rate in Hz. This will be automatically estimated from the time channel and can be manually overridden.
Data can be re-sampled to a desired higher or lower sample rate. Also
used to correct time_channel values for data with irregular or
duplicated samples.
Remove samples from the beginning or end of the recording, specified in
units of time_channel (i.e., seconds).
Replace specific fixed values (e.g., c(0, 100)) from nirs_channels.
Remove local outliers using a Hampel filter moving window approach.
Linearly interpolate across missing nirs_channel values.
Apply smoothing filters to improve signal-to-noise ratio. Methods include a cubic "smoothing-spline", a low-pass "Butterworth" filter, or a simple "moving average". Additional parameters for each filter method can be specified.
Move nirs_channels values up or down to a new specified reference
value, based on the "first", "minimum", or "maximum" data points.
Channels can be shifted together ("Ensemble") or independently
("Distinct").
Normalise nirs_channels to a new specified range. Channels can be
shifted together ("Ensemble") or independently ("Distinct").
Reset time_channel to start at zero.
Manually add event markers at specified time points. Will add an
event_channel to the data table if not already specified, otherwise
will add events to an existing event_channel.
Either keep all columns in the file data table (the default), or keep only the channels specified.
Export processed data as an Excel file for further analysis.