Accepted device types

328 views
Skip to first unread message

raikes....@gmail.com

unread,
Jan 14, 2019, 3:55:39 PM1/14/19
to R package GGIR
I posted this question on the Github issue tracker but wasn't sure where the best spot was to ask, so I'm doubling up. 

I'm looking at the possibility of using GGIR to analyze/score actigraphy data collected using Philips Respironics actiwatches (https://www.usa.philips.com/healthcare/product/HC1046964/actiwatch-spectrum-activity-monitor). The software typically used is Actiware (http://www.actigraphy.com/solutions/actiware).

Are Philips products currently supported by GGIR? As best I can tell (still digging), the raw data only has activity counts/epoch, but not not XYZ coordinates.

Thanks in advance.

Vincent van Hees

unread,
Jan 20, 2019, 6:44:16 AM1/20/19
to raikes....@gmail.com, R package GGIR
It doesn't sound like you are collecting raw data (multiple values per second in units of gravitational acceleration). GGIR can only handle that kind of data.
Vincent

--
You received this message because you are subscribed to the Google Groups "R package GGIR" group.
To unsubscribe from this group and stop receiving emails from it, send an email to RpackageGGIR...@googlegroups.com.
To post to this group, send email to Rpacka...@googlegroups.com.
Visit this group at https://groups.google.com/group/RpackageGGIR.
To view this discussion on the web, visit https://groups.google.com/d/msgid/RpackageGGIR/1e6399a4-d306-4501-8746-1ab7687c7837%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Stefan Knapen

unread,
Apr 17, 2024, 8:47:52 AM4/17/24
to R package GGIR
I hope this is the right place to ask.

Since the question is from 2019, I wanted to ask if there is any chance on this, or is GGIR still only handling raw data. Or is there a possibility to use counts as well currently?

Thanks in advance!

Vincent van Hees

unread,
Apr 17, 2024, 9:11:52 AM4/17/24
to Stefan Knapen, R package GGIR
Yes, counts are now also supported, although it is relatively new and requires a bit more critical attention from users to help spot problems, if any.

and then specifically parameter documentation for:
  • dataFormat
  • extEpochData_timeformat

When you type ?GGIR inside RStudio console and then scroll down in the documentation you will see examples for different count formats, which I have copy-pasted below. Obviously the specific parameter values need to be tailored to your specific study setting:


       # For externally derived Actiwatch data in .AWD format:
       GGIR(datadir = "/media/actiwatch_awd", # folder with epoch level .AWD file
          outputdir = "/media/myoutput",
          dataFormat = "actiwatch_awd",
          extEpochData_timeformat = "%m/%d/%Y %H:%M:%S",
          mode = 1:5,
          do.report = c(2, 4, 5),
          windowsizes = c(60, 900, 3600), # 60 is the expected epoch length
          visualreport = FALSE,
          outliers.only = FALSE,
          overwrite = TRUE,
          HASIB.algo = "Sadeh1994",
          def.noc.sleep = c()) # <= because we cannot use HDCZA for ZCY

       # For externally derived Actiwatch data in .CSV format:
       GGIR(datadir = "/media/actiwatch_csv", # folder with epoch level .AWD file
          outputdir = "/media/myoutput",
          dataFormat = "actiwatch_csv",
          extEpochData_timeformat = "%m/%d/%Y %H:%M:%S",
          mode = 1:5,
          do.report = c(2, 4, 5),
          windowsizes = c(15, 900, 3600), # 15 is the expected epoch length
          visualreport = FALSE,
          outliers.only = FALSE,
          HASIB.algo = "Sadeh1994",
          def.noc.sleep = c()) # <= because we cannot use HDCZA for ZCY

       # For externally derived UK Biobank data in .CSV format:
       GGIR(datadir = "/media/ukbiobank",
           outputdir = "/media/myoutput",
           dataFormat = "ukbiobank_csv",
           extEpochData_timeformat = "%m/%d/%Y %H:%M:%S",
           mode = c(1:2),
           do.report = c(2),
           windowsizes = c(5, 900, 3600), # We know that data was stored in 5 second epoch
           desiredtz = "Europe/London", # We know that data was collected in the UK
           visualreport = FALSE,
           overwrite = TRUE)
       
       # For externally derived ActiGraph count data in .CSV format assuming
       # a study protocol where sensor was not worn during the night:
       GGIR(datadir = "/examplefiles",
           outputdir = "",
           dataFormat = "actigraph_csv",
           mode = 1:5,
           do.report = c(2, 4, 5),
           windowsizes = c(5, 900, 3600),
           threshold.in = round(100 * (5/60), digits = 2),
           threshold.mod = round(2500 * (5/60), digits = 2),
           threshold.vig = round(10000 * (5/60), digits = 2),
           extEpochData_timeformat = "%m/%d/%Y %H:%M:%S",
           do.neishabouricounts = TRUE,
           acc.metric = "NeishabouriCount_x",
           HASPT.algo = "NotWorn",
           HASIB.algo = "NotWorn",
           do.visual = TRUE,
           includedaycrit = 10,
           includenightcrit = 10,
           visualreport = FALSE,
           outliers.only = FALSE,
           save_ms5rawlevels = TRUE,
           ignorenonwear = FALSE,
           HASPT.ignore.invalid = FALSE,
           save_ms5raw_without_invalid = FALSE)
           
           
       # For externally derived Sensear data in .xls format:  
        GGIR(datadir = "C:/yoursenseweardatafolder",
            outputdir = "D:/youroutputfolder",
            mode = 1:5,
            windowsizes = c(60, 900, 3600),
            threshold.in = 1.5,
            threshold.mod = 3,
            threshold.vig = 6,
            dataFormat = "sensewear_xls",
            extEpochData_timeformat = "%d-%b-%Y %H:%M:%S",
            HASPT.algo = "NotWorn",
            desiredtz = "America/New_York",
            overwrite = TRUE,
            do.report = c(2, 4, 5),
            visualreport = FALSE)


Jared Saletin

unread,
May 24, 2024, 11:09:59 AM5/24/24
to R package GGIR
Dear Vincent and GGIR developers, 

Following up on the count functionality. I really appreciate this as we're looking to compare some devices that give XZY (e.g., Axivity) to some that don't (e.g., AMI).   Would Motionlogger ZCM counts sub-in for the Actiwatch counts in the data formats above?   I know there's some uncertainty on how the counts are created. 

Curious your thoughts.

Thanks so much for all you do.
~Jared

Vincent van Hees

unread,
May 31, 2024, 11:40:01 AM5/31/24
to Jared Saletin, R package GGIR
Dear Jared,

Montionlogger told me that they never shared or sold their algorithms to other manufacturers, see vignette section for details. Therefore all manufacturers probably made some effort to imitate Motionlogger in order to take advantage of the popularity of the early algorithms designed for Motionlogger. However, it is hard to guarantee that they are the same as there is no transparency and we know that they did not exchange algorithms.

If you have access to a dataset with raw, e.g. Axivity, and Motionlogger worn at the same time by the same participants and with extracted time series of the actual counts then that would offer a way to do more research on GGIR's implementation of the ZCM. I think first step is to see whether the implementation can be improved.

As I did not have access to this kind of dataset I could only go by the public description of ZCM combined with guessing the unknowns.

Best,

Vincent

Dr. Vincent van Hees | Independent consultant | https://accelting.com/
image

Jared Saletin

unread,
Jun 4, 2024, 10:12:53 AM6/4/24
to R package GGIR
Thanks so much Vincent for the reply. 

We actually can get some data on both Motionlogger and Axivity.   How many days/people do you think would be helpful?

~Jared

Reply all
Reply to author
Forward
0 new messages