Working with CSV Data

After a study is complete—or perhaps during the course of a study—you might want to transfer large amounts of BioStamp® nPoint™ data from MC10 into your own systems. We recommend using the CSV formats described below.

High-resolution sensor data

High-resolution, or "raw," sensor data can be downloaded in CSV format on a per-subject, per-recording basis, compressed into zip files.

Acceleration data from the accelerometer is expressed as g-forces along three planes:

accel.csv
Timestamp (microseconds),Accel X (g),Accel Y (g),Accel Z (g)
1525823786674713,-0.37836270695048446,-0.7025864042114902,0.5781948577096205
1525823786706667,-0.3563897154192417,-0.7318837262531472,0.6187228198672461
1525823786738621,-0.34808880750743887,-0.7387197680628672,0.6074921797512776
...

Rotation data from the gyroscope is expressed as degrees per second along three planes:

gyro.csv
Timestamp (microseconds),Gyro X (°/s),Gyro Y (°/s),Gyro Z (°/s)
1536791313050384,0.5798428320745188,-0.8239871824216607,0.213626306553806
1536791313054383,0.7019150072480898,-0.8850232700083325,0.213626306553806
1536791313058382,0.7019150072480898,-0.8850232700083325,0.2746623941404778
...

Biopotential data from the skin-contact electrodes is expressed as volts:

elec.csv
Timestamp (microseconds),Sample (V)
1525823786704101,0.004003484143333069
1525823786708106,0.0038742402278680588
1525823786712110,0.0037757686732280415
...

The number of rows in each CSV file is roughly equal to the sampling rate times the recording length in seconds. For example, 24 hours of biopotential data at 250Hz will generate more than 20 million rows.

A typical recording file might be tens or even hundreds of megabytes in size. The following table shows the estimated file size, after compression, of a single recording file in some typical use cases:

Sensor Configuration

Recording Length

Est. File Size

Accel 31.25Hz

24 hrs.

50 MB

Elec 250 Hz

24 hrs.

150 MB

Elec 250Hz + Accel 31.25Hz

24 hrs.

200 MB

Gyro 31.25Hz + Accel 31.25Hz

12 hrs.

50 MB

Analytics

Sensor data is processed into physiological metrics that can be downloaded in CSV format on a per-study or per-subject basis for studies using analytics.

For each subject, the system generates a summary file (with values aggregated by day) plus one file per day of observation (with values aggregated by minute):

subj01_cumulative_metrics.csv
"DATE","MOVING_AVG_GAIT_CADENCE (steps_per_minute)","MOVING_AVG_HR (bpm)","MOVING_AVG_HRV (lf_hf)","MOVING_AVG_HRV_RMSSD (milliseconds)","MOVING_DURATION (seconds)","MOVING_MAX_HR (bpm)","MOVING_MAX_HRV (lf_hf)","MOVING_MAX_HRV_RMSSD (milliseconds)","MOVING_MIN_HR (bpm)","MOVING_MIN_HRV (lf_hf)","MOVING_MIN_HRV_RMSSD (milliseconds)","MOVING_OTHER_DURATION (seconds)","MOVING_STEPS (steps)","MOVING_WALKING_DURATION (seconds)","RESTING_AVG_HR (bpm)","RESTING_AVG_HRV (lf_hf)","RESTING_AVG_HRV_RMSSD (milliseconds)","RESTING_DURATION (seconds)","RESTING_LEANING_POSTURE_DURATION (seconds)","RESTING_LYING_DURATION (seconds)","RESTING_MAX_HR (bpm)","RESTING_MAX_HRV (lf_hf)","RESTING_MAX_HRV_RMSSD (milliseconds)","RESTING_MIN_HR (bpm)","RESTING_MIN_HRV (lf_hf)","RESTING_MIN_HRV_RMSSD (milliseconds)","RESTING_SITTING_DURATION (seconds)","RESTING_STANDING_DURATION (seconds)","RESTING_UPRIGHT_POSTURE_DURATION (seconds)","SENSOR_WEAR_DURATION (seconds)","SLEEPING_AVG_HR (bpm)","SLEEPING_AVG_HRV (lf_hf)","SLEEPING_AVG_HRV_RMSSD (milliseconds)","SLEEPING_AVG_RESPIRATION (breaths_per_minute)","SLEEPING_DURATION (seconds)","SLEEPING_MAX_HR (bpm)","SLEEPING_MAX_HRV (lf_hf)","SLEEPING_MAX_HRV_RMSSD (milliseconds)","SLEEPING_MAX_RESPIRATION (breaths_per_minute)","SLEEPING_MIN_HR (bpm)","SLEEPING_MIN_HRV (lf_hf)","SLEEPING_MIN_HRV_RMSSD (milliseconds)","SLEEPING_MIN_RESPIRATION (breaths_per_minute)","SLEEPING_ONSET_TS (utc_milliseconds)","SLEEPING_POSTURE_TRANSITIONS (transitions)","SLEEPING_WAKE_TS (utc_milliseconds)"
"2018-05-07","92.56","85.17","11.86","14.80","5085.00","107.72","35.93","180.34","64.97","0.84","5.62","2470.00","4034.00","2615.00","74.46","10.72","20.66","28940.00","25575.00","2510.00","107.72","32.00","278.61","62.11","0.84","5.17","24530.00","1900.00","3365.00","","","","","","","","","","","","","","","","",""
"2018-05-08","97.10","79.59","5.62","129.01","16815.00","136.05","28.68","776.42","32.70","0.44","3.64","7720.00","14718.00","9095.00","74.60","5.39","69.13","33575.00","31895.00","4215.00","136.05","25.15","776.42","30.93","0.30","3.64","19480.00","9880.00","1680.00","","57.88","3.49","47.05","15.56","29460.00","82.87","20.57","419.66","24.58","47.47","0.26","10.57","6.79","1525745400000.00","66.00","1525774980000.00"
"2018-05-09","85.60","93.01","5.53","17.48","1435.00","107.72","11.39","67.48","71.34","0.73","3.60","1285.00","214.00","150.00","78.09","4.64","19.36","39350.00","38990.00","33280.00","108.50","11.39","75.45","51.11","0.67","3.60","4290.00","1780.00","360.00","","","","","15.94","30345.00","","","","34.16","","","","6.73","1525831500000.00","48.00","1525862040000.00"
...
subj01_daily_metrics_2018-05-08.csv
"TIME (hh:mm)","UTC Timestamp (utc_milliseconds)","ACTIVITY","FREQUENCY_HRV_RATIO (lf_hf)","HEART_RATE (bpm)","HRV (milliseconds)","RESTING_POSTURE","SLEEP_RESPIRATION (breaths_per_minute)","SLEEPING_POSTURE","STEPS (steps)"
"00:00","1525752000000","SLEEPING:ASLEEP","2.15","65.15","46.68","","16.38","LYING_CHEST/LYING_RIGHT","0.00"
"00:01","1525752060000","SLEEPING:ASLEEP","2.15","64.10","41.06","","16.61","LYING_CHEST/LYING_RIGHT","0.00"
"00:02","1525752120000","SLEEPING:ASLEEP","2.15","61.10","53.21","","16.22","LYING_CHEST/LYING_RIGHT","0.00"
...

Activity and survey data

Activity and survey data can be downloaded in CSV format on a per-subject basis:

subj09_annotations.csv
"Timestamp (ms)","AnnotationId","EventType","AuthorId","Start Timestamp (ms)","Stop Timestamp (ms)","Value"
"1525726695652","Activity:Walking","Walking","subj09","1525726546783","1525726695223",""
"1525726786002","ActivityQuestion:How fast did you walk?","How fast did you walk?","subj09","1525726695223","1525726695223","Slow"
"1525726876115","Diary:Mood Survey","Mood Survey","subj09","1525726876024","1525726876024",""
"1525726876319","DiaryQuestion:How are you feeling right now?","How are you feeling right now?","subj09","1525726876024","1525726876024","Content"
"1525726876472","DiaryQuestion:How hungry are you, on a scale of 0 to 10?","How hungry are you, on a scale of 0 to 10?","subj09","1525726876024","1525726876024","3"
...

Activity and survey timestamps can be used to identify areas of interest in the physiological data streams.